目录

1 DSR协议简介

2 路由发现

2.1 路由发现过程

2.2 几种情况

3 路由维护

3.1 点到点证实机制

3.2 端到端证实机制

4 路由缓冲技术优化策略

5 DSR协议的优缺点

5.1 优点

5.2 缺点


1 DSR协议简介

DSR协议是一种基于源路由方式的按需路由协议。在DSR协议中,当发送者发送报文时,在数据报文头部携带到达目的节点的路由信息,该路由信息由网络中的若干节点地址组成,源节点的数据报文就通过这些节点的中继转发到达目的节点。也就是说,在开始数据报文发送前,源节点就已经完成了路由发现过程并得到了有效路由。与基于表驱动方式的路由协议不同的是,在DSR协议中,节点不需要实时维护网络的拓扑信息,因此在节点需要发送数据时,如何能够知道到达目的节点的路由是DSR路由协议需要解决的核心问题。

DSR路由协议主要路由发现和路由维护两部分组成。路由发现过程主要用于帮助源节点获得到达目的节点的路由。当路由中的节点由于移动、关机等原因无法保证到达目的节点时,当前的路由就不再有效了。DSR协议通过路由维护过程来监测当前路由的可用情况,当监测到路由故障时,将调用新的一轮路由发现过程。同时为了提高系统性能,在DSR协议中,还引入了一系列的优化技术,如路由缓冲等。下面将分别介绍这几个部分。

2 路由发现

2.1 路由发现过程

节点通过路由发现过程获得到达网络中其他节点的路由。

1. 源节点首先向其邻节点广播路由请求报文。报文中包括“目的节点地址”、“路由记录”以及“请求ID”等字段。其中“路由记录”字段用于记录从源节点到目的节点路由中的中间节点地址,当路由请求报文到达目的节点时,该字段中的所有节点地址即构成了从源节点到目的节点的路由。“请求ID”字段由源节点管理,中间节点维护<源节点地址,请求ID>序列对列表,<源节点地址,请求ID>序列用于唯一标识一个路由请求报文,以防止收到重复的路由请求。

2. 中间节点在收到源节点的路由请求报文后,按照以下步骤处理报文:

(1)如果路由请求报文的<源节点地址,请求ID>存在于本节点的序列对列表中,表明此请求报文已经收到过,节点不用处理该请求;如果不存在,则转步骤(2)

(2)然后当前节点的地址已存在与路由记录字段中,该节点不用处理该请求;如果不存在,则转步骤(3)

(3)如果请求报文的目的节点就是本节点,则路由记录节点中的节点地址序列构成了从源节点到目的节点的路由。节点向源节点发送“路由响应”报文,同时将该路由拷贝到“路由响应”报文中;否则转步骤(4)

(4)该节点是中间节点。将节点地址附在报文的“路由记录”字段后,同时向邻节点广播该路由请求。

通过这种方法,路由请求报文将最终到达目的节点。如图1所示为节点A到达节点D的路由请求过程。虚线箭头代表路由请求消息发送,括号中的内容代表消息中的路由记录。

图1 DSR路由请求过程

其中有几个需要注意的问题:

(1)节点B分别收到了两次路由请求报文,B先收到来自A的路由请求,并将自己的地址添加到路由记录字段后将该消息广播给其邻节点,随后B又收到来自F的路由请求,由于路由请求报文的<源节点地址,请求ID>存在于节点B的序列对列表中,因此B对此不做任何处理。

(2)目的节点D可能会同时收到来自节点C和E的路由请求消息,造成消息碰撞,反而收不到正确的路由请求,因此在Ad hoc网络中,广播并非完全可靠。可以采用一定的策略来避免,如节点随机延时发送,或者节点间采用证实机制等。

2.2 几种情况

目的根据收到的源节点路由请求报文回送“路由响应”报文。目的节点在将“路由响应”报文转发到源节点时,需要考虑这样几种情况:

(1)目的节点有到达源节点的路由。此时目的节点可以直接使用该路由回送响应报文;

(2)如果目的节点没有到源节点的路由,此时需要考虑节点通信信道问题:

①如果网络中所有节点间的通信信道是对称的,此时目的节点到源节点的路由即为源节点到目的节点的反向路由;

②如果信道是非对称的,目的节点就需要发起到源节点的路由请求过程,同时将路由响应报文捎带在新的路由协议中。

如图2所示为DSR的路由响应过程。假设信道是双向信道,节点D根据最短路由原则选择了路由(A-B-C-D)作为最终路由,将此信息通过反向路由发送至源节点A

图2 DSR路由响应过程

3 路由维护

传统的路由协议中通过周期性广播路由更新消息将路由发现和路由维护过程合二为一。而在DSR协议中,由于没有这种周期性的广播,节点必须通过路由维护过程来检测路由的可用性。

按照路由维护的不同检测方法,可以将路由维护分为以下两种:

3.1 点到点证实机制

又称逐跳证实机制。即相邻节点间通过数据链路层的消息证实或者高层应用层之间的消息证实机制,来检测路由中各邻节点的可达性。当发现节点间的传输故障,即路由不再有效时,向上级节点发送“路由差错”报文,收到路由差错报文的节点根据此信息将该路由从本节点的路由缓冲区中删除。

3.2 端到端证实机制

在有些应用中要求端到端节点间的证实,通过端到端的证实机制可以用来检测整个路由的有效性。但当路由发生故障时,该机制无法确定故障发生的位置,即究竟是在哪个节点间发生了故障。

ps. 点到点与端到端都是网络设备之间的关系,两者工作的网络分层不同。点到点工作在物理层,是指两个网络设备直接相连,中间没有其他设备;端到端工作在传输层(如TCP连接),是指两个网络设备之间的逻辑互连,不管中间有多少物理设备。

4 路由缓冲技术优化策略

在DSR协议中,为了提高系统效率,协议中采用了路由缓冲优化策略。由于无线广播信道的特点,节点可以处于“混合监听”状态,即可以听到相邻节点发出的所有报文,包括路由请求、路由响应等。这些报文中携带了网络的一些路由信息,节点通过缓存这些路由信息,可以尽量减少每次发送新报文时启动的路由发现过程,以提高系统的效率。如图3所示,节点A通过发起目的节点为D的路由请求过程,获得路由A-B-C-B,同时节点A也获得了到达该路由中所有节点(如节点B、C)的路由,节点B等中间节点也获得了到达节点D的路由。

图3 DSR路由缓冲技术

同时,中间节点在收到源节点的路由请求时,如果本节点路由缓冲区中有到达目的节点的路由,可以直接恢复路由响应消息。如节点F在发起到节点D的路由请求时,当报文到达节点B时,节点B中有缓冲路由B-C-D,此时节点B可以直接回复路由协议(F-B-C-D)。这样一方面加快了路由请求的响应,同时也减少了路由请求消息的广播。

当然,这样也会出现一些问题。例如,假设节点A和节点B都有到节点D的路由,它们几乎同时都收到节点F的路由请求,几乎同时响应,由于“隐终端”等问题,可能会造成报文冲突。为了解决这个问题,在DSR协议中,要求节点在发送缓冲路由前先随机等待一段时间(通常时间和距离目的节点的跳数成正比,即距离越长,等待时间越久)。这样,一方面避免了响应冲突问题,同时也解决了路由的最短优化问题。

尽管路由缓冲技术能够在一定程度上提高系统的效率,但同时一些错误或国企的路由缓冲信息(如由于某些节点的移动使得路由失效)也会对网络带来负面影响,这些错误的路由信息可能会影响和感染其他节点。对此,可以采用一定的策略来减少其影响。例如为缓冲路由设定有效期,超过有效期的路由将被认为无效,将其从缓冲区中删除。

5 DSR协议的优缺点

5.1 优点

  1. 仅在需要通信的节点间维护路由,减少了路由维护的代价
  2. 路由缓冲技术可进一步减少路由发现的代价
  3. 由于采用了路由缓冲技术,因此在一次路由的发现过程中,会产生多种到达目的节点的路径
  4. 支持非对称传输信道模式

5.2 缺点

  1. 由于采用源节点路由,每个数据报文的头部都要携带路由信息,增加了报文长度;
  2. 用于路由发现的控制报文可能会涉及全网各节点,造成一定的耗费;一种可行的优化方法是控制路由发现报文的传输距离(如跳数),如果本轮路由发现失败,后续的路由发现过程中再加大传输距离;
  3. “路由响应风暴”问题。由于采用路由缓冲技术,中间节点根据自己的缓冲路由,对路由请求直接应答,源节点会同时收到多个路由响应,造成路由响应信息之间的竞争;通常的解决方法是当中间节点在监听到邻节点的路由报文,发现该路由比自己的路由更短时,就不再发送本节点的路由响应报文;
  4. “脏”缓冲路由对其他节点的影响。如果中间节点的路由缓冲记录已经过时,当该节点根据缓冲路由回复路由请求时,其他监听到此“脏”路由的节点会更改自己的缓冲路由记录,造成“脏”缓冲路由的污染传播。因此必须采取相应的措施,尽量避免和减少“脏”缓冲路由的影响。

Ad hoc网络路由协议概述3——按需路由协议(1)DSR协议(Dynamic source routing protocol)相关推荐

  1. Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)

    目录 1 一点前言 2 路由发现 2.1 相关概念 2.2 AODV的路由发现过程 2.3 与DSDV协议的对比 3 路由表管理及维护 3.1 更新路由表的策略 4 AODV协议的特点 4.1 优点 ...

  2. Ad Hoc网络的概述

    这篇博客主要介绍三大网络:移动自组网,无线Mesh网络以及无线传感器网络 1.移动自组网(Ad Hoc):.移动自组网是一种随建即连的网络,是一群移动节点的集合, 在没有任何预先部署的固定基础设施的情 ...

  3. Ad hoc网络路由协议概述1——分类

    目录 1. 传统Internet网络路由协议 1.1 距离矢量路由协议(Distance Vector) 1.2 链路状态路由协议(Link State) 1.3 在Ad hoc网络中的不适用性 1. ...

  4. Ad hoc网络路由协议概述2——表驱动路由协议(1)DSDV协议(Destination-sequenced distance vector protocol)

    目录 1 DSDV协议的先导协议: DV协议的困境 2 解决DV协议计数到无穷的困境 2.1 毒性反转 (Poisoned reverse) 2.2 增加序列号 3 DSDV协议 3.1 基本流程 3 ...

  5. 3.2 Ad Hoc 网络路由协议

    Ad Hoc 网络路由协议 Ad Hoc 网络路由面临的问题 在设计Ad Hoc 网络路由协议时,我们首先要明确可能面临的问题: (1)路由信息不易获得:定期交换路由信息的开销大.网络资源有限,并且必 ...

  6. Ad Hoc网络路由协议

    个人小结: 由于Ad Hoc网络节点的频繁移动以及网络拓朴结构的频繁变化,传统的蜂窝移动通信系统的路由选择方式对Ad Hoc网络并不适用.为解决Ad Hoc网络的路由选择问题,需要设计更为合适的路由协 ...

  7. Ad Hoc网络路由技术

    Ad Hoc网络路由技术 Routing Protocols of Wireless Ad Hoc Networks 作者:盛敏,田野,李建东 文章来源:中兴通讯技术 点击数:328 更新时间:200 ...

  8. 无线Ad Hoc网络的安全

    此文简单的介绍了Adhoc的工作原理,并且对于遇到的密钥管理安全,数据层安全的保护方法进行了介绍,最主要的是此文引用了很多好的相关Paper可以进行参考帮助进一步研究. 作 者:周亚建 杨义先 Abs ...

  9. Ad Hoc网络技术浅析

    Ad Hoc Network Technology 摘 要:Ad Hoc网络是随着无线通信技术的快速发展而出现的一种新型网络.本文详细介绍了Ad Hoc网络的概念.特点.应用需求.与其他移动通信系统的 ...

最新文章

  1. HDU_1072_Nightmare题解
  2. php opcache 坑,PHP7 opcache缓存清理问题
  3. XCTF WEB disabled_button
  4. 天津理工大学c语言上机报告3,天津理工大学-c语言上机报告4.pdf
  5. Linux关机和重启命令总结
  6. 补码原理一个字节存储数值的范围如何计算
  7. bind搭建(二)反向解析
  8. Taglist:Exuberant ctags.......
  9. testng执行参数_初识TestNG测试框架
  10. 在DataTable中执行DataTable.Select(条件),
  11. 6.数据结构 --- 树和二叉树
  12. TCPreplay libdnet安装失败情况下安装/tcpreplay yum install 方式安装
  13. 河北工业大学开发能力训练之测风数据处理(一)
  14. Super-pack按键精灵安卓离线打包发布
  15. 基于I2C协议的AHT20温湿度传感器的数据采集及OLED屏显示
  16. 做一名「技术掮客」去变现自己的技术
  17. 照片查看器找不见的解决办法
  18. DSPE-PEG-MAL,474922-22-0,DSPE-PEG-Maleimide
  19. 软件测试基础知识 - 集成测试和系统测试的区别,以及它们的应用场景
  20. 汉诺塔(hanoi tower)游戏

热门文章

  1. 精选微软等公司数据结构+算法经典面试100题[1-80题]
  2. 如何实时计算中证1000指数的主买/主卖交易量
  3. C语言:【U-boot 和 kernel】添加【调试log宏】
  4. 示例2_亚马逊商品页面爬取
  5. Adobe Acrobat 8 Pro 使用注册机安装步骤
  6. 舆情监控前几大公司有哪些,TOOM品牌好的舆情数据监测平台?
  7. 获取微信公众号openID,code
  8. 滚齿挂轮计算软件手机版_2020年人力资源必备管理软件排行榜
  9. 如何输入字符串带空格?
  10. Apache Calcite概念介绍