在本地主机使用Ping命令测试与远端主机192.168.0.101的连通性,Ping测试仅进行了一次,由于测试数据较大,在IP层进行了数据分片。Ping命令执行时,使用Sniffer工具捕获本机以太网发送方向的所有通信流量,得到6个IP数据报,下表以16进制格式逐字节给出了六个IP数据报的前40个字节。
问答题
哪几个数据报是该次Ping测试产生的?为什么?
【正确答案】正确答案:70FE8(sp)+4=70FECH,即x在栈中的逻辑地址(call sin之前刚被push进去的),故其功能是把x的值送入寄存器2,作为sin函数的参数。
【答案解析】
问答题
本机IP地址是什么?这次测试IP数据报的TTL,值被设为多少?
【正确答案】正确答案:本机IP地址为第12~15个字节,即C0 A8 00 15,转换成二进制为192.168.0.21。根据IP分组头格式,从第13个字节开始,找到TTL=0x39,即为二进制的57。
【答案解析】
问答题
IP数据报在被分片之前总长度是多少字节?

IP分组头的结构如下图所示。
【正确答案】正确答案:在1、4、5号数据报中,由MF位知,第5个数据报是分片的最后一片(MF=1,表示后面还有分片;MF=0,表示后面没有分片),由各个数据报中的总长度域(或由片偏移)知,1、4号数据报的总长度均为0x05DC=1500字节,头部长度=5×4=20字节,故净荷长度=1480字节;5号数据报的净荷长度=0x059B—20=1435—20=1415字节,所以分片前的净荷=1480+1480+1415=4375,总长度=净荷+头部20字节=4375+20=4395字节。
【答案解析】