Appearance
第3章:链路、以太网与无线接入
帧与差错检测
链路层把一段数据组织成帧,使接收方知道边界、类型和校验信息。CRC 将比特串视为二元多项式,用生成多项式做模二除法,发送余数。接收方重新计算以发现某些错误模式。
CRC 不是密码学认证:攻击者可以修改内容并重算校验。检测到错误也不等于纠正错误;协议可以丢弃,由本层或端到端协议重传。
交换机怎样学习
以太网交换机收到帧时,学习“源 MAC 地址在哪个端口”。若目标 MAC 已知,则向相应端口转发;未知单播通常在所属 VLAN 内泛洪。它并不通过读目的地址学习发送者的位置。
假设交换机的表最初为空。A 在端口 1 向 B 发帧,交换机记下 A→1,并向其他端口泛洪。B 在端口 3 回复后,交换机记下 B→3;以后 A 与 B 的流量可以定向转发。
学习表有老化机制,以适应主机移动。二层环路会让广播持续循环,传统网络用生成树协议阻断部分链路;IP 的 TTL 不能保护未进入 IP 转发过程的以太网帧。
二层邻居与 IP 下一跳
主机先根据 IP 路由判断目标在本地子网还是经网关到达,再解析下一跳的链路地址。IPv4 常用 ARP,IPv6 使用邻居发现。
主机 192.0.2.10/24 访问 198.51.100.20,若默认网关是 192.0.2.1,它需要查询网关的 MAC 地址。发出帧的目标 MAC 是网关,而封装的 IP 数据报目标仍是远端主机。
VLAN 把一个物理交换网络划成不同广播域。不同 VLAN 间通常需要三层转发;给两个 VLAN 配上相同 IP 前缀,并不会自动使它们互通。
共享介质与无线网络
早期共享以太网需要处理碰撞,现代全双工交换以太网的点到点链路通常不使用碰撞检测争用。Wi-Fi 则仍要面对共享无线信道:发送前侦听、退避,必要时确认与重传。
无线中的隐藏终端说明“我听不到别人”不等于“接收方没有被干扰”。A 与 C 彼此听不到,却都能向 B 发信号,两者同时发送会在 B 冲突。RTS/CTS 可以缓解部分情形,但有控制开销,也不是所有干扰的通用解法。
链路重传可隐藏短暂无线误码;重传过多又会增大 RTT 波动,影响端到端超时判断。两层可靠性机制需要共同分析。
练习
- 交换机为何学习源地址,而不是目的地址?
- 主机访问异地网站时,ARP 请求通常会到达异地服务器吗?
- CRC 校验通过为什么不能证明消息来自可信发送者?