0. 前言:局域网的“智慧”所在

在链路层的基础篇中,我们学习了点对点(PPP)的规则。但在现实中,更多设备是连接在一个“共享”的局域网(LAN)里的。如何保证大家说话不打架?如何让交换机像导流员一样精准投送数据?如何用 VLAN 把一个大的广播域切碎?

本篇文章将带你攻克:

  1. CSMA/CD 协议(408 计算核心)。

  2. 以太网帧格式与 MAC 地址

  3. 交换机的工作原理(自学习与帧转发)。

  4. VLAN 配置实战(三级考试必考命令)。

1. 考研核心:介质访问控制协议 CSMA/CD

在早期的总线型以太网中,所有主机共用一根线。CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 应运而生,口诀是:先听后发,边听边发,冲突停止,随机重发

1.1 协议流程深度解析

  1. 多点接入 (Multiple Access): 许多计算机连接在一根总线上。

  2. 载波监听 (Carrier Sense): 发送前先检测总线上是否有其他信号。

  3. 碰撞检测 (Collision Detection): 边发送边检测。一旦发现电平异常,说明发生了碰撞。

1.2 碰撞检测的数学极限:争用期

发送方发送数据后,最长需要多久才能确保没发生碰撞? 答案是:任意两个节点间往返传播时延 $2\tau$。这个时间被称为争用期(碰撞窗口)。

1.3 核心计算:最小帧长 ✨

为了确保发送站在发完之前能检测到碰撞,帧的发送时延必须大于等于信号的往返传播时延

🚀 408 必考推论: 以太网规定最小帧长为 64 字节。如果一个帧太小,必须在后面填充(Padding)。如果链路过长或速率过快,必须增加最小帧长,否则无法检测碰撞。

1.4 碰撞后的自救:二进制指数退避算法

当碰撞发生,不能立刻重发,否则会连续碰撞。

2. 以太网标准与 MAC 地址

2.1 以太网 V2 帧格式

这是工业界的标准帧格式:

  1. 前导码 (8B): 用于时钟同步。

  2. 目的地址 (6B): MAC 地址。

  3. 源地址 (6B): MAC 地址。

  4. 类型 (2B): 指明上层协议(如 0800H 是 IP)。

  5. 数据 (46~1500B): 最小 46B 是为了凑够 64B 的最小帧(46 + 6 + 6 + 2 + 4 = 64)。

  6. FCS (4B): CRC 校验码。

2.2 MAC 地址

  • 48 位(6 字节),全球唯一。

  • 形式:00-0C-29-4F-8B-3C

  • 前 3 字节是厂商代码(OUI),后 3 字节是厂家分配。

3. 交换机原理:从共享到交换

交换机(Switch)工作在数据链路层,它比集线器(Hub)聪明得多。

3.1 冲突域与广播域

  • 集线器: 既不能隔离冲突域,也不能隔离广播域。所有端口共享带宽。

  • 交换机: 每个端口都是一个独立的冲突域,采用全双工通信时不需要 CSMA/CD。但交换机默认不能隔离广播域

3.2 交换机的自学习算法

交换机内部维护一张 MAC 地址表(也叫交换表)。

  1. 接收: 收到一个帧,记录其“源 MAC 地址”与“入端口”的对应关系。

  2. 查找: 查找“目的 MAC 地址”。

    • 若找到:按表项指定的端口转发(单播)。

    • 若未找到:向除入端口外的所有端口转发(泛洪/洪泛)。

    • 若源地址端口 = 目的地址端口:丢弃。

4. 三级必考:VLAN (虚拟局域网) 实战

VLAN 的出现是为了隔离广播域,提高安全性和管理效率。

4.1 IEEE 802.1Q 标签

在原始以太网帧的源地址后插入一个 4 字节的 VLAN Tag。其中包含 12 位的 VLAN ID(支持 1~4094)。

4.2 端口类型

  • Access 端口: 用于连接主机。只属于一个 VLAN。

  • Trunk 端口: 用于连接交换机。可以承载多个 VLAN 的流量。

4.3 三级实操:Cisco 交换机常用命令

在三级网络技术的综合题中,VLAN 配置是必拿的分数。

# 1. 创建 VLAN
Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name Sales

# 2. 将端口分配到 Access VLAN
Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10

# 3. 配置 Trunk 链路
Switch(config)# interface range f0/23 - 24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all

5. 生成树协议 STP (三级高频填空)

为了防止二层环路导致的“广播风暴”,需要 STP 逻辑上断开冗余链路。

  • 根桥选择: Bridge ID (优先级 + MAC 地址) 最小的为根。

  • 端口状态: Blocking (阻塞) -> Listening -> Learning -> Forwarding (转发)。

  • 填空重点: STP 状态转换的时间通常是 15s 或 20s,BPDU 报文每 2s 发送一次。

🛠 实战案例与避坑指南

5.1 408 深度计算案例

5.2 三级网络技术避坑

在填空题中,如果你看到“交换机查看 MAC 地址表”的命令,应填 show mac-address-table。注意中间的连字符。

💡 考研党深度思考

Q:既然交换机能隔离冲突域,为什么还要保留 CSMA/CD 协议? A:主要是为了后向兼容。在半双工模式或连接集线器的情况下,冲突依然存在。但在全双工连接的现代交换网络中,CSMA/CD 确实已经退居幕后。

总结

本章我们从“物理上的争用”聊到了“逻辑上的隔离”。掌握了 CSMA/CD 的公式,你就拿下了 408 链路层最难的计算;背会了 VLAN 配置命令,你就拿稳了三级考试实操题的底分。

下一篇预告:【网络层·核心计算】我们将进入整场考试的“天王山”——IP 地址规划、子网划分与 CIDR。 建议准备好草稿纸,这一章的计算量极大!

版权声明:本文为【计网全栈通关】系列,转载请注明出处。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐