第1章 ネットワークの全体像|1-3|コース全体 19回中3本目
OSI参照モデルとTCP/IPモデルの違い・対応関係
OSIとTCP/IPはどちらが正しいのかで迷わなくなる記事です。2つの役割の違いと7層⇔4層の対応、現場での使い分けをまとめました。
OSI参照モデルとTCP/IPモデルは、競合ではありません
「OSIとTCP/IP、結局どちらが正しいのか」で迷う必要はありません。OSIは通信のしくみを理解するための地図(設計図)、TCP/IPは実際に世の中で動いている実装です。見ている粒度が違うだけで、同じ通信を指しています。
なぜモデルが2つ存在するのか
OSI参照モデルは、ISO(国際標準化機構)が「どのベンダーの機器でも通信できるように」と設計した理論上の標準モデルです。通信の役割を7つの層に分け、層ごとの責任を厳密に定義しました。
一方のTCP/IPは、OSIの標準化を待たずに実際の運用の中で先に育ち、そのままインターネットの基礎になったプロトコル群です。 層の数も4つと少なく、必要な部分だけを実装した設計になっています。結果として、理論のOSIと実装のTCP/IPが並んで使われる状態が今も続いています。
OSI7層とTCP/IP4層の対応表
TCP/IPの1つの層が、OSIの複数の層をまとめている部分があります。表で確認してください。
| TCP/IP(4階層) | OSI(7階層) | 代表的なプロトコル | データの呼び名 |
|---|---|---|---|
| アプリケーション層 | 第7層 アプリケーション 第6層 プレゼンテーション / 第5層 セッション | HTTP, DNS, SMTP, SSH | メッセージ / データ |
| トランスポート層 | 第4層 トランスポート | TCP, UDP | セグメント / データグラム |
| インターネット層 | 第3層 ネットワーク | IP, ICMP | パケット |
| ネットワーク | 第2層 データリンク 第1層 物理 | Ethernet, Wi-Fi, ARP | フレーム → ビット |
押せる7階層で、OSI側の役割を確認する
対応表の左側(OSI)が何を指しているのか、実際に押して7層それぞれの役割を確認してください。
0と1を、電気・光・電波といった物理的な信号に変換して送り出す層。
ケーブルの形やピンの並び、電圧、周波数といった「モノとしての決まりごと」を担当します。ここで扱うのは意味のないビットの列で、宛先という概念すらありません。LANケーブルが抜けている、断線している、という障害はすべてこの層の話です。
- PDU
- ビット
- 宛先
- なし
直接つながっている機器同士で、誤りなくデータを渡す層。
ビットの列を「フレーム」という単位にまとめ、MACアドレスで同じネットワーク内の相手を指定します。末尾のFCSで壊れていないかを検査し、壊れていれば捨てます。この層が見ているのは隣の機器までで、インターネットの向こう側は見えていません。
- PDU
- フレーム
- 宛先
- MACアドレス(48ビット)
ネットワークをまたいで、最終的な宛先まで届ける道を選ぶ層。
IPアドレスで世界中のホストを識別し、ルータがルーティングテーブルを見て次の転送先を決めます。ただしIPは「届けるよう努力する」だけで、到達も順序も保証しません(ベストエフォート)。大きすぎるデータの分割(フラグメンテーション)もこの層の仕事です。
- PDU
- パケット
- 宛先
- IPアドレス(IPv4は32ビット)
アプリケーション同士の通信を成立させ、必要なら確実性を担保する層。
ポート番号で「どのアプリ宛か」を指定します。TCPは3ウェイハンドシェイクで接続を確立し、順序の整理・再送・フロー制御まで面倒を見ます。UDPはそれらを省き、速さと軽さを取ります。第3層までは「機械に届ける」、第4層で初めて「アプリに届ける」になります。
- PDU
- セグメント(UDPはデータグラム)
- 宛先
- ポート番号(0〜65535)
通信の開始から終了までの「ひと続きのやりとり」を管理する層。
会話をいつ始めていつ終えるか、どちらが話す番か、途中で切れたらどこから再開するかを扱います。TCP/IPモデルではアプリケーション層に吸収されており、独立した層としては意識されることが少なめです。
- PDU
- データ
- 宛先
- セッションID など
データの表現形式をそろえ、送り手と受け手が同じ意味に解釈できるようにする層。
文字コード(UTF-8とShift_JISなど)、画像や音声の形式、圧縮、暗号化を担当します。送る側と受け取る側で「同じデータを同じ意味に解釈できる」状態を作るのが役目です。
- PDU
- データ
- 宛先
- なし
人やアプリが直接使うサービスそのものを提供する層。
Webの閲覧、メールの送受信、ファイル転送、名前解決など、目的ごとのプロトコルが並びます。ブラウザやメールソフトそのものではなく、それらが話す言葉の決まりがこの層です。
- PDU
- メッセージ
- 宛先
- URL / ドメイン名
現場では、OSIとTCP/IPをどう使い分けているか
現場での会話はOSI基準の呼び方が主流です。「これはL2の問題」「L3で切り分けよう」という言い方は、 OSI参照モデルの層番号を借りています。障害の範囲を短い言葉で共有できるからです。
ところが実際にキーボードで触るのはTCP/IPの実装です。たとえばスイッチのポート設定は「L2の設定」と呼ばれますが、 中身はEthernet(TCP/IPのネットワークインタフェース層)の設定です。同様に、ルータでの経路設定は「L3の設定」と呼ばれますが、 実際にはTCP/IPのインターネット層にあたるIPの設定を、ip route のようなコマンドで行います。 自分のIPアドレスを確認する ip addr コマンドも同じで、呼び方はL3でも、動かしているのはTCP/IPの実装です。
練習問題(全5問)
選んでから「採点する」を押すと、解説つきで答え合わせができます。
正解:OSIは理解のための理論モデル、TCP/IPは実際に動いている実装で、役割が違う
OSIは通信を整理するための理論モデル、TCP/IPは実際にインターネットを動かしている実装です。両者は競合ではなく、同じ通信を違う粒度で見ているだけです。
正解:第5〜7層
TCP/IPのアプリケーション層は、OSIのセッション層・プレゼンテーション層・アプリケーション層(第5〜7層)をまとめたものです。
正解:IP
IPアドレスを使って経路を決めるIPが、インターネット層=OSI第3層の代表的なプロトコルです。TCPは1つ上のトランスポート層、Ethernetは1つ下です。
正解:L2はOSI参照モデルの層番号を指す慣用的な言い方で、実際に設定するのはTCP/IPの実装(コマンドや設定ファイル)
「L2」「L3」はOSI参照モデルの層番号を借りた現場の慣用表現です。一方で実際に触るコマンドや設定は、TCP/IPの実装(Ethernet、IPなど)に対するものです。
正解:ネットワークインタフェース層
ARPはIPアドレスからMACアドレスを調べるプロトコルで、同じネットワーク内でしか使えずルータを越えて転送されません。OSIの第2層(データリンク層)に相当するため、TCP/IPではEthernetと同じネットワークインタフェース層に分類されます。