-
Seq 和 ACK
三次握手
SYN
SYN ACK
ACK
四次挥手
FIN
ACK
FIN ACK
ACK
-
估计 RTT 和 超时
指数加权移动平均
定时器时间 = RTT + 安全边界(浮动区间)
RTT:
NewRTT = (1-α)OldRTT + α SampleRTT
α = 0.125
超时:
DevRTT = (1-β)DevRTT + β|SampleRTT - EstimatedRTT|
β = 0.25
定时器超时:
超时时间 TimeoutInterval = EstimatedRTT + 4 DevRTT
重设 TimeoutInterval:
-
超时:
设置为先前值的二倍
-
收到上层应用数据 或 ACK
由最近EstimatedRTT & DevRTT 计算得到
-
可靠数据传输
无损坏
无间隙
无冗余
按序
(接收方从缓存获得的与发送方发送的一致)
-
快速重传
收到三个冗余ACK y,重传 y
-
差错恢复
接收方:累积确认
发送方:重传:只重传分组n(GBN继续重传n+1,n+2…)
-
流量控制
本质:速度匹配机制
接收方分配缓存
发送方:保证未确认字节 <= (接收方告知的)接收窗口 (和拥塞窗口的最小值)
接收方:保证(已收到)未读取字节 <= 接收窗口
特殊情况:接收窗口为0:发送方发送小segment试探,避免死锁
-
连接管理
- 拥塞控制原理
-
端到端拥塞控制:通过观察 loss,delay
TCP使用
-
网络辅助拥塞控制:路由器反馈
ATM网络 ABR(available bit rate)拥塞控制
ATM ABR拥塞控制
Data cells 间 发送 RM cell
发送方 |
交换机 |
接收方 |
Data cell (数据报文) |
若拥塞: EFCI位置1 |
发送方返回其后的RM cell 且CI位置1 |
RM cell (资源管理cell) |
NI bit:rate不允许再增长 CI bit:拥塞指示 ER:显式速率 若拥塞,设置为更低值 路径支持最小速率 |
将RM cell返回 |
-
TCP拥塞控制
定义 丢包: 超时 或 收到三个冗余ACK(即4个相同ACK)
调整发送速率:加性增,乘性减
慢启动
拥塞避免
快速恢复
- Tahoe(早期版本):丢包即 cwnd=1,慢启动
- Reno:超时,冗余
吞吐率Tp和丢包率L:
采样与估计之差