以太网、Wi-Fi 与 ARP¶
以太网帧承载什么¶
典型以太网帧包含目的 MAC、源 MAC、类型、载荷和帧校验序列。类型字段告诉接收方载荷是 IPv4、IPv6 还是其他协议。帧有最小和最大长度约束,常见以太网 MTU 为 1500 字节,但隧道、虚拟化和巨型帧场景可能不同。
MAC 地址通常是 48 比特。广播地址会被同一广播域中的交换机泛洪;多播地址交给感兴趣的一组节点;单播地址定位一个接口。MAC 地址只在当前二层范围发挥作用,不像 IP 前缀那样用于全球分层路由。
交换机如何学习¶
二层交换机维护“源 MAC 到入端口”的表。收到帧时:
- 从源 MAC 学习该地址位于哪个端口。
- 若目的 MAC 已知,只转发到对应端口。
- 若目的未知,向除入端口外的相关端口泛洪。
- 广播帧也会在广播域内泛洪。
表项会老化,因为终端可能移动。这个机制无需终端手工注册,部署简单;但环路会让广播帧无限复制,传统二层网络需要生成树或受控多路径技术。VLAN 可在同一物理交换网络中划分多个逻辑广播域,跨 VLAN 通信必须经过三层设备或相应网关。
ARP 解决一跳地址映射¶
IPv4 主机决定下一跳 IP 后,还需要知道对应 MAC 才能构造以太网帧。ARP 使用广播询问“谁拥有这个 IPv4 地址”,目标节点用自己的 MAC 回复,结果暂存在 ARP 缓存。
最小完整例子:访问异网段服务器¶
主机配置:
主机判断服务器不在 192.168.1.0/24,因此:
- ARP 查询
192.168.1.1,不是查询远端服务器。 - 构造目的 IP 为
198.51.100.20的 IP 数据报。 - 外层以太网帧目的 MAC 写默认网关的 MAC。
- 网关解封装并路由;下一跳再使用新的链路层帧。
这正好体现封装中的“端到端网络层地址”和“逐跳链路层地址”。
ARP 的信任问题¶
ARP 本身缺少认证,攻击者可发送伪造应答,把网关 IP 绑定到自己的 MAC,实施中间人或拒绝服务。防护包括交换机动态 ARP 检查、DHCP snooping 绑定、静态关键条目、网络隔离以及最重要的端到端 TLS。仅依靠“局域网可信”风险很高。
IPv6 不使用 ARP,而通过 ICMPv6 Neighbor Discovery 完成邻居解析、路由器发现等功能。它的功能更丰富,也需要相应的安全与过滤策略。
Wi-Fi 接入过程¶
Wi-Fi 终端通常经历:
- 扫描并发现接入点与网络名称。
- 认证和关联,协商链路能力。
- 在受保护网络中完成密钥相关握手。
- 通过 DHCP 或 IPv6 自动配置获得网络参数。
- 经接入点桥接到局域网或由网关路由出网。
接入点通常在无线侧和有线侧之间桥接帧。无线链路共享、信号随距离变化、存在干扰和隐藏终端,因此实际速率会动态调整,标称物理速率不等于应用吞吐。
Wi-Fi 的可靠性与性能权衡¶
802.11 接收方通常对单播帧发送链路层 ACK,未确认可在本地重传。本地恢复比等待端到端 TCP 重传快,但重传会占用空口并增加时延。信号差时降低调制速率可提高成功率,却让一个慢终端占用更多发送时间,影响同信道其他用户。
2.4 GHz 传播较远、兼容性好但干扰常多;更高频段可提供更多信道与容量,穿墙和覆盖可能更弱。部署应综合信道规划、接入点位置、回程容量和终端密度,而不是只比较“格数”。
端到端小结¶
以太网交换机依据 MAC 表在局域网内转发,ARP 把下一跳 IPv4 映射为 MAC,路由器依据 IP 前缀跨网络转发,TCP 或 UDP 再把数据交给进程。每一层都有自己的标识符和状态表;排障时确认故障发生在哪张表,比反复重启设备更有效。
自测
交换机不知道目的 MAC 时为什么泛洪,而路由器不知道目的 IP 路由时通常丢弃?
二层交换机在有限广播域内可通过泛洪让未知终端收到帧并从回包学习;路由器连接的范围可能巨大,跨网络泛洪不可扩展,因此需要明确路由或默认路由。