助け合いフォーラム
PC-AがFTPサーバとの通信を行っている。そのパケットの、図の①の時点の送信元と宛先のIPアドレス及びMACアドレスについて、正しいものはどれか。(全て選択)
正解
宛先MAC:FTPサーバ
送信元MAC:RBのFa0/0
宛先IP:FTPサーバ
送信元IP:PC-A
解説
宛先MAC:FTPサーバ
送信元MAC:RBのFa0/0
宛先IP:FTPサーバ
送信元IP:PC-A
MACアドレスは直近の宛先(送信元)アドレスを指します。IPアドレスは最終の宛先(大元の送信元)を指すアドレスです。なお、スイッチはパケットが通過するだけであれば、パケットの宛先/送信元アドレスに影響を与える事はありません。(スイッチ自身にアクセスする場合にだけ、スイッチのIPアドレスやMACアドレスが使用されます。)
参考
ルータがデータを受信するとレイヤ2ヘッダを外し、レイヤ3ヘッダにある宛先IPアドレスを確認し、新しいレイヤ2ヘッダを付けて転送します。
【OSI参照モデルと主な名称と主なヘッダ】
※パケットやフレーム等の名称は厳密に使い分けられていない場合や、一括りに PDU(Protocol Data Unit)と呼ばれる場合があります
【ルータの転送処理】
ルータは送られてきたデータを転送するために以下の処理を行います。
1.着信データのレイヤ2ヘッダを確認する
・「宛先MAC」が自身になっているか、FCS(データが壊れていないかを確認する情報)が正しいかを確認
・自身宛ではなかったり、FCSに異常があればフレームを破棄する
2.レイヤ2ヘッダを外し、レイヤ3ヘッダを確認して自身のどのインターフェースから転送すれば良いかを調べる
・「宛先IPアドレス」を基に、自身のルーティングテーブルから、次に転送するルータのIPアドレスや、出力インターフェースを調べる
・ルーティングテーブルに「宛先IPアドレス」に該当する情報が無い場合は受信したパケットを破棄する
3.パケットを転送するために必要となる転送先(ネクストホップ)の「MACアドレス」を調べる
・次に転送するルータのIPアドレスを基に、ARPテーブルからMACアドレスを調べる
・ARPテーブルに「次に転送するルータのIPアドレス」に該当する情報が無い場合はARPによって該当のMACアドレスを調べる
4.転送するパケットにレイヤ2ヘッダを付け、出力インターフェースからパケットを出力する
・送信元MACアドレスは自身の出力インターフェースのMACアドレスになる
・宛先MACアドレスは3で調べた転送先のMACアドレスになる
【MACアドレスとIPアドレス】
「MACアドレス」は直近(同一ネットワーク)の宛先や送信元アドレスを指し、「IPアドレス」は最終の宛先や大元の送信元を指すアドレスです。
上図の状況でPCからサーバにパケットを送信した場合は以下のようになります。
・「1」の位置のパケットが持つアドレス
宛先MAC:2222.2222.22222
送信元MAC:1111.1111.1111
宛先IP:192.168.2.1
送信元IP:192.168.1.1
・「2」の位置のパケットが持つアドレス
宛先MAC:4444.4444.4444
送信元MAC:3333.3333.3333
宛先IP:192.168.2.1
送信元IP:192.168.1.1
レイヤ2ヘッダに含まれる宛先・送信元「MACアドレス」は直近(同一ネットワーク)のアドレスを指すのでネットワークをまたぐ際に付け替えられますが、レイヤ3ヘッダに含まれる宛先・送信元「IPアドレス」は最終のアドレスを指すのでネットワークをまたいだ後も変わりません。
なお、ハブやスイッチを経由してもネットワークはまたがないので、宛先MACアドレスも送信元MACアドレスも変わりません。
宛先MACアドレス
宛先MACアドレスがCatBのFa0/1でなくFTPサーバなのはなぜですか?
MACアドレスが直近の宛先アドレスを指すなら、CatBのFa0/1だと思うのですが。。
お疲れさまです
≫MACアドレスが直近の宛先アドレスを指す
こちらの認識が誤ってます
ルータもARPを行いますので、同じネットワーク内に通信を行いたい宛先があれば、宛先MACアドレスを付け替えます。
(同じネットワーク内にいなければルータを超えるor破棄する)
解説の【ルータの転送処理】の③をよくご確認ください。
お互い頑張りましょう!
コメント
お疲れさまです。
自分も勉強のため、コメント書かせていただきます。
間違っていたら、コメントお願いいたします。
ここでは、ルータとスイッチの、データの転送処理の理解が必要と考えます。
問題の解説にも記載ありますが、ルータの転送処理は、届いたデータのMACアドレスが自身であることを確認し、
ルーティングテーブルより、転送先(ネクストホップ)を確認、ARPテーブルにて、MACアドレスを確認し、データのMACアドレスを付け替えて転送します。
スイッチは、MACアドレステーブルの登録情報をもとにデータを転送するため、届いたデータの宛先MACアドレスを確認して、登録されているポートより、転送します。
このことから、宛先MACは、CatBのFa0/1ではなく、FTPサーバであると判断いたします。
コメント
「受信したネットワークとは異なるネットワークに通信を送信する場合」に、
MACアドレス付替えが
(1)送信元MACを、送信先ネットワークに属する自身の送出インターフェースのMAC
(2)宛先MACを、送信先ネットワークに属する終点(=宛先)インターフェースのMAC
という形で発生します。
CatA・CatBは、各機器と同じネットワークに属する機器へ中継するだけであるため、
MACアドレスの付替えは発生しません。
(『解説』の最終3行を参照)
よって本設問の構成の場合、MACアドレス付替えが以下の形で発生します。
① RAを経由してRBへ送信するとき、送信元MACがRAのSo0/0、宛先MACがRBのSo0/0
② RBを経由してFTPサーバへ送信するとき、送信元MACがRBのFa0/0、宛先MACがFTPサーバ
コメント
この投稿に対して返信しませんか?
u uri160
2023/10/07 11:16
失礼ながら送信元Macアドレスもその理論でいくとCatBのFa0/2になってしまうので違うと思います。 「Macアドレスは"直近"の宛先アドレスを指す」の "直近"は"同一ネットワーク内の直近"という意味なのでスイッチであるCatBを跨いでもネットワークは変わらないので、RBスイッチの同一ネットワークであるFTPサーバが宛先Macアドレスになるのだと思いました。 仮にCatBがスイッチではなくRCというルータに変えた場合は