ネットワーク構築方法

提供:Mulka2
2017年9月23日 (土) 18:24時点におけるYosuke MATOBA (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

Mulka2は複数のパソコンを使ってネットワークを構築するとより便利に使うことができます。 ここでは簡単なネットワークの構築方法について説明します。 ネットワークを組んだことがない方は最初からお読み下さい。 組んだことがある方は主に後半のつながらない場合の部分をお読み下さい。

ポイント

  • 通信はTCP/IP、2035番ポートを使用します。
  • 接続できない場合はサーバのネットワークノードビューを確認し、リスナーが正常に開始しているかを確認します。
  • また、接続できない場合は(あるPCからは接続できてあるPCからは接続できないといった場合は特に)ファイアウォールを疑います。
  • ファイアウォールはWindowsのファイアウォール、環境によってはサードパーティー製のファイアウォールも確認します。
  • 名前解決に失敗する場合があるため接続先の入力はIPアドレスで行います。
  • 使用するパソコンの台数が多くなる場合は、全てのパソコンをサーバに直接接続するのではなく他のノードに接続するようにして負荷を分散させます。
  • ネットワークを予定通りに構築できるか、実際の機材を使って事前にテストを行うことをおすすめします。

用意するもの

  • パソコン
複数のパソコンでネットワークを構築するためには、パソコンが複数必要になります。この説明では3台使用する例を説明します。2台でも4台以上でも大丈夫です。
  • 無線LANルータまたは有線LANルータ
無線LANルータ、または有線LANルータという機械を用意します。無線LANルーターは無線LAN親機と言われることもあります。
有線LANルータは複数のPCをケーブルで接続するために必要な機械で、LANケーブルの差し込み口が5個くらいついています。似たような機械でLANハブという機械がありますが、別のものになりますので有線ルータを用意して下さい。
無線LANルータは、有線LANルータでできることに加えLANケーブルを使わずに無線LANでPCをつなぐこともできます。どちらの機械を利用しても構いません。
ご家庭でルータを使用している場合、それを大会運営にも使用することは不可能ではありませんが、トラブルの原因とならないよう、また手間を省くために大会運営専用のルータを用意することをおすすめします。高価なものは不要で安い物で構いません。
  • LANケーブル
パソコンの台数分+予備で1・2本用意します。パソコン3台の場合は長さ3mくらいのものを4本程度用意して下さい。LANケーブルは種類があり、ストレートケーブルとクロスケーブルというものがあります。購入する際はよく確認してストレートケーブルを購入して下さい。何も表記がない場合は一般的にストレートケーブルです。CAT(カテゴリ)5・CAT5e・CAT6といった表記が記載されているものがありますが、これはケーブルの品質をあらわすもので後者のものほど高品質になります。今回の用途ではいずれでも全く問題ありません。
計算センター内でPCを使用する場合は、無線LANではなくLANケーブルで直接ルータに接続することをおすすめします。(無線LANは大人数が集まる場合など、状況によっては不安定になることがあるため)

つないでみよう

ルータを購入してきたら箱をあけます。中にはルータ本体とACアダプタ、説明書と場合によってはCD-ROMが入っていると思います。 運営のためだけに使用する場合、説明書やCD-ROMは必要ありません。

まず、ルータにACアダプタをさしこみ、コンセントに接続して電源を入れます。 次にLANケーブルを差し込みます。ここで差し込み口を確認して下さい。

ルータには、LANケーブルを差し込む場所が通常5カ所くらいありますが、1カ所のみWANと書いてあり残りの差し込み口はLANと書いてあるはずです。WANの差し込み口は使用しませんのでLANと書かれている口にケーブルを差し込みます。

1~4と数字が書いてある場合もありますが、LANと書かれている口であればどこに差し込んでも構いません。 LANケーブルの片側をルータに差し込み、反対側をパソコンのLANケーブル差し込み口に差し込みます。 両方の口を差し込むと、ルータにあるランプがパソコンとルータが接続されたことを表す印として点灯や点滅しますので確認して下さい。

network02.jpg


ルータとパソコンをLANケーブルで接続すると、「IPアドレス」といわれるものがパソコンに割り当てられます。 IPアドレスはネットワーク内での住所(あるいは電話番号)のようなもので、通信を行う際に通信相手を指定するために使用します。 IPアドレスは、「192.168.0.101」のような4つの数字をピリオドで組み合わせた形で表され、ルータに接続しているパソコン1台1台に対し、異なるIPアドレスが割り当てられます。

例:パソコンAのIPアドレス:「192.168.0.101」、パソコンBのIPアドレス:「192.168.0.102」 

上記の例の場合、パソコンAで「192.168.0.102」に対し通信を行おうとした場合、「192.168.0.102」はパソコンBのIPアドレスですのでパソコンAはパソコンBに対し通信を行おうとしたことになります。

家電量販店で売っているような一般的なルータは、パソコンに対しこのIPアドレスを割り当てる機能を持っており、 パソコンがルータに接続されると、ルータは他のパソコンのIPアドレスと重複しないように新しく接続されたパソコンに対しIPアドレスを割り当てます。

IPアドレスの確認

パソコン側では、ルータから自分に対しどんなIPアドレスが割り当てられたのかを確認することができます。 コマンドプロンプトを表示します。

OSのバージョンによってコマンドプロンプトの表示方法が異なりますが、スタート画面を表示してcmdとキーボードをタイプしてEnterキーを押すと、コマンドプロンプト画面が表示されます。

コマンドプロンプト画面で、「ipconfig」と入力し、ENTERキーを入力します。すると下記のように表示されます。

network07.gif


「Ethernet adapter ローカル エリア接続:」(「Ethernet adapter」は日本語で「イーサーネット アダプタ」と書かれている場合もあります)と表示されている行があると思います。その下に目的のIPアドレスが表示されます。

「Ethernet adapter ワイヤレス ネットワーク接続:」という表示がある場合がありますが、その行の下側は無線LANに関する状態の表示になりますので、「Ethernet adapter ローカル エリア接続:」と書かれている部分を確認して下さい。

「IP Address. . . . . . . . . . . . : 192.168.70.201」と表示されている行にそのパソコンのIPアドレスが表示されています。この場合、IPアドレスは192.168.3.113ということになります。(「IP Address」は「IPv4 アドレスと書かれている場合もあります」)

「IP Address. . . . . . . . . . . . : 0.0.0.0」と表示されている場合があります。これはケーブルは接続されているがパソコンにIPアドレスが割り当てられていない状態を意味します。間違ってLANケーブルをルータ側のWANコネクタに差し込んでいないか確認して下さい。間違っていた場合は差し込みなおしてください。きちんとLANコネクタに差し込んでいてこのような表示が出る場合は、一度ルータのコンセントを抜きパソコンを再起動してもう一度ルータのコンセントをつないでみて下さい。

「Media disconnected」と表示される場合、パソコンがネットワークに接続されていないことを意味します。ケーブルがきちんと接続されているかを確認して下さい。正しくケーブルが接続されている場合、LANケーブルが断線している可能性がありますので予備のケーブルを使用したり、ルータの違う差し込み口に接続してみて下さい。

上記のハードコピーの例ですと、ワイヤレスネットワーク接続のところにMedia disconnectedと表示されていますが、これはワイヤレスネットワークについてですので、無線LANに接続していないという意味になります。 パソコンに割り当てられるIPアドレスは普通最初と2番目の数字が「192.168」となるか、最初の数字が「10」または「172」になります。これは、ルータがパソコンに対し割り当てても良いとされているIPアドレス(プライベートアドレスと呼ばれています)がそのように決まっているからです。最初と2番目の数字が「169.254」となった場合はパソコンとルータが接続されていない場合がありますので、「Media disconnected」と表示された場合と同じようにきちんとケーブルが差し込まれているか、差し込む場所が間違っていないか、確認して下さい。

パソコンの役割

Mulka2をネットワークを構築して利用する場合、パソコン1台1台の役割をあらかじめ決めておく必要があります。 今回、3台利用することにしていますので、おおむね下記のような役割分担になります。

  • パソコンA: サーバおよびe-cardの読み取りに使用
  • パソコンB: 成績速報印刷や雑多な作業に使用
  • パソコンC: Bと同じく雑多な作業を行ったり実況用に使用

サーバ役のパソコン(パソコンA)には、Startlist.datなどのデータを保存しておきます。 他のパソコンはサーバ役のパソコンから自動的にデータを取得しますので、データを保存しておく必要はありません。 パソコンCにもリーディングユニットやプリンタを接続し、それぞれの業務を2台で同時に行うことも可能です。 パソコンを2台しか用意していない場合はパソコンCは無くて構いません。

サーバの起動

あらかじめ3台のパソコンをLANケーブルでルータに接続しておきます。 サーバ役となるパソコンでMulka2を起動し、起動メニューの通信マネージャをクリックします。 接続ダイアログが表示されますので、「サーバモード」タブが選択され「データフォルダを選択して下さい」と表示されていることを確認します。 データを選択し、その下の「他のクライアントからの接続を受け付ける」のチェックボックスにチェックが入っていることを確認してOKボタンをクリックします。

お使いの環境によって警告画面表示される場合があります。それぞれ対応を行って下さい。

Windows標準のファイアウォールが有効になっている場合、下記のような画面が表示されます。ブロックを解除する(U)をクリックして下さい。 ブロックする(K)や後で確認する(A)を選んでしまった場合は、後のページの「つながらない場合」の操作を行ってみて下さい。

ウイルス対策ソフトを使用している場合、下記のような画面が表示されます。許可を選択してください。 拒否を選んでしまった場合や画面を消えてしまった場合は、後のページの「つながらない場合」の操作を行ってみて下さい。

接続が完了しましたら、通信マネージャは下記のように表示されます。リスナー欄が「動作中」と表示されていることを確認して下さい。

また、サーバ役のパソコンのIPアドレスを確認して下さい。(確認方法は前ページを参照して下さい)

リスナー欄は「開始失敗」と表示された場合があります。これはそのパソコンで動いている他のプログラムが通信用の口(ポートといいます)を使用しているためにMulka2が通信できないという意味になります。この場合、他のパソコンからそのパソコンに対し接続できないので、対策を行います。 一度、通信マネージャのメニューバーの[ネットワーク(N)]-[切断(D)]をクリックし、オフラインにします。 再度、[ネットワーク(N)]-[接続(C)]をクリックし接続ダイアログを表示します。 今度は、「標準のポートを使用する」のチェックを外し、ポート番号(2035と表示されている部分)を1025から65535までの適当な数字(例えば3035)に変更します。 その上でOKボタンをクリックして下さい。先ほどと同じようにリスナー欄が「動作中」と表示されているか確認して下さい。再び「開始失敗」と表示された場合は、ポート番号を違うものに変えてやり直してみて下さい。

コンピュータの知識がある方は、2035番ポートを使用しているプログラムを突き止めてそれを停止する方法もあります。 コマンドプロンプトで、「netstat -ano」と入力します。 下記のように表示されますので、Local Address欄が「0.0.0.0:2035」や「127.0.0.1:2035」など、2035番ポートに関係する行を探します。

見つけたら、PIDを確認します。上記の場合ですと2035番に関係するPIDは5136ということになります。 次にPIDに対応するプログラムを調べます。コマンドプロンプトで「tasklist」と入力します。 下記のように表示されますので、PIDに対応するプログラム名(イメージ名欄)を確認して下さい。 イメージ名がsvchost.exeとなっていた場合、そのプロセスはサービスの動作によるものとなります。具体的にどのサービスによるものなのかはコマンドプロンプトで「tasklist /svc」と入力することで確認できます。

クライアントの起動

サーバ役ではない残りの2台のパソコンでも、通信マネージャを起動します。 サーバ役のパソコンと同じように接続ダイアログが表示されますが、今度はクライアントタブをクリックし、データフォルダを選択する代わりにサーバ役のパソコンのIPアドレスを入力します。

サーバの起動の際に、2035番以外のポートを使用して起動した場合、サーバ役のパソコンのIPアドレスをそのまま入力するだけでは接続できません。接続先の入力欄にIPアドレスに続けてコロン(:)とポート番号も入力します。

例:192.168.70.201:3035

サーバ役のパソコンの時と同じように警告画面が表示される場合があります。クライアント役のパソコンもサーバ役のパソコンと同じように対応してください。 「他のクライアントからの接続を受け付ける」「データのバックアップ」「標準のポートを使用する」のチェック欄は全てチェックしておいて下さい。 OKボタンをクリックするとサーバ役のパソコンとの通信が開始され、データが取得されます。無事接続が完了すると通信マネージャの状態表示欄に「オンライン」と表示されます。


クライアント役のパソコンも、リスナー欄が「動作中」と表示されているかを確認して下さい。「開始失敗」と表示されている場合は、この後の操作が異なります。 クライアントが無事接続したら、サーバ役のパソコンもクライアント役のパソコンも、通信マネージャの左上にある「メインウインドウ」をクリックしてメインウインドウを起動して下さい。 リスナーが開始失敗と表示された場合、メインウインドウをクリックしても「接続が受け付けられませんでした」と表示されうまく接続できません。この場合はそのパソコンの通信マネージャを閉じ、メインウインドウのメニューバーの[ネットワーク(N)]-[接続(C)]をクリックして接続ダイアログを表示し、そこにもう一度サーバパソコンのIPアドレスを入力して(たいていは入力された状態で表示されます)OKボタンをクリックして下さい。

つながらない場合

つながらない場合はいくつか原因が考えられます。

  • IPアドレスが正しく割り当てられていない
  • サーバパソコンのリスナーが動作していない
  • ウイルス対策ソフトが邪魔をしている
  • Windowsの標準のファイアウォール機能が邪魔をしている

全てのパソコンのIPアドレスを確認してみます。正しく設定されている場合、たいていは全てのパソコンのIPアドレスの最初の2つの数字は「192.168」になっているはずです。 違うものが混じっている場合、そのパソコンは他のパソコンと通信できない可能性があります。接続を確認してみて下さい。

サーバ役のパソコンの通信マネージャを確認して下さい。リスナー欄が「動作中」以外の表示になっている場合、他のパソコンから接続することはできません。開始失敗と表示されている場合は、前のほうの説明文に戻って対応方法を確認して下さい。

ウイルス対策ソフトが働いている場合、うまくつながらないことがあります。画面右下の通知領域(タスクトレイ)を確認し、ウイルス対策ソフトが入っていないかを確認します。

Windowsの標準のファイアウォールが有効の場合もうまくつながらないことがあります。 Windowsのスタートメニューからコントロールパネルを呼び出し、Windowsファイアウォールの設定画面を表示します。 有効になっている場合、Mulka2が通信できるように例外設定を行う必要があります。 例外タブにある「プログラムの追加(R)」ボタンをクリックします。 参照ボタンをクリックし、Mulka2をインストールしたディレクトリにあるMulkaMenu2.exeを指定して下さい。

PINGコマンドによる接続の確認について

以前はPINGコマンドでパソコンがネットワークにつながっているかを確認することがありました。 しかしながら現在はファイアウォールソフトが普及し、それによりPINGの応答が阻害されるようになりました。

ファイアウォールが有効の場合、そのままではきちんとケーブルが接続されていてもPINGの応答は「Request Timed out」や「要求がタイムアウトしました」と表示されてしまいます。(接続されていない場合は「ホストに到達できません」といった表示になります)

今回の説明のようにパソコンのIPアドレスを手動で設定しないのであれば、IPアドレスがルータのDHCPサーバによって設定されたということは、接続ができているということになりますのでPINGコマンドで接続を確認する必要はないと思います。 PINGの応答が得られない場合でも、Mulka2の接続ができるのであれば問題ありません。

コンピュータ名でのアクセスについて

IPアドレスではなく、コンピュータ名(ホスト名)を入力した場合でも通信することができます。 これはコンピュータ名からIPアドレスを知る仕組みが用意されているためで、無味乾燥なIPアドレスではなく覚えやすいコンピュータ名で通信することができます。 しかし、大会運営のようにその場で一時的に構築したネットワークでは、コンピュータ名とIPアドレスの変換がうまくいかない場合があり、コンピュータ名をMulka2の接続画面で入力するとうまく接続できない場合があります。 Mulka2の接続先の入力画面では、コンピュータ名ではなくIPアドレスを入力することをおすすめします。

内部でのデータのやりとりの仕組み

Mulka 2は、サーバにデータベースを持ちクライアントはそれにアクセスする、 いわゆるクライアント-サーバ型のプログラムではありません。 セーブデータはサーバにファイルとして保管されますが、データベース(的なもの)は各クライアントがパソコンのメモリ上に持っています。 各種入力操作やEカードの読み取り等でデータベースを変更する必要が生じた場合、 操作を行ったクライアントはサーバに対してデータベース変更依頼コマンドを送信します。 この時点ではどのクライアント上のデータベースもまだ変更されていません。 サーバではコマンドをセーブデータとしてイベントデータフォルダに保存した後、 全てのクライアントに対しコマンドを送信します。 コマンドを受けたクライアントは自分のデータベースを変更し、必要に応じてその後の処理(画面の更新や自動印刷)を行います。