您的位置:首页 > 编程语言 > PHP开发

STP协议

2012-06-05 17:48 141 查看
STP协议

STP为生成树协议,就是把一个环形的结构改变成一个树型的结构。STP协议就是用来将物理上存在环路的网络,通过一种算法,在逻辑上断开一些端口,来生成一个逻辑上的树型结构。
1.STP工作原理
生成树协议运行生成树算法,其过程可以归纳为以下三个步骤:
选择根网桥(root bridge)
选择根端口(root ports )
选择指定端口(designated ports)
(1)选择根网桥
选择根网桥实际上就是为网络选出一个树根,选择根网桥的依据是网桥ID,网桥ID由8个字节,前2个字节的十进制数为网桥优先级,后6个字节为网桥的MAC地址。
网桥优先级是用于衡量网桥在生成树算法中优先级的十进制数,取值范围为0---65535,默认为32768。
网桥ID中的MAC地址是交换机的MAC地址之一,当使用命令查看交换机的MAC地址表的时候,显示在最前面的MAC地址就是STP计算用的交换机的MAC地址。
按照生成树算法的定义,当比较某个STP参数的取值时,值小的优先级高,因此,选择根网桥的时候,比较的方法是看哪台交换机的网桥ID的值最小,优先级小的被选择为根网桥,在优先级相同的情况下,MAC地址小的为根网桥。
(2)选择根端口
根端口位于非根网桥上,每个非根网桥上选择一个根端口。
选择根端口的依据按顺序依次是:
到根网桥最低的根路径成本
直连的网桥ID最小
端口ID最小
根路径成本是两个网桥之间的路径上所有链路的成本之和,也就是某个网桥到达根网桥的中间所有链路的路径成本之和。
路径成本用来代表一条链路的带宽高低,一条链路的带宽越大,它传输数据的成本就越低。
端口ID是一个2字节的STP参数,由一个字节的端口优先级和一个字节的端口编号组成。
在STP选择根端口的时候,首先比较交换机端口的根路径成本,根路径成本低的为根端口。当根路径成本相同的时候,比较连接的交换机的网桥ID值,选择网桥ID值小的作为根端口,当网桥ID相同的时候,比较端口ID值,选择较小的作为根端口。
(3)选择指定端口
选择指定端口的顺序有3个:
根路径成本较低(与其他的交换机相比)
所在的交换机的网桥ID的值最小(可能性较低)
端口ID的值较小(可能性较低)
根网桥上的接口都是指定端口,因为根网桥上端口的根路径成本为0。
2.BPDU(桥协议数据单元)
交换机之间通过BPDU来交换网桥ID、根路径成本等信息。交换机从端口发送出一个BPDU帧,使用该端口本身的MAC地址作为源地址。交换机本身并不知道它周围是否还有其他的交换机存在。因此,BPDU帧利用了一个STP组播地址 01-80-C2-00-00-00作为它的一个目的地址,使之能到达相邻的并处于STP侦听状态的交换机。
每隔2S,BPDU报文便向所有的交换机端口发送一次,以便交换机(或网桥)能交换当前最新的拓扑信息,并迅速识别和检测其中的环路。
BPDU有两种类型:
一种是配置BPDU,用于生成树计算
一种是拓扑变更通告(TCN)BPDU,用于通告网络拓扑的变化。
3.生成树端口的状态
在STP运算过程中,交换机的每一个端口都必须依次经历好几种状态。
如果一个端口允许转发数据,它首先从disabled状态开始,经过几个被动状态,最后进入active状态。
Disabled(禁用):由网络管理员设定或因网络故障使系统的端口处于disabled状态,这个状态并不是端口正常的STP状态的一部分。
Blocking(阻塞):既不能接收或发送数据,也不能向它的地址表添加MAC地址。这个端口仅允许接收BPDU报文,选出指定端口后非指定端口也处于此状态。
Listening(侦听):一个交换机的一个端口可选为根端口或指定端口,它就将端口从blocking状态变为listening状态。在此状态,端口仍不能接收或发送数据帧。但可以接收发送BPDU报文,如果该端口失去根端口或指定端口的地位,那么就会回到blocking状态。
Learning(学习):该端口发送和接收BPDU报文,可以学习新的MAC地址,并将该地址加入到交换机的地址表中。
Forwarding(转发):既可以发送和接收数据帧,也可以收集MAC地址加入到它的地址表,还可以发送和接收BPDU报文。
从阻塞到侦听(20S)
从侦听到学习(15S)
从学习到转发(15S)
4.VLAN 与生成树
VLAN与生成树之间的关系有以下几种:
IEEE的通用生成树 CST
CISCO的每VLAN 生成树 PVST
CISCO的能兼容CST的PVST PVST+
CST不考虑VLAN,以交换机为单位运行STP。
PVST是CISCO私有的协议,PVST为每个虚拟局域网运行单独的生成树实例。
5.PVST配置的意义:
(1)配置网络中比较稳定的交换机为根网桥。
(2)利用PVST实现网络的负载分担。
(3)配置上行速链路,实现备份的上行链路快速恢复。
企业网络的结构主要包含3个层次:核心层、汇聚层和接入层,其中上行链路主要配置在汇聚层和接入层的交换机上。
配置上行速链路,当接入层或汇聚层的交换机主用的上行链路断开的时候,被阻塞的端口迅速转换到转发状态,不需要经过侦听和学习状态。
(4)配置速端口,使连接终端的端口快速进入到转发状态。
配置速端口不经过侦听和学习状态,直接进入转发状态,速端口只能配置在连接终端的接口上。
6.PVST配置命令
(1)启用生成树命令
交换机默认情况下启用生成树,一般情况下,尽量不要关闭生成树。
switch(config)#spanning-tree vlan vlan-list
(2)指定根网桥:如果配置为primary,交换机的优先级变为24576,配置为secondary,优先级变为28672
switch(config)#spanning-tree vlan vlan-list root primary | secondary
(3)修改网桥的优先级:配置一个交换机为根网桥,可以通过修改网桥优先级的命令来实现。
switch(config)#spanning-tree vlan vlan-list priority bridge-priority
(4)修改端口成本
switch(config)#spanning-tree vlan vlan-list cost cost
(5)修改端口优先级
switch(config)#spanning-tree vlan vlan-list port-priority priority
(6)配置上行速链路
switch(config)#spanning-tree uplinkfast
(7)配置速端口
switch(config-if)#spanning-tree portfast
(8)查看生成树的配置
switch#show spanning-tree
(9)查看某个VLAN的生成树详细信息
Switch#show spanning-tree vlan vlan-list
7.ethernetchannel (以太网通道)
以太网通道通过捆绑多条以太链路来提高链路带宽,并运行一种机制,将多个以太网通道捆绑成一条逻辑链路。以太网通道最多可以捆绑8条物理链路。
以太网通道必须遵循以下一些规则:
(1)参与捆绑的端口必须属于同一个VLAN,如果是在中继模式下,要求所以参加捆绑的端口都是在中继模式下。
(2)如果端口配置的模式是中继模式,那么,应该在链路两端将通道中的所有端口配置成相同的中继模式。
(3)所有参与捆绑的端口的物理参数设置必须相同,应该有同样的速度和全/半双工模式设置。
(4)三层端口不能配以太通道,没有这个命令本文出自 “活到老,学到老。” 博客,请务必保留此出处http://kalng.blog.51cto.com/3145815/888613
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: