认知无线多跳网络与以太网互联网关

2020-05-22 12:32张亚莉
计算机工程与设计 2020年5期
关键词:IP地址网关以太网

张亚莉,宋 梁

(河南科技大学 信息工程学院,河南 洛阳 471023)

0 引 言

物联网(Internet of thing,IoT)作为继计算机和移动互联网之后科技发展的第三波技术潮流,可视为互联网的延伸,其不仅能够将人与人连接起来,而且可以实现人与物,甚至物与物之间的连接,是实现万物互联必不可少的条件[1]。L2(layer 2,L2)认知无线多跳网络在5G等移动通信系统已成为作为扩大网络覆盖范围的关键技术方案,其由多个智能终端通过自组网的形式在层1/层2实现物与物之间的无线多跳通信,并且这些智能终端具有感知、处理数据且低能耗的能力,能够实现彼此间的无线通信。为了实现物联网的大规模应用,L2认知无线多跳网络需要通过与Internet连接以对该网络下节点进行远程管控,基于现有网络设备进行组网。

传统的以太网寻址是通过地址解析协议(address resolution protocol,ARP)[2],可根据目的主机的IP地址来获得其MAC地址。源设备通过给网络上所有设备广播包含目标设备IP地址的ARP请求,并接收ARP响应,以此确定目标设备的MAC地址。但是在无线多跳网络中,对所有节点做全网广播的代价很大,不仅会造成严重的网络冗余,也增加了网络开销。为了解决上述问题,我们在L2无线多跳网络中提出了一种地址映射管理机制,并且在实现网络连接的网关中设置地址映射表,即IP/MAC地址与节点的组网地址/ID之间的对应关系,从而在L2大规模无线网络中实现快速寻址。

1 研究背景

随着无线通信的不断发展,如何实现无线带宽的接入也成为了研究的热点。TCP/IP作为Ethernet网络互联通信的核心标准,研究无线传感器网络(wireless sensor network,WSN)与以太网互联的问题,主要是研究WSN与TCP/IP协议融合的问题[3]。现阶段关于TCP/IP与WSN间的融合主要包括:peer to peer,重叠覆盖方式和全IP。为了实现异构网络间的互联互通,peer to peer在不同网络之间利用网关,通过在相同协议层之间进行协议转换。进一步地,互联网关可根据工作的协议层的不同,分为NAT(network address translation)网关和应用网关。若无线传感器网络中采用的是以地址为中心的私有网络层协议,由于以太网中是以IP协议为主,为了实现无线传感器网络和以太网间的互联,可利用NAT网关实现私有网络层协议和IP协议间的转换。文献[4]中LowPAN网络与外网互联的实现就是通过NAT网关。应用网关[5]的实现是在异构网络之间设置代理服务器。

当无线传感器网络中的协议栈与以太网不同时,采用重叠覆盖的方式来实现网络间的互联,这种方式不是协议转换而是不同协议间的承载。根据承载方式的不同,无线传感器网络与IP网络间的覆盖包括:①以外网覆盖无线传感器网络;②无线传感器网络覆盖以外网。对于第一种方法,文献[6]中提出了一种在无线传感器节点上实现IP协议栈的方法,即u-IP,在该方法中,无线传感器节点被分配有IP地址,以太网用户可以利用IP地址对该节点进行直接访问,该方法的缺点在于对无线节点的能力要求较强。对于第二种方法,文献[7]提出了一种在IP网络中利用VPN(virtual private network)[8]来进行专用网络的方法。在TCP/IP协议上部署无线传感器网络协议栈,可将以太网用户当成虚拟的传感设备,并且实现以太网用户与无线节点间的直接通信。同样,这种方法的缺点是需要在以太网用户的主机中额外部署协议栈。

全IP是指在无线传感器网络中采用TCP/IP协议栈[9,10],该方法使得无线传感器网络中的每个节点都能够进行IP寻址,因此以太网和无线传感器网络通过相同的IP协议进行连接。但是,无线传感器网络中的节点受资源的限制,其能够承担的数据量一般较小,如果在该节点中设置标准的IP协议,将会给网络带来较大的负担。

在以往研究工作的基础上,本文采用peer to peer的方式,提出了一种NAT网关来实现L2认知无线多跳网络与传统以太网间的互联,同时在网关中设置地址映射表,既能在无线多跳网络中利用单播的方式来进行寻址,又能很好支持以太网中的广播寻址。

2 网关系统设计

2.1 应用场景

物联网的应用涵盖了环境保护、工业监测、智能家居、车联网等各行各业。我们以微环境信息(温度,相对湿度,PM2.5,光照强度,紫外线)的应用为例,来说明网关在网络互联中的作用。

L2认知无线多跳网络由集成了传感器的无线节点和网关组成,其中无线节点能够对区域内的环境信息进行采集,然后通过无线多跳的方式传输至网关。另一方面,L2认知无线多跳网络通过网关与外部网络相连,并且网关提供外部网络的访问接口。网关集成了L2认知无线多跳网络协议,用户可以通过网关查看微环境信息;同时,网关通过移动通信模块/以太网模块与外部网络进行连接。因此,服务器可借助网关实现对L2认知无线多跳网络内无线节点的远程接入和管控。其中,L2认知无线多跳网络与以太网互联的网络架构如图1所示。

图1 网络互联架构

2.2 功能要求

为了满足物联网的应用需求,实现L2认知网络内数据的协作处理以及与远程服务器之间的数据传输,网关的设计应当满足如下要求[11]:

(1)数据转发:对于互联网关,其根本的作用就是能够从L2认知网络或以太网中接收数据,然后相应地将其转发给其它网络。

(2)协议转换:在L2认知网络中的协议是IEEE 802.15.4/Zigbee空中接口,以太网中采用的是标准的TCP/IP协议。为了实现数据从L2认知网络到以太网中的传输,网关需要分析传感数据的L2协议,然后采用以太网协议的封装格式进行发送。

(3)远程管控:网关接收到服务器的命令时,需要对其进行分析处理,然后传送给L2认知网络中相应的无线节点,以实现服务器对无线节点的远程管控。

2.3 协议互联架构

与OSI(open system interconnection)参考模型不同,L2认知无线多跳网络的网络架构符合EWI(embedded wireless interconnect)参考模型[12]。其中,L2认知网络中的网关和无线节点的协议栈如图2所示。

图2 节点和网关协议栈

L2认知网络由无线节点和网关组成,其中在无线节点的协议栈中,MAC层和物理层可看作是接入网,而系统层能够连接接入网与回程网。在网关的协议栈中,系统层用于进行L2协议和以太网协议间的转换,其目的在于用户能够实现无缝的漫游。系统层在LLC(link logic control)之下,而MAC层和物理层能够实现基于电缆/光线的以太网连接。此外,在无线节点的协议栈中没有网络层,因此,在L2认知网络中,无线节点可当作来自IP站点处的2层切换[13,14]。

在L2认知网络中,可在无线节点和网关的协议栈中实现用户移动性管理。其中,用户漫游能够发生在链路层即L2漫游,也可以发生在网络层即L3漫游。当移动用户移动在不同的IP子网内同时其IP地址发生改变时,这种漫游属于L3漫游。

在L2认知网络的网关中,通过MMME(macro mobi-lity management entity)可以进行网络层漫游中的软切换操作。其中,MMME位于应用层,相当于是一个应用层代理,同时,和系统层直接连接。当用户移动至一个新的IP子网内后,其会接听该子网内新网关广播的路由公告,此时用户可以通过DHPC(dynamic host configuration protocol)来获得新的IP地址以及其它网络配置服务。该请求首先系统层进行转换,然后再发送给MMME,接下来MMME可向网络中的ISP咨询以对验证身份的合法性,如果合法,MMME会重新给该用户分配一个属于该子网内的IP地址。接下来,当前网关的MMME会通过TCP/IP通知移动用户所在的前一个网关的MMME,该网关在接到上述通知之后会停止之前的服务。其中,在上述切换过程中,先前的IP地址会继续服务于前一个网关,因此,该切换过程属于网络层漫游中的软切换[13]。

2.4 L2组网地址配置

组成L2认知无线多跳网络中的无线节点属于资源受限的设备,而该网络的特点通常是规模较大且节点的部署比较密集。因此,如何减少甚至避免多跳网络中因广播算法带来的冗余转播进而造成严重的网络开销是很重要的[15]。

为了很好地解决上述问题,本文提出了一种编址方法,采用L2组网地址来表示L2认知无线多跳网络内的网关和无线节点,同时在网关中设计了一种地址映射方法,通过L2组网地址和IP地址实现该网络内的寻址[16,17]。

在本文中,无线节点和网关的L2组网地址包括3个字节,其可以在组网前由主机利用通用配置板进行预配置,同时也能够在组网后利用邻域间信息进行动态配置。其中,L2组网地址的首个字节由网络ID和节点ID组成,网络ID位于前两位,节点ID位于后六位,而第二、三个字节即L2组网地址的后两个字节分别代表网关和/或无线节点在L2认知网络中的坐标。其中,在L2认知网络中,任意两个节点i和j之间的曼哈顿距离di,j可表示为:di,j=|Xi-Xj|+|Yi-Yj|,其中Xi和Yi表示节点i的L2组网地址的后两个字节,即节点i在网络中的坐标,Xj和Yj表示节点j的L2组网地址的后两个字节,即节点j在网络中的坐标。当节点的首个字节的网络ID相同时,节点间的曼哈顿距离与其之间的RSSI(received signal strength indication)值有关,并且RSSI值越大,节点间的曼哈顿距离越小。

在L2认知网络中,当节点满足下列任一条件,就能够从发送节点包括源节点或前跳中继节点向下一跳节点发送数据包:①源节点与目标节点的网络ID不同,但是中继节点与目标节点的网络ID相同;②源节点、中继节点以及目标节点的网络ID相同,但是中继节点与目标节点间的曼哈顿距离小于源节点与目标节点间的曼哈顿距离。

2.5 地址映射及更新机制

在L2认知无线多跳网络中,网关节点可通过IP/MAC地址、L2组网地址来表示,无线节点可通过L2组网地址、MAC地址来表征。无线节点在接入网络时,其需要在网关处注册信息,其包括该节点的L2组网地址和MAC地址,并且将该无线节点与该网关进行关联。其中,无线节点向网关发送的注册消息的格式见表1。此时,网关处会维护一张该网络下所有无线节点的L2组网地址以及MAC地址间的对应关系表,即addrmap(address map)表(表2)。如果网关接收到以太网发送的ARP包,其可以直接进行ARP请求回复,如果该请求的是网络内的其它传感器节点,网关需要将该ARP广播包转发至上述传感器节点;如果网关接收到Internet发送的数据包,其首先需要查询addrmap表,寻找该无线节点对应的L2组网地址,并将该数据包通过L2认知无线多跳网络转发给目的节点。

表1 无线节点向网关注册消息格式

表2 addrmap内容

为了减少甚至避免L2认知网络中由于广播而造成的冗余转播进而带来不可负担的网络开销,本文在网关中建立了地址映射机制来解决上述问题。下面以图3为例,对利用以太网和L2认知网络进行通信的两台主机间的ping过程进行消息介绍[13]。

(1)终端1给终端2发送了一个ARP请求包,其中该ARP请求包所携带的源IP地址和MAC地址分别是终端1的IP地址和MAC地址,对于终端2而言,终端1的MAC地址是未知的,因此,该ARP请求包中仅有终端2的IP地址。然后,与终端1相连的网关1通过以太网接收到该ARP请求包;

(2)网关1在接收到上述ARP请求包后,首先会通过L2认知无线多跳网络将其L2组网地址与终端1的 IP/MAC 地址间的对应关系在网关2维护的addrmap表处进行注册;

(3)网关2将网关1发送的该L2组网地址与IP/MAC地址间的对应关系记录在addrmap中;

(4)网关1将上述ARP请求包通过L2认知无线多跳网络发送至网关2;

(5)网关2在接收到上述ARP请求包后,不改变其IP地址,但将该ARP请求包的MAC地址修改为网关2的MAC地址,并记录该请求包的L2组网地址并通过以太网发送给终端2;

(6)终端2通过发送ARP响应包对该ARP请求包进行回复,其中,ARP响应包中所携带的源IP地址和MAC地址分别是终端2的IP地址和MAC地址,目标IP地址是终端1的IP地址,而目标MAC地址则为网关2的MAC地址;

(7)网关2接收到终端2发送的ARP响应包后,根据ARP响应包的目的IP地址查询其维护的addrmap表,通过该表查找与该IP地址对应的L2组网地址,即网关1,并将该ARP响应包发送给网关1;

(8)网关1在接收到该ARP响应包后,保持该包的源IP地址不变,但是将其源MAC地址修改成网关1的MAC地址,并发送至终端1;

(9)终端1最后接收到的终端2的ARP响应包所携带的源MAC地址其实为网关1的MAC地址,因为只有这样,终端1发送给网关1的数据包才能被网关1所接收,然后网关1通过L2认知无线多跳网络将上述数据包发送给网关2,进而通过以太网发送给终端2。

3 系统实现

网关的硬件如图4所示。该网关主要有以下几个模块:处理器采用DSPIC33FJ,射频部分采用IEEE 802.15.4/Zigbee空中接口,也可采用其它无线系统的空中接口,还包括以太网接口、电源等模块。网关的主要功能包括两个,一个是读取从节点处传来的数据并转发感知数据,另一个是接受来自应用服务器的命令,并对该命令进行解析[18]。其中,网关通过以太网和IP协议栈实现与远程终端的交互。以太网交互式通过设置远程服务器的IP地址和侦听端口来设置socket连接。

图3 地址映射机制原理

图4 网关硬件

网关上电启动之后,首先对其进行boot loader,并对固件进行刷新。然后,初始化网关的各个子模块,之后其端口便会开始监听是否有外部事件。当检测到有外部事件发生时,主程序通过检查该事件的类型来为其匹配相应的命令[19]。如果该事件来自以太网,那么属于命令数据,此时,网关内的主程序通过分析该数据的目的地址以确定目标设备是无线节点或者网关。如果该数据的内容是有关网关日志或网关属性信息,此时主程序调用以太网接口并发送相应的数据信息;如果该数据的目标是无线节点,此时网关可利用协议分析模块来对该数据进行分析,并调用串行数据收发器的接口向目标无线节点发送相应的数据信息。如果该事件来自无线节点,网关中的主程序调用其中的协议分析模块来对该数据进行分析,然后调用以太网接口发送该目标数据[13]。工作流程如图5所示。

图5 网关工作流程

4 实验验证

本文通过搭建实验来测试网关的可靠性,该测试系统构建了一个L2认知无线多跳网络,该网络包括一个网关以及两个无线节点,其中无线节点中集成了微环境传感器以采集对区域内的微环境信息,通过网关和4G路由器传送给远程服务器,借助网管平台测试网关与无线节点之间的通信能力,在应用平台中查看实时的微环境信息。

本次测试所需要设备的信息见表3。

表3 实验测试所需设备信息

(1)通信能力测试

首先测试无线节点与网关之间以及无线节点与无线节点之间的通信能力。其中,参数设置为:Packet interval(*50ms)=20,测试报告上报间隔设置为:Report interval(*s)=2s。

1)网关与无线节点1之间的通信能力测试

将目标组网地址设置为41.01.02,即网关的L2组网地址,将Slave Address设置为41.01.03,即无线节点1的L2组网地址,测试结果如图6所示。

图6 网关与无线节点1之间通信能力测试

2)网关与无线节点2之间的通信能力测试

将目标组网地址设置为41.01.02,即网关的L2组网地址,Slave Address设置为41.01.04,即无线节点2的L2组网地址,测试结果如图7所示。

图7 网关与无线节点2之间的通信能力测试

3)无线节点1与无线节点2之间的通信能力测试

将目标组网地址设置为41.01.03,即无线节点1的L2组网地址,Slave Address为41.01.04,即无线节点2的L2组网地址,测试结果如图8所示。

图8 无线节点1与无线节点2之间通信能力测试

4)结果分析

通过以上测试可以得到,L2认知网络中的网关与无线节点之间以及无线节点与无线节点之间进行通信时,其丢包率基本上为0,该结果表明本文提出的网关系统的可靠性以及通信性能强。

(2)信号强度测试

测试网关和无线节点之间的RSSI值,即测试其相互间的信号强度。参数设置为:Test Interval(*50ms)=20。

1)网关与无线节点1之间的信号强度测试

将Slave Address设置成41.01.03,即无线节点1的L2组网地址;Slave Related Address设置为00.00.00。测试结果如图9所示。

图9 网关与无线节点1之间信号强度测试

2)网关与无线节点2之间的信号强度测试

将Slave Address设置为41.01.04,即无线节点2的L2组网地址;Slave Related Address设置为00.00.00。测试结果如图10所示。

图10 网关与无线节点2之间信号强度测试

3)结果分析

通过以上测试结果可以得到,在L2认知网络中的网关与无线节点之间的相互信号强度值都在正常通信的范围内,从而验证该网关系统具有较强的信号。

5 结束语

认知无线多跳网络在物联网领域拥有广泛的应用前景,该网络内节点通过无线多跳实现自组网,并且可通过网关实现与远程服务器的交互。本文提出了一种编址方法,以此通过L2组网地址和物理地址来表征无线节点;另外,在网关中设置地址映射表可避免在资源受限的无线多跳网络中做ARP 等协议广播,从而减少数据冗余,降低网络开销,从而保证整个网络具有良好的可行性。

猜你喜欢
IP地址网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
铁路远动系统几种组网方式IP地址的申请和设置
信号系统网关设备的优化
谈实时以太网EtherCAT技术在变电站自动化中的应用
公安网络中IP地址智能管理的研究与思考
《IP地址及其管理》教学设计
LTE Small Cell网关及虚拟网关技术研究
浅谈EPON与工业以太网在贵遵高速公路中的应用
应对气候变化需要打通“网关”
万兆以太网在连徐高速公路通信系统改造中的应用