今更ながらいまいち理解できてないポイントがあったので、いっかい自分でまとめてみることにする。当たり前のことではあるが……
L2スイッチ
セグメントを構築する機器 スイッチングハブ
用途はリピーターハブと同じで、あるポートに届いたイーサネットフレームを他の全てのポートへ転送する。ただし帯域を有効利用するため転送されてきたポートと MAC アドレスの対応を記憶して、次回から必要のないポートに転送することをやめる。
ルーター
セグメント間を接続する機器
IPヘッダを解釈し、ルーティングテーブルから次に転送すべきルーターへパケットを転送する。
頻出事例
(IPv4) L2スイッチに接続されたコンピュータ同士の通信
同一セグメント内の通信ということになる。L2スイッチで完結する。
192.168.0.101 から 192.168.0.102 への通信の例
- 101 は 102 の IP アドレスをのせてARPリクエストをイーサネットにブロードキャスト
- 102 は自分の MAC アドレスをのせてARPレスポンス
- 101 は取得した MAC アドレス宛にIPパケットをのせたイーサネットフレームを送信
L2 スイッチは多段接続しても1つのネットワーク。
(IPv6)L2スイッチに接続されたコンピュータ同士の通信
ほとんど IPv4 と同じだが ARP ではなく ICMPv6 で MAC アドレスが解決される。Neighbor Solicitation メッセージと Neighbor Advertisement メッセージが使用される。
(IPv4) ルーターを介したコンピュータ同士の通信 (外部ネットワークなど)
192.168.0.101 から 93.184.216.34 への通信の例
- 101 は自分のルーティングテーブルを参照する
- 接続先が同一セグメントではないため、デフォルトゲートウェイ(またはルーティングテーブルにあるホスト) へ転送しようとする
- 転送するホストのIPアドレス (例:192.168.0.1) の MAC アドレスを取得する (ARP)
- 取得した MAC アドレス宛にIPパケットをのせたイーサネットフレームを送信
- ルータは送られてきたイーサネットフレームとIPパケットを解釈し、次のルータにIPパケットを転送する。このときIPパケットを載せるプロトコルはイーサネットとは限らない。PPP ということもある。
(IPv6) ルーターを介したコンピュータ同士の通信 (外部ネットワークなど)
こちらも ARP 部分が ICMPv6 でおきかわる。ルーターの場合はネットワーク接続時の要求や、定期的にブロードキャストされる Router Advertisement メッセージから MAC アドレスがキャッシュされているため、基本的にルーター MAC アドレスが既知のものとなる。