層 | 階層名 | 機能 | イメージ画像 |
---|---|---|---|
L7 | アプリケーション層 | アプリケーションごとの機能 | ![]() |
L6 | プレゼンテーション層 | データ形式の変換 | ![]() |
L5 | セッション層 | 接続の開始・維持・終了を管理 ※処理自体は4層で実施 | ![]() |
L4 | トランスポート層 | 接続の開始・終了処理を行う 信頼性を確保(エラー訂正、再送) | ![]() |
L3 | ネットワーク層 | 通信経路を選択する | ![]() |
L2 | データリンク層 | 直接繋がったコンピュータの通信 | ![]() |
L1 | 物理層 | ・ケーブルの形状 ・信号⇔ビット列の変換 | ![]() |
接続 = TCP コネクションの意味で使用。通信経路が変わっても、両端に到達可能な場合はコネクションが維持される
接続の開始・維持・終了 = セッションの意味で使用。複数のコネクションが含まれる場合もある
OSI 参照モデルは、異なるベンダーの機器と通信が行うために策定されました。
例えば、「A 社のケーブルと B は社のスイッチは、異なるベンダーなので、繋がりません!!」というのは不便すぎます。そこで、機能を階層分けし、各階層ごとに国際標準を決めました。
これにより、共通の機能があるので、他の会社の機器でも繋がるようになりました。
プロトコル
OSI 参照モデルはあくまでモデルのため、実際には具体的なプロトコルが必要です。
なお、通信に必要な複数のプロトコルをまとめたものをプロトコルスイートと言います。
代表的なプロトコルスイート
以下のように、OSI プロトコル以外にも様々なプロトコルスイートが存在します。
OSI プロトコルスイートは複雑すぎて、実装が非常に困難でした。
一方で、TCP/IP はプロトコルの仕様よりも実装できることを重視しています。
そのため、現在は TCP/IP が最も使われているプロトコルスイートです。
TCP/IP とは
階層とプロトコルの一覧
TCP/IP の4階層と対応する TCP/IP プロトコルスイートは以下のとおりです。
層 | TCP/IP 階層名 | 役割 | プロトコル |
---|---|---|---|
4 | アプリケーション層 | アプリケーションごとに異なる | HTTP, DNS, DHCP, SSH, SSL/TLS |
3 | トランスポート層 | アプリケーションの識別 信頼性の確保 | TCP, UDP |
2 | インターネット層 | ネットワーク間の通信 | IP, ICMP, IPSec |
1 | ネットワークインターフェイス層 | ネットワーク内の通信 ケーブルや無線 LAN | イーサネット, ARP |
OSI 参照モデルの立ち位置
実際に使われているプロトコルスイートが TCP/IP なら、OSI 参照モデルは不要か?
と言われればそうではありません。
OSI 参照モデルは通信に必要な機能をまとめているため、ネットワークを体系的に学習できます。
カプセル化 (カプセリング)
プロトコルはデータ送信時に、必要な情報をヘッダとして付与し、下位層のプロトコルに渡します
この時、上位層のヘッダはデータの一部 (ビット列) として扱います。
(階層ごとに役割を決めてるので、上位層が責任を持つヘッダを下位層が解読しなくていい)

例:L6 では、データ = (L7 ヘッダ + データ)
L5 では、データ = (L7 ヘッダ + L6 ヘッダ + データ)
FCS = データの破損チェック
逆に、データ受信時にヘッダを1つずつ取っていくことを「非カプセル化」と言います。
PDU (プロトコルデータユニット)
「ヘッダ + ペイロード (通信したいデータの中身)」を PDU と呼びます。
PDU は階層によって、以下のように呼び方が変わります。
各層の詳細
OSI 参照モデルの各層の詳細と、それに対応する TCP/IP プロトコルを紹介は以下です。
OSI 参照モデル | |||
---|---|---|---|
参考ページ
