STP协议Word下载.docx
- 文档编号:17575711
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:26
- 大小:236.80KB
STP协议Word下载.docx
《STP协议Word下载.docx》由会员分享,可在线阅读,更多相关《STP协议Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
如图3-2所示,假定SourceAddressTable(SAT)表为空,且A发送一个帧给B。
Bridge1收到一个从A发至B的包,则把这个包广播出去,Bridge2同样不知道B的地址,收到之后也广播出去,Bridge1又收到这个包,从此循环往复直到B发送出来一个包为止。
引入STP可以实现以下两个功能:
网络环路的检测和预防、网络拓扑的自动重构。
3.1.3生成树协议的引入:
尽管透明网桥存在这个隐患,但是它的应用还是相当有诱惑力的,因为透明网桥在无回路的网络中发挥的作用是无可指摘的。
那么是不是就认为我们不能组建有回路的网络呢?
这显然是不合适的,因为回路的存在可以在拓扑结构的某条链路断开之后,仍然保证网络的连通性。
为此,我们找到了一种很好的算法,它通过阻断冗余链路将一个有回路的桥接网络修剪成一个无回路的树型拓扑结构,这样既解决了回路问题,又能在某条活动(active)的链路断开时,通过激活被阻断的冗余链路重新修剪拓扑结构以恢复网络的连通。
网络环路的检测和预防:
STP将检测到网络中存在的环路,并自动选择开销值最低的路径作为可使用的主链路,而将其他链路阻断,作为备份链路。
网络拓扑的自动重构:
在建立主备链路的网络中,当主用链路出现故障时,STP将自动启动备用,保证整个网络的可用。
3.2生成树(STP)
生成树算法的基本原理也很简单,网桥之间彼此传递一种特殊的配置消息,802.1D协议将这种配置消息称为“配置桥协议数据单元”或者“配置BPDU”。
配置消息中包含了足够的信息来保证网桥完成生成树的计算。
交换机会根据BPDU消息来完成如下的工作:
⏹在桥接网络的所有参与生成树计算的网桥中,选出一个作为树根(RootBridge);
⏹计算出其他网桥到这个根网桥的最短路径;
⏹为每一个LAN选出一个指定网桥,该网桥必须是离根网桥最近的。
指定网桥负责将这个LAN上的包转发给根桥;
⏹为每个网桥选择一个根端口,该端口给出的路径是本网桥到根网桥的最短路径;
⏹选择包含在生成树上的端口,由根端口和LAN连接其指定网桥的那些端口(指定端口)组成。
3.2.1BPDU介绍
配置消息也被称作桥协议数据单元(BPDU),它主要包括以下内容:
即桥接网络中的根桥ID,从指定网桥到根网桥的最小路径开销,指定网桥ID和指定端口ID四项内容。
网桥之间通过传递这些内容就足以能够完成生成树的计算。
为了叙述方便,我们可以用矢量形式(RootID,RootPathCost,DesignatedBridgeID,DesignatedPortID)来描述某个网桥所发出的BPDU内容。
最初,所有的网桥都发送以自己为根桥的配置消息,比如网桥B发送的配置消息为(B,0,B,PortID);
网桥将接收到的配置消息和自己的配置消息进行优先级比较,保留优先级较高的配置消息,并据此完成生成树的计算。
桥接网络中,每个网桥都有一个用来标识自己的唯一的48位地址,生成树协议中,使用网桥优先级和该48位地址的组合作为网桥的ID在配置消息的数据部分中来表示这个网桥。
对每个网桥来说,这个网桥的所有端口可以使用端口优先级和端口索引值作为ID来表示,生成树协议使用这个ID在配置消息中唯一的表示网桥中的某个特定端口。
3.2.1.1BPDU报文格式
图3-3BPDU报文格式
协议及状态信息:
⏹ProtocolID:
取值0,标识stp协议,占用2个bytes
⏹VersionID:
标准指定为0,占用1个byte
⏹BPDUType:
填充0值,占用1个byte
⏹BPDUFlags:
占用1个byte,只用前2个bits,TC(topologychange)位指示拓扑结构改变,TCA(topologychangeacknowledgment)位表示收到对端交换机拓扑改变指示位而做出确认
根网桥信息:
⏹RootPriority:
占用2个bytes,标识根网桥的优先级,取值为0-65535,默认值一般为32768
⏹RootID:
占用6个bytes,作为根网桥的标识,一般采用根网桥的MAC地址作为标识
⏹RootPathCost:
路径费用,占用4个bytes,表示从该网桥到根网桥的路径费用总和
本网桥信息:
⏹BridgePriority:
占用2个bytes,表示本网桥的优先级,取值为0-65535,默认值一般为32768
⏹BridgeID:
占用6个bytes,表示本网桥的标识,一般采用MAC地址作为网桥标识
端口信息:
⏹PortID:
包括两个部分,端口优先级及端口标识,各占用1个byte;
端口优先级取值为0-255,默认值为128
记时器:
⏹MessageAge:
占用2个bytes,表示根网桥发送有效BPDU报文的时间
⏹MaxAge:
占用2个bytes,表示删除根网桥配置信息等待的最大时间
⏹HelloTime:
占用2个bytes,表示BPDU报文的发送周期
⏹ForwordDelay:
占用2个bytes,表示在过滤数据库中,指示网络拓扑改变的BPDU动态条目的老化时间;
同时也表示交换机端口从监听状态到学习状态/从学习状态到转发状态所经历的时延。
3.2.1.2BPDU报文格式-报文头
图3-4BPDU报文头
如图3-4所示:
这是一个从交换机发出的BPDU报文。
BPDU报文采用802.2的封装;
目的MAC采用组播地址0180:
c200:
0000,原MAC地址一般是发送BPDU报文的交换机的CPU地址。
3.2.1.3BPDU报文格式-报文体
图3-5 BPDU报文体
从上图可看出,发出该报文的网桥即为根网桥:
RootBridgeID=SendinngBridgeID
网桥采用默认优先级:
priority=0x8000
端口采用默认优先级:
0x80
该报文从端口3发出:
portid=03
根网桥的时间参数均采用默认值:
MaxAge=20s
Hellotime=2s
ForwardDelay=15s
3.2.2.STA算法
生成树算法(STA)是由DEC公司开发的,后来成了IEEE802.1d的基础。
但是,IEEE802.1d算法与DEC的算法并不是兼容的。
这里将使用IEEE802.1d算法作为标准的桥接协议。
STA的目的是创造一个“非循环”的环境。
就像现实生活中的树,所有树干的底部都有树根,树干朝上分成大树枝,大树枝再分成小树枝等等。
所以,树枝从来都不会蔓延到其他树枝,即形成一个“非循环”的环境。
几个重要概念
⏹根网桥:
为了创造一个“非循环”的环境,需要定义一个参考点,这就是根网桥。
⏹根端口:
离根网桥最近的端口为根端口。
⏹指定网桥:
在每一个网段中,离根网桥最近的网桥为指定网桥。
⏹指定端口:
与指定网桥连接的端口为指定端口。
以上概念的内涵将在后面的胶片中阐述。
STA算法功能如下:
1、STA将具有最小标示值的网桥作为根网桥,即标示值越小,优先级越高。
2、STA将在其他所有网桥上确定根端口。
网桥的根端口是指用最小合计路径代价到达根的网桥端口。
该值也叫根路径代价。
3、STA将确定指定网桥及其指定端口。
指定网桥是指在每一个LAN上能够提供最小根路径代价的网桥。
在某些情况下,两个或多个网桥具有相同的根路径代价。
STA选择具有最高优先级标示符(值最小)的网桥作为指定网桥;
如果标示符也相同,那么STA选择具有最高优先级的网桥;
最后,如果网桥优先级相同,那么STA将使用端口标示符作为决定的标准。
3.2.2.1选举根网桥
图3-6 选举根网桥
选举根网桥的依据:
1.先比较BridgePriority
2.再比较BridgeMAC
交换机开始选举根时,每个交换机都开始广播BPDU消息,包含有交换机自己的MAC地址和Priority。
当交换机收到别的交换机的BPDU,其优先级高于自己的时,就不再发送自己的信息,而是向其他端口转发该信息,建议其他交换机选择正确的根桥。
这样,在一定时间后,整个网络就都知道谁是根了。
比较所有参与者的桥ID,最小者为根桥。
BridgeID组成=BridgePriority(2bytes)+bridgeMAC(6Bytes)
如图3-6所示:
根桥上参与STP计算的端口将被设定为Forwarding状态。
Switch_A、Switch_B、Switch_C中,Switch_B的ID最小,所以被选为根网桥。
3.2.2.2选定根端口,与根桥建立关联
图3-7
如果一个交换机能在多个端口上收到同一个BPDU,就说明存在到根桥的冗余路径。
这时就要从这些端口中选择一个作为根端口,被选为根端口的端口将被设定为Forwarding状态。
选择的依据是分别比较:
a.到达根桥的路径开销。
b.端口所连对端网桥ID。
c.端口所连对端端口ID。
d.自己的端口ID。
其中端口ID为端口优先级(portPriority)+端口号(portnumber)
3.2.2.3选定指定桥和指定端口
选举指定桥和指定端口的依据:
⏹到达根桥的路径开销
⏹所连网桥ID
⏹LAN所连端口ID
为网络中每个LAN选定指定桥和指定端口:
如果一个LAN可以通过多个交换机到达根桥,他将选择其中的一个作为其指定桥,LAN与指定桥相连的端口就是该LAN的指定端口。
LAN的指定端口也将被设定为Forwarding状态。
b.所连网桥ID.
c.LAN所连端口ID.
这样网络中参与STP计算的交换机其他端口将被设定成Blocking状态。
经过STP计算可以将以前网络拓扑中的一种图状连接变成一个树状连接,确保网络中从任何一点到另一点只有一条处于活动的主链路。
3.2.2.4故障监测与树的更新
根定期发送BPDU,各DesignatedBridge都向非RootPort连接的LAN转发,以表示自己的工作状态正常。
假设在规定时间内没有转发出BPDU,则认为发生故障,开始新一轮的选举。
STP目的是通过协商一条到根网桥的无环路路径来避免和消除网络中的环路。
通过这种机制,它确保到每个目的地只有一条路径,如果某条链路失效了,根网桥知道存在冗余链路,他会启动先前关掉的这条冗余链路。
3.2.2.5STP的端口状态
状态
用途
转发(Forwarding)
发送/接受用户数据
学习(Learning)
构建STP树
监听(Listening)
确定活动(Active)拓扑
阻塞(Blocking)
只接收BPDU报文
禁用(Disable)
强制关闭
为了建立一个无环网络,生成树强迫各个端口经历几种不同的状态:
首先,端口进入监听状态,对BPDU进行监听。
它将读取这些BPDU,然后确定它的根端口和与端口相连的网桥。
如果确定某个端口需要设置成阻塞状态,那么该端口将进入阻塞状态,同时监听状态结束。
如果确定某个端口应该进入发送状态,那么这个端口将进入称
为“学习”的中间状态,之所以这么称呼,是因为端口先对源MAC地址进行检测,然后再将条目导入网桥表中。
“学习”状态结束后,发送状态立即开始。
3.2.3港湾系列交换机STP配置
3.2.3.1配置命令
STP和RSTP协议配置命令列表
命令
解释
configspanning-tree
进入STP配置模式。
STP配置节点分为RSTP节点和MSTP节点。
CST模式在RSTP节点下进行配置,命令提示符分别为:
“config-cst”;
MST模式在MSTP节点下配置,命令提示符为:
”config-mst”。
spanning-tree[enable|disable]
打开或者关闭指定域上的STP功能
spanning-tree[priority]<
0-61440>
配置交换机在指定域上的STP优先级,桥优先级。
必须为4096的整数倍,缺省值:
32768缺省为32768,优先级数值越低,越有可能成为网络中的根桥,优先级值为0代表了最高的优先级。
spanning-tree[maximum-age]<
6-40>
配置交换机在指定域上的BPDU报文老化的最长时间间隔,单位为秒,缺省为20,收到超过这个时间的BPDU报文,就直接丢弃,
maximum-age的时间必须大于等于2*(hello-time+1),小于等于2*(forward-delay–1)
spanning-tree[hello-time]<
1-10>
配置当本交换机被选为根桥时发送BPDU的时间间隔,单位为秒,缺省为2,
hello-time必须小于等于forward-delay–2
spanning-tree[forward-delay]<
4-30>
设置当本交换机被选为根桥时端口状态切换的时间间隔,单位为秒,缺省为15,
forward-delay的时间必须大于等于hello-time+2
nospanning-tree[forward-delay|hello-time|maximum-age|priority]
恢复以上参数的缺省配置
spanning-treeport<
slot/port>
[path-cost][auto|<
1-200000000>
]
设置当本交换机的指定端口在指定域上的端口路径开销,单位为秒,HammerOS根据端口的当前速度设置不同的缺省值:
10Mbps端口缺省值为2000000
100Mbps端口缺省值为200000
1000Mbps端口缺省值为20000
spanning-treetrunk<
trunkname>
[priority]<
0-240>
配置参与指定域内STP计算的端口的优先级,缺省为128,优先级数值越低,端口越容易成为根端口,优先级值为0代表了最高的优先级
[none-stp][yes|no]
配置交换机的指定端口是否参与指定域的STP协议计算,缺省为参与计算
[none-stp][yes|no]
[p2p][yes|no|auto]
配置指定端口是否作为point_to_point端口,此设置只在运行RSTP协议时生效。
point_to_point端口是指和另一个进行协议计算的设备的端口直接相连的端口,计算确定point_to_point端口的状态比缺省配置的端口速度更快
[p2p][yes|no|auto]
[edge][yes|no]
配置指定端口是否作为edge端口,此设置只在运行RSTP协议时生效,edge端口是指和通讯终端相连而不是和交换机相连的端口,edge端口的状态一直为Forwarding
[edge][yes|no]
配置指定的trunk端口是否作为edge端口,此设置只在运行RSTP协议时生效,edge端口是指和通讯终端相连而不是和交换机相连的端口,edge端口的状态一直为Forwarding
nospanning-treeport<
[edge|non-stp|p2p|path-cost|priority]
恢复以上参数的缺省配置,缺省为参与计算
nospanning-treetrunk<
[path-cost|priority|non-stp|p2p|edge]
spanning-treemode[cst|mst]
配置STP的运行模式,cst为普通生成树协议;
mst为多生成树协议,交换机可以有多个SpanningTree,每个SpanningTree可以包含多个VLAN。
showspanning-tree
查看指定域的STP配置和状态信息
showspanning-treeport<
查看指定域上指定端口的STP配置和状态信息
showspanning-treetrunk<
查看指定域上指定Trunk的STP配置和状态信息
showdebugspanning-tree
显示STP调试信息,在MSTP节点,配置节点,RSTP节点下均可执行。
3.2.3.2配置案例
在下面的情况下需要管理员打开STP功能:
⏹可能存在环路的复杂网络
⏹设置了备份冗余链路的网络
在CST模式下,只需要配置domain0的STP。
在网络中,一般将骨干交换机的优先级数值设置较低,使其成为网络中的root交换机;
同样,一般将主链路的端口优先级数值设置低于冗余备份链路的端口上的优先级数值,使系统能够关闭冗余链路而主链路保持通讯。
交换机上和用户主机直接相连的端口一般设置为edge端口,使这些端口的状态能够快速的设定。
假设在一个网络中VLANdefault(vid=1)中可能存在环路,则需要打开domain1的STP功能,并做如下的设置。
设置发送RSTP的BPDU报文,交换机的优先级为4096,做为根桥时发送BPDU报文时间间隔为6秒,做为根桥时端口状态切换时间间隔为16秒,BPDU报文老化的最长时间为30秒,配置命令如下:
Harbour(config-cst)#spanning-treeenable
Harbour(config-cst)#spanning-treehello-time6
Harbour(config-cst)#spanning-treeforward-delay16
Harbour(config-cst)#spanning-treemaximum-age30
Harbour(config-cst)#spanning-treepriority4096
default中的端口1/3和用户的主机而不是交换机相连,可以配置此端口为edge端口,端口1/4和另一运行协议的交换机相连,中间没有其它设备,可以配置此端口为p2p端口:
Harbour(config-cst)#spanning-treeport1/3edgeyes
Harbour(config-cst)#spanning-treeport1/4p2pyes
3.3快速生成树协议(RSTP)
3.3.1快速生成树协议(RSTP)产生的背景
在前面我们介绍了有关生成树协议的一些特性。
在实际的应用中,生成树协议也有很多美中不足的地方。
最主要的缺点是端口从阻塞状态到转发状态需要两倍的forwarddelay时延,导致网络的连通性至少要几十秒的时间之后才能恢复。
如果网络中的拓朴结构变化频繁,网络会频繁的失去连通性,这样用户就会无法忍受。
为了尽量避免网络失去连通性,我们的交换机应用了一种“快速生成树”算法。
3.3.2快速生成树协议(RSTP)改进的要点:
快速生成树能够完成生成树的所有功能,不同之处就在于:
快速生成树在不会造成临时环路的前提下,减小了端口从阻塞到转发的时延,尽可能快的恢复网络连通性,提供更好的用户服务。
快速生成树从三个方面实现“快速”功能:
1、一个新的根端口从阻塞到转发:
如果旧的根端口已经知道自己不再是根端口了,并进入阻塞状态,且此时新的根端口连接的网段的指定端口正处于转发状态,那么这个新的根端口就可以无延时的进入转发状态。
2、一个非边缘指定端口从阻塞到转发:
“非边缘”的意思是这个端口连接着其他的网桥,而不是只连接到终端设备。
等待进入转发状态的指定端口向下游发送一个握手请求报文,如果下游的网桥响应了一个赞同报文,则这个指定端口就可以无延时的进入转发状态。
握手请求报文是在该端口发送的下一个配置消息中,用一个握手标志位来标识;
握手响应报文也是携带在端口发送的下一个配置消息中,用一个赞同标志位来标识。
不过这种快速状态迁移需要一个前提条件:
发起握手的端口与响应握手的端口之间是一条点对点链路!
如果这个条件不满足,握手将不会被响应。
那么这个指定端口只好等待两倍的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STP 协议