一个计算机网络的面试题

来源:互联网 发布:linux重置root密码忘记 编辑:程序博客网 时间:2024/06/06 11:03

来自林沛满的《WIreshark网络分析就这么简单》

问题

这里写图片描述

抓包与分析

这里写图片描述
分析一下:
A: 192.168.26.129/24
B: 192.168.26.3/27

那问题是:B能ping通A吗?咋一看都是192.168.26.*,好像应该能ping通,但是看看子网掩码呢?A的掩码:255.255.255.0,挺熟悉的,平常用的路由器或者从PC发出来的热点不就是这样的形式吗?然而B的掩码跟A不一样!蒙逼了!好啦,认真分析一下,是谁ping谁?B要ping A。作为B来说,由B的掩码可看出B所在的网络是192.168.26.0/27。前27位是网络号,后面的位可分配给主机号,即2的(32-27)次方-1=31个主机号(192.168.26.1~31),显然A的IP :192.168.26.129不在其列,即对B来说,A不属于B所在的子网,于是B想出本子网去找A就得交给B所在子网的网关(192.168.26.2)来处理。而要跟网关通信,就得先知道网关的MAC地址,也就是要ARP一下。于是网关向B回复了网关的MAC地址,这样B就可以跟网关通信了。于是B向A发出一个ping包,这里说向A发出ping包的意思是A发出的网络层的包的包头指定目标IP为A的IP。而其数据链路层的帧的目标MAC地址是网关的MAC地址。于是网关收到这个帧之后,发现网络层包中的目标IP为A的IP,于是转发这个包给A。A收到这个包之后,发现源IP是B(192.168.26.3)。而对A来说,B属于A的子网,因为A属于192.168.26.0/24这个网段,即192.168.26.1~255,包含B的IP(192.168.26.129)。于是A回复B的ARP请求,将自己的MAC地址告诉A,而不用经过网关的转发了。

0 0