二 用协议分析工具学习TCP/IP( 四 )


4位首部长度: 。这个字段占4位 , 它的单位时32位(4个字节) 。本例值为7 , TCP的头长度为28字节 , 等于正常的长度2 0字节加上可选项8个字节 。 , TCP的头长度最长可为60字节(二进制1111换算为十进制为15 , 15*4字节=60字节) 。
6个标志位 。
URG 紧急指针 , 告诉接收TCP模块紧要指针域指着紧要数据
ACK 置1时表示确认号(为合法 , 为0的时候表示数据段不包含确认信息 , 确认号被忽略 。
PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序 , 而不必等到缓冲区满时才传送 。
RST 置1时重建连接 。假如接收到RST位时候 , 通常发生了某些错误 。
SYN 置1时用来发起一个连接 。
FIN 置1时表示发端完成发送任务 。用来释放连接 , 表明发送方已经没有数据发送了 。
图13的3个图分别为3-5行TCP协议的头信息 , 这三行是三次握手的过程 , 我们看看握手的过程标志位发生了什么?
如图13-1请求端208号机发送一个初始序号(SEQ)987694419给1号机 。标志位SYN置为1 。
如图13-2服务器1号机收到这个序号后 , 将应答信号(ACK)和随机产生一个初始序号(SEQ)1773195208发回到请求端208号机 , 因为有应答信号和初始序号 , 所以标志位ACK和SYN都置为1 。
如图13-3请求端208号机收到1号机的信号后 , 发回信息给1号机 。标志位ACK置为1 , 其它标志为都为0 。注重此时SYN值为0 , SYN是标示发起连接的 , 上两部连接已经完成 。
 
16位窗口大小:TCP的流量控制由连接的每一端通过声明的窗口大小来提供 。窗口大小为字节数 , 起始于确认序号字段指明的值 , 这个值是接收端正期望接收的字节 。窗口大小是一个16字节字段 , 因而窗口大小最大为65535字节 。
16位检验和:检验和覆盖了整个的TCP报文段: TCP首部和TCP数据 。这是一个强制性的字段 , 一定是由发端计算和存储 , 并由收端进行验证 。
16位紧急指针:只有当U R G标志置1时紧急指针才有效 。紧急指针是一个正的偏移量 , 和序号字段中的值相加表示紧急数据最后一个字节的序号 。
选项:图13-1和图13-2有8个字节选项 , 图13-3没有选项 。最常见的可选字段是最长报文大小 , 又称为MSS (Maximum Segment Size) 。每个连接方通常都在握手的第一步中指明这个选项 。它指明本端所能接收的最大长度的报文段 。图13-1可以看出208号机可以接受的最大字节数为1460字节 , 1460也是以太网默认的大小 , 在第三组的数据分析中可以看到数据传送正是以1460字节传送的 。
握手小结
上面我们分开讲了三次握手 , 看着有点散 , 现在小结一下 。


推荐阅读