- 停止等待协议
- 窗口技术(连续的ARQ协议)
- 累计确认
以字节为单位的滑动窗口技术
如何滑动
- 接收端发送确认号为7
- 发送端没收到确认不能删
- 发送端收到确认,窗口后移,发送端删除- 副本
- 接收端窗口后移,应用程序读取数据(临时文件)
如何保证可靠
重传
-
当丢失中间一段时,
接收端发送确认号+选择性确认,SACK:哪一段缺失,发送的只发丢失的 -
发送端根据确认号窗口后移
超时重传
超时重传时间应略大于加权平均往返时间RTTs(变化)
a大修正快,变动幅度大,就大一点
流量控制
解决通信两端处理速度不一致的问题
通过调整窗口的大小来控制
A定时发送窗口测定数据包,避免B丢包造成一直等待
建立会话
- 接收计算机B根据缓存设定接收窗口
- 向A发数据包,确认号ack=0,rwnd=10……
- A计算机设定发送窗口
通信
- A连续的ARQ协议
- B接收窗口还没满就可以发送确认号
网络拥塞
慢开始和拥塞避免算法:(有的版本已经不用了)
拥塞控制虽然不能达到理想状态,但也能避免网络死锁
-
从1开始
-
慢开始门限:16,超过就加1
-
发生拥塞时
-
计算慢开始门限为拥塞的1/2,
-
之后又从1开始
控制窗口线性增长而不是指数性,使网络不容易出现拥塞
快重传
采用累计确认
丢包后,立刻确认,不等累计数到
让发送方尽早知道丢包
并且可以让对方判断是否时由于拥塞而丢包的,从而不启动慢开始,而使用快恢复
快恢复:
计算慢开始门限为拥塞的1/2,
- 之后从新的门限值开始
发送窗口:最多多少数据包等待确认一次(发送数据的速率)
发送窗口上限发送端拥塞窗口、接收端的接收窗口的较小值决定
传输连接管理
建立连接
数据传送
连接释放