刘 磊,张运福,陈宏波,王富强,何 鹏
随着微电子技术、半导体技术和无线电通信技术的不断向前发展,接连出现了不同的新的短距离无线通信技术。根据无线网络通信距离的不同,目前应用的无线通信网络主要可以分为卫星通信网、无线广域网、无线局域网和无线个人局域网。
无线网络路由协议作为无线网络的重要组成部分,其设计的合理性直接影响整个无线网络的整体性能。因此,在设计无线网络路由时,不仅需要考虑网络节点传输之间的延迟,而且需要考虑无线链路的稳定性,以避免产生通信拥塞、均衡网络流量而提高网络节点的利用率。
随着无线网络在军事、快速移动、应急通信等领域的广泛应用,无线信道变化的不规则性以及节点的移动、加入、退出等,都会引起网络拓扑结构的动态变化[1]。传统三层数据的转发已经不能满足动态拓扑的无线网络。
IEEE802.11s草案明确提出了二层转发的概念[2],指出二层转发相对于三层转发有一些明显优点。首先,由于数据包通过二层来转发,所以协议栈对它的拆分和封装次数减少,数据包在协议栈内停留的时间也相应减少,带来了更短的转发延时,从而满足了一些对时延敏感业务(如话音业务)的QoS要求[3]。其次,与二层网桥类似,二层转发功能对上层来说是透明的,可以避免由于下层协议变化而造成对上层协议的影响,从而增强了系统的稳定性[4]。
针对无线网络二层交换路由的特点,为能够正确转发无线数据并提高无线资源利用率,需要考虑以下几点:(a)无线传播的路由表尽可能短;(b)每个无线节点需保存全网路由;(c)重复集检测;(d)路由超时。
根据上述原则,本文研究并实现了一种适合于无线信道的二层交换路由。
节点本地路由表:本地路由表存储的关键信息如表1所示。
表1 本地路由表
表2 无线传输路由表
本文设计的二层按需路由主要包括的路由信令有以下三种:主机请求(host_request)、主机应答(host_response)和重定向(redirect)信令,具体消息格式依次如表3、表4和表5所示。
表3 host_request消息格式
表4 host_response消息格式
表5 redirect消息格式
本文设计二层转发路由表的维护主要靠按需路由流程维护,具体如下:
(1)当节点从以太网口上收到一个arp请求时,节点需要将该arp请求通过主机请求的方式在其他节点上泛洪,最终由主机应答该arp请求。
(2)当节点收到数据而本地无该数据的目的mac地址信息,则缓存数据,发送主机代理请求,待收到应答后,将缓存的数据发送到最终目的地。
以上两种请求都需要在节点之间无线上广播路由信令。为了避免无线上的广播风暴,使用主机请求重复集,在一定超时时间内不处理源节点号相同和序号相同(或更小)的广播信息。
(1)主机请求(host_request)
发送:接收到arp请求时,发起按需方式进行网络内的主机查找。此时,添加一个路由头,在host_request报文里添加发起节点号、请求类型、序号,arp原封不动地在无线上传输。
接收:通过host_request信令承载的arp帧有可能是免费arp,如主机请求、主机代理请求、mac代理请求。收到该信令后首先进行重复集检测,然后再处理。
(2)主机应答(host_response)
当节点从以太网口上收到arp应答时,节点需要向arp请求的源节点回复该arp应答。此时,需要主机请求重复集中的记录来获取该arp过程是主机请求还是主机代理请求,以获取该arp请求的源节点,然后向该源节点单播该类请求对应的应答消息。
当源节点收到主机代理应答时(说明找路成功),节点网络中已经形成了到该目的地的路径。当源节点收到主机代理请求的应答时(说明找路成功),节点网络中已经形成了到该目的地的路径,然后该节点的路由模块立即通知数据转发模块,将之前缓存的数据发送出去。
发送:接收到arp回复时,发起按需方式进行网络内的主机回复。此时,添加一个路由头,在host_response报文里添加发起节点号、请求类型、序号,arp原封不动地在无线上传输。
接收:通过host_response信令承载的arp帧有可能是主机请求回复、主机代理请求回复、mac代理请求回复。不管是哪种类型的回复,都需要进行二层表学习。
(3)重定向(redirect)
当无线口收到数据,目的节点是自己,但自己不是以太网代理时(说明来源节点的二层表有错误),向来源节点发送一条重定向消息。来源节点收到该消息后修改二层表(该数据应该发送给以太网代理节点)。
发送:节点向数据路由头中的源节点单播redirect信令。redirect信令包括目的mac地址、目的ip地址、目的节点号和序号。
接收:节点收到redirect信令后,查找本机二层表中所有目的mac地址匹配的记录,只要不是本机自身的二层表记录,即修改为出接口为无线口,而该记录所在节点为redirect信令中的目的节点号。
无线网络二层业务转发主要指业务数据在节点各个端口之间的业务转发。整个转发是一个更新二层路由表、按照路由表进行业务转发的流程。本文设计中,业务二层转发机制如图1所示。
图1 业务二层转发流程
在二层转发过程中,如果发现查找二层路由表失败,则将该数据缓存起来,然后发送主机请求报文,等待生成二层路由表后再进行转发。
本文研究与设计的二层路由转发协议,已经应用到多种架构的无线网络设备中。经大量实验数据对比,不同网络规模下路由建立时间的对比情况如图2所示。
图2 路由建立时间
如图2所示,本文设计的二层路由转发协议在不同网络规模下,整个网络的路由收敛时间明显低于三层路由。由此可见,二层路由转发协议对于动态变化的无线拓扑更有优势。
本文分析了在无线网络环境中二层路由转发协议的优势,为了解决在无线信道中三层路由转发无法满足网络拓扑结构的动态变化问题,研究了一种适合无线信道拓扑动态变化的二层路由转发协议,并详细介绍了二层路由转发协议的设计。通过实验对比分析可以看出,本文设计的二层路由转发协议缩短了动态拓扑的路由建立时间,在军事、快速移动、应急通信等领域能够更加及时、有效地保障无线网络的通信。
[1] 洪锡军,车克南,张激.无线自组网路由协议研究[J].计算机工程,2005,31(08):105-107.HONG Xi-jun,CHE Ke-nan,ZHANG Ji.Research on Route Protocol of Ad hoc[J].Computer Engineeri ng,2015,31(08):105-107.
[2] IEEE 802.11 Working Group of the LAN/MAN Committee.IEEE P802.1ls/D2.0 Part 11:Wireless LAN Medium Access Control(MAC) and Physical Layer(PHY) Specifications.Amendment 10:Mesh Networking[R].2008.
[3] 方旭明,马忠建.无线Mesh网络的跨层设计理论与关键技术[J].西南交通大学学报,2005,40(06):711-719.FANG Xu-ming,MA Zhong-jian.Theory and Key Technologies of Cross-Layer Design in Wireless Mesh Networks[J].Journal of Southwest Jiaotong University,2005,40(06):711-719.
[4] lan F.Akyildiz,Xudong W,Weilin W.Wireless Mesh Networks:A Survey[J].Computer Networks,2005,47(04):445-487.