自组织网络(Ad Hoc)是一种移动通信和计算机网络相结合的网络,是移动计算机网络的一种,用户终端可以在网络内随意移动而保持通信。
早在上世纪,随着 IEEE 802.11标准的开发,Ad Hoc 的概念就已经诞生了,IETF 标准化的 Ad Hoc 网络称为 MANET,现在通常用 MANET 描述一切 Ad Hoc 网络。在随后的几十年中,Ad Hoc 相关技术稳步发展,在军事、民用、商业等许多重要领域都具有独特优势。
在5G 和人工智能浪潮迭起的今天,车联网、无人机网络等新兴技术的兴起,Ad Hoc 网络又焕发了新的生命力。
Ad Hoc 网络采用分组交换机制,网络中的每个用户终端都建有路由器和主机两种功能。作为主机,终端可以运行各种面向用户的应用程序;作为路由器,终端需要运行相应的路由协议。
这种分布式控制和无中心的网络结构额能够在部分通信网络遭到破坏后维持剩余的通信能力,具有很强的鲁棒性和抗毁性。
网络中的移动终端具有路由和分组转发功能,因此移动自组网既可以作为单独的网络独立工作,也可以以末端子网的形式接入现有网络,如 Internet 和蜂窝网。
Ad Hoc 网络能够利用移动终端的路由转发功能,在无基础设施的情况下进行通信,从而弥补了无网络通信基础设施可使用的缺陷。自组网技术为计算机支持的协同工作系统提供了一种解决途径,主要特点有:
在移动自组织网络中,由于用户终端的随机移动、节点的随时开机和关机、无线发信装置发送功率的变化、无线信道间的相互干扰以及地形等综合因素的影响,移动终端间通过无线信道形成的网络拓扑结构随时可能发生变化,而且变化的方式和速度都是不可预测的。
移动自组织网络没有严格的控制中心,所有节点的地位是平等的,是一种对等式网络。节点能够随时加入和离开网络,任何节点的故障都不会影响整个网络的运行,具有很强的抗毁性。
自组织网络中的移动终端(如笔记本电脑、手机等)具有灵巧、轻便、移动性好等优点,但同时其电源有限、内存小、CPU 性能低等限制,使得我们在开发应用程序时,需要考虑这些因素。
无线信道本身的物理特性决定了移动自组织网络的带宽比有线信道要低很多,而竞争共享无线信道产生的碰撞、信号衰减、噪音干扰及信道干扰等因素使得移动终端的实际带宽远远小于理论值。
由于移动终端的发射功率和覆盖范围有限,当终端要与覆盖范围之外的终端进行通信时,需要利用中间节点进行转发。值得注意的是,与一般网络中的多跳不同,无线自组网中的多跳路由是由普通节点共同协作完成的,而不是由专门的路由设备完成的。
路由协议的目的是找到一个或多个最佳的路径,一般包括两个阶段:
路由发现阶段,路由节点初始化并构成路由表。
路由更新阶段,路由节点彼此交换信息,比如路由表。
距离向量路由协议与其相邻节点交换路由表。这种协议带宽和能耗低,但有伸缩性和覆盖性方面的问题,且网络容易出现“环”。
连接状态路由协议中每个路由节点都有整个网络的路由表,使用 Dijkstra 最短路算法计算路径。这种协议适用于大规模复杂网络,且不存在“环”的问题,但能耗和存储空间需求高,而且初始化比较慢。
在 MANET 中,节点能耗和存储空间的限制都很高,节点的活跃性可能导致某个重要节点断开连接,无线连接相较于有线连接受干扰程度更剧烈,同时安全问题也值得考虑,所以传统的网络路由协议不适用于 MANET。
早在1996年,因特网工程任务组(IETF)就成立了移动 Ad Hoc 网络工作小组(MANET WG),其核心任务就是研究无线自组织网络环境下基于 IP 协议的路由协议规范和接口设计。IETF RFC2501详细给出了无线 Ad hoc 网络的应用场合、特征和性能要求。
目前,MANET WG 已经公布了一系列的有关 Ad Hoc 路由的草案,下面将逐个介绍主要的七类。
2. 表驱动路由协议
DSDV 是基于距离向量的表驱动路由协议,它只与相邻节点交换信息,为了避免“环”的出现,路由表中的路由多了一项 k,每经过一跳 k 的值就加一。
OLSR 是基于状态链接的表驱动路由协议,虽然所有节点都会接收信息,但是只有很少的节点有权利传播信息。
RFC 3626 定义了 OLSR 的一个核心函数和其他辅助函数。
核心函数具有以下功能:
- 定义包格式和传输格式
- 连接检测
- 相邻节点检测
- MPR 的选择
- 监视消息的传播
- 计算路由
辅助函数具有以下功能:
- 与使用非 OLSR 协议的网络协同
- 多余拓扑数据的传播
- 提前连接检测
为了避免“环”的出现,OLSR 引入了 MPR 的概念,节点忽略了与路由计算无关的链接和邻节点,MPR 是一个节点的邻节点的最小子集,它可以使该节点在两跳之内到达其所有邻节点。
3. 按需驱动路由协议
这种路由协议在发送信息时才发送寻找路由的请求,包括路由发现和路由保持两个机制。
DSR 是一个按需驱动路由协议,节点发送消息前寻找路由时,向相邻节点发送路由请求消息 RREQ,如果未找到这些相邻节点再向它们的相邻节点转发 RREQ,直至找到为止。目的节点接收到消息后,按原路径发送回消息,路径中的节点记录该条路由。
AODV 是基于距离向量的按需路由协议,在 RFC 3561中定义。
4. 混合路由协议
ZRP 是这种路由协议的代表,它将网络分成互连的路由区域,区域间使用按需加载路由协议,区域内使用表驱动路由协议。
5. 分级路由协议
基于簇的协议将网络分为多个簇,并定义每个簇的头节点,RREQ 信息首先发往头节点,然后再决定在簇中还是簇外。
6. 基于地理位置的路由协议
这种路由协议模糊了 IP 的概念,根据地理位置传播数据。
7. 能量控制的路由协议
8. 多点传送路由协议
9. 路由协议总结
实际上,MANET 路由协议大多经过基础网路由协议进行一定修改而得,所以理解起来不会很难。其中 AODV 和 OLSR 两种协议最基础、使用最广泛,所以后面的文章中将着重介绍这两种。而对于其他路由协议,可以直接查找相应的 RFC,会有一个权威的认识。