简单说明思科交换生成树的算法是如何实现的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单说明思科交换生成树的算法是如何实现的?相关的知识,希望对你有一定的参考价值。
简单说明思科交换生成树的算法是如何实现的,麻烦告知下?
参考技术A 交换机内的生成树算法(STA)使你可以创建一条备用链路(当网络中存在多台交换机时)。在主链路正常工作时,备用链路处于空闲状态(不工作);只有在主链路出现问题时,备用链路才不需要任何人工干预自动地接替主链路。这种自动重构的功能,使得网络上的用户能够最大限度地与网络保持正常的连接。生成树算法较复杂,所以,建议最好在充分研究理解其之后,再更改其一些设置。请仔细阅读并理解下述内容之后,再去更改交换机上的生成树的默认设置。网络环路的侦测和预防(Network
loop
detection
and
prevention):任何两个局域网之间应该只有一条路径,否则,网络中将出现环路。如果存在着多于一条的路径,那么生成树算法将会侦测到环路的发生,并自动选择开销值(c
ost)最低的那条路径作为可使用的路径(主链路),而阻断其它路径,将它们作为备用路径(备用链路)。
自动拓扑重构(Automatic
topology
re-configuration):当主链路出现故障时,生成树算法将自动启用备用链路,重构网络结构。
生成树的级别(STA
Operation
Levels)
生成树有两种工作级别:桥级别(bridge
level)和端口级别(port
level)。在桥一级上,生成树算法为每台交换机计算桥的标志级数(Bridge
Identifier),然后设定根桥(Root
Bridge)和指定桥(Designated
Bridges)。而在端口一级上,生成树算法设定根端口(Root
Port)和指定端口(Designated
Ports)。详述如下:
在桥一级上(On
the
Bridge
Level):
根桥(Root
Bridge):具有最小桥标志级数的(lowest
Bridge
Identifier)交换机是根桥(Root
Bridge)。当然,你希望根桥是环路中所有交换机当中最好的一台(交换机),以保证能够提供最好的网络性能和可靠性。
桥标志级数(Bridge
Identifier):桥标志级数是桥的优先级(Bridge
Priority)和交换机的MAC地址的综合数值,其中桥的优先级(Bridge
Priority)是一个你可以设定的参数。例如,“4
00
80
C8
00
01
00”中的“4”是桥的优先级,“00
80
C8
00
01
00”是交换机的MAC地址。交换机的桥标志级数越低,则交换机的优先级越高,这样可以增加其成为根桥的可能性。
指定桥(Designated
Bridge):在每个网段中,到根桥(Root
Bridge)的路径开销最低的(lowest
Root
Path
Cost)桥将成为指定桥(Designated
Bridge),数据包将通过它转发到网段。一旦所有的交换机具有相同的根路径开销(Root
Path
Cost),那么具有最低的桥标志级数的(lowest
Bridge
Identifier)交换机才会被定为指定桥(De
signated
Bridge)。
根路径开销(Root
Path
Cost):一台交换机的根路径开销(Root
Path
Cost)是根端口(Root
Port)的路径开销(Path
Cost)与数据包经过的所有交换机的根路径开销(Root
Path
Cost)之和。根桥(Root
Bridge)的根路径开销(Root
Path
Cost)是零。
桥的优先级(Bridge
Priority):是一个用户可以设定的参数。设定的值越小,优先级越高。交换机具有越高的优先级,才越有可能成为根桥。
在端口一级上(On
the
Port
Level):
根端口(Root
Port):每台交换机都有一个根端口(Root
Port),这个端口到根桥的路径开销最低。一旦多个端口具有相同的到根桥的路径开销时,那么具有最低的端口标志级别的才会成为根端口。
指定端口(Designated
Port):指定端口就是指定桥(Designated
Bridge)上的端口。
端口优先级(Port
Priority):数值越小,端口的优先级就越高。具有越高端口优先级,才越有可能成为根端口。
路径开销(Path
Cost):这是一个可变的参数,它将随着生成树中的设定值的变化而变化。依据STA的默认参数值,每个1000Mbps网段有一个指定的路径开销值为4
,100Mbps网段的路径开销值19,10Mbps网段的路径开销值100.
生成树参数(STA
Parameters)
生成树的参数用户可以根据自己的需要进行修改,但是建议最好使用出厂时的默认设置。除非确实需要对出厂设置值进行变动时,再去改动默认值。用户可以改动的生成树参数有如下几个:
桥优先级(Bridge
Priority):数值范围从0到65535.“0”的优先级最高。
呼叫时间(Bridge
Hello
Time):数值范围从1秒到10秒。是指根桥向其它所有交换机发出BPDU数据包的时间间隔,以告知其它所有交换机它是根桥。如果你的交换机还未是根桥时为其设置了呼叫时间,那么,一旦你的交换机成为根桥,该呼叫时间就会派上用处。
注意:呼叫时间不能大于桥的最大老化时间(Max.
Age),否则,将出现错误信息。
最大的桥老化时间(Bridge
Max.
Age):数值范围从6秒到40秒。如果在超出最大老化时间之后,还没有收到根桥发出的BPDU数据包,那么,在允许的条件下你的交换机将充当根桥向其它所有的交换机发出B
PDU数据包。如果交换机确实具有最小的桥标志级数,那么,它将随之成为根桥。
桥转发时延(Bridge
Forward
Delay):数值范围从4秒到30秒。是指交换机的端口从阻塞状态转为转发状态所用的监听时间。
当你欲变动生成树参数时,请一定记住下述公式:
最大的桥老化时间≤
2
x(桥转发时延
–
1秒)
即:Max.
Age
≤
2
x
(Forward
Delay
-
1
second)
最大的桥老化时间≥
2
x(呼叫时间
+
1秒)
即:Max.
Age
≥
2
x
(Hello
Time
+
1
second)
端口优先级(Port
Priority):数值范围从0到255.数值越小,那么该端口越可能成为根端口。
生成树协议CDP思科设备发现协议SSH协议
线路冗余->交换机成环
交换机成环导致:
1 广播风暴
2 mac地址表震荡
一个mac在一台交换机上只能对应一个接口,但一个接口可以对应多个mac
3 重复帧拷贝
生成树协议:
802.1D、PVST、PVST+、802.1s、802.1w
生成树协议用于实现二层线路冗余,在网络中逻辑的阻塞部分接口来实现从源到目的仅有一条唯一路径;
最佳路径故障时,阻塞端口自动工作来实现备份的作用;
所谓生成树,就是在二层网络中构建一个树形结构,形成唯一、最短、星型拓扑;
802.1D
公有
PDU:协议数据单元
应用层 报文
传输层 数据段
网络层 数据包
数据链路层 数据帧
物理层 比特流
BPDU:桥协议数据单元,跨层封装到二层;
配置BPDU:最初未选出根桥时所有交换机均会发出,选出根桥后仅根桥可以发出
次优BPDU:TCN,拓扑变更消息
Hello time 2s,Hold time 20s
选举四个角色:
根网桥:一棵树仅有一个,负责整棵树的管理、维护
比较桥ID,桥ID最小的成为根;
桥ID=网桥优先级(默认32768,取值范围0-65535)+mac
根端口:所有非根设备上存在且仅有一个,负责接收根桥的BPDU和转发用户流量
1 基于cost值,比较入向cost(选举根端口是为了接收BPDU),小则为根端口
Cost值:
10M=100
100M=19
1000M=4
10000M=2
>10000M=1
2 入向cost值相同,比较两个接口对端交换机的桥ID,最佳对应接口为根端口
3 两个接口对端桥ID相同,比较对端接口的PID=优先级(默认128)+接口编号(小优)
4 两个接口对应对端的桥ID、PID和到根的cost值均相同,比较本地接口PID,小优
指定端口:一条链路一个,转发根桥BPDU和用户流量,根桥的端口全是指定端口
1 比较出向cost值,小优
2 出向cost值相同,比较链路两端设备的本地BID,小优,即未来谁当老大谁为指定端口
3 本地BID相同,比较本地PID,即优先级和接口编号,小优
4 本地PID相同,即一根网线两头接同一接口;由于无法控制HUB的接口,为了破环,交换机将直接阻塞自己本身的接口
非指定端口:以上角色选举完后剩余未被分配的端口,会被阻塞,对控制层面流量只接收不转发,对数据层面流量不转发也不接收
mac地址本身用于管理vlan,二层交换机仅一个mac,三层交换机有多个mac;
参选时三层交换机会用自己最小的mac地址;
对生成树协议的干涉,至少要关注根网桥位置,最合适的地点为汇聚层设备
接口状态:
1 down
最初交换机刚插上网线,接口处于down状态,接口信号灯不显示;
此时开始通电,信号灯变为橘红色,开始发BPDU并进入2状态;
2 侦听(listening):固定15s
该阶段为选举阶段,该阶段四种角色全部判定完毕;
判定完毕后,根端口和指定端口进入状态3
非指定端口进入状态4
3 学习(learning):固定15s
该状态的接口需要记录所有接口收发的mac地址;生成mac地址表;
4 阻塞
非指定端口也非根端口则进入该状态,指示灯显示橙色;
5 转发(forwarding)
指定和根端口进入学习完成后进入该状态,此时收敛完成;
收敛慢:以前网络设备运算速度慢
链路利用率低:端口被阻塞
直连检测
当交换机连接根桥的唯一一根网线断开时触发直连检测,再过30s阻塞的接口进入转发状态(成为根)
链路断开,交换机从两个接口均无法收到根的BPDU,于是向阻塞端口发送次优BPDU(即交换机自己的BPDU),另一台交换机从阻塞端口收到该BPDU后会等待20s的保活时间,然后才进入30s的侦听、学习阶段,总共耗时50s
PVST
私有,基于vlan的生成树协议
算法与802.1D一致;
仅支持ISL,不支持802.1q;
基于vlan,每个vlan独立一棵树,可实现分流、备份,提高链路利用率;
基于vlan发出BPDU,分别选举不同vlan下的根桥、根端口,指定、阻塞端口,具体选举规则与802.1D一样;
为了基于不同vlan,在vlan2下发出的BPDU优先级为32770,32770-32768=2,则此时进行的是基于vlan2的选举;
若不干涉选举,最终会使一个mac最小的交换机成为多个vlan的根,所以需要手工干预选举,调整优先级使不同交换机成为不同vlan的根;
修改优先级时必须以32768的倍数修改,否则会使一个vlan的BPDU混入其他vlan中;
该协议可以分流;
选举速度慢;
仅支持ISL;
生成树多(一个vlan一个);
PVST+
私有,PVST升级版,目前思科交换机默认运行该算法
实现部分加速;
支持802.1q和ISL;
树多问题未处理;
拥有一个vlan的树的条件:
设备上创建了vlan 2;
设备连接有vlan 2的用户或有trunk干道;
PVST和PVST+干涉选举:
1 网桥优先级:影响根桥位置
2 接口优先级或cost值:影响根端口和指定、阻塞端口位置
修改基于vlan2的设备优先级干涉根桥选举:
修改SW1为vlan1的主根桥(优先级下调2倍的4096);
修改SW1为vlan2的备份根桥(优先级下调一个4096);
修改某个接口在某个vlan的接口优先级(以16的倍数修改,范围0-240);
修改某个接口的开销值;
PVST+部分加速
1 端口加速
将0/1-22调整为portfast接口,调整后接口不参与STP选举直接进入转发状态(指定端口);
Switchport host会将选中的接口全部调整为access模式再做portfast;
一般连接终端的接口使用,trunk干道一般不使用;
不进入接口的情况下将所有access模式的接口调整为portfast;
不对trunk干道生效;
2 上行链路加速
当接口存在直连检测的情况下,可以以毫秒为单位快速打开另一个被阻塞的接口,不需要30s侦听和学习;
运行uplinkfast的交换机桥优先级和接口cost值变大,优先级大则交换机不会抢占根桥,cost值大则交换机上存在阻塞端口可能性变大,存在阻塞端口方便直连检测;
该命令只能在接入层交换机使用;
3 骨干加速
所有设备均可配置
针对上面的50s的情况,交换机一个接口对端是根桥的指定端口,另一个接口对端是一个阻塞端口,此时若连接根桥的链路故障,则该交换机无法从任何端口收到根的最优BPDU,此时交换机将发出自己的次优BPDU,假设交换机开启了骨干加速,则可以省掉维持稳定性的20s,直接进入30s(侦听+学习),然后原先的阻塞端口进入转发状态;
PVST+的优点:
1 基于vlan分流
2 部分加速
3 兼容802.1q
PVST+的缺点:
1 初次收敛30s
2 无直连检测则仍需30s
3 生成树多
RPVST/RSTP(cisco)和802.1W(公有)
快速生成树(1-2s内收敛完成)
不计时,主动切换状态:直接侦听决定端口身份,决定好不再等待后直接学习,学习完成后不再等待直接进入相应状态开始工作
RSTP/RPVST基于vlan,一个vlan一棵树;
802.1W不基于vlan,多个vlan一棵树;
调整使用的生成树协议为RSTP
不是所有接口都支持RSTP:
点到点接口:快速接口即全双工接口,可以支持
共享接口(share):慢速即半双工接口,不支持
可以修改接口类型,使其支持RSTP
cisco私有特点:
优点:快速、分流(基于vlan)、兼容(支持802.1q、ISL)
缺点:树多
公有特点:
优点:快速
缺点:仅一棵树(不分流,链路利用率低)
MSTP/802.1S
多生成树/组生成树
快速生成树;
基于组,一个组一棵树,将多个vlan加入该组,如vlan1/2/3在组1,vlan4/5/6在组2,总共形成两棵生成树;
借鉴PVST,组1的优先级为32769=32768+1,组2的优先级为32770=32768+2,靠优先级区分不同的组,一旦决定运行MSTP,则网络中所有设备都必须统一运行MSTP;
此时交换机上有3棵树,0号组树、1号组树、2号组树
0号组包含的vlan
1号组包含的vlan
2号组包含的vlan
此时网络中所有其他交换机的组vlan信息必须与此交换机保持一致,否则可能出环;
指定交换机的主根
指定交换机的备份根
其余命令基本都是将原来敲vlan的部分修改为mst 组号;
多生成树协议,会基于不同vlan或不同的组实现多生成树,此时要求:
本地存在这些vlan且本地有这些vlan的活动用户或存在活动的trunk干道,否则交换机上不会出现该vlan的树;
CDP:思科设备发现协议
可以帮助远程了解网络拓扑;
默认开启且每60s为周期向所有邻居告知本地信息;
从左到右:
Device ID:显示连接的对端设备
Local intrfce:本地接口编号
Holdtime
Capability:对端是什么设备,此处R S表示对端为三层交换机(R=routing,S=switching)
Platform:对端设备型号
Port ID:对端接口编号
可以看到完整的CDP信息(可以提供的信息包括设备名称、设备的SVI管理地址、操作系统版本、VTP域名、native vlan等信息)
在设备上全局关闭CDP
关闭某个接口的CDP
一般安全起见需要关闭所有连接终端的接口的CDP
SSH
相当于加密版的telnet;
只要1.99以上的版本均称为版本2;
Linux系统默认开启SSH登录服务;
SSH使用非对称算法(RSA),使用该算法安全性极高,网银、支付宝均使用该算法;
可以被SSH的设备必定有K,表示设备支持安全加密(SSH)
开启telnet:
开启密文登录认证(开启SSH):
指定密码库名称,库名称为r1.haojian.com(r1.域名)
开启加密算法,默认生成密钥长度512
修改密钥长度为1024
使用SSH从一台设备登入另一台设备:
用用户ccna登录
指定仅允许ssh:
以上是关于简单说明思科交换生成树的算法是如何实现的?的主要内容,如果未能解决你的问题,请参考以下文章