1 / 33

Ibaraki Univ. Dept of Electrical & Electronic Eng.

2013.12.17. 情報ネットワーク. Ibaraki Univ. Dept of Electrical & Electronic Eng. Keiichi MIYAJIMA. TCP と UDP 2. TCP の役割. TCP は複雑. TCP の役割を一言で言うと、                        「アプリケーションプログラムを作る人が楽ができる環境を提供する」. なぜか?. IP には様々な制約があった. 他にも・・・. パケットの喪失. ふくそう(輻輳). 順番が入れ替わる. 回線速度が一定でない. データの破壊.

clarke
Download Presentation

Ibaraki Univ. Dept of Electrical & Electronic Eng.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2013.12.17 情報ネットワーク Ibaraki Univ. Dept of Electrical & Electronic Eng. Keiichi MIYAJIMA

  2. TCPとUDP2

  3. TCPの役割 TCPは複雑 TCPの役割を一言で言うと、                        「アプリケーションプログラムを作る人が楽ができる環境を提供する」 なぜか? IPには様々な制約があった 他にも・・・ • パケットの喪失 • ふくそう(輻輳) • 順番が入れ替わる • 回線速度が一定でない • データの破壊 これらのことを考えて、アプリケーションを作るのは大変 UDPではこれらのことを全て考えてプログラムを作る必要がある

  4. TCPの役割 TCPは複雑 そこで・・・ アプリケーションを作る人が、ネットワークの細かい挙動について意識しなくても、高性能な通信ができるプログラムをたやすく作ることができるようにしたい • 一定で無い回線速度でも自動で制御 • パケットの喪失したら再送して復元 • ふくそう(輻輳)が発生したら送信量を自動で減らす このような機能をもったものがTCP

  5. セグメント TCPのパケットサイズ:セグメント TCPが区切るメッセージの最大オクテット長: 最大セグメント長(MSS:Maximum Segment Size) TCPでは、最大セグメント長を決定してから通信を開始する 最大セグメント長は、第4章(11月26日の講義)でおこなった、IP分割処理(IPフラグメント)が起きない最大の大きさに設定される。 極力、通信の無駄が発生しないように設定される TCPの再送制御や、ふくそう(輻輳)制御では、最大セグメント長を考慮して処理が行われる

  6. 再送制御 IPでは、データが目的のコンピュータまで届いたかどうかを保証しない 届いたことを保証するのがTCPの最も重要な役割 ではどうするか? 端末の両端で確認し合いながら通信すればよい • シーケンス番号 • 確認応答(ACK)

  7. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号:0 確認応答番号 1460オクテット ホストA

  8. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号: 確認応答番号:1460 ホストA

  9. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号:1460 確認応答番号 1460オクテット ホストA

  10. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号: 確認応答番号:2920 ホストA

  11. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号:2920 確認応答番号 1460オクテット ホストA

  12. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号: 確認応答番号:4380 ホストA

  13. 再送制御 ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号:4380 確認応答番号 1460オクテット ホストA この繰り返し

  14. 再送制御(パケット喪失時) ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号:2920 確認応答番号 1460オクテット ホストA

  15. 再送制御(パケット喪失時) ホストB • シーケンス番号 • 確認応答(ACK) × ホストA パケットが喪失し、ホストBに届かない

  16. 再送制御(パケット喪失時) ホストB • シーケンス番号 • 確認応答(ACK) ホストA 一定時間待つ

  17. 再送制御(パケット喪失時) ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号:2920 確認応答番号 ホストA 一定時間待っても、確認応答がこないため、再送を行う

  18. 再送制御(パケット喪失時) ホストB • シーケンス番号 • 確認応答(ACK) シーケンス番号: 確認応答番号:4380 ホストA 確認応答が返ってきたら、次を送信

  19. TCPの内部変数(TCB) データの到達性を保証するために、TCPモジュール間でシーケンス番号と、確認応答番号の値を記憶しておく必要がある。 TCB(Transmission Control Block): snd.una まだ確認応答されていないシーケンス番号 snd.nxt 次に送るシーケンス番号 送信ウィンドウ snd.wnd snd.cwnd ふくそうウィンドウ iss シーケンス番号の初期値 mss 送信セグメントの最大長 rtt セグメントを送ってから確認応答を受信するまでにかかった時間 rcv.nxt 次に受信するデータセグメントのシーケンス番号 rcv.wnd 受信ウィンドウ irs 確認応答番号の初期値

  20. コネクションの管理 SYN(コネクション確立要求) ホストB TCPでは、データセグメントの送信を開始する前に、通信相手との間にコネクションを確立する ホストA

  21. コネクションの管理 ホストB コネクションの確立 ACK(SYNに対する確認応答) SYN(コネクション確認要求) ホストA

  22. コネクションの管理 ホストB コネクションの確立 ACK(SYNに対する確認応答) ホストA

  23. コネクションの管理 ホストB コネクションの確立 ホストA 論理的なコネクションが確立されたら、データが転送される

  24. コネクションの管理 ホストB コネクションの切断 FIN(コネクション切断要求) ホストA コネクションを切断するときは、これ以降送るデータがないことを意思表示し、切断する

  25. コネクションの管理 ホストB コネクションの切断 ACK(FINに対する確認応答) ホストA

  26. コネクションの管理 ホストB コネクションの切断 FIN(コネクション切断要求) ホストA

  27. コネクションの管理 ホストB コネクションの切断 ACK(FINに対する確認応答) ホストA

  28. フローの制御(ウィンドウフロー制御) ウインドウサイズ ホストB 一度に受信可能な大きさを通知 1パケット(セグメント)毎に確認応答セグメントをやりとりしていたのでは、効率が悪い(大きなスループットを得られない)。 そこで、・・・ 一度に複数のデータセグメント(パケット)を送ってしまえばよい。 ホストA

  29. ふくそう(輻輳)制御 ホストB ホストB • ネットワークが混んでいるとき ホストA ネットワークの混雑度を判断して、送信データ量を調整する • ネットワークが空いているとき ホストA

  30. ふくそう(輻輳)制御 ACK(確認応答) ホストA ホストB 混雑度をどうやって判断するか? ACK(確認応答)がどのくらいきちんと返ってくるかで、混雑度を判定

  31. データの信頼性 ヘッダ中のチェックサムで信頼性を保つ

  32. 本日のまとめ TCPとUDP 2 • TCP TCPの役割、セグメント、再送制御、TCPの内部変数(TCB)、        コネクションの管理、フロー制御、    ふくそう(輻輳)制御、信頼性

  33. 本日の課題 • TCPの主な役割について、説明しなさい。 (H18秋 改) 2. TCPのヘッダ部分(疑似ヘッダではない)に含まれている情報を全て記せ (H17秋,H15秋 類)

More Related