第3章 データが届くしくみ|3-1|コース全体 19回中9本目
デフォルトゲートウェイ ― 宛先が「外」かどうかをどう判断するか
PCは通信のたびに、宛先が自分と同じネットワークか外かを判定しています。判定の手順と、外向けの通信をデフォルトゲートウェイに預けるしくみを、具体例で確認します。
同じネットワークなら直接渡す。違えばゲートウェイに預ける
PCが何かを送るとき、必ず最初に1つの判定をしています。宛先は自分と同じネットワークにいるか、それとも外にいるかという判定です。
判定のしかた
判定は次の1行に尽きます。自分のIPアドレスと宛先のIPアドレスに、それぞれ同じサブネットマスクを当ててネットワークアドレスを求め、一致すれば同一ネットワーク、違えば外です。 サブネットマスクからネットワークアドレスを求める計算は2-3 サブネットマスクの計算のやり方と同じです。
例1:同一ネットワークになる場合
自分のPCが 192.168.1.10/24、宛先が 192.168.1.200 の場合です。
| 項目 | 自分のPC | 宛先 |
|---|---|---|
| IPアドレス | 192.168.1.10 | 192.168.1.200 |
| サブネットマスク | /24(255.255.255.0) | (自分と同じマスクを当てる) |
| ネットワークアドレス | 192.168.1.0 | 192.168.1.0 |
例2:外になる場合
今度はサブネットマスクを /26 に変えます。自分のPCが 192.168.1.10/26、 宛先が 192.168.1.130 の場合です。
| 項目 | 自分のPC | 宛先 |
|---|---|---|
| IPアドレス | 192.168.1.10 | 192.168.1.130 |
| サブネットマスク | /26(255.255.255.192) | (自分と同じマスクを当てる) |
| ネットワークアドレス | 192.168.1.0 | 192.168.1.128 |
例2が示す通り、先頭のオクテットが同じかどうかを目で見て判断するのは危険です。マスクが/24とは限らないので、 必ず自分に設定されているサブネットマスクを当てて計算する必要があります。
同一ネットワークのとき:相手に直接渡す
判定の結果、宛先が同一ネットワークだと分かれば、話は単純です。ゲートウェイを経由せず、宛先の機器へ直接フレームを渡します。
ただし、直接渡すには宛先のMACアドレスが必要です。IPアドレスは分かっていてもMACアドレスは分からないので、ARPという仕組みで調べます。ARPの詳しい流れは、次回(3-2)で扱います。
外のとき:デフォルトゲートウェイに預ける
宛先が外だと分かれば、自分ではそこまで届けられません。そこでデフォルトゲートウェイ(家庭ではルータ)にフレームを預け、 その先の中継を任せます。
つまりPCから見ると、外向けの通信はすべて「宛先MACをゲートウェイにして渡す」の一言で片付きます。 本当の宛先がどこにあるかをPC自身が気にする必要はなく、その先の経路はゲートウェイ(ルータ)に任せます。
デフォルトゲートウェイが設定されていないと、どうなるか
デフォルトゲートウェイは「外」向け通信の預け先です。設定されていなければ、預ける相手がいないので外への通信はできません。
一方、同一ネットワーク内の通信はゲートウェイを経由しないため、そのまま可能です。 「同じ部屋の中の人とは会話できるが、部屋の外には出られない」状態だとイメージすると分かりやすいはずです。
自分の設定を確認する
自分のPCに設定されているデフォルトゲートウェイを見てみましょう。
$ ip route default via 192.168.1.1 dev eth0 proto dhcp metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10 metric 100 # 「default via」の行がデフォルトゲートウェイ。ここでは 192.168.1.1 です。
> ipconfig イーサネット アダプター イーサネット: IPv4 アドレス . . . . . . . . . . . . . . : 192.168.1.10 サブネット マスク . . . . . . . . . . . . : 255.255.255.0 デフォルト ゲートウェイ . . . . . . . . . : 192.168.1.1 # 「デフォルト ゲートウェイ」の行に表示されます。家庭ではルータのIPアドレスであることがほとんどです。
練習問題(全5問)
選んでから「採点する」を押すと、解説つきで答え合わせができます。
正解:宛先が別ネットワークのとき、その先へ中継してもらうための窓口
デフォルトゲートウェイは、自分のネットワークの外に出る通信を最初に預ける相手(家庭ではルータ)です。IPアドレスの自動割り当てはDHCP、ドメイン名の変換はDNSの役割です。
正解:自分と宛先それぞれに同じサブネットマスクを当てて求めたネットワークアドレス
自分のIPと宛先のIPに、自分に設定されているのと同じサブネットマスクを当ててネットワークアドレスを求め、両者が一致するかどうかで判定します。
正解:同一ネットワーク
/24 はブロックサイズ256、つまり先頭3オクテットがそのままネットワークアドレスです。どちらも 192.168.1.0 で一致するので同一ネットワークです。
正解:別ネットワーク(外)
/26 はブロックサイズ64。10は0〜63番のブロックなのでネットワークアドレスは192.168.1.0、130は128〜191番のブロックなのでネットワークアドレスは192.168.1.128。先頭3オクテットが同じでもネットワークアドレスが違うので外です。
正解:同一ネットワーク内の機器とは通信できるが、別ネットワーク宛の通信(インターネットを含む)はできない
同一ネットワーク内の通信はARPで相手のMACアドレスを調べれば直接届きます。ゲートウェイが必要になるのは「外」への通信を預けるときだけなので、設定がなければ外には出られません。