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


表3
第二组 建立连接
1)下图显示的是3-5行的数据
 

图11
2)解释数据包
这三行数据是两机建立连接的过程 。
这三行的核心意思就是TCP协议的三次握手 。TCP的数据包是靠IP协议来传输的 。但IP协议是只管把数据送到出去 , 但不能保证IP数据报能成功地到达目的地 , 保证数据的可靠传输是靠TCP协议来完成的 。当接收端收到来自发送端的信息时 , 接受端详发送短发送一条应答信息 , 意思是:“我已收到你的信息了 。”第三组数据将能看到这个过程 。TCP是一个面向连接的协议 。无论哪一方向另一方发送数据之前 , 都必须先在双方之间建立一条连接 。建立连接的过程就是三次握手的过程 。
这个过程就像要我找到了张三向他借几本书 , 第一步:我说:“你好 , 我是担子” , 第二步:张三说:“你好 , 我是张三” , 第三步:我说:“我找你借几本书 。”这样通过问答就确认对方身份 , 建立了联系 。
下面来分析一下此例的三次握手过程 。
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头 , 这个数据报只是传送的控制信息 , 还没有传送真正的数据 , 所以目前看到的总长度就是报头的长度 。

推荐阅读