可靠传输原理,
可靠传输
- 停止等待协议
- 连续ARQ协议
看下图,先发送1-6报文,收到了报文2的回应(此时就认为报文1接收方也收到了), 然后往后推两个,发送7-8。
流量控制
流量控制是指: 控制发送方发送的数据量,避免数据量过大,接收方无法接收。
- 通过滑动窗口来控制(窗口: TCP协议接收方返回给发送方的数据段中的窗口字段,指明接收方允许的再次接受的数据量)
死锁:上图最后一步中,rwnd并没有被接收方收到,接收方收到的还是之前的rwnd=0, 而接收方发出了rwnd为1000,在等待发送方发送新的数据。这时候就会造成死锁。
解决: 当发送方接收到rwnd=0时就会启动坚持定时器,坚持定时器每隔一段时间发送一个窗口探测报文(询问接收方窗口是否增大)。
TCP拥塞控制
拥塞: 简单粗暴,报文没有收到回应,就认为发生了拥塞。
解决:
慢启动算法:指数增加发送报文的数量(1,2,4,8,16), 直到达到了慢启动阈值(就是慢启动发送的最大报文数量)
用塞避免算法: 达到慢启动阈值之后,一个个增加发送的报文数量,直到发生拥塞。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix