【实战演练】Packet Tracer玩转CCNA实验06-ST
本文欢迎转载,转载请注明出处和作者。
上次讲到,二层最怕的就是环路,一旦环路,就会产生广播风暴,导致异常的带宽占用、丢包等问题。
那么有没有方法可以自动防止二层环路呢,有,那就是STP生成树协议(Spanning Tree protocol)
cisco交换机为了防止二层环路,默认开启了stp功能,如果需要关闭,可以no spanning-tree(强烈不建议)。
1、实验1:STP配置
1.1网络拓扑
拓扑图如下,橙色的端口,就是STP检测到有二层环路,而自动阻断的端口。
初始时候,可能因为你实验开始连线的顺序,导致阻断不同的端口。
1.2配置命令
步骤1:先配置vlan、trunk、vtp
L3SW:
en
conf t
vtp domain CCNA
vtp password cisco
vtp mode server
vtp version 2
vlan 10
vlan 20
int range fa0/1-2
sw mo acc
sw mo trunk
sw trunk allow vlan all
SW1与SW2:
en
conf t
int range fa0/23-24
sw mo trunk
sw trunk allow vlan all
vtp domain CCNA
vtp password cisco
vtp mode client
vtp version 2
int fa0/1
sw mo acc
sw acc vlan 10
int fa0/2
sw mo acc
sw acc vlan 20
步骤2:手工设置生成树的优先级,强制修改L3SW为根桥
SW2:
spanning-tree vlan 1 priority 4096
spanning-tree vlan 10 priority 4096
spanning-tree vlan 20 priority 4096
默认优先级32768,数值越低,优先级越高。
修完改完后,生成树会自动重新计算拓扑,封堵优先级低的路径。
1.3理论解释:
STP的计算规则有点复杂,详细可以看一下相关教材,大致计算顺序是:
- 每一个广播域选择一个根桥(根路由器)
- 每个非根桥上选择一个根端口
- 根端口:具有最低根路径的接口
- 要考虑的因素:
- 最低的根桥ID
- 最低的根路径代价
- 最低发送者桥ID
- 最低端口ID
- 每个段选择一个指定端口
- 选择一个非指定端口
如果想要手工强制更改,则可以参考上述实例,修改优先级priority。
实验2:RSTP配置
STP环境中共有5种状态:阻塞blocking、监听listening、学习learning、转发forwarding、关闭(disable),每当拓扑变化,整个拓扑收敛的时间大概需要30~50秒。
RSTP是STP的一种发展与优化,只保留3种状态:Discarding、Learning和Forwarding,收敛时间可以降到20秒左右。
配置非常简单,在L3SW、SW1、SW2上,选择模式即可。
spanning-tr mode rapid-pvst
实验3:MSTP配置
packet tracer模拟器无法配置MSTP,了解即可。
如上述拓扑,经过RSTP的计算以后,SW1与SW2的2条上行链路中断了1条,如中断了SW1到L3SW的,那么PC1要往外访问,流量还需要从SW1到SW2再上行至L3SW(绕行),虽然占用了SW1与L3SW各1个光模块,而且还部署了线缆,但是根本没用起来,浪费投资。
有没有又能用生成树协议禁止环路,同时又能把2条上行链路都用起来的办法呢?有,那就是MSTP。
MSTP就是可以根据不同的VLAN,创建不同的STP实例。例如可以创建instance(实例)1,阻断SW2到L3SW的链路,而保留SW1到L3SW的链路,然后将这个STP实例分配给VLAN 10;
instance 2,阻断SW1到L3SW的链路,保留SW2到L3SW的链路,给VLAN 20。
那么又可以阻止环路,又可以将2条链路都负载均衡有流量在跑。
配置命令:
L3SW、SW1、SW2上,配置:
spanning-tree mode mst
spanning-tree mst conf
instance 1 vlan 10
instance 2 vlan 20
spanning-tree mst 1 priority 0
spanning-tree mst 1 priority 4096
spanning-tree mst 1 priority 4096
spanning-tree mst 1 priority 0