詳解TCP/IP TCPタイムアウトと再転送 れにうむ.

Slides:



Advertisements
Similar presentations
TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
Advertisements

情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
第2章 第2節 情報通信の効率的な方法 1 情報の容量と伝送の特性 2 データの圧縮 3 エラー検出とエラー訂正
Timeout と再送 往復時間 予知が困難 他のトラフィックに依存 適応再送アルゴリズム データの採取.
インターネットの仕組み 例) Web閲覧 インターネット サーバ リクエスト データ 携帯電話 一般家庭 インターネットサービス
Ibaraki Univ. Dept of Electrical & Electronic Eng.
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
Webプロキシサーバにおける 動的資源管理方式の提案と実装
ネットワークと コミュニケーション技法 第7回 - インターネット(1) -.
前回の課題 IPv6アドレス IP ARP ICMP NAT インターネット層 2003年12月4日 情報ネットワーク論 新村太郎.
ラウンドトリップタイムを指標とした 無線LAN のためのアクセスポイント選択手法
ネットワーク層.
アルゴリズムイントロダクション第5章( ) 確率論的解析
TCP Timeout and Retransmission
神奈川大学大学院工学研究科 電気電子情報工学専攻
自律分散協調システム論 第13回「TCPと輻輳制御/QoS制御」
TCP (Transmission Control Protocol)
TCP Tahoeのウインドウ制御 (復習)
ネットワーク検知技術の最適化への ハイブリッド・アプローチ
HTTP proxy サーバにおける 動的コネクション管理方式
構造化オーバーレイネットワークに適した 分散双方向連結リストDDLL
ネットワーク コミュニケーション トランスポート層 TCP/UDP 6/28/07.
詳解TCP/IP ACE B2 mewtwo.
TCP基礎講座 徳田研 ECN sada.
コンピュータとネットワークのしくみ 情報通信ネットワークのしくみ.
センサノード 時刻同期と位置測定 浅川 和久 2008/11/16 センサノード 時刻同期と位置測定.
i-Pathルータのフロー情報を用いたDoS攻撃検知法
輪講: 詳解TCP/IP ACE B3 suzuk.
トランスポート層.
ネットワーク性能評価.
予備親探索機能を有した アプリケーションレベルマルチキャスト
認証と負荷分散を考慮した ストリーミングシステムに関する研究
伝送特性に応じた 適応型映像・音声配信機構の構築
サーバ負荷分散におけるOpenFlowを用いた省電力法
画像情報特論 (3) - TCP/IP (2) TCP (Transport Control Protocol)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
TCP/UDP プロセス間の通信のためのプロトコル TCP:信頼性高、処理時間大 UDP:信頼性低、処理時間小 ftp SMTP HTTP
インターネットの基礎知識 その3 ~TCP・UDP層編~
DiffServにおけるクラスの新しい設定方法の提案
i-Pathルータのフロー情報を用いたDoS攻撃検知法
第9章 Error and Control Messages (ICMP)
ソケットプログラム(TCP,UDP) EasyChat開発
第15章 TFTP:トリビアル・ファイル転送プロトコル
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ネットワーク技術II 第9.1課 TCP/IPプロトコルスイート
画像情報特論 (3) - TCP/IP (2) TCP (Transport Control Protocol)
画像情報特論 (3) - マルチメディアインフラとしてのTCP/IP (2)
画像情報特論 (3) - TCP/IP (2) TCP (Transport Control Protocol)
超高速ネットワークの弱点 光は速い 光は遅い 300km / 1msec (真空中) 180km / 1msec (光ファイバ中)
セキュリティ(2) 05A2013 大川内 斉.
第7回 条件による繰り返し.
UDPマルチキャストチャット    空川幸司.
ジャンボフレーム 学籍番号:3603U072-0 氏名:塩津達郎.
アナライザ パケットを収集 測定用のマシン 通信.
演習第6回 情報通信技術論 インターネット工学
2009年12月4日 ○ 前田康成(北見工業大学) 吉田秀樹(北見工業大学) 鈴木正清(北見工業大学) 松嶋敏泰(早稲田大学)
非対称リンクにおける ジャンボフレームの性能評価
超高速ネットワークの弱点 光は速い 光は遅い 300km / 1msec (真空中) 180km / 1msec (光ファイバ中)
TCP制御フラグの解析による ネットワーク負荷の推測
レポート課題 レポートの提出は による。 提出期間を厳守する。 締切は2010年1月12日(火)
LAN(TCP/IP) インターネットワーキング編
OSI7層に関係する機器、仕様、機能など 物理層 データリンク層 ネットワーク層 トランスポート層 セッション層 プレゼンテーション層
GbEにおける TCP/IP の研究について
レポート課題1 基本問題:  課題1. あるマシンまでのRTT (Round Trip Time)を測定したところ 128msec(ミリ秒)であった。このマシンに対してウィンドウサイズ64KByteでTCPの通信を行う場合のスループットの予想値を計算せよ。 ヒント1: 授業中に説明したように、スループットの値は、ウィンドウサイズを往復遅延時間で割れば良い。Byteとbitの換算に注意する。計算を簡単にするために1024≒1000として計算して良い(もちろん、この概算を使わなくても良い)。スループットは、ど
7月13日の演習問題・解答例 について ネットワーク長が 18、22、26、28 の場合の
画像情報特論 (3) - TCP/IP (2) TCP (Transport Control Protocol)
プログラミング入門2 第5回 配列 変数宣言、初期化について
TCP/IPの通信手順 (tcpdump)
ソケットの拡張によるJava用分散ミドルウエアの高信頼化
Presentation transcript:

詳解TCP/IP TCPタイムアウトと再転送 れにうむ

イントロダクション TCP4種類のタイマー 再転送タイマ 持続タイマ キープアライブタイマ(相手通信可能?) 2MSLタイマ 今回 次章で解説 キープアライブタイマ(相手通信可能?) 次の次の章で解説 2MSLタイマ すでに解説(18章6節)

再転送タイマー シンプルなタイムアウト・再転送 ACKが帰ってこない時、再転送間隔は四捨五入すると、たとえば 1s 3s 6s 1s 24s 48s 64s 64s … 64sを最大値にして指数関数的に増えていっている このように増加することを指数バックオフという

往復時間の測定 往復時間(RTT)測定の必要性 RTT評価値 往復時間を測定することによりTCPはタイムアウトを適正な時間に補正する 以下、往復時間をM,RTT評価値をRとする

往復時間の測定 RTT評価値 R ← αR + ( 1 – α )M で、更新されていく ←は代入 右辺のRは更新前のR αは「 新しい測定値がどのくらい評価値に影響をあたえるか 」という係数(0<α<1) デフォルトは0.9

往復時間の測定 再転送タイムアウト値(RTO) 転送したデータが、届かなかったと判定し、再送するまでの時間 RTO=Rβ で計算される 往復時間評価値のβ(遅延分散系数)倍 βのデフォルトは2

往復時間の測定 前ページの再送の欠点 必要でない再転送により生じるRTTの変動に対応できない Jacobsonが新しい計算式を提案

往復時間の測定 Jacobsonの計算式 Err = M – A A ← A + g Err M(RTT測定値) A(RTT評価値) A ← A + g Err gは係数デフォルトが0.125 D ← D + h ( | Err | - D ) D(平滑化された平均偏差) h(偏差の変数0.25) RTO = A + 4D RTO(再転送タイムアウト値)

コラム Karnのアルゴリズム 再転送をした場合帰ってきたACKがどれに対するものかわからない 正確な往復時間を知ることができない 再送された通信ではRTOを更新しない

実際の計算 初期のRTO RTO=A + 2D この時の初期値はA=0、D=3 2Dははここだけで使って以降は4D

実際の計算 一回ACKが到着後A/D初期化 A = M + 0.5 D=A/2

輻輳制御 輻輳状態 あるポイントでルータの限界に達すじて、パケットが破棄される状態

輻輳制御 前提 パケットの消失はほぼ原因は輻輳 実際、破損での消失は1%未満

輻輳制御 パケット消失の検知 タイムアウトの発生 重複ACKの受信

輻輳制御 重複ACK 予想していたパケットを飛ばしてパケットを受信した場合、そのデータをセーブして、前回と同じ番号のACKを送る。 飛ばされたものが送られるまで繰り返す。 同じACKの受信でデータの消失を探知する

輻輳制御 輻輳回避とスロースタート スロースタート 輻輳回避 データ送信開始時に徐々に送信セグメントを増やす スロースタートで増やした結果輻輳がおもったら輻輳回避

輻輳回避 輻輳ウィンドウとスロースタート閾値 輻輳ウィンドウ(以下 cwnd) スロースタート閾値(以下 ssthresh) 確認応答を待たずに送っていいセグメント数 スロースタート閾値(以下 ssthresh) スロースタートをする基準値

輻輳回避 実際の動作 1 コネクション初期化時 cwnd 1セグメント ssthresh 65535バイト

輻輳回避 実際の動作 2 TCPでは、受信側が広告したウィンドウサイズか、cwndを超えた送信をしない 前者は受信者側のフロー制御 後者は送信者側のフロー制御

輻輳回避 実際の動作 3 輻輳が発生 現行ウィンドウサイズの半分をssthreshに 輻輳の検知がタイムアウトの場合cwndは1 要するに、スロースタートしだす

輻輳回避 実際の動作 4 cwndがssthreshと等しい又は小さい場合 スロースタートを行う 確認応答が帰ってくるたびにssthresh以下の範囲でcwndを指数関数的に増やす ssthreshは問題があったウィンドウサイズの半分

輻輳回避 実際の動作 4 続 cwndのサイズがssthreshを越した時 輻輳回避を行う

輻輳回避 輻輳回避 輻輳回避では、確認応答が帰ってくるたび、cwndを1/cwndごと増加させ、セグメントサイズの断片を加算 スロースタートよりゆっくりな増加

高速再転送 説明する前に… TCPでは順番の違うセグメントを受け取った時に遅滞なく重複ACKを送らねばならない。

高速再転送 消失の判定 重複ACKを1-2個受け取っただけでは順序の入れ替えが起こっただけの可能性も高い 再転送タイマが切れる前に再転送する この時、スロースタートはしない

高速再転送 具体的な動作 1 3番目の重複ACKが送られてくる ssthreshがcwndのサイズの半分に そして、消失セグメントを再転送 cwndサイズを一時的にssthreshにセグメントサイズの3倍を加えたものにする

高速再転送 具体的な動作 2 別の重複ACKが来る cwndをセグメントサイズ単位で増加させてパケット送信

高速再転送 具体的な動作 3 新しい確認応答が到着 最初の段階で消失したデータが相手に到着し たことがわかる cwndのサイズをssthreshに設定する

ICMPエラー コネクションするときに返されることの有る一般的なICMPエラー 発信元抑制 ホスト到達不可、ネットワーク到達不可 ルータなどのメモリが一杯になりそうなとき ホスト到達不可、ネットワーク到達不可 相手に到達できない時

ICMPエラー 送信元抑制発生時 スロースタートに初期化する cwndを1に、ssthreshは変えない

ICMPエラー ホスト到達不可、ネットワーク到達不可 一時的なものとみなして無視 タイムアウトまで再転送する タイムアウトするとエラーコードはタイムアウトではなくICMPのものになる

再パケット化 再転送するとき無理に同じセグメントで送らなくてもいい 複数をまとめて効率化 確認応答が受信バイト数だから出来る技

END 終