図1 デフォルト・ゲートウエイとは? デフォルト・ゲートウエイとはルーターのことで,LANの外部との通信を中継する装置だ。
図1 デフォルト・ゲートウエイとは? デフォルト・ゲートウエイとはルーターのことで,LANの外部との通信を中継する装置だ。
[画像のクリックで拡大表示]
図2 デフォルト・ゲートウエイの設定を間違ったら デフォルト・ゲートウエイのIPアドレスを存在しない値にしたPC1を用意し,LANで直接つながるPC2と,ルーター経由でつながるインターネット上のサーバーにアクセスしてみた。
図2 デフォルト・ゲートウエイの設定を間違ったら デフォルト・ゲートウエイのIPアドレスを存在しない値にしたPC1を用意し,LANで直接つながるPC2と,ルーター経由でつながるインターネット上のサーバーにアクセスしてみた。
[画像のクリックで拡大表示]
図3 LANで直接つながるPC2とはpingのやりとりが問題なくできた 
図3 LANで直接つながるPC2とはpingのやりとりが問題なくできた 
[画像のクリックで拡大表示]
図4 ルーターの向こうにあるサーバーにはpingが通らなかった 画面はpingコマンドを実行したときにやりとりしたパケットをキャプチャしたもの。デフォルト・ゲートウエイにあてたARP要求を4回送信しているが,応答が返って来ないため,pingパケットを送信できていないことがわかる。
図4 ルーターの向こうにあるサーバーにはpingが通らなかった 画面はpingコマンドを実行したときにやりとりしたパケットをキャプチャしたもの。デフォルト・ゲートウエイにあてたARP要求を4回送信しているが,応答が返って来ないため,pingパケットを送信できていないことがわかる。
[画像のクリックで拡大表示]
図5 Windows98のIP設定にデフォルト・ゲートウエイのIPアドレスを二つ入れてみた Windows98などは,デフォルト・ゲートウエイのIPアドレスを複数個登録できる。そうすると,実際にはどうなるのだろうか。
図5 Windows98のIP設定にデフォルト・ゲートウエイのIPアドレスを二つ入れてみた Windows98などは,デフォルト・ゲートウエイのIPアドレスを複数個登録できる。そうすると,実際にはどうなるのだろうか。
[画像のクリックで拡大表示]
図6 正しいデフォルト・ゲートウエイのIPアドレスを追加したがpingは通らなかった 左上の画面はpingコマンドを実行したときにやりとりしたパケットをキャプチャしたもの。デフォルト・ゲートウエイにあてたARP要求を4回送信しているが,元から誤設定されていたIPアドレスあてに要求を送っていた。
図6 正しいデフォルト・ゲートウエイのIPアドレスを追加したがpingは通らなかった 左上の画面はpingコマンドを実行したときにやりとりしたパケットをキャプチャしたもの。デフォルト・ゲートウエイにあてたARP要求を4回送信しているが,元から誤設定されていたIPアドレスあてに要求を送っていた。
[画像のクリックで拡大表示]


若手部員 貴子さん
  デフォルト・ゲートウエイのIPアドレスを間違って登録したら,どうなるのかしら。それから,設定画面を見ると複数のアドレスが登録できそうなのよ。どうなっているのかな。  

若手部員 宇田くん
  デフォルト・ゲートウエイって,LANの外部と通信するときに,パケットの転送を任せるルーターのことだろう。普通は正しいアドレスを1個しか登録しないけれど,試してみようか。  


宇田:前回(第5回)のサブネット・マスクの実験は大変だったね。

貴子:IPアドレスやサブネット・マスクを2進数に直して考えたからだわ。でも,得体の知れない化け物みたいに思っていたコンピュータやネットワークも,中でやっていることは意外とシンプルだとわかって安心したわ。

宇田:そうだね。わからないことが起こったら,原理・原則に立ち戻って考えてみるといいんだ。

貴子:でも前回の実験で,一つ気になることがあったのよ。

宇田:なに?

貴子:デフォルト・ゲートウエイの設定よ。

宇田:デフォルト・ゲートウエイの設定を間違ったらどうなるかということかな。それなら,予想できるけど。

貴子:それもテストして確かめてみたいんだけれど,だいたい推測できるわ。それよりも気になったのは,デフォルト・ゲートウエイのIPアドレスを複数設定できそうなのよ。

宇田:それは試したことがないな。

貴子:じゃあ,やってみましょう。

 これまで5回にわたって,IPアドレスやサブネット・マスク,デフォルト・ゲートウエイに関する実験をしてきた。これは,IP設定で最も基本的な設定項目である。今回は,これまでの復習もかねて,デフォルト・ゲートウエイの設定について,実験してみよう。

 「デフォルト・ゲートウエイの設定を間違ったらどうなるか」という実験と,「Windowsに複数のデフォルト・ゲートウエイを設定したらどうなるか」という二つの実験である。

■パケットを転送するルーターのこと

貴子:デフォルト・ゲートウエイは,LANの外部にIPパケットを送るときに,中継を依頼するルーターのことだったよね(図1)。

宇田:そう,あて先が自分と同じネットワークのときはデフォルト・ゲートウエイを使わずに,相手にパケットを直接送信するんだ。だけど,異なるネットワークの場合は,いったんデフォルト・ゲートウエイに送り,デフォルト・ゲートウエイが転送するんだよ。

貴子:このとき,送信元のパソコンは,あて先が自分と同じネットワークに所属しているかどうかを調べるために,サブネット・マスクの値を利用するのよね。

 デフォルト・ゲートウエイは異なるネットワークにIPパケットを送るときに利用するルーターのことだった。詳しくは第3回の本連載「間違ったサブネット・マスク設定のパソコンがLANにいたら?」で紹介したが,おさらいをしておこう。  IPの基本的な設定はIPアドレスとサブネット・マスク,そしてデフォルト・ゲートウエイの3項目である。サブネット・マスクは,IPアドレスのネットワーク・アドレス*部とホスト部を識別するための値である。送信元のパソコンは,あて先が自身のネットワーク内に存在するか,すなわちLANで直接つながっているかを調べる。

 これを調べるには,あて先のIPアドレスと自身のサブネット・マスクの論理積*を求める。そして,自身のIPアドレスとサブネット・マスクから同じように算出した自分自身のネッワーク・アドレスと比較して,同じ場合はあて先が同じネットワーク内にいると判断する。

 一方,比較した値が異なった場合は,あて先が別のネットワークに存在すると判断して,外部ネットワークとの出入り口であるデフォルト・ゲートウエイ(ルーター)へ送信する。

■LAN内なら誤設定でも通信できる

宇田:まず,デフォルト・ゲートウエイのIPアドレスを一つだけ登録して,その値を間違ったものにして試してみよう(図2)。

貴子:Windows98マシンを2台用意して,PC1のIPアドレスは192.168.1.101,PC2は192.168.1.102,ルーターは192.168.1.254にするわね。PC1のデフォルト・ゲートウエイの設定はワザと間違えておくのよね。

宇田:そうだよ。192.168.1.1にしよう。サブネット・マスクはどれも255.255.255.0にしておこう。こうしておけば,192.168.1.0がネットワーク・アドレスになり,このLAN内に所属するパソコンのIPアドレスは192.168.1.1~192.168.1.254になるよ。

貴子:まずは,PC1から同一ネッワーク内のPC2にping*を打ってみましょう。パケットのキャプチャ*もしておいてね。

宇田:了解。予想はつくけれど,やっておくよ。

貴子:じゃあ,テストを始めるわね。「ping 192.168.1.102」と(図2(1))。予想通り,「Reply from ・・・」とメッセージが表示されているわ。デフォルト・ゲートウエイの値が間違っていても,LANでパケットを直接やりとりするなら問題ないみたいね。

宇田:そうだね。LANでパケットを直接やりとりするならルーターは関係ないから,デフォルト・ゲートウエイのアドレス設定が間違っていても通信できるのさ。パケット・キャプチャの結果も確認しておこう。

貴子:pingパケットが送信される前にARP*パケットが出ているわ(図3)。

宇田:ARPはIPアドレスに対応するMACアドレス*を調べるためのプロトコルだったよね。最初のパケットで,PC1からLAN全体に届くブロードキャストの形でARP要求パケットが送信されているよ。そこにはPC2のアドレス(192.168.1.102)が書かれているね。

貴子:PC1とPC2は同一ネットワークだから,LANで直接送るためにPC1はPC2のMACアドレスを調べているんだわ。

宇田:そして,2番目のパケットでARPの応答がPC2からPC1へ返信され,3番目以降でpingパケットがやりとりされているわけだ。

■LAN外への通信は応答なし

貴子:次は,PC1から外部のインターネット上のサーバーにpingを打ってみましょう。

宇田:わかった。ここでも,パケットをキャプチャしておくよ。

貴子:じゃあ,始めるわね。「ping 210.145.117.132」と(図2(2))。今度は,「Request timed out.」とメッセージが表示されるわ。やっぱり,うまく通信できないみたいよ。

宇田:予想通り,通信できないね。パケット・キャプチャの結果を見てみよう(図4)。

貴子:PC1からパケットが送信されているの?

宇田:送信されているみたいだぞ。どこあてに送信しているんだろう。

貴子:ARP要求パケットが4回もブロードキャストされているわ。でも,応答はないみたいね。

宇田:ネットワークの外部へパケットを送信するには,デフォルト・ゲートウエイに転送を任せることになる。だから,まずはデフォルト・ゲートウエイにパケットを送り届ける必要があるんだよ。そのために,デフォルト・ゲートウエイのMACアドレスを調べようと,PC1はARP要求パケットを出しているんだな。

貴子:だから,ARP要求パケットの中にはPC1にセットしたデフォルト・ゲートウエイのIPアドレス(192.168.1.1)が書かれているんだわ。キャプチャ結果を見れば一目瞭然よ。

宇田:そうだ。でも,LAN上には192.168.1.1を割り当てた機器はいないから,だれも応答していないんだ。

貴子:PC1は4回もARP要求パケットを送信したけれど,だれも応答してくれないから,デフォルト・ゲートウエイのMACアドレスはわからず,pingパケットを送信できなかったのね。

宇田:だから,pingコマンドの実行結果は,「Request timed out.」とタイムアウト・エラーが表示されたわけだ。

貴子:もし,デフォルト・ゲートウエイの設定が正しければ,ルーターからARP応答パケットが返ってきて,pingパケットはルーターに送られたはずよ。

宇田:そうだね。ここまでは,予想通りの結果だな。僕たちも,かなり知識が身についてきたかな。

 ここまでの2人のやりとりを読んでみて,読者のみなさんは話について来られただろうか。この連載コラムを第1回から読み続けていただいた読者の方なら,大丈夫なはずだ。もし,引っかかるところがあったのなら,あとで以前の記事を読み返してほしい。

■複数のアドレスを登録してみる

貴子:次は,ゲートウエイのアドレスを複数登録してみましょう。

宇田:デフォルト・ゲートウエイに正しい値を追加しよう。おっ,ゲートウエイの設定値が2個になったぞ(図5)。やっぱり,Windows98は*ゲートウエイのアドレスを複数登録できるんだ。

貴子:一つめ(上側)がさっきの間違ったIPアドレス,二つめ(下)が今入力した正しいIPアドレスね。この状態で,外部のインターネットのサーバーと通信できるかしら。

宇田:複数設定できるんだから,正しい設定の方も有効になって通信できるんじゃないかな。

貴子:でも,ゲートウエイの設定が複数あると,パソコンはどちらを使ったら良いか判断できなさそうだわ。

宇田:たぶん,一つめのゲートウエイがだめなら,自動的に二つめに切り替わるんじゃないかな。

 みなさんの予想はどうだろうか。これは,かなり難しいだろう。では,実際に結果を見ていこう。

■複数登録してもダメ

貴子:じゃあ,さっきのテストと同じようにpingコマンドを実行してみるわ。「ping 210.145.117.132」と。今度も,「Request timed out.」とメッセージが表示されるわ(図6a)。うまく通信できないみたいね。

宇田:パケットをキャプチャした結果も,前のテストと同じように,間違ったIPアドレス(192.168.1.1)が書き込まれたARP要求パケットがPC1から出ているだけだ(図6b)。

貴子:正しいIPアドレスを追加登録しても,間違ったアドレスが残っていると,そちらに送られてしまうのね。

宇田:これじゃ,ゲートウエイのアドレスを複数登録する意味がないなぁ。

 2人が実験したゲートウエイの複数設定の機能は,デッドゲートウエイ・ディテクションと呼ぶしくみである。図5のような設定にした場合は,1番上に書かれているIPアドレスのルーターにパケットの転送を任せ,このルーターが故障すると別のルーターに切り替わるしくみである。ただ,デッドゲートウエイ・ディテクションは,今回のように最初から動いていないルーターを登録しておいたのでは,うまく切り替わらないことが多い*

■基本は正しいアドレスを設定する

貴子:さっきのデフォルト・ゲートウエイの複数設定について,先輩に聞いたら,デッドゲートウエイ・ディテクションと呼ぶ機能があるそうよ。

宇田:デッドゲートウエイ・ディテクション?

貴子:うん,そう。でも,自動切り替えには条件があるみたい。やっぱり,きちんと正しい値を1個だけ設定するのが,大切みたいね。


寄稿者:ネットワークエンジニア集団 みずおか組

●水岡 祥二 NPOアイタック代表理事
●出口 雄一 株式会社タケキ IT教育事業部
●久保 幸夫 情報・通信エンジニア