路由器的每个物理接口(入口/出口)通常都有一个独立的MAC地址
交换机所有接口MAC都一样的
拓扑:PC1(MAC=AA)---端口1---[交换机]---端口2---PC2(MAC=BB)# PC1发送数据给PC2:帧:源MAC=AA,目标MAC=BB# 交换机处理:1.从端口1收到帧2.学习:AA → 端口13.查找BB:-第一次:不知道BB在哪 → 泛洪(端口2、3、4都发)-PC2从端口2收到,回复时交换机学习:BB → 端口24.之后:AA↔BB通信直接端口1↔端口2转发# 注意:整个过程中,交换机的接口没有MAC地址参与!# 交换机只是"看着"别人的MAC地址做转发决策# 交换机是工作在数据链路层的 没有IP参与的# 假设交换机端口有MAC地址(例如端口1 MAC=SW1,端口2 MAC=SW2)PC1发送:源MAC=AA,目标MAC=BB# 如果交换机用自己的MAC重写:转发时变成:源MAC=SW2,目标MAC=BB# 问题来了:1.PC2收到后,以为数据来自"交换机端口2"(而不是PC1)2.PC2回复时,目标MAC=SW2(而不是AA)3.交换机收到后,不知道转发给谁4.通信中断!# 这就是为什么交换机必须保持帧的原样# 网络拓扑:PC(M1)→R1(M2/M3)→R2(M4/M5)→R3(M6/M7)→Server(M8)IP:192.168.1.100IP:93.184.216.34# 第1段:PC → R1(以太网)帧:源MAC=M1,目标MAC=M2 # MAC改变:目标变为R1的入口MACIP:源=192.168.1.100,目标=93.184.216.34# IP不变# R1处理:查路由表 → 下一跳是R2# 需要重新封装,因为要换到新的链路(可能是PPP、以太网等)# 第2段:R1 → R2(串行链路PPP)帧:源MAC=M3,目标MAC=M4 # MAC又变了! IP:源=192.168.1.100,目标=93.184.216.34# IP还是不变# 第3段:R2 → R3帧:源MAC=M5,目标MAC=M6IP:源=192.168.1.100,目标=93.184.216.34# 第4段:R3 → Server帧:源MAC=M7,目标MAC=M8 # 最后一次改变MACIP:源=192.168.1.100,目标=93.184.216.34# IP始终如一# 网络拓扑:PC(192.168.1.100,MAC=M1)↓ 路由器 R1:-eth0:192.168.1.1/24,MAC=M2 # 连接PC-eth1:10.0.0.1/24,MAC=M3 # 连接R2 ↓ 路由器 R2:-eth0:10.0.0.2/24,MAC=M4 # 连接R1-eth1:203.0.113.1/24,MAC=M5 # 连接Internet ↓ Server(93.184.216.34,MAC=M6)# 数据包转发过程:# 阶段1: PC → R1 (eth0)帧:源MAC=M1(PC),目标MAC=M2(R1.eth0)# PC知道R1的eth0MACIP:源=192.168.1.100,目标=93.184.216.34# R1收到后:1.检查:目标MAC=M2 → 是我的eth0接口 → 接收2.路由查找:93.184.216.34→ 下一跳10.0.0.2(R2)3.重新封装: 源MAC=M3(R1.eth1)# 改为出接口MAC 目标MAC=M4(R2.eth0)# 下一跳接口MAC IP不变# 阶段2: R1(eth1) → R2(eth0)帧:源MAC=M3,目标MAC=M4 # MAC都变了! IP:源=192.168.1.100,目标=93.184.216.34# IP不变 出发时(PC封装): ┌─────────┬─────────┬─────────┬─────────┐ │ 源MAC │ 目标MAC │ 源IP │ 目标IP │ │ PC-MAC │ R1-MAC │192.168.1.100│93.184.216.34│ └─────────┴─────────┴─────────┴─────────┘ 第一跳后(R1重新封装): ┌─────────┬─────────┬─────────┬─────────┐ │ 源MAC │ 目标MAC │ 源IP │ 目标IP │ │ R1-MAC │ R2-MAC │192.168.1.100│93.184.216.34│ ← IP没变! └─────────┴─────────┴─────────┴─────────┘ 到达服务器时: ┌─────────┬─────────┬─────────┬─────────┐ │ 源MAC │ 目标MAC │ 源IP │ 目标IP │ │ R3-MAC │ Server-MAC│192.168.1.100│93.184.216.34│ └─────────┴─────────┴─────────┴─────────┘# 数据的转发# 源IP,目标IP 是不变的,NAT转换,是为了解决公网IP不足# 源MAC,目标MAC是改变的