Cisco 200-301: 以太网交换和第二层转发 — 学习指南
属于 Cisco CCNA 200-301 — 学习指南. 使用经过验证的答案练习: Cisco 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
以太网交换机通过学习和查询 MAC 地址表(也称为 CAM 表)在广播域内转发第二层帧。交换机根据目的 MAC、VLAN 和出接口的状态对每个帧做出决策。正确的行为依赖于准确的 MAC 学习、稳定的链路参数以及针对环路和第二层滥用行为的防护措施。本节将解释与生产环境交换相关的操作逻辑、设计权衡、故障模式和验证方法。
MAC 学习、转发、过滤和泛洪
交换机通过检查入向流量的源 MAC 和 VLAN,并将该元组与接收接口关联起来,从而学习源 MAC 地址。默认情况下,条目是动态的,并在空闲计时器(在思科园区交换机上通常为 300 秒)超时后老化。老化会移除未使用的条目,从而释放空间并有助于移动性;计时器太短会增加未知单播泛洪,而计时器太长则可能导致转发信息过时和表项增大。
每帧的转发逻辑:
- VLAN 内目的 MAC 已知的单播:从唯一的关联端口转发出去(除非该端口与入向端口相同,这种情况下交换机会过滤/丢弃以防止反射)。
- VLAN 内目的 MAC 未知的单播:向该 VLAN 中的所有其他活动端口泛洪(未知单播泛洪)。
- 广播 (ff:ff:ff:ff:ff:ff):向 VLAN 中的所有其他端口泛洪。广播对于 ARP 和一些发现协议是必需的。
- 组播:在没有 snooping 的情况下,许多交换机将组播视为广播并在 VLAN 内泛洪。通过 IGMP snooping (IPv4) 或 MLD snooping (IPv6),交换机将组播限制在有接收者的端口,从而减少不必要的流量。
可以配置静态 MAC 条目以实现确定性转发,或在高度安全的场景中固定设备。过度使用静态条目会使操作复杂化;首选带控制的动态学习方式。
常见故障模式:
- MAC 漂移 (flapping):同一个 MAC 地址在短时间内快速出现在多个接口上,通常由环路或非对称路径引起。症状包括日志消息和持续的 CAM 更新。
- CAM 耗尽:由于规模或攻击导致表被填满,从而引发更多的未知单播泛洪,并可能导致跨接入端口的数据泄露。
常用命令:
undefined
undefined
undefined
undefined
undefined
接入端口、操作状态和端口安全
接入端口承载单个 VLAN 并连接到终端设备。应明确配置它们以消除歧义并降低与 trunk 相关的风险。
示例:
undefined
undefined
undefined
undefined
undefined
交换机报告的链路操作状态:
- connected/up:链路和线路协议均为 up;如果没有被管理性地阻塞,帧将被转发。
- notconnect/down:未检测到物理链路。
- administratively down:配置了 shutdown。
- err-disabled:接口被保护功能(如端口安全违规、环路检测或风暴控制措施)禁用。
端口安全限制了接入端口上可以出现的 MAC 地址数量,并定义了发生违规时的处理方式。这可以缓解 MAC 泛洪、未经授权的集线器接入以及随意的设备移动。
使用 sticky 学习的示例:
undefined
undefined
undefined
undefined
undefined
undefined
undefined
学习到的 Sticky MAC 会成为安全 MAC 条目并写入运行配置中;保存配置以在重启后保持生效。您也可以配置静态安全 MAC。
违规模式:
- protect:静默丢弃来自未知/违规 MAC 的帧。不产生 SNMP trap 或 syslog;干扰最小,可见性最低。
- restrict:丢弃违规帧,增加违规计数器,并生成 syslog/SNMP trap;在不中断链路的情况下提供可见性,是首选方式。
- shutdown(默认):将端口置于 err-disabled 状态,需要手动执行 shutdown/no shutdown 或通过定时自动恢复。
恢复与可见性:
undefined
undefined
undefined
undefined
权衡:protect/restrict 模式会保持链路,但可能掩盖问题;shutdown 模式动静较大,但能明确地强制执行策略,并停止来自受影响网段的所有流量。
转发决策、计数器、双工/速率和故障排查
转发的正确性始于准确的学习。当流量无法送达时,请验证目标MAC地址是否存在于表中、是否与正确的端口和VLAN匹配,以及入口和出口端口是否正常运行。
核心故障排查步骤:
- 确认VLAN成员关系和端口模式:
undefined
- 检查MAC学习情况:
undefined
- 在日志中查找MAC地址漂移事件:
undefined
- 验证接口状态和错误:
undefined
- 验证CDP/LLDP邻居和布线:
undefined
,
undefined
接口计数器及其指示的问题:
- input errors: 接收端问题的总和,包括CRC、矮帧(runts)、巨型帧(giants)。当一个帧的FCS校验失败时,input errors和CRC计数器都会增加。
- CRC: 接收到的帧存在FCS错误;通常是布线问题、电气干扰或双工不匹配所致。
- runts: 小于64字节的帧,通常与半双工模式下的冲突有关。
- giants: 大于MTU但未被截断的帧;可能是标签问题或MTU配置错误。
- late collisions: 在前64字节之后检测到的冲突;通常发生在半双工链路或线缆长度超出以太网标准的情况下。
- output errors: 发送失败;可能是拥塞或硬件问题。
双工和速率协商:
- 对于1000BASE-T及更高速率的铜缆链路,自动协商是必需的;在一端强制速率而另一端使用自动协商,可能导致双工不匹配(一端全双工,另一端半双工)。其症状包括CRC错误、延迟冲突和吞吐量低下。
- 最佳实践是在现代交换机上端到端地使用自动速率和自动双工,并启用Auto-MDIX,除非连接到需要强制匹配设置的旧式或非协商设备。
- 使用
undefined
和
undefined
进行验证。
CDP和LLDP邻居发现有助于识别连接的设备、远端端口、VLAN,有时还能发现IP地址。在设备上线和故障排查期间使用它们,并在安全策略禁止设备发现信息泄露的地方禁用它们。
示例:
- 全局启用/禁用:
undefined
undefined
- 在接口级别:
undefined
undefined
undefined
- 验证:
undefined
undefined
二层攻击防范、风暴控制和环路症状
基本的二层威胁与缓解措施:
- MAC地址泛洪(CAM表溢出):攻击者发送大量带有欺骗性源MAC地址的帧来耗尽MAC地址表,导致未知单播泛洪,并可能被用于嗅探。通过端口安全(限制MAC数量、使用sticky/static)、禁用未使用的端口以及监控CAM利用率来缓解。
- 不必要的发现信息泄露:CDP/LLDP可能泄露平台和VLAN信息;在不受信任的接入端口上禁用它们。
- 非法交换机或环路:连接非托管交换机可能形成环路,产生广播风暴和MAC地址漂移。使用PortFast、BPDU Guard和环路检测工具来防范。
风暴控制限制广播、组播和未知单播的速率,以抑制风暴,同时保留正常流量。
示例:
undefined
undefined
undefined
undefined
级别可以表示为链路带宽的百分比或pps(每秒数据包数),具体取决于平台。如果使用shutdown作为操作,请配置恢复计划:
undefined
undefined
undefined
环路症状和指标:
- 多个端口上的广播、组播和未知单播计数器突然持续飙升。
- 交换机CPU利用率急剧上升;控制平面不稳定。
- MAC地址漂移日志显示同一个MAC地址在端口之间快速移动。
- 整个VLAN中出现ARP超时和间歇性的应用程序故障。
通过弹性设计(无非托管的二层互连)、生成树特性(在接入层使用PortFast,使用BPDU Guard关闭接收到BPDU的端口)以及在光纤上使用UDLD等技术来检测单向故障,从而防止环路。验证命令:
undefined
undefined
undefined
交换机验证和故障排查命令
运行可见性对于二层健康状况至关重要。常用命令包括:
- 接口和计数器:show interfaces, show interfaces counters errors, show interfaces status
- MAC 地址表:show mac address-table [dynamic|static], clear mac address-table dynamic
- VLAN 和端口模式:show vlan brief, show interfaces switchport
- 端口安全:show port-security, show port-security interface INTERFACE, show errdisable recovery
- 发现:show cdp neighbors detail, show lldp neighbors detail
- 流量风暴和环路:show storm-control, show spanning-tree, show logging
- 系统健康状况:show processes cpu history, show platform hardware capacity (取决于型号)
当怀疑存在帧转发问题时,应重现流量,并使用 terminal monitor 和连续的 show 命令实时观察计数器,以精确定位故障域(端点、线缆、接口、VLAN、交换矩阵)。
实际问题场景
Contoso Health Labs 在隔间区域增加了几部 IP 电话和小型非管理型交换机后,VLAN 20 上出现了间歇性语音通话中断和桌面性能不佳的问题。
解决方法:
- 基线化并隔离影响。
- 原理:使用 show interfaces counters errors 和 show processes cpu sorted 来检测问题是局部性的还是系统性的。高 CPU 使用率以及多个端口上广播/未知单播计数器的不断上升,表明可能存在二层风暴或环路。
- 验证双工/速率和线缆。
- 原理:在关键接入端口上,运行 show interfaces status 和 show interfaces INTERFACE 以确认全双工(a-full)和匹配的速率。延迟冲突(Late collisions)和 CRC 尖峰表明存在双工不匹配或线缆问题;通过将两端都设置为自动协商(auto)或匹配的强制值来纠正,并更换可疑线缆。
- 识别并抑制环路。
- 原理:检查日志中是否有 MAC 地址漂移(MAC flapping)。在所有接入端口上启用 PortFast 和 BPDU Guard,以便在端口收到来自流氓或非管理型交换机的 BPDU 时自动将其置于 err-disable 状态。这可以中止由菊花链式连接的小型交换机形成的环路。 配置: interface range g1/0/1-48 spanning-tree portfast spanning-tree bpduguard enable
- 在接入端口上实施风暴控制。
- 原理:限制广播、组播和未知单播流量,以防止风暴压垮 VLAN 和 CPU,从而在故障期间保护 VoIP 流量。 配置: interface range g1/0/1-48 storm-control broadcast level 0.50 0.25 storm-control multicast level 0.50 0.25 storm-control action shutdown errdisable recovery cause storm-control errdisable recovery interval 300
- 在面向用户的端口上通过粘性 MAC (sticky MACs) 强制执行端口安全。
- 原理:通过将每个端口的 MAC 地址数量限制为一部电话加一台 PC,来防止 MAC 泛洪和未经授权的集线器接入。使用 restrict 模式可以在记录违规行为的同时保持链路正常运行。 配置: interface range g1/0/1-48 switchport mode access switchport access vlan 20 switchport port-security switchport port-security maximum 2 switchport port-security mac-address sticky switchport port-security violation restrict
- 通过 IGMP snooping 限制组播泛洪。
- 原理:如果 IP 电话使用组播服务,应启用 IGMP snooping 并确保存在一个查询器(querier),以建立准确的组播转发表项,从而减少 VLAN 20 上不必要的泛洪。
- 验证邻居拓扑并清理发现协议的暴露。
- 原理:使用 show cdp neighbors detail 和 show lldp neighbors detail 来验证“交换机-电话-PC”的接线顺序。在策略不允许向非管理型设备泄露信息的端口上,禁用 CDP/LLDP。
- 监控并验证稳定性。
- 原理:完成更改后,通过 show mac address-table count 命令跟踪错误计数器、风暴控制统计数据和 CAM 表的稳定性。确保没有重复出现的 err-disable 事件,并通过用户反馈和 QoS 指标确认通话质量。这形成了从配置到可衡量服务质量的闭环。
← 网络基础和物理基础设施 · 所有领域 · VLAN、Trunk、生成树和 EtherChannel →
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →