tcp协议-如何保证传输的可靠性

传输的可靠性的主要方式有:

  • 校验和
  • 序列号
  • 确认应答
  • 超时重传
  • 连接管理
  • 流量控制
  • 拥塞控制

校验和

计算方式:在数据传输的过程中将发送的数据都当做一个16位的整数。将这些整数加起来,进位不丢弃,加在最后面,最后取反,得到校验和。
发送方:在发送数据之前进行计算
接收方:受到后计算,并与发送方的计算结果进行对比。

确认应答与序列号

序列号: TCP在传输过程中将每个字节的数据都进行了编号
确认应答:TCP在传输过程中,每次收到对方的数据后,都会对传输方进行确认应答。也就是发送ACK报文。ACK报文带有对应的序列号,告诉对方,收到那些数据,接下来从哪里开始发。

序列号 不仅仅有应答的作用,能够依靠序列号进行去重和排序。

超时重传

发送方没有收到响应的ACK报文可能有两点
1.全体丢包,对方没有收到
2,收到数据,ACK响应由于网络问题,发生丢包
在一定时间里没有收到ACK,对数据进行重新发送。
等待时间 是动态计算的

连接管理

通过三次握手和四次挥手的过程进行。

流量控制

为了防止发送端发送速度过快,导致接收端的结束缓冲区很快被填满,进而导致一系列的问题。
TCP根据接收到对数据的处理能力,决定端的发送速度,这个就是流量控制。(信息是通过ACK报文发送,tcp16字段的表头)满了之后,一段时间后会发送窗口试探包。

拥塞控制

为了防止刚发送时就发送大量数据,在网络拥堵的时候,可能会造成一些问题。
tcp引入了慢启动机制,在开始的时候先发送少量数据探探路,再决定用多大的速度进行传输。
拥塞窗口来确定发送的速度。拥塞窗口的增长速度是指数增长,在超过一定的阈值的时候会进行线性增长,在发生网络拥堵,超时重传的时候,阈值会降低为原来的一般,拥塞窗口重置为1;
拥塞控制是TCP在传输时尽可能快的将数据传输,并且避免拥塞造成的一系列问题。是可靠性的保证,同时也是维护了传输的高效性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值