naobe @ ウィキ

RFC793

最終更新:

naobe

- view
管理者のみ編集可
TCPに戻る

接続後のデータ送受信に関係するところ。

3.7. Data Communication

Retransmission Timeout

再送タイムアウトは動的に決定しなくてはならない。
データの送信時刻と、送信データのシーケンス番号を含むACK受信時刻の差をRTTと呼ぶ。

<再送タイムアウト手順例>
Smoothed Round Trip Time (SRTT)は、以下の計算式で表される。ALPHAは平滑化因数(例えば、0.8から0.9)。

SRTT = ( ALPHA * SRTT ) + ((1-ALPHA) * RTT)

[解釈]
SRTTの初期値はRTTで、前回のRTTと加重平均をとる。こうすることでRTTの急激な変動を吸収する。

再送タイムアウト(RTO: Retansmission Time OUT)を以下のように計算する。UBOUNDはタイムアウトの上限(例えば、1分)で、LBOUNDはタイムアウトの下限(例えば、1秒)。BETAは遅延分散因数(例えば、1.3から2.0)。

RTO = min[UBOUND,max[LBOUND,(BETA*SRTT)]]

[解釈]
ネットワークが混むまたは、相手サーバが過負荷のときは再送の回数を減らす。

<The Communication of Urgent Information>

Urgentフラグが立ったパケットを送信すると、送信先のホストにはSIGURGシグナルが発生する。Javaで作成したプログラムどう対応するか?

<Managing the Window>
送信TCPは送信ウィンドウが0であっても1オクテット以上のパケットを定期的に送信しなければならない(2分間隔)。

アクセス数 -
人気記事ランキング
目安箱バナー