网络环路分析巢湖电信张义超提纲1、网络环路概况2、环路的分类、特点与表现3、简单环路的分析4、环路故障的排查方法归纳5、小结1、网络环路概况无论是企业还是电信运营商,环路问题一直导致网络质量下降甚至瘫痪的主要问题之一,信息不流畅给众多单位带来经济损失。所有环路的形成都是由于目的路径不明确导致混乱而造成的。网络环路造成网络动荡,引起数据包进入黑洞,造成丢包,严重的会导致网络瘫痪。在当前网络故障中,链路和设备故障导致网络通讯质量下降的占多数,通常在网络部署和整改过程中也会由于路径的设置不当导致网络环路故障。由于环路故障的普遍性,环路问题一直以来是困扰网络管理人员的重要问题。2、网络环路的分类、特点与表现环路分类网络环路主要分为二层网络环路和三层网络环路二层的环路通常都是冗余链路造成的,没有冗余链路就不存在环路。三层的环路通常指的是路由环路,是由于启用路由协议不当造成的,即使没有冗余链路,也有可能造成环路。2、网络环路的分类、特点与表现二层环路的形成原理及表现形式(1)交换机的工作原理A、MAC地址表:端口地址表记录了端口下包含主机的MAC地址。形成一个个mac地址表项,根据该表项的链路,建立通讯通道。端口地址表是交换机上电后自动建立的,保存在RAM中,并且由交换机自动维护。交换机隔离广播域的原理是根据其端口地址表和转发策略决定的。其实就是vlan,也就是虚拟局域网。2、网络环路的分类、特点与表现B、转发策略丢弃:当本端口下的主机访问已知本端口下的主机时丢弃。实际上也就是将数据包交给已知的主机。转发:当某端口下的主机访问已知某端口下的主机时转发。实际上就是把数据包转发到目标交换设备上去。扩散:当某端口下的主机访问未知端口下的主机时要扩散。这是执行的广播,寻找目标,找到之后建立通讯链路,进行正常的数据转发。而转发的路径的建立就是mac地址链表。每个操作都要记录下发包端的MAC地址,以备其它主机的访问。2、网络环路的分类、特点与表现C、Mac地址表生存期:生成期是端口地址列表中表项的寿命。每个表项在建立后开始进行倒计时,每次发送数据都要刷新记时。对于长期不发送数据主机,其MAC地址的表项在生成期结束时删除。所以端口地址表记录的总是最新活动的主机的MAC地址。2、网络环路的分类、特点与表现(2)二层环路二层环路将导致二层多播或者广播的数据包的风暴,并不在乎多播或者广播的数据包的数量多少,只要存在二层环路,那么就可以形成对整个二层网络的阻塞比如,ARP包虽然数量上很少,但是,每当交换机的ARP表超时之后,那么交换机就会对ARP条目刷新,每个ARP包都会在网络中不断环回,不能被终结,同理,热备份路由器协议主备之间和OSPF邻居之间同步都是在二层上周期性定时广播进行的,如果不能被终结,所有数据包都将在链路上进行累积而吞噬带宽。所以,只要有环路,那么网络就会被阻塞,而阻塞的快慢取决于网络上多播或者广播的数据包的数量多少。还有,网络中受影响的链路和设备不局限于环路上的链路和设备,整个二层网络都会受到影响。同时,二层网络如果过大,容易造成二层转发次优路径。网络中,任何端口的闪断将会导致,整个二层网络中设备进行基于STP协议的不断拓扑更新,消耗设备的CPU资源并且造成网络拓扑的不稳定。广播数据包的增长是以2的N次方次速率进行增长,直至数据包老化。2、网络环路的分类、特点与表现(3)二层环路的避免在网络设计阶段,应该充分考虑环路的风险、二层转发次优路径、网络拓扑的不稳定A.减小二层网络的广播域,尽量避免二层大平面的网络,在同一个LAN里减少二层交换设备的个数B.使用三层网段对二层网段进行阻隔。采用三层路由冗余来代替二层的链路冗余C.在上行链路上如果带宽足够,那么就没有必要采用负荷分担的链路冗余方式2、网络环路的分类、特点与表现D.尽量采用交换机上修改优先级来改变拓扑,而不是改变设备端口上的cost值E.采用三角形的冗余设计,而不是矩阵型的网络冗余设计F.对不参与STP运算的PortFast端口,采用BPDUGuard进行防护,设置为交换网络末梢,避免错误的将用户端口接入交换设备G.谨慎选取根桥,根桥的位置确定性,在诊断问题的时候可以对网络拓扑有非常好的辅助作用,交换网络的核心节点一般规划会该局域网内的核心交换机。2、网络环路的分类、特点与表现(4)二层环路的诊断A.链路流量:在不该有大流量的链路上发现有大流量B设备日志:有HSRP、OSPF邻居DOWN的告警,表明主备或者邻居明同步包的被阻塞C.端口状态:本应该block的端口被打开D.STP协议计数器,如TCN的个数:如果TCN个数不断频繁的增加,说明有拓扑不稳定2、网络环路的分类、特点与表现(5)二层环路的解除A.启用STP:使用生成树STP(SpanningTreeProtocol)功能,将有环的网络剪成无环网络。B.逐一将冗余链路进行手工封闭2、网络环路的分类、特点与表现三层网络环路的特点及障碍表现形式三层的环路通常指的是路由环路,是由于启用路由协议不当造成的,即使没有冗余链路,也有可能造成环路。(1)路由器的工作原理路由器的网络层的设备,负责IP数据包的路由选择和转发。路由的类型有:直连路由、静态路由、默认路由和动态路由。直连路由是与路由器直接相联网络的路由,路由器有对直连网络有转发能力。2、网络环路的分类、特点与表现静态路由是管理员人为设置的路由,网络开支小,可以有效的改善网络状况。默认路由是静态路由的一个特例,将路由表不能匹配的数据包送默认路由。一般在最后。动态路由是路由协议自动建立和管理的路由,常见动态路由协议有:RIP、IS-IS、OSPF、BGP路由算法常见的有三种类型:距离矢量D-V(Distance-Vector)算法,如:RIP、IGRP、BGP;链路状态L-S(LinkState)算法,如:OSPF、IS-IS;混合算法,如:Cisco的EIGRP。2、网络环路的分类、特点与表现路由器通过交换信息建立路由表,当网络结构变化时,路由表能自动维护。路由表跟随网络结构变化过程称为收俭。为了减少收俭过程引起的网络动荡,要考滤路由交换范围。RIP协议通过network命令指定,例如:设置10.0.0.0网络的接口参与路由信息交换router(config-router)network10.0.0.0ospf协议通过network命令指定,例如:设置10.65.1.1接口参与路由交换router(config-router)network10.65.1.10.0.0.0area0area是网络管理员在自治系统(国际机构分配)AS(AutonomousSystem)内部划分的区域。0.0.0.0是匹配码,0表示要求匹配,1表示不关心。2、网络环路的分类、特点与表现路由表(RoutingTable)是路由器中路由项的集合,是路由器进行路径选择的依据,每条路由项包括:目的网络和下一跳,还有优先级,花费等。路由优先匹配原则:(1)直接路由:直连的网络优先级最高。(2)静态路由:手动配置,优先级可设,一般高于动态路由。(3)动态路由:相同花费时,长掩码的子网优先。因为目标网络更明确,范围更小。(4)默认路由:最后有一条默认路由,找不到目标网络的数据包都成默认路由转发,避免数据包丢弃。2、网络环路的分类、特点与表现(2)三层环路在维护路由表信息的时候,如果在拓扑发生改变后,网络收敛缓慢产生了不协调或者矛盾的路有选择条目,就会发生路由环路的问题,这种条件下,路由器对无法到达的网络路由不予理睬,导致用户的数据包不停在网络上循环发送,最终造成网络资源的严重浪费。矢量路由的一个弱点就是可能产生路由环路,产生路由环路的原因有两种:一是静态路由设置的不合理,二是动态路由定时广播产生的误会。2、网络环路的分类、特点与表现静态路由设置不合理的情况:设两个路由器RA和RB,其路由表中各有一条去往相同目的网络的静态路由,但下一跳彼此指向对方,形成环路。2、网络环路的分类、特点与表现动态路由造成的情况:假设某路由器RA通过RB至网络netb,但RB到netb不可达了,这时候RB的广播路由比RA先来到,RB去netb不可达,但RA中有去往netb路由,且下一跳是RB,这时RB就会从RA那里学习该路由,将去往netb的指向RA,跳数加1。netb的路由原本是RB传给RA的,现RB却从RA学习该路由,显然是不对的,但这一现象还会继续,RA去netb网络的下一路是RB,当RB的跳数加1的时候,RA将再加1,周而复反形成环路,直至路由达到最大值数据包才丢弃。2、网络环路的分类、特点与表现(3)路由环路表现A.流量大。环路内的路由器占用链路带宽来反复收发流量。B.CPU利用率高。路由器的CPU因不断循环数据包而不堪重负。C.网络收敛慢。路由器的CPU承担了无用的数据包转发工作,从而影响到网络收敛。D.网络瘫痪。路由更新可能会丢失或无法得到及时处理。这些状况可能会导致更多的路由环路,使情况进一步恶化。E.数据包丢失。数据包可能丢失在“黑洞”中。2、网络环路的分类、特点与表现(4)三层环路的解除解决路由环路问题的方法,概括来讲,主要分为六种:A.定义最大值;距离矢量路由算法可以通过IP头中的生存时间(TTL)自纠错,但路由环路问题可能首先要求无穷计数。为了避免这个延时问题,距离矢量协议定义了一个最大值,这个数字是指最大的度量值B.水平分割水平分割是过滤掉发送给原发者的路由信息。其规则就是不向原始路由更新来的方向再次发送路由更新信息,具体路由信息单向传送。2、网络环路的分类、特点与表现C.路由毒化水平分割的改进,收到原是自己发出的路由信息时,将这条信息最大的度量值,即毒化。D.毒化逆转超越水平分割的一个特列,这样保证所有的路由器都接受到了毒化的路由信息。E.触发方式一旦发现网络变化,不等呼叫,立即发送更新信息,迅速通知相邻路由器,防止误传。F.抑制时间在收到路由变化信息后,启动抑制时间,此时间内变化项被冻结,防止被错误地覆盖。2、网络环路的分类、特点与表现(5)三层环路的解除解决路由环路问题的方法,概括来讲,主要分为六种:(1)定义最大值;距离矢量路由算法可以通过IP头中的生存时间(TTL)自纠错,但路由环路问题可能首先要求无穷计数。为了避免这个延时问题,距离矢量协议定义了一个最大值,这个数字是指最大的度量值(2)水平分割水平分割是过滤掉发送给原发者的路由信息。其规则就是不向原始路由更新来的方向再次发送路由更新信息,具体路由信息单向传送。2、网络环路的分类、特点与表现(3)路由毒化水平分割的改进,收到原是自己发出的路由信息时,将这条信息最大的度量值,即毒化。(4)毒化逆转超越水平分割的一个特列,这样保证所有的路由器都接受到了毒化的路由信息。(5)触发方式一旦发现网络变化,不等呼叫,立即发送更新信息,迅速通知相邻路由器,防止误传。(6)抑制时间在收到路由变化信息后,启动抑制时间,此时间内变化项被冻结,防止被错误地覆盖。3、简单环路故障的分析3、简单环路故障的分析SW2SW1PC1PC2Port1Port2Port1Port21122345673、简单环路故障的分析假设两台交换机均没有运行生成树,主机A发送MAC为FF-FF-FF-FF-FF-FF的广播帧①,由于以太网络是星形或总线形,广播同时发送到SW1和SW2上②,当广播帧达到SW1Port1端口时,SW1通过端口Port2将该广播帧发送给SW2的Port2口③④,SW2通过Port1端口又将该广播帧发给SW的Port1端口⑤⑥,SW1将该数据帧继续通过Port2端口继续发给SW2的Port2口⑦,这样一个环路形成;另外我们注意到,第一个广播帧也发给SW2的Port1,SW2也一样将该广播帧发给SW1,这样双向广播形成。3、简单环路故障的分析Area0Area1R1NSSAABRR2R3NSSAASBRR0R43、简单环路故障的分析在ABR上配置NSSA区域为完全NSSA区域,因此ABR会自动在NSSA区域内发布第三类缺省路由;在ASBR上配置一条