【面经收集】TCP 如何保障数据包有效

TCP如何保障数据包有效

TCP通过校验和,确认序列号,重传机制,连接管理,流量控制和拥塞控制等六个方面保障数据包的有效性。

校验和

发送端将TCP的首部和数据部分相加组合成一个16位的数字,填入校验和字段,接收端收到数据后同样计算出校验和,若不一致则说明数据在传输过程中出错。

确认序列号

TCP首部带有发送序号和确认号,通过序号保障数据包的有序性,通过确认号保障接收端成功收到了数据包。

重传机制

当数据包在传输过程中丢失后,TCP通过超时重传或者快速重传机制可以重新发送数据包,确保接收端可以收到完整的数据。

连接管理

TCP采用三次握手建立连接,四次挥手断开连接,保证收发两端能够建立起双向的通信。

流量控制

TCP接收端每次发送数据时会携带一个字段接收窗口,表示接收端能接收的最大容量,发送端下一次发送的数据大小不能超过接收窗口指定的大小,否则会产生拥塞。

拥塞控制

TCP传输过程中除了有一个接收窗口限制发送以外,还有一个拥塞窗口保证数据在传输过程中不会发生拥塞。拥塞控制主要有以下三个手段:1.慢启动;2.拥塞避免;3.快速恢复

1.慢启动

当一个TCP连接刚建立完成后,拥塞窗口先从1开始,每次增加一倍,指数型增长,用于探测目前的网络承载能力。当拥塞窗口大小达到慢启动门限值sstresh后,结束慢启动,进入拥塞避免。

2.拥塞避免

进入拥塞避免状态后,拥塞窗口的值不在指数增长,而是线性增长,每次增加1,知道增长到发送拥塞为止,停止增长,同时新的慢启动门限值sstresh设置为发生拥塞时拥塞窗口的值的一半。

3.快速恢复

当接收端没有收到某一条报文时,却收到了下一条报文,则在ACK中带上确认号为未收到的那条报文,如果发送端连续3次收到重复确认报文后,则认为该报文未能成功发送,此时无需等待超时重传,直接进入快速恢复。此时的拥塞窗口为新的慢启动门限值,并且直接执行拥塞避免,无需重新执行慢启动,提高了网络传输的效率。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值