TCP可靠传输实现原理

TCP采用停止等待协议与连续ARQ结合,提高信道利用率。通过接收窗口控制发送窗口实现流量控制,当接收端处理不过来时会发送零窗口通知。拥塞控制使用拥塞窗口cwnd,结合慢开始和拥塞避免算法。快重传和快恢复算法能更快响应丢失报文,提高效率。
摘要由CSDN通过智能技术生成

目录

  • 停止等待协议与连续ARQ协议
  • 流量控制
  • 拥塞控制
  • 慢开始算法
  • 快重传和快恢复算法

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

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

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

 

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

TCP的两端都各有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值