Pingを基礎から理解しよう3~ルーティング


今はPingを通してネットワークの基本的な部分を学習しています。

前回の記事
ではIPパケットがどのように構成されているのかを確認しました。

今回の記事では実際にIPパケットが送信された時にどんな流れでパケットが運ばれているのかについて調べていきます!

IPアドレスとルーティングテーブル

通信するためには宛先のIPアドレスを知っている必要がありました。

IPアドレスとは、ネットワーク上で割り当てられている住所のようなものです。

IPアドレスが一意に割り当てられているために届けたいものを届けたい場所に届けることができます。

しかしパケットを届けたいところに届ける場合、いくつものルーター、ホストを経由して送信されます。

こんな感じ

引用元:マスタリングTCP/IP

ここで大事なのはアドレスをみてどのルーターを経由するのかを判断しなければならないということです。

ここで使用されているのが経路制御表(ルーティングテーブル)です。
これはIPアドレスと次に送るべきルーターが記載されています。
経路制御表の例をあげると

IPアドレス ルーター
192.168.0.0 ルーターA
192.168.1.0 ルーターB
192.168.2.0 ルーターC

このような形でアドレスと次に送るべきルーター情報が記載されています。

これを元にルーターは送られてきたパケットをどのルーターに送るのかを判断します。

実際に経路制御表をみてみよう

イメージはだいたい掴めたと思うので自分のパソコンの経路制御表がどうなっているのかをみてみましょう。

macの人であれば

netstat -r

で自分のルーティングテーブルを表示することができます。

➜ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.16.255.254      UGSc          164        0     en0
10.16/16           link#5             UCS             0        0     en0      !
10.16.172.142/32   link#5             UCS             0        0     en0      !
10.16.255.254/32   link#5             UCS             1        0     en0      !
10.16.255.254      0:a0:c9:48:1:1     UHLWIir        99       16     en0    643
127                localhost          UCS             0        0     lo0
localhost          localhost          UH             10    33236     lo0

こんな感じで表示されました。
Destinationが目的地でGateWayが経由するホスト、ルーターを示しています。

ここで大事なのはdefaultと呼ばれる目的地です。
大抵のアクセスはここに飛ばされることがわかります。

各項目の詳細については
https://www.ibm.com/support/knowledgecenter/ja/POWER7/p7hcg/netstat.htm
こちらをご覧ください。

Wifiオフにしてみると

➜ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
127                localhost          UCS             0        0     lo0
localhost          localhost          UH             11    33340     lo0
169.254            link#12            UCS             1        0     en3      !
169.254.92.48/32   link#12            UCS             1        0     en3      !
224.0.0/4          link#12            UmCS            1        0     en3      !
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          0        0     en3
255.255.255.255/32 link#12            UCS             0        0     en3      !

ここでWiFiをオフにしてみましょう。
経路がかなり変わったのがわかると思います。

接続するWiFiが変更されるとグローバルIPアドレスも変わるように接続しているアドレスが変更されているのでテーブルも変更されることが確認できます。

link〇〇ってなに?

表をみているとlink#5とかが見受けられると思います。これはルーターを経由せず自力で通信する場合に記述されます。

まとめ

パケットが送信されてからルーティングテーブルをどんどん経由して行ってどんなルートを通るのかがだいたいイメージできたかと思います!

今回ほとんどPing関係ないですね、、、