2012年IP&TCP大题

【小回顾】IP分组中的数据部分即 TCP首部+ TCP的数据部分

题目】主机H通过快速以太网连接Internet,IP地址为192.168.0.8,服务器S的IP地址为211.68.71.80,H与S使用TCP通信时,在H上捕获的其中5个IP分组如下表所示:

读题】每个IP分组的第2数字为“5”——代表每个报文段长度为20B(即第一大行为IP分组的固定首部,没有可选项)。

(1)表1中的IP分组中,那几个是由H发送的?哪几个完成了TCP连接建立过程?那几个在通过以太网传输时进行了填充?

【解析】根据H主机的IP地址是192.169.0.8,对应的十六进制是c0 a8 00 08,根据IP分组的“第四行”即源IP地址知道分组1、3和4是H发送的。

TCP的建立需要三次握手,所以要找满足【(1)SYN=1;(2)SYN=ACK=1(3)ACK=1的报文段,另外第一个和第三个的序列号要紧挨着】。满足条件的即是前三个分组(注意第一个分组的序号为84 6b 41 c5,第三个分组的序号为84 6b 41 c6,两者相差1

通过以太网传输时填充是因为【快速以太网数据帧的data最小长度为46B,即IP分组(data+IP首部的总和min=46B)即小于46B的需要“填补”】,根据IP分组的第一行“总长度”字段(分组中的第二字节),从上往下的分组为00 30H、00 30H、00 28H、00 38H、00 28H,第1、2、4个分组大小分别为48B、48B、52B(均大于最小帧长46B),其中第3、5个分组28H表明分组大小为40B【一种8片首饰,牢记】——指分片的数据长度必须是8B的整数倍。

(2)根据表1中的IP分组,分析S已经收到的应用层数据字节数是多少?

【解析】key:考察通过确认段的序号来判断收到了多少,确认号-初始数据号=已经确认收到的字节数

由于三次握手的“第三次”就可以开始发送数据了,第三个分组中的初始序号为 84 6b 41 c6,而第五个分组的确认号为84 6b 41 d6,两个作差得到10H,即16B(注意这里不要联想到计组中的算两个地址之间容量大小的“后者-前者+1”,这里确认收到的字节数是不需要再+1的,因为确认k+1号,即代表前k号的已经全部收到了)

【注意】这里,确认号是服务器S的确认号;初始号是主机H的初始号。

(3)若表1中的某个IP分组在S发出时的前40B如表二所示,则该IP分组到达H时经过了多少个路由器?

【解析】key:经过多少个路由器是要看TTL的。由于S发出的IP分组的标识为6811H(第5个的5,6个字节)【分组的标识字段用来分辨2个不同的IP分组在分片之前是否是同一个IP分组】所以表2中的分组和表一中的第5个分组是“兄弟(同一数据报)”,S发出的IP分组的TTL=40H,而表1的第5个IP分组的TTL是31H,40H-31H(注意这里的计算结果并不是9H,而是要先转成十进制后减法运算),即64-49=15,因此可以判断该IP分组到达H时经过了15个路由器。

注意】这问给的前40B是指【S发出时】的IP分组,而表1中的第五个IP分组是【S发送的且到达H主机的IP分组】(同一个);

该IP分组对应表1中的5号分组。

小结

可以看出408的大题是很喜欢一起考察各种综合知识点的,本题就涉及了IP&TCP报头(如ACK/SYN)、TCP三次握手、TTL的计算、IP数据报的分片、十六进制的减法以及【快速(高速)以太网数据帧的数据部分最小长度为46B,回顾:由CSMA/CD算法知道以太网帧的最短帧长为64B,而MAC帧的首部和尾部长度为18B,所以数据最短为46B】。

  • 43
    点赞
  • 180
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山顶夕景

小哥哥给我买个零食可好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值