微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 针对微型无线传感器网络的MSAODV路由协议

针对微型无线传感器网络的MSAODV路由协议

时间:08-05 来源:互联网 点击:

功能欠缺,但可以通过其他方法来弥补这个缺陷。

  RREQ 协议帧格式

  RREQ 路由请求协议帧如表2 所示。

  RREP 协议帧格式

  RREP 路由应答协议帧如表3 所示。

  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 消息帧,又避免了不再转

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top