スイッチはMACアドレステーブルを使って同じネットワーク内で転送しますが、別のネットワークにいる相手にはどうやって届けているのでしょうか?
Stage03まではスイッチの世界(レイヤー2)の話でした。ネットワークをまたぐ通信には、また別の仕組みが必要です。何を見て、どこへ送るべきかを判断しているのか、考えてみてください。
ルーターは「郵便局の仕分け係」
Stage03まではスイッチの世界、つまり同じネットワーク内の話でした。ここからはStage04、いよいよルーターの出番です。ルーターの仕事は一言でいえば、パケットを正しいネットワークへ送り出すことです。
郵便局の仕分け係を思い浮かべてください。届いた荷物の宛先住所を見て、「この住所ならA地域行きのトラック、この住所ならB地域行きのトラック」と振り分けますよね。ルーターも同じで、パケットの宛先IPアドレスを見て、次にどちらの方向(インターフェース)へ送ればよいかを判断します。
ルーティングテーブルという「地図」
ルーターがこの判断をするために持っている地図がルーティングテーブルです。ルーティングテーブルには、「どのネットワーク宛てのパケットは、どのインターフェース(またはネクストホップ)へ送ればよいか」という情報が並んでいます。
ルーティングテーブルの中身は、大きく3種類の方法で作られます。
- 直接接続ルート: ルーター自身のインターフェースにIPアドレスを設定し、
no shutdownで有効化すると自動的に登録される - スタティックルート: 管理者が手動で入力するルート
- ダイナミックルート: OSPFなどのルーティングプロトコルが自動的に学習してくるルート
show ip route でルーティングテーブルを見る
ルーティングテーブルの中身は show ip route コマンドで確認できます。
Router# show ip route
Codes: C - connected, S - static, O - OSPF, S* - candidate default
Gateway of last resort is 203.0.113.1 to network 0.0.0.0
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
C 192.168.2.0/24 is directly connected, GigabitEthernet0/1
S 10.0.0.0/8 [1/0] via 192.168.2.2
O 172.16.0.0/16 [110/2] via 192.168.1.2, 00:00:12, GigabitEthernet0/0
S* 0.0.0.0/0 [1/0] via 203.0.113.1
行の先頭にあるアルファベットは、そのルートがどうやって学習されたかを示すコードです。
| コード | 意味 |
|---|---|
| C | 直接接続(connected) |
| S | スタティックルート |
| O | OSPF(ダイナミックルーティング) |
| S* | 候補デフォルトルート(デフォルトルート) |
たとえば C 192.168.1.0/24 is directly connected, GigabitEthernet0/0 は、「192.168.1.0/24というネットワークは、GigabitEthernet0/0に直接つながっている」という意味です。S 10.0.0.0/8 [1/0] via 192.168.2.2 は、「10.0.0.0/8宛てのパケットは、192.168.2.2というネクストホップへ送る」という手動設定のルートです。
ルーティングの基本動作
ルーターがパケットを受け取ったときの動作は、次のようにシンプルです。
- パケットの宛先IPアドレスを見る
- ルーティングテーブルの中から、その宛先が含まれるネットワークのエントリを探す
- 一致するエントリが見つかれば、指定されたインターフェース(またはネクストホップ)へ転送する
- 一致するエントリがどこにも見つからなければ、パケットは破棄される
この「一致するエントリが見つからなければ破棄」という部分は重要です。ルーターは知らない宛先に対して「とりあえず全部に送ってみる」ということはしません。スイッチのフラッディングとは対照的な動きだと覚えておきましょう。
ルーターがパケットを受け取ったが、宛先ネットワークに一致するルートがルーティングテーブルに一つも無かった場合、ルーターはどう動作しますか?
答えを見る
答えはパケットを破棄するです。ルーターはスイッチのようにフラッディング(全ポートへ送信)することはありません。一致するルートが無ければ、そのパケットはドロップされます。これがルーターとスイッチの重要な違いの一つです。
まとめると「宛先IPを見て、地図と照合し、転送する」
ルーターは、宛先IPアドレスを手がかりに、ルーティングテーブルという地図と照合して転送先を決めます。地図の作り方には直接接続・スタティック・ダイナミックの3種類があり、show ip route でその中身と学習方法(コード)を確認できます。次のレッスンでは、複数のルートが同時に一致した場合にどれを優先するのか、そのルールを見ていきます。
show ip route の出力で C というコードが付いているルートは何を意味しますか?
答えを見る
答えは直接接続(directly connected)ルートです。ルーター自身のインターフェースにIPアドレスが設定され、有効化(no shutdown)されているネットワークが自動的に登録されるルートです。
試験でのポイント
CCNA試験では、show ip route の出力からコード(C/S/O/Sなど)の意味を読み取らせる問題が頻出です。特に「C」は直接接続、「S」はスタティック、「O」はOSPF、「S」はデフォルトルートという対応をしっかり覚えておきましょう。また、「一致するルートが無い場合は破棄される」という動作は、スイッチのフラッディングと混同しやすいポイントなので、レイヤー2とレイヤー3の動作の違いとして整理しておくと安心です。
ルーターの仕事は、宛先IPを見てルーティングテーブルという地図と照らし合わせて転送すること。show ip routeのコードの読み方、覚えておいてね。次は、複数のルートが競合したときにどれが優先されるか、最長一致とアドミニストレーティブディスタンスを見ていくよ。