TCP

TCP协议通过校验和、确认应答与序列号、超时重传、流量控制和拥塞控制确保数据的可靠传输。校验和用于检查错误,序列号和确认应答保证数据顺序与完整性。超时重传机制在未收到ACK报文时重新发送数据。流量控制通过窗口大小调整发送速率,防止接收端缓冲区溢出。拥塞控制则通过慢启动和拥塞避免算法避免网络拥塞,确保高效稳定的传输。
摘要由CSDN通过智能技术生成

在这里插入图片描述

以下解释参照博客链接:https://blog.csdn.net/cbjcry/article/details/84925028

TCP协议保证数据传输可靠性的方式主要有:

(校序重流拥)

校验和

   发送的数据包的二进制相加然后取反,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。 

确认应答+序列号

   TCP给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。 

超时重传

   当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。 

流量控制

   TCP连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP使用的流量控制协议是可变大小的滑动窗口协议。

    接收方有即时窗口(滑动窗口),随ACK报文发送

拥塞控制

   当网络拥塞时,减少数据的发送。

     发送方有拥塞窗口,发送数据前比对接收方发过来的即使窗口,取小

      慢启动、拥塞避免、拥塞发送、快速恢复

应用数据被分割成TCP认为最适合发送的数据块。

TCP的接收端会丢弃重复的数据。

1、校验和

计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数加起来。并且前面的进位不能丢弃,补在后面,最后取反,得到校验和。

发送方:在发送数据之前计算检验和,并进行校验和的填充。

接收方:收到数据后,对数据以同样的方式进行计算,求出校验和,与发送方的进行比对。

在这里插入图片描述
注意:如果接收方比对校验和与发送方不一致,那么数据一定传输有误。但是如果接收方比对校验和与发送方一致,数据不一定传输成功。

2、确认应答与序列号

序列号:TCP传输时将每个字节的数据都进行了编号,这就是序列号。

确认应答:TCP传输的过程中,每次接收方收到数据后,都会对传输方进行确认应答。也就是发送ACK报文。这个ACK报文当中带有对应的确认序列号,告诉发送方,接收到了哪些数据,下一次的数据从哪里发。
在这里插入图片描述

序列号的作用不仅仅是应答的作用,有了序列号能够将接收到的数据根据序列号排序,并且去掉重复序列号的数据。这也是TCP传输可靠性的保证之一。

3、超时重传

在进行TCP传输时,由于确认应答与序列号机制,也就是说发送方发送一部分数据后ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值