通信の階層モデル — 役割ごとの層に分ける

中級の解説は準備中のため、中級の内容を表示しています。

概要 — まず全体をつかむ

初級では通信を「役割ごとの層に分ける」と捉えました。中級では、代表的な2つのモデル——OSI 7層TCP/IP 4層——の対応と、層をまたぐときのカプセル化を見ます。

詳細 — 1段階ずつ追う

これは何をする係?

階層モデルには、教科書的なOSI参照モデル(7層)と、実際のインターネットに沿ったTCP/IPモデル(4層)があります。層の数は違いますが、指しているものは対応します。

アニメーション『OSI 7層とTCP/IP 4層の対応』を開く
通信を「役割ごとの層」に分ける上位の層は、下位が有線か無線かを気にしない。下を差し替えても上はそのまま。OSI 参照モデル(7層)TCP/IP モデル(4層)アプリケーションプレゼンテーションセッショントランスポートネットワークデータリンク物理アプリケーションHTTP・DNS などトランスポートTCP・UDPインターネットIPリンクEthernet・Wi-Fi上位下位OSIの上位3層(アプリ・プレゼン・セッション)は、TCP/IPでは1つの「アプリ層」にまとまる

代表的なプロトコルを層ごとに押さえると、地図が一気に読めます。

  • アプリ層HTTP(Web)・DNS・SMTP など、アプリ同士の会話の約束
  • トランスポート層TCP/UDP。相手まで確実に/速く届ける担当(3ウェイハンドシェイクはTCPの話)
  • ネットワーク(インターネット)層IP。どこへ届けるかの住所と経路
  • リンク層Ethernet/Wi-Fi。目の前の1区間を実際に運ぶ

対応の勘所は、OSIの上位3層がTCP/IPの1つのアプリ層にまとまること、下位2層がリンク層にまとまることです。

登場人物メモ:

  • ※1 OSI参照モデル — 通信を7層に細かく分けた、理解・整理のための標準モデル
  • ※2 TCP/IPモデル — 実際のインターネットが従う、4層の実務的なモデル
  • ※3 ヘッダ — 各層が付け足す「宛先や制御の情報」の見出し部分

カプセル化

層をまたぐとき、データはどう変わるのか。鍵はカプセル化です。送信側では、下の層へ渡すたびに、その層のヘッダで包んでいきます。

アニメーション『カプセル化(層ごとに包む)』を開く
下の層へ行くほど、ヘッダで包まれる(入れ子)内側=上の層(アプリ)/外側=下の層(イーサ)。同じデータが層ごとに包み直される。④ イーサ層 / フレーム③ IP層 / パケット② TCP層 / セグメント① アプリ層 / データイーサヘッダIPヘッダTCPヘッダFCS送信:アプリ → TCP → IP → イーサ と下るほど、各層がヘッダで包む(カプセル化)受信:イーサ → IP → TCP → アプリ と上るほど、各層がヘッダをはがす(非カプセル化)
  1. アプリがデータを作る(例:HTTPの中身)
  2. トランスポート層がTCPヘッダを付け、セグメントにする
  3. ネットワーク層がIPヘッダを付け、パケットにする
  4. リンク層がヘッダを付け、フレームにして送り出す

受信側は、これを逆順にはがしていきます(非カプセル化)。各層は、相手側の同じ層が付けたヘッダだけを読みます。だから下の層がどう運んだかを、上の層は気にしなくてよいのです。

なぜこの分業が効くのか

層に分ける最大の恩恵は、独立して差し替えられることです。

  • リンク層を有線からWi-Fiに変えても、上のIPやHTTPはそのまま
  • 同じIPの上で、TCP(確実)とUDP(速い)を用途で選べる
  • アプリを新しくしても、下の運搬層はいじらなくてよい

この独立性のおかげで、通信は部品ごとに進化できます。実際の機器では、NICがリンク層と物理の橋渡しを担い、ネットワーク全体図の各機器がそれぞれ担当の層で仕事をしています。

⚠️ うまくいかないとき

  • 層の取り違え — 「届かない」原因がIP(住所)かリンク(配線)か、層で切り分ける
  • MTU超過 — 1フレームに載る上限を超えると分割が要る。リンク層の制約が上に効く例
  • モデルは地図 — OSIとTCP/IPは分け方が違うだけ。現実がどちらかにきっちり従うわけではない
  • ヘッダの分だけ増える — カプセル化で毎回ヘッダが付くので、運ぶ総量は中身より少し大きくなる

関連する知識

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. カプセル化とは何を指す?

2. OSIモデルとTCP/IPモデルの対応で正しいのは?

3. トランスポート層でTCPヘッダを付けたデータの単位を何と呼ぶ?

4. 受信側でヘッダを外していく「非カプセル化」の説明として正しいのは?

5. 同じIPの上でTCPとUDPを用途で選び分けられるのは、階層モデルのどんな性質のおかげ?

6. 次のうち「アプリ層」に属するプロトコルの組み合わせはどれ?

7. リンク層がヘッダを付けて送り出す、最終的な送信単位を何と呼ぶ?(カタカナ)

8. 確認を省いて速さを優先する、トランスポート層のプロトコルを英字3文字で答えてください。