一种面向NTN网络转发模块的研究实现
2017-05-15张祖华杨明武杨克荣
张祖华, 杨明武, 杨克荣
(合肥工业大学 电子科学与应用物理学院,安徽 合肥 230009)
一种面向NTN网络转发模块的研究实现
张祖华, 杨明武, 杨克荣
(合肥工业大学 电子科学与应用物理学院,安徽 合肥 230009)
NTN(node-to-node)横联远距离无线移动通信系统转发模块是基于MAC地址转发原理,每个节点维护一张包含下一跳节点信息的路由表。文章在当前无线自组网路由协议的理想要求上,比较路由协议的常规问题,分析转发模块设计方案的特点,同时从6个方面研究转发模块。测试结果表明,该MAC协议转发模块可实现全网MAC的学习、转发路径的计算、拓扑去环功能,支持横联内部设备相互通信、外设与外设通信。
node-to-node网络;转发模块;MAC学习;拓扑去环
0 引 言
NTN(node-to-node)网络是一种动态拓扑对等网络,其终端设备能在远距离下无线通信,因此它是由1组带有无线收发装置的移动节点组成的一个多跳临时性自治系统[1]。该网络拓扑中,2个不能直接通信的移动节点可以借助其他节点进行分组转发、实现多信道多频点的数据通信。与其他移动通信网络相比,它不需要固定基站支持,具有网络易部署、广覆盖、自组性、多跳、分布式的无线信道等特点,主要用于军事战术通信、应急通信、协同移动通信、无线接入系统[2]。
与自组织网络一样,NTN网络节点之间是通过多跳数据转发机制进行数据交换,需要路由协议进行转发决策。无线信道变化的不规则性,节点的移动、加入、退出等也会引起网络拓扑结构的动态变化。MAC协议转发模块的作用就是在这种环境下,监控网络拓扑结构变化,交互路由信息,产生、维护和选择路由,并根据选择的路由转发数据,提供网络的连通性。它实现全网拓扑和二层转发表的学习、最短路径的计算、拓扑去环的功能等,是移动节点进行通信的基础,因此也是NTN网络中的研究核心。本文将对NTN网络的MAC协议转发模块进行具体研究。
1 转发模块的设计特点
一个理想的自组网路由协议应当满足以下7个方面的要求:分布式运行;提供无环路由;按需进行协议操作;对单向信道的支持;提供节能策略;可扩展性;安全性[1]。
目前的路由协议由于受自组网环境特性的挑战,存在以下几个研究难点:
(1) 动态变化的网络拓扑结构。当拓扑结构发生变化时,拓扑的收敛时间及拓扑信息的准确收集成为衡量自组网性能的重要指标。MAC协议转发模块在路由转发时采用主动路由思想,根据计算后的路径转发数据,有效缩短了节点间的时延。节点间的MAC学习采用按需路由的思想,每个节点维护一张包含下一跳的MAC转发表,一旦有节点上下线,即会对MAC池、路由表进行更新,再泛洪至全网节点,以保证动态拓扑信息收集的准确性。另外,周期更新和增量更新的方式保证了拓扑信息的实时性。
(2) 分布式运行。集中式路由协议通常存在一个中心节点,负责收集整个网络拓扑结构,计算全网的最短路由,并将结果分发到其他节点。但这种机制难以适应动态变化的自组网,且开销过大。NTN网络不设立中心控制节点,每个节点地位对等,且兼有独立路由和主机功能,节点之间通过分布式协议互联,一旦网络的某个或某些节点发生故障,各模块对该节点信息进行处理后,其余的节点仍然能够正常组网工作,反映出NTN系统的鲁棒性。
(3) 提供无环路由。当网络中存在环路,就会造成每一帧在网络中重复转发,引起“广播风暴”。MAC协议转发模块通过最小生成树算法和贪心算法对网络拓扑图进行去环及路径计算,以提供无环链路转发数据。去环原理是选取n-1条边连接n个节点,优先选择有线链路,但不能生成一棵转发树。由于树的无环路特性,所有的数据只在这棵树所指示的路径上传输,通过最小路径算法计算出源节点到目的节点的转发路径。
(4) 对单向信道的支持。无线自组网通信环境中,由于发射功率、地理位置等因素的影响,可能存在单向信道。例如,车载终端的发射功率大于手持终端,手持终端可以收到来自车载终端的信号,而车载终端无法收到来自手持终端的信号,这时就存在从车载终端到手持终端的单向信道。本文研究的二层转发模块对单向信道具有过滤性,由于每个节点维护的路由表相对独立,本地节点学到邻居节点的MAC地址时,泛洪至其他邻居节点;邻居节点学到的MAC地址与泛洪来的MAC表进行对比更新,若发现其不在邻居视图里面,则认为单边关系,即在MAC池删除对应的MAC地址。
(5) QoS支持。自组网中如何动态地配置网络资源,使数据传输效率更高,以及保障多媒体业务传输服务质量是目前的关键问题[3]。MAC协议转发模块有3种QoS(基于MAC、基于IP、基于Node-id)模式,用户可根据业务等级在网络中寻找一条符合业务要求的路由,实现无线传输带宽的优先级管理,对报文进行选择性处理,以保障网络资源高效率地传输。竞争共享无线信道产生冲突时,存在“隐藏终端”、“暴露终端”[4-5]问题;本文的转发模块并没有引入控制分组的解决方案,而是利用多信道多频点有效地避免因业务共享信道引起的冲突,每个NTN网络节点的无线信道有多个可用数据频点,数据频点依据迭代算法获取。
(6) 有限的无线传输带宽。自组网中,考虑到竞争共享无线信道产生的碰撞、信号衰减、噪音干扰、信道间干扰等多种因素,节点可得到的实际带宽是远远小于理论上的最大带宽值[6]。本模块通过增加链路标识符以区分有线链路与无线链路,业务链路优先选择有线链路,通过LAN口进行传输数据,因此在一定程度上,有线无线混合组网节省了无线传输带宽。
由以上分析可以看出,本文的MAC协议转发模块不仅满足一个理想的自组网路由协议的要求,而且在部分路由协议研究难点上具有显著优势,以保持NTN系统动态网络拓扑的实时性,分布式运行及提供无环路由,对单向信道和QoS的支持,扩展无线传输带宽。
2 转发模块的具体实现
本文的MAC协议转发模块是NTN网络建立通信的桥梁,决定组网节点能否收发业务报文。该模块位于NTN系统上层协议网络管理部分,实现全网MAC地址的学习、MAC转发表的维护、转发路径的计算、拓扑去环等功能,支持横联内部设备相互通信,包括节点与节点通信、节点与外设通信、外设与外设通信。
2.1 业务报文帧结构
常规的以太网帧与转发模块的业务报文帧,其封装内容主要有通道号、目的节点、时隙类型、通道类型、QoS等级。通道号表示传输的数据信道号;时隙类型分为资源变化和邻居变化,用以与资源分配模块及DSP交互;通道类型分为有线和无线,用来支持有线无线混合组网功能。由此可以看出,转发模块的业务报文不仅支持多信道传输数据和有线无线混合组网,同时还支持QoS动态地配置网络资源。
2.2 节点与PC的链表关系
转发模块中,各节点的邻居表、路由表、连接表、MAC表等都以链表结构存在,使得MAC地址插入和删除时效率较高,不必移动数据,只需修改它们的链接指针即可,且使用hash算法进行高效访问MAC地址。节点是通过node-head牵导,节点与PC是通过MAC-head连接起来的,如图1所示。
节点链表元素主要有节点的MAC地址、指向节点链表的后继、指向节点下PC的首部、本地节点的id、本节点下PC的数量;PC链表元素主要有指向链表的后继、指向父亲节点的节点表、本地PC的MAC地址、生存时间、序列号。
图1 节点与PC的链表关系
2.3 全网MAC的学习
本地节点的MAC表包括本地节点的MAC和节点下挂外设(一般情况下指PC机)的MAC地址,节点间的MAC表通过泛洪的形式学习,最后每个节点都学习到全网的MAC。例如,6个节点组网,如图2所示。
node1将自身的MAC以及节点下挂的PC机MAC用协议报文的形式告知邻居节点node2、node4、node6;node1的邻居节点node2、node4、node6再将node1的MAC消息及自身的所有MAC信息告知自己的邻居。这样对于全网的每一个节点,既获取了本节点的源MAC,又通过学习机制学习到全网的MAC,最后形成了一张全网的源MAC表。
图2 全网MAC的学习图
2.4 转发表的路由计算
转发表的路由计算分为拓扑去环和路径计算2个部分。
拓扑去环原理是依据图的最小生成树算法[7-8],选取n-1条边连接n个节点,不构成回路生成一棵转发树。去环的思想来源于贪心算法,不从整个链路上加以考虑,而是在某种意义上的局部最优解,即只考虑单跳节点。链路的类型分为有线链路和无线链路。若有线和无线链路同时存在时,则以有线链路为贪心策略,优先选择有线链路;若只存在无线链路或只存在有线链路,则从最小节点开始遍历,且根据最小生成树算法对其进行去环。
节点组网拓扑如图3所示。假设所有节点间的链路关系为双边邻居关系,先剔除网络拓扑中所有单边邻居关系,找到网络拓扑中bsid最小的节点;把网络拓扑中bsid最小的节点加入集合A,它的所有双边邻居节点同样加入集合A,它的所有边加入集合B;找到集合A除去刚刚遍历过的节点bsid最小的节点,遍历它的所有双边邻居,若发现有邻居节点属于集合A且这条边不在集合B中则剔除这条边,把不符合上述规则的邻居节点加入集合A,边加入集合B;重复上述操作,直到集合A中再也找不到没有遍历过的节点,这时如果发现集合A中没有包含全网拓扑中的所有节点或者超过全网拓扑中的所有节点,那么计算失败,就需重新计算。若集合A中恰好包含有全网拓扑中的所有节点且也没有多出其他节点,那么计算成功,集合B就是所需的新的去环网络拓扑。
去环后的拓扑图如图4所示。
图3 节点组网拓扑
图4 去环后的网拓扑
路径计算的原理是依据迪杰斯特拉算法,从去环后的整个链路加以考虑,以源节点为起点向外扩展,直至扩展到目的节点为止,选取跳数最小的路径作为转发路径。
2.5 源MAC表的维护
源MAC表的维护主要分为表的增加、更新和老化[9]。
当二层转发模块接收到一个报文后,会对源MAC地址进行学习,学习时会先检查源MAC表中是否有此MAC地址记录,如果没有则增加一个新的表项,反之则判断是否需要更新此表项,即判断此表项中的业务端口号是否变化,若有变化则修改此表项记录中的端口号和端口类型。经过源MAC表的增加和更新后,将泛洪至全网节点以实时更新二层转发表。
在源MAC地址的学习过程中,源MAC表通过周期更新或触发更新学习到一个新的MAC地址,立即自动开启定时器计时,若在规定的时间内3次未作出响应,则源MAC表会剔除该MAC表及其所携带的信息,即对该MAC表进行老化处理。此时,首先通知路由表进行更新,然后通知其他相关模块进行处理。每个MAC地址都有其对应的老化机制,保证了二层转发表的实时性,以便于节点间能准确地通过路由表传送协议报文。
2.6 节省无线传输带宽
在一定程度上,有线无线混合组网节省了无线传输带宽。此时,转发模块通过增加链路标识符以区分有线与无线链路,在计算转发路径时,以链路类型为贪心策略,即有线无线链路同时存在,业务传输链路优先选择有线链路。与业务报文转发时,转发模块通过报文的sub-type判断是有线报文还是无线报文,若是有线报文则走LAN口转发;若是无线报文则走空口转发。
3 系统测试
3.1 测试环境建立
3个NTN节点组网,node5下挂PC5,node8下挂PC8,node3、node5、node8互连,iperf灌包,通过Secure CRT或NetMeter观察外设(PC5)到外设(PC8)之间的通信。
3.2 测试结果
3个节点均可学习到全网的MAC地址,依据拓扑去环算法,拓扑形状为线型结构(node5-node3-node8),即node5与node8的业务报文交互通过node3转发。根据NTN网络信道分配原理,node5和node8分别获取node3 1/2的时隙,此时,若PC5与PC8相互灌包20 M(Upperload,UL),PC5与PC8的下行流量(Download,DL)分别只有10 M左右,如图5所示。node5的IP为172.255.5.254,图5a中PC5的IP设置为同一网段IP 172.255.3.33,图5b中PC8的IP类似设置为172.255.8.88,在cmd窗口进入iperf目录,PC5与PC8通过iperf命令分别采用用户数据报协议(user datagram protocol,UDP)灌包20 M,NetMeter观察到上下行流量值与上述理论计算值相等。
图5 外设与外设通信的流量
4 结 论
目前,NTN网络各终端设备已广泛应用于紧急通信中,成为用户与基站间“最后一公里”解决方案的关键技术。本文分析了转发模块的设计特点,具体研究了NTN网络路由模块如何适应自组网动态变化的网络拓扑结构,并实现拓扑去环、路由选择及路由维护等功能,同时在有限的无线传输带宽上充分利用NTN网络的可扩展性,最终实现外设与外设的通信。
[1] 史美林,英春.自组网路由协议综述[J].通信学报,2001,22(11):93-101.
[2] CHUNG W H.Probabilistic analysis of routes on mobile ad hoc networks[J].IEEE Communications Letters,2004,8(8):506-508.
[3] LIN C R,LIU J S.QoS routing in ad hoc wireless network[J].IEEE Journal on Selected Areas in Communications,1999,17(8):1426-1438.
[4] KATARZYNA K S.A survey of MAC layer solutions to the hidden node problem in ad-hoc networks[J].Ad Hoc Networks,2011,10(3):635-660.
[5] 王俊伟,陆阳,方梅,等.多射频多信道Ad hoc网络的信道分配与路由策略[J].合肥工业大学学报(自然科学版),2008,31(9):1476-1480.
[6] CHEN F,ZHAI H Q,FANG Y G,Available bandwidth in multirate and multihop wireless ad hoc networks[J].IEEE Journal on Selected Areas in Communications,2010,28(3):299-307.
[7] DALAL Y K.A distributed algorithm for constructing minimal spanning trees[J].IEEE Transactions on Software Engineering,1987,13(3):398-405.
[8] BENTLEY J L,FRIEDMAN J H.Fast algorithms for constructing minimal spanning trees in coordinate spaces[J].IEEE Transactions on Computers,1978,27(2):97-105.
[9] 陈宪明,李鸿林.无线交换机二层转发分析[J].信息技术,2009(5):71-75,106.
(责任编辑 马国锋)
Research on forwarding module of node-to-node network
ZHANG Zuhua, YANG Mingwu, YANG Kerong
(School of Electronic Science and Applied Physics, Hefei University of Technology, Hefei 230009, China)
The forwarding module of node-to-node(NTN) communication system with some characters of transverseness, long-distance, wirelessness and mobility is based on the MAC address forwarding theory in which each node maintains a routing table of containing the next hop information. In view of the general requirements of the wireless ad hoc networks currently, the general problems in routing protocols are compared, and the features of the design of forwarding module are analyzed. Moreover, the forwarding module is studied from six specific aspects. The results indicate that the MAC protocol forwarding module achieves the functions of network-wide MAC learning, the calculation of forwarding path and cutting the ring of topology. It also makes transverse devices communicate with each other and the peripherals communicate in network.
node-to-node(NTN) network; forwarding module; MAC learning; cut the ring of topology
2015-09-22;
2015-11-10
国家自然科学基金青年科学基金资助项目(61501159)
张祖华(1989-),男,湖北广水人,合肥工业大学硕士生; 杨明武(1958-),男,安徽滁州人,合肥工业大学教授,硕士生导师.
10.3969/j.issn.1003-5060.2017.04.009
TP393.02
A
1003-5060(2017)04-0476-05