Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP (Transmission Control Protocol)

Similar presentations


Presentation on theme: "TCP (Transmission Control Protocol)"— Presentation transcript:

0 演習第5回 情報通信技術論 インターネット工学
TCPとFTP 演習第5回 情報通信技術論 インターネット工学

1 TCP (Transmission Control Protocol)
トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) 再送制御あり ファイル転送・メール・Web 等に使用される FTP POP SMTP IMAP HTTP 応用層 FTP, CBR HTTP, SMTP トランスポート層 TCP UDP ネットワーク層 IP 物理・データリンク層 Ethernet FTP (File Transfer Protocol) POP (Post Office Protocol) SMTP (Simple Mail Transfer Protocol) IMAP (Internet Message Access Protocol) HTTP (Hyper Text Transfer Protocol)

2 通信媒体(LANケーブル・光ケーブル・無線など)
階層アーキテクチャ 送信側 受信側 応用層 トランスポート層 ネットワーク層 物理・ データリンク層 データ データ 付加 解析 TCPヘッダ TCPヘッダ データ データ 付加 解析 IPヘッダ IPヘッダ データ データ 付加 解析 Ethernetフレームヘッダ Ethernetフレームヘッダ データ データ 送出 受信 通信媒体(LANケーブル・光ケーブル・無線など)

3 TCPパケット・TCPヘッダ イーサネット ヘッダ IPヘッダ TCPヘッダ データ 発信元ポート番号 (16bit) 宛先ポート番号
シーケンス番号 (32bit) 確認応答(ACK)番号 (32bit) ヘッダ長 (4bit) 予約済み (6bit) URG ACK PSH RST SYN FIN ウインドウサイズ (16bit) チェックサム (16bit) 緊急ポインタ (16bit) (オプション) データ

4 TCPヘッダ シーケンス番号 確認応答(ACK: Acknowledge)番号 送信したデータの位置を示す
データを送信する度に、送信したデータのバイト数だけ加算される (※ ns-2では、送信する度に1ずつ加算される) 確認応答(ACK: Acknowledge)番号 次に受信すべきデータのシーケンス番号 確認応答番号から1を引いた値までのデータを受信したことになる 次に送るデータのシーケンス番号と返された確認応答番号が 同じ場合には、正常に通信が行われたことになる (※ ns-2では、連続して正常に受信されたデータの最大シーケンス番号である。   つまり、送ったデータのシーケンス番号とその確認応答番号が一致した場合、   正常に通信が行われていることになる。)

5 ACKによる信頼性の確保 1つのセグメントを受信するごとに確認応答をすると効率が悪い  もっと大きな単位で確認応答すればよいのでは?
シーケンス番号 1 2 3 送信側 データ パケット ACK 受信側 2 3 4 確認応答(ACK)番号 1つのセグメントを受信するごとに確認応答をすると効率が悪い  もっと大きな単位で確認応答すればよいのでは?

6 ウインドウ制御の導入 送信したセグメントに対する確認応答を待たずに、複数のセグメントを送信 ウインドウ 送信側 受信側
シーケンス番号 1 2 3 4 5 6 7 8 9 10 11 12 送信側 データ パケット ACK 受信側 2 3 4 5 6 7 8 9 10 確認応答(ACK)番号 送信したセグメントに対する確認応答を待たずに、複数のセグメントを送信 ※ ウインドウサイズ:ACKを待たずに送信できるデータの大きさ

7 ウインドウ制御で速度向上 ウインドウサイズを変化させてレート調節を行う ウインドウサイズ = 1セグメント の場合
ウインドウサイズ = 4セグメント の場合 シーケンス番号 シーケンス番号 1 2 3 1 2 3 4 5 6 7 8 9 10 11 12 送信側 送信側 データ パケット データ パケット ACK ACK 受信側 受信側 2 3 4 2 3 4 5 6 7 8 9 10 ACK番号 ACK番号

8 (rwnd: Receiver’s Window)
最大ウインドウサイズ ウインドウサイズ = 4セグメント の場合 最大ウインドウサイズ 受信側のバッファサイズ (rwnd: Receiver’s Window) ウインドウ シーケンス番号 1 2 3 4 5 6 7 8 9 10 11 12 送信側 データ パケット ACK 受信側 2 3 4 5 6 7 8 9 10 確認応答(ACK)番号

9 (Retransmission Time Out)
再送制御 (タイムアウト) 一定期間 RTO (Retransmission Time Out) 1 1 2 送信側 パケットロス 受信側 2 あるパケットに対するACKがRTO以内に返ってこない場合、 そのパケットは喪失したものと判断する再送

10 再送制御 (重複ACK) 一度受け取ったACKと同じものを3回連続して受け取った場合、
1 2 3 4 5 6 7 8 2 9 10 11 送信側 受信側 2 2 2 2 2 2 2 9 10 11 12 3つの重複ACK 一度受け取ったACKと同じものを3回連続して受け取った場合、 そのACKが示しているパケットは喪失したものと判断再送

11 実験1-3 4 2 3 FTP/TCP 1 5 (ボトルネックリンク) 40Mbps 40Mbps FTP ダウンロード TCP Agent
4 (ボトルネックリンク) 帯域: Bw 2 3 40Mbps 40Mbps FTP/TCP 1 5 FTP ダウンロード TCP Agent TCPSink Agent ネットワーク ルータ ネットワーク


Download ppt "TCP (Transmission Control Protocol)"

Similar presentations


Ads by Google