EP(边缘端口)指switch和host互联的端口,通俗的讲接入交换机和PC之类的用户使用的终端互联的端口在RSTP里一般认为是edge port,和其他交换机互联的端口一般认为是非edge port.
由于交换机的哪些端口和其他交换机互联,哪些和PC之类的终端设备互联是部署时和拓扑强相关的,单靠rstp协议本身无法轻易知道这些信息,所有一般EP是部署时由管理员手动开启的。
当EP端口收到BPDU报文后,如果开启了bpdu guard功能,EP端口会变为非EP端口。所以也可以为了方便把所有的端口默认都设为EP端口,但这样有一个风险,就是和只支持STP的设备互联时,配置为EP的端口可能删除该端口上的mac地址表项、arp地址表项操作失败。
启用了 EP 的接口,将不会经过 discarding-learning-forwarding 延迟的,而是直接进入 forwarding 状态。如上面的拓扑图,假设,左上 SW1 是 root primary,右上 SW2 是 root secondary,下 SW3 是 access layer switch。由于 RSTP 的 AP 是为 DP 提供备份服务,且 SW2 每隔 2 秒会发送 BPDU,SW3 得知 SW2 的 BPDU 一直优于自己。所以此时,当你 shutdown SW3 的左侧接口时,:SW3 发现自己的 BPDU 劣于 SW2,无法进入 DP 状态,转而进入 RP 状态SW2 发现自己的 BPDU 优于 SW3,保持 DP 状态不变。在 SW3 的 AP 接口变为 RP 接口时,还有一个动作,就是同步:当 SW3 的 RP 接口被 shutdown,此时,原 AP 接口将进入 RP 状态,然后 SW3 会 block 掉除 EP 接口外的其中所有接口,并清空除 EP 接口外的其他所有的 mac 地址表。
SW3 连 PC 的接口没有开启 EP时,连 PC 的接口需要等待延时才能进入转发,是由于 AP 进入 RP 状态时,需要 block 掉其他非 EP 接口(包含连 PC 的接口),触发连 PC 的接口进入 DP discarding 状态,开启了 P/A 协商机制,但 PC 不会参与 RSTP 的计算,所以接口没有协商,只能被动等待 discarding-learning-forwarding……
SW3 连 PC 的接口开启了 EP,就不受同步所限了,保持转发不变。