CCNA-24、STP

冗余拓扑的设计

-冗余拓扑能够解决单点故障问题;
-冗余拓扑造成广播风暴,多帧复用, MAC地址不稳定的问题;

广播风暴

-Host×发送广播帧;
-交换机继续没完没了的更新广播流量;

多帧复用
  • Host×发送一个单播数据帧给Router Y;
  • Router Y 的MAC地址还没有被每个交换机学习到;
  • Router Y接收2份相同的数据帧的拷贝;
MAC地址表的不稳定
  • Host ×发送一个单播数据帧给Router Y;
  • Router Y 的MAC地址还没有被每个交换机学习到;
  • Switches A and B在Port1上学习到Host ×的MAC地址;-到达Router Y的数据帧被泛洪;
  • Switches A and B不正确的在Port2上学习到Host X的MAC地址:

---采用生成树STP解决环路---

  • 通过将特定的端口选为Blocking(阻塞;另一个意思打破) state,来实现无环的拓扑;
  • IEEE 802.1D规定了这一行为;
  • Cisco采用IEEE802.1D的增强的私有协议生成树PVST+;
公有802标准:
802.1D  STP     传统的生成树-----不存在,只是概念、理论
802.1W RSTP    快速生成树快,收敛效率高
802.1S MSTP    多实例的生成树      现网中使用    CCNP中讲解
思科私有:
rapid-PVST+
PVST      思科私有的
PVST+     思科私有的
选择Blocking(阻塞接口)的条件
-每个广播域选择一个 根桥;
-每个非根桥上选择一个 根端口;
-每个段选择一个 指定端口;
-选择一个 非指定端口;

桥协议数据单元BPDU(Bridge Protocol Data Unit)

Bytes      Field
2          Protocol ID
1          Version
1          Message type
1          Flags
8          Root ID             Root ID:由2字节优先级和6字节MAC组成
4          Cost of path        Cost of Path:路径开销是从Switch到Root Bridge的方向叠加的
8          Bridge ID
2          Port ID             Port ID:端口信息由1字节端口优先级和1字节端口 ID组成
2          Message age
2          Max age
2          Hellotime            Hello Time:发送BPDU的周期,默认2秒
2          Forward delay        Forward Delay:BPDU全网传输延迟,默认15秒
Maximum Time:当一段时间未收到任何BPDU,生存期达到Max Age时,网桥则认为该端口连接的链路发生故障。默认20秒
在生成树所有选举中,越小越优先
1、比较根桥
      Bridge ID=网桥的优先级+MAC地址

Root ID 和Bridge ID的priority号和mac是一样的话,那它自己就是根桥!!!!
STP根桥
- BPDU(default = sent every 2 seconds)
- Root bridge = bridge with the lowest bridge lD
- Bridge ID = Bridge Priority+MAC Address
交换机每个接口都有MAC地址,然后交换机本身还有个MAC
show version #查询交换机本身自带的MAC地址
Base ethernet MAC Address  :00:18:B9:DA:53:00

每个VLAN的桥ID都相同
交换机某个VLAN的优先级,
扩展的桥ID:网桥的优先级+VLAN ID+MAC地址
例如:
32768:
扩展的桥ID:网桥的优先级+VLAN ID
32768:32768+1=32769
VLAN1:32768+1=32769
VLAN2:32768+2=32769
所以每个vlan的拓展桥ID都是不同的

所以每个vlan的拓展桥ID都是不同的

Switch#show spanning-tree vlan 10

VLAN0010
  Spanning tree enabled protocol ieee
  Root ID    Priority    32778
             Address     50cf.3600.b900
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32778  (priority 32768 sys-id-ext 10)
             Address     50cf.3600.b900
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  15  sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/1               Desg FWD 4         128.2    P2p 
Switch#
============================================================
Switch#show spanning-tree vlan 20

VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    32788
             Address     50cf.3600.b900
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32788  (priority 32768 sys-id-ext 20)
             Address     50cf.3600.b900
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  15  sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/2               Desg FWD 4         128.3    P2p 
Switch#

手动配置根桥和备份根桥

第一种:
switch (config) # spanning-tree vlan 1 root primary  #默认会转换成第三种:
强制VLAN 1为交换机的根桥;    优先级-8192
第二种:
Switch (config)# spanning-tree vlan 2 root secondary
配置交换机为VLAN2的备份根桥;    优先级-8192
或者
第三种:
Switch (config)# spanning-tree vlan # priority priority
· 修改交换机VLAN优先级(优先级为4096的倍数).

因为每个交换机的MAC地址是固定的,所以要去修改他的网桥优先级。
Switch (config)# spanning-tree vlan 1 priority 4096

根端口的选举

Lowest
.Path cost to root     #到达根桥的COST值
.Sender BID            #到达发送者的桥ID
.Sender port lD        #到发送者的端口ID

STP路径开销

根端口的选举

-Switch X是根桥;
-SwitchY需要选择一个根端口;
-Fast Ethernet total cost= 0 + 19
-Ethernet total cost = 0 + 100

在非根桥上选举一个跟端口
根端口:代表到达根桥最近的一个端口
根据链路的优先级,选取出来RP (root port)根端口

指定端口的选举

指定端口就是把根桥上面的所以端口都设置为指定端口
这样自己设备本身的的接口都为指定端口,自己与对方的最优链路为跟端口,
那剩下的就是要被设定为阻塞的Blocking(阻塞接口)

指定端口

Switch X是根桥;
根桥上所有的端口都是指定端口,因为他们的路径开销为0;
因为Ethernet链路的路径开销为100, switch Y会阻塞这个端口;

选举指定端口
根桥上所有的接口都是指定接口
比较该接口所在交换机到达根桥的开销
比较该接口所在交换机的B-ID

生成树选举完后,会把一个端口给阻塞掉,只走被选举出来的跟端口。
而如果根端口那条链路断掉了,启用阻塞的那条链路到正常转发数据状态需要多久呢

Blocking
(loss of BPDU detected)
( max age = 20 sec)

Listening
(forward delay =15 sec)

Learning
(forward delay =15 sec)

Forwarding
总共50秒,黄花菜都凉了,所以STP只是理论状态,所以真正使用的是RSTP。

STP
特点:一个交换机一个生成树,所有的VLAN是一个生成树

PVST+
每个VLAN一颗生成树
但是也很吃资源,

MSTP
一部分的vlan运行一颗生成树
100个vlan种,1-50走一个生成树,50-100走第二个生成树

STP特性PortFast

交换机连接终端设备的接口不可能是阻塞接口,一定是Access port模式接口,而这种接口一旦启用PortFast特性,可以在小于>1秒内就进入Forwarding状态。

PortFast被配置在Access端口上,而不是在trunk瑞口上
因为Trunk接口是交换机连接交换机的

Switch (config-if)# spanning-tree portfast
·在接口上配置PortFast属性

Switch (config) # spanning-tree portfast default
·全局下对所有的non-trunking端口启用PortFast属性

Switch# show running-config interface interface
·查看接口配置Portfast的情况
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容