CS168:以太网、交换机与生成树
同一个局域网里的设备需要共享链路。以太网帧使用 MAC 地址标识本地链路上的发送方和接收方;常见 MAC 地址长 48 位,例如 f8:ff:c2:2b:36:16。MAC 地址和 IP 地址用途不同:IP 负责跨网络寻址,MAC 地址负责当前链路上的帧交付。
以太网帧会携带源 MAC、目的 MAC 和上层协议类型等字段,帧尾的校验字段用于检测传输错误。

交换机怎样学会转发
学习型交换机不需要预先知道每台主机的位置。收到帧时,它会记录“源 MAC 地址是从哪个端口进来的”。以后若要转发给这个地址,就把帧送到对应端口。
如果目的 MAC 尚未出现在转发表中,交换机通常会把帧从其他端口泛洪出去;广播帧则发送给同一广播域内的设备。设备收到单播帧后,会检查目标 MAC 是否属于自己,不匹配就忽略。
像校园楼里的走廊一样,多个交换机之间保留冗余通路能应对链路故障;但若这些连接形成环路,未知单播和广播帧可能不断绕圈复制,造成广播风暴。
STP 如何避免二层环路
生成树协议(Spanning Tree Protocol,STP)让交换机在物理上保留冗余链路、逻辑上阻塞其中一部分,使转发拓扑没有环路。交换机交换 BPDU(Bridge Protocol Data Unit),据此选出根桥,并计算各自到根桥的低成本路径;不属于生成树的端口进入阻塞状态。
如果活动链路失效,STP 可以重新计算并启用备用链路。它解决的是二层交换网络中的环路问题;IP 层的 TTL 不能替代 STP,因为普通以太网帧没有 IP TTL 字段。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GHL's Blog!
