经过二层交换机:数据包的源目mac不变,源目IP不变。
经过三层路由器:源mac变为出接口mac,目的mac变为下一跳接口的mac,源目IP不变。
解释:在一个网段内部,通过数据包通过mac寻址(二层交换机和终端都有mac表,查表或者通过mac广播)因此在二层交换机,数据包里的源目mac地址肩负着,把数据包从发包终端传递到目的IP所在终端(网段的其他主机~其他网段IP的话就是给网关)的任务。
三层的话,同理源目IP肩负着这个责任,非常类似。由于三层设备转发,跨网段了,原来的mac地址当然就不能使用了,所以出接口的mac此时成为在新一个网段实现两个IP之间寻址的源mac,根据mac表找到匹配到的路由条目指出的需要转给的下一个IP的mac地址(没的话arp广播得到),然后封装好新的源目mac,转给新网段之间的交换机。。。直到完成新的网段里两点之间的数据包的传递。
ps:就这样源目mac和二层设备里的mac表(通过arp协议学习到的)以及arp广播的功能实现同网段不同IP之间数据包的传递,源目IP和三层设备里的路由表(手工写入(在大网络里不现实)或者动态路由协议生成(rip\ospf之类的))实现不同网段之间数据包的传递,完成两个设备的数据交换;
实验证明:
说明:使用ensp搭建虚拟拓扑,如下,三个文字区域是三个路由器AR1、AR2、AR3的命令;
左边pc:
右边pc:
文章来源:https://www.toymoban.com/news/detail-617965.html
思路:在左边pc:192.168.1.1上ping右边pc:192.168.4.1,依次在接口抓包查看里面icmp包的源目mac变化;
。。。。。ensp每次只能在一个位置抓包(在绿点右键),由于每次ping数据包完全一样,分几次抓包也一样,所以…
抓包结果如下:
注:
分析:1、2、3都是在192.168.1.0网段内部,可以看到源目mac(源mac:pc192.168.1.1的mac,目的mac:网关接口192.168.1.254的mac,因为ping的地址是外网地址,所以pc的网卡在打包目的mac时默认写的是网关mac)都没发生变化,正确;
4包是经过出口路由器这个三层设备,进入另一个网段192.168.2.0网段,看到源mac是AR1的g0/0/1的mac,目的mac是AR2的g0/0/1的mac了。文章来源地址https://www.toymoban.com/news/detail-617965.html
到了这里,关于数据包在二层的交换机和三层的路由器上传递mac地址的变化区别--详解带实验验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!