胡 云
(无锡市广播电视大学,江苏 无锡 214011)
基于路由汇总的网络故障分析
胡 云
(无锡市广播电视大学,江苏 无锡 214011)
路由汇总能减少对外广播的路由条目,节省路由器的资源,提高网络运行的效率.但不恰当的路由汇总也会造成网络故障,根据网络的实际情况合理地配置路由汇总,可以在保证网络正常运行的前提下最大限度地减少网络资源的消耗.
网络故障;路由汇总;路由
路由汇总,也称路由汇聚,它是把一组路由汇总为一个单个的路由.它带来的直接结果是缩小网络上路由表的尺寸,这样查询路由表的速度将加快,与每一个路由跳有关的延迟会减小,路由协议的开销也将显著减少.随着网络规模的不断扩大,特别是子网数量的迅速增加,路由汇总变得越来越重要,对网络运行的效率有着重要的影响.但不恰当的路由汇总不仅不能提高网络的效率,而且会造成意想不到的网络故障,所以应根据网络的实际情况合理地配置路由汇总,这样才能在保证网络正常运行的前提下最大限度地减少网络资源的消耗.
子网掩码又叫网络掩码,其作用是指明IP地址中哪些位标识的是主机所在的子网、哪些位标识的是主机位,也就是将IP地址划分成网络地址和主机地址2个部分.子网掩码不能单独存在,它必须结合IP地址一起使用.
可变长子网掩码(Variable Length Subnet Mask,VLSM)是为了解决在一个网络系统中使用多种层次的子网化IP地址的问题,VLSM是相对于有类的IP地址来说的.IP地址根据网络ID的不同分为5种类型:A、B、C、D和E类地址.D类地址主要用于多点广播,E类地址为将来使用保留,故常用的是A、B和C类地址.A类地址的第一段是网络号(前8位),B类地址的前两段是网络号(前16位),C类的前三段是网络号(前24位).而VLSM的作用就是在有类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数.各类网络可以用来再划分的位数为:A类有24位可以借,B类有16位可以借,C类有8位可以借.可以再划分的位数就是主机号的位数,实际上不可以都借出来,因为IP地址中必须要有主机号的部分,而且主机号部分剩下1位是没有意义的,剩下1位的时候不是代表网络号就是代表广播号,所以在实际中可以借的位数是在理论数字中再减去2.这是一种产生不同大小子网的网络分配机制,一个网络可以配置不同的掩码.开发VLSM就是在每个子网上保留足够的主机数的同时,把一个网分成多个子网时有更大的灵活性.如果没有VLSM,一个子网掩码只能提供给一个网络,这样就限制了要求的子网数上的主机数.
通常,VLSM只有在路由协议支持的情况才能使用,例如开放式最短路径优先路由选择协议(Open Shortest Path First,OSPF)和高级距离矢量路由选择协议(Enhanced Interior Gateway Routing Protocol,EIGRP)是支持的.目前,RIP版本2可以支持VLSM.
路由是信息从信息源出发后选择路径穿过网络传递到目的地的行为.在这条路径上,至少会遇到一个中间节点,在这个中间节点上如何选择路径就叫路由.路由分为静态路由和动态路由,其相应的路由表称为静态路由表和动态路由表.静态路由表由网络管理员在系统安装时根据网络的配置情况预先设定,网络结构发生变化后由网络管理员手工进行修改.动态路由随网络运行情况的变化而变化,路由器根据路由协议提供的功能自动计算数据传输的最佳路径,由此得到动态路由表.
路由协议用于路由器动态寻找网络最佳路径,保证所有路由器拥有一致的路由表,并决定数据包在网络上的传输路径.根据路由算法,路由协议可分为距离向量路由协议(Distance Vector Routing Protocol,DVRP)和链路状态路由协议(Link State Routing Protocol,LSRP).距离向量路由协议基于 Bellman-Ford算法,主要有RIP、IGRP(IGRP为Cisco公司的私有协议);链路状态路由协议基于图论中非常著名的Dijkstra算法,即最短优先路径(Shortest Path First,SPF)算法,如OSPF.在距离向量路由协议中,路由器将部分或全部的路由表传递给与其相邻的路由器;而在链路状态路由协议中,路由器将链路状态信息传递给在同一区域内的所有路由器.
距离向量路由协议使用跳数或向量来确定从一个设备到另一个设备的距离,而不考虑每跳链路的速率.链路状态路由协议使用“图形理论”算法或最短路径优先算法,没有跳数的限制,也不像距离向量路由协议那样,更新时发送整个路由表,它只广播更新的或改变的网络拓扑,这使得更新信息量更小,节省了带宽和CPU利用率.链路状态路由协议有更短的收敛时间,并支持 VLSM和无类型域间选路(Classless Inter-Domain Routing,CIDR).
在大型网络环境中,在同一网内可能使用多种路由协议,为了实现多种协议的协同工作,路由器使用路由重分发将从一种路由协议学习到的路由分发进另外一种路由协议,实现路由协议的迁移.
CIDR将路由集中起来,使一个IP地址代表ISP服务的几千个IP地址,从而减轻Internet路由器的负担.CIDR对原来用于分配A、B和C类地址的有类别路由选择进程进行了重新构建.CIDR用不定长的前缀取代了原来IP地址结构对网络部分的限制(A、B、C类地址的网络部分分别被限制为8位、16位和24位),从而能更好地满足机构对地址的特殊需求.CIDR地址中包含标准的32位IP地址和有关网络前缀位数的信息.以CIDR地址222.80.18.18/25为例,其中“/25”表示其前面地址中的前25位代表网络部分,其余位代表主机部分.
CIDR建立于“超级组网”的基础上,“超级组网”是“子网划分”的派生词,可看成子网划分的逆过程.子网划分时,从IP地址主机部分借位,将其合并进网络部分;而在超级组网中,则是将网络部分的某些位合并进主机部分.这种无类别超级组网技术通过将一组较小的无类别网络汇聚为一个较大的单一路由表项,减少了Internet路由域中路由表条目的数量.
在实验中,本研究构建的网络拓扑结构如图1所示.
图1 网络拓扑结构图
1)设备IP地址配置如表1所示.
表1 设备IP地址配置表
2)具体配置要求如下:
①172.16.1.0、172.16.4.0、192.168.1.0 和192.168.3.0 网段运行 RIP 协议(版本2).
②172.16.2.0、172.16.3.0 和 192.168.2.0 网段运行OSPF协议.
网络的具体配置方案为:
1)按表1要求给相应设备接口配置IP地址.
2)路由器路由配置如下:
①R1路由器路由配置为,
3.4.1 故障现象.
本实验设置的故障现象为:PC1、PC2、PC3和PC4相互之间无法访问.
3.4.2 故障分析.
1)测试各网段PC机能否访问路由器网关,从各网段PC机ping各网段路由器网关IP地址,发现访问正常,故可排除IP地址配置错误此项故障原因.
2)检查各路由器路由表的信息,结果如图2~5所示.
图2 路由器R1的路由表信息
图3 路由器R2的路由表信息
图4 路由器R3的路由表信息
图5 路由器R4的路由表信息
由图2~5可知,用show ip route查看各路由器路由表信息,发现R1路由器没有学习到172.16.2.0和172.16.4.0网段信息;R2路由器没有学习到172.16.1.0和172.16.4.0网段信息;R3路由器没有学习到172.16.1.0和172.16.4.0网段信息;R4路由器没有学习到172.16.1.0和172.16.3.0网段信息.据此可初步判断网络故障与路由配置有关,因为网络中配置用到了RIP和OSPF 2种路由协议,所以应先检查网络故障是否是由不同的路由协议之间重发布引起的.为了排除其他因素干扰,明确故障原因,将R2和R3之间的连线断开,测试发现PC1和PC2、PC3和PC4之间相互能ping通,故路由重发布是正确的,可排除此故障原因.
3)为了进一步诊断故障,分别从 PC1、PC2和PC3向PC4执行tracert命令(见图6~8),通过查看IP数据包访问目标所采取的路径来确定故障原因.
图6 PC1向PC4执行tracert命令
图7 PC2向PC4执行tracert命令
图8 PC3向PC4执行tracert命令
由图6~8可知,从tracert命令执行结果看,PC1发往PC4的数据包在到达网关(R1)时就没有在往下一节点传递,这个和R1中没有PC4所在网段(172.16.4.0)路由信息一致.但PC2和PC3发往PC4的数据包都是先到达各自网段的网关,然后到达下一节点,然后再回送至网关,如此循环往复,始终无法到达目标网络.由于从PC2和PC3发往PC4的数据包在传递过程中故障现象相似,所以下面以PC2向PC4执行tracert命令为例进行分析.
PC2发往PC4的数据包中目标地址是172.16.4.1/24,该数据包首先送至本网段网关 172.16.2.100/24(路由器R2的F0/0端口).随后路由器R2在路由表中进行查询,没有发现可到达网络172.16.4.0/24的路由,但数据包会根据路由表中的这一条路由进行转发:
网络172.16.4.0/24 汇总后可看成网络 172.16.0.0/16,所以数据包会发往下一跳的地址192.168.2.2(路由器R3的S0/1端口).数据包进入R3后工作过程和R2类似,也是先在路由表中进行查询,没有发现可到达网络172.16.4.0/24的路由,但路由表存在如下路由:
网络172.16.4.0/24 汇总后可看成网络 172.16.0.0/16,所以数据包会发往下一跳的地址192.168.2.1(路由器R2的 S0/0端口).这样数据包就会在路由器R2和R3中循环往复的传递,永远到不了目的地.
仔细分析上述故障现象,发现R2和R3路由器没有能根据路由协议学习到全部网络的信息,或者说有些网络只得到了其汇总信息,而没有得到其详细信息.据此就可以确定网络故障的原因是由路由汇总造成的.
明确了故障的原因是路由汇总,接下来检查各路由器的路由配置,发现路由器 R1、R2、R3和 R4中在配置路由协议RIP时都没有关闭其路由自动汇总功能,所以在上述路由器RIP路由协议中配置如下命令:no auto-summary,随后再进行测试,PC1、PC2、PC3和PC4相互访问正常,故障排除.
当网络是不连续时,即同属于一个主类网络的2个子网段被其他网络分隔时要关闭自动汇总,本例 中, 如 172.16.1.0/24、 172.16.2.0/24、172.16.3.0/24 和172.16.4.0/24,当其被192.168.1.0/24、192.168.2.0/24 和 192.168.3.0/24 分隔时,不关闭自动汇总则边界都汇总成B类172.16.0.0发布出去,这样就会产生路由错误.
[1]William Ford,William Topp.数据结构 C++ 语言描述[M].北京:清华大学出版社,2003.
[2]王新风.中小企业网络设备配置与管理[M].北京:清华大学出版社,2010.
[3]石林.构建高级的路由互联网络(BARI)[M].北京:电子工业出版社,2009.
[4]郑辉.有类路由汇总的学习和探讨[J].电脑知识与技术,2011,18(6):1306 -1307,1312.
[5]曹晓丽.将中缀表达式转换为前缀表达式的三种方法[J].甘肃科技,2006,20(5):72 -73.
Analysis of Network Fault Based on Route Summarization
HU Yun
(Wuxi Radio& Television University,Wuxi 214011,China)
The route summarization can reduce the routing entries for broadcasting,and save the resources of routers,and improve the operating efficiency of the network.But the inappropriate route summarization will cause network failures,so the route summarization should be configured reasonably according to actual situation of the network,which can minimize the consumption of network resources under the premise of normal network operations.
network fault;route summarization;routing
TP391
A
1004-5422(2014)01-0044-05
2013-12-15.
胡 云(1978—),男,硕士,副教授,从事计算机算法设计与图像处理研究.