🐧 Linux 総合学習プラットフォーム
ネットワーク基礎 ・ 入門〜中級

カプセル化とヘッダ

データが各層を通るたびに宛先などの付箋(ヘッダ)が足されていく。この「入れ子」の仕組みがカプセル化で、受け取る側は逆順にほどいて読む。

層に分かれた通信では、データが上の層から下の層へ降りていくたびに、その層で必要な情報が前後に足されていく。この付け足される制御情報が「ヘッダ」で、ヘッダで包んでいく仕組みを「カプセル化」と呼ぶ。

📦 付箋を重ねて貼っていくイメージ

アプリが作った本体のデータ(ペイロード)に、まずトランスポート層で TCP や UDP のヘッダが付く。次にインターネット層で IP ヘッダが付き、宛先IPアドレスなどが書き込まれる。さらにデータリンク層で Ethernet のヘッダ(宛先MACアドレスなど)と、末尾に誤り検出用の情報が付く。こうして何重にも包まれて、はじめてケーブルに流せる形になる。

🔗
たとえ手紙を「便箋 → 封筒 → 宅配の伝票つきの箱」と順に包んでいくのに似ている。中身は同じでも、外側に運搬用の情報がどんどん足されていく。受け取った側は逆に、箱を開け、封筒を開け、便箋を読む、という順でほどく。

🔄 受け取る側は逆順にほどく

届いた側では、下の層から順にヘッダを読んで外していく。Ethernet ヘッダを見て自分あてか確認し、IP ヘッダで宛先を確かめ、TCP ヘッダでどのアプリ宛かを判断し、最後に本体のデータをアプリに渡す。これを「非カプセル化(デカプセル化)」という。

💡
ポイント各層は自分のヘッダだけを読み、上の層の中身には手を出さない。だからこそ層を分けて設計できる。ヘッダは『その層の宛名と注意書き』、ペイロードは『中身の荷物』と覚えるとよい。
つまずき一番外側には誤り検出用の値(Ethernet では FCS と呼ぶCRCの一種)が付き、途中でデータが壊れていないかを受信側がチェックできる。壊れていれば、その箱は捨てられる。

カプセル化が分かると、パケットキャプチャで1つのパケットを見たときに、Ethernet・IP・TCP・アプリと層ごとに情報が入れ子で並ぶ理由が腑に落ちる。

この項目に出てくる用語

カプセル化かぷせるか
データが層を降りるたびにヘッダで包んでいく仕組み。
ヘッダへっだ
各層がデータの前に付け足す、宛名や制御情報の部分。

▶ 学習アプリでこの続きを学ぶ・演習する