1 / 90

ネットワーク技術 II

ネットワーク技術 II. 第11 .1 課 TCP/IP トランスポート層 http://www.info.kindai.ac.jp/NetEngII 38 号館 4 階 N-411 内線 5459 takasi-i@info.kindai.ac.jp. OSI モデルトランスポート層. TCP/IP トランスポート層. トランスポート層の役割. 送信元ホストと宛先ホストの間に論理的な接続を確立する フローの制御 信頼性の確保. トランスポート層の転送サービス. 上位レイヤのアプリケーションデータの分割 エンドツーエンドにわたる接続の確立

admon
Download Presentation

ネットワーク技術 II

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. ネットワーク技術II 第11.1課 TCP/IPトランスポート層 http://www.info.kindai.ac.jp/NetEngII 38号館4階N-411 内線5459 takasi-i@info.kindai.ac.jp

  2. OSIモデルトランスポート層

  3. TCP/IPトランスポート層

  4. トランスポート層の役割 • 送信元ホストと宛先ホストの間に論理的な接続を確立する • フローの制御 • 信頼性の確保

  5. トランスポート層の転送サービス • 上位レイヤのアプリケーションデータの分割 • エンドツーエンドにわたる接続の確立 • 一方のエンド ホストからもう一方のエンドホストへのセグメントの転送 • スライディング ウィンドウを利用したフロー制御 • シークエンス番号と確認応答を利用した信頼性の保証

  6. TCPとUDP • トランスポート層のプロトコル • TCP(Transmission Control Protocol) • コネクション型 • データ送信の確実性を重視 • UDP(User Datagram Protocol) • コネクションレス型 • データ送信の効率を重視

  7. TCP(Transmission Control Protocol) • 伝送制御プロトコル • コネクション型 • 信頼性が高い • 発信するメッセージをセグメントに分割する • 宛先のステーションでメッセージを再構成する • 受信されなかったものをすべて再送する • 到着セグメントのメッセージを再構成する

  8. TCPの機能 • エンドツーエンド操作の確立 • スライディング ウィンドウを利用したフロー制御 • シーケンス番号と確認応答を利用した信頼性の確保 10番のデータを送信しました 10番を受信しました 11番を送ってください

  9. UDP(User Datagram Protocol) • ユーザデータグラムプロトコル • コネクションレス型 • 信頼性が低い • メッセージ(ユーザ・データグラム)を転送する • メッセージの配送でソフトウェアによるチェックを行わない(信頼性が低い) • 到着メッセージを再構成しない • 確認応答を行わない • フロー制御を行わない

  10. TCPとIP • IP • レイヤ3プロトコル • コネクションレス型 • ネットワークを通じてベストエフォート(最善の努力はするが保障はしない)型の配送を行う • TCP • レイヤ4プロトコル • コネクション型 • フロー制御を行い、信頼性がある

  11. この2つを組み合わせることで信頼性のある通信が可能この2つを組み合わせることで信頼性のある通信が可能

  12. 配送システム • コネクション型 • 送受信間で接続を確立してからデータ伝送 • 全てのパケットを同じ経路で転送 • パケットの送信順に到達 • コネクションレス型 • 送受信間で接続を確立せずにデータ転送 • パケットごとに異なる伝送経路 • パケットの到達順序はバラバラ

  13. コネクション型とコネクションレス型 コネクション型は電話 ABC ABC コネクションレス型は郵便 手紙1 手紙3 手紙2 手紙1 〒 〒 手紙3 手紙2

  14. コネクション型 データ1 データ1 データ2 データ2 データ3 データ3 ホストA ホストB

  15. コネクションレス型 データ1 データ1 データ2 データ2 データ3 データ3 ホストA ホストB

  16. ? IP • コネクションレス型 • 順番通りに届くかわからない • ベストエフォード型通信 • 確実に届くかわからない データ1 データ1 データ2 データ2 データ3

  17. レイヤ3からレイヤ4へ • コネクションレス型→コネクション型 • ベストエフォード型→信頼性あり これらを保障するのがレイヤ4の役割 ホストX ホストY

  18. コネクション型のフェーズ • コネクション確立フェーズ • 送信元と宛先に単一の経路を定める • データ転送フェーズ • 確立された経路でデータを順次転送する • コネクション終了フェーズ • 接続を終了する

  19. 不確かな会話 • 外国語で会話する場合 • 確実に伝わるかどうかわからない ゆっくりしゃべる 何度も繰り返ししゃべる 相手がうなずいたら次の話をする

  20. フロー制御 速過ぎて聞き取れません 相手に聞き取れる範囲の速さにしないと伝わらない

  21. フロー制御 どれくらいの速さで 通信しますか? 今忙しいので ゆっくりにしてください フロー制御により双方に最適な通信速度が決定される

  22. 同期 同期 確認応答 データ 確認応答 接続の確立 接続のネゴシエーション開始 接続確立 データ転送開始

  23. ポート ポート データ データ ポート データ 会話の多重化 ホスト間を接続 アプリケーション 電子メール ファイル転送 端末セッション プレゼンテーション セッション トランスポート セグメント 複数のアプリケーションが同一の接続を使用可能

  24. データ1 データ2 データ3 バッファ 受信したが処理が未だのデータは 一時的にバッファに保存される バッファ データ1 データ2 バッファが満杯なので データ3は破棄

  25. 輻輳の発生 • 輻輳(congestion) • ネットワークの容量を超えるトラフィック • ネットワークでの輻輳 • 送信ホストが速過ぎるためにネットワークが処理しきれない • 宛先ホストでの輻輳 • 複数のホストから多量のデータが送られてきて宛先ホストが処理しきれない

  26. 輻輳 ネットワークでの輻輳 〒 郵便局 狭い道なので渋滞発生 宛先ホストでの輻輳 〒 郵便局 来た郵便が多過ぎて 処理しきれない

  27. データ1 データ2 フロー制御 バッファ データ1 データ2 バッファが満杯になると not ready (準備中)信号を 送信, 転送側に準備ができるまで待ってもらう

  28. データ1 データ2 データ3 フロー制御 バッファ データ3 バッファが空くと ready (準備完了)信号を送る

  29. 接続の確立 • 接続を確立するには双方のシークエンス番号を同期させる必要がある これから10番の 仕事をします 相手はこれから 10番の仕事をする

  30. ポート ポート データ データ シークエンス番号同期の目的 • 遅れて届いたセグメントかどうか確認する 返事が無いから 再送しよう このセグメントは いつ送られた物?

  31. 3ウェイハンドシェイク • 接続の確立は3ステップ • 送信側がシークエンス番号を送信 • 受信側がACKとシークエンス番号を送信 • 送信側がACKを送信

  32. SYN受信 (seq = x) SYNおよびACK受信 (seq = y, ack = x+1) ACK受信 (ack = y+1) 3ウェイハンドシェイク SYN送信 (seq = x) SYNおよびACK送信 (seq = y, ack = x+1) ACK送信 (ack = y+1)

  33. ACK • 確認応答(acknowledgemnet) • メッセージを正しく受信したことの確認返答 ACKが無い限りはメッセージが正しく 受信されていないとして再送信する • (参考) NAK • 否定確認応答(negative acknowledgment) • メッセージにエラーがあったことを通知

  34. ACKとNAK わかりました。次の話題を お願いします。 ACK : 正しく届いたときに返事 NAK : エラーを含んで届いたときに返事 聞き取れません。 もう1度言ってください。

  35. データ送信とACK • データを受信するとACKを返す 10番のデータを 送ります 受け取りました 11番を送ってください 期待値ACK : 次に送って欲しいパケットの番号

  36. NAK NAK ACKを使う理由 • NAKを使った場合 • データが宛先にエラー入りで届いた • データが宛先に届かなかった • データにエラーがあったのでNAKを返したがそのNAKが送信元に届かなかった NAKが来なかった場合、正しく届いたからなのか、 データが届いていないのか送信元は区別できない

  37. 送信 1 送信 2 送信 3 ACK 2 ACK 3 ACK 4 TCP基本ウィンドウ 次に送って欲しい パケットの番号を 返答する

  38. 送信 1 送信 1 送信 1 タイマ起動 タイマ起動 タイマ起動 ACK 2 ACK 2 確認応答 一定時間の間に ACKがなければ 再送信

  39. 送信 1 送信 1 送信 4 送信 5 送信 2 ACK 2 送信 6 送信 3 送信 2 ACK 7 ACK 4 ACK 3 送信 3 ACK 4 ウィンドウサイズ • ACKが来るまで送信可能なメッセージ数 ウィンドウサイズ 1 ウィンドウサイズ 3

  40. 送信 1 送信 2 送信 3 送信 3 送信 4 送信 5 送信 5 送信 6 ACK 3 ACK 5 ACK 7 ウィンドウ制御 ウィンドウサイズ3で送ろう バッファサイズ2 速過ぎたので サイズ2にしよう

  41. 送信元 ポート 宛先 ポート シークエンス 番号 確認応答番号 送信元 送信元 送信元 宛先 宛先 宛先 Seq Seq Seq Ack Ack Ack 23 1028 1028 1028 23 23 10 1 11 11 2 1 TCPのシークエンス番号 TCPセグメントのヘッダ(一部) 10番のデータを 送ります 受け取りました 11番を送ってください

  42. TCPセグメントのフォーマット

  43. TCPセグメントのフォーマット データを送信する ポートの番号 データを送信する ポートの番号

  44. TCPセグメントのフォーマット データが正しい順序で着信することを保証するための番号

  45. TCPセグメントのフォーマット 予想される次のTCPオクテット (TCPセグメント)

  46. TCPセグメントのフォーマット ヘッダの長さ (ワード(32b)単位)

  47. TCPセグメントのフォーマット 0で埋められる

  48. TCPセグメントのフォーマット セッションの確立・終了等の 制御機能を実行するビット

  49. TCPセグメントのフォーマット 送信側が受け入れ可能な TCPオクテット(セグメント)の数

  50. TCPセグメントのフォーマット TCPセグメント全体のチェックサム

More Related