仿真路由分析测试的装置及其方法

文档序号:7617569阅读:128来源:国知局
专利名称:仿真路由分析测试的装置及其方法
技术领域
本发明涉及通信设备仿真测试技术领域,尤其涉及一种仿真路由分析测试的装置及其方法。
背景技术
在网络通信过程中,是网络交换机将各种网络通信设备连接在一起。如图1所示,通过网络交换机可以将不同类型的网络通信设备连接在一起,实现相应的网络通信功能。
网络交换机具有多个端口,端口的类型可以是不一样的,有的可以是双绞线以太网口,有的可以是连接SDH(同步数字序列)设备的光纤端口,有的可以是连接ATM(异步传输模式)设备的光纤端口,等等。根据网络交换机的功能的不同,其提供的端口数量和种类也各不相同。网络交换机的一项重要功能就是将从某个设备过来的数据包正确的转发到目的设备。
同时,为了充分利用网络通信设备间的连接线缆,使其能够承载更多的业务,可以在同一条线缆上划分出多个传输通道。划分的方法可以是按照不同的时间传输不同的业务数据,也可以按照不同的传输频率传输不同的业务,这样在一条物理线缆上划分出来的不同传输通道,我们这里称为虚通道,可以将许多虚通道分组,这样一个虚通道的标识由组号和在组内的编号唯一确定。
网络交换机的核心部件是路由转发芯片,是一个大规模数字逻辑芯片,报文的正确转发都是在路由转发芯片内完成的。从路由转发芯片的角度看,网络交换机的外部连接设备都与它连接,路由转发芯片也有许多端口,称其为物理端口,它的物理端口连线是印刷电路板上的一组导线。路由转发芯片通过接口芯片才能与网络交换机的外部连接设备连接,接口芯片是网络交换机的外部连接设备的映像,如图2所示,接口芯片可以等效表示为相应的接口设备。
路由转发芯片的有些物理端口可以同时连接多个外部设备,当然这些设备的类型是相同的,比如都是ATM设备,各设备共享同一个路由转发芯片的物理端口。这是因为印刷板上的一组导线能够以很高的速度传输数据,远比线缆的传输数据的速度高,所以低速外部设备可以分时共享路由转发芯片的一个物理端口。
路由转发芯片的关键任务之一是将某个接口设备(如某个虚通道上的业务报文)的数据包转发到其它设备(如某个虚通道上),即实现路由转发功能。为保证路由转发芯片的功能可靠,在路由转发芯片设计时,需要采用仿真验证的方式验证其转发数据包功能的可靠性。
目前,常规的进行仿真验证的方法是测试人员编写复杂的测试程序进行测试,或者在开发样机上测试。如图3所示,在现有的路由转发芯片仿真验证方法中,由激励报文产生器输出数据包给路由转发芯片,同时还将数据包的一个拷贝输出到路由转发芯片参考模型,路由转发芯片参考模型完成与路由转发芯片相似的功能。路由转发芯片和路由转发芯片参考模型均将自己输出的数据包传递到目的物理端口的数据包队列中,所述的数据包队列保存于数据包比较模块内,并由数据包比较模块负责比较二者输出的数据包,从而进行路由芯片路由转发功能的测试。
针对图3所示的方法,在具体实现过程中,通常需要每个接收路由转发芯片输出数据包的接口设备对应一个数据包比较模块,每个向路由转发芯片发送数据包的接口设备对应一个激励报文产生器。因此,上述方案具有验证技术实现难度及工作量较大,而且开发生成的验证需要的各个功能模块难以被重用等缺点。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种仿真路由分析测试的装置及其方法,从而便利针对路由分析测试开发的功能模块可以被重复到各种路由分析测试过程中,以提高实现路由分析测试的效果,降低路由分析测试的实现难度。
本发明的目的是通过以下技术方案实现的本发明提供了一种仿真路由分析测试的装置,包括激励报文产生器用于根据路由分析测试需要生成报文发送给路由转发芯片和路由转发芯片参考模型;路由转发芯片为待测试的实体,用于从激励报文产生器接收所述报文并进行路由转发处理,然后从路由转发芯片的一个端口输出给路由分析测试模块;路由转发芯片参考模型与路由转发芯片实现相同的路由转发功能,从激励报文产生器接收所述报文并进行路由转发处理,再通知路由分析测试模块所述报文的出路由端口信息,作为所述报文的预期出路由端口信息;路由分析测试模块;根据路由转发芯片发送来的报文确定该报文在路由转发芯片上的实际出路由端口信息,并将其与从路由转发芯片参考模型获取的预期出路由端口信息进行比较,获得针对所述路由转发芯片的路由分析测试结果。
所述的路由分析测试模块进一步包括报文解析模块接收路由转发芯片发送来的报文,获取报文的实际出路由端口信息,并通知路由转发分析模块;
路由转发分析模块分别与报文解析模块和路由转发芯片参考模型连接,获取所述报文的预期出路由端口信息和实际出路由端口信息,并根据所述信息确定路由分析测试结果。
所述的路由转发分析模块中包括预期出路由端口列表用于记录每一种报文的预期出路由端口信息,所述的预期出路由端口可以为一个或多个。
所述的激励报文产生器及报文解析模块与路由转发芯片的物理端口一一对应。
本发明还提供了一种仿真路由分析测试的方法,包括A、由激励报文产生器生成待发送的报文,并分别发送给路由转发芯片和路由转发芯片参考模型;B、所述路由转发芯片对所述报文进行路由转发处理,根据路由转发处理结果确定所述报文的实际出路由端口信息;所述的路由转发芯片参考模型对所述报文进行路由转发处理,并输出所述报文的预期出路由端口信息;C、根据所述报文的实际出路由端口信息和预期出路由端口信息确定针对路由转发芯片的路由分析测试结果。
本发明所述的方法中所述的步骤A还包括针对每个生成的待发送报文插入一个数据包标识;所述的步骤C还包括根据所述的数据包标识确定同一报文的实际出路由端口信息和预期出路由端口信息。
所述的步骤C进一步包括根据路由转发芯片参考模型确定的报文的预期出路由端口信息建立预期出路由端口列表,表中保存该报文的预期出路由端口信息,各个预期出路由端口列表以数据包标识区别;获取所述路由转发芯片转发处理的报文的数据包标识及实际出路由端口信息,并根据所述的数据包标识查找确定对应的预期出路由端口列表;将所述预期出路由端口列表中记录的该报文的预期出路由端口信息和该报文的实际出路由端口信息进行比较获得路由分析测试结果。
所述的预期出路由端口列表中记录的报文的预期出路由端口可以为一个或多个。
所述步骤C还包括C1、根据路由转发芯片转发处理的报文的数据包标识查找对应的预期出路由端口列表,判断是否找到,如果找到,执行步骤C2,否则,报告错误;C2、查看所述报文的实际出路由端口是否保存于预期出路由端口列表中,如果是,则设置有效的数据包输出标志,并执行步骤C3,否则报告错误;C3、检查所述的预期出路由端口列表中是否有未设置有效的数据包输出标志的预期出路由端口,并根据检查结果确定路由转发芯片是否发生丢包。
所述步骤C2还包括当查看所述报文的实际出路由端口已经保存于预期出路由端口列表中,且该端口已经设置了有效的数据包输出标志,则报告错误。
所述路由端口信息包括路由转发芯片的物理端口编号、连接于路由转发芯片上的设备编号、虚通道编号信息,并可选地包括子虚通道编号信息。
由上述本发明提供的技术方案可以看出,本发明提供了一种可以被重复应用到各种路由分析测试过程中的装置,可以应用于各种路由转发芯片的仿真测试验证。因此,本发明可以提高路由转发芯片的仿真验证效率和质量,并可以有效减少实现针对路由转发芯片的路由分析测试的工作量,提高路由转发芯片开发速度。


图1为网络交换机与网络通信设备的连接结构示意图;图2为路由转发芯片的应用环境示意图;图3为现有的路由转发芯片传真验证方案示意图;图4为本发明提供的路由转发芯片传真验证方案示意图;图5为图4中路上转发分析模块的内部结构示意图;图6和图7为两种预期路由端口的类型示意图。
具体实施例方式
本发明的核心思想是对路由转发芯片进行抽象建模,并总结出一个通用的路由分析测试过程,以便于开发的一种针对路由转发芯片的路由分析测试工具可以被重复应用于针对各种路由转发芯片的仿真测试过程。
本发明首先提供了一种仿真路由分析测试的装置,所述装置的具体实现方式如图4所示,包括激励报文产生器用于根据路由分析测试需要生成待发送的报文,之后分别发送给路由转发芯片和路由转发芯片参考模型,以便于根据所述的报文的路由转发处理情况对路由转发芯片的路由转发功能进行分析测试;本发明应用的激励报文产生器与现有技术涉及的激励报文产生器功能作用相同;路由转发芯片所述的路由转发芯片为待测试的实体,用于从激励报文产生器接收所述报文并进行路由转发处理,然后从路由转发芯片的某一个确定的端口输出给路由分析测试模块,以便于所述的路由分析测试模块可以获知路由转发芯片针对该报文的转发处理情况;所述的路由转发处理是根据报文承载的信息在路由转发芯片上确定相应的出端口;路由转发芯片参考模型与路由转发芯片实现相同的路由转发功能,用于从激励报文产生器接收所述报文并进行路由转发处理,再通知路由分析测试模块所述报文的出路由端口信息,作为所述报文的预期出路由端口信息;所述的路由转发芯片参考模型是根据待测试的路由转发芯片设计的一种路由转发处理模块,用于作为路由转发芯片路由转发处理是否准确的标准;路由分析测试模块;该模块是本发明的核心所在,该模块的作用是根据路由转发芯片发送来的报文确定该报文在路由转发芯片上的实际出路由端口信息,并将其与从路由转发芯片参考模型获取的预期出路由端口信息进行比较,获得针对所述路由转发芯片的路由分析测试结果,如果所述的实际出路由端口信息与预期出路由端口信息一致,则确定该路由转发芯片路由转发功能正常,否则,确定所述路由转发芯片的路由转发功能有错误;在具体的实现过程中,所述的路由分析测试模块进一步包括报文解析模块接收路由转发芯片发送来的报文,获取报文的实际出路由端口信息及报文的数据包ID(标识)信息,并通知路由转发分析模块,具体为将报文的数据包ID及实际出路由端口信息注册到路由转发分析模块中去;路由转发分析模块分别与报文解析模块和路由转发芯片参考模型连接,获取所述报文的预期出路由端口信息和实际出路由端口信息,并根据所述信息确定路由分析测试结果;所述的路由转发分析模块中设置有预期出路由端口列表,该表用于记录每一种报文的预期出路由端口信息,所述的预期出路由端口可以为一个或多个,将报文的数据包ID及实际出路由端口信息注册到路由转发分析模块中即为根据报文的数据包ID查找相应的预期出路由端口列表,并查找表中是否保存有该报文的实际出路由端口信息,如果有,则将表中的输出数据包标志设置为有效,这样,当报文转发处理过程结束后,便可以根据预期出路由端口列表确定所述路由转发芯片的路由转发功能是否正常;由路由转发芯片参考模型提供的数据包的出路由端口(列表)为预期出口列表,列表中的每个出路由端口也可以称为预期出路由端口。
本发明中所述的激励报文产生器及报文解析模块是与路由转发芯片的物理端口一一对应的。所述的路由转发芯片的参考模型和路由转发分析模块在测试一种路由转发芯片时各设置一个即可,用于通过报文的出路由端口识别数据包的归属。
在仿真环境下,路由转发芯片通常是使用硬件设计语言HDL描述的,所述的路由转发芯片,是指逻辑设计代码,根据该逻辑设计代码可以制造芯片,逻辑设计代码可以用来仿真芯片的功能。路由转发芯片的参考模型通常是使用高级语言描述的,比如C++。路由转发芯片的参考模型完成路由转发芯片类似的功能,它计算出输入数据包的出路由端口(对于组播,是出路由端口列表),并将其注册到路由转发分析模块中。
本发明还提供了一种仿真路由分析测试的方法,下面将结合附图对本发明所述的方法进行详细的说明。
如果对路由转发芯片进行路由分析测试,首先需要清楚数据包相对于路由转发芯片的来源和去向,为了很好地描述一个数据包基于所述路由转发芯片的来源和去向,需要知道数据包进出路由转发芯片的物理端口编号、设备编号、虚通道编号;物理端口编号从0开始递增,标识路由转发芯片的每个物理端口;设备编号,从0开始递增,标识连接到同一个物理端口的所有设备;如果一个物理端口只有一个设备,设备编号就是0;设备编号与物理端口编号组合在一起,才能确定一个物理设备;虚通道编号,为了支持虚通道分组,需要两个编号才能唯一确定一个虚通道,虚组通道编号和虚子通道编号;没有虚通道分组的情况,可以认为所有虚通道都在一个虚通道组内,此时虚组通道编号为0;至此,数据包的来源和去向就可以用物理端口编号、设备编号、虚组通道编号和虚子通道编号四个数字来进行表示,这一组4个数字称为路由端口信息;在没有使用虚通道的情况下,虚组通道编号和虚子通道编号可以设置为-1,或者其他区别于通道编号的数字标识。
所述的路由转发芯片处理报文通常有以下三种方式1、单播数据包一个数据包从某个路由端口输入,唯一的从某个路由端口输出;2、组播数据包一个数据包从某个路由端口输入,拷贝多份从不同的路由端口输出;3、为了提高数据吞吐速率,还可以设计几个物理端口“捆绑”在一起进行传输数据,一个输出报文可以从这几个“捆绑”的物理端口中的任意一个端口出来,但不能从其中的2个或多个物理端口出来形成多份拷贝。这种路由端口被称为“捆绑”路由端口。
本发明所述方法的具体实现方式具体包括以下步骤步骤1由激励报文产生器生成待发送的报文,并分别发送给路由转发芯片和路由转发芯片参考模型;针对每个生成的待发送报文还需要插入一个唯一的数据包ID,以便于识别不同的报文,并基于不同的报文分别进行路由分析测试,所述的数据包ID是一个数据编号,且该数据包标识可以被报文解析模块提取;所述的数据包ID是全局性的,即所有激励报文产生器输出的数据包在一起编号,不存在有相同编号的数据包。
步骤2所述的激励报文产生器生成相应的报文并发送给路由转发芯片和路由转发芯片参考模型后,便由所述的路由转发芯片和路由转发芯片参考模型分别对其进行路由转发处理;所述路由转发芯片对所述报文进行路由转发处理,并发送给报文解析模块;所述的路由转发芯片参考模型对所述报文进行路由转发处理,并输出所述报文的预期出路由端口信息给路由转发分析模块。
步骤3在路由转发分析模块中,根据路由转发芯片参考模型确定的报文的预期出路由端口信息建立预期出路由端口列表;即如图5所示,路由转发分析模块内部存储一个预期出口列表队列,每个预期出口列表以数据包ID为索引,开始仿真时,预期出口列表队列是空的;表中保存该报文的预期出路由端口信息,每一个报文对应一个预期出路由端口列表,所述的列表中还包括输出数据包标志信息,用于记录路由转发芯片的相应端口是否输出数据报文;所述的预期出路由端口列表中记录的报文的预期出路由端口可以为一个或多个;所述的路由端口可以是“捆绑”路由端口,也可以是单个路由端口,如图6和图7所示。
同时,路由转发分析模块还从报文解析模块获取所述路由转发芯片转发处理的报文的数据包标识及实际出路由端口信息,并根据所述的数据包标识查找确定对应的预期出路由端口列表;所述的报文解析模块用于接收路由转发芯片发来的报文,并提取报文的数据包ID,之后与所述报文的实际出路由端口信息一起发送给路由转发分析模块。
步骤4路由转发分析模块根据报文解析模块发来的路由转发芯片转发处理的报文的数据包标识查找对应的预期出路由端口列表,判断是否找到,如果找到,执行步骤5,否则,报告出现错误;步骤5查看所述报文的实际出路由端口是否保存于预期出路由端口列表中,如果是,则在所述的预期出路由端口列表中设置相应的数据包输出标志为有效,并执行步骤6,否则,报告出现错误;在该步骤中,如果查看所述报文的实际出路由端口已经保存于预期出路由端口列表中,且该端口对应的表项已经设置了有效的数据包输出标志,则报告出现错误;步骤6当报文的转发处理过程结束后,检查所述的预期出路由端口列表中是否有未设置有效的数据包输出标志的预期出路由端口,并根据检查结果确定路由转发芯片是否发生丢包,即根据路由转发分析模块中的预期出路由端口列表中记录的内容信息确定所述的路由转发芯片的路由转发功能是否正常,以获得所述路由转发芯片的路由分析测试结果;在步骤6中,如果预期出路由端口是“捆绑”路由端口,则当报文解析模块提供的报文的实际出路由端口与“捆绑”路由端口中的某个预期出路由端口一致,即认为在该“捆绑”的预期出路由端口上有数据包输出,设置对应的输出数据包标志有效;针对所述的路由转发分析模块中的预期出路由端口列表可以采用自动的方法对其进行检查,自动检查可以检查出尚未输出报文的预期出路由端口,从而确定路由转发芯片是否丢弃了数据包,即通过对预期出路由端口列表的自动检查便可以获知路由转发芯片的路由转发处理性能。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种仿真路由分析测试的装置,其特征在于,包括激励报文产生器用于根据路由分析测试需要生成报文发送给路由转发芯片和路由转发芯片参考模型;路由转发芯片为待测试的实体,用于从激励报文产生器接收所述报文并进行路由转发处理,然后从路由转发芯片的一个端口输出给路由分析测试模块;路由转发芯片参考模型与路由转发芯片实现相同的路由转发功能,从激励报文产生器接收所述报文并进行路由转发处理,再通知路由分析测试模块所述报文的出路由端口信息,作为所述报文的预期出路由端口信息;路由分析测试模块;根据路由转发芯片发送来的报文确定该报文在路由转发芯片上的实际出路由端口信息,并将其与从路由转发芯片参考模型获取的预期出路由端口信息进行比较,获得针对所述路由转发芯片的路由分析测试结果。
2.根据权利要求1所述的仿真路由分析测试的装置,其特征在于,所述的路由分析测试模块进一步包括报文解析模块接收路由转发芯片发送来的报文,获取报文的实际出路由端口信息,并通知路由转发分析模块;路由转发分析模块分别与报文解析模块和路由转发芯片参考模型连接,获取所述报文的预期出路由端口信息和实际出路由端口信息,并根据所述信息确定路由分析测试结果。
3.根据权利要求2所述的仿真路由分析测试的装置,其特征在于,所述的路由转发分析模块中包括预期出路由端口列表用于记录每一种报文的预期出路由端口信息,所述的预期出路由端口可以为一个或多个。
4.根据权利要求2所述的仿真路由分析测试的装置,其特征在于,所述的激励报文产生器及报文解析模块与路由转发芯片的物理端口一一对应。
5.一种仿真路由分析测试的方法,其特征在于,包括A、由激励报文产生器生成待发送的报文,并分别发送给路由转发芯片和路由转发芯片参考模型;B、所述路由转发芯片对所述报文进行路由转发处理,根据路由转发处理结果确定所述报文的实际出路由端口信息;所述的路由转发芯片参考模型对所述报文进行路由转发处理,并输出所述报文的预期出路由端口信息;C、根据所述报文的实际出路由端口信息和预期出路由端口信息确定针对路由转发芯片的路由分析测试结果。
6.根据权利要求5所述的仿真路由分析测试的方法,其特征在于所述的步骤A还包括针对每个生成的待发送报文插入一个数据包标识;所述的步骤C还包括根据所述的数据包标识确定同一报文的实际出路由端口信息和预期出路由端口信息。
7.根据权利要求5或6所述的仿真路由分析测试的方法,其特征在于,所述的步骤C进一步包括根据路由转发芯片参考模型确定的报文的预期出路由端口信息建立预期出路由端口列表,表中保存该报文的预期出路由端口信息,各个预期出路由端口列表以数据包标识区别;获取所述路由转发芯片转发处理的报文的数据包标识及实际出路由端口信息,并根据所述的数据包标识查找确定对应的预期出路由端口列表;将所述预期出路由端口列表中记录的该报文的预期出路由端口信息和该报文的实际出路由端口信息进行比较获得路由分析测试结果。
8.根据权利要求7所述的仿真路由分析测试的方法,其特征在于,所述的预期出路由端口列表中记录的报文的预期出路由端口可以为一个或多个。
9.根据权利要求5或6所述的仿真路由分析测试的方法,其特征在于,所述步骤C还包括C1、根据路由转发芯片转发处理的报文的数据包标识查找对应的预期出路由端口列表,判断是否找到,如果找到,执行步骤C2,否则,报告错误;C2、查看所述报文的实际出路由端口是否保存于预期出路由端口列表中,如果是,则设置有效的数据包输出标志,并执行步骤C3,否则报告错误;C3、检查所述的预期出路由端口列表中是否有未设置有效的数据包输出标志的预期出路由端口,并根据检查结果确定路由转发芯片是否发生丢包。
10.根据权利要求9所述的仿真路由分析测试的方法,其特征在于,所述步骤C2还包括当查看所述报文的实际出路由端口已经保存于预期出路由端口列表中,且该端口已经设置了有效的数据包输出标志,则报告错误。
11.根据权利要求5或6所述的仿真路由分析测试的方法,其特征在于,所述路由端口信息包括路由转发芯片的物理端口编号、连接于路由转发芯片上的设备编号、虚通道编号信息,并可选地包括子虚通道编号信息。
全文摘要
本发明涉及一种仿真路由分析测试的装置及其方法。本发明的核心思想是对路由转发芯片进行抽象建模,并总结出一个通用的路由分析测试过程,以便于开发的一种针对路由转发芯片的路由分析测试工具可以被重复应用于针对各种路由转发芯片的仿真测试过程。本发明提供一种路由分析测试装置可以被重复应用到各种路由分析测试过程中,用于对各种路由转发芯片的仿真测试验证。因此,本发明可以提高路由转发芯片的仿真验证效率和质量,并可以有效减少实现针对路由转发芯片的路由分析测试的工作量,提高路由转发芯片开发速度。
文档编号H04L12/56GK1855855SQ200510066580
公开日2006年11月1日 申请日期2005年4月28日 优先权日2005年4月28日
发明者王进成, 易敏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1