pcnwbt/tcpip/doc/L4

トランスポート層
TCP/IPプロトコルスイート
ネットワーク層プロトコル
• IP IPアドレス と マスク
ルーティング
• ARP
• ICMP
– PING・Traceroute
トランスポート層プロトコル
• TCP
• UDP
トランスポート層プロトコル
•
•


ポート番号によってIPアドレスの接続だけでは不可能な
サービスや処理ごとの通信を区別
通信の用途・目的に応じてTCPまたはUDPを使い分ける
TCPが信頼性のある通信を提供
信頼性よりも処理の軽さを利用するアプリケーションに
はUDPを選択
–
例)DNS・TFTP・DHCP
Ethernet
ヘッダ
•
•
IP
ヘッダ
TCP/UDP
ヘッダ
L4データ
FCS
TCPヘッダ・UDPヘッダにはアプリケーションで使用する
ポート番号を格納
TCPかUDPかの区別はIPヘッダ内に格納
TCP(Transmission Control Protocol)
•
•
•
信頼性のあるコネクション型のデータ転送を提供
パケットの配信の保証
正しいデータ順序送信の保証
–
•
チェックサム機能を提供
–
•
シーケンス番号・応答確認番号
パケットヘッダとパケットデータの両方の正確さを検証する
パケットを再送信
–
–
TCPパケットの損失
確認応答で提供
Ethernet
ヘッダ
IP
ヘッダ
TCP
ヘッダ
L4データ
FCS
確認応答
•
•
シーケンス番号はその割り当てられたバイト列の応答確認
番号として利用され、特定の時間経過後、応答が戻らな
かったバイト列は再送信
パケットの受信順序が乱れても、シーケンス番号制御に
よってパケットは正しく並び替えられアプリケーション層
に引き渡される
ウインドウ制御
•
•
•
•
応答確認を待たずに次のデータを送る仕組み
効率的なフロー制御の実現
データを受取った宛先は、内部バッファをオーバーフロー
することなく受取れるデータ量を応答確認で通知
ウインドウサイズとは応答確認一回で送れるバイト数
–
–
1ウインドウサイズで一回分のバイト数
2ウインドウサイズで二回分のバイト数
ウインドウ制御
1ウインドウサイズ
送信側
受信側
ウインドウ制御
2ウインドウサイズ
送信側
受信側
3ウェイハンドシェーク
•
•
TCPはコネクション型のセッションを確立する
送受信の両端で最初のシーケンス番号を承認することで両
端を同期
送信側
受信側
3ウェイハンドシェーク
送信側
192.168.0.11
受信側
192.168.0.250
3ウェイハンドシェーク
3ウェイハンドシェーク
3ウェイハンドシェーク
TCPの性質
•
•
•
信頼性の向上はオーバーヘッドが増加する
そのためデータの転送速度が低下する
信頼性よりも高速転送を重視する場合にはUDPを使用する
UDP(User Datagram Protocol)
• UDPはコネクションの確立や確認応答を行わない
• 信頼性を重視しないアプリケーションには、処理の軽い
UDPを選択
– ブロードキャストを使用したアプリケーション(DHCP等)
– DNS(ドメインネームシステム)
– 単発的でデータの交換の少ない問い合わせや応答
• 信頼性確保が必要な時には、より上位層のプロトコルやア
プリケーションによって信頼性を確保
• UDPは全てのデータグラムが同じサイズ
– フロー制御がない
– 動的に設定しない
• 代表的なアプリケーション
– NFS・SNMP・DNS・TFTP・DHCP・RTP
UDP(User Datagram Protocol)
UDP(User Datagram Protocol)
Ethernet
ヘッダ
IP
ヘッダ
14バイト
20バイト
UDP
ヘッダ
L4データ
151バイト
185バイト
FCS
通信データの呼び方
アプリケーション層
トランスポート層
レイヤ4
セグメント/データグラム
ネットワーク層
レイヤ3
パケット
データリンク層
レイヤ2
フレーム
物理層
レイヤ1
ビット
送信元 と 宛先
アプリケーション層
トランスポート層
レイヤ4
送信元/宛先ポート
ネットワーク層
レイヤ3
送信元/宛先(論理)アドレス
データリンク層
レイヤ2
送信元/宛先(物理)アドレス
物理層
レイヤ1
ポート
Q2. 空欄に適切な文字列を入力し、各層で送信元や宛先に利用する
名称を完成せよ
アプリケーション層
トランスポート層
送信元___/宛先___
ネットワーク層
送信元___/宛先___
データリンク層
送信元___/宛先___
物理層