STP技术及其应用

更新时间:2024-07-06 06:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

STP技术及其应用

STP技术及其应用

摘要

本文主要介绍了STP(Spanning Tree Protocol)生成树协议的技术原理、测试情况和应用实例,其中应用实例部分做了重点介绍。

1

1.1

STP技术原理

以太网交换机技术基础

以太网交换机对网络主机来说,交换机的数据表示和对数据的操作都是透明的。当开启交换机

的电源时,它通过分析来自所有相连网络的输入数据包的源地址来学习网络的拓扑结构。例如,交换机接收到通过线路1来自主机A的数据包,它就认为通过连接到线路1上的网络可以达到主机A,通过这样的学习过程,交换机就能建立起一张地址表,如表1。

主机地址 1111.1111.1111 2222.2222.2222 3333.3333.3333 4444.4444.4444 1 2 2 3 表1 交换机地址表

端口号 交换机采用这种地址表作为数据包传输转发的基础。当交换机从其中的一个端口接收到一个数据包时,它根据数据包的目的地址查找地址表,如果地址表中存在有目的地址和交换机中某个端口的对应关系,数据包将通过相应的端口被转发出去,否则,数据包将通过除接收端口外的所有其它端口被转发出去。

交换机成功地分隔了网段内部的数据传输,从而相应地减少了每一个网段上可见的数据传输量,这样就可以提高用户可见的网络响应时间。

1.2 网络回路

如果在任何两个LAN之间存在多条交换机路径或LAN路径,交换机就会失效,如图1所示。

第1页, 共12页

STP技术及其应用

主机 A网络2交换机A网络1交换机B主机 B

图1 存在回路的组网

在图1中,假定主机A向主机B发送一个数据包,两个交换机同时接收到这个数据包,并且都正确地知道主机A位于网络2中。但是不幸的是,在主机B同时收到两份一样的主机A的数据包后,两个交换机又一次从它们对网络1的端口上接收到数据包,因为在广播级LAN中所有的主机接收所有的消息。

在这种情况下,交换机将改变各自的地址表以指明主机A在网络1中,如果这样的话,当主机B向主机A发送数据包时,两个交换机接收到此数据包后,又会将其丢弃,因为它们的地址表中指明主机A位于网络1中,而实际上主机A位于网络2中。这样主机A将永远收不到网络1上主机发给它的数据。

除了类似于上面所描述的基本连接问题之外,广播级消息在具有循环的网络中传递可能会导致更为严重的网络问题。如图1的循环连接,假定主机A的初始数据包是一个广播级数据包,两个交换机将会无休止地转发这个数据包,这样会占用所有可能获取的网络带宽,导致网络阻塞。

具有循环连接的网络拓扑结构可能是有用的,如用户为保证两个网段不会因为一条路径失效而中断,特意在这两个网段间搭建多条路径,这样可以提高网络拓扑结构上的灵活性,从而提高了这个网络的容错能力。当然,网络中的多重路径也可能是用户无意识配置造成的。

为解决网络间存在的回路问题,业界提出了生成树协议。

1.3 生成树协议

生成树协议(STP——Spanning Tree Protocol)是一个二层的链路管理协议,它在提供路径冗余

的同时避免了网络中的回路。生成树协议的核心算法就是生成树算法。

生成树算法(STA——Spanning Tree Algorithm)最初是由DEC公司开发成功的,其主要目标是提高网络循环连接的可用性,同时消除网络循环连接带来的破坏性。DEC的生成树算法后来由IEEE

第2页, 共12页

STP技术及其应用

802进行了一定的修改,发表在IEEE 802.1d协议说明中。DEC的生成树算法与IEEE 802.1d算法并不相同,而且它们也互不兼容。

STA算法通过将导致循环连接的交换机端口(如果处于活动状态)设置成阻塞状态,这样就可以指定网络拓扑中没有回路的存在。在任何时候主数据链路失效时处于阻塞状态的交换机都可以被激活,于是为网段间互连提供了一条新的路径。

LAN 4LAN 12020102010交换机510LAN 2LAN 3LAN 5交换机1交换机320交换机4102010交换机210

图2 运行STA算法前的网络示图

图2说明了生成树算法是如何消除连接循环的过程。STA算法要求每一个交换机都有一个唯一的标识符,通常标识符由交换机的MAC地址与交换机的优先级组成(在交换机中各个项目的ID数越小,其优先级越高)。同时,每一个交换机内的每一个端口也有唯一的标识符,通常是由端口号与该端口优先级组成。最后,每一个交换机端口与一个路径值联系起来,路径值表示通过该端口将数据包传递到LAN的代价。一般与该端口相连的LAN的速度越大,则该端口的路径值越小。

生成树的计算过程为:

1) 选择根交换机(Root switch)。通常根交换机就是具有最低交换机标识符的交换机。在图2中交换机1是根交换机。

2) 决定所有除根交换机以外的交换机的根端口(Root port)。根端口就是本交换机通过它达到根交换机时,路径值最小。达到根交换机的最小路径值称为根路径值。

3) 决定指定交换机(Designated switch)和指定交换机的指定端口(Designated port)。在一个LAN中,通过某台交换机到达根交换机时总路径值最小,这台交换机就是这个LAN的指定交换机。每一个LAN中的指定交换机是唯一能够为当前LAN转发和接收数据包的交换机。一个LAN的指定端口是连接此LAN到指定交换机使用的端口。在某些情况下,两个或多个交换机可能具有相同的总路径值,在这种情况下使用交换机标识符来决定谁是指定交换机。例如图2中,LAN 5通过交换机4或者交换机5到达交换机1(根交换机)的总路径值均为40,这种情况就根

第3页, 共12页

STP技术及其应用

据交换机ID来选择,于是交换机4就是的LAN 5的指定交换机,连接LAN 5的交换机4端口就是指定端口。

图3是运行STA算法后的网络。图中实线表示活动,虚线表示阻塞,RP表示根端口,DP表示指定端口。

LAN 4LAN 1202010DPDP20RP10RP交换机510LAN 2LAN 3LAN 5DP20RP交换机32010RP交换机410DP交换机1交换机210DP

图3 运行STA算法后的网络示图

使用这样的选择过程,任意交换机与任意网段之间的关系只会是单连接的,即从某一个交换机达到某一个网段只存在唯一的路径,这样就消除了两个LAN构成的连接循环。STA算法同样能消除多个LAN构成的连接循环,同样保持了整个网络拓扑关系的连通性。对于参加生成树协议的端口,即根端口或者指定端口,被设置为转发(Forwarding)状态;对于参加生成树协议的端口,即其它端口,将被设置为阻塞(Blocking)状态。而当端口出现故障,重新配置生成树时,阻塞端口有可能从Blocking状态进入Forwarding状态,重新参加生成树。

当开启交换机的电源或者检测到网络的拓扑结构发生变化时,生成树的计算过程就会开始。生成树的计算过程需要生成树交换机之间的通讯来配合,生成树计算过程通过配置消息或称桥协议数据单元(BPDU)来完成。配置消息中包含有假定为根交换机的交换机标识符、发送交换机达到根交换机的路径值等,配置信息中同时还包含发送端的交换机标识符和发送端的端口标识符。以及包含在配置消息中的信息所经过的时间。

交换机以一定的时间间隔交换配置消息,如果某一交换机失效将引起网络拓扑结构发生改变,相邻的交换机在一定时间内就会检测到配置消息的空缺,并重新初始化生成树的计算过程。

2 STP组网测试

目前我们的网络中还没有设置STP协议,而设置STP可以带来以下好处:

第4页, 共12页

STP技术及其应用

? 避免网络中出现意外回路,造成网络中断。 ? 对网络线路进行冗余备份。

因此,为了提高网络的稳定性和可靠性,我们应该设置STP协议。在正式使用STP协议之前,我们先对其进行测试。由于我们使用的以太网交换机主要有两个厂家的(Extreme和Cisco),所以我们主要针对这两种设备进行组网测试。

2.1 单独一台交换机

单独一台交换机,本身两个端口之间出现回路连接。交换机上连接了两台测试PC,两台PC之间

通过ping对方来测试网络情况。分别使用Extreme 48si和Cisco 2950交换机做测试。如图4所示。

测试过程:

1) 交换机上不设置STP,结果是PC ping不通对方,交换机端口指示灯不停地闪烁,PC上的键盘鼠标都没有了响应

2) 交换机上设置STP,结果是PC可以ping通对方,交换机端口指示灯闪烁正常。

Extreme 48siCisco 2950PC2PC2PC1PC1

图4 组网情况一

2.2 两台交换机互连

两台交换机之间有两根网线互连。每台交换机上各连接一台测试PC,两台PC之间通过ping对方

来测试网络情况。分别使用Extreme 48si和Cisco 2950交换机做测试。如图5所示。

测试过程:

第5页, 共12页

STP技术及其应用

1) 交换机上不设置STP,结果是PC ping不通对方,交换机端口指示灯不停地闪烁,PC上的键盘鼠标都没有了响应。

2) 交换机上设置STP,结果是PC可以ping通对方,交换机端口指示灯闪烁正常。 3) 拔掉交换机之间的连接网线1,网络不中断。

4) 插回拔掉交换机之间的连接网线1,拔掉交换机之间的连接网线2,网络中断约35秒后恢复正常。

Extreme 48siCisco 2950/Extreme 48si12PC2PC1

图5 组网情况二

2.3 多台交换机互连

使用三台交换机,交换机之间通过网线两两相连。其中两台交换机上各连接一台测试PC,两台

PC之间通过ping对方来测试网络情况。测试交换机包括Extreme 48si和Cisco 2950交换机。如图6所示。

测试过程:

1) 交换机上不设置STP,结果是PC ping不通对方,交换机端口指示灯不停地闪烁,PC上的键盘鼠标都没有了响应。

2) 交换机上设置STP,结果是PC可以ping通对方,交换机端口指示灯闪烁正常。 3) 拔掉交换机之间的连接网线1,网络不中断。

4) 插回拔掉交换机之间的连接网线1,拔掉交换机之间的连接网线2,网络不中断。 5) 插回拔掉交换机之间的连接网线2,拔掉交换机之间的连接网线3,网络中断约35秒后恢复正常。

第6页, 共12页

STP技术及其应用

Extreme 48siCisco 2950Extreme 48si132PC2PC1

图6 组网情况三

测试结果表明,网络中的交换机设置STP后,确实能够避免网络中出现的意外回路,而且能对网络线路进行冗余备份,当主用线路中断后,备用线路能够迅速激活,恢复网络连接。

3

3.1

STP应用实例

各市IP专网环网

3.1.1 组网

利用STP协议,我们设计了本中心市和各个县级市之间的IP专网互连方案。如图7所示,各市机房都安装一台Cisco 2950交换机,在各关键点之间组成了一个环网。由于交换机之间距离比较远(在10~80公里之间),所以还要通过光收发器和光纤进行互连。光收发器主要提供传输信号的光电转换功能,不涉及到二层链路管理协议。我们主要来看看Cisco 2950交换机上的设置。

第7页, 共12页

STP技术及其应用

FastEthernet0/24E市2950FastEthernet0/24FastEthernet0/24FastEthernet0/22FastEthernet0/23K市2950H市2950FastEthernet0/24FastEthernet0/24FastEthernet0/23FastEthernet0/23T市2950中心2950FastEthernet0/22FastEthernet0/24光收发器图7 各市IP专网环网

X市2950

3.1.2 设置说明

1. 激活STP

我们的IP专网上是通过不同的vlan来向不同的单位提供互连业务的。例如:中心市的单位1要连接到各县市的分支机构,则使用vlan 101;中心市的单位2要连接到各县市的分支机构,则使用vlan 102。所以在设置交换机的STP时,要对所有vlan进行设置,各市Cisco 2950交换机的设置命令如下:

configure terminal

spanning-tree vlan 1-4094 # 把本交换机上所有vlan(vlan 1到vlan 4094)激活STP功能 end

show spanning-tree # 检查STP状态 show spanning-tree vlan 4 #检查vlan 4的STP状态

如果要把本交换机上所有vlan(vlan 1到vlan4094)去激活STP,命令如下: conf t

no spanning-tree vlan 1-4094

第8页, 共12页

end

STP技术及其应用

2. 设置根交换机

在激活各个交换机的STP设置后,我们检查STP状态。发现根交换机是T市2950,而不是我们期望的中心2950。为什么会这样呢?因为如果我们不特别指定,Cisco交换机优先级的缺省值都是32768,优先级相同的情况下,STP就根据MAC地址来确定根交换机,MAC地址最小的就成为根交换机。而T市2950交换机MAC地址最小,所以就成为了根交换机。要把中心2950设置为根交换机,在中心2950上设置如下命令:

configure terminal

spanning-tree vlan 1-4094 root primary end

show spanning-tree # 检查STP状态,确认修改成功。 3. 设置路径值

再来检查STP状态,我们发现K市2950的FastEthernet0/22处于阻塞(Blocking)状态。此时,从中心2950网络连接K市2950需要经过T市2950。由于T市到K市距离比较远,光纤传输信号不是很理想,所以我们希望中心2950通过H市2950连接到K市2950,也就是让T市2950的FastEthernet0/24处于阻塞(Blocking)状态。为达到此目的,要把T市2950的FastEthernet0/24的路径值(cost)设置大一些,而Cisco 2950 FastEthernet端口的缺省路径值是19,所以要在T市2950上把FastEthernet0/24的路径值设置得比19大,例如100。设置如下命令:

configure terminal interface FastEthernet0/24 spanning-tree cost 100 end

show spanning-tree interface FastEthernet0/24 # 检查STP状态,确认修改成功。

完成以上设置后,得到如图8的各市IP专网环网效果图,虚线表示阻塞的备用线路。测试结果表明,当环路上线路中断时,阻塞的备用线路在大约35秒后激活成为主用线路,符合预期目标。

第9页, 共12页

STP技术及其应用

FastEthernet0/24E市2950FastEthernet0/24FastEthernet0/24FastEthernet0/22FastEthernet0/23K市2950H市2950FastEthernet0/24FastEthernet0/24FastEthernet0/23FastEthernet0/23T市2950中心2950FastEthernet0/22FastEthernet0/24光收发器图8 各市IP专网环网效果图

X市2950

3.2 市区互联网业务环网

3.2.1 组网

市区互联网业务环网向专线用户提供了互联网(Internet)上网业务。如图9所示,市区各分前端机房都安装一台Extreme交换机,和中心机房Extreme交换机连接,组成了两个环网。为了保证设备互通的兼容性,市区互联网业务环网使用的都是Extreme交换机。我们主要来看看Extreme交换机上的设置。

第10页, 共12页

STP技术及其应用

Port 2Port 1Port 1D前端Extreme48siPort 1Port 2H前端Port 2Extreme48siPort 3Port 4Port 2Port 1Port 2Port 1G前端Extreme48si中心Extreme6808Port 2Port 1T前端Extreme48siN前端Extreme48si

图9 市区互联网业务环网

3.2.2 设置说明

Extreme交换机的STP设置和Cisco交换机比较类似,这里就不详细说明了,只列出主要设置过程。 1) 在每台Extreme交换机上把所设置的所有vlan逐个加入到STP域s0中,命令如下: # config stpd s0 add vlan

其中vlan name代表vlan名称,每次只能增加一个。可以使用其他编辑工具,如excel生成批量增加的命令再执行。

2) 激活STP功能,命令如下: # enable stpd s0

3) 检查STP状态,,命令如下: # show stpd s0

4) 检查个别端口的STP状态,命令如下(检查端口1至端口4): # show stpd s0 port 1-4

5) 去激活STP功能,命令如下: # disable stpd s0

第11页, 共12页

STP技术及其应用

4 总结

在以太网交换机网络中设置STP协议,能够避免意外回路导致的网络不稳定,在网络中断时,

又能提供冗余备份连接。该协议设置比较简单,易于维护操作,我们在实际测试和应用中,也取得了良好的效果。

备注

出于安全保密考虑,本文中涉及的IP地址和单位名称都是虚构的。

第12页, 共12页

本文来源:https://www.bwwdw.com/article/jz1.html

Top