AdHoc网络设计中的一个关键问题是开发能够在两个节点之间提供高质量高效率通信的路由协议。网络节点的移动性使得网络拓扑结构不断变化,传统的基于因特网的路由协议无法适应这些特性,需要有专门的应用于AdHoc网络的路由协议,根据前文对AdHoc网络结构和特点的阐述,设计的路由协议必须满足以下的条件:
(1)必须对网络拓扑结构动态变化具有快速应变的能力,并且尽量避免路由环路的发生,提供方便简单的网络节点定位法。
(2)必须高效地利用有限的带宽资源,尽可能压缩不必要的开销。
(3)实施多跳通信的中间转接次数也是有限的,一般不要超过3次。
(4)必须尽可能减少发射时间和发射的数据量,节约有限的工作能源。
(5)在可能的条件下,使设计的路由协议具有安全性,降低遭受攻击的可能性。
1) 先应式 ( Pro - active)算法:又称为表驱动( table - driven)路由算法。该算法将网络中每个结点当作一个独立主动的路由器进行全网络周期性的路由信息的广播和更新 ,每个结点需要维护一张完整的网络路由表 ,路由表项的内容包括目的结点、 跳数、 目的结点序号等。每个结点周期性的与邻结点交换路由信息来更新自身的路由表 ,路由发现依据路由表来进行。先应式算法的优点是通信时可以立即得到路由信息 ,缺点是当网络内结点发生变化时 ,必须重新交换路由信息以获得新路由的路径 ,这样增加了网络的负载 ,路由开销也随着网络的增大而越来越大。其代表协议有 DSDV、 OL2SR等。
2) 按需求 (ON - demand)算法:又称反映式路由算法。无线网络当需要路由来传送数据包时才被动的进行路由发现 ,即结点仅构建和维护当前需要用来发送数据包的路由信息。网络拓扑结构和路由表内容也是按需建立的 ,不需建立去往网络内各个结点的路径 ,因此不需要周期性的广播路由信息 ,节省了一定的网络资源。按需求算法具有较小的通信控制 (路由维护更新 )开销 ,但在需要发送数据时 ,因没有通向目的结点的路由信息 ,要临时启动路由发现机制来寻找路由 ,这会带来一定的时延。代表协议有 AODV (Ad hoc On Demand Dis2tance Vect or)、 DSR、 DSRD、 T ORA协议等。