ネットワーク通信の仕組みを理解するためには、OSI参照モデルとTCP/IPモデルという2つの階層モデルを押さえておくことが不可欠です。これらのモデルは、複雑なネットワーク通信を論理的な層に分割し、各層がどのような役割を担っているかを明確にします。

本記事では、OSI参照モデルとTCP/IPモデルについて以下の内容を解説します。

  • OSI参照モデルの7層それぞれの役割と代表的なプロトコル
  • TCP/IPモデルの4層の構造と各層の機能
  • 両モデルの対応関係と違い
  • なぜネットワークが階層化されているのか

この記事を読むことで、ネットワーク通信の全体像を把握し、各層の役割を説明できるようになります。

前提条件

  • コンピュータネットワークの基本的な用語(IPアドレス、パケットなど)を聞いたことがある
  • Webブラウザでインターネットを利用した経験がある

特別な環境構築は不要です。概念の理解に重点を置いた内容となっています。

なぜネットワークは階層化されているのか

ネットワーク通信では、データを送信元から宛先へ届けるために多くの処理が必要です。これらの処理を1つの巨大なシステムとして実装すると、開発・保守・拡張が非常に困難になります。

階層化には以下のメリットがあります。

  1. 関心の分離: 各層は特定の機能に集中でき、他の層の詳細を知る必要がない
  2. 相互運用性: 同じ層のプロトコルであれば、実装を入れ替えても他の層に影響しない
  3. 開発効率の向上: 各層を独立して開発・テストできる
  4. トラブルシューティングの容易さ: 問題が発生した層を特定しやすい

たとえば、Webブラウザ(アプリケーション層)は、データがどのような経路を通って届くか(ネットワーク層)を意識する必要がありません。各層が自分の役割に専念することで、システム全体が効率的に動作します。

OSI参照モデルとは

OSI(Open Systems Interconnection)参照モデルは、1984年にISO(国際標準化機構)によって策定された通信の標準モデルです。ネットワーク通信を7つの層(レイヤー)に分割し、各層の役割を明確に定義しています。

以下の図は、OSI参照モデルの7層構造を示しています。

graph TB
    subgraph OSI参照モデル
        L7["第7層: アプリケーション層<br/>Application Layer"]
        L6["第6層: プレゼンテーション層<br/>Presentation Layer"]
        L5["第5層: セッション層<br/>Session Layer"]
        L4["第4層: トランスポート層<br/>Transport Layer"]
        L3["第3層: ネットワーク層<br/>Network Layer"]
        L2["第2層: データリンク層<br/>Data Link Layer"]
        L1["第1層: 物理層<br/>Physical Layer"]
    end
    
    L7 --> L6
    L6 --> L5
    L5 --> L4
    L4 --> L3
    L3 --> L2
    L2 --> L1

OSI参照モデル各層の役割

第1層: 物理層(Physical Layer)

物理層は、ビット列を電気信号、光信号、または電波として物理的に伝送する層です。

項目 内容
主な役割 ビットの物理的な伝送
データ単位 ビット(0と1)
代表的な規格 Ethernet(物理仕様)、USB、光ファイバー
代表的な機器 リピータ、ハブ、ケーブル

物理層では、ケーブルの種類、コネクタの形状、電圧レベル、伝送速度などの物理的な仕様を定義します。

データリンク層は、直接接続された機器間でのデータ転送を担当します。物理層で発生しうるエラーを検出・訂正する機能も持ちます。

項目 内容
主な役割 隣接ノード間の通信、エラー検出
データ単位 フレーム
代表的なプロトコル Ethernet(MAC)、PPP、ARP
代表的な機器 スイッチ、ブリッジ

データリンク層では、MACアドレス(物理アドレス)を使用して、同一ネットワーク内の機器を識別します。

第3層: ネットワーク層(Network Layer)

ネットワーク層は、異なるネットワーク間でのデータ転送(ルーティング)を担当します。

項目 内容
主な役割 論理アドレス指定、ルーティング
データ単位 パケット
代表的なプロトコル IP、ICMP、IPsec
代表的な機器 ルータ、L3スイッチ

ネットワーク層では、IPアドレス(論理アドレス)を使用して、世界中のどこにあるホストにもデータを届けることができます。

第4層: トランスポート層(Transport Layer)

トランスポート層は、エンドツーエンド(端末間)の通信を管理します。データの信頼性や順序制御を提供します。

項目 内容
主な役割 端末間の通信制御、信頼性の確保
データ単位 セグメント(TCP)、データグラム(UDP)
代表的なプロトコル TCP、UDP
代表的な機能 ポート番号による多重化

トランスポート層では、ポート番号を使用して、同一ホスト上の複数のアプリケーションを区別します。

第5層: セッション層(Session Layer)

セッション層は、通信セッションの確立・維持・終了を管理します。

項目 内容
主な役割 セッション管理、同期制御
データ単位 データ
代表的なプロトコル NetBIOS、RPC
代表的な機能 ダイアログ制御、チェックポイント

現代のインターネットでは、セッション層の機能はアプリケーション層に統合されていることが多いです。

第6層: プレゼンテーション層(Presentation Layer)

プレゼンテーション層は、データの表現形式を管理します。暗号化・復号化や、データ圧縮もこの層の役割です。

項目 内容
主な役割 データ形式の変換、暗号化
データ単位 データ
代表的な機能 文字コード変換、データ圧縮、暗号化
関連技術 SSL/TLS、JPEG、ASCII/Unicode

プレゼンテーション層により、異なるシステム間でデータ形式の違いを吸収できます。

第7層: アプリケーション層(Application Layer)

アプリケーション層は、ユーザーやアプリケーションが直接やり取りする層です。

項目 内容
主な役割 アプリケーションへのネットワークサービス提供
データ単位 メッセージ
代表的なプロトコル HTTP、HTTPS、FTP、SMTP、DNS、SSH
代表的なアプリ Webブラウザ、メールクライアント

ユーザーが日常的に利用するWebブラウジングやメール送受信は、すべてアプリケーション層のプロトコルを使用しています。

TCP/IPモデルとは

TCP/IPモデル(インターネット・プロトコル・スイート)は、現在のインターネットで実際に使用されている通信モデルです。OSI参照モデルより歴史が古く、1970年代にDARPA(米国防高等研究計画局)によって開発されました。

TCP/IPモデルは4つの層で構成されています。

graph TB
    subgraph TCP/IPモデル
        T4["アプリケーション層<br/>Application Layer"]
        T3["トランスポート層<br/>Transport Layer"]
        T2["インターネット層<br/>Internet Layer"]
        T1["ネットワークインターフェース層<br/>Network Interface Layer"]
    end
    
    T4 --> T3
    T3 --> T2
    T2 --> T1

TCP/IPモデル各層の役割

ネットワークインターフェース層(Network Interface Layer)

ネットワークインターフェース層は、OSI参照モデルの物理層とデータリンク層を統合した層です。

項目 内容
主な役割 物理的なネットワークへの接続
対応するOSI層 第1層(物理層)+ 第2層(データリンク層)
代表的なプロトコル Ethernet、Wi-Fi(IEEE 802.11)、PPP
代表的な機能 フレーム送受信、MACアドレス処理

この層は、使用するネットワーク技術(Ethernet、Wi-Fiなど)によって実装が異なります。

インターネット層(Internet Layer)

インターネット層は、OSI参照モデルのネットワーク層に相当します。

項目 内容
主な役割 パケットのルーティング、論理アドレス指定
対応するOSI層 第3層(ネットワーク層)
代表的なプロトコル IP(IPv4/IPv6)、ICMP、ARP
代表的な機能 IPアドレス処理、経路選択

IPプロトコルは、インターネット全体でデータを転送するための中核的な役割を果たします。

トランスポート層(Transport Layer)

トランスポート層は、OSI参照モデルのトランスポート層と同じ役割を持ちます。

項目 内容
主な役割 端末間の通信制御
対応するOSI層 第4層(トランスポート層)
代表的なプロトコル TCP、UDP
代表的な機能 ポート番号管理、信頼性制御(TCP)

TCPは信頼性の高い通信を提供し、UDPは軽量で高速な通信を提供します。

アプリケーション層(Application Layer)

アプリケーション層は、OSI参照モデルのセッション層、プレゼンテーション層、アプリケーション層を統合した層です。

項目 内容
主な役割 アプリケーションプロトコルの実装
対応するOSI層 第5層 + 第6層 + 第7層
代表的なプロトコル HTTP、HTTPS、FTP、SMTP、DNS、SSH、TLS
代表的な機能 Webアクセス、メール送受信、名前解決

TCP/IPモデルでは、セッション管理やデータ形式変換の機能もこの層に含まれます。

OSI参照モデルとTCP/IPモデルの対応関係

以下の図は、OSI参照モデルとTCP/IPモデルの対応関係を示しています。

graph TB
    subgraph OSI["OSI参照モデル(7層)"]
        direction TB
        O7["第7層: アプリケーション層"]
        O6["第6層: プレゼンテーション層"]
        O5["第5層: セッション層"]
        O4["第4層: トランスポート層"]
        O3["第3層: ネットワーク層"]
        O2["第2層: データリンク層"]
        O1["第1層: 物理層"]
    end
    
    subgraph TCP["TCP/IPモデル(4層)"]
        direction TB
        T4["アプリケーション層"]
        T3["トランスポート層"]
        T2["インターネット層"]
        T1["ネットワークインターフェース層"]
    end
    
    O7 -.-> T4
    O6 -.-> T4
    O5 -.-> T4
    O4 -.-> T3
    O3 -.-> T2
    O2 -.-> T1
    O1 -.-> T1

両モデルの主な違いは以下のとおりです。

観点 OSI参照モデル TCP/IPモデル
層の数 7層 4層
策定時期 1984年(ISO) 1970年代(DARPA)
目的 理論的な参照モデル 実装のためのモデル
上位層の扱い 3層に分離 1層に統合
下位層の扱い 2層に分離 1層に統合
現在の用途 教育・トラブルシューティング 実際のインターネット通信

OSI参照モデルは理論的なフレームワークとして教育やトラブルシューティングで使用され、TCP/IPモデルは実際のインターネット通信で使用されています。

データの流れ: カプセル化と非カプセル化

データが送信元から宛先へ届くまでに、各層でどのような処理が行われるかを見てみましょう。

カプセル化(送信時)

送信側では、上位層から下位層へデータが渡される際に、各層でヘッダー(制御情報)が付加されます。これをカプセル化といいます。

graph TB
    subgraph 送信側
        A["アプリケーション層<br/>データ"] --> B["トランスポート層<br/>TCPヘッダ + データ"]
        B --> C["インターネット層<br/>IPヘッダ + TCPヘッダ + データ"]
        C --> D["ネットワークインターフェース層<br/>フレームヘッダ + IPヘッダ + TCPヘッダ + データ + FCS"]
    end

各層で付加されるヘッダーの内容は以下のとおりです。

付加されるヘッダー 主な情報
トランスポート層 TCP/UDPヘッダー 送信元/宛先ポート番号、シーケンス番号
インターネット層 IPヘッダー 送信元/宛先IPアドレス、TTL
ネットワークインターフェース層 フレームヘッダー/FCS 送信元/宛先MACアドレス、エラー検出

非カプセル化(受信時)

受信側では、下位層から上位層へデータが渡される際に、各層でヘッダーが取り除かれます。これを非カプセル化といいます。

graph BT
    subgraph 受信側
        D["ネットワークインターフェース層<br/>フレームヘッダ + IPヘッダ + TCPヘッダ + データ + FCS"] --> C["インターネット層<br/>IPヘッダ + TCPヘッダ + データ"]
        C --> B["トランスポート層<br/>TCPヘッダ + データ"]
        B --> A["アプリケーション層<br/>データ"]
    end

このように、各層が自分の担当するヘッダーのみを処理することで、関心の分離が実現されています。

代表的なプロトコル一覧

各層で使用される代表的なプロトコルをまとめます。

アプリケーション層のプロトコル

プロトコル ポート番号 用途
HTTP 80 Webページの転送
HTTPS 443 暗号化されたWebページの転送
FTP 20, 21 ファイル転送
SMTP 25 メール送信
POP3 110 メール受信
IMAP 143 メール受信(サーバー上で管理)
DNS 53 ドメイン名の名前解決
SSH 22 暗号化されたリモートログイン
Telnet 23 リモートログイン(非暗号化)

トランスポート層のプロトコル

プロトコル 特徴 主な用途
TCP コネクション型、信頼性あり Web、メール、ファイル転送
UDP コネクションレス型、軽量 DNS、動画ストリーミング、オンラインゲーム

インターネット層のプロトコル

プロトコル 用途
IPv4 32ビットアドレスによるパケット転送
IPv6 128ビットアドレスによるパケット転送
ICMP エラー通知、診断(ping)
ARP IPアドレスからMACアドレスへの変換

実務での活用例

OSI参照モデルとTCP/IPモデルの理解は、以下のような場面で役立ちます。

ネットワークトラブルシューティング

問題が発生した層を特定することで、効率的にトラブルシューティングできます。

確認すべき項目 対応する層 確認コマンド例
ケーブル接続、リンクランプ 物理層 目視確認
MACアドレスの学習 データリンク層 arp -a
IPアドレス、経路 ネットワーク層 pingtraceroute
ポートの接続状態 トランスポート層 netstatss
アプリケーションの応答 アプリケーション層 curl、ブラウザ

セキュリティ対策

各層に対応したセキュリティ対策を講じることができます。

セキュリティ対策の例
ネットワークインターフェース層 MACアドレスフィルタリング
インターネット層 ファイアウォール、IPsec
トランスポート層 ポートフィルタリング
アプリケーション層 TLS/SSL、WAF(Web Application Firewall)

まとめ

本記事では、OSI参照モデルとTCP/IPモデルについて解説しました。重要なポイントを振り返ります。

  1. OSI参照モデルは7層で構成される理論的な参照モデルで、教育やトラブルシューティングで使用される
  2. TCP/IPモデルは4層で構成され、実際のインターネット通信で使用されている
  3. 階層化により、関心の分離、相互運用性、開発効率の向上が実現される
  4. データは送信時にカプセル化され、受信時に非カプセル化される
  5. 各層の役割を理解することで、ネットワークのトラブルシューティングやセキュリティ対策が効率的に行える

次回は「IPアドレスとサブネットマスクの基礎」について解説し、ネットワーク層でのアドレス指定の仕組みを詳しく見ていきます。

参考リンク