• 検索結果がありません。

Microsoft PowerPoint - chapter6_2013.ppt [互換モード]

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - chapter6_2013.ppt [互換モード]"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

6章

誤り制御

電子情報工学科3年前期 ネットワークアーキテクチャ 情報科学センター/ネットワークデザイン 研究センター 福田 豊 53 6. 6 データリンク層,トランスポート層における誤り制御 

誤り制御

データリンク層 トランスポート層 

データリンク層

HDLC イーサネット 

トランスポート層

TCP 物理層 データリンク層 インターネット層 トランスポート層 アプリケーション層

TCP/IP protocol stack

54

TCPにおける誤り制御

パケット廃棄の検出

パケット廃棄検出の方法 Karnのアルゴリズム 

廃棄パケットの再送

誤り制御方式 Go-back-N Selective-repeat 物理層 データリンク層 インターネット層 トランスポート層 アプリケーション層

TCP/IP protocol stack

55

パケット廃棄の検出(1)

本節に入る前に...

一般的な“パケット”

Layerごとに呼び方が異なる Layer2 : フレーム Layer3 : データグラム Layer4 : セグメント 

以後,セグメントを用いる

パケット廃棄の検出(2)

TCPにおけるセグメントの廃棄の

検出方法は2種類

送信側がもつタイマーのタイムアウトにより検出 Karn のアルゴリズム 重複ACK 

ビット誤りの検出方法

送信側でセグメント全体のチェックサムを計算し ヘッダに書き込む 受信側で再び同じ演算を行い,誤りを検出

タイムアウトによる検出(1)

TCP

受信側は新しいセグメントを受取るたびに常に ACK を返す 送信側はセグメントを送るたびに毎回タイマーを スタートさせてACK を待つ タイムアウトすると,TCPはセグメントは廃棄された ものと判断し再送を行う 

タイムアウト

トラヒックの変動によりセグメントが受信側へ到達 するまでの時間は変化

(2)

58

タイムアウトによる検出

(2)

再送タイムアウト

RTO (Retransmission Time

Out) の決定方法

RTTの平均 (average) と偏差 (deviation) を用いる RTO = average + 4 × deviation

RTTの平均と偏差の計算

error = measurement – average average = average + σ × error

deviation = deviation + σ × (|error| – deviation)

(6.23) (6.24) (6.25) (6.26) 59

タイムアウト発生時の問題点

セグメントを送信しタイマが時間切れになると

TCPは同じセグメントを再送

そのセグメントのACK が戻ってきたとき,もとのセ グメントのACK なのか,再送したセグメントの ACK なのか,区別することができない 

往復伝播遅延

RTT がトラヒックの影響で急増

したとき

それまでのRTO がタイムアウト RTT の見積もりが小さいままであると,再びタイム アウトを起こす可能性が高い 60

Karnのアルゴリズムとタイマバックオフ

Karnのアルゴリズム

再送タイマのRTT の計測は行わない セグメントの再送が続く間は,再送タイムアウトの値 を2 倍ずつ増加させる timeout = γ × timeout (通常 γ = 2) (6.27) 

タイムスタンプオプション

4.4BSDから採用 送信側はTCPのヘッダの option field に送信時刻を 書き込む 受信側はACKを返す際にその時刻もコピーして返す 送信側はRTTを正確に計算可能 61

重複

ACKによるセグメント廃棄検出(1)

セグメントの廃棄をタイムアウトのみで検出すると

セグメントの廃棄が生じるたびに,タイムアウト期間だ け送信が停止 スループット特性を著しく劣化させる 

重複

ACKによりセグメント廃棄を検出し,その

セグメントをすぐに再送する

(

fast retransmit

)

62

重複ACKによるセグメント廃棄検出(2)

TCPでは

累積確認応答

を用いている

例:

20番目までのセグメントを受信しており,それまで すべてのセグメントを受信している場合は,21番 目のセグメントの送信を促すACKを返す 続いて22番目のセグメントが到着した場合,21番 目のセグメントの送信を促すACKを返す

重複

ACK

63

累積確認応答

セグメントサイズ

1,500 Byte 

最初の送信

2000 ~ 3499 の 1500 Byte を送信 Ack は 3500 を送信 3499 までは受信できて おり,次に受取るセグメ ントが3500 送信側 受信側

(3)

64

重複ACKによるセグメント廃棄検出(3)

重複

ACKの例

20 21 22 23 21 21 21 20番まで連続して受信,次は21番

×

20 22 23 ACK セグメント廃棄 受信セグメント 送信セグメント 65

重複ACKによるセグメント廃棄検出(4)

 重複ACKが発生する場合  セグメントが途中の経路の変更によって到着順序が逆転  あるセグメントが廃棄され,それ以降のセグメントが到着  fast retransmit  順序の逆転による重複ACKを考慮  送信側は3個以上の重複ACKが連続して戻ってきた場合, セグメントが破棄されたと判断し,タイムアウトを待たずに そのセグメントの再送を行う  重複ACKを用いる効果  タイムアウトよりも早くセグメント廃棄を検出可能  スループット特性の改善 66

Delayed ACK

ホストAと通信している場合

すぐさまACKを返すのではなく,Aにデータを送る 際にACKを付加して送信する ある時間(通常200ms)経ってもAにデータを送ら ない場合は,ACK だけを送信する 67

廃棄セグメントの再送(1)

現在一般的な

TCPが採用している

ARQ

Go-back-N

受信側にもバッファを用意し,廃棄されたセ

グメント以降のセグメントを受信バッファに

蓄積し,無駄な再送を省いている

Selective-repeat:TCP with Sack option

Windows2000以降で採用

廃棄セグメントの再送(2)

SACK

ヘッダの

option field の option種別でSACK

を明示

(option種別にSACKを示す4を入れ

て送信)

廃棄セグメントの再送(3)

 SACK(2)  セグメントの廃棄を検出した場合は,このoption field を 用いて再送すべきセグメントを通知 ※通知できる のは3次まで

(4)

70

廃棄セグメントの再送

(4)

 TCP SACK:最初のセグメントだけが廃棄された場合 71

廃棄セグメントの再送

(5)

 TCP SACK:複数のセグメントが廃棄された場合 72

まとめ(1)

誤り制御

輻輳や伝送エラーによる情報誤りを回復

ARQ,FEC 

誤り制御が行われる

Layer

データリンク層,トランスポート層 

誤り検出

真の情報+付加情報

= 符号語

パリティチェック方式

CRC方式

73

まとめ(2)

CRC

mビットのパケットを(m-1)次の多項式M(X)で表現 任意にr(r<m)次の多項式G(X)を定め,以下の手順 に従ってCRCチェックビットを作る r(G(X)の次数)個の0をmビットのパケットの後に付 ける.すなわち多項式XrM(X) 多項式XrM(X)を多項式G(X)で割り,余りR(X)を求 める 符号語F(X)は

)

(

)

(

)

(

X

X

M

X

R

X

F

r

74

まとめ(5)

シフトレジスタによる

CRC

巡回符号を使用する場合割り算機能があればよい 2進数の割り算回路は簡単なシフトレジスタで実現 可能 

ARQ

Stop-and-wait Go-back-N Selective-repeat 75

まとめ(6)

Stop-and-wait

15 ACK 16

(5)

76

まとめ

(7)

Go-back-N

13 14 15 16 17 18 19 20 21 15 16 17 18 19 廃棄 再送 タイムアウト時間 77

まとめ

(8)

Selective-repeat

13 14 15 16 17 18 19 20 21 15 22 23 24 25 廃棄 再送 タイムアウト時間 78

まとめ(9)

ARQの性能評価

Selective-repeatが最も優れている Go-back-N方式は,n および p がある程度小さい 場合,良好な特性を提供できる Stop-and-wait方式は n および p の両方ともかな り小さくなければ良好な特性は期待できない (n =スロット , p = パケットに誤りが生じる確率) 79

まとめ(10)

誤り訂正(FEC)

ブロック符号 送信すべき情報をある長さ(例えばkビット)のブロック に分割し,各ブロックごとに冗長な情報を付加 ランダム誤り訂正符号:ハミング符号,BCH符号 バースト誤り訂正符号:リード・ソロモン符号 畳み込み符号 情報ビットが逐次符号器に入力されると,それ以前に 入力されたある長さの情報との演算を行うことで符号 語を生成 ビタビ符号

まとめ(11)

 ハミング符号  2つの符号語  において,ai≠biとなる個所の総数を,これら2つのハミング (Hamming)距離と定義する  一般に符号語間の最短ハミング距離がdminであるとき  で与えられるa個までの誤りを訂正可能 この考え方に基づいて構成される符号をハミング符号

)

,

,

,

,

(

)

,

,

,

,

(

a

n

a

3

a

2

a

1

 

b

n

b

3

b

2

b

1       2 1 min d a

まとめ(14)

 TCPにおける誤り制御 セグメントの廃棄 廃棄セグメントの再送  セグメントの廃棄の検出 タイムアウト

RTO = average + 4 × deviation Karnのアルゴリズム (1)再送タイマのRTTの計測は行わない (2)セグメントの再送が続く間は,再送タイムアウトの値を2倍ずつ 増加させる 重複ACK 重複ACKを3回受取るとそのセグメトをすぐに再送(fast retransmit)

(6)

84

まとめ

(15)

TCPにおける廃棄セグメントの再送

ARQとしては Go-back-N,Selective-repeat 

最近では

Selective-repeatを利用した TCP

with SACK option

85

参考文献

岩波講座 インターネット第

1巻「インターネッ

ト入門」

尾家祐二,後藤滋樹,小西和憲,西尾章治郎 ISBN4-00-011051-9 

岩波講座 インターネット第

3巻「トランスポー

トプロトコル」

村山公保,西田佳史,尾家祐二 ISBN4-00-011053-5

参照

関連したドキュメント

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

ERROR  -00002 認証失敗または 圏外   クラウドへの接続設定及びア ンテ ナ 接続を確認して ください。. ERROR  -00044 回線未登録または

物質工学課程 ⚕名 電気電子応用工学課程 ⚓名 情報工学課程 ⚕名 知能・機械工学課程

関谷 直也 東京大学大学院情報学環総合防災情報研究センター准教授 小宮山 庄一 危機管理室⻑. 岩田 直子

  総合支援センター   スポーツ科学・健康科学教育プログラム室   ライティングセンター

  総合支援センター   スポーツ科学・健康科学教育プログラム室   ライティングセンター