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

article/2025/10/7 2:12:24

目录

1. 传统Internet网络路由协议

1.1 距离矢量路由协议(Distance Vector)

1.2 链路状态路由协议(Link State)

1.3 在Ad hoc网络中的不适用性

1.3.1 动态变化的网络拓扑结构

1.3.2 周期性的广播拓扑信息

1.3.3 单向的无线传输信道

2. Ad hoc网络路由协议

2.1 地理定位辅助路由协议

2.2 平面路由协议和分簇路由协议

2.3 表驱动路由协议和按需路由协议

参考文献


1. 传统Internet网络路由协议

目前在Internet中常用的内部网关路由协议主要由两种。一种是基于距离矢量的路由协议(如RIP协议),一种是基于链路状态的路由协议(如OSPF协议)。

1.1 距离矢量路由协议(Distance Vector)

在该协议中,每个路由器都维护一张距离向量表,表中记录着本路由器到每个目的节点的最佳路由(通常是最短路由)。通过与相邻路由器交换距离信息来更新路由表的信息。该路由协议算法采用的是“Bellman-Ford”最短路由算法。

1.2 链路状态路由协议(Link State)

与距离矢量路由协议不同的是,在该协议中,所有路由器不必以分布方式计算“最短路由”,而是通过可靠地发布链路状态分组来维护一张完整的网络拓扑结构图,并按照该拓扑结构计算出至目的节点的最短路由。该协议采用的是Dijkstra最短路径优先算法。

1.3 在Ad hoc网络中的不适用性

上述两类路由协议都是针对固定网络而设计的,都需要周期性地交换信息来维护网络正确的路由表或网络拓扑结构图。由于Ad hoc网络带宽有限,拓扑变换频繁,传统的用于固定网络的路由协议不适用于Ad hoc网络,主要体现在以下几个方面:

1.3.1 动态变化的网络拓扑结构

这些变化主要体现在节点加入、离开网络以及链路权值系数的变化。而对于常规的有限网络,网络拓扑结构则表现较为稳定,拓扑结构的变化通常是由于链路状态的变化(如链路拥塞,或是设备故障等)所引起的。

1.3.2 周期性的广播拓扑信息

周期性的广播拓扑信息会占用大量的无线信道资源,耗费电池能源,会严重降低系统的性能。尤其是在拓扑变化频繁的Ad hoc网络环境中,可能当路由算法还未收敛时,网络的拓扑结构就又发生了变化。

1.3.3 单向的无线传输信道

在传统的网络路由协议中,通常认为节点间的链路是对称的双向链路。而在Ad hoc网络中,由于无线收发设备不同或周围环境对无线信道的影响,可能会造成单向的无线传输信道。如图1所示,假设节点B的传输范围较大,可以和节点A和C直接通信,而节点A由于传输范围的限制不能将报文直接发送到节点C。节点A在收到节点B的拓扑信息(节点B可到达节点C)时,就不能简单地认为它可以通过节点B的转发实现与节点C的通信。

 图1 单向的无线传输信道

正是由于以上的一些问题,如果直接将传统路由协议应用于Ad hoc网络,这些周期性的控制信息会占用大量的无线信道资源,降低系统效率。其中在RIP中还会遇到无穷计数和临时环路等问题,算法收敛速度慢,使得传统的路由协议在Ad hoc网络中不再适用。因此路由选择和路由协议成为当前Ad hoc网络研究的一个重点问题。

2. Ad hoc网络路由协议

根据是否使用地理位置进行辅助,Ad hoc网络路由协议可分为地理定位辅助路由(geographic-location assisted routing protocol)和非地理定位辅助路由(non-geographic-location assisted routing protocol)。根据网络拓扑结构,可以分为平面结构的路由协议(flat routing protocol)和层次结构/分簇的路由协议(hierarchical/cluster routing protocol)。根据源节点发现路由的驱动模式不同,又可以分为表驱动路由协议(table driven routing protocol)和按需路由协议(source-initiated on-demand routing protocl),分类方法如图2所示。

 图2 Ad hoc网络路由协议的分类

2.1 地理定位辅助路由协议

广播在移动Ad hoc网络通信中起着极其重要的作用。通过广播把信息从一个节点向整个网络中的所有节点发送。因而不但可以向全网发送简单的控制命令,而且在许多的网络层的单播和多播协议寻找路由的过程中起关键作用。比如DSR,AODV,ZRP,LAR等都是用广播来发现节点间的路径或更新网络节点的状态。当前,这些协议依赖于广播的一种简单形式——洪泛。但洪泛会引起网络的拥塞和数据冲突,从而降低网络资源利用率。

近年来,提出了许多广播协议,希望在保证网络中的每个节点得到广播报文的同时尽量减少数据重传的数量。广播协议分为以下几类:基于概率的协议、基于计数的协议、基于距离的协议、基于位置的协议以及基于分簇的协议。尽管前三类协议提供了较高的递交率和较低的重传率,但不是可靠的。分簇技术被用来解决无线网络的许多问题。但它要求额外的数据收发以进行簇首的选举及簇结构的维护。另外,由于基本所有的通信都要通过簇首进行,簇首的能量会迅速消耗,从而减少网络的生存时间。

另一种解决方案就是基于位置辅助的局部洪泛路由协议。随着全球定位系统的广泛应用,GPS技术与Ad hoc网络路由技术的结合使得这种Ad hoc网络的路由技术更加灵活。依靠GPS技术,发送源节点可以很容易知道目的节点的位置,另用己知的网络的位置信息,划定洪泛的范围,使得洪泛在局部范围内进行,从而降低了广播报文的开销。基于此,许多研究者提出了利用地理位置信息的路由协议。这种类型的路由协议具有更好的可扩展性和对网络更好的适应性。

根据节点在发送数据前是否建立路由,可以将利用位置信息的路由协议分为两类:(1)位置辅助的路由协议。特点是,节点在发送数据前先寻找路由,并保存路由表。典型代表是LAR(Location-aided routing)。(2)基于位置信息的路由协议。特点是,节点在发送数据前不寻找路由,不保存路由表,节点直接根据位置信息指定数据转发策略。基于位置信息的路由协议一般可分为三类:贪婪路由(如GPSR、GEDIR和GRA)、定向洪泛路由(如DREAM)和分层路由(如Terminodes Routing和GRID)。

2.2 平面路由协议和分簇路由协议

目前Ad hoc网络的拓扑结构主要由平面结构和分簇结构,如图3所示。

(a) 平面结构
(b) 分簇结构

图3 Ad hoc网络拓扑结构

 在平面结构的路由协议中,网络结构简单,所有节点处在平等的地位,它们具有的功能完全相同,各节点共同协作完成节点间的通信。

随着网络规模的的逐步扩大,网络中节点个数不断增加,每个节点想要维护整个网络的拓扑信息或选择到远端节点的合适路由将十分困难,因此产生了分簇式路由协议。

分簇式路由协议中,网络节点按照不同的分簇算法分成相应的簇(或群)。簇中的每个节点完成的功能是不相同的,有的节点被赋予一些特别的功能,如簇首节点维护和管理本簇范围内节点,负责簇内节点的通信,同时为簇间节点通信提供合适的路由信息;网关节点负责与相邻簇节点通信。由底层簇的簇首节点可以进一步组成高一层的簇,如图4所示。

 图4 分簇式路由协议中的分层结构图

根据簇的划分方法、簇首的选择方式以及簇首职责的不同,出现了一些不同的基于分簇结构的路由协议,如CEDAR、HSR及ZHLS等。

2.3 表驱动路由协议和按需路由协议

表驱动路由协议又称为主动式(或先验式)的路由协议(proactive protocols)。该路由协议试图维护网络中从各个节点到所有其余节点的最新路由信息。所有路由信息保持一致。每个节点都维护一张或几张到网络中其他节点的路由信息表。当网络拓扑结构发生变化时,节点通过交互信息来实时地维护网络路由信息表。目前常见有DSDV协议等,这类路由协议通常是通过修改常规的Internet路由协议以适应Ad hoc网络环境,如DSDV协议是在RIP协议的基础上,通过引入序列号机制解决了“路由环路”和“计数到无穷”的问题;通过采用“时间驱动”和“事件驱动”机制更新路由信息。尽量减少路由等控制信息对无线信道的占用,以提高系统效率。

在表驱动路由协议中,由于每个节点需要实时地维护路由信息,这样在网络规模较大、拓扑变化较快的环境中,大量的拓扑更新消息会占用过多的信道资源,使得系统效率下降。

为此,按需路由协议被提出。按需路由协议又称为反应式路由协议(reactive protocol)。它是一种被动式的路由协议,与主动式路由协议相比,在这类协议中,节点平时并不实时地维护网络路由,只有在节点有数据要发送时,才激活路由发现机制寻找到达目的节点的路由,常见的有DSR路由协议和AODV路由协议。路由发现过程如图5所示。当节点1有数据要向节点8发送且无路由时,节点1启动路由发现过程:

图5 按需路由协议的路由发现过程 

(1)节点1向其邻节点(节点2,3,4)发送路由请求消息;

(2)中间节点转发路由请求消息直至目的节点8;

(3)目的节点选择合适的路由返回路由响应消息,该消息中携带了从节点1到节点8的完整路由。

按需路由是Ad hoc网络路由协议区别于常规路由协议的一个重要特征。同时,为了进一步提高按需路由协议的效率,许多研究人员对DSR路由协议进行了下列改进:

(1)采用路由缓存技术,以加快路由发现过程,减少路由请求消息对信道的占用;

(2)通过使用位置信息以减少路由请求消息的泛洪,如LAR协议等等;

(3)通过限制路由请求消息传播的距离,来减少路由请求消息的泛洪,如Query Localization协议等。

参考文献

1.  无线Ad hoc网络课程,网络课程,郑军

2.  基于位置路由协议及无线信号波动对多跳路由影响研究,硕士学位论文,武晓庆


http://chatgpt.dhexx.cn/article/guni0FHB.shtml

相关文章

3.2 Ad Hoc 网络路由协议

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

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.2 广播机制 3.2.1 交换路由信息的两个时刻 3.2.2 交换路由信息的两种方式 3.2.3 序列号不同如何选择 3.2.4 序列…

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 优点 4.2 缺点 1 一点前言 在之前提过的DSR协议中,采用了源节点路由方式,每个数据报…

计算机网络实验四:配置网络路由

1、相关知识点 1.1 路由器的一般知识: 路由器是局域网与广域网之间进行互联的关键设备。通过它不仅可以互联不同协议、不 同物理接口的网络,还能选择数据传送的路经,并能阻隔非法访问。它在异构网互联能力、 拥塞控制能力和网段的隔离能力等方…

linux 默认路由 主机路由 网络路由

route命令 oute 命令的输出项说明 输出项 说明 Destination目标网段或者主机Gateway网关地址,”*” 表示目标是本主机所属的网络,不需要路由Genmask网络掩码Flags标记。一些可能的标记如下: U — 路由是活动的 H — 目标是一个主机 G — 路…

计算机网络路由转发题

1)、目的地址和142.150.64.0/24明显不匹配,所以只有B、C、D,把相应的网络地址算出来 B-网络地址:142.150.71.128 C-网络地址:142.150.71.128 D-网络地址:142.150.0.0,把目的地址逐条的和子网…

各种路由的概念-直连路由、网关路由、主机路由、网络路由等

各种路由的概念 路由的分类 直连路由在添加的时候使用的是出接口(dev) 网关路由在添加的时候使用的是下一跳(gw) 主机路由的目的地址是一个完整的主机地址(host) 网络路由的目的地址是一个网络地址&#…

片上网络路由算法综述

一、 片上网络概述 在半个多世纪以来,半导体工业一直遵循着“摩尔定律”发展,即集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍。截至目前,处理器中的晶体管数量最多已达到了上百亿。晶体管数量的增加一方面极大提升了单核…

网络——路由

路由 路由是路由器控制层面的工作(路由器另一工作是数据层面上的转发),所以路由的学习需要从路由器入手。 借鉴学习:路由器工作原理 设备-路由器 路由器含义结构功能工作原理工作在OSI模型的网络层上的具有多个输入端口和多个输…

网络基础之路由详解

目录 IP路由基础 路由协议的分类 路由选路规则 静态路由 缺省路由 OSPF开放式最短路径优先协议 IP路由基础 路由器 特点 路由器的一个接口就是一个网段,一个网段就是一个广播域 路由器的一个接口用于一个MAC地址 路由器可以隔离广播域 广播报文无法穿越…

计算机网络:路由的概念及其分类

面对“路由”二字,很多人的第一个反应就是路由器。而路由器只是实现“路由”这一功能的工具罢了。路由器可以说是一台简化的电脑,它具有操作系统,接口,输入输出,存储器等等。正因为如此,现代路由器和电脑一…

网络路由相关的知识

配置静态路由 手工配置的路由信息,包括网络地址 子网掩码和下一跳地址。在没有配置静态路由的情况下,这两个子网中的计算机a、b之间是不能通信的。从计算机a发往计算机b的ip包,在到达router后,router不知道如何到达计算机b所在的…

网络路由知识大全

一、 如果ping域名的时候出现ping:unknown host xxx.xxx 但是ping IP地址的时候可以通的话 可知是dns服务器没有配置好,查看一下配置文件/etc/resolv.conf,里面是否有nameserver xxx.xxx.xxx.xxx,比如使用dns服务器 nameserver 8.8.8.8&am…

java解析rtc_RTC Java API 学习笔记

1 使用RTC Java API进行登录: Login的步骤分为以下: 1 初始化启动RTC的平台TeamPlatform:TeamPlatform.startup(); 2 获取RTC repository的连接 ITeamRepository teamRepository TeamPlatform.getTeamRepositoryService().getTeamRepository…

JS控制元素的显示和隐藏

开发工具与关键技术: DW、前端 作者:梁锦豪 撰写时间:2019/1/16当我们想要通过事件来控制元素时,我们可以用JavaScript来实现 下面是通过鼠标移入,移出事件来控制元素的显示与隐藏的例子: 首先,…

如何通过JS判断一个元素是否显示、隐藏

如何通过JS判断一个元素是否显示、隐藏 文章目录 如何通过JS判断一个元素是否显示、隐藏通过display是否等于none来判断通过jquery的:hidden/:visible 伪类来判断说明 通过display是否等于none来判断 通过判断当前元素的display的值来判断当前元素是否是可见状态。只能用displa…

js显示隐藏

其实这边我是新学的一点知识虽然不多但是新手还是比较容易上手的 <div id"panel"><button class"head">什么是jQuery?</button><div class"content">jQuery是继Prototype之后又一个优秀的JavaScript库&#xff0c;它是…

CSS隐藏元素的方法

隐藏元素之后&#xff0c;它在页面的行为如何&#xff1f; HTML文件如下 很简单&#xff0c;就一个div <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&…

javascript隐藏和显示元素

使页面元素隐藏和显示可以有两种方式&#xff1a; 方式一&#xff1a;设置元素style属性中的display var t document.getElementById(test);//选取id为test的元素 t.style.display none; // 隐藏选择的元素 t.style.display block; // 以块级样式显示方式二&#xff1a;设…

JavaScript控制元素(标签)的显示与隐藏

使用JavaScript有多种方式来隐藏元素&#xff1a; 方式一、使用HTML 的hidden 属性&#xff0c;隐藏后不占用原来的位置 hidden 属性是一个 Boolean 类型的值&#xff0c;如果想要隐藏元素&#xff0c;就将值设置为 true&#xff0c;否则就将值设置为false 【HTML hidden 属性…