レイヤ5とレイヤ6の記憶がいつも曖昧なので再勉強しました。
レイヤ4 トランスポート層
レイヤ4はエンドツーエンドの通信規格。
TCP
TCPでは以下のような規格。
- 3ハンドシェイク
- ウィンドウ、シーケンス番号と確認応答番号による伝達メッセージの到達確認
- ポート番号
UDP
UDPでは、3ハンドシェイク、到達確認は行わず、宛先ポートをパケットに含める。
レイヤ5 セッション層
レイヤ4は"エンドツーエンドでの接続"を規格したものだったことに対して、レイヤ5は接続後のデータ送信の開始と終了を規格したものになる。
SSLなんかはこれのレイヤで暗号化がなされるらしい。
例えば、SSH、FTP、HTTPのKeepAliveなんかは宛先に接続後、このレイヤの規格に準じて、データの送信を開始、応答パケットを受け取る。
レイヤ6 プレゼンテーション層
OSで使用しているデータの規格などを吸収する。例えば文字コードなど。
圧縮や暗号化などのアプリケーション外の送信形式も含む。
が、ほとんどの場合、レイヤ7でアプリケーション側で吸収されてるので気になることはない。はず。
レイヤ5と6はアプリケーション層のプロトコルだけど、TCP/IPでパケット制御されるようなことはあまりないみたい。
整理
- レイヤ2 : MACアドレス
- レイヤ3: IPアドレス
- レイヤ4: ポート番号
- レイヤ7: DNS