はじめに
OSI参照モデルは、異なるベンダーのコンピュータ同士でも問題なく通信ができるよう、通信機能を7つの階層に分けて整理した国際標準規格です。
今回の記事では、以下の2つについての学びをアウトプットしたいと思います。
- 各層で用いられるプロトコルについて
- データどのようにカプセル化して送られていくのか
各層で用いられるプロトコルについて
第7層:アプリケーション層
-
役割: ユーザーが利用するソフト(Webブラウザやメーラー)に通信機能を提供します
-
代表的プロトコル:
- HTTP / HTTPS: Webページの閲覧(HTTPSは暗号化通信)
- SMTP / POP: メールの送信・受信
- FTP / SFTP: ファイル転送
- DNS: ドメイン名とIPアドレスの変換
- Telnet / SSH: サーバの遠隔操作
第6層:プレゼンテーション層
-
役割: データの「翻訳」を行います。文字コードの変換や、データの暗号化・圧縮を行い、文字化けなどを防ぎます
-
代表的プロトコル:
- 文字コード変換: UTF-8などの文字コード処理
第5層:セッション層
-
役割: 通信の開始から終了まで(セッション)の手順を管理します。通信の確立、維持、終了を制御し、データが混線しないようにします
-
代表的プロトコル:
- TLS: 安全なセッションを確立するためのセキュリティプロトコル
第4層:トランスポート層
-
役割: 目的に応じた「通信品質」を管理します。データの到達確認を行って信頼性を高めたり、即時性を優先したりする制御を行います
-
代表的プロトコル:
- TCP: 信頼性重視。データが届いたか確認(確認応答)し、欠損があれば再送するなどして確実な通信を行う(Webやメールなど)
- UDP: 速度・リアルタイム性重視。確認手順を省いて高速に送る(動画配信やWeb会議など)
第3層:ネットワーク層
-
役割: 異なるネットワーク間での通信(インターネットワーキング)を実現します。「IPアドレス」を用いて宛先を特定し、ルータを経由して最適な経路でデータを届けます(ルーティング)
-
代表的プロトコル:
- IP: 宛先情報の付与とパケットの配送
- ICMP: 通信状態の確認など
第2層:データリンク層
-
役割: 直接ケーブルや電波でつながっている「隣接する機器同士」の確実な通信を実現します。「MACアドレス」を使って機器を識別し、データの衝突回避やエラー検出を行います
-
代表的プロトコル・規格:
- Ethernet: 有線LANの標準規格
- IEEE802.11: 無線LANの標準規格(Wi-Fiはこの規格に準拠)
- PPP: 2点間接続のプロトコル
第1層:物理層
- 役割: データを電気信号や光信号に変換し、ケーブルのコネクタ形状やピン数など、物理的な接続ルールを定めます
データの流れとカプセル化
ネットワーク通信では、データが送信元から受信元へ移動する際、階層を順番に処理されていきます。この過程で重要なのが「カプセル化」と「非カプセル化」です。
カプセル化(送信時)
送信側がデータを送る際、上位層(第7層)から下位層(第1層)へとデータが渡されていきます。その際、各層のプロトコルが処理に必要な情報をデータの先頭(ヘッダー)や末尾(トレーラー)に付加していきます。これをカプセル化と呼びます。
- 第4層(トランスポート層): データに「ポート番号」などを付加し、「セグメント」と呼びます
- 第3層(ネットワーク層): 送信元・宛先の「IPアドレス」などを付加し、「パケット」と呼びます
- 第2層(データリンク層): 「MACアドレス」やエラー検出用の情報を付加し、「フレーム」と呼びます
- 第1層(物理層): 最終的に0と1のビット信号に変換され、ケーブル等を通じて送出されます
非カプセル化(受信時)
受信側では、逆に第1層から第7層へとデータが渡されます。各層で自分に必要なヘッダー情報を読み取って処理し、そのヘッダーを取り外して上位層へ渡します。これを非カプセル化と呼びます。
最終的に全てのヘッダーが取り外され、元のデータがアプリケーションに届けられることで、メールが読めたりWebページが表示されたりします。
まとめ
- 各層には明確な役割があり、HTTPやTCP、IPなど目的に応じたプロトコルが用いられる
- データは送信時に各層でヘッダーが付加され(カプセル化)、受信時に剥がされる(非カプセル化)
- この階層構造により、複雑なネットワーク通信が整理され、異なる機器間でも相互接続が可能になる