[发明专利]一种测试路由转发表正确性的方法和系统有效
申请号: | 201410625947.1 | 申请日: | 2014-11-07 |
公开(公告)号: | CN104301186B | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 刘宝琴 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试 路由 转发 正确性 方法 系统 | ||
技术领域
本发明本涉及IP路由测试技术,特别涉及一种测试路由转发表正确性的方法和系统。
背景技术
随着网络技术的发展,在网络扩张的同时,在网络传输上为满足网络容量扩大和网络传输速率增长的需求,网络中各个节点的转发设备中的路由表的容量也扩大了,并且为了提高转发性能,在各种转发设备中会使用不同的路由算法和数据结构来构建路由表。如有的转发设备使用TCAM(ternary content addressable memory,三态内容寻址存储器),有的使用mtrie,有的使用hash,有的使用radix树,有的使用B树等路由算法和数据结构来构建路由表,并且即使同一设备中的IPV4和IPV6也可能使用不同的路由算法和数据结构。
不同的IP转发设备可以在内部有不同的路由算法,但都要求能正确转发,尤其是在网络路由动荡后,是否仍旧能正确转发是关乎转发设备稳定性的重要方面,因此路由表的正确性测试是转发设备测试的关键技术之一。而丰富多样的内部路由算法,大量的路由表项,以及在路由振荡的测试场景中,如何才能保证测试的完备性也是路由测试的难点。
一种常用的路由表正确性测试方法是:通过shell命令来查看路由表项的正确性。在此方法中,要求检查在增加或删除路由操作后的路由表项是否正确,并且需要查看变化后的路由表中的相关数据结构的节点的转发信息是否正确。此方法主要应用的是路由表的遍历,不同的路由算法和数据结构,查看的信息和节点数目都会不同,但由于在转发数据时,是应用路由的最长匹配查找,故此方法的缺点是遍历的正确,不一定等于转发的正确,单独只用此方法不能完备地测试路由表的正确性。
另一种常用的测试方法是:在接口上发送数据流,检查数据流是否与预期相同被正确转发。在此方法中,如果想完整测试一条路由表项,需要发送此条路由表项所能覆盖的以此网段为目的的主机数量相同条数的数据流。如路由表项为:10.0.0.0/8的路由r1,由于掩码是8,那么此路由所能匹配的主机数量是X=2(32-8)=224=16M个,如果想完整测试此条路由,需要在接口上发送16M条数据流。而目前即使在接入层的转发设备中,整个路由表的容量都能达到Y=50K条路由表项,如果用此方法,测试完整的路由表,那某个时刻的数据流数是X*Y。这是相当大的一个数,而在高端转发设备中,路由表容量会更大,此时测试需要的数据流会更大。可能会达到辅助测试设备的极限,而测试所耗时间也会导致测试周期相当长。此方法的优点是使用是最长匹配方法来验证路由表,缺点也是明显的:一是需要发送非常多的数据流,对辅助测试设备的要求较高,其二是在路由动荡过程中,该测试方法看不到路由变化的细节,可能会因为动态变化而无法验证出路由动荡过程中的正确性。
以上两种方法分别涉及到的是遍历路由算法和查找路由算法,二者是分离的,故在路由动荡时,某个中间过程导致的路由表项的变化,可能会被忽略或掩盖从而留下故障隐患。另外,由于路由表可能使用不同的路由算法和数据结构来实现,而每个路由表项中的中间节点信息根据路由算法或数据结构的不同,存储的信息也不同,在一个测试中仅做遍历或仅做查找,都还不充分,需要将一个路由项的每个节点都遍历到并且进行精确匹配,这就要求针对一个路由表项生成多个数据流进行测试。当路由表较大时,数据流较多,利用现有方法要充分测试路由表的正确性常常要耗费巨大的人力物力和时间。
发明内容
有鉴于此,本发明的目的是提供一种路由表正确性的测试方法,缩短测试周期,减少测试人力和测试资源的占用。
本发明实现上述目的的技术方案是,一种测试路由转发表正确性的方法,其特征在于,包括如下步骤:
A、在待测试设备上增加或删除路由表项,当增加路由表项时向待测设备的接口发送匹配所述路由表项的数据流,删除路由表项时,不取消所述数据流的发送;
B、检查数据流的转发结果是否与预期的测试结果相同,若相同则将数据流查找的路由结果信息记录到路由结果信息记录表,进入步骤C;否则说明路由表中的路由不正确,结束测试;
C、比较记录的路由表项在路由表中的所有存储节点的转发结果信息,获得所述路由表项是否正确的测试结果;
D、判断所有的路由表项是否测试完成,如是,则结束测试,否则返回步骤A。
进一步的,所述步骤A中,增加或删除路由表项时,至少向待测设备的接口发送匹配所述路由表项的单条数据流。
具体的,所述路由结果信息至少包括:目的IP地址、路由前缀、掩码、下一跳地址、网关地址、出接口和路由表项的内部指针。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410625947.1/2.html,转载请声明来源钻瓜专利网。