三层交换机转发时IP和MAC地址会变吗?

具体来说,当数据包从三层交换机转发出去时,源MAC地址会变成当前交换机的出接口MAC地址,而目的MAC地址会变成下一跳设备的MAC地址,原来的MAC地址就被丢弃了。

评论 (2)

这就涉及到底层封装的改变了。三层转发本质上就是路由过程,每经过一个路由节点(包括三层交换机的路由引擎),都要剥离旧的L2帧头并封装新的L2帧头。所以源/目的MAC必然刷新为下一跳的MAC,而IP头(源/目的IP)通常保持不变,除非涉及NAT。这个解释很清晰,区分了L2和L3的不同处理方式。

MAC地址确实会变,因为每一跳都是独立的二层广播域,原报文头里的MAC自然被重写。但IP地址全程保持不变(除非做了NAT),这才是端到端通信的关键。这其实就是网络分层思想的精髓:下层负责局部可达,上层负责全局寻址。