C缘网
Would you like to react to this message? Create an account in a few clicks or log in to continue.

讲解TCP协议的封装格式

向下

讲解TCP协议的封装格式 Empty 讲解TCP协议的封装格式

帖子 由 eyke0519 周四 1 三月 2012 - 20:32

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?> 第七行是数据。
eyke0519
eyke0519
Admin

帖子数 : 10619
注册日期 : 08-12-15

http://eyke.1ercn.com

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题