OSI 7層モデルを徹底解説:仕組み・実践・トラブルシューティング

はじめに:7層モデルとは何か

OSI参照モデル、通称7層モデルは、国際標準化機構(ISO)によって定義されたネットワーク通信の概念モデルです。ネットワーク処理を七つの論理的な層に分割することで、設計や実装、相互接続の理解を容易にします。本稿では各層の役割、具体的なプロトコルや技術例、パケットの流れやトラブルシューティング、セキュリティ観点での留意点まで深掘りして解説します。

OSI 7層の全体像

7層は下から順に物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層です。下位層はビットやフレームなど低レベルの転送を、上位層はアプリケーション間のやり取りやデータ表現を担当します。パケットが送信元から目的地へ向かう際、各層でヘッダ(場合によってはフッタ)が付与されることを『カプセル化』と呼びます。

物理層(Layer 1):ビットの伝送

物理層は電気信号、光パルス、無線波などの媒体上でビット列を物理的に伝送する役割を担います。ケーブルの種類(ツイストペア、同軸、光ファイバ)、電気特性、コネクタ形状、伝送速度、物理的なピン割り当てなどがここに含まれます。具体例としてはイーサネットのPHY、RS-232、802.11の物理仕様などがあります。問題としては断線、コネクタ不良、クロストーク、SNR低下、伝送範囲の限界があります。

データリンク層(Layer 2):フレームと局所的通信

データリンク層は隣接ノード間の信頼性あるフレーム転送を実現します。フレームの整列、エラーチェック(CRC)、再送制御、MACアドレスを用いたローカルアドレッシング、フロー制御などが含まれます。代表的な技術はイーサネット(IEEE 802.3)、無線LANのMAC(IEEE 802.11)、PPP、スイッチング、VLAN(IEEE 802.1Q)などです。レイヤ2の攻撃としてはARPスプーフィング、MACフラッディング、VLANホッピングなどが知られます。

ネットワーク層(Layer 3):ルーティングと論理アドレス

ネットワーク層は異なるネットワーク間でパケットを転送するための機能を提供します。主にIPアドレッシング、経路選択、パケットの分割と再組立て(フラグメンテーション)、ICMPなどが含まれます。代表的プロトコルはIPv4、IPv6、ICMP、ルーティングプロトコル(OSPF、BGP、RIP)です。NATは厳密にはネットワーク層でIPアドレスを書き換える機能として振る舞い、ファイアウォールもレイヤ3でのフィルタリングを行います。トラブルの指標としてはping(ICMP)、traceroute(TTLを用いる)があります。

トランスポート層(Layer 4):信頼性とポート管理

トランスポート層はホスト間のデータ伝送におけるエンドツーエンドの信頼性、順序制御、フロー制御、コネクション管理を担います。代表的なプロトコルはTCPとUDPです。TCPは三者間ハンドシェイクによるコネクション確立、シーケンス番号、確認応答(ACK)、再送、ウィンドウ制御、輻輳制御(TCP RenoやCUBICなど)を通じて信頼性を提供します。UDPはコネクションレスで軽量、リアルタイムアプリケーションやDNS、DHCPなどで利用されます。ポート番号によりアプリケーションを識別し、ファイアウォールやロードバランサはここでの情報を活用します。

セッション層(Layer 5):対話の管理

セッション層はアプリケーション間の対話(セッション)を確立、管理、終了する責任があります。チェックポイントの設定や再同期機能、対話の同期などを提供します。現代の多くのネットワーク実装ではセッション層の機能はトランスポート層やアプリケーション層に吸収されることが多く、単独のプロトコルとして明確に使われることは減少しています。例としてはRPC、NetBIOSセッションやTLSセッション管理の一部が挙げられます。

プレゼンテーション層(Layer 6):表現と変換

プレゼンテーション層はデータの表現形式の変換を行います。文字コード変換(UTF-8, UTF-16)、データ圧縮(gzip, deflate)、暗号化や復号(TLSの一部機能)、シリアライズ/デシリアライズ(JSON, XMLの表現)などがここに含まれます。アプリケーションが互いにデータを正しく解釈するための取り決めを担当するため、異なるプラットフォーム間の互換性確保に重要です。

アプリケーション層(Layer 7):ユーザとアプリケーションの窓口

アプリケーション層はエンドユーザまたはアプリケーションが直接利用するプロトコルとサービスを提供します。HTTP、HTTPS、SMTP、IMAP、POP3、FTP、SSH、DNSなどが代表例です。この層ではプロトコル仕様に基づいたリクエストとレスポンスがやり取りされ、認証、セッション管理、エラー処理などが行われます。レイヤ7の脅威としてはSQLインジェクションやクロスサイトスクリプティング、アプリケーション層DDoSなどがあり、WAF(Web Application Firewall)や入力検証による対策が重要です。

OSIモデルとTCP/IPモデルの対比

実運用でよく参照されるTCP/IPモデルは4層または5層構成で、OSIモデルとは階層名称が異なりますが機能的には対応します。大まかに、アプリケーション層(TCP/IP)=アプリケーション/プレゼンテーション/セッション(OSI)、トランスポート層は同等、インターネット層(TCP/IP)=ネットワーク層、ネットワークアクセス層(TCP/IP)=データリンク+物理層です。実務ではTCP/IPモデルに基づくプロトコルが主流ですが、OSIモデルは教育や設計のフレームワークとして有用です。

パケットの流れとカプセル化の実例

送信側のアプリケーションがHTTPリクエストを生成すると、プレゼンテーション層で必要なエンコードや圧縮、暗号化が行われ、トランスポート層でTCPセグメントにシーケンス番号とポートが付与されます。さらにネットワーク層でIPヘッダが付加され、データリンク層でイーサネットフレームにMACアドレスとCRCが追加され、物理層でビットとして送信されます。受信側では逆順でデカプセル化が行われ、最終的にアプリケーションがデータを受け取ります。

トラブルシューティングの実践テクニック

ネットワーク問題を層ごとに切り分けることが有効です。物理層はケーブル、LED、インターフェース統計を確認、データリンク層はスイッチのMACテーブルやVLAN設定、ARPテーブルを調査します。ネットワーク層はIPアドレッシング、ルーティングテーブル、ICMP応答を確認、トランスポート層はポート開放、コネクション状態、再送やウィンドウサイズを解析します。パケットキャプチャ(Wireshark、tcpdump)で各層のヘッダを確認すると根本原因の特定が早まります。

セキュリティとレイヤごとの防御策

各層での攻撃と防御は異なります。物理層では物理的セキュリティ、データリンク層ではポートセキュリティやARP監視、ネットワーク層ではルーティングセキュリティ(BGPフィルタリング)やIPスプーフィング対策、トランスポート層ではDDoS緩和、接続制御、アプリケーション層では入力検証やWAFの導入が効果的です。TLSによる暗号化はプレゼンテーション/セッション層での保護として重要です。

運用で押さえるべきポイント

  • モニタリングは複数層で行う:リンクエラーからアプリケーション応答まで一貫して監視する。
  • MTUとフラグメンテーション:パスMTU問題は性能劣化や接続失敗の原因になるため注意する。
  • ログとパケットキャプチャの併用:ログはイベントを示し、パケットキャプチャで実際の通信内容を検証する。
  • 設計ではレイヤ毎の責務を明確に:例えば暗号化はプレゼンテーション層だが、運用ではアプリケーション設計に組み込む。

まとめ

OSI 7層モデルは現実のプロトコル実装と完全に一致するわけではありませんが、ネットワークの設計、トラブルシューティング、セキュリティ対策を体系的に考えるための強力な道具です。各層の責務と代表的な技術を理解することで、現場での問題切り分けや性能改善、堅牢な設計が可能になります。

参考文献

ISO 7498: Information processing systems — Open Systems Interconnection — Basic Reference Model

RFC 1122: Requirements for Internet Hosts — Communication Layers

RFC 791: Internet Protocol

RFC 793: Transmission Control Protocol

Wireshark — Network protocol analyzer