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


这个过程就像要我找到了张三向他借几本书,第一步:我说:“你好,我是担子”,第二步:张三说:“你好,我是张三”,第三步:我说:“我找你借几本书 。”这样通过问答就确认对方身份,建立了联系 。
下面来分析一下此例的三次握手过程 。
1))请求端208号机发送一个初始序号(SEQ)987694419给1号机 。
2))服务器1号机收到这个序号后,将此序号加1值为987694419作为应答信号(ACK),同时随机产生一个初始序号(SEQ)1773195208,这两个信号同时发回到请求端208号机,意思为:“消息已收到,让我们的数据流以1773195208这个数开始 。”
3))请求端208号机收到后将确认序号设置为服务器的初始序号(SEQ)1773195208加1为1773195209作为应答信号 。
以上三步完成了三次握手,双方建立了一条通道,接下来就可以进行数据传输了 。
下面分析TCP头信息就可以看出,在握手过程中TCP头部的相关字段也发生了变化 。
3)头信息分析
如图12所示,第3数据包包含了三头信息:以太网(Ethernet)和IP和TCP 。
头信息少了ARP多了IP、TCP,下面的过程也没有ARP的参与,可以这样理解,在局域网内,ARP负责的是在众多联网的计算机中找到需要找的计算机,找到工作就完成了 。
以太网的头信息与第1、2行不同的是帧类型为0800,指明该帧类型为IP 。


图12
IP协议头信息
IP是TCP/IP协议族中最为核心的协议 。从图5可以看出所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输的,有个形象的比喻IP协议就像运货的卡车,将一车车的货物运向目的地 。主要的货物就是TCP或UDP分配给它的 。需要非凡指出的是IP提供不可靠、无连接的数据报传送,也就是说I P仅提供最好的传输服务但不保证IP数据报能成功地到达目的地 。看到这你会不会担心你的E_MAIL会不会送到朋友那,其实不用担心,上文提过保证数据正确到达目的地是TCP的工作,稍后我们将具体解释 。
如表4是IP协议的头信息 。

表4 IP数据报格式及首部中的各字段
图12中所公布分45 00—71 01为IP的头信息 。这些数是十六进制表示的 。一个数占4位,例如:4的二进制是0100
4位版本:表示目前的协议版本号,数值是4表示版本为4,因此IP有时也称作IPv4;
4位首部长度:头部的是长度,它的单位是32位(4个字节),数值为5表示IP头部长度为20字节 。
8位服务类型(TOS):00,这个8位字段由3位的优先权子字段,现在已经被忽略,4位的TOS子字段以及1 位的未用字段(现在为0)构成 。4位的TOS子字段包含:最小延时、最大吞吐量、最高可靠性以及最小费用构成,这四个1位最多只能有一个为1,本例中都为0,表示是一般服务 。
16位总长度(字节数):总长度字段是指整个IP数据报的长度,以字节为单位 。数值为00 30,换算为十进制为48字节,48字节=20字节 的IP头 28字节的TCP头,这个数据报只是传送的控制信息,还没有传送真正的数据,所以目前看到的总长度就是报头的长度 。
16位标识:标识字段唯一地标识主机发送的每一份数据报 。通常每发送一份报文它的值就会加1,第3行为数值为30 21,第5行为30 22,第7行为30 23 。分片时涉及到标志字段和片偏移字段,本文不讨论这两个字段 。
8位生存时间(TTL):TTL(time-to-live)生存时间字段设置了数据报可以经过的最多路由器数 。它指定了数据报的生存时间 。ttl的初始值由源主机设置,一旦经过一个处理它的路由器,它的值就减去1 。可根据TTL值判定服务器是什么系统和经过的路由器 。本例为80,换算成十进制为128,WINDOWS操作系统TTL初始值一般为128,UNIX操作系统初始值为255,本例表示两个机器在同一网段且操作系统为WINDOWS 。

推荐阅读