网络环路网络环路也分为第二层环路和第三层环路,所有环路的形成都是由于目的路径不明确导致混乱而造成的,例如第二层,一个广播信息经过两个交换机的时候会不断恶性循环的产生广播,造成环路,而第三层环路则是原路由意外不能工作,造成路由通告错误,形成一个恶性循环例子:网络192.168.0.0/24--路由1--路由2正常192.168.0.0/24网络被路由1通告到路由2,当网络出问题不能达到的时候,路由1把192.168.0.0/24路由信息删除,但是路由2通告给了路由1,让路由1误以为路由2的那边能达到192.168.0.0/24网络,结果造成恶性循环(例子建立在RIP,IGRP等路由协议下,只有这两个协议会造成第三层环路)网络的二层环路通常在发生办公区域移动或者网络节点比较密集的环境中,因为网络跳线的两端的水晶头为一致的,并没有区分是接Hub/switch或者PC的,导致接入的随意性比较大,从而给使用者造成可以随意将网络跳线同时接入到端口中,一旦发生这种问题就形成了环路,网络环路的危害非常大,重则导致一个公司的所有网络中断,轻则至少一片区域的网络中心,给公司生产和运作带来巨大的损失.传统的二层预防技术主要有STP(Spanningtree)来预防,STP在不断的修改和更新中,产生了诸如STP/RSTP/MSTP等多个版本,大家可根据各自的组网规划来选择应用,但是STP的配置复杂度,以及协议本身的开销通常都是网络管理人员比较头痛的事情。虽然二层的物理环路在普通的办公室或网络节点并不密集的场景中并不多见,但是在诸如IT制造业或者学校实验室等网络节点密集型的企业,因为人员的流动性,网络节点的密集性,跳线两头RJ45的一致性,所以二层网络环路并不少见,STP在这种环境下多数不生效,无法很好的启用,因为STP与生产的控制程序或者实现程序存在有一定的问题,所以导致二层的网络环路在这类企业中成了一个隐患,定时炸弹一样,指不好什么时候爆发。网络环路查找实例1在嘉定信息中心发现10.112.2.0/24段通过三段的网关10.112.3.254也能上网。网络结构如图:为了排除故障在华为3000交换机上接了一台笔记本将笔记本的地址配成10.112.2..0/24段的地址,网关为10.112.2.254.在笔记本上ping10.112.2.254。通过displaymacinterfacegi11/1/14显示该接口的转发表0016-3619-9ccd201LearnedGigabitEthernet11/1/14这说明笔记本的数据是通过gi11/1/14这个接口上来的。将笔记本的地址配成10.112.3.0/24段,网关为10.112.3.254.ping10.112.2.254.通过displaymacinterfacegi11/1/14没有发现笔记本的MAC地址,通过displaymacinterfacegi11/1/15发现了笔记本的mac地址。如下:0016-3619-9ccd202LearnedGigabitEthernet11/1/15这说明在华为3000和思科1900之间有一条路径造成了回路。如图;为了找到这个回路用如下办法:在笔记本的地址和网关为三段的情况下,将gi11/1/14接口拔掉。Ping10.112.2.254能够持续ping通强迫数据从gi11/1/15到达gi11/1/14后,用排除法将思科1900的网线依次拔掉判断是哪个接口造成回路。将这个回路排除后网络恢复正常。网络环路查找实例2我校的校园网络在2003进行了布线,办公室的布线成了一个难题,由于工作的变动,各办公室的教师每学期都会发生变化,多则六七人,少则一两人,每间办公室究竟要布多少网线?如按最多人设计,则造成了极大的浪费,布少了又满足不了需求,于是便采取了每间办公室只布一条网线,外加8口交换机的解决方案,这样既降低了成本,又满足了需求。但隐患也由此产生,全校分布了近50台从5口到24口不同类型、不同品牌的交换机,加之教师工作时均使用笔记本电脑,晚上要带回家使用,有时又要带到班级授课,这样网线就会被拔来插去,一不小心就容易产生环路。有一天,突然不能上网,上级文件不能接收,老师文件不能上传,各部门要求上网的电话不断。由于刚接触网络,网络知识匮乏,经验不足,花了两天多时间,采取断网的方式进行排查,终于找到了断网的原因来自环路。环路的次数多了,经验也丰富了,一般根据交换机的闪烁方式就可以判断出环路的大体位置,但这还是一种经验上做法,在接触了科来软件后,在论坛上看到关于查找环路的文章:图二发生环路时端点视图图三环路实验网络拓扑图图四环路端点视图从图四中,我们发现,数据流量最大的是192.168.54.85,这是一台教师用机,而与环路交换机相连的192.168.54.200流量却很少,这说明发生环路时,大量的数据包被转发,使网络流量大增,但流量大的机器并不一定是与发生环路相连的机器。图五数据包视图我又对数据包进行解码如图五所示,发现有大量IP标志重复的广播包存在。我们知道在IP包头包含了IPIdentification信息(缩写IPID),一般每台主机在主动发送一个数据包时,会对IPID这个值进行递增。例如第一个包IPID为10000,第二个发送包就可能是10001,第三是10002,依次类推,不同的主动发送的报文的IPID应当是不同的。但是在解码中IPID是在大量简单重复。这些大量的广播报文,通常不应当是某台主机主动引起,而是被交换机反复转发造成。再进一步分析这些IPID相同的广播包的来源,发现均是来自192.168.54.85。而其它机器IPID则正常(图六),甚至与环路交换机相连的192.168.54.200通讯也正常(图七)。图六通讯量第二大的数据包视图图七与环路交换机相连的测试机数据包视图无论是在实际环路还是在实验中,我们可以发现都有一些机器没有被扫描到,这可能是环路产生的广播风暴所致。通过以上分析,我们可以得出这样的结论:①当网络中有大量IPID相同的广播包,可以判定网络发生了环路。②并不是所有的机器都发IPID重复的数据包,环路交换机与发IPID重复数据包的机器并不存在对应关系,也就是说环路的位置并不能确定。既然我们不能分析出环路所在,如何才能找出环路位置,从而排除它?我们可以有采取折半的分析方法,首先让一半的客户端在线,另一半与网络断开,进行抓包,如有相同的IPID广播包,说明环路在这一半中,如没有,说明环路发生在另一半,依此类推,逐渐缩小范围,最终查出环路交换机为止。另外一种有效的方法还要依靠经验,一般来说,当网络中有环路存在,大量的数据包被转发,交换机指示灯闪烁的与正常时有明显的不同,可以用狂闪来形容,有经验的网络管理者,可以根据交换机指示灯闪烁的方式层层缩小范围,直到找出环路的交换机。最有效的方法是开启生成树协议(SpanningTree)。如果不启用STP(SpanningTreeProtocol),当发生环路时,交换机无法自我侦测,其结果是把广播包反复转发。如果启用STP,各个交换机会发送优先度很高的BPDU数据封包,进行线路检测,当发现发送的BPDU包被不恰当的转发回来时候,交换机可以相互协商,关闭某一条环路路径。但是如果启用镜像端口,则STP将关闭。这是一对矛盾,使用科来分析系统就需要对端口进行镜像,而镜像了又不能启用STP,究竟是要镜像还是要STP,这就由您决定了。还有一种方法打开端口的环回测试或广播风暴抑制功能(是否有这项功能可参阅交换机的说明),虽然不能像STP那样做到百毒不侵,但也可以把环路限定在小范围内。当测试到有环路或是广播风暴,交换机就会将端口关闭,这样环路就可以限定在某个端口内,而不至于影响到整个网络STP生成树协议STP(SpanningTreeProtocol)是生成树协议的英文缩写。该协议可应用于环路网络,通过一定的算法实现路径冗余,同时将环路网络修剪成无环路的树型网络,从而避免报文在环路网络中的增生和无限循环。生成树协议适合所有厂商的网络设备,在配置上和体现功能强度上有所差别,但是在原理和应用效果是一致的。技术原理STP的基本原理是,通过在交换机之间传递一种特殊的协议报文(在IEEE802.1D中这种协议报文被称为“配置消息”)来确定网络的拓扑结构。配置消息中包含了足够的信息来保证交换机完成生成树计算。SpanningTreeProtocol(STP)是一种二层链路协议,又称生成树协议,该协议在IEEE802.1D文档中定义。该协议的原理是按照树的结构来构造网络拓扑,消除网络中的环路,避免由于环路的存在而造成广播风暴问题。该协议使用BPDU报文传递生成树信息。SpanningTreeProtocol(STP)的基本思想就是按照树的结构构造网络的拓扑结构,树的根是一个称为根桥的桥设备,根据设置不同,不同的交换机会被选为根桥,但任意时刻只能有一个根桥。由根桥开始,逐级形成一棵树,根桥定时发送配置报文,非根桥接收配置报文,并重新计算配置信息并转发,如果某台交换机能够从两个以上的端口接收到配置报文,则说明从该交换机到根有不止一条路径,便构成了循环回路,此时交换机根据端口的配置选出一个端口并把其他的端口阻塞,消除循环。当某个端口长时间不能接收到配置报文的时候,交换机认为端口的配置超时,网络拓扑可能已经改变,此时重新计算网络拓扑,重新生成一棵树。功能介绍生成树协议最主要的应用是为了避免局域网中的单点故障、网络环回,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合IEEE802.1d标准的生成树协议STP及IEEE802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。但是,由于协议机制本身的局限,STP保护速度慢(即使是1s的收敛速度也无法满足电信级的要求),如果在城域网内部运用STP技术,用户网络的动荡会引起运营商网络的动荡。目前在MSTP组成环网中,由于SDH保护倒换时间比STP协议收敛时间快的多,系统采用依然是SDHMS-SPRING或SNCP,一般倒换时间在50ms以内。但测试时部分以太网业务的倒换时间为0或小于几个毫秒,原因是内部具有较大缓存。SDH保护倒换动作对MAC层是不可见的。这两个层次的保护可以协调工作,设置一定的“拖延时间”(hold-off),一般不会出现多次倒换问题。VLAN对生成树的影响L3,L4交换已经非常成熟。Internet中也越来越广泛地应用了交换技术,全交换网络已经非常普遍。在这些网络中,VLAN的使用是必不可少的。VLAN是一个根据作用、计划组、应用等进行逻辑划分的交换式网络。与用户的物理位置没有关系。举个例子来说,几个终端可能被组成一个部分,可能包括工程师或财务人员。当终端的实际物理位置比较相近,可以组成一个局域网(LAN)。如果他们在不同的建筑物中,就可以通过VLAN将他们聚合在一起。同一个VLAN中的端口可以接受VLAN中的广播包。但别的VLAN中的端口却接受不到。1、网络容错能力不强;2、报文在环路网络中容易增生和无限循环;3、不利在VLAN中实现流量负载均衡生成树协议运行生成树算法(STA).生成树算法很复杂,但是其过程可以归纳为以下3个步骤:(1)选择根网桥(2)选择根端口(3)选择指定端口关于选择根网桥:选择根网桥的依据是网桥ID,网桥ID由网桥优先级和网桥MAC地址组成。网桥的默认优先级是32768.使用showmac-address-table时,显示在最前面的MAC地址就是计算时所使用的MAC地址。网桥ID值小的为根网桥,当优先级相同时,MAC地址小的为根网桥。关于选择根端口:每个非根交换机选择一个根端口。选择顺序为:到根网桥最低的根路径成本→直连的(对端的)网桥ID最小→对端的端口ID最小。端口ID由端口优先级与端口编号组成。默认的端口优先级为128。关于选择指定端口:每个网段上选择一个指定