TCP如何保证可靠传输

TCP如何保证可靠传输

校验和

如果接收方比对校验和与发送方不一致,那么数据一定传输有误。但是如果接收方比对校验和与发送方一致,数据不一定传输成功。

序列号和确认应答机制

每次收到数据都要进行确认应答,也就是发送ACK报文。这个ACK报文中有对应的确认号,告诉对方期望下次从哪开始发。

数据可通过序列号进行排序,也可去除掉重复序列号的数据。

超时重传

没有收到ACK报文就对刚才的数据进行重新发送

连接管理

三次握手和三次挥手

流量控制(滑动窗口)

根据窗口大小(接收端的数据缓冲区的大小)改变自己的发送数据速度。

如果窗口为0,停止发送。并定期发送探测数据段(防止接受端告知窗口大小的数据包丢失导致死锁),让接受端告诉自己窗口大小。

拥塞控制

由于不知道网络的情况,一开始就发送大量数据容易导致拥堵,所以引入慢启动机制,先发少量数据进行探路。这时候就有拥塞窗口的概念,每次收到ACK应答,就指数增长。超过一定阈值后,就线性增长。遇到网络阻塞,就减半。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值