互联网中包含许多单个网络。各个网络之间可能都有很大的不同,如不同的拓扑结构、带宽、延迟、数据包大小和其他参数等。TCP协议的设计目的就是为了能够动态地适应互联网络的这些特性。
1.TCP的定义与特点
根据IETF(The Internet Engineering Task Force,国际互联网工程任务组)的RFC 793定义,TCP(transmission control protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它具有以下特点:
(1)基于流的方式;
(2)面向连接;
(3)可靠通信方式;
(4)在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销;
(5)通信连接维护是面向通信两个端点的,而不考虑中间网段和节点。
2.TCP的任务与工作流程
TCP的主要任务是支持互联网的分层协议层次结构,使互联的计算机通信网络的主计算机中的成对进程之间能够得到可靠的通信服务。
当传输层接收到应用层发送来的数据流,通过TCP把数据流分割成适当长度的报文段,之后传输层把这些数据包传给网络层,由网络层来通过网络,将数据包传送给接收端实体的传输层,完成成对进程之间的通信。
3.TCP基础技术机制
为了保证TCP的上述特点,TCP采取了如下技术和机制。
(1)数据分片:发送时对数据进行分片,接收时进行重组,确定分片的大小进行过程控制;(www.daowen.com)
(2)到达确认:接收到分片数据时,根据分片数据序号向发送端发送一个确认;
(3)超时重发:在发送分片时启动超时定时器,如果在超时之后没有收到相应的确认,发送端重发分片;
(4)滑动窗口:接收端缓冲区空间大小都是固定的,只允许发送端发送缓冲区所能容纳的数据,滑动窗口的目的是提供流量控制,防止较快主机致使较慢主机的缓冲区溢出;
(5)失序处理:分片到达时可能会失序,对收到的数据进行重新排序,以正确的顺序交给应用层;
(6)重复处理:分片传输时会发生重复,接收端必须丢弃重复的数据;
(7)数据校验:通过首部和数据的检验和,来检测数据在传输过程中的变化。如果收到分片的检验和有差错,丢弃这个分片,不确认收到此报文段,使对端超时并重发。
4.TCP可靠性分析
TCP的主要特点就是传输的可靠性,以上技术机制也是为了实现可靠传输。对其中几个要点专门进行一下分析:
(1)TCP使用三次握手协议建立连接,客户端和服务器之间需要三次信息确认,建立一个连接需要三次握手(用一个男女交朋友过程来比喻,说明得更清晰一些,如图5.4所示),而终止一个连接要经过第四次握手。这种建立连接的方法可以防止产生错误的连接。
(2)TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和,同时进行相关认证和数据加密,以确保数据的正确性。
(3)TCP采用超时重传和捎带确认机制,确保不会漏传丢失数据。
(4)TCP采用滑动窗口协议进行流量控制,特别是其拥塞控制算法得到高度评价,该算法主要包括慢启动、拥塞避免、快速重传、快速恢复等四项主要措施。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。