Spanning-tree 生成树

STP    802.1D公有化标准 ieee

所有VLAN,共用一棵树(基于设备)

 

一、什么是STP
二、为什么要有STP,没有行不行?

三、标准有哪些?

四、角色有哪些?

五、选举机制是什么?

六、都有哪些接口?

七、接口都有什么状态?

 

、什么是STP

 Spanning-tree protocol(生成树协议)

 

二、为什么要有STP,没有行不行?

 没有,也是可以的,但是一个健全,稳定的网络,肯定是存在冗余备份的,而存在冗余部份就意味着存在环路,交换机的环路会造成广播风暴,极其占用系统负载(链路,CPU

 

STP的出现,很直接的解决了这一问题,从逻辑上将冗余备份的其中一条链路进行阻塞,又不影响链路的冗余备份。

 

 

三、标准有哪些?

 STP802.1D,公有化标准 (所有vlan共用一棵树)

 RSTP:  802.1w  公有标准 快速生成树  (所有vlan 共用一棵树)

 MSTP:  802.1s  公有化协议  基于实例生成树  

 

 PVST/PVST+ cisco私有协议  每vlan一棵树  

 Rapid pvst  快速生成树   每vlan一棵树

 Mstp   cisco 私有   后来为了协议标准统一,被和谐了

 

 

某种意义来讲,802.1s 802.1w 属于802.1D协议簇

 

 

四、STP 的角色有哪些?

 根桥(根交换机)

 备份根桥(备份根交换机)

 非根桥

 

 根端口     root port (RP)

 指定端口   desg port (DP)

 阻塞端口/非指定端口  alth BLK (BDP)

 

五、选举机制是什么?

通过BPDU 桥协议数据单元

交换机加电,就会发送BPDU,进行下一步的选举,非根桥是转发根桥BPDU

包含,所有选举用的信息,STP mode,  STP 版本

还有一个是HELLO时间,2S/一次 ,老化时间是20S

转发延迟时间,forward delay  从最开始的BLK---LSN---LRN---FWD 这整个过程叫转发延迟时间

 

分为两个部份:

1) 根桥的选举

2) 端口的选举 

 

1)根桥的选举:

  根据桥ID进行选举,而桥ID分为两个部份,优先级和MAC地址

 @优先级,priority 4096的倍数)默认为32768  (越小越优)

如果要进行修改的话必须为4096的倍数修改,随意输入数字是不可以的

 

  @如果优先级相同的话,比较MAC地址,(越小越优)但这里会存在一个问题

因为MAC地址是全球唯一的,不存在重复,而生产厂家生产设备的时候所有的MAC地址也是从小到大进行排列的,越早生产的设备MAC越小,会导致一个现象,一个老的设备成了根桥,负责核心的任务,这样可行吗?

 

答案是肯定的,都快退休了,还委以重任?

所以选择根桥的时候,通常情况下是需要人为的干预的,就是直接修改优先级的数值,0为最大 

有了根桥,就一定会有次优的次根桥,如果根桥的优先级为0的话,通常情况下把备份根设置为4096

 

2)根端口选举

先要记住一个定律,根端口存在非根设备上,有且只有一个,

什么意思? 就是在非根交换机上,只能一个接口是根端口,其它的另说

选举根端口共有4/或者说是4步,相同的情况下进行下一项,肯定能够比较出来

 

1@RPC(到达根设备的路径开销cost【通俗的讲可以理解为跳数】)

同样和链路的带宽有关系

 10G=2

1G=4

100M=19

10M=100

       1                                                                               2

Spanning-tree 生成树_第1张图片Spanning-tree 生成树_第2张图片

 

如图1所示,如果SW7 为根桥,好么,SW8SW9两台设备上,谁是根端口呢?

根据cost算法,sw8到根的开销=2, 那么E0/0口为根端口中

注意SW9e0/0e0/1,

 E0/0 cost = 100

 E0/1 cost = 2 那么一比较就出来了,sw9E0/1口为根端口

(当然,现实中是不可能两个接口相差这么大的,这只是举一个例子,方便理解)

 

如图2所示,所有链路的开销一样,SW3 被选为ROOT,那么SW4的根端口中是哪一样?SW4BLK又是哪一个呢?

计算COST,一定要记住,是从ROOT根桥的BPDU发出方向进行累加的,越小越优,

SW4 E0/0 - ROOTCOST 100

SW4 e0/1- ROOTCOST100sw4-sw6+100(sw6-sw5)+100(sw5-sw3)=300COST

所以会被BLK

 

2@ID,(上游设备的桥ID

如果COST相同,那么就比较上游设备的桥ID(MAC和优先级)

Spanning-tree 生成树_第3张图片 

在不设置优先极的情况下,sw7mac一定小于sw8mac,也就是更优

所以sw9的根端口为e0/0

 

3@端口ID(上游设备端口号)

 端口IDstp协议中显示为128.x,从小到大进行排列

如图

 Spanning-tree 生成树_第4张图片

 

 可以看到 e0/0    128.1

         E0/1    128.2

         E0/2    128.3

以此类推,就可以知道所连接上游设备的端口号,同样,谁小谁优

 

4@ 接口号

当前面三个条件都相同的时候,就要比较最后一项,本地接口号(物理接口号)

谁小谁优

 

如图,sw1 root

Spanning-tree 生成树_第5张图片

 

 

 

 Sw4 在选择根端口的时候会比较

1 开销,机同,比下一项

2 ID,一个是2 一个是3 ,那肯定将e0/0设置为root port

是不是呢?见图

Spanning-tree 生成树_第6张图片

 

 

Sw5在选择根端口的时候,进行比较

1 开销,相同

2 ID,也相同,只有SW4一个设备

3 端口ID

 Spanning-tree 生成树_第7张图片

 

 如拓扑图中所示,sw4e0/2连接着sw5e0/0,  

                      E0/3连接着sw5e0/1

此时对比上游设备的端口ID,看上图就可以看出来,

Sw4e0/2 =128.3

Sw4e0/3=128.4

所以sw5上要将和sw4e0/2口相连的e0/0 设置为RP(根端口)

 

Sw6在选择时,同样进行比较

比较cost,相同

比较桥id相同,都只有sw5

比较端口ID,只连接了一个SW5e0/2口,比不出来

最后要比较sw6本地的接口号,谁小谁优,那么此时e0/0 要段于e0/1 ,

那么e0/0 成为root port

 Spanning-tree 生成树_第8张图片

 

  

DP,指定端口

 通常情况下,在根桥上的所有接口都是指定端口

那么在非根上怎么选举DP呢?

同样也是有选举依据的

1)到达根桥的接口开销最低的,途径交换机的根端口开销的累加【绕过交换机的反方向】

   一条链路上的两个端口到达根的开销是一样的,因为累加的是根端口中的开销

2)如果开销相同,那么对比两个接口所在交换机的桥ID【优先级和MAC

3)如果优先级再相同,那么比较发送者的PID

 Spanning-tree 生成树_第9张图片Spanning-tree 生成树_第10张图片Spanning-tree 生成树_第11张图片

 

SW8E0/1,反方向绕过交换机到达根的开销为100

SW10e/0, 反方向绕过交换机到达根的开销为300

两者相比较,小的优,那么SW8e0/1DP

 

通过这种算法,也就得知了sw9----sw11 相连的链路中 sw9 e0/1DP

如图

 

那么问题来了,

SW10 SW11 相连的链路上谁是DP?

两者到达根的开销是一样的(反方向计算,都是200

这时就要比较第二个选项,比较两个接口所在交换机的桥ID

此时咱们没有配置优先级,只比MAC的情况下,SW10更优,所以SW10e0/1DP

 Spanning-tree 生成树_第12张图片

 

 

BLK端口(阻塞端口)

在非根交换机上,除了根端口和指定端口,剩下的就是非指定端口了

 

上一个拓扑中生动的讲述了STP 在实验应用中的一个选举过程,

STP是在交换机上是默认开启的,但是(傻瓜交换机是没有这个功能的)

 一般情况下,我们用的是pvst/pvst+ /MSTP 

针对vlan 生成树,或才是针对实例生成树,对vlan,做流量分摊

 

 

七、STP 的接口状态

 

      20s           15s           15s

阻塞------------> 侦听------------> 学习---------------->转发

Blk        listening       learning         forwarding

 

从阻塞到转发,一共需要50S的时间,这一时间,现实中表现为交换机的黄灯变为绿灯,

也就是常说的收敛完成

 

 

所有的交换机在初始的时候,都认为自己是root,会发送给全网一个BPDU信息,我是大哥,从而进行STP的侦听--学习,从而决定自己的角色还有接口的状态。

BPDU的时间间隔为2S一次

 

 

-------------------------------------------------------------

CCIE成长之路  ----- 梅利

你可能感兴趣的:(Spanning-tree 生成树)