TCP
abbr. of Transmission Control Protocol
transport protocol
機能
byte stream
over segment stream
data link layer と同様の機能を実装してる。
エラー検出
フロー制御
機構
順序番号
確認通知
next byte offset
aka. cumulative acknowledgement
sliding window
⊂ protocol
byte offset
幅は可変長
→ 確認通知と送信許可の分離
フロー制御
path MTU discovery
options
MSS
min = 556
window scale
timestamp
SACK
timer
retransmission timer
RTO
確認通知の RTT の分布は 分散がデカい のが 問題。
SRTT
smoothed by EWMA
RTTVAR
MAした平均偏差
persistence timer
probe for window
keepalive timer
of TIME WAIT
= 2 TTL
congestion control
congestion window
sender part
effective window size = min(congestion window size, flow control window size)
packet loss as a signal
ACK clock
フローの最遅リンクの速度が わかる。
slow start (algorithm)
セグメント数が2の冪で増える。
threshold あり
以降は加算増加
fast retransmission
using duplicate ack
fast recovery
avoid slow start
restart from half of congestion window
用語集
5-tuple
ref. What is a 5-Tuple? - Definition from Techopedia
この仕様のために(mobile network などで)handover できない。 IP address が変わるため。
mobility が ない。
connection識別のため
port
⊂ TSAP
16 bits
MTU
underneath links
AIMD
duplicate ack
細かい機能
delayed ACK
Nagle's algorithm
never sending 1 byte data
SYN cookie
Karn's algorithm
意味論
state machine
11 states
problems & attacks
SYN flood (attack)
silly window syndrome
→ delayed notification
cf. Nagle's algorithm
OOO packets
abbr. out of order
principles
throughput > latency
#protocol