層 | OSI 参照モデル 階層名 | 機能 | イメージ画像 |
---|---|---|---|
L7 | アプリケーション層 | アプリケーションごとの機能 | |
L6 | プレゼンテーション層 | データ形式の変換 | |
L5 | セッション層 | 通信の開始から終了までを管理 (どの通信が1まとまりか?) | |
L4 | トランスポート層 | 通信の信頼性を確保 | |
L3 | ネットワーク層 | 通信経路の選択 ネットワーク間の通信 | |
L2 | データリンク層 | 直接繋がったノードの通信 | |
L1 | 物理層 | ケーブルの形状 信号⇔ビット列の変換 |
OSI 参照モデルは、他社の機器と通信が行うために策定されました。
例えば、「A 社のケーブルと、B 社のスイッチは、他社製品なので繋がりません!!」
というのは不便すぎます。そこで、機能を階層分けし、各階層ごとに国際標準を決めました。
これにより、同じ層の機器には共通の機能があるので、他社の機器でも繋がるようになりました。
層 | TCP/IP モデル 階層名 | 役割 | イメージ画像 |
---|---|---|---|
L4 | アプリケーション層 | アプリケーション毎の機能 | |
L3 | トランスポート層 | アプリケーションの識別 接続の開始・終了処理を行う 通信の信頼性の確保 | |
L2 | インターネット層 | 通信経路の選択 ネットワーク間の通信 | |
L1 | ネットワーク インターフェイス層 | 直接繋がったノードの通信 |
TCP/IP モデルと OSI 参照モデルの違い
TCP/IP モデルは実践的で、OSI 参照モデルは教育的なモデルと言われてます。
※TCP/IP は仕様を決める前にプログラムを開発する。と言われるほど実践重視です。
そのため、実際に動作するものを早く作った TCP/IP が一気に普及して現在に至ります。
一方で、OSI 参照モデルはその厳密性から、ネットワークを学ぶ際に人気となっています。
プロトコル
TCP/IP モデル、OSI 参照モデルはあくまでモデルのため、実装にはプロトコルが必要です。
OSI と TCP/IP のプロトコル一覧
OSI と TCP/IP のプロトコル一覧は、以下のとおりです。
階層 | 階層名 | OSI プロトコル | TCP/IP プロトコル |
---|---|---|---|
L7 | アプリケーション層 | X.500 | HTTP, HTTPS, DNS, DHCP, SSH, MIME, TLS |
L6 | プレゼンテーション層 | ISO/IEC 8823 X.226 | |
L5 | セッション層 | ISO/IEC 8327 X.225 | |
L4 | トランスポート層 | ISO/IEC 8073 X.224 | TCP, UDP |
L3 | ネットワーク層 | ISO/IEC 8208 X.25 (PLP) | IP, ICMP, ARP, IPSec |
L2 | データリンク層 | ISO/IEC 7666 X.25 (LAPB) | イーサネット (有線) IEEE 802.11(Wi-Fi/無線) |
L1 | 物理層 | X.25 (X.21 bis) |
参考: https://en.wikipedia.org/wiki/OSI_model#Comparison_to_other_networking_suites
OSI プロトコルは実践的でないため、普及しておらずほとんど見た事ないと思います。
一方で、TCP/IP のプロトコルは実践的なため、見た事があるかもしれません。例えば HTTPS は、今使っているブラウザの URL に https:// を使っていることでしょう。
カプセル化 (カプセリング)
プロトコルはデータ送信時に、必要な情報をヘッダとして付与し、下位層のプロトコルに渡します
下位層のプロトコルは、上位層のヘッダを単なるデータ (ビット列) の一部として扱います。
※つまり、下位層は上位層のヘッダの意味を理解しなくていい = 階層ごとに機能を分離
逆に、データ受信時にヘッダを1つずつ取っていくことを「非カプセル化」と言います。
PDU (プロトコルデータユニット)
「ヘッダ + ペイロード (通信したいデータの中身)」を PDU と呼びます。
PDU は階層によって、以下のように呼び方が変わります。
層 | 階層名 | PDU(プロトコルデータユニット) |
---|---|---|
4 | トランスポート層 | - TCP セグメント - UDP データグラム - メッセージ (プロトコルに依らない呼び方) |
3 | ネットワーク層 | - IP データグラム (IP ヘッダ + トランスポート層のデータ) - IP パケット (IP ヘッダ + データ) |
2 | データリンク層 | フレーム |
1 | 物理層 | ビット(より一般的にはシンボル) |
https://en.wikipedia.org/wiki/Protocol_data_unit
パケットは完全なIPデータグラムであるかもしれないし、IPデータグラムのフラグメントかもしれない。
https://jprs.jp/tech/material/rfc/RFC1122-ja.txt (原文から改行を変更)
関連記事
OSI 参照モデルの各層の詳細と、それに対応する TCP/IP プロトコルを紹介は以下です。
OSI 参照モデル | TCP/IP モデル | TCP/IP プロトコル | 実装 |
---|---|---|---|
アプリケーション層 | アプリケーション層 | HTTP, DNS, DHCP, SSH, MIME, TLS | アプリケーション プログラム |
プレゼンテーション層 | |||
セッション層 | |||
トランスポート層 | トランスポート層 | TCP, UDP | OS |
ネットワーク層 | インターネット層 | IP, ICMP, ARP, IPSec | |
データリンク層 | ネットワーク インターフェイス層 | イーサネット (有線) IEEE 802.11(Wi-Fi/無線) | デバイスドライバー Network Interface |
物理層 |