ルータはMACヘッダから自分宛のパケットだと判断し、中(IPヘッダ)をのぞいてルーティング先を決めて次のホップに渡す。
という流れになるのでしょうか?
下記のページがわかりやすいと思います。
第11回 ARPの機能とデフォルトゲートウェイ/キーマンズネット
パケットの構造はおっしゃるとおり、
になります。
で、
ルータはMACヘッダから自分宛のパケットだと判断し
流れてきたイーサフレームが自分宛かどうかの判断は、通常は NIC レベルで行われ、受け取るべきか捨てるべきかの判断が行われ、受け入れられたイーサフレームの中に入っている宛先 IP アドレスを見て、他へ転送すべきものが、あるいは、ルータ自身へ向けられてたものか、という判断になります。
なるほど。
ということは、NICが(よく考えたら、そもそもNICがMACアドレスを持っているんですよね)自分宛のMACフレームだと判断したら、その中のIPパケットをルータに渡す、というイメージになるでしょうか?
ルーターが自分宛のパケットだと判断するのはMACアドレスによるものですね。
PCルーターなどではネットワークインターフェースカードのレベルで自分宛のMACアドレスだけを拾って、
自分宛のパケットが届いた(揃った)ところで割り込みを発生させて、CPUに吸い出してもらうという
動作をしています。
L3スイッチではパケットの先頭部分MACアドレス/IPアドレスといった情報を受け取ったところで
スイッチングするらしいです。
質問者の理解で正しいと思います。
回答ありがとうございます。