460 likes | 631 Views
移动自组网. 分组网技术的发展. 有设施的网络与无设施的网络. 有基础设施的网络,如: 因特网(交换机、路由器) WLAN (无线接入点 AP ) 蜂窝移动网络(基站) 无基础设施的网络称为自组织( ad hoc )网络,依靠节点之间的相互协作来完成网络的建立和维护。. 有基础设施的网络. 无线自组织网络. 自组织网络的组成. 自组织网络是由一群兼具终端及路由功能的设备通过无线链路形成的无中心、多跳、临时性自治系统。 多跳:节点发射功率有限,远距离通信需要依靠其它节点的中继,从而每个节点既是终端又是路由器;
E N D
有设施的网络与无设施的网络 • 有基础设施的网络,如: • 因特网(交换机、路由器) • WLAN(无线接入点AP) • 蜂窝移动网络(基站) • 无基础设施的网络称为自组织(ad hoc)网络,依靠节点之间的相互协作来完成网络的建立和维护。
有基础设施的网络 无线自组织网络
自组织网络的组成 • 自组织网络是由一群兼具终端及路由功能的设备通过无线链路形成的无中心、多跳、临时性自治系统。 • 多跳:节点发射功率有限,远距离通信需要依靠其它节点的中继,从而每个节点既是终端又是路由器; • 无中心:网络中不存在任何控制中心,节点之间相互协作构成网络。 • 临时性:专为某个特殊目的而建立,一般只是临时性的。 • 当节点可移动时,称为移动自组网。
自组网的主要应用领域 • 军事领域: • 该技术的初衷是应用于军事领域,是美国军方战术网络技术的核心,”自愈式雷场系统“是其典型实例。 • 民用领域: • 临时性工作场合的通信,如会议、庆典、展览等; • 灾难环境中提供通信支持 • 野外工作中的通信,如科考、边防站等 • 个人区域网络应用,实现PDA、手机等个人电子通信设备之间的通信。 • 家庭无线网络、移动医疗监护系统等。
移动自组网的特点 • 带宽有限:频谱受限,共享链路。(带宽优化是关键) • 存在单向链路:传输功率及环境噪声差异可能在节点间形成单向链路。(传统路由算法一般基于对称链路假设) • 拓扑动态变化:节点移动、链路时变、节点失效等。(传统路由算法会出现路由振荡、难以收敛的问题) • 节点能量有限:节点使用电池供电,充电困难。(所有设计均要求节省能量,延长网络生存时间) • 安全性差:开放的无线信道,有限的电源供应,分布式控制。(易遭受窃听、主动入侵、拒绝服务等网络攻击 )
移动自组网的主要研究问题 • 信道接入(MAC协议): • 困难:多跳共享广播信道的介质访问控制。 • 路由协议: • 困难:网络拓扑的动态变化导致路由信息收集困难,路由算法难收敛,路由经常中断需要重建。 • 服务质量保证: • 困难:网络的动态性(链路质量、带宽、路由不稳定)及分布式控制很难保证传输质量。 • 网络安全: • 困难:分布式认证与密钥管理,防御入侵。
1. 移动自组网的单播路由技术 • 因特网中的路由技术利用了静态网络拓扑的特性: • 网络拓扑信息在节点间主动传播,每个节点可以使用较低代价的算法预先计算好该拓扑下的路由; • 节点地址中隐含了路由线索(网络号)。 • 这两种技术均不适合移动自组网: • 节点移动使得拓扑信息的有效性降低; • 永久性的节点地址无法包含动态的位置信息。 • 对移动自组网有用的拓扑假设是: • 物理上靠近的节点在网络拓扑上也可能靠近。
移动自组网单播路由协议的分类 • 取决于路由决策所依据的信息: • 基于拓扑的路由:基于节点的连接关系计算路由表: • 基于地理位置的路由:根据节点的地理位置进行转发决策,不需要路由表。 • 按照触发路由计算的条件,基于拓扑的路由分为: • 先应式路由:主动维护到网络中所有节点的路由。 • 反应式(按需)路由:仅当节点间需要通信时才建立路由。
1.1 先应式路由协议--DSDV • Destination-Sequenced Distance Vector(DSDV)采用经典的距离矢量路由算法,保存到每个节点的最小跳数路由。 • 因特网中的距离矢量算法: • 每个节点维护一张路由表,网络中每个节点在此表中占有一个表项。 • 每个表项包括两部分内容:去往该目的节点的最佳输出线路(下一跳)以及估计到该目的节点的最短距离。 • 每隔一段时间,每个节点向其所有邻居发送一个距离矢量,通报从本节点到其它各个节点的估算距离。 • 每个节点利用从邻居节点收到的距离矢量来更新自己的路由表。
要解决的主要问题 • 什么时候发送路由更新:周期性更新 + 触发式更新,异步更新; • 如何区分路由更新消息的新旧:使用消息序号,由发送节点产生; • 如何区分路由的新旧:每条路由携带一个目的序号,由目的节点产生和发布,其它节点不能修改。
路由选择的原则 • 采用目的序号最新的路由,丢弃较早序号的路由; • 若目的序号相等,采用较小跳数的路由 • 被采纳的路由跳数加1,目的序号不变, 在下一次路由更新中发布。
检测链路中断 • 当节点检测到与某个邻居节点的链路中断时,将以该邻居为下一跳的所有路由的跳数标记为∞,并为这些路由分配新的序号。 • 为与目的节点产生的序号相区分,规定目的节点产生的序号为偶数,中间节点产生的序号为奇数。 • 当节点收到一个∞跳数,随后又收到一个序号更高的、具有有限跳数的路由时,节点用“真实”的序号代替该路由,并触发一次路由更新广播。
如何减少路由更新的开销? • 为减少路由更新的开销,DSDV定义了两种路由更新分组: • Full dump:携带完整的路由表 • Incremental:只携带上一次full dump之后变化的路由信息 • 协议假设节点能够根据路由变化的重要程度来决定是否触发一次增量更新,根据增量更新的数据量来决定是否进行一次full dump 。
环路与计数至无穷问题 • 已有的距离矢量路由算法(如RIP)没有解决好路由环路及计数至无穷的问题。 • DSDV使用目的序号解决了该问题: • 节点总是使用最新最好的路由,避免路由环路的发生; • 使用奇数序号表示链路中断,避免了计数至无穷的问题。 • DSDV的缺点: • 消息开销大,限制了网络的规模 • 节点需要维护大量当前不活跃的路由,浪费了不少资源
1.2 反应式路由协议--AODV • Ad-hoc On-demand Distance Vector(AODV)也是基于距离矢量的路由协议,但是仅当需要一条路由通信时,才由源节点启动路由发现过程。 • 与DSDV相比,不在活跃路径上的节点不维护任何路由信息,也不参与任何周期性的路由表交换,因此可极大地减小路由消息的开销。
AODV的基本思想 • 当源节点希望向某个目的节点发送数据,但当前路由表中并无该节点的路由信息时,启动路由发现过程; • 源节点向其邻居广播一个RREQ(路由请求)消息,进行路由探测; • 每个收到RREQ消息的节点向其邻居扩散该消息,直至消息到达一个知晓目的节点路由的节点(中间节点或目的节点); • 该中间节点或目的节点向源节点发送一个RREP(路由响应)消息,当RREP消息到达源节点时,建立起源节点到目的节点的路由。
要解决的问题 • 如何使RREP返回源节点:所有转发RREQ消息的节点要记录到源节点的路径(反向路径); • 如何区分路由的新旧:路由序号。 • RREQ消息包含<源地址,源序号,广播ID,目的地址,目的序号,跳数>6个域: • <源地址,广播ID>二元组唯一标识一个RREQ • 源序号:用于维护反向路径的新鲜性 • 目的序号:可被源节点接受的正向路径的新鲜程度 • 跳数:每次转发RREQ时,将跳数加1
RREQ的处理和反向路径建立 • 源节点发送一个RREQ消息; • 邻居节点收到RREQ后,有三种可能: • 该RREQ已收到过:丢弃该消息; • 路由表中有到目的节点的路由,且该路由的目的序号不小于RREQ的目的序号:向收到RREQ的邻居发送一个RREP消息; • 其余情况:将RREQ的跳数加1,继续向邻居转发RREQ,并建立到源节点的反向路径(记录RREQ到来的前一跳邻居)。
RREP的处理和正向路径建立 • RREP消息包含<源地址,目的地址,目的序号,跳数,生存时间>; • 收到RREP消息后: • 若为第一个RREP拷贝,建立到目的节点的正向路径(记录RREP到来的邻居节点),记录目的节点的最新序号,向源节点传播; • 若非第一个RREP,仅当目的序号大于之前的RREP,或目的序号相同但跳数更小时,才更新路由表项并传播新的RREP,否则丢弃RREP。
路由表管理 • 每个路由表项除包含常见的目的地址、下一跳、跳数等信息之外,还包括: • 目的序号:所有路由用目的序号进行标记; • 过期时间:该路由表项未被使用的时间; • 活跃邻居集合:在最近一段时间内向目的节点发送/转发过分组的邻居; • 正向及反向路径的超时时间:在该时间之后路由失效。 • 每条反向路径有一个路由请求过期定时器,用于清除不在RREP传输路径上的节点保存的反向路径。
路由重建 • 如果在活跃的会话过程中源节点发生了移动,源节点可以发送RREQ重建路由。 • 若目的节点或某个中间节点发生了移动(路由发生了中断): • 断点上游的节点向所有活跃的上游邻居发送一个RREP消息,消息序号比之前知道的序号大1,跳数为∞; • 收到消息的节点向它的活跃邻居转发该消息,直至所有的活跃节点被通知; • 需要重建路由的节点发送目的序号比之前大1的RREQ消息,以确保建立的是一条新路由。
基于拓扑的路由算法的扩放性 • 对路由算法扩放性影响最大的两个因素: • 网络拓扑的变化频率 • 路由域中的节点数目 • 直观上,拓扑改变产生的更新开销等于状态改变频率乘以节点数量。 • 因此,基于拓扑的路由算法一般而言对于节点移动的适应性较差。
1.3 基于地理位置的路由 • 假设: • 节点能够通过GPS或其它方式知道自己的位置坐标; • 源节点知道目的节点的位置坐标,并将其标记在数据包头中; • 每个节点知道其所有一跳邻居的位置; • 基于地理位置的路由决策: • 物理上最靠近目的节点的邻居为下一跳。 • 优点: • 只需要局部位置信息而不管整个网络规模,扩放性好; • 不需要网络的拓扑信息,从而允许近乎无状态的转发。
1.3.1 转发策略(GPRS) • Greedy Perimeter Stateless Routing是一个典型的基于地理位置的路由算法,包括两种转发策略: • 贪婪转发:只要有可能,总是使用这种转发策略; • 边缘转发:贪婪转发不可用时,使用边缘转发。
贪婪转发 • 转发节点根据本节点位置、邻居节点位置和目的节点位置进行局部最优决策:与目的节点距离最近的邻居成为下一跳。
局部最大问题 • 转发节点比任何邻居节点都更靠近目的节点,形成空洞。
边缘转发 • GPSR使用右手法则按(x->w->v->D->z->y->x)的顺序沿着空洞行进,直至到达比x更靠近D的节点(包括D本身)。
1.3.2 位置服务 • 使用地理位置路由的前提是,源节点必须知道目的节点的位置,即网络中应当有位置服务机制。 • 位置服务必须是可扩放的: • 位置服务本身只依靠地理位置转发就能实现 • 任何一个节点不能成为瓶颈 • 一个节点的失效不应当影响其它许多节点的可达性 • 对附近节点的位置查询应当仅依靠本地通信就能满足 • 实现位置查询和更新的开销小,且每个节点实现位置服务的开销随节点总数的增长而少量增长
GLS(Grid Location Service) • 每个节点将其当前位置保存在网络中的一组节点(称位置服务器)上;(容错) • 每个节点都是其它一些节点的位置服务器;(分摊) • 节点的位置服务器在离它较近的区域分布较密集,较远的区域分布较稀疏;(从近到远逐渐稀疏的位置分布原则) • 使用一致性哈希(consistent hashing)为每个节点建立位置服务器层次;(不使用包含特殊节点的结构层次) • 均匀分布位置服务要求网络中存在节点ID的一个随机分布,一个强哈希函数用来从节点的唯一名字得到节点ID; • 使用相同的算法实现位置分布和位置查询。
网络的全局划分 • 由逐渐增大的正方形组成的分层网格结构: • 最小的正方形称为一阶正方形; • 4个n阶正方形组成一个(n+1)阶正方形; • n阶正方形的左下角坐标为(a2n-1, b2n-1)。
位置服务器的选择规则 • 节点从其所在的一阶正方形开始,在每个与其相邻的n-阶正方形中,选择最近的一个节点作为其位置服务器。 • 在ID空间中与节点X最近的节点,其ID是大于X的最小ID。 • ID空间是循环的。
位置服务器的招募 • 假设节点B希望在某个n-阶正方形中寻找一个位置服务器,B采用地理位置转发向那个正方形发送一个分组。 • 在那个正方形中第一个收到该分组的节点L启动一个位置更新过程,该过程非常类似于对B的一个查询过程,只不过这个更新分组一直携带着B的位置。 • 最终这个更新分组在离开该n-阶正方形之前会到达一个大于B的最小节点,这个节点就是这个更新分组的正确目的地。该目的节点记录下B的位置,成为B的一个位置服务器。
算法的有效性分析 • 可以证明 :若源节点和目的节点包含在一个n-阶正方形中,则一个位置查询不超过n个查询步就可到达目的节点,而且查询不会离开包含起点的n-阶正方形。 • 开始时,查询请求利用本地路由协议被转发到本地一阶正方形中的最佳节点; • 此后,每一步都将查询推进到包含该正方形的下一阶正方形中的最佳节点; • 当下一个较大正方形包含目的节点时,最佳节点(与目的ID最近)必定是目的本身,查询的下一步到达目的节点。 • 由于查询步推进到包含源节点的越来越大的正方形中,查询将始终停留在包含源节点和目的节点的最小正方形中。
节点21的二阶正方形中没有ID介于17~21之间的节点。节点21的二阶正方形中没有ID介于17~21之间的节点。 • 若三阶正方形中有ID介于17~21之间的节点X,X肯定选择21为其位置服务器,即21知道三阶正方形中ID值介于17~21之间的所有节点,包括满足该条件的最小节点。 • 以此类推,节点20知道其四阶正方形中ID值介于17~20之间的所有节点。 • 由于节点17和20在同一个四阶正方形中,因此节点20知道节点17,于是查询结束。
参考文献 • [1] Charles E. Perkins, Pravin Bhagwat. Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computer. In Proc. of ACM SIGCOMM, Sept., 1994. • [2] Charles E. Perkins, Elizabeth M. Royer. Ad-hoc On-Demand Distance Vector Routing. IETF RFC 3651,July 2003. • [3] Brad Karp, H. T. Kung. GPSR: Greedy Perimeter Stateless Routing for Wireless Networks. In Proc. of MobiCom 2000. • [4] Jinyang Li, et al. A Scalable Location Service for Geographic Ad Hoc Routing. ?? • [5] Sunil Kumar, Vineet S. Raghavan, Jing Deng. Medium Access Control protocols for ad hoc wireless networks: A survey. http://www.sciencedirect.com. • [6] Chris Barrett, et.al. Characterizing the Interaction Between Routing and MAC Protocols in Ah-hoc Networks. In Proc. of MobiHoc’02, June 9-11, 2007. • [7] Vineet Srivastava, et. al. Cross-Layer Design: A Survey and the Road Ahead. IEEE Communications Magazine, December 2005.