TCP主要功能

TCP主要功能当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制

之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层

 TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收

然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传

在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密

在保证可靠性上,采用超时重传和捎带确认机制

在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传

在拥塞控制上,采用广受好评的TCP拥塞控制算法(也称AIMD算法)

该算法主要包括四个主要部分:(1)慢启动每当建立一个TCP连接时或一个TCP连接发生超时重传后,该连接便进入慢启动阶段

进入慢启动后,TCP实体将拥塞窗口的大小初始化为一个报文段,即:cwnd=1

此后,每收到一个报文段的确认(ACK),cwnd值加1,即拥塞窗口按指数增加

当cwnd值超过慢启动阈值(ssthresh)或发生报文段丢失重传时,慢启动阶段结束

前者进入拥塞避免阶段,后者重新进入慢启动阶段

(2)拥塞避免在慢启阶段,当cwnd值超过慢启动阈值(ssthresh)后,慢启动过程结束,TCP连接进入拥塞避免阶段

在拥塞避免阶段,每一次发送的cwnd个报文段被完全确认后,才将cwnd值加1

在此阶段,cwnd值线性增加

(3)快速重传快速重传是对超时重传的改进

当源端收到对同一个报文的三个重复确认时,就确定一个报文段已经丢失,因此立刻重传丢失的报文段,而不必等到重传定时器(RTO)超时

以此减少不必要的等待时间

(4)快速恢复快速恢复是对丢失恢复机制的改进

在快速重传之后,不经过慢启动过程而直接进入拥塞避免阶段

每当快速重传后,置ssthresh=cwnd/2、cwnd=ssthresh+3

此后,每收到一个重复确认,将cwnd值加1,直至收到对丢失报文段和其后若干报文段的累积确认后,置cwnd=ssthresh,进入拥塞避免阶段

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关