我了解生成树的工作原理以及为什么要在用户访问端口上使用 portfast 的基础知识。
当处理在办公桌下和其他未记录位置具有大量哑交换机的拓扑时,您真的希望在所有“据称”接入交换机上启用此功能吗?
除了试图追踪这些非托管交换机之外,最佳实践是什么?为什么?
我了解生成树的工作原理以及为什么要在用户访问端口上使用 portfast 的基础知识。
当处理在办公桌下和其他未记录位置具有大量哑交换机的拓扑时,您真的希望在所有“据称”接入交换机上启用此功能吗?
除了试图追踪这些非托管交换机之外,最佳实践是什么?为什么?
您应该在不属于交换机核心的每个端口中运行“port-fast”(标准术语边缘端口)。即使是开关。
您不应该让 L2 环路通过客户交换机。
您应该在所有接口上运行 BPDUGuard 和 BUM 监管器,面向客户的接口应该是面向核心的限制的 1/5 或更少。不幸的是,通常不支持限制未知单播。
为什么运行“端口快速”或边缘至关重要是 RSTP(以及扩展 MST)的性能依赖于它。RSTP 的工作原理是它询问下游是否可以进入转发模式,下游询问其下游,直到没有更多端口可以询问 frmo,然后再将权限传播回去。从 RSTP 的角度来看,快速端口或边缘端口是隐式权限,如果您删除此隐式权限,则必须获得显式权限,否则它将回退到经典的 STP 计时器。这意味着即使是一个非 portfast 端口也会杀死您的亚秒级 RSTP 收敛。
此外spanning-tree portfast
,您还应该使用,spanning-tree bpduguard enable
以便如果有人通过插入不应该插入的东西来创建环路,那么交换机端口在看到 BPDU 时将进入错误禁用模式,而不是创建环路并可能导致网络瘫痪。
同样,如果您的目标是追踪非托管交换机,您应该启用
switchport port-security maximum 1 ! or whatever number is appropriate
switchport port-security violation shutdown
switchport port-security
这将使任何端口进入错误禁用状态,看到连接的 mac 地址超过 1 个。无论是通过陷阱还是等待他们寻求帮助,您都可以确定这些非托管设备的连接位置。
当处理在办公桌下和其他未记录位置具有大量哑交换机的拓扑时,您真的想在所有“据称”接入交换机上启用此 [portfast] 吗?
官方和迂腐的回答是“不,不要在交换机到交换机链接上启用 portfast”......在 Cisco 的支持论坛上有一个相关的讨论。
但是,该线程的作者提出了一个公平的观点,网络警察不会因为您启用面向下游交换机的 portfast 而逮捕您......当您在链接上启用 portfast 时,可能会绕过临时广播风暴的风险到另一个开关。
如果您在连接到智能或哑交换机的链接上启用 portfast,请确保在该端口上启用bpduguard(控制平面保护)和广播风暴控制(数据平面保护)...这两个功能为您提供了一些优势万一意外发生:
在交换机或连接的设备重启、重启或重新加载的情况下,在您的配置中应用端口特定命令将减少端口初始化时间。如果端口没有正确协商,它们还可以防止误用配置设置。
由于 Cisco 交换机的默认设置是动态需要的交换机端口模式(支持 Cisco Stackwise 的交换机除外),因此每个端口都尝试协商其预期用途。此协商过程有四个主要阶段,可能需要一整分钟才能完成。- 生成树协议 (STP) 初始化 - 端口经历 STP 的五个阶段:阻塞、侦听、学习、转发和禁用。- 测试以太网通道配置 - 端口使用端口聚合协议 (PAgP),将交换机端口绑定在一起以创建更大的聚合以太网连接。- 测试中继配置 – 端口使用动态中继协议 (DTP) 协商/验证中继链路。- 交换机端口速度和双工 - 端口使用快速链接脉冲 (FLP) 来设置速度和双工。
配置交换机端口模式访问将阻止端口进行中继协商。
配置生成树 portfast将阻止端口通过 STP 协商。
配置switchport 主机将同时配置 access 和 portfast..
当然来自 Cisco 的警告 - 警告:切勿在连接到其他交换机、集线器或路由器的交换机端口上使用 PortFast 功能。这些连接会导致物理环路,在这些情况下,生成树必须经过完整的初始化过程。生成树循环可能会使您的网络瘫痪。如果您为属于物理环路一部分的端口打开 PortFast,则可能会有一个时间窗口,当数据包以网络无法恢复的方式连续转发(甚至可能成倍增加)时。