一种测试路由转发表正确性的方法和系统技术方案

技术编号:10928817 阅读:214 留言:0更新日期:2015-01-21 10:34
本发明专利技术本涉及IP路由测试技术。本发明专利技术公开了一种测试路由转发表正确性的方法,包括如下步骤:A、在待测试设备上增加或删除路由表项,当增加路由表项时向待测设备的接口发送匹配所述路由表项的数据流,删除路由表项时,不取消所述数据流的发送;B、检查数据流的转发结果是否与预期的测试结果相同,若相同则将数据流查找的路由结果信息记录到路由结果信息记录表,进入步骤C;否则说明路由表中的路由不正确,结束测试;C、比较记录的路由表项在路由表中的所有存储节点的转发结果信息,获得所述路由表项是否正确的测试结果;D、判断所有的路由表项是否测试完成,如是,则结束测试,否则返回步骤A。本发明专利技术同时公开了测试系统。本发明专利技术能够完备测试路由表。

【技术实现步骤摘要】

本专利技术本涉及IP路由测试技术,特别涉及一种测试路由转发表正确性的方法和系统
技术介绍
随着网络技术的发展,在网络扩张的同时,在网络传输上为满足网络容量扩大和网络传输速率增长的需求,网络中各个节点的转发设备中的路由表的容量也扩大了,并且为了提高转发性能,在各种转发设备中会使用不同的路由算法和数据结构来构建路由表。如有的转发设备使用TCAM(ternary content addressable memory,三态内容寻址存储器),有的使用mtrie,有的使用hash,有的使用radix树,有的使用B树等路由算法和数据结构来构建路由表,并且即使同一设备中的IPV4和IPV6也可能使用不同的路由算法和数据结构。不同的IP转发设备可以在内部有不同的路由算法,但都要求能正确转发,尤其是在网络路由动荡后,是否仍旧能正确转发是关乎转发设备稳定性的重要方面,因此路由表的正确性测试是转发设备测试的关键技术之一。而丰富多样的内部路由算法,大量的路由表项,以及在路由振荡的测试场景中,如何才能保证测试的完备性也是路由测试的难点。一种常用的路由表正确性测试方法是:通过shell命令来查看路由表项的正确性。在此方法中,要求检查在增加或删除路由操作后的路由表项是否正确,并且需要查看变化后的路由表中的相关数据结构的节点的转发信息是否正确。此方法主要应用的是路由表的遍历,不同的路由算法和数据结构,查看的信息和节点数目都会不同,但由于在转发数据时,是应用路<br>由的最长匹配查找,故此方法的缺点是遍历的正确,不一定等于转发的正确,单独只用此方法不能完备地测试路由表的正确性。另一种常用的测试方法是:在接口上发送数据流,检查数据流是否与预期相同被正确转发。在此方法中,如果想完整测试一条路由表项,需要发送此条路由表项所能覆盖的以此网段为目的的主机数量相同条数的数据流。如路由表项为: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地址、路由前缀、掩码、下一跳地址、网关地址、出接口和路由表项的内部指针。具体的,所述步骤B具体为:B1、检查数据流的转发结果与预期的测试结果是否相同,若相同则进入步骤B2,否则说明路由表错误,结束测试;B2、在路由结果信息记录表中查找是否已记录与预期的测试结果相同的路由结果信息,如是则完成该步骤,否则进入步骤B3;B3、在路由结果记录表中添加与预期的测试结果相同的路由表项的路由结果信息。具体的,所述步骤C具体为:C1、遍历记录的路由结果信息在路由表中的各个存储节点,并比较各个存储节点的路由信息与记录的路由结果是否相同,如是,则说明路由正确,结束检测;否则进入步骤C2;C2、查找增加或删除路由的父路由和子路由,查找路由结果不相同的节点的父路由和子路由,比较此二者的父路由和子路由,如果都相同,则说明此节点的路由不正确,结束检测;否则进入步骤C3;C3、以路由结果不同的节点构造目的IP地址,查找路由记录结果表,找不到表项,说明路由错误,结束检测;找到表项,比较结果记录表中的路由结果与现在节点的路由结果,如果不同,路由错误,否则路由正确。本专利技术的另一个目的是,提供一种测试路由转发表正确性的系统,包括测试仪和待测设备,其特征在于,所述测试仪,用于向待测设备的接口发送与增加的路由表项匹配的数据流;且当待测设备删除所述增加的路由表项时,不取消所述数据流的发送;所述待测设备包括路由算法单元和路由测试单元,所述路由算法单元,包括路由算法和路由表,用于提供路由表的操作接口;所述路由测试单元,包括路由检测模块、路由结果管理模块和接口模块;所述接口模块,用于完成不同路由表或路由算法的隔离和适配,为路由检测单元提供接口;所述路由检测模块,用于完成路由检测的处理逻辑,调用路由结果管理模块提供的操作接口进行逻辑判断和处理;检查数据流的转发结果是否与预期的测试结果相同,若相同则通知路由结果管理模块将数据流查找的路由结果信息记录到路由结果信息记录表,比较记录的路由表项在路由表中的所有存储节点的转发结果信息,获得所述路由转发表项是否正确的测试结果本文档来自技高网
...
一种测试路由转发表正确性的方法和系统

【技术保护点】
一种测试路由转发表正确性的方法,其特征在于,包括如下步骤:A、在待测试设备上增加或删除路由表项,当增加路由表项时向待测设备的接口发送匹配所述路由表项的数据流,删除路由表项时,不取消所述数据流的发送;B、检查数据流的转发结果是否与预期的测试结果相同,若相同则将数据流查找的路由结果信息记录到路由结果信息记录表,进入步骤C;否则说明路由表中的路由不正确,结束测试;C、比较记录的路由表项在路由表中的所有存储节点的转发结果信息,获得所述路由表项是否正确的测试结果;D、判断所有的路由表项是否测试完成,如是,则结束测试,否则返回步骤A。

【技术特征摘要】
1.一种测试路由转发表正确性的方法,其特征在于,包括如下步骤:
A、在待测试设备上增加或删除路由表项,当增加路由表项时向待测设备的接口发送匹
配所述路由表项的数据流,删除路由表项时,不取消所述数据流的发送;
B、检查数据流的转发结果是否与预期的测试结果相同,若相同则将数据流查找的路由
结果信息记录到路由结果信息记录表,进入步骤C;否则说明路由表中的路由不正确,结束
测试;
C、比较记录的路由表项在路由表中的所有存储节点的转发结果信息,获得所述路由表
项是否正确的测试结果;
D、判断所有的路由表项是否测试完成,如是,则结束测试,否则返回步骤A。
2.根据权利要求1所述的一种测试路由转发表正确性的方法,其特征在于,所述步骤A
中,增加或删除路由表项时,至少向待测设备的接口发送匹配所述路由表项的单条数据流。
3.根据权利要求1所述的一种测试路由转发表正确性的方法,其特征在于,所述路由结
果信息至少包括:目的IP地址、路由前缀、掩码、下一跳地址、网关地址、出接口和路由表
项的内部指针。
4.根据权利要求1所述的一种测试路由转发表正确性的方法,其特征在于,所述步骤B
具体为:
B1、检查数据流的转发结果与预期的测试结果是否相同,若相同则进入步骤B2,否则说
明路由表错误,结束测试;
B2、在路由结果信息记录表中查找是否已记录与预期的测试结果相同的路由结果信息,
如是则完成该步骤,否则进入步骤B3;
B3、在路由结果记录表中添加与预期的测试结果相同的路由表项的路由结果信息。
5.根据权利要求1所述的一种测试路由转发表正确性的方法,其特征在于,所述步骤C
具体为:
C1、遍历记录的路由结果信息在路由表中的各个存储节点,并比较各个存储节点的路由
信息与记录的路由结果是否相同,如是,则说明路由正确,结束检测;否则进入步骤C2;
C2、查找增加或删除路由的父路由和子路由,查找路由结果不相同的节点的父路由和子
路由,比较此二者的父路由和子路由,如果都相同,则说明此节点的路由不正确,结束检测;
否则进入步骤C3;
C3、以路由结果不同的节点构造目的IP地址,查找路由记录结果表,找不到表项,说明
路由错误,结束检测;找到表项,比较结果记录表中的路由结果与现在节点的路由结果,如
果不同,路由错误,否则路由正确。
6.一种测试路由转发表正确性的系统,包括测试仪和待测设备,其特征在于,
所述测试仪,用于向待测设备的接口发送与增加的路由表项匹配的数据...

【专利技术属性】
技术研发人员:刘宝琴
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1