👌
L2 over IPがよくわからないので整理した
NWスペシャリスト試験R3 午後1 問1で、L2 over IPで接続した端末間のtracerouteの結果が問われた。
- PC1>RT1>RT2>PC2のNW経路がある
- 上記の経路はL2 over IPによって閉域網として通信できる
Q. このとき、PC1からtraceroute PC2
を実行したときの結果は?
A. PC2
つまり、RT1,RT2は返されないというのが回答だった。
RT1でTTL1は消費されないのかが気になったので、考えてみた
L2 over IPのRFCを読んでみる(rfc3378)
L2 over IP(EtherIP)の手順は以下の通り
-
送信元のEtherIPステーションがパケットを検査し、EtherIPが必要か判断する(同一LANの通信か、LANのルータ宛の通信なら不要)
-
Ether IPヘッダーをMACフレームの前に差し込む
+-----------------+-----------------------------+ | | | | EtherIP Header | Encapsulated Ethernet Frame | | | | +-----------------+-----------------------------+
-
対向のEtherIPステーションのIPアドレスを特定する
-
2.のIPアドレスで決定したIPアドレスでEther IPダイアグラムをカプセル化する
+-----------------------+-----------------------------+ | | | | | IP | EtherIP Header | Encapsulated Ethernet Frame | | | | | +-----------------------+-----------------------------+
-
対向のEtherIPステーションに上記のパケットを送信する
このとき、Ethernetヘッダも含めると以下のようになる。+-----------------+----------------+-----------------------------+ | | | | | | Ethernet | IP | EtherIP Header | Encapsulated Ethernet Frame | | | | | | +-----------------+----------------+-----------------------------+
以上の仕様を素直に読む限り、EtherIPステーション(RT1)は
- L2SWとして振る舞いながらLAN内のフレームを検査する
- EtherIPでカプセル化
- カプセル化したパケットを対向のEtherIPステーションに送るルータとして振る舞う
という挙動をするっぽい。
つまり、カプセル化前のパケットを中継するルーターとしては振る舞わないので、カプセル化前のパケットのTTLを消費することはない。
まとめると、設問は以下のような動きになる
-
PCは以下のICMPパケットをRT1におくる
+-------------------+ | | | | Ethernet | ICMP | | | | +-------------------+
-
RT1は以下の通りカプセル化する
+-----------------+----------------+----------+------+ | | | | | | | Ethernet | IP | EtherIP Header | Ethernet | ICMP | | | | | | | +-----------------+----------------+----------+------+
-
RT2は以下の通りカプセル化を剥がす。剥がしたあと、L2SWとして振る舞い、Ethernetフレームを書き換えてフレームをPC2に転送する
+-------------------+ | | | | Ethernet | ICMP | | | | +-------------------+
Discussion