1)TCP的封装格式
TCP是面向连接的可靠协议,TCP为实现可靠的传输而提供了一系列的方法和手段。
首先,TCP的数据段采用编号的方式保证数据的正确顺序。TCP数据段被封装在IP数据报中来完成传输,而Ip数据包经过的路径有可能不同,那么IP数据包到达时可能会失去原有的顺序,因而到达的TCP数据段也可能会失序。为了解决这个问题,TCP对数据进行了编号。对接收到的数据进行从新排序。
其次,由于到达的IP数据包有可能发生重复,所以TCP的接收端必须有丢弃重复数据的功能。
再次,TCP提供流量控制。计算机
下面对TCP首部的数据格式进行详细的讲解
650)this.width=650;"height=15?15?>0-15这16位成为源端口号:它是TCP数据段发送方进程对应的端口号,这个端口号有发送方进程产生的随机数,它唯一的标识了发送段的一个进程。
650)this.width=650;"height=15?15?>16-31这16个是目标端口号,它对应的是接收端的进程,接收端收到数据段后,根据这个端口来确定把数据送给那个应用程序。这样才能保证数据到达正确的地方。
650)this.width=650;"height=15?15?>第二行是32位是序列号,它提供了0-232-1范围内的一个数据
650)this.width=650;"height=15?15?>第三行的32位的确认号,它提供了0-232-1范围内的一个数据
650)this.width=650;"height=15?15?>第四行分成四个部分
第一部分是4位首部长度,用它可以确定首部数据结构的字节长度。
第二部分是6个保留位,这部分用着今后的扩展使用。
第三部分是6个控制位。这6位有很重要的作用,TCP的连接、断开和传输都受到这6个控制位的指挥。
1.URG:紧急指针有效位。它和第五行的紧急指针配合使用。当URG=1时,TCP根据16位紧急指针确定紧急数据的最后一个字节的位置。
2.ACK:确认位。当ACK=1时,确认序列号字段有效。
3.PSH:
4.RST:值位1时通知重新建立TCP的连接。电脑
5.SYN:同步序号位。TCP需要建立连接时将这个位置置1。
6.FIN:断开位。当TCP完成数据的传输需要断开连接时,提出断开连接的一方将置1.
第四部分是16位的窗口大小。计算机基础知识
650)this.width=650;"height=15?15?>第五行的16位校验和是用来做差错控制的。16位紧急指针位和URG配合使用。
650)this.width=650;"height=15?15?>第六行是可选项。
650)this.width=650;"height=15?15?>第七行是数据。
上一篇:网卡的工作原理! - sypcwx.cn