局域网主机间发包细节

局域网通信解析

 一直有一个疑问:局域网的主机之间是如何将数据包发出去的 ? 求细节。 

我目前的真实网络环境:

路由器(家用)的IP地址为192.168.1.1;

主机A地址192.168.1.100;

主机B地址192.168.1.102; 

主机A的路由表:

 

主机A的arp表:

 

当主机A来ping主机B时,数据包是怎么发送到B的呢?

先说说我的理解:因为主机A与网络通信只有一条路径,所以数据包将会被转发给默认路由(192.168.1.1),然后由路由器将该包转发给主机B。具体是:A将数据包转发给路由器,路由器发送一个ARP广播查找主机B的MAC地址,得到MAC地址后,路由器通过链路层将数据发给主机B。(这里有一个ARP广播,我认为这个ARP广播应该由路由器发出,广播中的源地址(包括IP和MAC)地址都应该是路由器本身的,而不是主机A的。)

 

但抓包结果(见下图)来看,主机A应该是直接将数据包发给了主机B。这是因为,主机A发了一个ARP广播来寻找主机B的MAC地址,且得到了应答。(主机A所发的ARP广播中的源地址(包括IP和MAC)都是主机A本身的)。那么接下来,有了MAC地址后,主机A是怎么直接将数据发给主机B而没有通过路由器的呢? A与B虽然是同一网络,但未直接相连啊。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值