TCPとFTP 演習第5回 情報通信技術論 インターネット工学 情報通信技術論/インターネット工学 TCP (Transmission Control Protocol) トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) – 再送制御あり ファイル転送・メール・Web 等に使用される FTP POP HTTP SMTP IMAP 応用層 FTP (File Transfer Protocol) POP (Post Office Protocol) SMTP (Simple Mail Transfer Protocol) IMAP (Internet Message Access Protocol) トランスポート層 ネットワーク層 物理・データリンク層 FTP, CBR HTTP, SMTP TCP UDP IP Ethernet HTTP (Hyper Text Transfer Protocol) 1 情報通信技術論/インターネット工学 階層アーキテクチャ 付加 送信側 受信側 データ データ TCPヘッダ データ 付加 IPヘッダ データ 付加 Ethernetフレームヘッダ データ 応用層 TCPヘッダ 解析 データ IPヘッダ トランスポート層 解析 データ Ethernetフレームヘッダ 解析 データ 送出 受信 通信媒体(LANケーブル・光ケーブル・無線など) ネットワーク層 物理・ データリンク層 2 情報通信技術論/インターネット工学 TCPパケット・TCPヘッダ イーサネット ヘッダ IPヘッダ TCPヘッダ 発信元ポート番号 (16bit) データ 宛先ポート番号 (16bit) シーケンス番号 (32bit) 確認応答(ACK)番号 (32bit) 予約済み (6bit) FIN SYN RST PSH ACK URG ヘッダ長 (4bit) チェックサム (16bit) ウインドウサイズ (16bit) 緊急ポインタ (16bit) (オプション) データ 3 情報通信技術論/インターネット工学 TCPヘッダ シーケンス番号 – 送信したデータの位置を示す – データを送信する度に、送信したデータのバイト数だけ加算される (※ ns-2では、送信する度に1ずつ加算される) 確認応答(ACK: Acknowledge)番号 – 次に受信すべきデータのシーケンス番号 確認応答番号から1を引いた値までのデータを受信したことになる 次に送るデータのシーケンス番号と返された確認応答番号が 同じ場合には、正常に通信が行われたことになる (※ ns-2では、連続して正常に受信されたデータの最大シーケンス番号である。 つまり、送ったデータのシーケンス番号とその確認応答番号が一致した場合、 正常に通信が行われていることになる。) 4 情報通信技術論/インターネット工学 ACKによる信頼性の確保 シーケンス番号 送信側 1 2 データ パケット 3 ACK 受信側 次 は 次 は 次 は 確認応答(ACK)番号 2 3 4 1つのセグメントを受信するごとに確認応答をすると効率が悪い もっと大きな単位で確認応答すればよいのでは? 5 情報通信技術論/インターネット工学 ウインドウ制御の導入 ウインドウ シーケンス番号 送信側 1 2 3 4 5 6 7 8 9 10 11 12 データ パケット ACK 受信側 次次次次 はははは 次次次次 はははは 次 は 確認応答(ACK)番号 2 3 4 5 6 7 8 9 10 送信したセグメントに対する確認応答を待たずに、複数のセグメントを送信 ※ ウインドウサイズ:ACKを待たずに送信できるデータの大きさ 6 情報通信技術論/インターネット工学 ウインドウ制御で速度向上 ウインドウサイズを変化させてレート調節を行う ウインドウサイズ = 1セグメント の場合 ウインドウサイズ = 4セグメント の場合 シーケンス番号 シーケンス番号 1 2 3 1234 送信側 56 7 8 9101112 送信側 データ パケット ACK 受信側 ACK番号 データ パケット ACK 次 は 次 は 次 は 2 3 4 受信側 ACK番号 次次次次 はははは 次次次次 はははは 次 は 2345 6789 10 7 情報通信技術論/インターネット工学 最大ウインドウサイズ ウインドウサイズ = 4セグメント の場合 ウインドウ シーケンス番号 送信側 1 2 3 4 5 6 7 8 9 10 11 12 最大ウインドウサイズ = 受信側のバッファサイズ (rwnd: Receiver’s Window) データ パケット ACK 受信側 次次次次 はははは 次次次次 はははは 次 は 確認応答(ACK)番号 2 3 4 5 6 7 8 9 10 8 情報通信技術論/インターネット工学 再送制御 (タイムアウト) 一定期間 RTO (Retransmission Time Out) 1 1 2 送信側 パケットロス 受信側 次 は 2 あるパケットに対するACKがRTO以内に返ってこない場合、 そのパケットは喪失したものと判断する再送 9 情報通信技術論/インターネット工学 再送制御 (重複ACK) 3つ目の重複ACKを受信再送 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が示しているパケットは喪失したものと判断再送 10 情報通信技術論/インターネット工学 実験1-3 0 4 (ボトルネックリンク) 2 40Mbps 帯域: Bw FTP/TCP 3 40Mbps 5 1 FTP ダウンロード TCP Agent TCPSink Agent ネットワーク ルータ ネットワーク 11
© Copyright 2024 ExpyDoc