以太网交互——STP生成树

STP技术

为了解决交换网络中的环路问题,IEEE提出了基于802.1D标准的生成树协议STP(SpanningTreeProtocol)。STP是局域网中的破环协议,运行该协议的设备通过彼此交互信息来发现网络中的环路,并有选择地对某些端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,达到破除环路的目的。另外,如果当前活动的路径发生故障,STP还可以激活冗余备份链路,恢复网络连通性

什么是生成树?

  对一个具有N个点的联通图进行遍历,最后得出遍历后子图一定是保持所有节点连通并且,结构是N-1条边的树被称为生成树,同时兼具最小路径并且无环路。

左图为联通图,右图为遍历后子图

  每个节点只存在一条线路,且节点与节点间由不会闭环,方为生成树,理解这点后更好理解STP协议,简单的讲就是每一个节点有且只有一个路径。 

STP核心功能

  1. 链路备份:使用的链路因故障断开时,可以检测到这种情况,并自动开启阻塞状态的冗余端口,网络迅速恢复正常。
  2. 消除环路:STP 可以通过阻塞冗余端口,确保网络无环且连通。 

STP重要概念

  1. 桥ID(bridgeID):一个STP网络中每一个运行STP协议的节点都有一个唯一BID,其默认桥ID有两部分组成分别是桥优先级与设备mac地址

  1. 根桥:生成树技术目的是在二层网络中计算出一颗无环的“逻辑树”,而根桥就是这颗树的“唯一根”,当一台设备成为根桥时候,这个网络下所有节点都是“非根桥”模式

  1. 路径开销(path cost):在SPT网络中每个端口都一个开销值,依据端口带宽决定,带宽越高开销越小

  1. 端口ID(portid PID):用于表示设备中端口的唯一标识符,端口优先级和端口号两个部分组成一个十六位值,在进行端口选举时候越小越优

  1. BPDU:所有生成树协议使用BPDU报文进行交互,该报文携带交换机的BID、PID、RPC,这些信息通过组播发送目的为0180-c200-0000(专门给生成树协议使用组播地址)发送给所有运行STP协议的节点,以此协商根桥与根端口

配置BPDU(configuration BPDU):在STP初始化过程,每台节点都会发送BPDU,在STP树形成后,便只有根桥才能周期发送BPDU

拓扑变化bpdu(Topology Change NotificationBPDU):非根桥端口检测到拓扑变化时候会形成一个TCN BPDU报文从自己根端口发送

  1. 根端口(Root port RP):不是根桥的节点会称为非根桥,STP将会从现有的接口中选举中一个根端口即RP(每个节点只会存在一个RP端口)选举原则是去往根桥的最短开销路径端口
  1. 指定端口(Designated Port DP):物理是根桥还是非根桥节点,每个物理网段都只有一个指定物理出口就是指定端口负责将数据帧发送给根桥,选举原则依据去往根桥最短路径。

STP树生成过程

  选举根桥→选举根端口/指定端口→阻塞其余端口。

STP选举机制

  当一个STP网络处于初始阶段建立时候,此时所有节点尚未协商时候都会认为自己是网络中根桥设备(默认优先级32768),此时他们会进行一个广播协商选举真正根桥。

如何成为根桥

  桥ID小的的节点将会成为根桥,在比较BID大小时候,首先会比较桥优先级,越小越优,如果优先级相同(通常是初始阶段),则比较MAC地址,地址越小越优。

 在实际日常中,根桥交换机是整个二层网络中逻辑中心,但不一定是物理中心,同时由于根桥交换机会周期性广播BPDU更新拓扑承载网络最大流量转发工作,所以为了避免在多台交换机选举时候被性能较低交换机获得根桥身份,可以手动配置根桥优先级影响整个网络中根桥选举。

 抢占

 STP支持抢占机制,当一个成熟的STP网络中加入新的的节点,如果该节点的优先级比当前根桥还要优,那么就会夺取根桥身份,重新计算网络拓扑,造成一定网络震荡。

 根端口与指定端口详解

  由于这两个端口特殊性,笔者认为有必要单独为其开写,以便能更好理解这个这两种端口之间不同。

  

  • 环境描述:三台交换机通过物理网段互联组成一个三角形逻辑拓扑。

  • 生成树中无论是RP还是DP实际上都是一种对物理端口进行逻辑上身份划分,它们属于逻辑端口并关联在交换机上,所有哪怕出现端口故障也会通过选举机制重新选可用端口,理解这一点对以下解释将会更好理解。

  • 交换机选举成为根桥时候,其活动端口根据选路规则(去根最短开销路径)cost=0,并且由于它们所属是根桥交换机,就没有必要在成为根端口(请好好理解根端口作用),并且由于它们直接为根转发数据帧所以他们角色便是DP,可以简单理解为根桥上所有活动端口都可以转换为DP
  • 当根桥直接连接到一个非根桥交换机时,根据选路规则会选举成一个RP端口,且一个交换机只有一个RP,只有非根桥交换机才存在,根端口负责接收来自根桥的BPDU,是非根交换机向根桥发送数据的唯一出口

  • DP端口负责将所在网段转发数据到根桥以及从根桥中接受数据,尽管DP与RP遵循同样的选举规则其服务主体有区分,RP服务非根交换机这一主体,DP则是服务网段主体,简单的说明的话,就是RP端口只会存在非根交换机中,但以网段为主体的DP既可以存在非根交换机,也可以存在根桥交换机之中并且一台交换机如果有连接到多个不同的网段,理论上就可能有对应数量的指定端口
  • 从以上选举确定RP和DP后,STP会对非RP与DP的端口进行逻辑上阻塞成为阻塞备用端口(AP),成为阻塞端口后不会在响应BPDU但会保持监听状态,当出现接口故障时候,则会由阻塞变为其他状态

  RP和DP端口的选举都是基于BPDU报文选举,比较属性包含了BID、COST、PID,其选举基本逻辑如下表格。

端口属性

角色

范围

数量

路径开销(cost)

根桥ID(BID)

端口ID(PID)

根端口(RP)

端口

非根交换机

每台一个

取最小若是相同比较BID

取最小若是相同比较PID

取最小

指定端口(DP)

端口

每个物理网段

每个物理网段一个

取最小若是相同比较BID

取最小若是相同比较PID

取最小

STP端口状态

三种端口属性对于BPDU报文接受情况对比

STP初始阶段开始选举端口时候不仅为端口赋予三种逻辑属性,还定义端口五种状态以便更精确表示网络状态。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值