ネットワーク通信を学ぶ際に欠かせないのが「プロトコルの階層」という概念です。
複数のプロトコルが役割ごとに層を形成し、それらが連携することでインターネット通信が実現されています。
この仕組みを理解するために広く使われるのが「OSI参照モデル」であり、TCP/IPとの関係を把握することがネットワークの理解に繋がります。
本記事では、プロトコルの階層の意味・OSI参照モデルとの関係・TCP/IPスタックの構造・各層の役割について詳しく解説していきます。
プロトコルの階層とは何か?基本的な考え方
それではまず、プロトコルの階層の基本的な考え方について解説していきます。
プロトコルの階層とは、ネットワーク通信という複雑な処理を複数の役割に分割し、それぞれを独立したプロトコルの「層(レイヤー)」として定義した構造のことです。
階層構造を採用する最大のメリットは「役割の分離」にあります。
各層が独立した責任を持つことで、ある層のプロトコルを変更しても他の層に影響を与えずに済む柔軟な設計が実現できます。
たとえばWi-Fiから有線LANに切り替えても、HTTPやTCPは変更なく動作し続けます。
これはネットワークアクセス層(Wi-Fi・有線)と上位層(TCP・HTTP)が独立しているからです。
階層化の考え方:複雑さを分割して管理する
階層化の発想は、複雑な問題を小さな問題に分割して解決するというソフトウェア設計の基本原則から来ています。
ネットワーク通信を一つの巨大なプロトコルで実現しようとすると、変更・拡張・トラブルシューティングが非常に困難になります。
階層化することで、各層は自分の責任範囲だけに集中でき、上位層・下位層の詳細を知る必要がなくなります。
これを「抽象化(abstraction)」と呼び、優れたシステム設計の重要な原則の一つです。
OSI参照モデルの7層の概要
プロトコルの階層を体系的に定義したものがOSI参照モデルです。
| 層番号 | 層の名前 | 主な役割 | 代表的なプロトコル |
|---|---|---|---|
| L7 | アプリケーション層 | ユーザーアプリとの直接的なやり取り | HTTP・HTTPS・DNS・SMTP・FTP |
| L6 | プレゼンテーション層 | データ形式変換・暗号化・圧縮 | TLS・SSL・JPEG・ASCII |
| L5 | セッション層 | 通信セッションの管理 | NetBIOS・RPC・SIP |
| L4 | トランスポート層 | エンドツーエンドの通信制御 | TCP・UDP・QUIC |
| L3 | ネットワーク層 | ルーティング・IPアドレス管理 | IP・ICMP・OSPF・BGP |
| L2 | データリンク層 | 隣接ノード間の通信・MACアドレス | Ethernet・Wi-Fi・PPP |
| L1 | 物理層 | ビットの物理的な送受信 | ケーブル規格・光ファイバー |
OSI参照モデルとTCP/IPモデルの関係
続いては、OSI参照モデルとTCP/IPモデルの関係を確認していきます。
実際のインターネット通信ではOSI参照モデルよりも「TCP/IPモデル」が実装の基準として使われています。
TCP/IPモデルはOSIの7層を実用的な4層にまとめた形で定義されており、OSIが「理論・学習・設計の共通言語」であるのに対し、TCP/IPは「インターネット実装の実用標準」という役割分担があります。
TCP/IPの4層とOSI7層の対応関係
TCP/IP:アプリケーション層 ← OSI:第7層(アプリ)・第6層(プレゼンテーション)・第5層(セッション)
TCP/IP:トランスポート層 ← OSI:第4層(トランスポート)
TCP/IP:インターネット層 ← OSI:第3層(ネットワーク)
TCP/IP:ネットワークアクセス層 ← OSI:第2層(データリンク)・第1層(物理)
OSIが7層で細かく定義するプレゼンテーション・セッション層の機能は、TCP/IPではアプリケーション層に統合されています。
これはTCP/IPが実装の効率を優先したシンプルなモデルであるためです。
各層間のデータの受け渡し:カプセル化とデカプセル化
プロトコルの階層において、データが上位層から下位層へ渡される際に「カプセル化」が行われます。
各層はデータを受け取ったとき、自分の層のヘッダーを付加して下位層に渡します。
受信側ではこの逆の「デカプセル化」が行われ、各層でヘッダーを取り除きながら上位層にデータを渡します。
カプセル化のプロセスを具体的に見てみましょう。
ブラウザがHTTPリクエストを生成する(アプリケーション層)と、TCPがヘッダー(ポート番号・シーケンス番号)を付加してセグメントにします(トランスポート層)。
次にIPがヘッダー(送受信IPアドレス)を付加してパケットにし(インターネット層)、Ethernetがフレームヘッダー(MACアドレス)を付加してフレームにします(ネットワークアクセス層)。
最終的に電気信号・光信号・電波として物理的に送信されます。
このカプセル化により、各層は自分の役割だけに集中でき、他の層の実装の詳細を知る必要がありません。
各層のプロトコルの詳細と役割
続いては、各層の代表的なプロトコルの詳細と役割を確認していきます。
アプリケーション層のプロトコル群
アプリケーション層はユーザーが最も身近に触れる層で、Webブラウザ・メール・ファイル転送など様々なサービスを支えるプロトコルが存在します。
HTTPはWebページの閲覧に使われ、「リクエスト→レスポンス」の通信モデルで動作します。
DNSはドメイン名をIPアドレスに変換するシステムで、インターネットの「電話帳」とも呼ばれます。
SSHはリモートサーバーに安全に接続するためのプロトコルで、エンジニアが日常的に使用する重要なツールです。
トランスポート層のプロトコル:TCPとUDP
トランスポート層はポート番号によってアプリケーションを識別し、通信の品質を制御する重要な層です。
TCPは信頼性を保証するコネクション型プロトコルで、Webブラウジング・メール・ファイル転送などに使われます。
UDPは速度優先のコネクションレス型プロトコルで、動画ストリーミング・オンラインゲーム・DNS(名前解決)などに使われます。
近年注目されているQUICはUDPの上にTCPの信頼性と暗号化を実装したプロトコルで、HTTP/3の基盤として採用されており次世代のWeb通信の標準となっています。
ネットワーク層・データリンク層・物理層の役割
ネットワーク層ではIPがグローバルなパケット転送とルーティングを担います。
ICMPはpingなどのネットワーク診断に使われ、ARP(Address Resolution Protocol)はIPアドレスからMACアドレスを解決します。
データリンク層ではEthernetとWi-Fiが同一LAN内の通信を担当し、MACアドレスによるデバイス識別を行います。
物理層では電気信号・光信号・電波という形でビットが物理的に伝送されます。
プロトコルの階層を実務で活用する場面
続いては、プロトコルの階層の考え方を実務でどのように活用するかを確認していきます。
プロトコルの階層モデルは、ネットワークエンジニア・インフラエンジニア・アプリケーション開発者の日常業務に直結する知識です。
トラブルシューティングへの活用
ネットワーク障害が発生した際、階層モデルを使った「ボトムアップ」または「トップダウン」の切り分けが効果的です。
「pingは通るのにHTTPが届かない」という状況ならL3(IP)は正常でL7(アプリケーション)に問題があると判断できます。
どの層まで正常に機能しているかを確認することで、問題の原因を素早く特定できるのが階層モデルの強みです。
セキュリティ設計への応用
セキュリティ設計においても、階層モデルは重要な役割を果たします。
ファイアウォールはL3・L4レベルでのパケットフィルタリングを行い、WAF(Webアプリケーションファイアウォール)はL7レベルでのHTTPトラフィック監視を行います。
TLSによる暗号化はL6相当の機能として、アプリケーション層の通信を安全にするために使われます。
各層でのセキュリティ対策を組み合わせる「多層防御」の考え方は、現代のセキュリティ設計の基本原則となっています。
まとめ
本記事では、プロトコルの階層の意味・OSI参照モデルの7層・TCP/IPモデルとの関係・カプセル化の仕組み・各層の代表プロトコル・実務への活用について解説してきました。
プロトコルの階層化はネットワーク通信の複雑さを管理可能な単位に分割することで、柔軟性・保守性・相互運用性を実現する優れた設計思想です。
OSI参照モデルとTCP/IPモデルを両方理解した上で、それぞれの長所を活かして活用することが、ネットワークを深く理解するための近道となるでしょう。