tcp依靠以下几点提供可靠的分组传输:1、校验和;2、序列号和确认应答;3、超时重传;4、流量控制;5、拥塞控制。校验和是指TCP在计算校验和时,会在TCP首部添加上一个12字节的伪首部,校验和分为三部分:TCP伪首部、TCP首部、TCP数据。TCP校验和是必须的。
1、校验和
数据收发方在进行数据传输时,会先计算校验和,如果不一致,则说明传输有误。TCP在计算校验和时,会在TCP首部添加上一个12字节的伪首部,校验和分为三部分:TCP伪首部、TCP首部、TCP数据。TCP校验和是必须的,而UDP校验和是可选的。
2、序列号和确认应答
TCP在进行数据传输时将每个字节数据都进行编号,每次接收方收到数据都会对传输方进行确认应答。
3、超时重传
发送方在发送完数据一段时间内没有收到确认应答报文,会重传刚才发送的数据。
4、流量控制
TCP协议中有一个16位字段的窗口大小,窗口字段是用来实现滑动窗口的。窗口大小的实际内容就是接收端接受数据缓冲区的剩余大小。接收端在发送确认应答报文ACK时,会将自己的即时窗口大小填入一起返回给发送方,发送方根据窗口大小值的改变而改变自己的发送速度。
5、拥塞控制
TCP在传输过程中可能会发生丢包,如果继续发送数据,可能会产生丢包现象和引发大量超时重传,严重影响传输。
延伸阅读:
什么是TCP?
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。
文章标题:tcp如何提供可靠的分组传输,发布者:小编,转载请注明出处:https://worktile.com/kb/p/34818