法政大学情報科学部...

Preview:

Citation preview

コンピュータネットワーク

第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公開版

Recommended