在第二层上的交换有三种功能,即地址学习、转发/过滤决策、环路避免。为了保证冗余会在交换机之间创建多重连接,网络就很有可能出现环路,进而会引发广播风暴。这里就需要用到生成树协议来避免环路了。
生成树协议的主要任务就是防止第二层网络出现网络环路。stp首先使用生成树算法创建一个拓扑数据库,并暂时关闭冗余链路,等到最优链路出现问题是stp协议会自动开启冗余链路。stp是一种二层协议,用于维护一个无环路的交换式网络。
一、生成树中术语
根桥是指拥有最佳桥ID的网桥,桥ID由交换机的优先级和MAC地址决定,优先级越小的交换机的桥越小,桥ID最小的为最佳桥ID。在网络中一旦选举出一个根桥,这个根桥就成为该网络中最重要的点,其他网桥都需要确定一个通往根桥的单一路径,通往根桥的最佳路径上的端口称为根端口。
BPDU是运行STP的交换机之间交换的消息帧。BPDU内包含了STP所需的路径和优先级信息,STP便利用这些信息来确定根桥以及到根桥的路径,默认是每两秒发送一次。
除了根桥之外的其他网桥交换机。
端口开销用于确定最佳路径,取决于链路的带宽。
根端口是指与根桥直接相连的链路所在的端口,或者是通往根桥路径开销最低的端口。如果开销相同则选择桥ID较小的那个桥端口,若有多条链路连接到同一台设备则选择端口号最低的端口。
指定端口是通过根端口到达根桥开销最低的端口
非指定端口将被设置为阻塞端口
组苏端口是指不能进行转发帧的端口,是为了避免环路,仍会始终监听BPDU帧但是会将其丢弃。
二、生成树协议操作过程
STP的目的就是防止环路的生成,这需要找到一个中心设备,来作为生成的树形结构的根结点,这个根结点就是根桥了,根桥可以通过所有的端口完成对数据的转发。一旦根桥被选举出来,那其余的交换机就必须找出一个他自己的端口来作为根端口,每台交换机只能有一个根端口,并且任意两台交换机之间都要有且只能有一个指定端口 ,这一端口应与开销最小的链路相连,也就是带宽最大,最快的一条链路。
根据桥ID来选举根桥,桥ID最小的交换机会被选为根桥,桥ID默认的是32768,也可以手动指定使用命令:
SW(config)#spnning-tree vlan 1 priority+优先级
或者使用:
SW(config)#spnning-tree vlan 1 root primary
将该交换机的优先级在现有网络环境中最小的优先级上再减掉4096,这样该交换机就成为根桥了。
对于运行STP的网桥或交换机来说,端口会在五种不同状态间转换.
当交换机上所有端口都转换到转发或阻塞模式时,就会形成会聚。会聚完成之前不能转发数据。从阻塞到转发模式一般需要经过50秒的汇聚时间。
这个是用在无需stp的端口上的,就算不在该端口上用stp,也不会形成环路,比如连接末端交换机,或其他终端设备的接口。
三、快速生成树协议(RSTP)802.1w
RSTP属于STP的进化版本,当拓扑发生改变时它具有更快的汇聚时间,这源于它重新定义的五种端口状态:
禁止=丢弃
阻塞=丢弃
侦听=丢弃
学习=学习
转发=转发
处于Blocking状态的端口不必经历2倍的Forward Delay时延而可以直接进入转发状态。这样就大大减少了会聚时间。
链路开销的确定方法也有变化
链路速度 |
开销(改进的IEEE规范) |
开销(原IEEE规范) |
10Gbit/s |
2 |
1 |
1Gbit/s |
4 |
1 |
100Mbit/s |
19 |
10 |
10Mbit/s |
10 |
100 |
2013/4/22 星期一 21:25