4 MSAODV 路由协议的操作
由于MSAODV 路由协议是对AODV 协议的改进演化,所以MSAODV 路由协议的操作与AODV 路由协议的操作大同小异,为了清晰起见,对MSAODV 协议的操作做一详细的介绍还是有必要的。
4.1 产生路由请求
无线网络中某个节点需要和网络中的另一个节点通信时,他首先会查找自己的路由表,以确定是否有通往该目的节点的有效路由,如果有的话,从对应的目的节点路由表项中取出下一跳节点地址,然后构造数据包并把该数据包发往下一节点,如果不存在通往目的节点的路由,那么该节点就要发起一次路由请求。
4.2 处理和转发路由请求
处理和转发路由请求是针对源节点和目的节点之间的中间节点而言。这些中间节点可能不止一个,在他们收到源节点广播的RREQ 路由请求帧之后,必需处理和转发该路由请求帧。
该RREQ 请求帧是否己经被成功接收过,判断的依据就是源节点的IP 地址和广播ID 号,如果发现由源节点和广播ID 唯一标志的RREQ 请求帧是新的,也就是没收到过,就会根据此RREQ 请求帧更新自己路由表中对应的项。很显然,该路由表项的目的节点IP 字段就是是源节点IP 地址,下一跳IP 地址就是发送此RREQ 请求帧的节点IP 地址,有可能是源节点也有可能是另一个中间节点。接下来此中间节点判断该RREQ 请求帧的目的IP 是不是就是自己,如果是就回送一个RREP 回应帧,不是就转发该RREQ 请求帧。
4.3 产生路由应答
RREQ 经过中间节点的转发到达目的节点或者是直接到达目的节点后,目的节点要进行相应的处理。
目的节点收到 RREQ 请求包,首先会判断是否已经收到过此请求包,如果没有收到过则更新自己相应的路由表项,目的节点把该路由表项的目的IP 更新为源节点的IP 地址,下一跳IP为发给他RR 卫Q 请求帧的节点IP,目的节点序列号填上源节点的序列号,该序列号在RREQ请求帧里,跳数直接从RREQ 请求帧里拷贝。在确认请求的节点就是自己后,目的节点要给源节点发送一个RREP 应答帧,接下来目的节点构造一个RREP 应答帧并正确初始化该帧。类型字段为2,表示该帧是RREP 应答帧。跳数字段为0,因为是目的节点发起的RREP 应答帧。
目的节点产生一个RREP 应答包之前,必需更新自己的序列号,更新值为当前序列号与RREQ请求包中的目的序列号两者中的最大值,目的序列号字段被初始化为这个最大值。源IP 地址指的是发起RREQ 请求帧的源节点的IP 地址,而不是指目的节点的IP 地址,同样的,目的IP地址就是目的节点的IP 地址,也就是发起RREP 应答帧的节点IP 地址。
在目的节点构造好 RREP 回应帧后,就要把该帧以单播的形式沿着反向路由传送,他的下一跳节点IP 地址是发给他RREQ 请求帧的节点地址,可能是某个中间节点,也可能是源节点。
一切准备就绪,目的节点按照退避算法发送该帧。
4.4 接收和转发路由应答
由于无线网络的特点,尽管目的节点是以单播的形式向源节点回送RREP 回应帧,但是网络中的很多节点也能接收到该帧,当然,这些节点只是简单的丢弃该帧,只有反向路由上的节点才会接收该RREP 回应帧。反向路由上的节点会沿着反向路由顺利的把RREP 回应帧传给源节点,同时他们也根据此RREP 回应帧建立了前向路由。该节点下面要完成的工作就是把该RREP 回应帧转发出去。他要知道下一跳节点的IP 地址,以RREP 回应帧中的源节点IP地址为关键字查找路由表,得到下一跳节点的IP,这个表项是在建立反向路由时建立或更新的。该中间节点在完成上面的步骤后,以退避算法转发该RREP 回应帧。与RREQ 请求帧的转发不同,R.REP 回应帧的转发是单播的,他不会像R.REQ 请求帧那样可能被转发多次,所以R.REP 回应帧的字段里不存在广播ID。
4.5 新节点加入
无线传感器网络中的节点在开机或重启之后,会向网络广播一个RESET 消息,网络中的其他节点收到此RESET 消息后会转发该帧,最后主节点收到该帧。新节点在RESET 消息帧里携带自己的IP 地址,这样当主节点收到该帧后就可以知道是哪个节点重启。
收到 RESET 消息帧的其他节点首先查找自己的路由表看是否有主节点的IP 地址,如果有就以单播的形式发送该帧,反之则继续广播此RESET 消息帧。每个节点都要保存上一次他收到的RESET 消息帧中的源节点IP 地址,下次再收到RESET 消息帧首先要比较源IP 地址是否和保存值相同,相同就不再转发该帧,在经过一段时间后,将保存值清零,这样就避免了重复转发同一个RESET 消息帧,又避免了不再转发下次的RESET 消息帧。
4.6 其他操作
除了前文描述的产生路由请求、处理和转发路由请求、产生路由应答、接收和转发路由应答、新节点加入等主要操作外,MSAODV 路由算法余下的操作可以参考第二章介绍的AODV 路由算法。
5 结语
AODV 路由算法应用在无线传感器网络中有一定的局限性,不能很好得适合无线传感器网络的体系结构。以无线传感器网络与传统移动无线网着重点不同为依据,本文提出了适合无线传感器网络的路由算法MSAODV,并详细叙述分析了MSAODV 路由算法。