当前位置: 首页 > article >正文

学习笔记——交换——STP(生成树)基本概念

三、基本概念

1、桥ID/网桥ID (Bridege ID,BID)

每一台运行STP的交换机都拥有一个唯一的桥ID(BID),BID(Bridge ID/桥ID)。在STP里我们使用不同的桥ID标识不同的交换机。

                  

(2)BID(桥ID)组成

BID(桥ID)组成(8个字节)由16位(2字节)的桥优先级和48位(2字节)的MAC地址构成。(上右图)

1)桥优先级(Bridge Priority,BP)的值可以修改,但是修改值必须为4096的倍数。优先级部分中低12位用来标识VLAN信息,高4位才是真正优先级。(上右边图)

优先级范围:取值范围是0~65535,为4096倍数,越小越优先优先级默认32768(0x8000)。

2)桥的MAC地址:通常是交换机默认VLAN1的MAC地址。一个桥有多个转发端口,每个端口都有一个MAC地址,端口编号最小的那个端口的MAC地址作为整个桥的MAC地址,越小越优先。

MAC地址的长度是48比特(6字节),48位二进制数,12位16进制数组成,即0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f。从左至右,逐位比较

比如:00:01:10:00:11:11 和00:10:00:00:00:00前者比后者要小。如果比较位相同,则往后推一位再比较,最小的即为MAC地址最小。

2、根桥(Root Bridge,RB)

根桥是一个生成树(STP)交换网络中的"树根"。具有最小桥ID的交换机是根桥树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。(下左图)

根桥(Root Bridge) 在STP中,根桥是整个网络的起点,其他所有交换机都会尝试通过最直接的路径连接到根桥,所有数据包的旅行都是从这里开始的。

根桥设备上没有根端口根桥上的接口,都是指定端口(DP:Designated Ports)

(2)树根主要作用

是在一个交换网络中计算出一棵无环的STP树。

在一个交换网络中,有且只能有一个根桥(根交换机),它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化

(3)优先级

交换机的桥优先级越高,才有可能成为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。在STP网络中,BID(桥ID)最小的设备会被选举为根桥

(上图)在该网络中选举根桥,首先比较三台交换机的桥优先级,桥优先级都为4096,再比较三台交换机的MAC地址,谁小谁优先,最终选择SW1为根桥。

3、非根桥

非根桥:除了根桥,其他的交换都是非根桥。这些非根桥之间可以互相通信,但是它们都要遵循从根桥出发的规则。

4、端口/接口ID(Port ID,PID)

运行STP交换机的每个端口都有一个端口ID(Port ID),端口ID可以用来确定端口角色,标识每个端口。端口ID(PID)就是端口编号 例如e0/0/5,ID就是5

主要作用:在特定场景下选举指定接口

(1) PID(端口ID)组成

端口ID(PID)(2个字节)=优先级(1个字节).端口索引号(1个字节)

为了避免端口索引号不够用,把优先级中的低4位保留用于端口索引号,一般取值为0000。高4位优先级默认二进制取值为1000。端口索引号是端口在交换机上的唯一编号。

(2) PID优先级(Port Priority)

数值范围从0到240,缺省情况下(默认值),端口的优先级为128,步长为16,即取值必须为16的整数倍。

在进行比较时,先比较端口优先级,值越小端口的优先级就越高。在优先级相同时,再比较端口编号,编号小的端口优先。

通常情况下,端口编号无法改变,用户可以根据实际需要,通过命令修改该优先级。通过设置端口优先级来影响生成树的选路。

注意:最终如果收到的BPDU报文所有参数都一样,此时交换机会比较本端接口ID(PID)。

5、开销(Cost)

每一个激活了STP的接口都维护着一个开销(Cost)值。接口带宽越大,则开销(Cost)值越小。可以通过命令调整接口的开销(Cost)。

(2)开销(Cost)计算方法

接口开销(Cost)是已经激活了STP的接口所维护的一个开销值,该值存在默认值与接口的速率有关联、工作模式,并且交换机设备使用不同的算法时相同的接口速率对应不同的开销值

(4)本地路径开销/端口开销(Port Cost)

本地路径开销/端口开销:指从当前交换机到连接的设备(比如终端设备)之间的路径开销。

特点:

(1)本地路径开销就是端口开销交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下,端口的开销和端口的带宽有关,带宽越高,开销越小

(2)本地路径开销是路径开销中的一个组成部分,它代表了到达某个设备的成本

接口开销主要作用:计算根路径开销,就是到达根的开销。

(3)路径开销(Path Cost)

路径开销(Path Cost):从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口)。

特点:

(1) 路径开销决定了整个网络中每条可能路径的成本。从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,这就是路径开销。通常,直接连接的路径(比如根端口)开销较低,而需要经过多个中间节点的路径开销较高。

(2)交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认的开销值取决于链路的带宽带宽越大,开销越小开销值越小,越可能被选为指定端口的路径

例如:IEEE标准的开销,链路速度为10Gbps开销为2,速度为100Mbps时开销为19,速度为10Mbps时候开销为100。

(5)根路径开销(Root Path Cost,RPC)

STP交换机每一个端口都对应一个开销值,这个值表示数据通过端口发送时的开销,这个值与端口带宽有关,带宽越高,开销值越小。

对于端口开销值的定义有不同的标准,通常设备默认使用IEEE 802.1t中定义的开销值,同时还支持其它标准,以便兼容不同厂家的设备。

根路径开销(Root Path Cost,RPC):非根桥到达根桥可能有多条路径,每条路径都有一个总开销值,被称为RPC(根路径开销)。

STP不会计算入端口的开销,只在数据通过端口发出时,才计算这个端口的开销。对于根桥来说,根路径开销是0。

即累计根路径开销最小的端口就是根端口。端口收到一个BPDU报文后,抽取该BPDU报文中累计根路径开销字段的值,加上该端口本身的路径开销即为累计根路径开销。

  

(上左图)SW3从GE0/0/1接口到达根桥的RPC,等于接口1的Cost加上接口2的Cost。

(上右图)s2中eth0/0/1端口的根路径开销,就是20+18=38,eth0/0/2端口的根路径开销就是39.所以0/0/1是根端口。

特点:

    (1) 路径开销这个值越小,说明到达根桥的路径越优

    (2) 根路径开销最终的目标,是从任何端口到根桥的最短路径的总成本。

根路径开销是根据交换机之间的网段来说的,本地路径的开销也叫端口开销是针对本地的物理链路来说的相关的IETF的规定为

6、端口角色分类

在STP中,端口角色共有三种分别为:根端口RP(Root Port)、指定端口DP(Designated Port)、阻塞端口AP(Alternate Port)。

注:以上三种角色都是在非根桥设备上的概念,它们是用来确保网络中的数据包能够通过最优路径传输,同时避免环路的产生。

(1)根端口(Root Port,RP)

根端口(Root Port): 每个非根桥都有且只有一个根端口,但它并不一定是用来与根桥直接连接的端口,而是用来确定到达根桥的最短路径的端口

在一个非根桥设备上,根端口是所有到达根桥路径中,路径成本最低的那个端口。如果这个端口的路径,不是直接连接到根桥,而是通过其他交换机连接到根桥,那么它仍然是该非根桥设备上的根端口。

1)根端口选举

如果有多条链路到根桥,就通过检查每条链路的带宽来决定端口的开销,开销最低的端口就成为根端口。

如果多条链路的开销相同,就使用桥ID小的那个桥。

如果多条链路来自同一设备,就使用端口号最低的那条链路。

2)根端口的作用

在非根桥上,根端口是选择用来接收来自距离根桥最近的路径上的数据包的端口。

每个非根桥都会有一个根端口,它通过比较到达根桥的路径成本来确定,根路径开销最小者,就是根端口。

3)根端口与其他端口的关系

根桥的所有端口都是指定端口,指定端口被标记为转发端口。

非根交换机的根端口RP,每个非根交换机有且只有一个RP。

既非根端口又非指定端口的为阻塞端口AP。

(2)指定端口(Designated Port,DP)

指定端口(Designated Port):在每个连接点(比如两个交换机之间的连接),会有一条被指定的道路作为主要通道,这条道路就是指定端口。它负责在这个连接点上转发数据包。

(下左图)Device B和Device C与LAN直接相连。如果Device A通过Port A1向Device B转发BPDU,则Device B的指定桥就是Device A,指定端口就是Device A上的Port A1;如果Device B负责向LAN转发BPDU,则LAN的指定桥就是Device B,指定端口就是Device B上的Port B2。

1)指定端口的特性 

(1)根桥上每个端口都是指定端口非根桥上需要转发数据的端口,也是指定端口

(2)只有非根桥设备上的端口会被选为指定端口。桥ID较小的交换机的端口当选为指定端口。

(3)并不是每个非根桥设备都有一个指定端口,而是每个局域网段中只有一个指定端口,由STP协议根据一定的规则选举出来。

2)指定端口的作用

是在网络中实现无环路的传输,避免广播风暴和网络瘫痪。

3)指定端口的选举过程 

在STP中,指定端口的选举过程是通过比较各个端口的路径开销(Path Cost)和发送方的桥ID(Bridge ID)来进行的。

具体来说,首先会在每个物理网段上选举出一个根端口(Root Port),然后在每个网段上选举出一个指定端口。

根端口是连接到根桥的链路所在的端口,或者到根桥的路径最短的端口。指定端口则是从根端口开始,沿着两个不同方向的端口到达根桥,累计途经的带宽开销,开销最小的那个端口。

(3)候补/预备端口(Alernate Port,AP)

预备端口(Alternate):是指定端口的“替补”当指定端口出现问题时预备端口就会“上场”。

如果一个端口既不是指定端口也不是根端口,则此端口为预备端口,预备端口将被阻塞

每个非根桥设备上可以有一个或多个预备端口,它们是备用的端口,用于在指定端口或根端口出现问题时接管其职责。并不是每个非根桥设备上只有一个预备端口,而是根据需要可以有多个预备端口,它们都处于待命状态,直到被激活。

1)预备端口的主要作用

在网络拓扑发生变化时,参与选举新的根端口和指定端口的过程。这样做可以确保网络中的冗余链路不会形成环路,从而避免了广播风暴和MAC地址表震荡等问题。

2)预备端口的选举 

当网络拓扑发生变化时,预备端口会参与选举新的根端口和指定端口的过程。

选举的原则是,根端口是到达根桥路径最优的端口,而指定端口是发送/转发BPDU报文的端口。预备端口会根据根路径开销、对端BridgeID、对端PortID和本端PortID等因素进行比较,选出最佳的根端口和指定端口。

```

  根桥 (Root Bridge)

    |

    | (路径开销)

    |

  非根桥 (Non-Root Bridge) -- 根端口 (Root Port)

    |

    | (本地路径开销)

    |

  指定端口 (Designated Port) -- 预备端口 (Alternate Port)

    |

    | (路径开销)

    |

  非根桥 (Non-Root Bridge) -- 指定端口 (Designated Port)

```

(4)端口不同

三种端口的异同如下:


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】


http://www.kler.cn/news/358083.html

相关文章:

  • 【经验总结】Can报文能发不能收问题分析
  • MIC(麦克风)的主要参数
  • 后端参数校验方式
  • 基于微信小程序的在线点歌系统(论文+源码)-kaic
  • 进程间关系与守护进程
  • IP- guard产品版本升级指引详解
  • Scala入门基础(10.1)高阶函数2
  • Windows电脑桌面如何弄个好用的提醒备忘录?
  • PSO算法
  • unity学习-反射探针Reflection
  • EDM邮件营销,如何确保高频率发送不触发限制
  • Qt_ymode自己实现
  • redis 创建只读用户
  • HarmonyOS 鸿蒙面试第一弹
  • 边缘计算技术的优势与挑战
  • Libevent源码剖析之reactor
  • 【热门主题】000004 案例 Vue.js组件开发
  • 【从零开始的LeetCode-算法】3192. 使二进制数组全部等于 1 的最少操作次数 II
  • 1. 解读DLT698.45-2017通信规约--预连接响应
  • linux tar 打包文件去掉文件所在路径