CN101626383A - 一种航空电信网的路由测试方法及路由器虚拟机 - Google Patents

一种航空电信网的路由测试方法及路由器虚拟机 Download PDF

Info

Publication number
CN101626383A
CN101626383A CN200910150127A CN200910150127A CN101626383A CN 101626383 A CN101626383 A CN 101626383A CN 200910150127 A CN200910150127 A CN 200910150127A CN 200910150127 A CN200910150127 A CN 200910150127A CN 101626383 A CN101626383 A CN 101626383A
Authority
CN
China
Prior art keywords
virtual machine
router
module
message
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910150127A
Other languages
English (en)
Other versions
CN101626383B (zh
Inventor
高占春
蒋砚军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN 200910150127 priority Critical patent/CN101626383B/zh
Publication of CN101626383A publication Critical patent/CN101626383A/zh
Application granted granted Critical
Publication of CN101626383B publication Critical patent/CN101626383B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种航空电信网的路由测试方法及路由器虚拟机,路由器虚拟机包括虚拟机平台模块、与虚拟机平台模块相连的虚拟机协议模块和网络拓扑结构存储模块。虚拟机协议模块用于向所述虚拟机平台模块提供路由协议;网络拓扑结构存储模块,用于存储网络拓扑结构信息和虚拟机配置描述信息;虚拟机平台模块,用于在虚拟机初始化时,根据所述网络拓扑结构存储模块中存储的网络拓扑结构信息和虚拟机配置描述信息,为所述虚拟机设置在网络中的位置和配置参数;还用于从所述虚拟机协议模块获取路由协议并进行测试。本发明便于建立网络拓扑结构模型,测试者可方便构建测试所需的网络拓扑模型,并在该模型中设置信道误码率,达到模拟真实情景的作用。

Description

一种航空电信网的路由测试方法及路由器虚拟机
技术领域
本发明涉及航空电信网的路由技术,尤其涉及一种航空电信网路由器虚拟机及路由测试方法。
背景技术
航空电信网(ATN:Aeronautical Telecommunications network)是全球范围内用于航空的数字通信网络和协议,将航空界的机载计算机系统与地面计算机系统连接起来,能支持多国和多组织的运行环境,使之随时互通信息。
ATN按照国际标准化组织(International Organization forStandardization,ISO)的开放系统互连(OSI)7层模型来构造。该网络采用的网络基础协议是有别于因特网的网络协议(Internet Protocol,简称IP)的适应航空电信网业务需求的无连接网络协议(ConnectionLess NetworkProtocol,CLNP)。主要由3个子网构成:机载电子设备通信子网(数据链管理系统);空地通信子网;地面通信子网(分组交换、局域网)。各类子网之间利用路由器连接,用户经路由器通过网关进入ATN,再按照网间协议和标准进行信息交换。地面路由器确保将信息传送到要求的终端和飞机,并保存每架飞机的位置信息;跟踪系统配合地面网络,分析信道的可用性,向飞机发送信息数据。飞机路由器确保飞机信息通过要求的信道发送。
ATN主要协议包括:路由器和路由器之间的通信协议(IS-IS)、路由器和主机之间的通信协议(ES-IS)、域间路由选择协议(Inter-Domain RoutingProtocol,简称IDRP)、CLNP协议。
在现有技术中,为了完成对IDRP和IS-IS等动态路由协议的正确性测试,需要多台路由器设备搭建一个复杂的物理网络,测试该网络在线路断开后系统能否自动地根据拓扑结构的变化选择迂回路由。
这种通过物理设备来模拟真实场景的测试的主要不足和缺点是:
(1)需要较多的硬件设备;
(2)程序修改后需下载到多台路由器中进行试验,程序的下载和配置,都需要较大的工作量;
(3)测试新的拓扑结构,需要较大的工作量调整硬件设备和通信链路;
(4)在实验室环境下构造有误码的信道,测试协议工作的健壮性,比较复杂;
(5)对于整个系统的使用培训工作和协议工作过程的所交换的协议数据分析,不够方便。
可见,这种物理测试需要很多路由器设备及操作人员,并且难以管理。
路由器虚拟机用于模拟真实的路由器,使用者可以通过一台计算机来模拟多台路由器,即用软件来模拟现实环境中的硬件设备。通过这种模拟程序可以使使用者更加熟悉路由器设备。目前市场上的路由器虚拟机一方面专用于以IP为核心的因特网协议,另一方面其目的主要是用来运行用于学习或培训的软件,帮助路由器设备的使用者了解真实的路由器,并对路由器有更高层次的认识,并不开放用于对动态路由协议的开发和正确性测试。
发明内容
本发明要解决的技术问题是提供一种航空电信网路由器虚拟机,可以模拟多台路由器的功能,对航空电信网专用的动态路由协议进行正确性测试。
为了解决上述问题,本发明提供了一种航空电信网的路由器虚拟机,包括虚拟机平台模块、与所述虚拟机平台模块相连的虚拟机协议模块和网络拓扑结构存储模块,所述虚拟机协议模块,用于向所述虚拟机平台模块提供路由协议;所述网络拓扑结构存储模块,用于存储网络拓扑结构信息和虚拟机配置描述信息;所述虚拟机平台模块,用于在虚拟机初始化时,根据所述网络拓扑结构存储模块中存储的网络拓扑结构信息和虚拟机配置描述信息,为所述虚拟机设置在网络中的位置和配置参数;还用于从所述虚拟机协议模块获取路由协议并进行测试。
进一步地,上述路由器虚拟机还具有以下特点:
所述网络拓扑结构存储模块包括网络拓扑描述存储单元,用于存储网络拓扑结构信息,包括以下参数中的一种或多种:路由器IP地址、路由器虚拟机号、路由器接口连接状态、以及路由器信道误码率、激活接口;所述网络拓扑结构存储模块包括虚拟机配置描述存储单元,用于存储所述虚拟机配置描述信息,包括以下参数中的一种或多种:路由器虚拟机的CLNP地址、IDRP工作参数,虚拟机进程的系统配置参数、虚拟路由节点的邻居路由配置,路由器虚拟机的接口配置及该接口的协议配置参数。
进一步地,上述路由器虚拟机还具有以下特点:
所述虚拟机平台模块包括相连接的虚拟机进程间通信机制管理单元、虚拟机进程管理单元;所述虚拟机进程管理单元,用于完成虚拟机进程初始化;还用于维护一个或多个路由器虚拟机进程,每个虚拟机进程用于模拟路由器的功能,包括:消息队列、系统管理、系统配置、路由器的接口、路由器协议处理、管理操作界面;所述虚拟机进程间通信机制管理单元,用于维护使得所有的虚拟机进程保持通信的公共信道,进行处理路由器虚拟机进程间消息的交互和处理。
进一步地,上述路由器虚拟机还具有以下特点:
所述虚拟机协议模块,还用于向所述虚拟机平台模块提供域间路由选择协议IDRP协议和路由器与路由器间协议ISIS;所述虚拟机平台模块维护的每个路由器虚拟机进程的消息队列中包括IDRP消息队列、ISIS消息队列和虚拟机控制消息队列;ISIS协议消息队列,用于存放ISIS协议的控制命令或消息;IDRP协议消息队列,用于针存放IDRP协议的控制命令或消息;虚拟机控制消息队列,用于存放针对于虚拟机进程控制命令或消息。
进一步地,上述路由器虚拟机还具有以下特点:
所述虚拟机平台模块维护的每个路由器虚拟机进程中包括一虚拟机进程控制台,用于提供键盘命令,提供一组虚拟机控制命令以调用虚拟机控制模块的功能向各虚拟机发布信道断开和接通的指令;显示虚拟机的配置信息,可修改配置信息;显示当前路由表信息,检查动态路由协议的运行结果;测试与其他虚拟机之间的可达性以验证动态路由协议工作的正确性;显示路由协议模块的一些内部数据状态;调试信息的输出。
进一步地,上述路由器虚拟机还具有以下特点:
所述路由器虚拟机还包括与所述虚拟机平台模块相连的虚拟机控制模块;所述虚拟机控制模块,用于在所述路由器虚拟机是系统中的虚拟机主机时,通过虚拟主机控制将一个或多个路由器接口打开或关闭,并且通过命令查找各虚拟路由器的接口状态;还用于从所述虚拟机平台模块接收到命令后,判断是虚拟主机发出的群命令后,将此命令消息填加群标志并返回至虚拟机平台模块。
进一步地,上述路由器虚拟机还具有以下特点:
所述虚拟机进程管理单元,还用于调用虚拟机控制模块将用户命令放入虚拟机控制消息队列等待处理,并将该命令通过虚拟机进程间通信机制管理单元发送到相应的目标虚拟机进程中的消息队列中等待处理。
进一步地,上述路由器虚拟机还具有以下特点:
所述虚拟机进程管理单元,用于设定定时机制,规定所述路由协议的操作时序;所述虚拟机平台模块,还用于在每一次消息循环之中,通过上一次时间的消费同本次时间消费进行比对,若两次所用时间大于系统设定时间间隔,则将所有的虚拟机进程的时钟进行同步。
为了解决上述技术问题,本发明还提供了一种航空电信网的路由测试方法,包括:路由器虚拟机进行初始化时,根据存储的网络拓扑结构信息和虚拟机配置描述信息,为所述虚拟机设置在网络中的位置和配置参数;获取路由协议并进行测试,维护一个或多个路由器虚拟机进程,每个虚拟机进程用于模拟路由器的功能,维护使得所有的虚拟机进程保持通信的公共信道,进行处理路由器虚拟机进程间消息的交互和处理。
进一步地,上述路由测试方法还具有以下特点:
所述路由协议为域间路由选择协议IDRP协议和路由器与路由器间协议ISIS,每个路由器虚拟机进程的消息队列中包括IDRP消息队列、ISIS消息队列和虚拟机控制消息队列;ISIS协议消息队列,用于存放ISIS协议的控制命令或消息;IDRP协议消息队列,用于针存放IDRP协议的控制命令或消息;虚拟机控制消息队列,用于存放针对于虚拟机进程控制命令或消息。
本发明的虚拟机很好的模拟了路由器的所有功能,可在一台计算机上模拟多台的路由器,也可以在多台计算机上共同模拟更大规模的拓扑结构。在虚拟机测试通过之后再将通过的协议放到真正的硬件路由器中进行测试,从而减少很多人力和物力开销,并且大大减少了开发周期。本发明不同于以往虚拟路由器,主要用于进行路由协议的测试。可以模拟相当大的网络环境,例如多个不同的广域网之间的路由模拟。
本发明为了便于建立网络拓扑结构模型,专门设计了拓扑环境描述语言,该语言语句简短、精练、易于学习。通过该语言,测试者可方便构建测试所需的网络拓扑模型,并且在该模型中可人为设置信道误码率,达到模拟真实情景的作用。
附图说明
图1是实施例中航空电信网路由器虚拟机的结构框图;
图2是实施例的一个示例中用拓扑语言描述得到的网络具体拓扑结构图;
图3是实施例中路由协议测试的流程图。
具体实施方式
以下以对ATN中的路由协议的测试为例对本发明进行详细说明。
本实施例中,路由器虚拟机可模拟路由器的功能,一个路由器虚拟机可以通过多个接口与多个路由器虚拟机相连。如图1所示,ATN路由器虚拟机包括四个模块,分别是虚拟机平台模块和分别与虚拟机平台模块相连的虚拟机协议模块、网络拓扑结构存储模块、和虚拟机控制模块。
(一)网络拓扑结构存储模块,包括网络拓扑描述存储单元和虚拟机配置描述存储单元。网络拓扑描述存储单元,用于存储网络拓扑结构信息;虚拟机配置描述存储单元,用于存储虚拟机配置描述信息。
网络拓扑结构信息是用于描述路由器虚拟机在网络中的位置及参数信息,包括路由器IP地址、路由器虚拟机号、路由器接口连接状态、以及路由器信道误码率、激活接口等功能。
为了方便生成网络拓扑结构,并易于修改该拓扑结构,网络拓扑结构信息由拓扑描述语言来描述。描述语言简单易懂,其中包含某路由器的虚拟机号和地址、某路由器接口到另一路由器接口的连接、对接口的激活、对运行路由器虚拟机的计算机IP地址配置及信道的误码率模拟。在每次启动该程序时通过网络拓扑结构存储模块的解释器将网络拓扑结构信息导入路由器虚拟机,以初始化拓扑网络结构。这样可以使虚拟机方便的得到所需要的网络拓扑结构,初如化过程简单易行,可避免在实际网络中由不断的插拔网线引起的对物理路由器的物理磨损,可避免对多个路由器插拔多条网线,及其在频繁插拔网线所产生的错误操作。
虚拟路由器网络拓扑结构的描述语言举例说明如下,假定其存于vm_tpl.txt文档。
vm 1 127.0.0.1 8180
vm 2 127.0.0.1 8181
vm 3 127.0.0.1 8183
vm 4 127.0.0.1 8185
link 1/2*2/2 45 0
link 1/3*3/2 45 0
link 1/4*4/2 45 0
link 2/2*1/2 45 0
link 2/3*3/3 45 0
link 2/4*4/3 45 0
link 3/2*1/3 45 0
link 3/3*2/3 45 0
link 3/4*4/4 45 0
link 4/2*1/4 45 0
link 4/3*2/4 45 0
link 4/4*3/4 45 0
active-interface 1/2 2/2
active-interface 1/3 3/2
active-interface 1/4 4/2
active-interface 2/3 3/3
active-interface 2/4 4/3
active-interface 3/4 4/4
其中:
vm 1 127.0.0.1 8180:
表示1号虚拟机进程的通信地址为127.0.0.1:8180,系统利用Socket机制在多个虚拟机的进程之间传递控制消息和数据。
link 1/2*2/2 45 0:
表示将1号虚拟机的2号接口(1/2)同2号虚拟机的2号接口(2/2)连接起来。其中星号(*)和45分别是发送者和接收者虚拟机进程内部的模块ID,星号表示为任意模块,数据将由45号模块接收。0表示丢包率,当其值为零时无误码,当大于1时,表示丢包率,例如值为100时,每包被随机丢弃的概率为1/100。
active-interface 1/4 4/2:
表示激活接口:1/4 4/2,1/4分别表示1号机的4号接口和4号机的2号接口。
通过以上拓扑语言描述得到的网络具体拓扑结构如图2所示。
虚拟机配置描述信息用于配置虚拟机的工作参数。主要包括:该路由器虚拟机的CLNP地址、IDRP工作参数,虚拟机进程的系统配置参数、该虚拟路由节点的邻居路由配置,该路由器虚拟机的接口配置及该接口的协议配置参数。
(二)虚拟机协议模块,用于向虚拟机平台模块提供路由协议,当虚拟机进程在传输中需要用到这些路由传输协议时,则访问该协议模块。该协议主要有IDRP、ISIS等协议代码,它们封装为目标函数,可以支持单一目标函数多实例化,从而可在不同的虚拟机进程中创建各自的协议代码。
(三)虚拟机平台模块,用于将虚拟机的多个进程相互连接起来并保持所虚拟机的进程间的消息畅通。在虚拟机平台中创建若干个虚拟机进程,并在每个虚拟机进程中创建自己的消息队列(分别是ISIS消息队列、IDRP消息队列、和虚拟机控制消息队列)和系统配置文件(用于保存该进程的所有配置信息,路由接口配置信息等)。这些虚拟机进程通过虚拟机进程间通信机制进行相互通信。所有进程的系统配置在进程刚创建时是由网络拓扑存储模块中的虚拟机配置存储描述文件所得到。待启动过后再由虚拟机的控制模块进行修改或调整。
虚拟机平台主要用来模拟物理层和数据链路层。这样使得开发人员省去对物理层和数据链路层细节的关注,将精力集中于网络层传输层和路由协议的协议开发。在网络通信中,物理层同数据链路层主要负责数据的传送与重组。而在该虚拟机平台则通过Socket机制实现虚拟机进程的通信。
虚拟机平台模块主要包括虚拟机进程间通信机制管理单元、虚拟机进程管理单元,虚拟机进程管理单元维护多个路由器虚拟机进程,其中:
路由器虚拟机进程,每一个路由器虚拟机进程可以模拟真实的路由器的所有功能,包括消息队列、系统管理、系统配置、路由器的接口、路由协议、以及相应的管理操作界面。所不同的是,当把所需要的路由协议放入在协议模块后,虚拟机进程才可使用该协议。若没有将该协议代码放入协议模块则无法使用该路由协议操作。将该路由协议封装起来,然后将该目标代码可运行多个实例。
消息队列:
命令和协议数据有可能是多个用户同时通过控制台发出或者多台虚拟机进程的协议模块同时发出,因此需要将该消息进行保存,逐个处理。
每个虚拟机进程的消息队列中有一个ISIS消息队列、一个IDRP消息队列、和一个虚拟机控制消息队列,各个虚拟机进程之间的消息队列相互独立,互不相关。其中,ISIS协议消息队列,用于存放ISIS协议的控制命令或消息;IDRP协议消息队列,用于针存放IDRP协议的控制命令或消息;虚拟机控制消息队列,用于存放针对于虚拟机进程控制命令或消息。
每个虚拟机进程中还包括一个虚拟机进程控制台:用于提供键盘命令,提供一组虚拟机控制命令以调用虚拟机控制模块的功能向各虚拟机发布信道断开和接通的指令;显示虚拟机的配置信息,可修改配置信息;显示当前路由表信息,检查动态路由协议的运行结果;测试与其他虚拟机之间的可达性以验证动态路由协议工作的正确性;显示路由协议模块的一些内部数据状态;调试信息的输出。
每个虚拟机进程中还包括虚拟机配置与管理单元,负责以下内容:存储当前虚拟机进程的路由信息配置;存储当前虚拟机进程的网络拓扑结构;存储当前接口的开放状态;提供定时机制,控制消息的分发;循环接收消息,并负责判断将该消息发到那哪个消息队列中去;
虚拟机平台模块的虚拟机进程间通信机制管理单元,维护使得所有的虚拟机进程保持通信的公共信道,目前采用了Socket机制。
虚拟机平台模块的虚拟机进程管理单元用于完成以下处理:
A,虚拟机进程初始化
在创建所有虚拟机进程后,虚拟机进程管理单元需要从网络拓扑结构存储模块中导入该模块中的网络拓扑存储文件,用此来建立所有虚拟机进程之间的联系。
B,虚拟机进程消息发送
虚拟机进程在处理消息或维护其邻居节点的关系时需要同其他虚拟机进程发送消息,此时虚拟机进程向目标进程发送消息,虚拟机管理通过虚拟机进程间通信机制管理单元将消息发送到目标虚拟机进程。
C,命令消息处理
虚拟机进程管理单元从虚拟机控制模块的虚拟机控制消息队列中接收控制消息,再通过虚拟机进程间信道单元将该消息发到目标虚拟机进程中的消息队列中。
每个控制消息中都带有目标虚拟机进程的标识,以便于虚拟机管理单元根据此标识将此消息发送到此标识对应的虚拟机进程的消息队列中。
具体过程是,用户在某一虚拟机进程中输入命令,调用虚拟机控制模块将该命令放入虚拟机控制消息队列等待处理。虚拟机进程管理将该命令通过虚拟机进程间通信机制发送到相应的目标虚拟机进程中的消息队列中等待处理。
D,时钟同步
本实施例的定时体系利用时间函数来确保所有虚拟机的通信同步,定时体系给所有虚拟协议模块设定定时机制,规定了所有虚拟协议的操作时序。在每一次消息循环之中,虚拟机进程会通过上一次时间的消费同本次时间消费进行比对,若两次所用时间大于系统设定时间间隔(例如1秒),则系统将所有的虚拟机进程时钟进行同步。
每个虚拟机进程在调用接收消息函数之前,需要保存当前系统时间,之后调用消息接收函数用来接收消息,若没有消息到来,则该函数用时一秒钟后自动退出并进行下一步。若有消息到来则跳出该函数并将该消息放入队列。
不管有无消息到来,最后系统都将执行消息接收函数之前所保存的系统时间同执行消息接收函数之后的系统时间进行比对,若差值大于1秒,则调用虚拟机管理中的系统时间函数,将该虚拟机进程的时间与虚拟机管理里的系统时间进行同步。
若该时间差小于1秒则用同步时间。
消息同步的目的是为了保持虚拟机各个进程的邻居关系,每隔若干秒虚拟机进程都要发送HELLO包,而目的地收到该包后也要进行应答,虚拟机进程在规定时间内必须收到其邻居虚拟机进程的应答,否则其邻居关系取消。因此为了使得所有的消息发送方或者接收方在同一时钟或者相近的时钟内(相近时钟相差不大于1秒)。
(四)虚拟机控制模块,在当前虚拟机是系统中的虚拟机主机时,通过虚拟主机(master)控制可将某个路由器接口关闭,其作用相当于真正的路由器物理接口断开(即将该网线拔下),且可通过命令查找各虚拟路由器的接口状态。通过该虚拟主机也可对其它虚拟机进行批操作,或者对所有的路由器虚拟机进行统一配置命令。由于只需要在主虚拟机上进行操作,这种测试由一人即可完成,同时不必对所有虚拟机进行重复操作。虚拟机命令在启动虚拟机后才能使用。
以下是虚拟机控制命令的示例:
vm master:设置该虚拟机为MASTER。
vm flash:重新刷新拓扑结构。
vm enable 1/2:让1号虚拟机的2端口打开。
vm disable 1/2:让1号虚拟机的2端口关闭。
vm command:在所有虚拟机上包括主机,执行某一条指定的命令。
vm lsa:显示当前所有虚拟机端口开放状态;
以上所有命令只能在主机上执行。
vm status:显示当前拓扑结构、端口结构,该命令可在所有虚拟机中使用。
vm kill:关闭所有虚拟路由器,该命令可在所有虚拟机中使用。
命令接收单元,所有的虚拟机进程在收到输入命令后都将输入消息发到此处,此时再将收到的命令转发到虚拟机控制。
虚拟机控制消息生成单元,在接收到虚拟机进程的命令后,虚拟机控制判断是否是由主机(MASTER)发出的群发命令,若是群操作命令则将命令放进虚拟机消息控制队列并标为群操作。
虚拟机消息控制队列:同其他消息队列一样存放着消息,不过有群消息与普通消息之分,并将队列中的消息发送至虚拟机平台模块。
具体过程为:
虚拟机控制模块中的命令接收端收到消息后将该消息转发给虚拟机控制,虚拟机控制收到命令后,判断是否是从主机(MASTER)发送的群命令信息然后将命令消息发送到虚拟机控制消息队列,若是主机发出的群消息则填加群消息标志,否则为普通消息,不做任何填加。
本实施中路由协议测试的流程如图3所示,包括以下步骤:
步骤110,创建进程模块,使用isis_initial()和idrp_initial()函数初始化协议配置,并设isis_msg_remain和idrp_msg_remain为0。
假定用isis_msg_remain和idrp_msg_remain分别表示ISIS和IDRP消息队列的消息数,初始值为0。
步骤120,创建完进程模块后,在其中的进程中设置为主机(MASTER),所有其它虚拟机进程收到设置MASTER命令后,从tpl.txt文件读入配置好的信息,进行ISIS和IDRP的参数配置,并将该配置送入各自消息队列等待。
步骤130,判断在设定时间如1秒钟内是否有消息到来,若有消息到来,执行步骤140,否则,执行步骤150;
步骤140,根据接收的消息类型,将该消息放入到相应的协议队列中,并将该队列的消息数加1;
若收到待处理的ISIS协议的消息将其放入ISIS协议队列中,并将该队列消息数加一。
若收到待处理的IDRP协议的消息将其放入IDRP协议队列中,并将该队列消息数加一。
若收到输入的keyboard命令立即调用函数keyboard_message()进行判断将命令发送到相应消息队列。
步骤150,判断上一次循环结束时刻同本次循环时刻的时间差是否大于1秒,如大于,执行步骤160,否则执行步骤170;
步骤160,进行同步调用(多个虚拟机间时间同步);
步骤170,查看各个消息队列,如该消息队列不为空,则从该队列中调用相应协议来处理消息,处理完后将相应消息队列的消息数减一,返回步骤130;
查看ISIS消息队列时,若ISIS消息队列不为空,则从该队列中调用isismessage处理消息。并将ISIS消息数减一
查看IDRP消息队列时,若IDRP消息队列不为空,则从该队列中调用idrp_message处理消息。并将ISIS消息数减一
查看虚拟机控制消息队列时,若虚拟机控制消息队列不为空,则从该队列中调用vm_message处理消息。并将消息数减一。
以上循环一直进行直到虚拟机进程关闭。
以上流程可以运行与windows xp及其他兼容系统。不需任何特殊配置及特殊软件。也不需要其他任何特殊装置,或非计算机执行步骤。
本发明在一台主机上可模拟多个路由器,由于虚拟机进程间通信机制采用了socket,可以在局域网中的多台主机上模拟更大更复杂的网络环境,节省了人力物力,同时也缩短网络协议的开发周期。在通过路由器虚拟机的测试后,再在真实的网络环境上进行测试,从而减少开发周期和测试成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1、一种航空电信网的路由器虚拟机,其特征在于,包括虚拟机平台模块、与所述虚拟机平台模块相连的虚拟机协议模块和网络拓扑结构存储模块,
所述虚拟机协议模块,用于向所述虚拟机平台模块提供路由协议;
所述网络拓扑结构存储模块,用于存储网络拓扑结构信息和虚拟机配置描述信息;
所述虚拟机平台模块,用于在虚拟机初始化时,根据所述网络拓扑结构存储模块中存储的网络拓扑结构信息和虚拟机配置描述信息,为所述虚拟机设置在网络中的位置和配置参数;还用于从所述虚拟机协议模块获取路由协议并进行测试。
2、如权利要求1所述的路由器虚拟机,其特征在于,
所述网络拓扑结构存储模块包括网络拓扑描述存储单元,用于存储网络拓扑结构信息,包括以下参数中的一种或多种:路由器IP地址、路由器虚拟机号、路由器接口连接状态、以及路由器信道误码率、激活接口;
所述网络拓扑结构存储模块包括虚拟机配置描述存储单元,用于存储所述虚拟机配置描述信息,包括以下参数中的一种或多种:路由器虚拟机的CLNP地址、IDRP工作参数,虚拟机进程的系统配置参数、虚拟路由节点的邻居路由配置,路由器虚拟机的接口配置及该接口的协议配置参数。
3、如权利要求2所述的路由器虚拟机,其特征在于:
所述虚拟机平台模块包括相连接的虚拟机进程间通信机制管理单元、虚拟机进程管理单元;
所述虚拟机进程管理单元,用于完成虚拟机进程初始化;还用于维护一个或多个路由器虚拟机进程,每个虚拟机进程用于模拟路由器的功能,包括:消息队列、系统管理、系统配置、路由器的接口、路由器协议处理、管理操作界面;
所述虚拟机进程间通信机制管理单元,用于维护使得所有的虚拟机进程保持通信的公共信道,进行处理路由器虚拟机进程间消息的交互和处理。
4、如权利要求3所述的路由器虚拟机,其特征在于,
所述虚拟机协议模块,还用于向所述虚拟机平台模块提供域间路由选择协议IDRP协议和路由器与路由器间协议ISIS;
所述虚拟机平台模块维护的每个路由器虚拟机进程的消息队列中包括IDRP消息队列、ISIS消息队列和虚拟机控制消息队列;ISIS协议消息队列,用于存放ISIS协议的控制命令或消息;IDRP协议消息队列,用于针存放IDRP协议的控制命令或消息;虚拟机控制消息队列,用于存放针对于虚拟机进程控制命令或消息。
5、如权利要求1或4所述的路由器虚拟机,其特征在于,
所述虚拟机平台模块维护的每个路由器虚拟机进程中包括一虚拟机进程控制台,用于提供键盘命令,提供一组虚拟机控制命令以调用虚拟机控制模块的功能向各虚拟机发布信道断开和接通的指令;显示虚拟机的配置信息,可修改配置信息;显示当前路由表信息,检查动态路由协议的运行结果;测试与其他虚拟机之间的可达性以验证动态路由协议工作的正确性;显示路由协议模块的一些内部数据状态;调试信息的输出。
6、如权利要求5所述的路由器虚拟机,其特征在于,
所述路由器虚拟机还包括与所述虚拟机平台模块相连的虚拟机控制模块;
所述虚拟机控制模块,用于在所述路由器虚拟机是系统中的虚拟机主机时,通过虚拟主机控制将一个或多个路由器接口打开或关闭,并且通过命令查找各虚拟路由器的接口状态;还用于从所述虚拟机平台模块接收到命令后,判断是虚拟主机发出的群命令后,将此命令消息填加群标志并返回至虚拟机平台模块。
7、如权利要求6所述的路由器虚拟机,其特征在于,
所述虚拟机进程管理单元,还用于调用虚拟机控制模块将用户命令放入虚拟机控制消息队列等待处理,并将该命令通过虚拟机进程间通信机制管理单元发送到相应的目标虚拟机进程中的消息队列中等待处理。
8、如权利要求6所述的路由器虚拟机,其特征在于,
所述虚拟机进程管理单元,用于设定定时机制,规定所述路由协议的操作时序;
所述虚拟机平台模块,还用于在每一次消息循环之中,通过上一次时间的消费同本次时间消费进行比对,若两次所用时间大于系统设定时间间隔,则将所有的虚拟机进程的时钟进行同步。
9、一种航空电信网的路由测试方法,包括:
路由器虚拟机进行初始化时,根据存储的网络拓扑结构信息和虚拟机配置描述信息,为所述虚拟机设置在网络中的位置和配置参数;获取路由协议并进行测试,维护一个或多个路由器虚拟机进程,每个虚拟机进程用于模拟路由器的功能,维护使得所有的虚拟机进程保持通信的公共信道,进行处理路由器虚拟机进程间消息的交互和处理。
10、如权利要求9所述的路由测试方法,其特征在于,
所述路由协议为域间路由选择协议IDRP协议和路由器与路由器间协议ISIS,每个路由器虚拟机进程的消息队列中包括IDRP消息队列、ISIS消息队列和虚拟机控制消息队列;ISIS协议消息队列,用于存放ISIS协议的控制命令或消息;IDRP协议消息队列,用于针存放IDRP协议的控制命令或消息;虚拟机控制消息队列,用于存放针对于虚拟机进程控制命令或消息。
CN 200910150127 2008-07-10 2009-07-07 一种航空电信网的路由测试方法及路由器虚拟机 Expired - Fee Related CN101626383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910150127 CN101626383B (zh) 2008-07-10 2009-07-07 一种航空电信网的路由测试方法及路由器虚拟机

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNA2008101164573A CN101383822A (zh) 2008-07-10 2008-07-10 航空电信网路由器虚拟机
CN200810116457.3 2008-07-10
CN 200910150127 CN101626383B (zh) 2008-07-10 2009-07-07 一种航空电信网的路由测试方法及路由器虚拟机

Publications (2)

Publication Number Publication Date
CN101626383A true CN101626383A (zh) 2010-01-13
CN101626383B CN101626383B (zh) 2013-09-11

Family

ID=40463444

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2008101164573A Pending CN101383822A (zh) 2008-07-10 2008-07-10 航空电信网路由器虚拟机
CN 200910150127 Expired - Fee Related CN101626383B (zh) 2008-07-10 2009-07-07 一种航空电信网的路由测试方法及路由器虚拟机

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2008101164573A Pending CN101383822A (zh) 2008-07-10 2008-07-10 航空电信网路由器虚拟机

Country Status (1)

Country Link
CN (2) CN101383822A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055277A1 (zh) * 2010-10-27 2012-05-03 中兴通讯股份有限公司 信道模拟装置及方法
CN102761472A (zh) * 2011-04-29 2012-10-31 无锡江南计算技术研究所 通信端口及其路由方法、通信模块及并行事务级模拟系统
CN103023767A (zh) * 2012-11-29 2013-04-03 昆明理工大学 一种用于钢铁企业质量系统的数据自动可靠异步传输系统
CN103475561A (zh) * 2013-09-26 2013-12-25 山东神思电子技术股份有限公司 虚拟通信链路动态开关方法和装置
CN105337859A (zh) * 2014-08-11 2016-02-17 中兴通讯股份有限公司 网络协议的配置方法及装置
CN105517035A (zh) * 2015-12-04 2016-04-20 上海斐讯数据通信技术有限公司 无线路由管理应用的测试方法及系统
CN105515899A (zh) * 2015-12-04 2016-04-20 中国科学院信息工程研究所 一种网络模拟路由器Netflow数据生成系统及方法
CN105553732A (zh) * 2015-12-23 2016-05-04 中国科学院信息工程研究所 一种分布式网络模拟方法及系统
CN105827468A (zh) * 2016-06-08 2016-08-03 成都万纬信息技术有限公司 网络性能实时监控方法
CN105915304A (zh) * 2016-05-31 2016-08-31 西安交通大学 一种面向卫星移动通信的系统级仿真演示验证方法
CN108540328A (zh) * 2018-04-20 2018-09-14 北京邮电大学 Ason的控制平面建模方法和装置
CN108540674B (zh) * 2018-03-22 2020-12-29 平安科技(深圳)有限公司 自动化测试方法、装置、计算机设备以及存储介质
CN113423114A (zh) * 2021-06-22 2021-09-21 中国科学技术大学 一种基于虚拟拓扑的飞机组网与路由方法
CN114726757A (zh) * 2022-03-24 2022-07-08 深圳市领创星通科技有限公司 设备联网测试方法、装置、计算机设备、存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630270B (zh) * 2009-07-22 2013-06-26 成都市华为赛门铁克科技有限公司 数据处理系统和方法
CN101969442B (zh) * 2010-10-28 2013-08-28 江苏博智软件科技有限公司 基于进程运行环境感知与迁移的网络模拟框架实现方法
CN104009929B (zh) * 2013-02-21 2019-01-18 中兴通讯股份有限公司 一种管理虚拟路由器的方法及物理路由器
CN103269294B (zh) * 2013-04-26 2016-08-17 广东电网公司电力科学研究院 基于esb总线的消息路由的测试方法和系统
CN105323161B (zh) * 2015-12-09 2018-10-09 武汉烽火网络有限责任公司 基于Windows平台的实现虚拟化路由器的方法及系统
CN105610646B (zh) * 2015-12-30 2019-06-07 山石网科通信技术股份有限公司 基于分布式的虚拟网络设备的测试方法、装置及系统
CN105827464B (zh) * 2016-05-16 2019-03-19 江南大学 可自动化部署的虚拟路由器构建方法
CN108243091B (zh) * 2016-12-27 2020-12-11 北京航管科技有限公司 一种信息共享装置和信息共享方法
CN107566098B (zh) * 2017-07-24 2019-10-18 清华大学 软件定义网络应用测试序列的生成方法与生成系统
US10628204B2 (en) 2018-02-27 2020-04-21 Performance Software Corporation Virtual communication router with time-quantum synchronization
CN109831438B (zh) * 2019-02-19 2022-03-11 中国航空工业集团公司西安航空计算技术研究所 基于虚拟化的航电网络域与信息网络域间的双向通信系统和方法
CN110011835B (zh) * 2019-03-14 2021-10-01 烽火通信科技股份有限公司 网络仿真方法及系统
CN113076500A (zh) * 2021-03-16 2021-07-06 江苏海洋大学 一种在线路由交换虚拟实验平台

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002171A (zh) * 2003-12-18 2007-07-18 英特尔公司 虚拟网络接口
US20080002663A1 (en) * 2006-06-30 2008-01-03 Sun Microsystems, Inc. Virtual network interface card loopback fastpath
US20080019365A1 (en) * 2006-07-20 2008-01-24 Sun Microsystems, Inc. Host operating system bypass for packets destined for a virtual machine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002171A (zh) * 2003-12-18 2007-07-18 英特尔公司 虚拟网络接口
US20080002663A1 (en) * 2006-06-30 2008-01-03 Sun Microsystems, Inc. Virtual network interface card loopback fastpath
US20080019365A1 (en) * 2006-07-20 2008-01-24 Sun Microsystems, Inc. Host operating system bypass for packets destined for a virtual machine

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055277A1 (zh) * 2010-10-27 2012-05-03 中兴通讯股份有限公司 信道模拟装置及方法
CN102761472A (zh) * 2011-04-29 2012-10-31 无锡江南计算技术研究所 通信端口及其路由方法、通信模块及并行事务级模拟系统
CN102761472B (zh) * 2011-04-29 2015-07-15 无锡江南计算技术研究所 通信端口及其路由方法、通信模块及并行事务级模拟系统
CN103023767A (zh) * 2012-11-29 2013-04-03 昆明理工大学 一种用于钢铁企业质量系统的数据自动可靠异步传输系统
CN103023767B (zh) * 2012-11-29 2015-08-26 昆明理工大学 一种用于钢铁企业质量系统的数据自动可靠异步传输系统
CN103475561B (zh) * 2013-09-26 2016-08-03 神思电子技术股份有限公司 虚拟通信链路动态开关方法和装置
CN103475561A (zh) * 2013-09-26 2013-12-25 山东神思电子技术股份有限公司 虚拟通信链路动态开关方法和装置
CN105337859A (zh) * 2014-08-11 2016-02-17 中兴通讯股份有限公司 网络协议的配置方法及装置
CN105517035B (zh) * 2015-12-04 2019-07-19 上海斐讯数据通信技术有限公司 无线路由管理应用的测试方法及系统
CN105515899B (zh) * 2015-12-04 2018-12-28 中国科学院信息工程研究所 一种网络模拟路由器Netflow数据生成系统及方法
CN105517035A (zh) * 2015-12-04 2016-04-20 上海斐讯数据通信技术有限公司 无线路由管理应用的测试方法及系统
CN105515899A (zh) * 2015-12-04 2016-04-20 中国科学院信息工程研究所 一种网络模拟路由器Netflow数据生成系统及方法
CN105553732A (zh) * 2015-12-23 2016-05-04 中国科学院信息工程研究所 一种分布式网络模拟方法及系统
CN105915304A (zh) * 2016-05-31 2016-08-31 西安交通大学 一种面向卫星移动通信的系统级仿真演示验证方法
CN105827468A (zh) * 2016-06-08 2016-08-03 成都万纬信息技术有限公司 网络性能实时监控方法
CN105827468B (zh) * 2016-06-08 2019-10-25 成都万纬信息技术有限公司 网络性能实时监控方法
CN108540674B (zh) * 2018-03-22 2020-12-29 平安科技(深圳)有限公司 自动化测试方法、装置、计算机设备以及存储介质
CN108540328A (zh) * 2018-04-20 2018-09-14 北京邮电大学 Ason的控制平面建模方法和装置
CN108540328B (zh) * 2018-04-20 2020-09-22 北京邮电大学 Ason的控制平面建模方法和装置
CN113423114A (zh) * 2021-06-22 2021-09-21 中国科学技术大学 一种基于虚拟拓扑的飞机组网与路由方法
CN113423114B (zh) * 2021-06-22 2022-09-02 中国科学技术大学 一种基于虚拟拓扑的飞机组网与路由方法
CN114726757A (zh) * 2022-03-24 2022-07-08 深圳市领创星通科技有限公司 设备联网测试方法、装置、计算机设备、存储介质
CN114726757B (zh) * 2022-03-24 2024-05-03 深圳市领创星通科技有限公司 设备联网测试方法、装置、计算机设备、存储介质

Also Published As

Publication number Publication date
CN101626383B (zh) 2013-09-11
CN101383822A (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
CN101626383B (zh) 一种航空电信网的路由测试方法及路由器虚拟机
CN107404350B (zh) 卫星网络仿真方法、装置、电子设备及可读存储介质
CN104079492B (zh) 一种OpenFlow网络中流表配置的方法、装置和系统
CN104090825B (zh) 动态迁移计算机网络
CN106375142B (zh) 应用程序的测试方法和装置
CN104753697B (zh) 一种控制网络设备自动开局的方法、设备及系统
CN109600768A (zh) 网络切片的管理方法、设备及系统
CN105721318B (zh) 一种软件定义网络sdn中发现网络拓扑的方法和装置
CN101867959B (zh) 卫星移动通信网络多机协同仿真系统及方法
CN101887379A (zh) 一种基于虚拟网卡的无线信道仿真方法
CN105306354A (zh) 一种不使用显式寻址的网络数据通信方法及系统
CN106452857A (zh) 生成配置信息的方法和网络控制单元
CN114363021A (zh) 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置
CN108768692A (zh) 一种网络创建方法、相关设备及系统
CN114422010B (zh) 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法
CN107493191A (zh) 一种集群节点及自调度容器集群系统
CN110086640A (zh) 业务使能的方法和装置
Yao et al. SI-STIN: A smart identifier framework for space and terrestrial integrated network
CN107547665A (zh) 一种dhcp地址分配的方法、设备及系统
CN112436601B (zh) 智能变电站的信息流处理方法、计算机设备和存储介质
Rahman et al. Nutshell—simulation toolkit for modeling data center networks and cloud computing
CN107465621A (zh) 一种路由器发现方法、sdn控制器、路由器和网络系统
CN102045256B (zh) 一种基于cots的带宽预分配保证网络功能演示系统
CN103634290B (zh) 网络仿真系统
CN103503373A (zh) 通信系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130911

Termination date: 20140707

EXPY Termination of patent right or utility model