论文部分内容阅读
基于OPNET的多数据链组网设计与仿真
操振宇
(中国电子科技集团第28研究所,江苏南京 210007)
摘 要 战术数据链是数据通信技术在军事方面的典型应用,而组网技术的研究是数据链系统工作的关键之一。随着多种数据链的开发应用,从而提出多数据链协同互联和互操作的问题。文章针对多数据链组网提出一种设计方案,并通过OPNET网络仿真软件予以验证,仿真结果表明该方案的有效性和可行性。
关键词 战术数据链;多链协同;组网技术;OPNET
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)10-0034-02
战术数据链是一种按照统一的数据格式和通信协议以无线信道为主对信息进行实时、准确、自动、保密传输的数据通信系统。数据链系统通过一套标准的通信设备,将武器系统、显示系统、指挥控制系统等链为一体,通过信息处理、交换、分发来完成战场信息共享和控制功能,以便为指挥员迅速、正确地进行指挥决策提供及时、准确的战场态势信息和实现全军的情报资源共享。
战术数据链在现代战争中发挥着极其重要的作用,数据链的建设是信息化战争发展的重要标志之一,数据链的应用水平在很大程度上决定着信息化战争的水平和能力。信息化武器的一个重要特点就是武器平台之间实现横向组网,并融入信息网络系统,达成信息资源共享,从而最大程度提高武器平台的效能[1]。
美军是发展和应用数据链最早的军队之一,早在20世纪50年代就开始研制点对点的单军种数据链。时至今日,美军战术数据链的发展已经达到了相当高的水平,已研制出多种战术数据链,应用较广泛的主要有Link-4A/4C,Link-11/1lB、Link-16以及Link-22等多种数据链。为了适应信息化战争的需要,各国军队的指挥体制将加速向“扁平化”、“网络化”发展。在作战控制方面,将充分利用信息技术优势,建立“无缝隙”的指挥控制系统,真正实现三军互联、互通、互操作。如美军正在加紧建设的“全球信息栅格(GIG)”,旨在实现全球范围的信息优势,即在正确的时间,将正确的信息以正确的形式安全可靠地传送给正确的接收者,同时压制敌方谋求同样能力的企图。
随着数据链技术的迅猛发展,多种型号的数据链被研制开发运用到武器作战装备,同时使用多种数据链,可以起到取长补短、互为备份和提高抗毁性的作用。这就使得多种数据链并存和综合应用成为一种必然,从而提出多数据链协同互联和互操作的问题[2][3]。多数据链协同互联的关键是数据转发、自动路由以及链路的配置与控制等[4]。文献[5]对多种数据链综合分析了技术难度以及解决途径。随着“网络中心战”作战理念的提出,各种数据链之间实现协同互联和互操作的要求日益凸现,本文针对多数据链综合组网提出一种方案,并利用OPNET网络仿真软件对其进行仿真验证,仿真结果表明该方案能较好地解决多链协同互联中数据转发、路由等问题。
1 多类型数据链协同互联设计
本文假定的联合作战背景条件下,整个战场配置了多种类型的战术数据链;同时,支持地面指挥中心、预警机、卫星、作战飞机等多种类型的节点。每种节点针对实际需求所支持的数据链,配置了完备的节点模型库,使得每种数据链均有至少一类节点支持;每种节点至少支持一种数据链。其中,中心节点(例如预警机、地面指挥中心)支持多种数据链,实现数据转发、多链综合等功能。为增强系统的抗毁性和可靠性,对于应用层产生的不同应用数据类型,采用多数据链配置的方式,提供备份配置。
由于中心节点支持多种数据链类型,组网时本文提出多数据链、多IP的设计方式:为了识别每一种型号的数据链,网络层不再给每个节点分配一个IP地址,而是针对每个节点所支持的每种数据链各分配一个IP地址,并且节点支持的每种数据链各自维护一张本类型数据链的邻居表,即每种数据链各自组成一个子网,而中心节点则位于不同数据链子网之间的交点,如图1所示。有了IP地址和邻居表,单个数据链子网内的信息传递即可按照普通的TCP/IP协议来完成;如果信息要在不同的数据链子网之间转发,则需要中心节点根据数据链的配置规则进行相应数据链之间的切换。
图1 多数据链互联方案示意图
考虑到实际的网络规模不会很大,节点数约为几十个,网络层路由协议采用最短路径路由协议,每个节点的每种数据链都维护各自的邻居表,该表的结构为:
邻居节点ID 邻居中继优先级 最近一次更新时间
为实现最短路径,即总跳数最少,本文给每一类节点均设计了节点的中继优先级参数。该参数是指,当信息需要转发时,选择中继节点的先后顺序。节点的中继优先级越高,越优先选择该节点进行转发。本文中几种类型的节点,集成了多种链路的中心节点的优先级最高,因此,大多数情况下都是由中心节点来中继转发消息,从而减小消息发送的总跳数。此外,邻居表具有一定的时效性,当收到同一节点ID的路由消息时,总是更新最近一次的消息;如果超过一定时间还未收到某节点的消息,则在邻居表中删除该节点,表明该节点已失效或者已退网。
网络层以下仍旧采用常见的处理方式,MAC层使用TDMA方式接入,给每个节点分配相应的时隙,时隙分配策略采用轮询机制,只有到本节点的时隙,才可以发送数据;物理层使用无线收发机组和全向天线来收发数据。
2 OPNET仿真验证
为验证上述方案,本文使用OPNET网络仿真软件设计相应的仿真场景予以验证。OPNET是一款广泛应用的网络建模和仿真工具,具有先进的建模机制、完备的模型库、完善的外部接口等优点。OPNET采用离散事件驱动仿真,提供了三层建模机制[6]:最上层为网络层,反映网络的拓扑结构;中间层为节点层,由相应的功能模块构成,反映设备特性;最底层为进程层,用有限状态机(FSM)来描述通信的各个状态。OPNET还允许用户使用有限状态机自行开发协议,并提供了丰富的类C语言库函数[7],可以方便地实现复杂的协议,是网络设计中常用的仿真平台。 多数据链协同互联设计的关键在于集成了多种类型数据链的中心节点功能的设计和实现,而预警机节点是支持多种链路并且中继优先级较高的中心节点,因此本文以预警机节点为例,介绍数据转发、多链集成与控制、路由等功能的设计与实现。
2.1 节点建模
预警机节点的节点模型如图2所示。
图2 预警机节点模型
形式上参考了网络分层体系,采用层次化设计,主要分为应用层、网络层、MAC层、物理层等四层。从上到下,首先是Application Layer,该层主要用于简单模拟应用层的功能,产生网络层所需要发送的包含各种应用、优先级的数据包,并且接收网络层发送来的数据包,对统计量进行统计。Network Layer为本仿真的核心部分,完成多项重要功能。比如在组网阶段,参与完成网络的组建;在入网阶段,实现新结点的入网;在正常通信阶段,完成邻居表的更新和维护等任务。从数据流向看,该层起到承上启下的作用,将应用层传来的数据增加IP头之后交给MAC层,同时将MAC层传来的数据包去掉IP头之后,发送给应用层。MAC Layer,该层主要功能在于产生时隙,简单的模拟以TDMA工作方式收发数据。PHY Layer,该层模拟的是物理层的功能,包括一组无线收发机和一个全向天线,用以收发数据。
从图2可见,预警机节点支持四种类型的数据链,在每种数据链的网络层模块(ip)的临近,各有一个路由管理模块(rte_mgr),该模块实现了各链路网络层邻居表的创建、维护、查找、删除等功能,当消息需要转发时,在邻居表中查询中继节点,给出下一跳节点的ID号,完成路由功能。
本节点模型突出的设计是在应用层与网络层之间增添了一个仲裁(arbitrator)模块,该模块实现了多种数据链的集成与管理功能:根据上层不同的应用数据类型,予以不同的数据链配置;如果消息需要在不同种类的数据链网络中转发,则根据目标节点支持的数据链种类,选择相对应的数据链类型发送。
2.2 进程建模
进程模型通过有限状态机(FSM)的状态转移图(STD)来支持节点各功能的实现,用户可根据实际需求自行编写进程模型。下面详细介绍上节重点分析的两个模块rte_mgr和arbitrator的进程模型。
rte_mgr是路由管理模块,实现对邻居表的管理和维护,上层待发送的数据包到达这个模块,都会根据目的节点和邻居表给出下一跳节点的ID号,对数据的走向起到引导作用;或者当消息需要多跳中继转发时,则根据邻居表给出中继节点的ID号。
该进程模型主要功能为,根据收到的不同数据,进行相应的处理:例如定期检查邻居表状态,网络中的每个节点需定期发送keepalive消息以通知邻居节点本节点的存在,用以维护相应数据链的邻居表,本节点定期(本文设为300秒,可根据需要灵活设置)检查,如果未收到该节点的keepalive消息,则认为该节点已失效或者已退网,在邻居表中删除该节点;查询和维护邻居表状态,如果收到的是节点的入网退网消息,则对邻居表进行加入和删除操作,若收到的是需要发送的消息,则查询邻居表,给出下一跳节点的ID号。
邻居表的数据结构定义为:
#define MAX_ROUTES 32
typedef struct {
int neighbour_node_id;
int relay_priority;
double record_time;
} my_Route;
my_Route RoutingTable[MAX_ROUTES];
neighbour_node_id为邻居节点的ID号,是识别节点的重要信息;relay_priority为节点的中继优先级,当转发消息时,尽量发往中继优先级高的节点,也就是集成了多种数据链的中心节点;record_time记录了当前维护进邻居表的时间,用来表明该条路由信息的时效性。
arbitrator模块是实现多种数据链集成与管理的核心模块,该进程的主要功能是根据不同的上层应用数据选择相应的数据链传输,完成中心节点集成管理多种数据链的任务。
实现选择切换数据链功能的函数原型为:
static int first_link(int data_type); //首选配置链路
static int secondary_link(int data_type); //次选配置链路
static int last_link(int data_type); //最末配置链路
static Boolean is_support_this_link(int node_id , int data_link);//是否支持链路
前3个函数实现数据链的首选配置以及备份配置,第4个函数则是用来判断某个节点是否支持某种数据链,若源节点和目标节点均支持该种数据链,则用该数据链发送消息。
2.3 仿真场景与结果分析
仿真场景的想定为,卫星节点欲通过A数据链向作战飞机节点发送数据,而作战飞机只支持B、C两种数据链,不支持A链,因此,需要中心节点中继转发并切换传输链路:卫星先通过A链与中继节点通信,然后中继节点再根据B、C链的优先级选择一条链路向作战飞机传输数据。想定中中心节点有两种:地面指挥中心节点和预警机节点。由于地面指挥中心的中继优先级最高,因此,当指挥中心在网内时,信息将由指挥中心中继;当某一时刻指挥中心退网后,此后的信息将由预警机负责中继。
仿真过程中卫星节点的邻居表如图3所示,对比左右两幅图可以看出,当指挥中心(ID号10000)退网之后,卫星的邻居表中便没有指挥中心(10000)了。图4是卫星节点前后发送的数据包内容比较,最初指定中继优先级最高的地面指挥中心(10000)中继,当指挥中心退网后,由于卫星的邻居表里没有指挥中心,于是便指定下一个中继节点预警机(20100)中继。仿真结果与场景设计分析的结果一致。
3 结束语
多数据链综合组网应用是一个相当复杂的工程,本文提出了一种基于多IP地址分配实现各类型数据链协同互联的实用方案,并利用仿真软件设计仿真场景予以验证,仿真结果表明,该方案具有一定的可行性和工程应用价值,可为进一步的研究工作奠定基础。
图3 卫星节点的邻居表对比
图4 卫星节点选择中继节点策略的变化
参考文献
[1]孙义明,杨丽萍主编.信息化战争中的战术数据链[M].北京邮电大学出版社,2004.
[2]周春福,黄鹍.多数据链综合组网应用及其信息分发与处理[J].舰船电子工程,2010,30(7).
[3]陈水全,谌双双.联合作战数据链互连网重组技术[J].舰船电子工程,2011,31(7).
[4]许宏泉,王春生,张海波.海上联合作战数据链组网技术[J].舰船电子工程,2008,28(8).
[5]李富强,许锐.国外多种数据链综合应用研究[J].现代电子技术,2010(16).
[6]王文博,张金文.OPNET Modeler与网络仿真[M].北京:人民邮电出版社,2003.
[7]陈敏.OPNET网络仿真[M].清华大学出版社,2004.
操振宇
(中国电子科技集团第28研究所,江苏南京 210007)
摘 要 战术数据链是数据通信技术在军事方面的典型应用,而组网技术的研究是数据链系统工作的关键之一。随着多种数据链的开发应用,从而提出多数据链协同互联和互操作的问题。文章针对多数据链组网提出一种设计方案,并通过OPNET网络仿真软件予以验证,仿真结果表明该方案的有效性和可行性。
关键词 战术数据链;多链协同;组网技术;OPNET
中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2014)10-0034-02
战术数据链是一种按照统一的数据格式和通信协议以无线信道为主对信息进行实时、准确、自动、保密传输的数据通信系统。数据链系统通过一套标准的通信设备,将武器系统、显示系统、指挥控制系统等链为一体,通过信息处理、交换、分发来完成战场信息共享和控制功能,以便为指挥员迅速、正确地进行指挥决策提供及时、准确的战场态势信息和实现全军的情报资源共享。
战术数据链在现代战争中发挥着极其重要的作用,数据链的建设是信息化战争发展的重要标志之一,数据链的应用水平在很大程度上决定着信息化战争的水平和能力。信息化武器的一个重要特点就是武器平台之间实现横向组网,并融入信息网络系统,达成信息资源共享,从而最大程度提高武器平台的效能[1]。
美军是发展和应用数据链最早的军队之一,早在20世纪50年代就开始研制点对点的单军种数据链。时至今日,美军战术数据链的发展已经达到了相当高的水平,已研制出多种战术数据链,应用较广泛的主要有Link-4A/4C,Link-11/1lB、Link-16以及Link-22等多种数据链。为了适应信息化战争的需要,各国军队的指挥体制将加速向“扁平化”、“网络化”发展。在作战控制方面,将充分利用信息技术优势,建立“无缝隙”的指挥控制系统,真正实现三军互联、互通、互操作。如美军正在加紧建设的“全球信息栅格(GIG)”,旨在实现全球范围的信息优势,即在正确的时间,将正确的信息以正确的形式安全可靠地传送给正确的接收者,同时压制敌方谋求同样能力的企图。
随着数据链技术的迅猛发展,多种型号的数据链被研制开发运用到武器作战装备,同时使用多种数据链,可以起到取长补短、互为备份和提高抗毁性的作用。这就使得多种数据链并存和综合应用成为一种必然,从而提出多数据链协同互联和互操作的问题[2][3]。多数据链协同互联的关键是数据转发、自动路由以及链路的配置与控制等[4]。文献[5]对多种数据链综合分析了技术难度以及解决途径。随着“网络中心战”作战理念的提出,各种数据链之间实现协同互联和互操作的要求日益凸现,本文针对多数据链综合组网提出一种方案,并利用OPNET网络仿真软件对其进行仿真验证,仿真结果表明该方案能较好地解决多链协同互联中数据转发、路由等问题。
1 多类型数据链协同互联设计
本文假定的联合作战背景条件下,整个战场配置了多种类型的战术数据链;同时,支持地面指挥中心、预警机、卫星、作战飞机等多种类型的节点。每种节点针对实际需求所支持的数据链,配置了完备的节点模型库,使得每种数据链均有至少一类节点支持;每种节点至少支持一种数据链。其中,中心节点(例如预警机、地面指挥中心)支持多种数据链,实现数据转发、多链综合等功能。为增强系统的抗毁性和可靠性,对于应用层产生的不同应用数据类型,采用多数据链配置的方式,提供备份配置。
由于中心节点支持多种数据链类型,组网时本文提出多数据链、多IP的设计方式:为了识别每一种型号的数据链,网络层不再给每个节点分配一个IP地址,而是针对每个节点所支持的每种数据链各分配一个IP地址,并且节点支持的每种数据链各自维护一张本类型数据链的邻居表,即每种数据链各自组成一个子网,而中心节点则位于不同数据链子网之间的交点,如图1所示。有了IP地址和邻居表,单个数据链子网内的信息传递即可按照普通的TCP/IP协议来完成;如果信息要在不同的数据链子网之间转发,则需要中心节点根据数据链的配置规则进行相应数据链之间的切换。
图1 多数据链互联方案示意图
考虑到实际的网络规模不会很大,节点数约为几十个,网络层路由协议采用最短路径路由协议,每个节点的每种数据链都维护各自的邻居表,该表的结构为:
邻居节点ID 邻居中继优先级 最近一次更新时间
为实现最短路径,即总跳数最少,本文给每一类节点均设计了节点的中继优先级参数。该参数是指,当信息需要转发时,选择中继节点的先后顺序。节点的中继优先级越高,越优先选择该节点进行转发。本文中几种类型的节点,集成了多种链路的中心节点的优先级最高,因此,大多数情况下都是由中心节点来中继转发消息,从而减小消息发送的总跳数。此外,邻居表具有一定的时效性,当收到同一节点ID的路由消息时,总是更新最近一次的消息;如果超过一定时间还未收到某节点的消息,则在邻居表中删除该节点,表明该节点已失效或者已退网。
网络层以下仍旧采用常见的处理方式,MAC层使用TDMA方式接入,给每个节点分配相应的时隙,时隙分配策略采用轮询机制,只有到本节点的时隙,才可以发送数据;物理层使用无线收发机组和全向天线来收发数据。
2 OPNET仿真验证
为验证上述方案,本文使用OPNET网络仿真软件设计相应的仿真场景予以验证。OPNET是一款广泛应用的网络建模和仿真工具,具有先进的建模机制、完备的模型库、完善的外部接口等优点。OPNET采用离散事件驱动仿真,提供了三层建模机制[6]:最上层为网络层,反映网络的拓扑结构;中间层为节点层,由相应的功能模块构成,反映设备特性;最底层为进程层,用有限状态机(FSM)来描述通信的各个状态。OPNET还允许用户使用有限状态机自行开发协议,并提供了丰富的类C语言库函数[7],可以方便地实现复杂的协议,是网络设计中常用的仿真平台。 多数据链协同互联设计的关键在于集成了多种类型数据链的中心节点功能的设计和实现,而预警机节点是支持多种链路并且中继优先级较高的中心节点,因此本文以预警机节点为例,介绍数据转发、多链集成与控制、路由等功能的设计与实现。
2.1 节点建模
预警机节点的节点模型如图2所示。
图2 预警机节点模型
形式上参考了网络分层体系,采用层次化设计,主要分为应用层、网络层、MAC层、物理层等四层。从上到下,首先是Application Layer,该层主要用于简单模拟应用层的功能,产生网络层所需要发送的包含各种应用、优先级的数据包,并且接收网络层发送来的数据包,对统计量进行统计。Network Layer为本仿真的核心部分,完成多项重要功能。比如在组网阶段,参与完成网络的组建;在入网阶段,实现新结点的入网;在正常通信阶段,完成邻居表的更新和维护等任务。从数据流向看,该层起到承上启下的作用,将应用层传来的数据增加IP头之后交给MAC层,同时将MAC层传来的数据包去掉IP头之后,发送给应用层。MAC Layer,该层主要功能在于产生时隙,简单的模拟以TDMA工作方式收发数据。PHY Layer,该层模拟的是物理层的功能,包括一组无线收发机和一个全向天线,用以收发数据。
从图2可见,预警机节点支持四种类型的数据链,在每种数据链的网络层模块(ip)的临近,各有一个路由管理模块(rte_mgr),该模块实现了各链路网络层邻居表的创建、维护、查找、删除等功能,当消息需要转发时,在邻居表中查询中继节点,给出下一跳节点的ID号,完成路由功能。
本节点模型突出的设计是在应用层与网络层之间增添了一个仲裁(arbitrator)模块,该模块实现了多种数据链的集成与管理功能:根据上层不同的应用数据类型,予以不同的数据链配置;如果消息需要在不同种类的数据链网络中转发,则根据目标节点支持的数据链种类,选择相对应的数据链类型发送。
2.2 进程建模
进程模型通过有限状态机(FSM)的状态转移图(STD)来支持节点各功能的实现,用户可根据实际需求自行编写进程模型。下面详细介绍上节重点分析的两个模块rte_mgr和arbitrator的进程模型。
rte_mgr是路由管理模块,实现对邻居表的管理和维护,上层待发送的数据包到达这个模块,都会根据目的节点和邻居表给出下一跳节点的ID号,对数据的走向起到引导作用;或者当消息需要多跳中继转发时,则根据邻居表给出中继节点的ID号。
该进程模型主要功能为,根据收到的不同数据,进行相应的处理:例如定期检查邻居表状态,网络中的每个节点需定期发送keepalive消息以通知邻居节点本节点的存在,用以维护相应数据链的邻居表,本节点定期(本文设为300秒,可根据需要灵活设置)检查,如果未收到该节点的keepalive消息,则认为该节点已失效或者已退网,在邻居表中删除该节点;查询和维护邻居表状态,如果收到的是节点的入网退网消息,则对邻居表进行加入和删除操作,若收到的是需要发送的消息,则查询邻居表,给出下一跳节点的ID号。
邻居表的数据结构定义为:
#define MAX_ROUTES 32
typedef struct {
int neighbour_node_id;
int relay_priority;
double record_time;
} my_Route;
my_Route RoutingTable[MAX_ROUTES];
neighbour_node_id为邻居节点的ID号,是识别节点的重要信息;relay_priority为节点的中继优先级,当转发消息时,尽量发往中继优先级高的节点,也就是集成了多种数据链的中心节点;record_time记录了当前维护进邻居表的时间,用来表明该条路由信息的时效性。
arbitrator模块是实现多种数据链集成与管理的核心模块,该进程的主要功能是根据不同的上层应用数据选择相应的数据链传输,完成中心节点集成管理多种数据链的任务。
实现选择切换数据链功能的函数原型为:
static int first_link(int data_type); //首选配置链路
static int secondary_link(int data_type); //次选配置链路
static int last_link(int data_type); //最末配置链路
static Boolean is_support_this_link(int node_id , int data_link);//是否支持链路
前3个函数实现数据链的首选配置以及备份配置,第4个函数则是用来判断某个节点是否支持某种数据链,若源节点和目标节点均支持该种数据链,则用该数据链发送消息。
2.3 仿真场景与结果分析
仿真场景的想定为,卫星节点欲通过A数据链向作战飞机节点发送数据,而作战飞机只支持B、C两种数据链,不支持A链,因此,需要中心节点中继转发并切换传输链路:卫星先通过A链与中继节点通信,然后中继节点再根据B、C链的优先级选择一条链路向作战飞机传输数据。想定中中心节点有两种:地面指挥中心节点和预警机节点。由于地面指挥中心的中继优先级最高,因此,当指挥中心在网内时,信息将由指挥中心中继;当某一时刻指挥中心退网后,此后的信息将由预警机负责中继。
仿真过程中卫星节点的邻居表如图3所示,对比左右两幅图可以看出,当指挥中心(ID号10000)退网之后,卫星的邻居表中便没有指挥中心(10000)了。图4是卫星节点前后发送的数据包内容比较,最初指定中继优先级最高的地面指挥中心(10000)中继,当指挥中心退网后,由于卫星的邻居表里没有指挥中心,于是便指定下一个中继节点预警机(20100)中继。仿真结果与场景设计分析的结果一致。
3 结束语
多数据链综合组网应用是一个相当复杂的工程,本文提出了一种基于多IP地址分配实现各类型数据链协同互联的实用方案,并利用仿真软件设计仿真场景予以验证,仿真结果表明,该方案具有一定的可行性和工程应用价值,可为进一步的研究工作奠定基础。
图3 卫星节点的邻居表对比
图4 卫星节点选择中继节点策略的变化
参考文献
[1]孙义明,杨丽萍主编.信息化战争中的战术数据链[M].北京邮电大学出版社,2004.
[2]周春福,黄鹍.多数据链综合组网应用及其信息分发与处理[J].舰船电子工程,2010,30(7).
[3]陈水全,谌双双.联合作战数据链互连网重组技术[J].舰船电子工程,2011,31(7).
[4]许宏泉,王春生,张海波.海上联合作战数据链组网技术[J].舰船电子工程,2008,28(8).
[5]李富强,许锐.国外多种数据链综合应用研究[J].现代电子技术,2010(16).
[6]王文博,张金文.OPNET Modeler与网络仿真[M].北京:人民邮电出版社,2003.
[7]陈敏.OPNET网络仿真[M].清华大学出版社,2004.