问题
问答题
主机H通过快速以太网连接到某网络中,H与服务器S使用TCP通信时,在H上捕获的其中2个IP分组如下表(a)所列:
表(a) | |
编号 | IP分组的前40字节内容(十六进制) |
1 | 45 00 00 30 3a 66 40 00 80 06 34 58 c0 a8 05 5f c0 a8 05 5a 04 1a 00 15 6d 2a 1c 94 00 00 00 00 70 02 ff ff 69 28 00 00 |
2 | 45 00 00 30 1f 4d 40 00 80 06 4f 71 c0 a8 05 5a c0 a8 05 5f 00 15 04 1a 17 29 2f 2f 6d 2a 1c 95 70 12 ff ff 22 bf 00 00 |
第三条报文如果在网络中正确传输,需要填充的数据是多少
注:IP分组头和TCP段头结构分别如图(a)、图(b)所示。
答案
参考答案:还必须填充6个字节。
解析: 本题考查应用层、传输层和网络层的协议分析,该类题目从截获的十六进制数据出发,根据协议的工作原理,考查协议的语义特点,以及原理的深化,本题中第二题涉及对数据纠错,是协议分析类题目的一个新方向。
问题一,如何从具体的数据包中得出应用层协议的类型呢这一点要从传输层协议的端口号入手,不同的端口号标识了主机上的不同应用程序,进而通过端口所对应的IP地址,就可以分辨出源和目的所对应的客户端和服务器,针对这个题目,这里给出了两个报文所对应的协议树,见图(a)和图(b),所需要字段的值很容易就可以得出,如果对分组格式清晰的话,也可以直接求出所需要的字段的数值进行判断。
问题二是对第三条报文正确的判断,这里从第一和第二报文要分析出,这实际上是一个TCP三步握手的过程,第三条报文恰好是服务器反馈给客户端连接建立成功的报文,特点是,ACK序号要加1,源序号应该是报文二的ACK序号,ACK的标志位要设置为1,题目给出的报文可以看出,源和目的IP地址正好相反了,标志位设置错误,ACK序号没有加1。
问题三考查以太网最小数据帧长是46字节,目前IP和TCP包头分别占了20个字节,因此还必须填充6个字节。