《案例-路由环路浅谈、解决方案.docx》由会员分享,可在线阅读,更多相关《案例-路由环路浅谈、解决方案.docx(2页珍藏版)》请在优知文库上搜索。
1、路由环路浅谈在网络中,有时候会感觉网速突然变得很慢,通常都是由于网络中存在着一些异常流量所造成的。何谓异常流量?1、大量流量导致网络拥塞。2、发送大量数据包导致网络设备处理性能下降。3、异常报文导致网络拓扑或链接状态改变。在其中包含了以下几个局部:1、病毒:包含了蠕虫,木马,ARP攻击的病毒等会传播并导致网络瘫痪。2、网络攻击:DOS攻击行为,ARP攻击行为等可能造成网络瘫痪的攻击。3、错误的网络设置:路由环路可能造成设备处理性能的降低,严重时可能导致网络瘫痪。4、不正当的应用:P2P下载,在线观看视频等可能造成设备处理性能降低,网络拥塞。今天,主要给大家讲述一下路由环路的产生,如何用科来网络
2、分析软件找到路由环路,以及一些解决的方法。首先来讲一下路由环路的产生。在网络配置中,最容易发生路由环路产生的原因就是静态路由,过多的静态路由的配置,导致网络在拓扑上产生混乱,在不经意间,就会产生路由环路。其次,一些动态路由协议,例如距离向量型协议:RIP等也有可能产生路由环路。1、静态路由产生环路。在路由器的配置上,有时候静态路由确实是比拟方便的配置方法,只需要一条命令,就可以实现路由器之间的通信。而不想动态路由协议,需要对路由器配置多条命令来实现。但是,在实现路由冗余的时候,很容易就产生路由环路。比方在Rl和R2之间连上两条网线做冗余,一条从Rl指向R2,一条从R2指向Rl,这时候数据就会不
3、停在Rl与R2之间传输,占用了设备的资源,导致设备性能变差。2、链路状态型路由协议产生环路。链路状态型路由协议通过向所有接口周期性的播送路由更新来跟踪整个网络的变化,这些播送包括了完整的路由表,但却给处理器和带宽增加了负担。假设收敛过慢会产生路由环路。如下图:路由器C到是直连的,跳数为0。路由器B到经过路由器C,跳数为1。路由器A到经过路由器B和路由器C,跳数为2。在这时候,网络出现了问题,变成了不可达。这时候,C更新路由表,显示到的线路Downo由于收敛慢,B的路由表尚未更新,到达的跳数仍然为1。这时候,C会认为到达的最正确路径为经过B的路径,所以C的路由表错误地更新为到达需要从SO口出去,
4、到达B之后,再由B来转发。此时,C的路由表中到网段的跳数变成了1(C到B)+1(B三J)=2o而B根据先前到达需要从Sl口出去到达C之后,由C转发的路由表来进行更新,由于C的路由表产生错误,到达由So出去,跳数为2,所以B的路由表中,到达的路由也出现了错误的更新,跳数变成了2(C到)+1(B到C)=3oA根据B中路由表的变化,也进行了更新,到达的跳数变为了4。如此循环之后,一条路由环路便在B与C之间产生,两者到的跳数在不断升高。那么,在产生了路由环路的时候,如何去检测在哪个网段上出了问题呢?我们可以利用到科来网络分析软件来进行分析。理论根底:TTL:(TimeToLive)生存时间TTL是IP
5、协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。定义为:指定数据包被路由器丢弃之前允许通过的网段数量。每经过一个网段,TTL的值都会当TTL=O时,该包就会被丢弃。在不同的操作系统中,TTL的值也不一样,举例来说:UNIX及类UNIX操作系统ICMP回显应答的TTL字段值为255微软WindOWSNT/2K/XP操作系统ICMP回显应答的TTL字段值为128微软Windows95操作系统ICMP回显应答的TTL字段值为32TTL值的注册表位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters其
6、中有个DefauItTTLKDWORD,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255在了解了TTL之后,我们运用科来网络分析软件就可以对路由环路产生的地点进行定位。在诊断中,我们可以看到有一种诊断信息即为TTL太小。如下图,这台设备到网段之间,就产生了路由环路,我们可以定位到相关设备上进行问题的排查。在发现了路由环路并定位好之后,如何来解决呢?1、对于静态路由来说,通常还是采用动态路由协议比拟好,当网络拓扑有所改动的时候,也不用一条一条去修改命令,动态路由协议会根据拓扑的改变做出相应的调整。2、对于距离向量型路由协议来说,通常解决的方法有以下几种。(1)最大跳数将最大跳数
7、限制在一定的范围内,可以在一定程度上解决路由环路的问题,但是在环路出现的时候,依然没有方法有效的解除环路。(2)水平分割路由器从某个接口接收到的更新信息不允许再从这个接口发回去。可以在一定的程度上防止路由环路的发生,但是在有些拓扑的配置上,却会产生一定的障碍。(3)路由毒化与毒性反转当C到这条链路DoWn的时候,C就将该信息更新给邻居并将其跳数变成无穷大,当B收到该更新信息的时候,也将路由表中到大的跳数更新为无穷大,并更新给A,将此条路由完全标记为不可达。如此便称为路由毒化。所谓毒性反转,就是在B从C这里收到到达的跳数为无穷大的时候,也会将这条信息更新给C。毒性反转的优先级在水平分割之上。路由
8、毒化与毒性反转可以很好的防止解决路由环路。(4)抑制计时器当B从C接收到不能访问的更新后,就将该路由标记为不可访问,并启动一个抑制计时器,如果再次收到从C发送来的更新信息,包含一个比原来路径具有更低跳数的路由,就标记为可以访问,并取消抑制计时器。如果在抑制计时器超时之前从A或者C收到的更新信息包含的跳数比原来更高,更新将被忽略,这样可以有更多的时间让更新信息传遍整个网络。(5)触发更新当拓扑发生变化的时候,立刻对路由表进行更新并告诉给邻居。但是假设在某些网段中,更新信息丧失损坏等,会导致一些路由器没方法及时收到更新信息。所以将抑制计时器和触发更新组合起来使用,可以到达更好的效果。、在抑制时间内,触发更新有足够的时间传遍整个网络,并且在这段时间内,即使有路由器进行错误的更新,也会被忽略。总结,在当今的网络环境中,使用RlP协议的路由器少之又少,几乎见不到由RlP协议产生的路由环路,通常来说,都是在使用静态路由之后产生的环路。现在,OSPF,BGP协议等,都能有效防止环路,所以希望广阔的网管同志们还是尽量在初期配置的时候多花一些力气来配置动态路由协议,不要偷懒只打几条静态路由,这样可以在后期防止很多不必要的麻烦。如果出现了环路的问题,可以利用科来网络分析软件来进行分析,查找诊断中TTL值过小的设备,然后对该设备的配置进行更新。