こんにちは、おゆかよです。ネットワークの階層構造って複雑で、データの流れる順番を覚えるのって大変だよね。この記事では、応用情報技術者試験でよく狙われる「情報の送出順序」のルールを、博士と一緒にスッキリ整理して学べるよ!

博士!ネットワークの勉強をしてたら「このTCPパケットをイーサネットに送出したとき、宛先情報はどの順番で流れるか?」っていう問題が出てきたの。MACアドレスとかIPアドレスとか、全部「宛先」だけど、順番があるんだね?

そうだね、おゆかよちゃん。それはネットワークの基本である「カプセル化」を理解しているかを問う良問だよ。データが通信路に流れ出すとき、どのヘッダが外側に付いているかを考えれば、自ずと答えは見えてくるんだ。
データの「梱包」順序をイメージしよう

カプセル化って、マトリョーシカみたいなやつだよね!一番外側に新しい情報を付け足していく感じかな?

その通り。OSI参照モデルの下位レイヤーに降りるたびに、上の階層のデータを包み込むヘッダが付与されるんだ。今回の例で言うと、以下の順にカプセル化されていくよ。1. アプリケーションデータ
2. TCPヘッダ(ポート番号などを含む)を付加して「TCPセグメント」に
3. IPヘッダ(IPアドレスなどを含む)を付加して「IPパケット」に
4. イーサネットヘッダ(MACアドレスなどを含む)を付加して「イーサネットフレーム」に
2. TCPヘッダ(ポート番号などを含む)を付加して「TCPセグメント」に
3. IPヘッダ(IPアドレスなどを含む)を付加して「IPパケット」に
4. イーサネットヘッダ(MACアドレスなどを含む)を付加して「イーサネットフレーム」に

なるほど!最後に追加された「イーサネットヘッダ」が、マトリョーシカのいちばん外側になるんだね。ってことは、電気信号として送られるときは、外側から順番に出ていくの?
送出順序の正解:MAC → IP → ポート

正解!データはヘッダの先頭から1ビットずつ送出される。だから、いちばん外側にある「イーサネットヘッダ」の内容が最初に送られるんだ。そして、各ヘッダの中でも、実は「宛先」の情報は「送信元」より先に配置されていることが多いんだよ。

えっ、そうなの?自分の名前より相手の名前を先に書く手紙みたいな感じかな?

いい比喩だね!スイッチなどのネットワーク機器が「これは自分宛のデータかな?」と素早く判断できるように、宛先が先頭に来ているんだ。具体的な送出順序は次のようになるよ。1. 宛先MACアドレス(イーサネットヘッダの先頭)
2. 送信元MACアドレス
3. タイプ(または長さ)
4. 宛先IPアドレス(IPヘッダ内。送信元IPアドレスよりも後ろにある!)
5. 宛先ポート番号(TCPヘッダ内。送信元ポート番号よりも後ろにある!)
2. 送信元MACアドレス
3. タイプ(または長さ)
4. 宛先IPアドレス(IPヘッダ内。送信元IPアドレスよりも後ろにある!)
5. 宛先ポート番号(TCPヘッダ内。送信元ポート番号よりも後ろにある!)

あれ?IPとポートは「送信元」の方が先なの?MACアドレスだけ「宛先」が一番乗りなんだ!
ヘッダ構造の深い話:なぜ順序が違うのか

鋭いね。実はここが試験のひっかけポイントなんだ。イーサネット(L2)は物理的な「次の一歩」を決めるために宛先MACが最優先。一方で、IP(L3)やTCP(L4)は、受信した後に「どこから来たか」も同時に重要になるから、構造が少し違うんだ。IPヘッダ(IPv4)の構造:
1. バージョン・ヘッダ長など
2. 送信元IPアドレス(32bit)
3. 宛先IPアドレス(32bit)
1. バージョン・ヘッダ長など
2. 送信元IPアドレス(32bit)
3. 宛先IPアドレス(32bit)
TCPヘッダの構造:
1. 送信元ポート番号(16bit)
2. 宛先ポート番号(16bit)
つまり、試験で「宛先情報の送出順序」を問われたら、階層(L2→L3→L4)の順序を思い浮かべるのが正解だよ。具体的な宛先情報だけで並べると、宛先MACアドレス > 宛先IPアドレス > 宛先ポート番号 の順になるんだ。

そうか!ヘッダ自体の登場順は「イーサネット → IP → TCP」だから、その中に含まれる宛先情報もその順番で出てくるってことだね。納得!でも、これって全部の通信で同じなの?

現代の一般的なTCP/IP通信ならこの通りだよ。ちなみに、現在のネットワーク機器は非常に高速だけど、このビットレベルの順序はIEEE 802.3などの規格で厳格に決まっている。これがあるからこそ、世界中のメーカーの機器が相互に通信できるんだ。応用情報の試験では、たまに「送信元MACアドレス」が最初に来ると勘違いさせる選択肢が出るから気をつけてね。
まとめ
今回の学習ポイントを整理するね!
1. カプセル化の順序: 上位層から下位層へ(TCP → IP → イーサネット)。
2. 送出順序: 下位層のヘッダから順にビットが流れる。
3. 宛先情報の順序:
– まず、イーサネットヘッダの先頭にある 宛先MACアドレス。
– 次に、IPヘッダの中に含まれる 宛先IPアドレス。
– 最後に、TCPヘッダの中に含まれる 宛先ポート番号。
「宛先は外側から順に見つかる」と覚えておけば、試験本番でも迷わないはずだよ。おゆかよちゃん、これでバッチリかな?

うん!「外側の宛先から順番に」って覚えたよ!博士、今日もありがとう!これでまた一歩、合格に近づけた気がするなー!
博士のおすすめアイテム
この記事のテーマに関連して、博士が自信を持っておすすめするアイテムはこちらだよ!
Amazonで「マスタリングTCP/IP 入門編 第6版」をチェック
※ 本セクションはPR(広告)です。Amazonアソシエイト・プログラムの参加者として、当サイトは適格販売により収入を得ています。

コメント