目录
实验难度 | 2 |
实验复杂度 | 4 |
一、实验原理
在说STP生成树之前,我们得先来了解一下交换机的工作原理。交换机的工作状态分为三个,转发、泛洪、丢弃,那么这三种状态是如何出现的呢?转发,当交换机从一个端口收到一个单播数据帧,且交换机内部存在相应的MAC表项,那么交换机就会把它从相应的接口转发出去。泛洪,当交换机从一个端口接收到一个广播帧,那么交换机会直接把这个数据帧泛洪(除了接收数据帧的源端口,其他所有端口都会发送)出去。丢弃,交换机接收一个数据帧,发现目标MAC存在MAC表项中,但是相应的出接口就是这个数据帧的源端口,这时交换机就会把它丢弃。现在我们来说说交换机是如何进行工作的。当交换机从一个端口接收到一个数据单播帧时,会查询本机的MAC地址表是否存在这个帧的目标帧,若查不到就会进行泛洪操作(除了接收数据帧的源端口,其他所有端口都会发送),若查到了这个MAC地址,则会比较这个MAC地址表中关联的端口是否为从交换机进入的端口,若是,交换机会直接丢弃;若不是,则将该数据帧按照MAC地址表中的端口进行转发。若交换机收到一个广播帧,那么它会直接泛洪。下边我画一张图来方便大家理解:
好,我们了解了交换机的工作原理,现在我们来看看交换机的工作原理会为我们带来什么问题。在工作中,我们为了提高网络的容灾能力,不得不进行二层链路的冗余备份,交换机的网络中会出现环路,但是这样会出现三个很严重的后果。这三个严重的问题分别为广播风暴、MAC地址不稳定、多帧重复。我们可以使用STP生成树协议来阻止二层环路,STP(Spanning Tree Protocol)协议。STP的端口角色分为根端口、指定端口、非指定端口(也有称阻塞端口的),STP的端口状态有Disabled、Blocking、Listening、Learning、Forwarding五种状态。
端口状态 | 描述 |
去能(Disabled) | 端口处于关闭状态,无法接收与发送任何帧 |
阻塞(Blocking) | 只能接收STP帧,不能发送STP协议帧,不能转发用户数据帧 |
侦听(Listening) | 可以接收与发送STP协议帧,但不能学习MAC地址,也不能转发用户数据帧 |
学习(learning) | 可以接收与发送STP协议帧,也可以学习MAC地址,但是不能转发用户数据帧 |
转发(Forwarding) | 可以接收与发送STP协议帧,也可以学习MAC地址,同时也能转发用户数据帧 |
Path cost(路径开销):用于选举根端口和指定端口。
相关选举角色的特点:
1根桥:根桥是桥ID最低的网桥,在网络中的所有交换机中选择一个交换机作为根桥,成为网络中所有端口的状态都是依据根桥来做出判断。
2根端口Root port :一个交换机中到达根桥开销最小的端口。根桥没有根端口
3指定端口Designate port:除根端口外,到达根桥开销最小的端口(在两非根桥交换机中比较)
4阻塞端口block port:选不上根端口跟指定端口,该端口被阻塞。
为了选举根桥,根端口,指定端口有以下的选举原则:
1.选举根网桥的条件:在每个广播域中选举一个根网桥,当根网桥选举出来之后,其他没有被选举的交换机成为非根网桥。
方法:具有最小BID的交换机为根网桥。(首先比较优先级,优先级小的交换机为根网桥,如果优先级相同,那么比较MAC地址,MAC地址小的为根网桥。)
2.选举根端口的条件:要在每一个非根网桥上选举一个根端口。
方法:a.比较路径成本,该路径成本指的是从非根网桥上的端口到达根网桥的累计路径成本,如果非根网桥上有多个端口到达根网桥,具有到达根网桥路径成本最低的端口为根端口;
b.如果路径成本相同,比较桥ID。非根网桥上的端口连接根网桥上的桥ID的最小,那么这个端口就是根端口;c.如果桥ID也相同,比较端口ID ,非根网桥上的端口连接根网桥上的哪个端口的PID最小,那个端口就是根端口。
3.选举指定端口条件:在每个网段中选举一个指定端口。
方法:1.如果你的交换机是根网桥,那么根网桥上的所有端口都是指定端口。
2.当网段不直连根网桥的时候,a.比较路径成本,该路径成本是指从非根网桥的根端口到达根网桥的路径累计成本,直连网段哪个非根网桥从其根端口到达根网桥的成本最小,那么这个非根网桥直连该网段的另一个端口是指定端口。
如果成本相同,那么比较桥ID,直连网段哪个非根网桥的桥ID最小,哪个非根网桥直连该网段的端口是指定端口。
注意:
1.桥ID由优先级(范围0~65535)+MAC地址组成,默认情况下,所有交换机的优先级都为32768;
2.端口ID由端口优先级+端口号组成,端口优先级默认为128;
3.桥ID的作用是用于选举根桥、根端口、指定端口;
4.使用不同的标准,开销与速率的对应关系也是不一样的,例如,华为设备是采用802.1t标准的,它们开销与速率对应关系如下:
端口速率 | 路径 开销(IEEE 802.1t标准) |
10Mbit/s | 2 000 000 |
100Mbit/s | 200 000 |
1Gbit/s | 20 000 |
10Gbit/s | 2 000 |
二、实验拓扑
三、实验步骤
1.搭建如图所示的网络拓扑;
2.配置交换机的名字,LSW1、LSW2、LSW3分别为SW1、SW2、SW3,启用STP协议;
3.指定其它非根网桥中的一个为根网桥,另一个备份根网桥。
四、实验过程
1.搭建如图所示的网络拓扑;
略。
2.配置交换机的名字,LSW1、LSW2、LSW3分别为SW1、SW2、SW3,启用STP协议;
查看端口角色与状态 :
在上述的结果中,我们可以得知,SW2是根网桥。
3.指定其它非根网桥中的一个为根网桥,另一个备份根网桥。
在这里我们把SW3指定为根网桥,SW1为备份根网桥
效果:
注意事项:
除了可以直接指定哪台交换机为根网桥外,我们也可以使用其他的方式来操控,比如,直接使用命令stp priority priority修改优先级,优先级小的会成为根网桥,默认交换机的优先级都是一样的32768。配置优先级时,它的小值为0,其他的数值都为4096的倍数,范围为(0~61440)。若同时使用修改优先级与直接指定根网桥的方式来操控交换机,最后是以哪种方式来操控根网桥?答案是直接指定的方式。
代码解析
[SW1]stp mode stp //启用STP协议
[SW1]display stp brief //查看STP协议的简要信息
[SW3]display stp //查看STP的详细信息
[SW3]stp root primary //配置交换机为根网桥
[SW1]stp root secondary //配置交换机为备份根网桥
总结