TCP/IPの4層モデルを学ぶ最短ルートは、用語の暗記から入るのではなく、1つのWebページが表示されるまでにデータがどの層をどう通過するかを順番に追いかけることです。層の名前だけを覚えても、通信が繋がらないときにどこを疑えばよいか判断できません。この記事では、アプリケーション層からネットワークインターフェース層までの役割を、OSI参照モデルとの対応関係や実際のカプセル化の流れとあわせて整理します。ネットワークの学習を始めたばかりの方や、資格試験の対策で仕組みを整理したい方を想定しています。

  • TCP/IPの4層とは
  • 各層の役割と仕組み
  • OSI参照モデルとの対応
  • 通信の流れを追う
  • つまずきやすい点
  • よくある質問

TCP/IPの4層とは

階層化の考え方

ネットワーク通信を1つの巨大な仕組みとして扱うと、設計もトラブル対応も複雑になりすぎます。そこでTCP/IPでは通信処理をいくつかの独立した役割に分割し、上下の層だけが決められた形式でやり取りする設計を採用しています。ある層で仕様変更があっても、隣接する層とのインターフェースさえ保てば他の層に影響しません。無線LANから有線LANに切り替えても、アプリケーションのプログラムを書き換える必要がないのはこの分割設計のおかげです。

4層モデルの全体像

TCP/IPモデルは、上からアプリケーション層・トランスポート層・インターネット層・ネットワークインターフェース層の4層で構成されます(出典: IETF RFC 1122)。データを送信する側ではアプリケーション層から下位層へと処理が進み、受信する側では逆にネットワークインターフェース層から上位層へと処理が進みます。この上り下りの向きを押さえておくと、後述するカプセル化の流れが理解しやすくなります。

各層の役割と仕組み

アプリケーション層の働き

アプリケーション層は、ユーザーが直接触れるソフトウェアが使う層です。Webブラウザが使うHTTPやHTTPS、メール送信に使うSMTP、ファイル転送に使うFTPなどのプロトコルがここに含まれます。HTTPの仕様はIETFのRFC 9110としてまとめられており(出典: IETF RFC 9110)、リクエストとレスポンスの形式が細かく規定されています。この層で決まるのは「何を伝えたいか」というデータの中身と形式であり、どの経路で届けるかはこの層の関知するところではありません。

トランスポート層の役割

トランスポート層は、アプリケーション同士の通信を橋渡しする層です。代表的なプロトコルはTCPとUDPの2つです。TCPは送達確認や再送制御を行い、データの欠落や順序の入れ替わりを防ぎます(出典: IETF RFC 793)。UDPはこうした確認処理を持たない代わりに、遅延の少ない通信を実現します。動画配信や音声通話でUDPが選ばれるのは、多少のデータ欠落よりも遅延の少なさを優先する設計判断があるためです。この層ではポート番号を使い、同じ端末上で動く複数のアプリケーションを区別します。

インターネット層の仕組み

インターネット層は、異なるネットワーク間でデータを届けるための住所管理を担当します。中心となるのはIPで、送信元と宛先をIPアドレスで識別します(出典: IETF RFC 791)。ルーターはこの層の情報をもとに、次にどの機器へデータを転送すべきかを判断します。到達確認や経路の異常検知にはICMPが使われ、pingコマンドの応答もこのICMPによって成立しています。

ネットワークIF層とは

ネットワークインターフェース層は、実際に電気信号や光信号、電波としてデータを物理的に送り出す層です。イーサネットケーブルを使った有線LANやWi-Fiによる無線LANの規格がここに含まれます。同じLAN内の機器同士を識別する際にはMACアドレスが使われ、IPアドレスとMACアドレスの対応付けにはARPというプロトコルが使われます。上位層でどれだけ正確にデータを組み立てても、この層で信号が届かなければ通信全体が成立しません。

OSI参照モデルとの対応

7層と4層の対応表

ネットワークの学習では、国際標準化機構が定めたOSI参照モデルの7層構造もあわせて登場します。両者は設計思想が異なるため一対一では対応しませんが、おおよその関係は次の表のとおりです。

TCP/IP 4層対応するOSI階層代表的なプロトコル
アプリケーション層アプリケーション層・プレゼンテーション層・セッション層HTTP・HTTPS・SMTP・FTP
トランスポート層トランスポート層TCP・UDP
インターネット層ネットワーク層IP・ICMP・ARP
ネットワークIF層データリンク層・物理層イーサネット・Wi-Fi

なぜ4層で語られるか

OSI参照モデルは通信の役割を厳密に7段階へ分けた理論的な枠組みです。一方でTCP/IPは実際にインターネットで運用されながら発展してきた実装ベースの体系であり、上位3層をまとめて1つの層として扱っています。資格試験ではOSIの7層が問われる場面が多いものの、実務でパケットキャプチャを解析するときはTCP/IPの4層で考えるほうが状況を把握しやすい場面が多くあります。両方を覚えるのではなく、対応関係を1枚の表で押さえておけば十分です。

通信の流れを追う

カプセル化のプロセス

送信側では、上位層で作られたデータに下位層がそれぞれヘッダー情報を付け加えていきます。この処理をカプセル化と呼びます。アプリケーション層のデータにトランスポート層がポート番号などを含むヘッダーを付与し、インターネット層がIPアドレスの情報を、ネットワークインターフェース層がMACアドレスの情報をさらに付け加えます。受信側では逆の順序でヘッダーが1つずつ取り除かれ、最終的にアプリケーション層へ元のデータが渡ります。この対称的な構造こそが、階層化設計の核心部分です。

Webページ表示の例

ブラウザにURLを入力してからページが表示されるまでの流れで考えると分かりやすくなります。まずアプリケーション層でHTTPリクエストが組み立てられ、トランスポート層でTCPによる接続が確立されます。次にインターネット層で宛先サーバーのIPアドレスに向けた経路が決定され、ネットワークインターフェース層で実際の信号として送り出されます。サーバー側では同じ処理が逆向きに実行され、HTMLデータがブラウザまで届けられます。数ミリ秒から数百ミリ秒の間に、この4層すべてを経由するやり取りが何度も発生しています。

つまずきやすい点

ポート番号の混同

IPアドレスは機器そのものを指し示す住所であるのに対し、ポート番号はその機器上で動く個々のアプリケーションを区別する番号です。HTTPは80番、HTTPSは443番というように、多くのアプリケーション層プロトコルには標準のポート番号が割り当てられています。IPアドレスとポート番号の役割を混同すると、ファイアウォールの設定やサーバーの疎通確認でつまずく原因になります。

TCPとUDPの使い分け

TCPとUDPのどちらを選ぶかは、通信の性質によって決まります。ファイル転送やWebページの表示のように、データが1バイトでも欠けると意味を成さない通信にはTCPが向いています。反対に、リアルタイム性が優先されるビデオ通話やオンラインゲームの一部の通信では、多少のパケット欠落を許容してでも遅延を抑えるUDPが選ばれます。どちらが優れているかという話ではなく、用途に応じた設計上の選択であると捉えると理解しやすくなります。

障害切り分けの視点

通信トラブルが起きたとき、4層モデルを意識すると原因の切り分けがしやすくなります。pingが通らなければインターネット層より下を、pingは通るのにWebページが開かなければトランスポート層より上を疑う、という順序で確認を進められます。tracerouteコマンドは経路上のどの地点で応答が途絶えているかを可視化し、netstatコマンドは自端末で使われているポートの状況を確認できます。コマンドのオプションやセキュリティ設定はOSやバージョンによって異なるため、実行前には利用しているOSの公式ドキュメントを確認し、設定変更は自己の責任で行う必要があります。

よくある質問

Q1. TCP/IPとOSIどちらを先に覚えるべきですか

資格試験ではOSIの7層が出題されやすく、実務のログ解析ではTCP/IPの4層で考える場面が多くなります。どちらか一方だけを覚えるのではなく、本記事の対応表のように紐づけて理解しておくと両方の場面で対応できます。

Q2. ポート番号は自由に決められますか

0番から65535番までの範囲で指定できますが、0番から1023番はHTTPやSMTPなど標準プロトコル用に予約された番号です。独自のアプリケーションを開発する場合は、これらの予約範囲を避けて1024番以降から選ぶのが一般的です。

Q3. IPアドレスとMACアドレスは何が違いますか

IPアドレスはネットワークをまたいだ経路選択に使われる論理的な住所で、設定によって変更できます。MACアドレスはネットワークインターフェース機器ごとに割り当てられた物理的な識別番号で、通常は製造時点で固定されています。

Q4. なぜHTTPS通信でもTCPが使われますか

HTTPSはHTTP通信をTLSで暗号化した上でTCPの上に乗せる仕組みです。暗号化はアプリケーション層とトランスポート層の間で行われる処理であり、送達確認や再送制御を担うTCPの役割自体は変わりません。

Q5. カプセル化とパケットは同じ意味ですか

パケットは主にインターネット層で扱われるデータの単位を指す言葉です。一方カプセル化は、各層がヘッダーを付け加えながらデータを次の層へ渡していく処理全体を指すため、両者は同じ概念ではなく包含関係にあります。

Q6. 4層モデルの学習にpingとtraceroute以外に使えるコマンドはありますか

ネットワークインターフェースの状態確認にはipconfigやifconfig、DNSの名前解決確認にはnslookupやdigが役立ちます。いずれもOSによってオプションの書式が異なるため、公式マニュアルで自分の環境に合った使い方を確認してください。

関連記事

まとめ

TCP/IPの4層モデルは、アプリケーション層・トランスポート層・インターネット層・ネットワークインターフェース層という役割分担によって、複雑な通信処理を整理する枠組みです。送信時にはヘッダーが1つずつ付け加えられ、受信時には逆順に取り除かれるというカプセル化の対称性を押さえておくと、通信の全体像が具体的にイメージできるようになります。障害対応の場面では、どの層に原因があるかを順序立てて確認することで、闇雲な試行錯誤を避けられます。まずは自分が普段使っているブラウザやメールソフトの通信を、4層のどこを通っているか具体的に当てはめながら確認してみてください。

【編集・制作ポリシー】
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。 編集ポリシーはこちら
ABOUT ME
たから
フリーランスIT講師/エンジニア。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900//サーティファイC言語/情報処理技術者 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営