TCP可靠传输实现原理

TCP采用停止等待协议与连续ARQ结合,提高信道利用率。通过接收窗口控制发送窗口实现流量控制,当接收端处理不过来时会发送零窗口通知。拥塞控制使用慢开始和拥塞避免算法,结合快重传和快恢复提高效率。当出现拥塞时,拥塞窗口和慢开始门限动态调整,确保网络稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

停止等待协议与连续ARQ协议

流量控制

拥塞控制

慢开始算法

快重传和快恢复算法


停止等待协议与连续ARQ协议

TCP传输使用的是停止等待协议,即向发送端发送数据包后,接受端收到并发送确认请求,发送端收到确认请求后再发送下一个数据包。如果发送后,发送端会等待一段时间,时长为一个数据包往返需要的时间,如果因为发送失败没有收到请求,发送端就会重传数据包。

因为接受端发送确认请求选择的路径有时可能比较远,会出现确认迟到的情况。如果没有收到请求是因为确认迟到,那么发送端再次收到确认请求后不会做任何事。

 

TCP发数据包的时候,如果单纯使用停止等待协议,发一个确认一个再发一个,那么信道利用率就会很低,所以需要使用连续ARQ协议。利用连续ARQ协议发送的时候,同时发送滑动窗口内的多个数据包,也就是流水线传输。一旦收到数据包的确认后,窗口就会向前移动。接受端采取的是累积确认的方式,只对到达的最后一个数据包发送确认,比如是3最后到达,就不会发1、2的确认,那么滑动窗口收到3的确认后,就向前滑动3个窗口。如果发送分组的中途有数据包,那么就Go-back-N。比如1-5都发送了出去,3中途丢失了,那么接受端只会发2的确认,那么3、4、5都得重发,也就是丢了第N个包,就回退N重发。

TCP的两端都各有两个窗口,一个是发送窗口,一个是接受窗口,总共四个窗口。通过字节的序号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值