Skip to content

OSI参照モデルとTCP/IPモデルの違い

ネットワークの学習において、OSI参照モデルTCP/IPモデルは最も基本的かつ重要な概念です。この記事では両モデルの構造、対応関係、そして実務での使い分けについて解説します。

全体像:2つのモデルの位置づけ

Section titled “全体像:2つのモデルの位置づけ”
graph TB
    subgraph 理論モデル
        OSI[OSI参照モデル<br/>7層構造]
    end

    subgraph 実装モデル
        TCPIP[TCP/IPモデル<br/>4層構造]
    end

    OSI -->|理論的な指針| 標準化[プロトコル設計の<br/>標準化に貢献]
    TCPIP -->|実際に動作| インターネット[現在の<br/>インターネット]

    標準化 -.->|影響| インターネット

    style OSI fill:#e3f2fd
    style TCPIP fill:#e8f5e9
    style 標準化 fill:#fff3e0
    style インターネット fill:#fce4ec
  • OSI参照モデル: ISO(国際標準化機構)が策定した理論的な参照モデル
  • TCP/IPモデル: 実際のインターネットで使われている実装ベースのモデル

名称役割代表的なプロトコル/機器
7アプリケーション層ユーザーに直接サービスを提供HTTP, FTP, SMTP, DNS
6プレゼンテーション層データ形式の変換・暗号化JPEG, MPEG, SSL/TLS
5セッション層通信の開始・維持・終了の管理NetBIOS, RPC
4トランスポート層エンドツーエンドの信頼性確保TCP, UDP
3ネットワーク層論理アドレスによる経路選択IP, ICMP, ARP
2データリンク層物理アドレスによる隣接ノード間通信Ethernet, PPP, スイッチ
1物理層ビット列の電気信号への変換ケーブル, ハブ, リピータ

名称役割代表的なプロトコル
4アプリケーション層アプリケーション間の通信HTTP, FTP, SMTP, DNS, SSH
3トランスポート層ホスト間の通信制御TCP, UDP
2インターネット層ネットワーク間のルーティングIP, ICMP, ARP
1ネットワークインターフェース層物理的なデータ転送Ethernet, Wi-Fi

OSI参照モデル (7層)TCP/IPモデル (4層)
アプリケーション層アプリケーション層
プレゼンテーション層アプリケーション層
セッション層アプリケーション層
トランスポート層トランスポート層
ネットワーク層インターネット層
データリンク層ネットワークインターフェース層
物理層ネットワークインターフェース層
  1. OSIの上位3層(5〜7層)→ TCP/IPのアプリケーション層

    • TCP/IPでは機能ごとの細分化を行わず、1つの層にまとめている
  2. トランスポート層は1対1対応

    • 両モデルで同じ役割・同じプロトコル(TCP/UDP)
  3. OSIのネットワーク層 → TCP/IPのインターネット層

    • 名称は異なるが、IPによるルーティングという役割は同一
  4. OSIの下位2層(1〜2層)→ TCP/IPのネットワークインターフェース層

    • TCP/IPでは物理的な実装詳細を1つの層として抽象化

データが送信される際、各層でヘッダが付加されていきます。

graph TB
    subgraph 送信側
        direction TB
        D[データ]
        S1[セグメント<br/>TCPヘッダ + データ]
        P1[パケット<br/>IPヘッダ + セグメント]
        F1[フレーム<br/>Ethernetヘッダ + パケット + FCS]
        B1[ビット列<br/>電気信号に変換]
    end

    D -->|トランスポート層| S1
    S1 -->|インターネット層| P1
    P1 -->|ネットワークIF層| F1
    F1 -->|物理媒体| B1
graph TB
    subgraph frame["フレーム構造(上から順に付加)"]
        EH["Ethernetヘッダ<br/>([[MACアドレス]])"]
        IH["IPヘッダ<br/>([[IPアドレス]])"]
        TH["TCPヘッダ<br/>([[ポート番号]])"]
        DATA["データ<br/>(ペイロード)"]
        FCS["FCS<br/>(誤り検出)"]
    end

    EH --> IH --> TH --> DATA --> FCS

    style EH fill:#f3e5f5
    style IH fill:#e8f5e9
    style TH fill:#fff3e0
    style DATA fill:#e1f5fe
    style FCS fill:#f3e5f5
PDU名付加情報
データアプリケーション層-
セグメントトランスポート層ポート番号、シーケンス番号など
パケットインターネット層送信元/宛先IPアドレスなど
フレームネットワークIF層MACアドレス、FCS(誤り検出)など

Webページを閲覧する例で、両モデルでの通信の流れを見てみましょう。

sequenceDiagram
    participant Client as クライアント
    participant DNS as DNSサーバー
    participant Web as Webサーバー

    Note over Client,Web: アプリケーション層
    Client->>DNS: [[DNS]]クエリ(example.comのIP?)
    DNS-->>Client: [[DNS]]レスポンス(93.184.216.34)

    Note over Client,Web: トランスポート層([[TCP]] 3ウェイハンドシェイク)
    Client->>Web: SYN
    Web-->>Client: SYN+ACK
    Client->>Web: ACK

    Note over Client,Web: アプリケーション層([[HTTP]])
    Client->>Web: [[HTTP]] GET /index.html
    Web-->>Client: [[HTTP]] 200 OK + HTMLデータ

    Note over Client,Web: トランスポート層(コネクション終了)
    Client->>Web: FIN
    Web-->>Client: FIN+ACK
    Client->>Web: ACK

比較項目OSI参照モデルTCP/IPモデル
策定組織ISO(国際標準化機構)DARPA → IETF
層の数7層4層
策定時期1984年1970年代
目的理論的な参照モデル実際に動作する実装
現在の利用教育・ベンダー間の共通言語インターネットの実装基盤
層間の独立性厳密に分離実装を優先し柔軟

  1. 各層の名称と番号を正確に覚える

    • 特にOSI参照モデルの7層は頻出
  2. 代表的なプロトコルと対応する層を把握する

    • HTTP/DNS → アプリケーション層
    • TCP/UDP → トランスポート層
    • IP/ICMP → ネットワーク層(インターネット層)
    • Ethernet → データリンク層
  3. PDU(Protocol Data Unit)の名称を覚える

  4. 両モデルの対応関係を理解する