APP下载

一种战术通信数据组播实现方法*

2022-12-07王一鸣张希杰赵瑞峰

电讯技术 2022年11期
关键词:IP地址路由器报文

刘 台,王一鸣,张希杰,赵瑞峰,周 君

(武汉中原电子集团有限公司,武汉 430205)

0 引 言

组播是一种一对多或多对多的信息传递的方式[1],一般是在数据传递路径出现分叉的情况下才进行数据包的复制,而不是将相同的数据多次复制发送给每个目的端,能有效降低对链路带宽的占用。在互联网发展过程中,先后出现了IP组播和应用层组播技术[2],它们的基本原理都是在组成员之间建立数据传递树,在组播传输过程中,一般是通过传递树确定数据包的传递路径,减少不必要的传输路径和数据复制,提升数据的传输效率。

战术通信系统是通过网络互联协议将各类战术通信设备和终端设备互联而成的通信系统[3]。在战术通信系统中,通过传递各类战术通信业务来满足各个指挥与作战要素之间数据通信需求,如指挥控制、态势感知、语音呼叫等,其中许多战术通信业务的传递方式为一发多收,并具有高时敏性。为满足机动通信要求,战术通信系统一般含有大量远距离无线链路,具有带宽有限、传输时延较大、拓扑变化频繁的特点。基于上述业务特点和网络特点,战术通信对数据业务的传输一般要求具备高实时性、相对低的带宽占用、网络拓扑变化时能快速恢复通信。可以看出,无论是IP组播还是应用层组播,都难以满足战术通信的要求:一方面,它们生成传递树都是基于额外协议的,无法及时响应网络变化;另一方面,它们是基于尽力而为模型的,无法针对时敏业务提供高实时传输[4-5]。

名址分离技术可以在战术通信系统中得到很好的应用,它能将节点身份与物理地址(IP地址)分离,使业务通信可以直接通过节点身份来寻址,对用户屏蔽IP层细节。在战术通信系统中,节点身份往往比IP地址的长度更短,将名址分离思想与组播传输方式进行融合设计,可以节省IP报头开销,传输更多的控制信息。同时,由于它简化了复杂的网络配置,便于理解,可以很好地应用于战术通信系统。

本文提出了一个不依赖额外协议的、基于名址分离寻址的数据组播方案,可以较好地满足战术通信系统中组播业务的需求。

1 组播设计实现

1.1 设计概述

针对IP组播及应用层组播模型在战术通信环境下的问题,本文设计了一种新的组播方案,主要设计思想如下:

(1)运用名址分离机制,将组播寻址由IP改为节点身份,根据节点身份管理组成员,不再动态维护组成员信息。用户终端收发组播信息直接根据节点身份进行,不需要加入组播组的动作。

(2)组播转发信息附加在自定义报头中,无额外交互机制。网络变化时,后续数据包可以立即根据新单播路由信息产生新的组播转发信息,完全消除重建组播树的报文传输产生的等待时间。

1.2 名址分离

1.2.1 基本原理

每个节点拥有一个核心IP地址和一个身份地址,IP地址仅用于IP组网,维持路由可达,上层业务通过身份地址来寻址通信。身份与网络节点解除绑定关系,上层应用发送的数据中,源和目的地址为身份地址,同时,本地局域网的地址分配不受外网影响,更加简便。

典型流程如图1所示。

图1 名址分离基本原理

首先,名址分离服务需要在各个节点间交互信息,建立IP-身份映射表。随后,不同节点的计算机即可进行业务通信。

图1中将计算机#1与计算机#2的IP地址均设置为192.168.1.2,以计算机#1向身份地址为05060708H的计算机#2发送数据为例:

(1)计算机#1向路由器#1发送目的IP地址为192.168.1.1的局域网报文,报文的业务数据内的目的地址为计算机#2的身份地址。

(2)路由器#1收计算机#1发送来的报文后,根据目的身份地址查找计算机#2对应路由器#2的目的IP地址为2.2.2.2,再根据此目的匹配单播路由表找到下一跳IP及出接口将报文转发出去,目的地址仍为身份地址05060708H。

(3)路由器#2收到该报文后,根据目的身份地址查找到对应的计算机#2的IP地址。由于计算机#2的IP地址属于本地,路由器#2添加对应IP报头将此报文从路由器#2发送给计算机#2。

(4)计算机#2收到数据后,发送过程完成。

1.2.2 工作流程

从网络开通到正常转发业务数据的流程如图2所示。首先路由器之间会先交互路由协议,并生成路由表,然后计算机向路由器注册本节点的用户身份地址、计算机的IP地址等信息。注册完成后,路由器会将用户地址与路由器的广域网IP(核心IP)地址绑定并建立对应关系。路由器之间交互用户地址相关信息生成各个节点用户地址与广域网IP地址的对应关系表,至此所有的转发表已经建立完成,可以开始业务数据的转发。

图2 名址分离工作流程

业务数据会包含用于转发的目的用户地址和源用户地址,计算机将业务数据封装到局域网IP报文中,并通过局域网发送给路由器。路由器收到业务数据后,提取目的用户地址,并根据用户地址与广域网IP地址对应关系表找到该目的用户地址对应的目的广域网IP地址,使用查找到的广域网IP地址进行路由匹配,获得下一跳路由器IP地址和出接口,将业务数据转发到下一跳路由器上。

目的端的路由器接收到该业务数据后,根据业务数据内的目的用户地址查找本节点的注册用户,找到匹配用户后根据注册信息获取到该用户的IP地址,如果用户IP地址为局域网IP地址,则路由器将该业务数据封装到对应的局域网IP报文中发送给目的用户计算机。目的用户计算机收到该报文后发送给上层应用程序进行接收处理。

1.2.3 用户地址交互协议

用户地址交互协议负责在整个网络域中同步节点身份信息与IP地址对应关系表,它的消息报文类型主要包括Request消息、Normal消息、Update消息。

(1)Request消息

Request消息向邻居节点发送,用于向邻居节点请求其所持有的全部消息记录。在路由器启动后或重启后进行报文发送,可以快速获取整个网络的消息记录。

如图3所示,当节点#1启动(或重启)后,当前只有本节点的消息记录。节点#1通过各个接口(路由使能接口)向外发送Request消息,节点#2与节点#1直连,在收到节点#1的Request消息后,节点#2向节点#1发送Normal报文,同时记录节点#1的信息。节点#2发送的Normal报文,包含节点#2本身的消息记录和不是从该接收接口学习来的消息记录(即正常的Normal报文)。

节点#1在收到这些消息记录后更新自己的消息记录表。

图3 Request消息交互流程

(2)Normal消息

Normal消息向邻居节点发送,用于向邻居节点定时通告本节点所拥有的消息记录。

Normal报文的交互流程如下:

(1)定时发送。节点定时通过接口向外发送Normal报文,通常情况下使用水平分割(即从某接口学习到的消息记录不会再从该接口发送回去),将允许从该接口发送的active状态的消息记录封装到Normal报文并发送出去。

(2)响应Request报文。接收到Request报文后,会向接收Request报文的接口发送允许从该接口发送的active状态消息记录(有水平分割)的Normal报文。

(3)Update消息。Update消息用于让消息记录内容变动信息尽可能快的在网内传播。Update报文分为删除报文、添加报文、报文更新,其内容是单条有变动的消息记录。其他节点收到Update消息后直接更新本节点消息记录。

Update报文的交互流程如下:

(1)节点通过接口协议得到本节点消息记录变动的信息后,更新消息记录表。

(2)节点将该消息记录变动通过Update报文向各个直连节点通告。

(3)直连节点收到该通告后,更新对应的消息记录内容,并将该Update报文通过各个接口泛洪出去(不包括来源接口)。

(4)节点只有第一次收到Update报文才会扩散和更新,第二次收到时直接丢弃。

1.3 组成员管理

通过名址分离,路由器之间传递的数据仅包含业务数据本身,单播业务数据中的目的地址为节点身份地址,而组播业务数据的身份地址为战术通信系统规划的组播地址,那么只需要预先将战术通信系统规划的组播地址与所包含的乘员身份地址的对应关系表写入路由器,即可实现在转发报文时根据组播地址获取到其组成员的身份地址。此时路由器的转发逻辑发生变化,对于每一包路由器之间的数据,应判断其目的身份地址是否为组播地址,若是,则进行组播转发策略;否则,按前文描述的单播转发策略转发。

1.4 数据格式

组播数据在第一次转发时,路由器负责生成组播转发信息,并附加在业务数据之前作为组播报头。

组播报头及转发策略根据链路类型不同而不同,目的是尽量减少报头开销。链路类型分为点对点链路和广播链路。

1.4.1 点对点链路

在点对点链路中,组播报头仅包含一个组播对象列表,如图4所示,它由成员个数字段和一系列组成员身份号组成。每个身份号长度为1 B,它是根据地址进行编制规划,由身份地址转换而来,在每个战术通信子系统中唯一,因此在组播业务中可以唯一标识一个组成员。组播对象列表用于表示从某接口发送出去的组播数据需要将该数据送达的目的节点列表。

图4 点对点链路的组播对象列表格式

1.4.2 广播链路

广播链路中,组播对象列表比点对点链路增加了一个下一跳节点指示字段,该字段用于标识若干个组播对象列表中的节点,若标记的第n个比特位为1,则表示组播对象列表的第n个节点被标记,只有被标记的节点才能转发该数据,未被标记的节点只接收数据而不转发。这样做是为了避免组播路径树的其他节点重复转发报文。报文格式如图5所示。

图5 广播链路的组播对象列表格式

1.5 组播转发策略

对于某个路由器,接收到的组播报文有用户终端的组播报文、点对点链路的组播报文、广播链路的组播报文三类,路由器对它们分别执行不同的转发策略。

当接收到用户终端的组播报文,转发策略如下:

Step1 去掉IP部分,提取业务数据,根据目的组播地址与组成员映射表获取所有组成员的身份号。

Step2 对每个身份号通过名址分离机制获取对应的外网IP地址。

Step3 对每个IP地址进行单播路由表匹配,得到出接口和下一跳IP地址。

Step4 将出接口相同的IP地址对应的身份号归为一类,根据接口类型,参考下一跳IP对应的身份号,按1.4节的描述构造组播对象列表,附加在业务数据之前。

Step5 将构造完成的数据转发到所有出接口。

当接收到点对点链路的组播报文,转发策略如下:

Step1 提取报文中的每个身份号,检查身份号是否属于本地局域网,若是,转到Step 2,否则转到Step 3。

Step2 以身份号对应的IP地址为目的构造IP报头,封装业务数据,将数据转发到本地局域网,并将该身份号从组播对象列表中删除,转到Step 3。

Step3 依次对组播对象列表剩余的节点执行接收到用户终端的组播报文的转发策略中的Step 2~5。

当接收到广播链路的组播报文,转发策略如下:

Step1 提取报文中的每个身份号,检查身份号是否属于本地局域网,若是,转到Step 2;否则丢弃报文,结束。

Step2 以身份号对应的IP地址为目的构造IP报头,封装业务数据,将数据转发到本地局域网,并将该身份号从组播对象列表中删除,转到Step 3。

Step3 检查本地局域网的身份号是否在组播对象列表中被标记,若是,转到Step 4,否则结束。

Step4 依次对组播对象列表剩余的节点执行接收到用户终端的组播报文的转发策略中的Step 2~5,结束。

基于上述流程,在组播的转发过程中,由第一跳路由器负责根据组成员及单播路由生成组播对象列表,后续的路由器逐级对组播对象的节点进行分流转发,最终效果是使组播数据沿着根据单播路由生成的转发树进行转发,与现有IP组播基于组播转发树的转发是类似的。

2 测试验证

2.1 网络搭建

按照图6搭建测试网络,其中各节点均为实物形式的路由交换节点,用来陪测的无线接入设备的带宽和速率等参数设置为接近实际战术通信场景下的参数值,通过组建组播网络实物拓扑模拟战术通信系统组播业务网络环境。

图6 测试网络拓扑

网络中每个节点由路由器、计算机终端、无线接入设备、有线接入设备组成。路由器中已经实现了单播路由转发[6]、PIM-SM路由协议及本文的组播转发方案的功能,用来对比验证本文的组播转发策略的功能和性能。无线接入设备、有线接入设备分别用于实现无线广播链路、有线点对点链路的接入。计算机终端上运行战术通信组播业务测试软件,用于收发组播业务数据。

在路由器各接口使能单播路由协议,待网络中路由收敛完成,即可开始测试组播策略的功能和性能。

组播测试用到3个组播组,分别为:组播身份号0xF1,成员为节点#1节点#2节点#3节点#4;组播身份号0xF3,成员为节点#5节点#6节点#7节点#8节点#9节点#10;组播身份号0xFF,成员为所有节点。

2.2 端到端时延测试

在图6的网络中,分别在节点#1、节点#5、节点#2的计算机终端发送组播身份号0xF1、0xF2、0xFF的组播业务数据,间隔250 ms,发送1 000次。同时在网络中用测试软件添加广播链路带宽50%的其他测试数据,模拟有一定链路负荷的情况。在节点#3、节点#6、节点#7分别记录数据接收情况,统计最大时延和平均时延。对于单个数据传输,如果在测试延迟的时间窗口τ内收到分组数量为n,那么测量得到的平均延迟E[T]可以表示为

(1)

试验中反复进行10次测试,即n=20,测试结果的平均值如表1所示。

表1 运用组播策略的时延测试结果

然后对应添加3组IP组播组,在每个节点路由器上运行PIM-SM,配置节点#1为RP,使用IP组播测试工具重复上面的试验,反复进行10次测试,即n=20,测试结果的平均值如表2所示。

表2 IP组播的时延测试结果

可以看到,运用组播策略后的最大时延比IP组播有较大缩短。这是因为PIM-SM中,组播树切换为SPT前,数据都要先汇聚到RP再分发给成员,存在重复传输路径,增加了最大时延。

2.3 组播恢复时间测试

本节测试网络拓扑变化后,组播数据从中断到恢复的时间。

在图6的网络中,从节点#5持续发送组播身份号为0xFF的组播业务数据,间隔125 ms。所有成员收到数据后,断开节点#5与节点#3之间的有线链路,记录此时到恢复接收数据的丢包数,可以估算出组播业务数据在网络变化后的恢复时间,记录估算的恢复时间。然后对应添加IP组播组,在每个节点路由器上运行PIM-SM,配置节点#1为RP,使用IP组播测试工具重复上面的试验。反复进行20次测试,测试结果的平均值如表3所示。

表3 组播恢复时间测试结果

可以看到,新组播方案中单播路由恢复后组播数据通信立即恢复正常,没有额外等待时间。而IP组播下额外等待了约875 ms才恢复通信,原因是单播路由在断开与恢复过程中PIM-SM需要重新交互剪枝或嫁接报文,产生了传输时延开销。

3 结束语

本文的主要创新点在于基于名址分离技术,设计实现了一种将组播信息报头附加在组播数据报文头部,配合相应的组播转发策略进行组播转发的方案,解决了战术通信系统中网络频繁变化及链路带宽低对组播业务影响较大的问题,可以较好地应用于高实时、低带宽、高动态的战术通信场景。试验结果表明,在网络拓扑变化后恢复组播通信的过程中不产生额外等待时延,且在窄带链路具有较好的时延表现,在这两方面具有比PIM-SM更好的性能,能满足战术通信系统对组播业务通信的要求。

下一步的研究工作主要是在大规模有无线混合组网场景下验证本方案所能达到的极限性能。

猜你喜欢

IP地址路由器报文
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
CTCS-2级报文数据管理需求分析和实现
铁路远动系统几种组网方式IP地址的申请和设置
浅析反驳类报文要点
公安网络中IP地址智能管理的研究与思考
ATS与列车通信报文分析