关于MAC地址和IP地址在传输过程中变与不变的问题:
结论:mac地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的;而IP地址在传输过程中是不会改变的(除NAT的时候)。
我们知道的几个概念:
首先我们要知道,MAC地址是用于同物理或逻辑第2层网络上的设备间进行通信的,工作于数据链路层;
而第三层地址(IP地址)是可以在多个网络设备之间通信的,工作于网络层。
下面我们来分析一下:
如图,H1想往H2发消息,而消息需要封装成帧,通过数据链路传输才能发出去,而消息在数据链路上传输又需要源mac和目的mac,如果H1和H2在同一个子网,而H1又不知道H2的mac地址,那么可以通过arp高速缓存里查找到本局域网各主机和路由器的IP地址到目的地址之间的映射,如果没有,则会通过arp协议(地址解析协议)发起一次硬件广播,可以得到H2的mac地址;(注意这里arp协议是解决同一个子网内各主机或路由器的IP地址和mac地址之间的映射问题)图中的情况是H1和H2不在同一个子网,不同的子网之间又是通过路由器进行连接的,所以H1会先将消息发送给路由器R1,也就是常说的默认网关,此时源mac是H1的mac地址,目的mac是R1的mac地址,再由R1进行查路由表,通过与网2相连的路由端口H4,将消息进行转发给与网3相连的路由器R2(这里可以得知一个路由器可能会有多个mac地址,因为一个