ネットワークアーキテクチャ 第8回(2004/11/29) トランスポート層のアーキテクチャ 慶應義塾大学 環境情報学部 村井純 2004年度秋学期 復習:インターネットのアーキテクチャ 識別子の定義と割当 (Addressing) 通信の相手を特定 階層的な定義域毎で一意性を保証 e.g. MACアドレス、IPアドレス、ポート番号 それぞれのレベル(ドメイン)で責任を担保 インターネットの洗練された抽象化 経路選択によるパケットの転送 (Routing) パケットの宛先に届くように経路選択 宛先に到達するための経路にあたるネットワークがどれかを 決定 経路表 (routing table) 該当経路にあるネットワーク(next hop)へ転送 (forwarding) 1 IPの基本 バケツリレー方式 中継ノードは自分宛てパケットでなければ次へ(TTL-1) 判断はネットワーク層で行う 通信終了 転送はリンク層(ARPによる対応) TTL -1 TTL -1 TTL -1 通信開始 中継ノード3 中継ノード1 送信先 中継ノード2 発信元 経路制御の概念 「終点・次ホップ・インターフェース」の組 終点:ネットワークアドレス 次ホップ:IPアドレス Routing Table Lookup Dst NH I/F A B B N1 C B N1 D B N1 N1 Routing Table Lookup Dst NH I/F A A N1 C C N2 D D N3 B AからDへの通信 C N2 D N3 2 トランスポート層の アーキテクチャ トランスポート層の役割 2. 通信のend pointを一意に定義する 通信の性質を決める フローの形成 1. ①通信するホストのIPアドレス (ネットワーク層によって提供) ②トランスポートプロトコル ③ポート番号 3 通信の性質を決める : 手紙とFAXの例 手紙 送った順番には届か ない 送信者の動作は単純 順番を考えずに転送 受け取ったら次に渡す 相手を指定 FAX同士が準備する (初期化) データを転送 終了処理 中継者の動作は大変 通信中通信路を確保 受信者の動作は少し 複雑 データグラムという 必ず送った順番に届く 送信者の動作は少し 複雑 あて先を明記 ポストに投函 受信者の動作は複雑 受け取った手紙を順番に FAX 中継者の動作は単純 送信者と協調して動作 バーチャルサーキット という バーチャルサーキット 4 データグラム コネクション指向・コネクションレス トランスポート層の大きな役割のひとつ 通信の性質を決める トランスポート層ではUDP/TCPとして提供される UDP(User Datagram Protocol) 信頼性のないデータグラム型通信 CL (Connectionless) TCP(Transmission Control Protocol) 信頼性のあるストリーム型通信 CO (Connection Oriented) Virtual Circuit 5 ポート番号 1つのホスト中で個別の通信を識別する。 フローは、(ホストAのIPアドレス、ポート番号)と (ホストBのIPアドレス、ポート番号)の組み合わせ で識別される サービス毎の識別子 16bit(65536) トランスポートプロトコル独立 Wellknownポート(1∼1023番) ftp dns 21番 telnet 23番 53番 http 80番 /etc/services フローの形成(HTTPによる接続の例) クライアント サーバ クライアントのポート64381番 からサーバのポート80番まで のフローが形成される アプリケーションHTTP Client TCP Port 64381 IP 133.27.61.175 ネットワーク 物理 HTTP Server Port 80 203.178.143.233 アプリケーション TCP IP ネットワーク 物理 6 UDP User Datagram Protocol コネクションレス データグラム型通信 要は、、、、、 パケットのサイズを決めて一方的に相手に送 りつける 相手が受け取れているかはおかまいなし UDPデータフローの特徴 到達パケットの完全性 UDPチェックサム検証 ホスト到達性非保証 ポート到達不可検知 ICMP Port Unreachable 7 UDPヘッダフォーマット 0 15 16 31 発信元ポート番号 宛先ポート番号 UDPデータ長 UDPチェックサム データ UDPを用いたサービスの種類 パケット損失率や伝播遅延の変動が少な い安定した通信路を想定 即時性、実時間性重視 NFS, TFTP, SNMP DNS, 音声/動画ストリーミングアプリケーショ ン 一対多通信 ブロードキャスト/マルチキャストアプリケー ション 8 RTP Real-time Transport Protocol UDPデータグラムのペイロードに対する情 報付加 シーケンス番号 タイムスタンプ ペイロードタイプ ,etc. RTP/UDPを用いるアプリケーション VoIP DVTS TCP コネクション指向 ストリーム型通信 特徴 信頼性を提供する 到達するパケットの完全性を保証 データの逐次性&到達性保証 9 TCPの仕組み(コネクションの確立方法) 3 way handshake SYN: コネクションを初期化する ACK: 確認応答 コネクション要求者 アクティブオープン コネクション提供者 SYN パッシブオープン SYN + ACK ACK コネクション 確立 TCPの仕組み(再転送) パケット送信者 3 2 1 パケット受信者 1パケット目送信 1パケット目届いた 2パケット目送信 あれ? 返事がない しょうがない もう1回送ろう 1 Packet loss 1 2パケット目送信 2パケット目届いた 3パケット目送信 3パケット目届いた 2 1 3 2 1 10 再転送タイマー 転送実行毎にタイマー起動 RTTを平滑化した値に基づく 低遅延ネットワーク ⇒ 短いタイマー 高遅延ネットワーク ⇒ 長いタイマー タイマー再起動 指数Back-off 最大値64sec TCPの仕組み(状態遷移) CLOSED Passive open Close Active open/SYN LISTEN SYN/SYN+ACK SYN SYN_RCVD ACK Close/FIN ACK/ACK+SYN ESTABLISHED FIN/ACK Close/FIN FIN_WAIT_1 ACK FIN_WAIT_2 Close SYN_SENT FIN/ACK Close/FIN CLOSING FIN+ACK/ACK FIN/ACK CLOSE_WAIT ACK LAST_ACK ACK Passive close TIME_WAIT Active close 11 LONG FAT PIPE問題 帯域は増えるが遅延は減らない XXXbpsの専用線→「速さ」ではなく「太さ」 高速で遅延の大きなネットワーク 大規模データの高速転送は難しい Advertised Window ControlおよびCongestion Window Controlが Ackの遅延時間に直接影響されるため Network Bandwidth (bps) RTT (ms) BWxRTT (B) Ethernet 100M 3 37500 T1(大陸間) 1.5M 60 11.25 T(衛星) 1.5M 500 93.75 T3(大陸間) 45M 60 337500 OC12(大陸間) 622M 60 4665000 OC192(大陸間) 9600M 60 72000000 いい子、悪い子共存モデル お父さん テレビ:UDP 5Mbps • TCPとUDPがぶつかると TCPが減る • UDPはパケット垂れ流し お母さん 電話:UDP 64Kbps 僕 ADSL ルータ ADSL8M ファイル転送:TCP 100MB Internet Internet 12
© Copyright 2024 Paperzz