法政大学情報科学部...
TRANSCRIPT
コンピュータネットワーク
第8回授業
通信の種類とフロー制御の基本
WEB公開版のため、
内容は抜粋・修正してあります。
WEB公開版
法政大学情報科学部 2012年度コンピュータネットワーク
2012年4月10日~2012年7月19日
第1回
イントロダクション第2回
デジタル伝送技術
第3回
誤り訂正と通信の信頼性第4回
イーサネットとデータリンクの仮想化
第5回
LANの拡張と無線技術
第6回
遠距離通信とインターネットへの接続第7回
後半授業の準備
第8回
通信の種類とフロー制御の基本第9回
大規模ネットワークの構築と運用
第10回
4種類のルーティング第11回
制御パケットとセッション層のネットワーク
第12回
データグラムとストリームの処理第13回
インターネットのインフラストラクチャ
第14回
ネットワークのモニタリングとチューニング
WEB公開版
通信の種類は3つ1対1
1対多
多対多
WEB公開版
通信システムの目的
(無線、インターネット両方) 沢山の人が使っているネットワーク
を通して1対1の通信をする。
CDMA OFDM ETHERNET
WEB公開版
AS
– AS:ASはWANの集合AS間はもの凄い量のトラフィックが
流れる!EGP (exterior gateway protocol)で通信する。BGPなど
IGP(interior gateway protocol)で通
信する。RIP.OSPFなど
WEB公開版
LANとWAN:1対1と多体多
WAN WAN
LAN内は多対多の通信をする!
WANとWANの間は1対1の通信をする!
WEB公開版
ステートレスとステートフル
サーバは記憶(状態遷移)を持たない
サーバの状態遷移に応じて通信内容を変える。
HTTP(WEB)は基本的にステートレスである。
WEB公開版
OSI参照モデル別概要
(トランスポートまで)
多対多
1対多
1対1
WEB公開版
OSI参照モデルとパケットヘッダWEB公開版
OSI参照モデルとパケットヘッダ
この下(物理層)には続きがある。
WEB公開版
物理層の通信はどうなっているか?
さらに3つの
ヘッダを前後
に追加する。
このパケット
を非同期に送
り出す。
リピータハブに接続してい
るコンピュータが非同期に受信する!
このヘッ
ダをトレーラ
という。
WEB公開版
物理層の通信はどうなっているか? 1対多の通信に戻る
さらに3つの
ヘッダを前後
に追加する。
ここは1対多の通信
になる。
このパケット
を非同期に送
り出す。
WEB公開版
トラフィックフロー制御の基本
TCP
(Transport Control Protocol) 輻輳制御
(キューイング、スロースタート)
WEB公開版
TCP:3-way ハンドシェイク
SYN: synchronizeACK: acknowledge
フラグの種類SYN, ACK, PSH, RST, URG, FIN
WEB公開版
TCP:確認応答
確かめながら送る。
送信したシーケンス番号2001
のパケットの確認応答がでない
場合、再送する。
返信側の確認応答番号は次に送ってほしいデータの先頭番号(シーケンス番号)
WEB公開版
シーケンス番号の付け方(送信側)
データは、MSS (Maximum Segment Size)に分割する。
この場合はMSS=1000
TCP/IPではデータを
分割して送信できる!
WEB公開版
受信側は自分の
バッファサイズ(使
えるメモリサイズ)
を伝える。
送信側は受信側の
ウィンドウサイズが小
さくなると、応じて送信するパ
ケットの数を減らす。
TCPでは、受信側の状況を送信側が把握できる。
パケット多いよ!
送信量を減
らす!
WEB公開版
TCPのフロー制御
あ、受信側の
ウィンドウが0だ!
受信側は自分のウィンドウ
サイズ(開いている
メモリサイズ)を伝える。
少し待つ(゚~゚)ヾ
ウィンドウサイズは
どうなりましたか?
WEB公開版
スライディングウィンドウ 送信側のウィンドウサイズ
– パケットの数
パケット1
パケット2
パケット3
パケット4
パケット5
パケット6
パケット1
パケット2
パケット3
パケット4
パケット5
パケット6
パケット1
パケット2
パケット3
パケット4
パケット5
パケット6
再送用に2から5まで保存
再送用に2から6まで保存
破棄
WEB公開版
メモリ構造:キューとスタック
キュー:先入れ先だしFIFO (First In First Out)
スタック:後入れ先だしFIFO (Last In First Out)
WEB公開版
バースト(スパイク)と キューイング(バッファリング)
入出力や集計値が急に大きな(異常な)値になることを
スパイクやバーストという。
CDMAでのスパイク
入出力の流れを一度留めることでスパイクを取る!
WEB公開版
クライアント(エンドノード)側の
輻輳検出
エンドノードは
ネットワーク
の状況が分
からない。 ネットワーク
が混んでいる
かどうか?
クライアント側の検出方法1RTT(Round Trip
Time)を使う。
クライアント側の検出方法2
サーバからの再送要求
が多くないか数える。WEB公開版
スロースタートと輻輳制御
limit
スロースタート
モード輻輳制御モード
cwnd: congestion window
ssthres
cwnd = cwnd^2
cwnd += 1/cwnd;
最初の輻輳発生
の閾値を検出!
WEB公開版
輻輳の検出 RTT
*4
# ping www.gogole.comPING www-cctld.l.google.com (74.125.235.151) 56(84) bytes of data.64 bytes from nrt19s11-in-f23.1e100.net (74.125.235.151): icmp_seq=1 ttl=49 time=27.1 ms64 bytes from nrt19s11-in-f23.1e100.net (74.125.235.151): icmp_seq=2 ttl=49 time=25.4 ms
Round Trip Time
クライアント 鯖
RTTが通常の4倍になったら輻輳と判断!
WEB公開版
スロースタートと輻輳制御
ssthres
スロースタート
モード輻輳制御モード
cwnd: congestion window
輻輳を検出す
ると送信サイズ
を少なくする!
WEB公開版