CN103200190B - 一种面向QualNet网络半实物仿真的实物接入方法 - Google Patents

一种面向QualNet网络半实物仿真的实物接入方法 Download PDF

Info

Publication number
CN103200190B
CN103200190B CN201310098333.8A CN201310098333A CN103200190B CN 103200190 B CN103200190 B CN 103200190B CN 201310098333 A CN201310098333 A CN 201310098333A CN 103200190 B CN103200190 B CN 103200190B
Authority
CN
China
Prior art keywords
lvp
packet
data bag
network
qualnet
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.)
Expired - Fee Related
Application number
CN201310098333.8A
Other languages
English (en)
Other versions
CN103200190A (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 Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201310098333.8A priority Critical patent/CN103200190B/zh
Publication of CN103200190A publication Critical patent/CN103200190A/zh
Application granted granted Critical
Publication of CN103200190B publication Critical patent/CN103200190B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种面向QualNet网络半实物仿真的实物接入方法,属于网络仿真技术领域。本方法同时支持隧道模式和解析模式,在隧道模式中,通过对真实数据包添加虚拟的IP报文头,可使真实数据包顺利通过虚拟网络,简洁有效;在解析模式中,实物接口通过引入数据包转化模块,实现真实节点同虚拟节点在网络协议上的交互,具有更好的扩展性。对真实节点不做任何改动,实物接口的所有功能均在仿真服务器上加以实现,减小了对真实节点的限制,提高了使用灵活性。

Description

一种面向QualNet网络半实物仿真的实物接入方法
技术领域
本发明涉及一种面向QualNet网络半实物仿真的实物接入方法,属于网络仿真技术领域。
背景技术
在网络半实物仿真系统中,需将仿真软件构建的虚拟网络同真实网络设备互联起来,需要高效的实物接口实现两者的关联。
网络的研究中普遍采用了实物实验法和软件仿真法。实物实验法中,实验对象在真实物理平台上运行,具有较高的精度;但构建全尺度实物实验平台代价高昂,且进行大量重复试验是困难的。软件仿真法具有较好的灵活性和可控性,但不能直观展示真实设备、应用在特定网络环境下的实际性能。为将实物实验法和软件仿真法有效结合,国内外研究机构提出了网络半实物仿真的方法。所谓网络半实物仿真,就是在由仿真软件构建的虚拟网络中引入真实设备,使真实应用程序、协议或硬件参与到网络仿真中。真实协议栈和应用程序在不做任何修改的情况下运行,其产生的数据流流入或流出虚拟网络。这种方法将真实网络协议栈和应用程序同仿真软件在构建网络场景上的灵活性有机结合在一起,为大规模网络研究提供了有效手段,当前得到了广泛应用。
构建网络半实物仿真系统,一方面需要具有高保真度和实时运行能力的网络仿真软件;另一方面需要高效的实物接口以将真实数据包注入和导出虚拟网络。根据注入虚拟网络的真实数据包是否对虚拟网络透明,可以将网络半实物仿真划分为两类:
隧道模式:真实数据包对虚拟网络是不透明的,虚拟节点不能解析、识别真实数据包中的协议字段。
解析模式:虚拟节点能够解析、识别真实数据包中的协议字段,能够实现真实节点同虚拟节点在协议上的交互。
在“隧道模式”网络半实物仿真系统中,当数据包从真实节点发出并进入虚拟网络时,实物接口并没有对真实数据包进行格式转换。真实数据包在虚拟网络中可能被丢掉、延迟、重排序、甚至复制,但由于数据包并未被解析,虚拟节点不能完成与协议字段相关的操作。因此,这种模式只能构建“真实节点–虚拟网络–真实节点”的仿真场景。而在“解析模式”网络半实物仿真系统中,虚拟节点能够识别和处理真实数据包的协议字段,能够实现真实节点同虚拟节点在网络协议上的交互。两种模式的接入方式各有优劣,“隧道模式”简单方便,具有较高的接入效率;而“解析模式”能够将真实网络同虚拟网络跟紧密的结合起来,具有更好的扩展性。
QualNet作为当前广泛使用的网络仿真软件具有较高的保真度和良好的扩展性,同时也提供了实物接口以支持真实设备的接入,方便构建网络半实物仿真系统。其提供的实物接口通过构建真实节点同虚拟节点一对一的映射关系来将真实节点嵌入虚拟网络。使用QualNet构建虚拟网络,然后将虚拟节点A映射到真实节点B上,A与B形成一个真实节点-虚拟节点对(LVP),其中真实节点B用LVP-L表示,而A为B在虚拟网络中的影子节点,用LVP-V表示。仿真中,真实节点B发出的数据包,会从虚拟节点A进入虚拟网络;同样虚拟网络中到达A的数据包,也会流向B,这样A和B从网络行为上看恰如同一个节点。为实现上述功能,QualNet提供了IPNE(IPnetworkemulation,IP网络模拟)接口。IPNE支持三种工作模式:NatOn,NatYes,TrueEmulation,其中NatOn和NatYes工作于“隧道模式”,而TrueEmulation则采用了“解析模式”。如图1所示,IPNE通过隧道模块将真实节点同仿真服务器相连,通过常规处理模块实现真实数据包导入和导出虚拟网络。在实际工作过程中,真实节点产生的数据包通过安装在真实节点上的隧道处理模块封装后,发给仿真服务器;仿真服务器通过隧道处理模块解封收到的真实数据包,然后将其注入虚拟网络;同样的,虚拟网络导出的数据包,经过仿真服务器上的隧道处理模块封装后发给真实节点,真实节点解封后即可识别、处理此数据包。如此便将真实节点同仿真服务器构建的虚拟网络互联到来。QualNet的改进版本EXata,进一步增强了上述实物接入能力,但方法上基本保持一致。
Qualnet提供的实物接口在一定程度上能够将真实网络设备接入虚拟网络,但其灵活性和扩展性受到了限制。IPNE工作于TrueEmulation模式时,需要对节点进行手动配置静态路由,不能实现真实节点自动接入虚拟网络,增加了仿真的复杂性,尤其是在虚拟网络规模较大时,手动配置静态路由是困难的。而EXata只支持解析模式接入功能,且必须在真实设备上安装相应的管理软件才能将真实节点接入虚拟网络,考虑到真实设备的多样性和使用权限的问题,限制了EXata网络半实物仿真系统的适用性。
发明内容
本发明的目的是为解决现有技术的扩展性和灵活性较差的问题,提出一种面向QualNet网络半实物仿真的实物接入方法,能够同时支持隧道模式和解析模式,且不用对真实节点做任何改动,即可将真实节点接入QualNet构建的虚拟网络,构建网络半实物仿真系统,具有较好的扩展性和灵活性。
本发明的目的是通过如下技术方案实现的。
步骤1,场景配置。
首先使用QualNet构建虚拟网络,将真实网络设备(LVP-L)同仿真服务器通过以太网相连。然后,通过配置文件的方式构建真实节点同虚拟节点一对一的映射关系(LVP),此配置文件中必须含有如下信息:
(1)声明同真实节点建立映射关系的虚拟节点为影子节点(LVP-V),并指明接入模式,其中接入模式选择为隧道模式或解析模式;所述LVP-V具有网络节点的各个协议层;
(2)为每一对LVP指明一个LVP-Bridge(真实节点接入仿真服务器的桥接端口,为仿真服务器上的某有线网卡),多对LVP能共享一个LVP-Bridge。
步骤2,初始化。
运行QualNet,QualNet开始读取配置文件,为每一对LVP进行如下初始化工作:
1)为使QualNet截取LVP-L发送的数据包,需对每一对LVP分配一个“数据包抓取模块”。所述“数据包抓取模块”包括“数据包过滤器”,“数据包缓存”。“数据包过滤器”筛选来自LVP-Bridge的数据包,将符合相应“筛选规则”的数据包放置到相应的“数据包缓存”中。不同LVP工作模式下的筛选规则不同:
隧道模式中,筛选规则为“只接受源IP地址为LVP-L且目的地址为仿真服务器的IP数据包”;
解析模式中,筛选规则为“只接受LVP-L发送的数据包(即链路层数据包)”。
2)为使QualNet将数据包发送给LVP-L,需对每一对LVP分配一个“数据包构建模块”。所述数据包构建模块根据LVP-V收到的虚拟数据包,构造相应的真实数据包,从LVP-Bridge发给LVP-L。
3)特别的,在解析模式时,关闭LVP-VIP及其上层协议的仿真功能,仅保留其链路层和物理层仿真功能。
初始化完成后,QualNet将各LVP以链表的形式组织起来,以便于依次访问各LVP。
步骤3,将真实数据包注入虚拟网络。
由于真实数据包同虚拟数据包在格式上(如字节序、对齐方式)有所不同,为使QualNet能够识别真实数据包,实物接口对以下网络协议提供解析功能:RIP,PIM,OSPF,OSLR,AODV,UDP,TCP,ICMP,IGMP,ARP,IP。所述网络协议的解析函数按照协议标准对真实数据包的各协议字段进行解析、识别。
仿真运行后,QualNet工作于实时模式,虚拟网络同真实网卡保持时间同步。LVP-L发送的数据包,经过“数据包过滤器”的筛选后被放置在相应的“数据包缓存”中。QualNet设置定时器,定时器超时周期为T。每隔时间T,仿真器遍历一次LVP链表,将每一对LVP的“数据包缓存”中的数据包依次读出。每读取一个真实数据包,实物接口根据LVP所处的工作模式分别进行如下处理:
若LVP工作于隧道模式:
步骤3.a.1,只抓取IP数据包,帧结构中的协议类型字段为IP协议类型,否则报错。
步骤3.a.2,创建一个新的IP数据包,并将步骤3.a.1所抓获数据帧中的IP报文(包括IP报头)原封不动的复制到新创建的IP数据包中,然后加上新的IP报头。新报头字段中源IP地址、目的IP地址、生存时间(TTL)按照真实数据包IP相应字段进行设置,而协议类型字段设置为当前网络协议未采用的协议编号(IPPROTO_LVP)。通过IPPROTO_LVP能识别新建IP数据包是虚拟数据包或者来自真实网络。LVP-V收到新建IP数据包后,若识别为虚拟数据包则将其上交上层协议,若识别为来自真实网络,则将其发送到真实网络中。
步骤3.a.3,将步骤3.a.2新建的IP数据包插入到相应LVP-V的IP发送队列中。
若LVP工作于解析模式:
步骤3.b.1,抓取链路层数据帧,解析数据帧的头部,根据其中“协议类型”字段判定上层报文的类型。若是IP报文,则调用IP报文解析函数进行识别;若是ARP报文则调用ARP报文解析函数进行识别。
步骤3.b.2,IP报文解析函数根据IP报文头部中的“协议类型”字段判定上层报文的类型。若是TCP报文,则调用TCP报文解析函数进行识别;若是UDP报文则调用UDP报文解析函数进行识别;若是ICMP报文,则调用ICMP报文解析函数进行识别;若是IGMP报文则调用IGMP报文解析函数进行识别。
步骤3.b.3,UDP报文解析函数根据UDP报文头中“端口号”判定上层报文的类型。若是RIP报文,则调用RIP报文解析函数进行识别;若是AODV报文则调用AODV报文解析函数进行识别;若是OSPF报文,则调用OSPF报文解析函数进行识别;若是OLSR报文则调用OLSR报文解析函数进行识别。
步骤3.b.4,上述解析完成后,QualNet创建一个新的虚拟数据包,并根据步骤3.b.2和步骤3.b.3解析获得的数据包各字段的内容,设置虚拟数据包的各协议字段。
步骤3.b.5,把所创建虚拟数据包插入到相应LVP-V的MAC层发送队列中。
步骤4,数据包导出虚拟网络。
在虚拟网络中,虚拟数据包到达LVP-V时,根据LVP所处的工作模式,分别进行以下操作:
若为隧道模式:
LVP-V收到数据包后,若自身为此数据包的目的节点且数据包以IPPROTO_LVP作为标记,表明此数据包需要发送给真实网络,去掉虚拟数据包IP头部后,IP负载即为源真实数据包,使用先前分配给LVP的“数据包构造模块”将其发给真实网络。
若为解析模式:
LVP-V不再将此链路层数据包上交本虚拟节点的上层协议,而是调用LVP的“数据包构造模块”,根据此虚拟数据包构造链路层真实数据包。然后将此真实数据包通过LVP-Brideg发送给LVP-L,由真实节点接收、识别、处理此数据包。
有益效果
本发明的接入方法与现有技术相比,具有以下优点:
1.同时支持隧道模式和解析模式,以方便用户根据具体仿真任务灵活构建网络半实物仿真系统。在隧道模式中,通过对真实数据包添加虚拟的IP报文头,可使真实数据包顺利通过虚拟网络,简洁有效;在解析模式中,实物接口通过引入数据包转化模块,实现真实节点同虚拟节点在网络协议上的交互,具有更好的扩展性。
2.对真实节点不做任何改动(即不需要进行复杂的路由配置或安装额外的管理软件)。实物接口的所有功能均在仿真服务器上加以实现,仿真服务器将网卡置于混杂模式,通过“数据包抓取模块”即可获取真实节点发送的数据包,进而将其注入虚拟网络,而不需在真实节点上安装隧道管理模块,减小了对真实节点的限制,提高了使用灵活性。
附图说明
图1为背景技术中的IPNE结构图;
图2为本发明的面向QualNet网络半实物仿真的实物接入方法流程图;
图3为本发明的接入方法中真实数据包注入虚拟网络的流程示意图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合附图和实施例对本发明内容作进一步说明。
本实施方式中采用pcap构建“数据包抓取模块”,采用libnet作为“数据包构建模块”。具体的接入方法为:
步骤一,场景配置。
首先使用QualNet构建虚拟网络,将真实网络设备同仿真服务器通过以太网相连。然后,通过配置文件的方式构建真实节点同虚拟节点一对一的映射关系(LVP),此配置文件中必须含有如下信息:
(1)声明同真实节点建立映射关系的虚拟节点为影子节点(LVP-V),并指明接入模式,其中接入模式可选隧道模式或解析模式;
(2)为每一个LVP指明一个LVP-Bridge(真实节点接入仿真服务器的桥接端口,为仿真服务器上的某有线网卡),多个LVP能共享一个LVP-Bridge。
步骤二,初始化每一对LVP。
运行QualNet,QualNet开始读取配置文件,为每一对LVP进行如下初始化工作:
如果该LVP采用隧道模式:
(1)LVP-V在其LVP-Bridge上分配一个libnet句柄,pcap句柄;
(2)将此LVP插入到LVP链表中;
(3)设置pcap的过滤器,只接受源IP地址为LVP-L且目的地址为仿真服务器的IP层数据包。
如果该LVP采用解析模式:
(1)关闭LVP-VIP及其上层协议的仿真功能,仅保留其链路层和物理层仿真功能;
(2)LVP-V在其LVP-Bridge上分配一个libnet句柄,pcap句柄;
(3)将此LVP插入到LVP链表中;
(4)设置pcap的过滤器,只接受LVP-L发送的数据包(链路层数据包)。
初始化完成后,实物接口构建了一个LVP的链表,其中每一个LVP具有一个libnet句柄、pcap句柄、pcap缓存,其中libnet句柄用于构建真实数据包,pcap句柄用于读取pcap缓存中的数据包。如图3中间部分所示。
步骤三,真实数据包注入虚拟网络
仿真运行后,QualNet工作于实时模式,虚拟网络同真实网卡保持时间同步。如图3所示,LVP-L发送的数据包,经过LVP-Bridge和pcap过滤器,被缓存在相应的pcap缓存中。QualNet设置定时器,定时器超时周期为T。每隔T,仿真器遍历LVP链表,依次调用LVP的pcap句柄,将其pcap缓存中的数据包全部读出。每读取一个真实数据包,实物接口根据LVP所处的工作模式分别进行如下处理.
若LVP工作于隧道模式:
(1)只抓取IP层数据包,所以帧结构中的协议类型字段应为IP协议类型,否则报错。
(2)创建一个新的数据包仿真事件,并将所抓获数据帧中的IP报文包括IP报头原封不动的复制到新创建的数据包事件中,然后加上新的IP报头。新报头字段中源IP地址、目的IP地址、TTL等按照真实数据包IP字段进行设置,而协议类型设置为当前网络协议还未采用的协议编号(IPPROTO_LVP),通过此字段即可识别哪些IP数据包是虚拟数据包,哪些来自真实网络。LVP-V收到IP数据包后,根据此字段决定是将此数据包上交上层协议实体,还是将其发送到真实网络中。
(3)将新建的IP报文插入到此LVP-V的IP发送队列中。如此便将真实数据包注入虚拟网络。
若LVP工作于解析模式:
对此数据包(链路层)进行格式调整(包括字节序调整、字节对齐等),创建相应的仿真事件并插入到该LVP-V的MAC层发送队列中。这个过程需要对数据包进行协议解析和重构建,这一工作需通过协议解析单元来完成。以RIP报文的处理为例:
(1)实物接口首先解析802.3数据帧的头部,发现上层协议为IP报文,则进一步解析IP报文头部的各个字段;
(2)由于数据包IP头部的协议字段为UDP,数据包去掉IP头部后被送给UDP协议解析单元;
(3)此单元解析UDP报文头部,根据端口号可以确定该报文为RIP路由交互报文,去掉UDP头部后将其送往RIP协议解析单元;
(4)RIP协议解析单元首先对RIP数据包进行解析,然后创建了一个仿真事件,同时为此仿真事件分配一个虚拟数据包,并根据所解析的RIP信息,构建虚拟RIP报文。
(5)根据先前解析的报文头部(UDP、IP),在此虚拟报文上增加UDP报文头和IP报文头,所加的报文头都是按照仿真软件内部要求进行的。
(6)最后,根据LVP-V的类型,在虚拟IP数据包的基础上增加链路层头部,并将此虚拟数据包插入到LVP-V的MAC层发送队列中。
实物接口对以下网络协议提供了解析功能:RIP,PIM,OSPF,OSLR,AODV,UDP,TCP,ICMP,IGMP,ARP,IP。
步骤四,数据包导出虚拟网络
在虚拟网络中,虚拟数据包到达LVP-V时,根据LVP所处的工作模式,分别进行以下操作:
若为隧道模式:
LVP-V在IP层收到数据包文后,若自身为此数据包的目的节点且数据包以IPPROTO_LVP作为标记,表明此数据包需要发送给真实网络,去掉虚拟数据包IP头部后,IP负载即为源真实数据包,使用先前存储在LVP中libnet句柄将其发给真实网络,否则按原仿真流程处理数据包。
若为解析模式:
LVP-V不再将此数据包(链路层)上交本虚拟节点的上层协议,而是调用LVP的libnet句柄,根据此虚拟数据包构造真实数据包(链路层)。然后将此真实数据包通过LVP-Brideg发送给LVP-L,真实节点即可接收、识别、处理此数据包。
本实施例中,按照上述方法,采用QualNet-5.02linux版本,libnet1.1.4.2,libpcap1.1.1.2版本进行实现。
1)配置文件采用如下格式:
LVPYES
[NODEID]LVP-BRIDGEeth0
[NODEID]LVP-LEVEL1
其中LVPYES表示启用实物接入功能。其中,NODEID为节点号,即指明该节点将作为LVP-V被映射到真实节点上;LVP-BRIDGEeth0指定了真实节点同仿真服务器的连接端口(服务器的网卡);LVP-LEVEL指定了LVP的工作模式,1表示隧道模拟,2表示解析模式。
2)将定时器超时周期T设为1毫秒。
3)将IPPROTO_LVP设为253。
实施例1:
1、使用QualNet构建虚拟网络,虚拟网络中放置5个虚拟节点,它们的拓扑关系为1-2-3-4-5。其中,1号节点、5号节点以隧道模式作为LVP-V分别映射到两台同仿真服务器相连的真实主机上。配置文件如下:
LVPYES
[1]LVP-INTERFACE[0]eth0
[1]LVP-LEVEL[0]1
[5]LVP-INTERFACE[0]eth0
[5]LVP-LEVEL[0]1
2.启用QualNet。
3.从某个LVP-L向另一个LVP-L传输文件。在文件传输的过程中,杀死或激活虚拟网络中某个中间节点(2、3、4号节点),观测到文件传输速率随着虚拟网络的变化,发生相应的改变。说明,实物接口可以将真实网络流量注入和导出虚拟网络,且虚拟网络影响了真实网络流量的性能。
实施例2:
1.使用QualNet构建虚拟网络,虚拟网络中放置5个虚拟节点,它们的拓扑关系为1-2-3-4-5。其中,3号节点以解析模式作为LVP-V映射到同仿真服务器相连的某个真实主机上。配置文件如下:
LVPYES
[3]LVP-INTERFACE[0]eth0
[3]LVP-LEVEL[0]2
2.运行QualNet,启动半实物仿真。
3.在LVP-L上,使用ping测试其同虚拟网络中1号节点的连通性。发现LVP-L能够收到并识别1号虚拟节点的回复报文。说明,实物接口不仅能够将真实报文注入、导出虚拟网络,同时还对报文进行了相应的解析工作,使得真实节点同虚拟节点能够进行协议上的交互。

Claims (3)

1.一种面向QualNet网络半实物仿真的实物接入方法,其特征在于:包括以下步骤:
步骤1,场景配置;
首先使用QualNet构建虚拟网络,将真实网络设备LVP-L同仿真服务器通过以太网相连;然后,通过配置文件的方式构建真实节点同虚拟节点一对一的LVP映射关系,此配置文件中含有如下信息:
(1)声明同真实节点建立映射关系的虚拟节点为影子节点LVP-V,并指明接入模式,其中接入模式选择为隧道模式或解析模式;所述LVP-V具有网络节点的各个协议层;
(2)为每一对LVP指明一个LVP-Bridge真实节点接入仿真服务器的桥接端口;
步骤2,运行QualNet读取配置文件,为每一对LVP进行如下初始化工作:
1)为使QualNet截取LVP-L发送的数据包,对每一对LVP分配一个“数据包抓取模块”;所述“数据包抓取模块”包括“数据包过滤器”,“数据包缓存”;“数据包过滤器”筛选来自LVP-Bridge的数据包,将符合相应“筛选规则”的数据包放置到相应的“数据包缓存”中;
不同LVP工作模式下的筛选规则不同:
隧道模式中,筛选规则为“只接受源IP地址为LVP-L且目的地址为仿真服务器的IP数据包”;
解析模式中,筛选规则为“只接受LVP-L发送的链路层数据包”;
2)为使QualNet将数据包发送给LVP-L,对每一对LVP分配一个“数据包构建模块”,根据LVP-V收到的虚拟数据包,构造相应的真实数据包,从LVP-Bridge发给LVP-L;
3)在解析模式时,关闭LVP-V的IP及其上层协议的仿真功能,仅保留其链路层和物理层仿真功能;
初始化完成后,QualNet将各LVP以链表的形式组织起来;
步骤3,将真实数据包注入虚拟网络;
仿真运行后,QualNet工作于实时模式,虚拟网络同真实网卡保持时间同步;LVP-L发送的数据包,经过“数据包过滤器”的筛选后被放置在相应的“数据包缓存”中;QualNet设置定时器,定时器超时周期为T;每隔时间T,仿真器遍历一次LVP链表,将每一对LVP的“数据包缓存”中的数据包依次读出;每读取一个真实数据包,实物接口根据LVP所处的工作模式分别进行如下处理:
若LVP工作于隧道模式:
步骤3.a.1,只抓取IP数据包,帧结构中的协议类型字段为IP协议类型,否则报错;
步骤3.a.2,创建一个新的IP数据包,并将步骤3.a.1所抓获数据帧中的IP报文原封不动的复制到新创建的IP数据包中,加上新的IP报头;新报头字段中源IP地址、目的IP地址、生存时间按照真实数据包IP相应字段进行设置,协议类型字段设置为当前网络协议未采用的协议编号IPPROTO_LVP;通过IPPROTO_LVP识别新建IP数据包是虚拟数据包或者来自真实网络;LVP-V收到新建IP数据包后,若识别为虚拟数据包则将其上交上层协议,若识别为来自真实网络,则将其发送到真实网络中;
步骤3.a.3,将步骤3.a.2新建的IP数据包插入到相应LVP-V的IP发送队列中;
若LVP工作于解析模式:
步骤3.b.1,抓取链路层数据帧,解析数据帧的头部,根据其中“协议类型”字段判定上层报文的类型;若是IP报文,则调用IP报文解析函数进行识别;若是ARP报文则调用ARP报文解析函数进行识别;
步骤3.b.2,IP报文解析函数根据IP报文头部中的“协议类型”字段判定上层报文的类型;若是TCP报文,则调用TCP报文解析函数进行识别;若是UDP报文则调用UDP报文解析函数进行识别;若是ICMP报文,则调用ICMP报文解析函数进行识别;若是IGMP报文则调用IGMP报文解析函数进行识别;
步骤3.b.3,UDP报文解析函数根据UDP报文头中“端口号”判定上层报文的类型;若是RIP报文,则调用RIP报文解析函数进行识别;若是AODV报文则调用AODV报文解析函数进行识别;若是OSPF报文,则调用OSPF报文解析函数进行识别;若是OLSR报文则调用OLSR报文解析函数进行识别;
步骤3.b.4,上述解析完成后,QualNet创建一个新的虚拟数据包,并根据步骤3.b.2和步骤3.b.3解析获得的数据包各字段内容,设置虚拟数据包的各协议字段;
步骤3.b.5,把所创建虚拟数据包插入到相应LVP-V的MAC层发送队列中;
步骤4,数据包导出虚拟网络;
在虚拟网络中,虚拟数据包到达LVP-V时,根据LVP所处的工作模式,分别进行以下操作:
若为隧道模式:
LVP-V收到数据包后,若自身为此数据包的目的节点且数据包以IPPROTO_LVP作为标记,则去掉虚拟数据包IP头部,将去掉虚拟数据包IP头部后的数据包作为IP负载的源真实数据包,使用先前分配给LVP的“数据包构造模块”发给真实网络;
若为解析模式:
LVP-V调用LVP的“数据包构造模块”,根据此虚拟数据包构造链路层真实数据包;然后将此真实数据包通过LVP-Brideg发送给LVP-L,由真实节点接收、识别、处理此数据包。
2.根据权利要求1所述的一种面向QualNet网络半实物仿真的实物接入方法,其特征在于:多对LVP能共享一个LVP-Bridge。
3.根据权利要求1所述的一种面向QualNet网络半实物仿真的实物接入方法,其特征在于:实物接口对以下网络协议提供解析功能:RIP,PIM,OSPF,OSLR,AODV,UDP,TCP,ICMP,IGMP,ARP,IP;所述网络协议的解析函数按照协议标准对真实数据包的各协议字段进行解析、识别。
CN201310098333.8A 2013-03-26 2013-03-26 一种面向QualNet网络半实物仿真的实物接入方法 Expired - Fee Related CN103200190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310098333.8A CN103200190B (zh) 2013-03-26 2013-03-26 一种面向QualNet网络半实物仿真的实物接入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310098333.8A CN103200190B (zh) 2013-03-26 2013-03-26 一种面向QualNet网络半实物仿真的实物接入方法

Publications (2)

Publication Number Publication Date
CN103200190A CN103200190A (zh) 2013-07-10
CN103200190B true CN103200190B (zh) 2015-12-09

Family

ID=48722547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310098333.8A Expired - Fee Related CN103200190B (zh) 2013-03-26 2013-03-26 一种面向QualNet网络半实物仿真的实物接入方法

Country Status (1)

Country Link
CN (1) CN103200190B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901832B (zh) * 2015-05-18 2018-10-26 中国航空无线电电子研究所 一种航空自组网半实物网络仿真系统
CN105259793A (zh) * 2015-11-19 2016-01-20 中国人民解放军国防科学技术大学 基于aodv协议无线智能网络的卫星姿态控制仿真系统
CN105487407B (zh) * 2015-12-31 2018-06-12 中国人民解放军理工大学 实时控制Exata节点移动轨迹的方法
CN105681101B (zh) * 2016-02-29 2018-10-16 北京润科通用技术有限公司 一种数据包处理方法及装置
CN107070710B (zh) * 2017-03-31 2019-11-19 北京润科通用技术有限公司 一种通信终端半实物仿真方法及仿真系统
CN107547256A (zh) * 2017-07-06 2018-01-05 中国电力科学研究院 一种电力通信网半实物仿真方法及系统
CN108881425B (zh) * 2018-06-07 2020-12-25 中国科学技术大学 一种数据包处理方法及系统
CN109586953B (zh) * 2018-11-09 2020-12-15 中国科学院信息工程研究所 基于数学模型虚拟网络的数据通信交互方法与系统
CN109709824A (zh) * 2018-12-29 2019-05-03 百度在线网络技术(北京)有限公司 在环仿真方法、平台及系统、服务器、计算机可读介质
CN111600913B (zh) * 2020-07-22 2020-11-24 南京赛宁信息技术有限公司 一种网络靶场攻防场景真实设备自适应接入方法与系统
CN113162677B (zh) * 2021-03-31 2023-04-07 网络通信与安全紫金山实验室 一种实物设备与虚拟网络仿真平台的通信方法及装置
CN115314266A (zh) * 2022-07-27 2022-11-08 阿里云计算有限公司 访问控制方法、装置、电子设备及可读存储介质
CN117527610B (zh) * 2024-01-05 2024-03-19 南京信息工程大学 一种基于ns3网络仿真平台的数据链仿真方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065090A (zh) * 2010-12-30 2011-05-18 中国科学院长春光学精密机械与物理研究所 高帧频海量数据的实时通讯控制与存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380482B2 (en) * 2007-06-13 2013-02-19 The Boeing Company System and method for clock modeling in discrete-event simulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065090A (zh) * 2010-12-30 2011-05-18 中国科学院长春光学精密机械与物理研究所 高帧频海量数据的实时通讯控制与存储方法

Also Published As

Publication number Publication date
CN103200190A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103200190B (zh) 一种面向QualNet网络半实物仿真的实物接入方法
US8072992B2 (en) Interfacing real and virtual networks in hardware-in-the-loop (HITL) simulations
Fall Network emulation in the Vint/NS simulator
CN112866075B (zh) 面向Overlay网络的带内网络遥测方法、系统及相关装置
CN100369423C (zh) 网络仿真测试系统及方法
CN111565113B (zh) 用于sdn控制器的灵活以太网网络拓扑抽象方法及系统
CN108259333A (zh) 一种bum流量控制方法、相关装置以及系统
EP2456128B1 (en) Testing packet fragmentation
CN101383822A (zh) 航空电信网路由器虚拟机
CN105634923B (zh) 基于sdn控制器的以太网广播优化处理方法
CN114553752A (zh) 基于仿真软件的网络性能测试方法、装置和计算机设备
CN105323115A (zh) 一种网管测试事件的数据包模拟方法和装置
CN103001883A (zh) 一种基于NetFPGA的可编程虚拟路由器内部通信方法
CN109039709A (zh) 一种基于虚拟化的移动无线网络仿真与实验平台
CN114040408B (zh) 一种基于4g移动网络模拟环境的靶场系统
CN109005080B (zh) 一种分布式包转发实现方法、实现系统及自动化测试方法
CN112787902A (zh) 报文封装方法及装置、报文解封装方法及装置
CN105429901A (zh) 上行数据包转发方法及装置、下行数据包转发方法及装置
CN110120906A (zh) 用于实现双活接入trill园区边缘的方法和设备
CN104284383A (zh) 一种保持业务连续性的方法和装置
Chen et al. Norma: Towards Practical Network Load Testing
CN111800342B (zh) 一种基于ovs的nfv报文转发方法
CN205336305U (zh) 一种ns3并行模拟仿真系统用的硬件构架
Lai et al. A simulation suite for accurate modeling of IPv6 protocols
CN103825831A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151209

Termination date: 20200326