IPA午前2: OSI参照モデルとTCP/IPの解説

Mermaid

IPA午前2: OSI参照モデルとTCP/IPの解説

出題の意図

このテーマは、情報処理技術者試験のIPA午前2において、ネットワーク分野の基礎知識として最も頻出かつ重要な概念の一つです。出題の意図は、受験者が以下の点を理解しているかを確認することにあります。

  1. OSI参照モデルの理解: ネットワーク通信を7つの層に分割した国際標準モデルの各層の名称、役割、およびデータ単位を正確に理解しているか。
  2. TCP/IPプロトコルスタックの理解: 実際にインターネットで利用されているプロトコル群の階層構造、各層の役割、および主要なプロトコルを理解しているか。
  3. 両モデルの対応関係の把握: OSI参照モデルとTCP/IPプロトコルスタックが、それぞれ異なる階層構造を持つものの、どのように機能的に対応しているかを理解しているか。

これらの知識は、ネットワークのトラブルシューティング、セキュリティ、新しい技術の学習において不可欠な土台となります。

定義/前提

ネットワーク通信は非常に複雑なプロセスであるため、これを体系的に理解するために階層モデルが用いられます。代表的なものとして「OSI参照モデル」と「TCP/IPプロトコルスタック」があります。

OSI参照モデル (Open Systems Interconnection Reference Model)

国際標準化機構 (ISO) によって策定された、ネットワーク通信の機能とプロトコルを7つの層に分割した概念モデルです。各層は独立しており、下位層のサービスを利用し、上位層にサービスを提供します。

  1. 第7層: アプリケーション層 (Application Layer): ユーザーに最も近い層で、特定のアプリケーションがネットワークサービスを利用するための機能を提供します。Webブラウザやメールクライアントなどが利用するプロトコル(HTTP, FTP, SMTP, DNSなど)が該当します。
  2. 第6層: プレゼンテーション層 (Presentation Layer): データの表現形式を変換します。異なるシステム間でデータを交換できるように、文字コードや暗号化、圧縮などの処理を行います。
  3. 第5層: セッション層 (Session Layer): アプリケーション間の通信セッション(会話)の確立、維持、終了を管理します。
  4. 第4層: トランスポート層 (Transport Layer): アプリケーションプロセス間のデータ転送の信頼性を保証します。データの分割・再構築、エラー回復、フロー制御などを行い、TCP(信頼性のある接続)やUDP(高速だが信頼性は低い)などのプロトコルがあります。この層のデータ単位は「セグメント」(TCP)または「データグラム」(UDP)と呼ばれます。
  5. 第3層: ネットワーク層 (Network Layer): 異なるネットワーク間(ホスト間)のルーティング(経路選択)とデータ転送を行います。IPアドレスを用いて、最適な経路を通じてデータを送ります。IPプロトコルが代表的です。この層のデータ単位は「パケット」と呼ばれます。
  6. 第2層: データリンク層 (Data Link Layer): 同一ネットワーク内(隣接するノード間)でのデータの信頼性のある転送を管理します。MACアドレスによる識別、フレーム化、エラー検出・訂正、フロー制御などを行います。EthernetやWi-Fiなどが該当します。この層のデータ単位は「フレーム」と呼ばれます。
  7. 第1層: 物理層 (Physical Layer): 物理的な媒体(ケーブル、無線など)を通じて、ビット列を電気信号や光信号に変換して送受信します。コネクタ、ケーブルの仕様などがこの層で定義されます。

TCP/IPプロトコルスタック

現在、インターネットの基盤として広く利用されているプロトコル群です。OSI参照モデルとは異なり、通常は4層または5層で説明されます。

  1. アプリケーション層 (Application Layer): OSI参照モデルのアプリケーション層、プレゼンテーション層、セッション層の機能を統合したものです。HTTP, FTP, SMTP, DNSなどが含まれます。
  2. トランスポート層 (Transport Layer): OSI参照モデルのトランスポート層に相当します。プロセス間の通信の信頼性や効率を管理し、TCPやUDPプロトコルを使用します。
  3. インターネット層 (Internet Layer): OSI参照モデルのネットワーク層に相当します。IPアドレスを用いて異なるネットワーク間のルーティングを行い、IPプロトコルが中心となります。
  4. ネットワークインターフェース層 (Network Interface Layer): OSI参照モデルのデータリンク層と物理層の機能を統合したものです。EthernetやWi-Fiなどが該当します。

OSI参照モデルとTCP/IPプロトコルスタックの主な対応関係は以下の図のようになります。

graph TD
    subgraph OSI参照モデル
        OSI_App("7. アプリケーション層")
        OSI_Pre("6. プレゼンテーション層")
        OSI_Ses("5. セッション層")
        OSI_Tra("4. トランスポート層")
        OSI_Net("3. ネットワーク層")
        OSI_DL("2. データリンク層")
        OSI_Phy("1. 物理層")
    end

    subgraph TCP/IPプロトコルスタック
        TCP_App("アプリケーション層")
        TCP_Tra("トランスポート層")
        TCP_Net("インターネット層")
        TCP_NI("ネットワークインターフェース層")
    end

    OSI_App --- TCP_App
    OSI_Pre --- TCP_App
    OSI_Ses --- TCP_App
    OSI_Tra --- TCP_Tra
    OSI_Net --- TCP_Net
    OSI_DL --- TCP_NI
    OSI_Phy --- TCP_NI

段階的な解法

ここでは、IPA午前2でよくある「特定のプロトコルが、OSI参照モデルのどの層、またはTCP/IPプロトコルスタックのどの層に相当するか」という形式の問題を想定して、段階的な解法を説明します。

想定問題: 「OSI参照モデルのトランスポート層の機能に相当するTCP/IPプロトコルスタックの層として適切なものはどれか。また、この層で利用される代表的なプロトコルを2つ挙げよ。」

  1. 問題文の理解:

    • 問われているのは「OSI参照モデルのトランスポート層」に対応するTCP/IPプロトコルスタックの層。
    • さらに、その層で利用される代表的なプロトコルを2つ答える必要がある。
  2. OSI参照モデルとTCP/IPの層の対応関係の確認:

    • まず、OSI参照モデルのトランスポート層の役割を思い出す。「アプリケーションプロセス間のデータ転送の信頼性を保証する」層。データ単位はセグメント/データグラム。
    • 次に、上記の「定義/前提」や mermaid 図で示した対応関係を確認します。
      • OSI参照モデルのトランスポート層 (第4層) は、TCP/IPプロトコルスタックの「トランスポート層」に直接対応しています。
  3. 対応する層のプロトコルの特定:

    • TCP/IPプロトコルスタックのトランスポート層で利用されるプロトコルを考えます。
    • この層の代表的なプロトコルは、信頼性のある通信を提供する「TCP (Transmission Control Protocol)」と、高速だが信頼性を保証しない「UDP (User Datagram Protocol)」です。
  4. 解答の導出:

    • OSI参照モデルのトランスポート層に対応するTCP/IPプロトコルスタックの層は「トランスポート層」である。
    • この層で利用される代表的なプロトコルは「TCP」と「UDP」である。

データがネットワーク層を通過し、各層でどのようにヘッダが付加されていくか(カプセル化)を理解することも重要です。

graph LR
    subgraph 送信側: データ加工 (カプセル化)
        A["アプリケーション層データ"] --> B{"トランスポート層: TCP/UDPヘッダ付与"}
        B --> C{"インターネット層: IPヘッダ付与"}
        C --> D{"ネットワークインターフェース層: MACヘッダ/フッタ付与"}
        D --> E["物理層: ビット列に変換し送信"]
    end

    subgraph 受信側: データ復元 (非カプセル化)
        E --> F["物理層: ビット列を受信"]
        F --> G{"ネットワークインターフェース層: MACヘッダ/フッタ除去"}
        G --> H{"インターネット層: IPヘッダ除去"}
        H --> I{"トランスポート層: TCP/UDPヘッダ除去"}
        I --> J["アプリケーション層データ利用"]
    end

    E --- F

このフローチャートは、送信側でデータに各層のヘッダ(制御情報)が付与されていく「カプセル化」の過程と、受信側でそれが逆の手順で取り除かれ、最終的に元のデータに戻る「非カプセル化」の過程を示しています。各層が付与するヘッダには、その層の機能に必要な情報(例: トランスポート層のポート番号、インターネット層のIPアドレス、ネットワークインターフェース層のMACアドレスなど)が含まれます。

答え

TCP/IPプロトコルスタックの「トランスポート層」が該当し、代表的なプロトコルは「TCP (Transmission Control Protocol)」と「UDP (User Datagram Protocol)」である。

誤答しやすい理由

  • 層の名称の混同: OSI参照モデルとTCP/IPプロトコルスタックでは、同じ機能を持つ層でも名称が異なる場合があります(例: OSIのネットワーク層 ⇔ TCP/IPのインターネット層)。特に「ネットワーク」という単語が含まれる層が両方に存在するため、混乱しやすいです。
  • 層の数の違い: OSIは7層、TCP/IPは4層(または5層)と階層の数が異なるため、単純な番号での比較ができません。特にTCP/IPのアプリケーション層がOSIの複数層を統合している点、TCP/IPのネットワークインターフェース層がOSIの2層を統合している点が理解しにくいかもしれません。
  • プロトコルと層の紐付けの曖昧さ: 各プロトコルがどの層に属し、どのような役割を果たすかを曖昧に記憶していると、選択肢の中から正しい組み合わせを選び出すことが難しくなります。

学習の指針

  1. 各層の名称と役割を正確に覚える: OSI参照モデルの7層、TCP/IPプロトコルスタックの4層の名称と、それぞれの層が担う主要な機能をキーワードと一緒に記憶しましょう。
    • 例: 物理層(ビット転送)、データリンク層(MACアドレス、フレーム)、ネットワーク層(IPアドレス、ルーティング、パケット)、トランスポート層(ポート番号、TCP/UDP、セグメント)、アプリケーション層(HTTP, FTPなど)。
  2. OSIとTCP/IPの対応関係を図で理解する: 前述の mermaid 図のような比較図を自分で描けるくらいに繰り返し確認し、どの層がどの層に相当するかを視覚的に覚えましょう。特に、TCP/IPの「アプリケーション層」と「ネットワークインターフェース層」が、OSIの複数層を兼ねている点を意識することが重要です。
  3. 主要なプロトコルとデータ単位を紐付ける: HTTP、FTP、SMTP、DNS(アプリケーション層)、TCP、UDP(トランスポート層)、IP、ICMP、ARP(インターネット層/ネットワーク層)、Ethernet、Wi-Fi(ネットワークインターフェース層/データリンク層・物理層)といった代表的なプロトコルが、どの層で動作し、どのようなデータ単位を扱うのかをセットで覚えましょう。
  4. カプセル化/非カプセル化の概念を理解する: データが送信側でどのように各層のヘッダが付与されていくか(カプセル化)、そして受信側でその逆の過程(非カプセル化)でデータが復元されるかを理解することで、各層の役割がより深く理解できます。

類題/バリエーションの作問

類題1: プロトコルの分類と層の特定

問題: IPプロトコルは、OSI参照モデルのどの層に相当するか。また、その層が担う主要な機能は何か。

解答のポイント: IP (Internet Protocol) は、インターネットで最も基本的なアドレス指定とルーティングを担うプロトコルです。IPアドレスは、ネットワーク層の機能であり、異なるネットワーク間の通信経路を決定します。

即答テク: 「IPアドレス=ルーティング=ネットワーク層」と連想。IPはOSIのネットワーク層、TCP/IPのインターネット層に属する。

類題2: アプリケーション層プロトコルの特定

問題: WebブラウザがWebサーバーと通信する際に利用するHTTPプロトコルは、TCP/IPプロトコルスタックのどの層で動作するか。この層に対応するOSI参照モデルの層を全て挙げよ。

解答のポイント: HTTP (Hypertext Transfer Protocol) は、Webページや関連情報をやり取りするためのプロトコルで、ユーザーが直接利用するアプリケーションの機能に密接に関わっています。TCP/IPでは最上位の「アプリケーション層」に分類されます。OSI参照モデルでは、アプリケーション層、プレゼンテーション層、セッション層の3つの層の機能に対応します。

即答テク: 「HTTP=Webブラウザ=ユーザー直接利用=アプリケーション」と連想。TCP/IPのアプリケーション層は、OSIの最上位3層を統合していることを思い出す。

類題3: データ単位と層の対応

問題: ネットワーク上で、MACアドレスを用いて隣接する機器間でデータを転送する際に利用されるデータ単位は何か。このデータ単位が利用されるOSI参照モデルの層の名称を答えよ。

解答のポイント: MACアドレスはデータリンク層で用いられ、同一ネットワーク内の機器識別に使用されます。データリンク層で転送されるデータの単位は「フレーム」です。

即答テク: 「MACアドレス=隣接機器=フレーム=データリンク層」と連想。IPアドレスが「パケット」と「ネットワーク層」であることを対比させて覚える。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました