《STP基本概念和状态机-很详细(共6页).doc》由会员分享,可在线阅读,更多相关《STP基本概念和状态机-很详细(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上STP基本概念基本思想STP是数据链路层协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成处理能力下降。运行STP协议的设备采用配置消息BPDU(Bridge Protocol Data Unit,桥协议数据单元)交互信息,一般简称为BPDU。BPDU分为两大类: 配置BPDU(Configuration BPDU):用来进行生成树计算和维护生成树拓扑的报文。 TCN BPDU(Topology Change
2、Notification BPDU):当拓扑结构发生变化时,下游设备用来通知上游设备网络拓扑结构发生变化的报文。说明: 配置BPDU中包含了足够的信息保证设备完成生成树计算,其中包含重要信息如下: 根桥ID:由根桥的优先级和MAC地址组成,每个STP网络中有且仅有一个根。 根路径开销:到根桥的最短路径开销。 指定桥ID:由指定桥的优先级和MAC地址组成。 指定端口ID:由指定端口的优先级和端口名称组成。 Message Age:配置BPDU在网络中传播的生存期。 Max Age:配置BPDU在设备中能够保存的最大生存期。 Hello Time:配置BPDU发送的周期。 Forward Dela
3、y:端口状态迁移的延时。一个根桥树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化。网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行转发,传达拓扑变化记录,从而保证拓扑的稳定。两种度量生成树的生成计算有两大基本度量依据:ID和路径开销。 IDID又分为:BID(Bridge ID)和PID(Port ID)。 BID:桥IDIEEE 802.1D标准中规定BID是由16位的桥优先级(Bridge Priorit
4、y)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。在STP网络中,桥ID最小的设备会被选举为根桥。 PID:端口IDPID由两部分构成的,高4位是端口优先级,低12位是端口号。PID只在某些情况下对选择指定端口有作用。说明: 端口优先级可以影响端口在指定生成树实例上的角色,详细介绍请见。 路径开销路径开销(Path Cost)是一个端口量,是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。在一个STP网络中,某端口到根桥累计的路径开销就是所经过的各个桥上的各端口的路径开销累加而成
5、,这个值叫做根路径开销(Root Path Cost)。说明: 对于聚合链路,链路速率是聚合组中所有状态为Up的成员口的速率之和。三要素选举从环形网络拓扑结构到树形结构,总体来说有三个要素:根桥、根端口和指定端口。以下结合介绍三要素。图1 STP网络结构 根桥RB(Root Bridge)根桥就是网桥ID最小的桥,通过交互配置BPDU协议报文选出最小的BID。 根端口RP(Root Port)所谓根端口就是去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据根路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。很显然,在一个运行STP协
6、议的设备上根端口有且只有一个,根桥上没有根端口。 指定端口DP(Designated Port)指定桥与指定端口的描述见。表1 指定桥与指定端口的含义分类指定桥指定端口对于一台设备而言与本机直接相连并且负责向本机转发配置消息的设备指定桥向本机转发配置消息的端口对于一个局域网而言负责向本网段转发配置消息的设备指定桥向本网段转发配置消息的端口如所示,AP1、AP2、BP1、BP2、CP1、CP2分别表示设备S1、S2、S3的端口。 S1通过端口AP1向S2转发配置消息,则S2的指定桥就是S1,指定端口就是S1的端口AP1。 与局域网LAN相连的有两台设备:S2和S3,如果S2负责向LAN转发配置消
7、息,则LAN的指定桥就是S2,指定端口就是S2的BP2。图2 指定桥与指定端口示意图 一旦根桥、根端口、指定端口选举成功,则整个树形拓扑建立完毕。在拓扑稳定后,只有根端口和指定端口转发流量,其他的非根非指定端口都处于阻塞(Blocking)状态,它们只接收STP协议报文而不转发用户流量。四个比较原则STP选举有四个比较原则,构成消息优先级向量: 根桥ID,累计根路径开销,发送设备BID,发送端口PID 。配置BPDU中携带本端口的主要信息如所示。表2 四个重要信息字段字段内容简要说明根桥ID每个STP网络中有且仅有一个根。累计根路径开销发送配置BPDU的端口到根桥的距离。发送设备BID发送配置
8、BPDU的设备的BID。发送端口PID发出配置BPDU的端口的PID。STP网络中的其他设备收到配置BPDU消息后,将比较中所述的字段,四个基本比较原则如下:说明: 在STP计算过程中,都遵循数值越小越好的原则。 最小BID:用来选举根桥。运行STP协议的设备之间根据所示根桥ID字段选择最小的BID。 最小累计根路径开销:用来在非根桥上选择根端口。在根桥上,每个端口到根桥的根路径开销都是0。 最小发送者BID:当一台运行STP协议的设备要在两个以上根路径开销相等的端口之中选择根端口时,通过STP协议计算,将选择接收到的配置消息中发送者BID较小的那个端口。如所示,假设S2的BID小于S3的BI
9、D,如果S4的A、B两个端口接收到的BPDU里面的根路径开销相等,那么端口B将成为根端口。 最小PID:用于在根路径开销相同的情况下,不阻塞最小PID的端口,而是阻塞PID值较大的端口。如所示的情况下PID才起作用,S1的端口A的PID小于端口B的PID,由于两个端口上收到的BPDU中,根路径开销、发送交换设备BID都相同,所以消除环路的依据就只有PID。 图3 应用到PID进行比较的拓扑 五种端口状态运行STP协议的设备上端口状态如所示。表3 端口状态端口状态目的说明Forwarding端口既转发用户流量也转发BPDU报文。只有根端口或指定端口才能进入Forwarding状态。Learnin
10、g设备会根据收到的用户流量构建MAC地址表,但不转发用户流量。过渡状态,增加Learning状态防止临时环路。Listening确定端口角色,将选举出根桥、根端口和指定端口。过渡状态。Blocking端口仅仅接收并处理BPDU,不转发用户流量。阻塞端口的最终状态。Disabled端口不仅不转发BPDU报文,也不转发用户流量。端口状态为Down。端口状态迁移机制如所示。图4 端口状态迁移图 注意: 当从MSTP模式切换到STP模式,运行STP协议的设备上端口支持的端口状态仍然保持和MSTP支持的端口状态一样,支持的状态仅包括Forwarding、Learning和Discarding,如所示。表
11、4 端口状态端口状态说明Forwarding在这种状态下,端口既转发用户流量又接收/发送BPDU报文。Learning这是一种过渡状态。在Learning下,交换设备会根据收到的用户流量,构建MAC地址表,但不转发用户流量,所以叫做学习状态。Learning状态的端口接收/发送BPDU报文,不转发用户流量。DiscardingDiscarding状态的端口只接收BPDU报文。对于STP,影响端口状态和端口收敛有以下3个参数。 Hello Time运行STP协议的设备发送配置消息BPDU的时间间隔,用于设备检测链路是否存在故障。设备每隔Hello Time时间会向周围的设备发送配置消息BPDU,
12、以确认链路是否存在故障。当网络拓扑稳定之后,该计时器的修改只有在根桥修改后才有效。新的根桥会在发出的BPDU报文中填充适当的字段以向其他非根桥传递该计时器修改的信息。但当拓扑变化之后,TCN BPDU的发送不受这个计时器的管理。 Forward Delay设备状态迁移的延迟时间。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成临时环路。为此,STP采用了一种状态迁移机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延
13、时保证了新的配置消息传遍整个网络,从而防止了临时环路的产生。说明: Forward Delay Timer指一个端口处于Listening和Learning状态的各自持续时间,默认是15秒。即Listening状态持续15秒,随后Learning状态再持续15秒。这两个状态下的端口会处于Blocking状态,这正是STP用于避免临时环路的关键。 Max Age端口的BPDU报文老化时间,可在根桥上通过命令人为改动老化时间。Max Age通过配置BPDU报文的传输,可保证Max Age在整网中一致。运行STP协议的网络中非根桥设备收到配置BPDU报文后,报文中的Message Age和Max Age会进行比较: 如果Message Age小于等于Max Age,则该非根桥设备继续转发配置BPDU报文。 如果Message Age大于Max Age,则该配置BPDU报文将被老化。该非根桥设备直接丢弃该配置BPDU,可认为网络直径过大,导致根桥连接失败。说明: 如果配置BPDU是根桥发出的,则Message Age为0。否则,Message Age是从根桥发送到当前桥接收到BPDU的总时间,包括传输延时等。实际实现中,配置BPDU报文经过一个桥,Message Age增加1。专心-专注-专业