1、校园网络环路防范方法分析李金方 1,肖东 2,吴滔 1(河海大学信息中心 河海大学图书馆,南京 210098)摘要: 针对校园网络用户对网络知识的了解和技术的缺乏,造成的网络环路故障频出,从而导致严重的网络瘫痪的问题。借助于 IEEE 802.1D 标准的生成树协议( STP)提供的动态冗余切换机制,有效的防止和消除了网络环路对网络运行的影响。关键词: 网络环路,生成树协议中图分类号 TP393.05 , 文献标志码:A1. 引言随着高校学生培养形式的变化,供教师使用的办公室逐渐演变成集教学、实验、科研为一体的工作室,从而使得校园网络接入的形式发生了一些变化,原先提供的物理信息点的数量远远不能
2、满足师生入网的需求。通常的解决方法是师生自行购置一些普通交换机进行简单的互联,以满足上网的需要。由于用户对网络知识的了解和技术的缺乏,造成网络环路故障频出,对网络运行的影响较大。2. 网络环路的几种拓扑形式网络环路是当前对校园网网络运行影响较突出的几种问题之一(如 ARP 攻击,DHCP 欺骗等) 。导致形成网络环路的几种行为如下: 片面的理解端口聚合是需要交换机必需具备的功能和配置技术。校园网某些用户简单的认为在两交换机端口之间用两根以上的网线互联起来就可以增加物理带宽,从 100M 就可以达到200M 以上的带宽,如图 1 所示,导致网络环路的产生。 校园网某些用户缺乏对网络技术知识的认识
3、。为了网络通信的可靠性,使用两台交换机首先互联起来,然后再分别用网线连接到校园网对室内提供的信息点上,如图 2 所示,导致网络环路的产生。 校园网某些用户在工作室内布置网线,受室内环境的影响经常会将同一根网线插在同一个VLAN 里的 交换机两端口上,如图 3 所示,形成网络环路。校园网图 3 用户自备交换机两端口之间形成的环路图3 下层交换机两端口之间形成的环路由于上述原因,网络环路的产生总是存在的,如何防止和消除网络环路对网络运行的影响,借助IEEE 802.1D生成树协议(Spanning Tree Protocol),可以取得一个较满意的效果。3. 生成树协议工作机制3.1 生成树协议原
4、理冗余链路作为网络备份路径发挥着非常重要的作用,是网络运行可靠性的保障。而网络环路对网络运行来说又是致命的打击。STP 的有效运作对于网络是非常重要的,因为如果两节点之间存在多条路径,就会产生环路,导致信息的重复,从而使网络不通。而 IEEE 802.1D 生成树协议(STP)允许网络上存在环路时,自动断开环路连接。当检测到交换机间存在多条连接时,将只启动最主要的一条连接,而将其他连接都阻塞掉,将这些连接变为备用连接。确保同一时刻网络两节点之间只有一条路径是主动激活的,可以通讯的。当主连接出现问题时,生成树协议将自动起用备用连接接替主连接的工作,不需要任何人工干预。可见 IEEE 802.1D
5、标准的生成树协议(STP)提供了网络的动态冗余切换机制。因此使用STP,可以在网络设计中部署备份线路,并且得到下述保障: 在主线路正常工作时,备份线路是关闭的。 当主线路出现故障时,自动激活备份线路,将数据流切换到备份线路,从而保证网络设备正常运行。因此使用STP 这种网络自动重构的功能,不仅可以保证在网络结构上存在冗余路径的情况时,阻止网络环路状态的发生,还能使得网络上的用户能够最大限度地与网络保持正常的连接。生成树协议STP在交换机间进行通信时使用的是 BPDU(Bridge Protocol Data Units)。交换机通过发送 BPDU 来进行通信并构建生成树拓扑,连接到LAN 的所
6、有交换机都将接收BPDU 。交换机并不直接转发BPDU,但是接收BPDU 的交换机会计算BPDU,如果网络拓扑发生改变,就会发出一个BPDU 。利用 BPDU 进行的交换机间的通信将导致如下结果:一台交换机被选为根交换机(root switch) 为每台交换机计算到根交换机最短的距离( shortest distance) 选出指定交换机(TPESignated switch),该交换机是最靠近根交换机(root switch)的交换机,数据包将通过该交换机转发给根交换机。 选出每台交换机上的一个端口,该端口是该交换机到根交换机的最佳路径。 选出生成树内的所有端口。如果所有启动生成树协议的交换
7、机都使用缺省的设置值,那么,具有最小MAC 地址的交换机将成为根交换机(root switch)。通过提高交换机的优先级(数值越小),生成树协议可以将其强制选定为根交换机。当生成树协议使用缺省参数值时,源站点和目的站点之间的路径未必是最理想的。例如,一个到某个端口的高速率的连接可能使得根端口发生改变,因其数值优于了当前的根端口。因为生成树追求的目标就是根端口应具有最快的连接。3.2 生成树(STP)工作举例在一个环路中有三个桥(或三台交换机),如图4-1 所示。在此例中,如果不使用生成树技术,可以预见到可能发生的一些网络故障。例如,如果桥A 向桥 B 发出一个广播包,那么,桥B 将把此数据包广
8、播给桥C,而桥C 又会将此数据包广播回给桥 A。随后会一直将如此反复,广播包将会在这个环路中被循环往复地传递,从而导致严重的网络故障。为了避免网络环路的发生,可以如图4-2 所示采用STP来解决。生成树将阻断桥B 与桥C 之间的连接,以打破环路的形成。STP算法将根据计算出来的各桥和端口之间的数值,来决定断开哪一条连接。现在,如果桥A 向桥 C 发出一个广播包,那么,桥C将在端口1处将此数据包丢弃,那么此广播将结束。B r i d g e I D = 1 5P o r t 1P o r t 3P o r t 2P o r t 1P o r t 3P o r t 2 P o r t 1P o r
9、 t 3P o r t 2ABB r i d g e I D = 2 0B r i d g e I D = 3 0CL A N 1L A N 2 L A N 3P o r t c o s t = 1 9P o r t c o s t = 4P o r t c o s t = 4P o r t c o s t = 4P o r t c o s t = 1 9P o r t c o s t = 1 9 P o r t c o s t = 1 9图 4 - 1 应用 S T P 之 前根 桥 交换机P o r t 1P o r t 3P o r t 2P o r t 1P o r t 3P o r
10、t 2 P o r t 1P o r t 3P o r t 2AB指定桥B r i d g e I D = 3 0CL A N 1L A N 2 L A N 3P o r t c o s t = 1 9指定端口根端口根端口阻塞P o r t c o s t = 1 9 P o r t c o s t = 1 9图 4 - 2 应用 S T P 之 后指定端口但是,生成树的算法较复杂,所以,在交换机上尽量不要改动其出厂默认设置值,(最好在充分研究理解其之后,再去更改交换机上的生成树的设置)。生成树将自动任命根桥/根端口,并避免环路的形成。 由此可见启用STP的主要目的是在网络设计中部署备份线路,
11、从而增加网络运行的可靠性。同理在网络设计中合理部署使用STP,可以有效的防止网络环路的产生,从而大大降低环路对网络运行的致命打击。4. STP防止网络环路的技术实现实现环境在一幢学生宿舍楼构成;楼内有 520 个信息点和 1 个 3.3m3.3m3m 的网络交换设备机房,机房内安置 4 个 2m 高的标准机柜,共有 24 端口的交换机 23 台(其中一台为神州数码网络公司生产的 DCRS-5950-28T 万兆汇聚交换机,其余 22 台为神州数码生产的 DCS-3950-26C 接入层交换机)。DCS-3950-26C 接入层交换机分别通过千兆端口与 DCRS-5950-28T 万兆汇聚交换机
12、的千兆端口级联,充分保证了负载均衡的能力需求。为了有效的防止网络环路的产生,只在接入层交换机上启用 STP 协议,即使得每台接入层交换机均配置成根桥交换机,其 100M 的端口均设置成指定端口。其中任意一台 DCS-3950-26C 交换机配置的相关内容显示如下:switch#show runno service password-encryptionhostname switchenable password adminusername admin privilege 15 password 7 21232f297a57a5a743894a0e4a801fc3spanning-tree (全
13、局启动生成树协议,默认的生成树的类型为 MSTP。防止交换机自身或交换机之间的环路)loopback-detection interval-time 240 30 (全局开启环路检测功能, 设置环路检测的时间间隔。防止交换机下接的 HUB 上的环路)loopback-detection control-recovery timeout 240 (全局开启环路恢复时间)!ip dhcp snooping enable (全局启动 Dhcp snooping 功能)ip dhcp snooping binding enable (全局启动 DHCP Snooping 绑定功能)vlan 1vlan
14、 2name management!vlan 20Interface Ethernet0/0/1spanning-tree portfast (将端口设置为生成树指定端口,使其快速成为转发端口)switchport access vlan 20loopback-detection specified-vlan 20 (将端口设置为在 vlan20 中检测环路)loopback-detection control shutdown (当端口检测到环路后将端口关闭,并在 240 秒后恢复)ip dhcp snooping binding user-control (设置端口的 DHCP 绑定模式,
15、防止私自接 DHCP 服务器! 和私自固定 IP 地址)Interface Ethernet0/0/24spanning-tree portfastswitchport access vlan 20loopback-detection specified-vlan 20loopback-detection control shutdownip dhcp snooping binding user-control!Interface Ethernet0/0/25switchport mode trunkip dhcp snooping trust (设置端口为 DHCP snooping 安全端
16、口,即容许接受 DHCP 请求。也就是允许接 DHCP 服务器)interface Vlan2ip address 192.168.2.3 255.255.255.0ip default-gateway 192.168.2.1no loginend交换机经配置重新启动后,经过检测 1-24 个端口均可正常上网使用。然后再用一根网线连接到 DCS-3950-26C 交换机任意两端口上,或者用一根网线连接到普通交换机的两端口上,再用一根网线上联到 DCS-3950-26C 交换机某一端口上(如图 3 所示)构建产生网络环路的环境。登入 DCS-3950-26C 交换机查看可见形成环路的端口已发生阻
17、塞(Blocking),同时检测交换机其他端口均可正常上网。实验表明 STP 协议发挥了作用,有效的防止网络环路的发生,保障了网络的正常运行。结束语河海大学校园网络在接入层交换机未启用STP协议之前,网络环路故障频出,不仅花费大量的人力查找和排除故障,还严重的耽误了其他用户对网络的使用。而在启用STP协议之后,再未出现过环路故障导致的网络瘫痪问题。实验表明STP协议的启用,不仅保障了网络的安全和可靠的运行,还极大的减少了网络运维的工作量。作者简介:李金方,男,汉族,南京,高级工程师, 研究方向:分布式系统,计算机网络与通讯E-Mail: 电话:13675176701;地址:江苏省南京市鼓楼区西康路一号,邮编:210098 吴 滔,男,汉族,南京,工程师, 研究方向:计算机网络,计算机应用