L2スイッチとルーター
今更ながらいまいち理解できてないポイントがあったので、いっかい自分でまとめてみることにする。当たり前のことではあるが……
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 アドレスが既知のものとなる。
関連エントリー
- DS-Lite の挙動の理解 おおざっぱにいうと 家庭内のルーター(B4)で IPv4 パケットを IPv6 にカプセル化 (IP IP tunnel) IPv4 ネット...
- IPv6 IPoE + DS-Lite 環境での RTX1200 の設定 ひょんなことから(?)RTX1200を譲ってもらったので使ってみる。VPN 貼りたいとかいう欲求はなくて、普通に家庭用ブロードバンドルーター...
- さくらのVPSを踏み台にして IPv6 アドレスがついているホストへ ssh さくらのVPSはIPv4/IPv6デュアルスタックで、双方ともにグローバルアドレスがついているため、IPv4 しかない環境から IPv6 ア...
- Raspberry Pi で別のマシンと有線LANを直結して通信 スイッチを介さず直接イーサネットケーブルを接続して相互通信を行いたいというケースがあった。あんまりやらないので不安に思ったけど簡単にできた。...
- ネットワーク内の Raspberry Pi の IP アドレスを調べる いちいちモニタ繋いで確認とかするのは面倒ですが同じネットワーク内なら簡単に調べることができます。 まず ifconfig で所属するネットワ...