階層モデルとカプセル化 — 入れ子の封筒でデータを運ぶ
ネットワークは「アプリ」「トランスポート」「ネットワーク」「リンク」という層(レイヤ)の積み重ねでできています。送るデータは各層で自分のヘッダに包まれ、まるで封筒を入れ子にするように運ばれる。このカプセル化を、包んで・はがす様子を動かしながら理解します。
1. 手紙を入れ子の封筒に包む — カプセル化
送り手のデータは、上の層から下の層へと降りていきます。各層は受け取ったかたまりに自分のヘッダを付けて、さらに大きな封筒に入れ直す。これがカプセル化です。物理リンクを渡ったあと、受け手では逆に下から上へ登りながら、各層が自分のヘッダだけをはがして中身を取り出します。
下のデモで、📦 が送信ホストの階段を降りるほど色つきの封筒(ヘッダ)が増え、受信ホストを登るほどはがれていく様子を見てください。
カプセル化の旅 — 降りて包み、登ってはがす
中央の帯が4つの層。左を降りるたびに アプリ→TCP→IP→ETH のヘッダが外側に重なり、いちばん外を包み終えたものが「フレーム」。右を登るときは外側から順にはがれ、最後にアプリへ元のデータだけが届きます。
POINT — 各層は「1枚の封筒」だけを担当する
ある層は、上の層から預かった中身が何であろうと気にせず、ただ自分のヘッダで包んで下へ渡す。下の層がどう運ぶかも気にしない。関心事を1層ぶんに閉じ込めることで、全体の複雑さをぐっと下げているのが階層モデルの狙いです。
フレーム = [ ETHヘッダ | IPヘッダ | TCPヘッダ | データ | FCS ]
外側の層ほど「後から」包む。だから受信側は外側(ETH)から順にはがしていく
2. ヘッダには何が入っている? — 1枚ずつ足す
封筒(ヘッダ)はただの飾りではありません。各層のヘッダには、その層が仕事をするための宛名や整理番号が書かれています。スライダーで付け足す層を1枚ずつ増やして、どんな情報が加わるか見てみましょう。
ステップ実行 — ヘッダを1枚ずつ足す
0=まだ生のデータ。層を進めるごとに封筒が増え、いまの姿(メッセージ→セグメント→パケット→フレーム)と、その層のヘッダに入る代表的な項目が下に表示されます。
注意 — 名前が変わるのは「同じ中身」
セグメント・パケット・フレームは別物ではありません。同じデータが、包まれた層に応じて呼び名を変えているだけ。「TCPセグメント」「IPパケット」「Ethernetフレーム」は、その層のヘッダで包まれた状態を指す言葉です。
3. 2つの地図 — TCP/IP 4層 と OSI 7層
層の分け方には代表的な2つのモデルがあります。実際のインターネットが動く土台はTCP/IP 4層。一方、教育や議論の共通語としてよく使われるのがOSI参照モデル 7層です。両者は下のように対応します。スライダーでTCP/IPの層を選ぶと、対応するOSIの層と代表プロトコルが光ります。
TCP/IP 4層 ↔ OSI 7層 の対応
左=OSI 7層、右=TCP/IP 4層。TCP/IPの「アプリケーション層」はOSIの上3層をまとめたもの、「ネットワークインタフェース層」は下2層をまとめたもの、と考えると対応が見えます。
注意 — OSI 7層は「設計図」ではなく「共通のものさし」
実際のインターネットはOSIどおりに作られてはいません。TCP/IPが先に普及し、OSIは各層の役割を語るための参照モデルとして残りました。「第3層=ネットワーク」のように番号で役割を指すときの共通語、と捉えるのが実務的です。
4. 層に分ける利点 — 各層は相手の「同じ層」と話す
物理的にはデータは送信側で下まで降り、ケーブルを渡り、受信側で上まで登ります。ところが各層の立場から見ると、相手ホストの同じ層と直接やり取りしているように感じられます。TCPは相手のTCPと、IPは相手のIPと会話している——これを対等な層(ピア)どうしの通信と呼びます。
ピア通信 — 物理は縦、論理は横
光る点は実際のデータの通り道(縦:降りて・登る)。点がある層では、左右の同じ層をつなぐ点線の会話が光ります。各層は「自分の相棒とだけ話せばよい」ので、下の層の運び方が変わっても上の層は作り直さなくて済みます。
5. まとめ — 複雑さを層で仕切る
- カプセル化:データは下る各層で自分のヘッダに包まれ、フレームになって送られる。受信側は逆に外側からはがす。
- 層の独立:各層は自分のヘッダ1枚だけを担当。上や下の詳細を気にしないので、部品を差し替えやすい。
- 2つのモデル:実装はTCP/IP 4層、共通語はOSI 7層。番号で層の役割を指せる。
一歩先へ — 「差し替えやすさ」の威力
リンク層をEthernetからWi-Fiや光ファイバに替えても、上のIP・TCP・アプリはそのまま動く。逆にHTTPをHTTP/3へ進化させても下の層は無傷。層の境界をヘッダという契約で固定したおかげで、インターネットは各部分を独立に進化させながら、数十年間つながり続けています。