基于aodv协议的多节点自组网传输的模拟方法及模拟系统

文档序号:1925233 发布日期:2021-12-03 浏览:12次 >En<

阅读说明:本技术 基于aodv协议的多节点自组网传输的模拟方法及模拟系统 (AODV protocol-based multi-node ad hoc network transmission simulation method and simulation system ) 是由 何晨光 曲冠桥 叶亮 马琳 王雨 于 2021-09-03 设计创作,主要内容包括:基于AODV协议的多节点自组网传输的模拟方法及模拟系统,本发明涉及多节点自组网传输的模拟方法及模拟系统。本发明为了解决在真实节点受物理条件限制无法模拟出多节点通信时的通信情况并且利用仿真软件仿真的网络场景与真实物理世界相差较大的问题。过程为:一:使用四个真实的物理节点建立起仿真场景;二:在中继节点与服务器节点上运行指令传输的通信程序;三:屏蔽源节点与目的节点之间的路径,使源节点与目的节点在组网时不可互相发现;四:在源节点、中继节点、目的节点上运行能模拟多节点通信时跳数增加的AODV路由协议;五:在源节点、中继节点、目的节点上运行数据传输的通信程序。本发明用于多节点自组网传输的模拟领域。(The invention discloses an AODV protocol-based multi-node ad hoc network transmission simulation method and a simulation system, and relates to a multi-node ad hoc network transmission simulation method and a multi-node ad hoc network transmission simulation system. The invention aims to solve the problems that the real node is limited by physical conditions and cannot simulate the communication condition of multi-node communication, and the network scene simulated by simulation software is greatly different from the real physical world. The process is as follows: firstly, the method comprises the following steps: establishing a simulation scene by using four real physical nodes; II, secondly: running a communication program for instruction transmission on the relay node and the server node; thirdly, the method comprises the following steps: shielding a path between a source node and a destination node, so that the source node and the destination node cannot discover each other when networking; fourthly, the method comprises the following steps: the method comprises the steps that an AODV routing protocol capable of simulating hop count increase in multi-node communication is operated on a source node, a relay node and a destination node; fifthly: and running a communication program for data transmission on the source node, the relay node and the destination node. The invention is used in the field of simulation of multi-node ad hoc network transmission.)

基于AODV协议的多节点自组网传输的模拟方法及模拟系统

技术领域

本发明属于自组网通信领域,是一种利用计算机技术、无线通信和通信网络技术等来实现基于AODV协议的多节点自组网传输的模拟方法及模拟系统。

背景技术

随着自组网的快速发展与移动智能终端的快速普及,对自组网中节点设备通信的研究也在日益增加。通过在网络中部署路由协议,节点之间可以通过路由协议建立的路由进行信息的发送与接收。在这样的一个去中心化的分布式自组网中,源节点不必与中心节点(例如基站)进行通信,就可以将信息通过其他中继节点送到目的节点。这样做既可以大大降低网络的开销,也减轻了中心节点(例如基站)的通信负担,在一定程度上避免了阻塞的发生。例如在车载自组网中,由于路况信息与交通信息的时延敏感度不高,车辆节点可以将这些信息通过其他车辆节点中继传输给其他车辆。这样避免了同路段其他车辆节点向基站对相同信息的重复获取,在一定程度上减少了基站业务拥塞的可能。同时,通过短距离传输技术对该信息的广播或单播也在一定程度上减少了网络的开销。目前,最常用的路由协议有AODV路由协议、DSDV路由协议、DSR路由协议等。由于AODV路由协议为最短路径的按需路由协议,在这三种路由协议中,AODV路由协议使用的更为广泛。

在自组网中,由于没有中心节点的存在,信息是通过路由上的节点进行中继传输,所以在自组网中部署合适的路由协议就显得十分重要。在正式将路由协议部署到网络中前,验证路由协议是否可以正常运行是十分必要的。如果路由协议无法在大规模的节点中正常运行,将极大的影响它后续在大型网络中的部署与应用。所以在协议部署前模拟多节点通信的性能是不可缺少的一环。

当前,对路由协议在部署前的验证大致分为两种。一种是基于仿真软件的协议运行与通信仿真;一种是真实节点上的直接部署与验证。

基于软件的协议大多借助仿真软件NS-2(Network Simulator version 2)或OMNeT++。基于仿真软件验证的方式是首先建立一个多节点的通信场景,在通信场景中调用传输模型与接入协议,在运行路由协议后,节点之间建立起信息传输路径并完成信息传输。但是软件在仿真时使用的模型和参数较为简单与过时。这里以NS-2举例。NS-2软件通常使用的信道模型为两射线地面反射模型,虽然考虑了反射信号的干扰影响,但是相对于实际中的多径信号的影响较为简单,并且由于仿真软件只是搭建了一个只包含设定节点的简单通信场景,忽略了节点的复杂移动、节点的属性、真实世界中其他电磁信号的干扰等,所以使用仿真软件对协议的验证不能很好地反映真实条件下节点的通信性能。同时,由于NS-2软件开发时间较久远,该软件在模拟通信时定义的天线参数、任务队列等通信参数与现有技术使用的具体参数相比较为过时,不能很好地反映出当前主流通信技术的通信性能。基于仿真软件的路由协议的验证虽然操作较为简单,但是由于不能很好地反应真实世界中的通信性能,其可信度不高。所以利用真实节点进行协议验证十分重要。

将路由协议移植到真实节点上,虽然可以较好地反映出真实世界中的通信情况,但是当目标自组网为大型自组网,例如车载自组网,海量物联网时,少量的真实节点不足以显示出大型自组网的通信性能。如果将协议大量的移植到真实节点上,不仅会造成成本的浪费,同时也失去了对协议验证后再部署的意义。所以如何在真实节点上对路由协议在多节点中运行的情况做验证是自组网通信领域中值得研究的问题。

在AODV路由协议建立路由时,路由信息具有一定的存活时间,每被转发一次,该路由信息的存活时间便减一。当路由信息被多次转发至存活时间为零时,路由信息就会被节点抛弃,那么该路由信息就会失效,路由就无法成功建立,源节点若仍需要再次建立通往目的节点的路由时,就需要重新再次向目的节点发送路由信息,此时就会造成路由开销的提升。在多节点的自组网中,当节点增加时,路由信息被多次转发的概率大大提高,所以在验证路由协议在多节点通信时模拟多跳数的路由是否能成功建立是十分必要的。

同时,对于多节点通信而言,当源节点与目的节点中的中继节点增多时,源节点与目的节点之间的传输时延就会增加。路由在建立好后其存在时间是有一定限制的,同时如果节点本身离开或损毁也会导致路由断链。当传输时延增加,路由可能因为超时或断链而失效。所以在验证路由协议在多节点长时延通信时模拟路由是否稳定也非常重要。

发明内容

本发明的目的是为了解决在真实节点受物理条件限制无法模拟出多节点通信时的通信情况并且利用仿真软件仿真的网络场景与真实物理世界相差较大的问题,而提出基于AODV协议的多节点自组网传输的模拟方法及模拟系统。

基于AODV协议的多节点自组网传输的模拟方法具体过程为:

步骤一:使用四个真实的物理节点建立起仿真场景,其中一个节点代表通信源节点,一个节点代表通信目的节点,一个节点代表源节点与目的节点中的中继节点,一个节点代表向中继节点发送指令的服务器节点;

步骤二:在中继节点与服务器节点上运行指令传输的通信程序;

步骤三:屏蔽源节点与目的节点之间的路径,使源节点与目的节点在组网时不可互相发现;

步骤四:在源节点、中继节点、目的节点上运行能模拟多节点通信时跳数增加的AODV路由协议;

步骤五:在源节点、中继节点、目的节点上运行数据传输的通信程序。

基于AODV协议的多节点自组网传输的模拟系统用于执行基于AODV协议的多节点自组网传输的模拟方法。

本发明的有益效果为:

本发明内容利用真实节点提出了基于AODV协议的多节点自组网传输的模拟方法及模拟系统,主要是模拟多节点通信的传输时延与跳数。在真实源节点与真实目的节点之间部署一个真实中继节点,通过外部服务器向该真实中继节点发送指令,将一个真实中继节点模拟成多个虚拟中继节点,进而模拟出真实源节点与真实目的节点之间使用多节点进行中继传输的情况。该方法可以有效地模拟出多节点通信时的通信情况,为后续即将大面积部署到节点中的路由协议做验证。解决了在真实节点受物理条件限制无法模拟出多节点通信时的通信情况以及利用仿真软件仿真的网络场景与真实物理世界相差较大的问题。

附图说明

图1是使用四个真实节点所构成的网络拓扑示意图;

图2是在加入跳数模拟信息与传输时延模拟信息的网络拓扑示意图;

图3是服务器节点发送指令的流程图;

图4是中继节点接收指令的流程图;

图5是基于AODV路由协议跳数增加的实现方法的流程图;

图6是源节点发送数据的流程图;

图7是中继节点转发数据的流程图;

图8是目的节点接收数据的流程图;

图9是服务器节点发送指令信息图;

图10是中继节点接收指令信息图;

图11是源节点上发送数据信息图;

图12是在中继节点中加入指令前,源节点中观察目的节点的跳数图;

图13是在中继节点中加入指令后,源节点中观察目的节点的跳数图;

图14是中继节点上转发数据信息图;

图15是目的节点接收数据信息图。

具体实施方式

具体实施方式一:本实施方式基于AODV协议的多节点自组网传输的模拟方法具体过程为:

步骤一:使用四个真实的物理节点建立起仿真场景,其中一个节点代表通信源节点,一个节点代表通信目的节点,一个节点代表源节点与目的节点中的中继节点,一个节点代表向中继节点发送指令的服务器节点;

具体拓扑结构与信息流如图1所示;

步骤二:在中继节点与服务器节点上运行指令传输的通信程序;

步骤三:屏蔽源节点与目的节点之间的路径,使源节点与目的节点在组网时不可互相发现;

步骤四:在源节点、中继节点、目的节点上运行能模拟多节点通信时跳数增加的AODV路由协议;在源节点、中继节点、目的节点组网后,具体网络拓扑与信息流如图1所示;

步骤五:在源节点、中继节点、目的节点上运行数据传输的通信程序。

源节点使用数据传输的通信程序借助中继节点向目的节点发送信息,当服务器没有向中继节点发送模拟跳数与传输时延的指令时,该信息将由中继节点直接转发给目的节点,此时在源节点路由表中显示目的节点的跳数为两跳,此时传输时延接近零秒;

在服务器节点上输入需要模拟的跳数与传输时延,通过指令传输的通信程序发送到中继节点;该步骤使用源节点与目的节点之间一个真实的物理节点来模拟多个中继节点的情况;此时具体的网络拓扑与信息流如图2所示;

此时源节点再次通过数据传输通信程序向目的节点发送信息,此时在中继节点上运行的路由协议将会读取中继节点记录的所需模拟的跳数;同时在中继节点上运行的数据传输通信程序也会读取中继节点记录的所需模拟的传输时延,进而模拟出源节点向目的节点通信时经过多中继节点的跳数与传输时延。此时在源节点路由表中显示目的节点的跳数增加了相应所需模拟的跳数信息;在目的节点的数据传输通信程序界面上显示的信息接收时刻与源节点的数据传输通信程序界面上显示的信息发送时刻相差的时间为服务器节点发来的传输时延信息。

本发明的意义在于只使用少量真实物理节点就完成了对路由协议在多节点自组网中通信时的路由跳数与数据通信的传输时延的模拟。该方法可以有效验证路由在多节点通信时是否可以完成建立与保持稳定,在验证路由协议的可行性时既反映了真实世界节点的通信情况,又在一定程度上节约了成本的开销。

具体实施方式二:本实施方式与具体实施方式一不同的是,所述步骤二中在中继节点与服务器节点上运行指令传输的通信程序;具体过程为:

步骤二一:服务器节点使用指令传输通信程序进行指令发送;

步骤二二:中继节点使用指令传输通信程序进行指令接收。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述步骤二一中服务器节点使用指令传输通信程序进行指令发送;具体过程为:

指令传输的通信程序要求服务器节点向中继节点发送传输的指令,指令包括跳数信息与传输时延信息;

当服务器节点有待传向中继节点的指令时,服务器节点会调用时间信息显示此时服务器节点发送该条信息的时刻,同时将该信息通过端口发送到中继节点并显示服务器节点IP地址向中继节点IP地址发送以及发送指令内容;

所述发送指令内容为跳数信息和传输时延信息。

具体流程图如图3所示。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述步骤二二中中继节点使用指令传输通信程序进行指令接收;具体过程为:

指令传输的通信程序首先持续监听与步骤二一中同一端口号的端口上收到的指令;其次,当该端口收到指令后,中继节点会将接收到的需要模拟的跳数信息和传输时延信息存储在中继节点中;最后调用时间信息显示此时中继节点接收该条信息的时刻,并显示中继节点IP地址接收自服务器节点IP地址以及接收指令内容;

所述接收指令内容为跳数信息和传输时延信息。

具体流程图如图4所示。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是,所述步骤四中在源节点、中继节点、目的节点上运行能模拟多节点通信时跳数增加的AODV路由协议;具体过程为:

步骤四一:在源节点、中继节点、目的节点完成组网后,此时在源节点路由表中看不到目的节点的信息;这是因为源节点与目的节点之间的路径已经被屏蔽,它们在组网时不可互相发现对方,源节点路由表中没有通往目的节点的路由。

步骤四二:服务器节点向中继节点发送指令信息,指令信息包括模拟多节点通信的跳数信息与延时信息;

中继节点存储模拟多节点通信的跳数信息与延时信息;

步骤四三:源节点发起到目的节点的通信,判断源节点是否存在通往目的节点的路由,若存在,源节点与目的节点进行通信;若不存在,源节点会发送通往目的节点的路由请求信息;当中继节点收到该路由请求信息时,首先会判断中继节点自己是否有通往目的节点的路由;

当中继节点的路由表里包含通往目的节点的路由时,中继节点会读取存储在中继节点中的所需模拟的跳数信息,并创建一个路由回复分组,所述路由回复分组的跳数信息增加了所需模拟的跳数信息(所述路由回复分组的跳数信息为在原有的跳数信息基础上再增加所需模拟的跳数信息);中继节点会将路由回复分组向源节点进行发送,当源节点收到路由回复分组后,完成路由建立;

当中继节点的路由表里不包含通往目的节点的路由时,中继节点将接收到的路由请求信息广播至其他节点;

“广播至其他节点”这句话的意思其实是如果中继节点自身没有通往目的节点的路由,它就会把收到的路由请求信息广播给别的节点,这个新的节点就又成为了中继节点,它会接着判断自己是否有通往目的节点的路由,有的话就建立,没有的话就再广播给其他节点,以此类推直到找到目的节点或者直到找到包含通往目的节点路由的节点;

因为路由请求信息是有存活时长的,如果广播了很多次都没有找到路由,那这个路由请求信息就被丢弃了,原节点要么再次发送路由请求信息要么就不再找目的节点了;

在源节点路由表观察目的节点的信息发现源节点通往目的节点的跳数已经被增加了所需模拟的多节点通信时的跳数信息,完成多节点通信时的跳数模拟。

基于AODV路由协议模拟跳数增加的实现方法具体流程如图5所示。

其它步骤及参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是,所述步骤五中在源节点、中继节点、目的节点上运行数据传输的通信程序;具体过程为:

步骤五一:源节点使用数据传输的通信程序进行数据发送;

步骤五二:中继节点使用数据传输的通信程序进行数据转发;

步骤五三:目的节点使用数据传输的通信程序进行数据接收;

步骤五四:通过比较源节点发送信息的时刻与目的节点接收信息的时刻,完成多节点通信时的传输时延模拟。

其它步骤及参数与具体实施方式一至五之一相同。

具体实施方式七:本实施方式与具体实施方式一至六之一不同的是,所述步骤五一中源节点使用数据传输的通信程序进行数据发送;具体过程为:

步骤五一一:数据传输的通信程序(本发明源节点、中继节点和目的节点的传输使用的是数据传输的通信程序;本发明服务器和中继节点的传输使用的是指令传输的通信程序;同时值得注意的是,在中继节点中运行了两套通信程序);首先判断场景是否需要进行多节点通信模拟;

当场景不需要进行多节点通信模拟时,结束(模拟过程结束,节点进行本身具有的其他功能);

当场景需要进行多节点通信模拟时,数据传输的通信程序会指定当前节点担任源节点并指定中继节点为下一跳,执行步骤五一二;

步骤五一二:数据传输的通信程序要求在源节点输入需要向目的节点传输的信息;

步骤五一三:当源节点没有待传向目的节点的信息时,执行步骤五一二;

步骤五一四:当源节点有待传向目的节点的信息时,源节点会调用时间信息显示源节点发送该条信息的时刻并将该信息通过端口发送到中继节点;执行步骤五一五;

步骤五一五:判断源节点是否是第一次向目的节点发送信息,若是,执行步骤五一六;若否,源节点向目的节点传输信息,执行步骤五一七;

步骤五一六:源节点通过ping命令借助路由协议寻找到目的节点的路由并进行建立,源节点向目的节点传输信息,执行步骤五一七;

步骤五一七:数据传输的通信程序显示源节点IP地址向中继节点IP地址发送以及源节点发送的信息内容,执行步骤五一二;该步骤具体流程如图6所示。

其它步骤及参数与具体实施方式一至六之一相同。

具体实施方式八:本实施方式与具体实施方式一至七之一不同的是,所述步骤五二中中继节点使用数据传输的通信程序进行数据转发;具体过程为:

步骤五二一:数据传输的通信程序首先判断场景是否需要进行多节点通信模拟;

当场景不需要进行多节点通信模拟时,结束(模拟过程结束,节点进行本身具有的其他功能);

当场景需要进行多节点通信模拟时,数据传输的通信程序会指定当前节点担任中继节点并指定目的节点为下一跳,执行步骤五二二;

步骤五二二:读取存储在中继节点中的服务器节点发来的传输时延的模拟信息;数据传输的通信程序持续监听与步骤五一四中同一端口号的端口收到的信息;

步骤五二三:当与步骤五一四中同一端口号的端口收到信息后,中继节点调用时间信息显示此时中继节点接收该条信息的时刻,并显示中继节点IP地址接收自源节点IP地址以及与步骤五一四中同一端口号的端口接收到的信息内容(源节点传输的信息,也是中继节点接收信息);

步骤五二四:当该端口收到信息后,中继节点会按照服务器节点要求模拟的传输时延信息挂起相应时长,将步骤五二三接收的信息通过另一端口发送到目的节点,同时调用时间信息显示此时中继节点发送步骤五二三接收的信息的时刻并显示中继节点IP地址向目的节点IP地址发送以及步骤五二三接收的信息内容;该步骤具体流程如图7所示。

其它步骤及参数与具体实施方式一至七之一相同。

具体实施方式九:本实施方式与具体实施方式一至八之一不同的是,所述步骤五三中目的节点使用数据传输的通信程序进行数据接收;具体过程为:

步骤五三一:数据传输的数据传输的通信程序首先判断场景是否需要进行多节点通信模拟;

当场景不需要进行多节点通信模拟时,结束(模拟过程结束,节点进行本身具有的其他功能);

当场景需要进行多节点通信模拟时,数据传输的通信程序会指定当前节点担任目的节点,执行步骤五三二;

步骤五三二:数据传输的通信程序持续监听端口(步骤五二四中同一端口号上的端口)上是否收到中继节点的信息;

步骤五三三:若端口没有收到中继节点的信息,则执行步骤五三二;

若端口收到中继节点的信息,目的节点调用时间信息显示此时目的节点接收该条信息的时刻,并显示目的节点IP地址接收自中继节点IP地址以及步骤五二三接收的信息内容;该步骤具体流程如图8所示。

其它步骤及参数与具体实施方式一至八之一相同。

具体实施方式十:本实施方式基于AODV协议的多节点自组网传输的模拟系统,该系统用于执行具体实施方式一至具体实施方式九之一的一种基于AODV协议的多节点自组网传输的模拟方法。

采用以下实施例验证本发明的有益效果:

实施例一:

图9至图15解释:

服务器节点的IP地址为10.10.10.3

中继节点的IP地址为10.10.10.4

源节点的IP地址为10.10.10.5

目的节点的IP地址为10.10.10.6

图9为服务器节点向中继节点(10.10.10.4)发送指令信息,具体指令内容为跳数增加26跳,传输时延增加7秒。

图10为中继节点收到图9中服务器节点(10.10.10.3)发送的指令信息,具体指令内容为跳数增加26跳,传输时延增加7秒。

图11为在源节点(10.10.10.5)中人为使用键盘输入数据信息,并将该信息发送到中继节点(10.10.10.4)上的过程,部分发送过程如表1所示。

表1源节点部分发送过程

发送时间 数据内容
…… ……
15时40分22秒 quiz2
15时40分41秒 quiz3
15时41分1秒 quiz4
…… ……

图12为在中继节点中加入指令前,源节点(10.10.10.5)中距离目的节点(10.10.10.6)的跳数(在表中跳数信息被表示为HC),可以看到,在未进行模拟跳数信息时,源节点(10.10.10.5)中距离目的节点(10.10.10.6)的跳数为2跳(这是因为源节点与目的节点之间的路由上还存在一个中继节点,所以跳数为两跳)。

图13为在中继节点中加入指令后,源节点(10.10.10.5)中距离目的节点(10.10.10.6)的跳数(在表中跳数信息被表示为HC),可以看到,在模拟跳数信息为26跳时,源节点(10.10.10.5)中距离目的节点(10.10.10.6)的跳数为28跳,通过比较图12与图13中源节点距离目的节点的跳数,可以发现此时跳数信息被增加了26跳,即成功模拟了所需模拟的26跳的跳数信息。

图14为在中继节点接收来自源节点(10.10.10.5)的数据信息,并将数据信息经过延时7秒后转发到目的节点(10.10.10.6)的过程,部分转发过程如表2所示。

表2中继节点部分转发过程

图15为在目的节点接收来自中继节点(10.10.10.4)延时转发的数据信息(该数据信息最开始来自源节点10.10.10.5的人为输入),部分接收过程如表3所示。

表3目的节点部分接收过程

接收时间 接收内容
…… ……
15时40分29秒 quiz2
15时40分48秒 quiz3
15时41分8秒 quiz4
…… ……

通过比较表1和表3中相同数据信息在源节点中的发送时刻和在目的节点中的接收时刻,可以发现此时传输时延被增加了7秒,即成功模拟了所需模拟的7秒传输时延。

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种路由表创建方法、PE设备、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!