12
TCPFTP 演習第5情報通信技術論 インターネット工学

TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

TCPとFTP

演習第5回

情報通信技術論

インターネット工学

Page 2: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

1

トランスポート層のプロトコル

信頼性 (相手に確実に届く保証がある) – 再送制御あり

ファイル転送・メール・Web 等に使用される

応用層 FTP, CBR

HTTP, SMTP

トランスポート層 TCP UDP

ネットワーク層 IP

物理・データリンク層 Ethernet

TCP (Transmission Control Protocol)

FTP (File Transfer Protocol)

POP (Post Office Protocol)

SMTP (Simple Mail Transfer Protocol)

IMAP (Internet Message Access Protocol)

HTTP (Hyper Text Transfer Protocol)

FTP POP SMTP IMAP

HTTP

Page 3: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

2

階層アーキテクチャ

送信側 受信側

データ

データ

データ

データ

データ

データ

データ

データ

TCPヘッダ

IPヘッダ

Ethernetフレームヘッダ Ethernetフレームヘッダ

IPヘッダ

TCPヘッダ 付加

付加

付加

解析

解析

解析

通信媒体(LANケーブル・光ケーブル・無線など)

送出 受信

応用層

トランスポート層

ネットワーク層

物理・

データリンク層

Page 4: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

3

TCPパケット・TCPヘッダ

データ IPヘッダ イーサネット

ヘッダ TCPヘッダ

発信元ポート番号

(16bit)

宛先ポート番号

(16bit)

シーケンス番号

(32bit)

確認応答(ACK)番号

(32bit)

ヘッダ長

(4bit)

予約済み

(6bit)

UR

G

AC

K

PS

H

RS

T

SY

N

FIN

ウインドウサイズ

(16bit)

チェックサム

(16bit)

緊急ポインタ

(16bit)

(オプション)

データ

Page 5: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

4

TCPヘッダ

シーケンス番号

– 送信したデータの位置を示す

– データを送信する度に、送信したデータのバイト数だけ加算される

(※ ns-2では、送信する度に1ずつ加算される)

確認応答(ACK: Acknowledge)番号

– 次に受信すべきデータのシーケンス番号

確認応答番号から1を引いた値までのデータを受信したことになる

次に送るデータのシーケンス番号と返された確認応答番号が 同じ場合には、正常に通信が行われたことになる

(※ ns-2では、連続して正常に受信されたデータの最大シーケンス番号である。

つまり、送ったデータのシーケンス番号とその確認応答番号が一致した場合、 正常に通信が行われていることになる。)

Page 6: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

5

ACKによる信頼性の確保

データ

パケット

送信側

受信側

1 2

2

3

3

4

シーケンス番号

確認応答(ACK)番号

ACK

1つのセグメントを受信するごとに確認応答をすると効率が悪い

もっと大きな単位で確認応答すればよいのでは?

Page 7: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

6

ウインドウ制御の導入

送信したセグメントに対する確認応答を待たずに、複数のセグメントを送信

データ

パケット

送信側

受信側

1 2 3 4 5 6 7 8

2

3

4

5

6

7

8

9

9 10 11 12

10

シーケンス番号

確認応答(ACK)番号

ACK

ウインドウ

※ ウインドウサイズ:ACKを待たずに送信できるデータの大きさ

Page 8: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

7

ウインドウ制御で速度向上

ウインドウサイズを変化させてレート調節を行う

データ

パケット

送信側

受信側

1 2

2

3

3

4

シーケンス番号

ACK番号

ACK

送信側

受信側

1 2 3 4 5 6 7 8

2

3

4

5

6

7

8

9

9 10 11 12

10

シーケンス番号

ACK番号

ACK データ

パケット

ウインドウサイズ = 1セグメント の場合 ウインドウサイズ = 4セグメント の場合

Page 9: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

8

データ

パケット

最大ウインドウサイズ

ウインドウサイズ = 4セグメント の場合

送信側

受信側

1 2 3 4 5 6 7 8

2

3

4

5

6

7

8

9

9 10 11 12

10

シーケンス番号

確認応答(ACK)番号

ACK

ウインドウ 最大ウインドウサイズ

受信側のバッファサイズ (rwnd: Receiver’s Window)

Page 10: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

9

再送制御 (タイムアウト)

送信側

受信側

パケットロス

一定期間 RTO

(Retransmission Time Out)

1 1

2

2

あるパケットに対するACKがRTO以内に返ってこない場合、 そのパケットは喪失したものと判断する再送

Page 11: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

10

再送制御 (重複ACK)

送信側

受信側

1

9

7

一度受け取ったACKと同じものを3回連続して受け取った場合、 そのACKが示しているパケットは喪失したものと判断再送

2 3 4 5 6 2

2

2

2

2

2

3つの重複ACK

2

8 9 10 11

10

11

2

12

3つ目の重複ACKを受信再送

Page 12: TCPとFTP...情報通信技術論/インターネット工学 1 トランスポート層のプロトコル 信頼性 (相手に確実に届く保証がある) –再送制御あり

情報通信技術論/インターネット工学

11

実験1-3

0

1

4

5

2 3

FTP/TCP

(ボトルネックリンク)

帯域: Bw

40Mbps 40Mbps

FTP

TCP Agent

ネットワーク ルータ

ダウンロード

TCPSink Agent

ネットワーク