路由选择
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不根据实测或估计的网络的当前通信量和网络 拓扑结构来做路由选择。
自适应的 ----- 动态路由
根据网络的当前通信量和网络拓扑结构来做路 由选择 前提: 网络节点可以交换网络状态信息 优点:提高网络性能,有助于拥塞控制
自适应路由
影响路由选择的因素:
自适应路由的前提
故障:当一个节点故障 或者一段干线故障后, 就不再作为路由的一部 分了 拥塞:当网络的一部分 严重拥塞时,要求路由 包要绕开而不要通过拥 塞区域
根据网络状态信息的来源,动态路由方式 分为三类:
孤立路由选择 集中路由选择 分布路由选择
它们分别对应着网络状态信息的三种来源:
本地 所有节点 相邻节点
孤立路由选择
每个节点并不利用其它节点来的网络信息,仅 仅根据它自己所看到的情况来确定路由。 最短等待法,具有最短队列的链路作为最好路 由 逆向学习算法(backward learning) ,根据逆 向的路由节点数,逆向节点数最少的链路做最 好路由。
Dijkstra算法
7 B 2 A 6 1 C
2
E 2 F
3
3 D 2 2
G
4
H
三 扩展法(flooding)
将入境报文输出到所有输出线路(除入境线 路以为) 广播思想
扩散法
一个网络节点从某条输入线路收到一个分组之 后,把该分组从除了分组到来的线路外的所有 其他输出线路上发出。
会产生大量的重复分组。 用于健壮性要求很高的场合。 还可被用来分发信息、判断可达性、找到最短路径
如果找不到相应的表项,在G的路由表中增加一项:(N,G’,D’+C); 如果D’+C<D,G中表项更新为(N,G’,D’+C) 否则G中表项保持原状,仍为(N,V,D)。
否则,比较D’+C和D:
G
(N,V,D)
N
c
G’ d D’ V
V’
一 DV路由
距离向量路由例
初始A的路由表
F
第一轮后A的路由表
等。
特点:
尝试所有可能路由 至少有一个包通过最小跳数到达 所有与源节点连接的节点都被访问
优点:
缺点
健壮性 应用于建立虚电路 (收发双方通信前找到 最好最短路径) 广播重要信息
同一个包重复次数指 数增长 为每个节点记下已发 包的标识 在每个包中设置一个 计数器
解决办法
Who What When Where How Why
路由选择算法的特性
正确性(correctness) 简单性(simplicity),减小路由算法的复杂度以及系 路由系统的开销 健壮性(robustness),能够适应网络结构的变化,保 证路由选择的有效性 稳定性(stability),能够适度反映网络的变化,不会 因为网络结构的变化而导致动荡的路由选择。 公平性(fairness),找到一种合适的网络路由选择策 略 最优性(optimality) 高效性(efficiency),能够充分利用网络链路资源, 减少分组在通信子网中的传递时间
随机路由选择
随机路由选择
当分组到达节点后,随意选择一条输出线路进行转发。 节点为分组选择的输出线路是在所有相邻节点中随机 选取的,使用概率数,使得每个输出线路的选择符合 预定的概率。若概率相等,则只是简单地循环选择下 一节点。 概率数的分配考虑到了网络的拓扑与容量,但是还是 有随机性的,而且可能分组会一直在网络中传递,从 而无法到达目的地。 由于实际选择的路由不一定是最佳路由,因此增加了 不必要的负载,而且分组传输延迟也不可预料,所以 这种方法很少使用。
二 链路状态路由
链路状态路由(link state routing)选择 又称为链路状态最短路由优先SPF(link-state,Shortest Path First)算法。 每个节点都了解整个网络的拓扑信息和链路花费。当拓 扑有所变化(收到一个链路状态变化信息)时,就利 用Dijkstra的最短路径算法计算出到所有目的节点的最 短路径。 如何知道整个网络的拓扑信息? 节点了解它相邻的节点,以及所有与邻居节点的链 路状态; 只有当链路状态发生变化时,路由器才用洪泛法向 所有路由器发送此信息。 。
层次路由选择:将整个网络分成若干个区 域,各个区域内的节点只考虑本区域内的 路由,而区域之间的路由选择由各个区域 中某几个节点(通常称为边界路由器)负 责完成。 在实际实施路由选择时,往往还需要从策 略上进行考虑,即所谓策略路由,有时更 多地称为基于策略(policies-based)的路 由。
一 DV路由
距离向量路由算法表示
1)初始化。对于每个节点G,对所有它直接连接的目的地N,路 由表中的表项用三元组(N,G,0)来表示,即从节点G到目的地N 无需经过转发。 2)节点G定期发送它的路由表给相邻节点。更新信息中对应着每 一个目的地N用一个三元组来表示(N,V,D),即到目的地N的 路由上的下一节点为V,G到N的距离为D。 3)节点G收到G’送来的路由信息,对于更新信息中给出的每个目 的地,在G的路由表中查找相对应的表项,设它为(N,V,D), 而更新信息中的三元组为(N,V’,D’),C为节点G和G’之间的 距离。
4.3 路由选择
4.3.1 路由选择概述
路由选择 给定一组路由器和连接路由器的 链路,找出一条从源端到目的端的“好” 的路径。
路由选择概述
路由选择算法
谁确定路由表? 用什么信息确定路由表? 路由表生成后何时修改? 路有表存放在哪里? 路由表大小如何控制? 为什么路由表能确定一条路径?
例子网络
F
一 DV路由
距离向量路由的特点
好消息的传播迅速:好消息意味着一条更好的路径, 很快被相邻节点知道,并且更新相应路由表,再通 知给其它节点。
A B B C C D D
坏消息的传播缓慢,且有无穷计数(慢收敛)问题。
A
解决算法:水平分隔(split horizon),有时也会失败。
计算量小、信息交换量大,不适合大规模网络,扩 展性不好。
路由技术元素
1 性能标准
2网络信息源
跳计数 最小成本 延迟 吞吐量
无 局部 邻接节点 全部节点
路由技术元素
3 信息更新时间
4 决策时间
百度文库
连续 定期 负载变化 拓扑变化
数据报:为每个包单 独决策 虚电路:在虚电路建 立时决策
路由技术元素
5 决策地点
4.3.3 动态路由算法
静态路由(Static Routing)
路由很少变化,由网管人员人工配置。 常用于规模很小的网络。因节点故障时没法自 动发现和调整路由,需要人工干预。
动态路由(Dynamic Routing)
又称自适应(adaptive)路由:路由器之间交 换路由信息,根据它所了解到的网络信息计算 最佳路由,以设法适应网络流量、拓扑的变化。 现代计算机网络更多地使用动态路由方式
每个节点把它的路由表定期向它的相邻节点(直接
连接)传递。
一 DV路由
基本思路(续)
当节点K从节点J接收一个更新消息后,它对
到每个目的地的路由和距离度量进行检查。
如果J知道一条到目的地的更短的路径,节点K
更新该目的地对应的下一节点标识和距离度量; 如果J列出了一个K还没有记录的有关某个目的 地的路径,节点K会向表中增加一项; 如果K记录的下一节点标识为J,并且J所报告的 到目的地的距离改变了,也会更新路由表中的距 离度量。即如果J报告到目的地的距离为N,则 节点K所计算出的距离为N+d(J,K) 。
费。 根据从全网络其他节点了解到的全局网络情况来计 算。计算量大
一 距离向量(DV)路由
DV(Distance Vector Routing)选择 基本思路
每个节点都保存有一张路由表,每一项对应着一个
目的地,包括:
到对应的目的地的路由中的下一节点标识 测量出的到目的地的距离的度量值(metric) 初始化时,对于它所能直接相连的目的地,置为0(表 示直接连接,无需经过别的路由器);其它置为。
路径中的第一条链路连接到源。 路径中的最后一条链路连接到目的地。 对应所有的i,路径中的第i和i-1条连接到同一个节点上。 最小花费路径:源到目的地之间所有可能的路径的链路花费总和 最小。(若所有的链路花费相同,则最小花费路径即最短路径。)
路由选择算法分类
非自适应的 ---- 静态路由
From To
1 1 2 3 4 5 —— 2 4 4 4
2 1 —— 3 4 4
3 5 2 —— 5 5
4 1 2 5 —— 5
5 4 4 3 4 ——
6 5 5 5 5 5
6
4
4
5
5
6
——
各节点的路由目录
节点1
下一节点 2 4 4 4 4
节点2 下一节点 1 3 4 4 4
目的 2 3 4 5 6
节点间交换路由信息
信息越多,做出的路由决 策就越好;但会加重负 担,影响效率
4.3.2 静态路由算法
固定路由 最短路径选择 扩展法 随机路由选择
一 固定路由
路由是固定的
用一个中心路由目录维护路由 节点只需相邻节点的信息 对于数据报或虚电路网络同样的路由选择
Eg:中心路由目录
自治系统(autonomous system,AS)
(1)测试相邻路由器的可达性,比如通过 HELLO分组。 (2)测试链路花费,通过向邻居节点发送分 组,计算邻居节点的响应时间。 (3)利用Flooding向临近路由器传播本路由 器的路由表项,每个路由表项设置一个序 号。
三 链路状态路由
链路状态路由的特点
每个节点根据同样的状态信息独立地作出路由 计算的。 节点在本地计算路由,能够保证其收敛性、且 收敛更快。 传播的链路状态信息只包含了节点直接连接的 链路信息,信息量小,且和网络的规模无关。 因此可扩展性要比距离向量算法要好。 节点计算路由的工作量要比距离向量算法大。
集中路由选择
根据所有节点的网络信息来选择路由的。 和固定路由选择一样,每个节点都保存了一张 当前的路由表,同样也可以通过为最优路由的 下一节点指定替换路径,或者不指定替换路径。 和固定路由的区别在于:固定路由算法中表格 的建立是手工完成的。而集中路由选择中表格 的建立是由网络中设置的一个路由控制中心 RCC来集中完成的(收集、计算、分发)。
分布式路由:每个节点都负责为到 达的包选择一条输出链路 集中式路由:由某些指定节点(如 网络控制空心)负责决策 源路由:路由决策由源点而非网络 做出
路由算法的目的是找到一条从源到目的地的一条“最好” 路径(通常是指具有最小花费的路径)。 花费可能是距离、信道带宽、平均通信量、通信开销、 队列平均长度、测量到的时延和其它一些因素的综合 给定一个代表该网络的图,找到一条由一系列链路组成的 路径,其中:
目的 1 3 4 5 6
优点
缺点
简单 对具有稳定负载的可 靠网络效率高
缺乏灵活性
二 最短路径选择
测量路径长度的方法
最小跳计数 最短距离 信道带宽 传输延迟 平均通信量
子网图
节点代表路由器 弧线代表两个路由器之间的一条链路 找出一个节点到所有其它节点的最短路径
分布路由选择
根据来自于相邻节点的信息,通过一个最短花 费路由算法计算出到每个目的地的路由,分布 路由选择算法得到了广泛的使用。 距离向量路由选择
每个节点只知道直接连接的链路花费。 根据从相邻节点了解到的到目的地的路径花费来计
算。信息交换量大。
链路状态路由选择
每个节点了解全局网络拓扑(链路状态)和链路花
动态路由算法在节点间交换的信息和所带 来的开销间要有一个平衡。
交换的信息越多,交换的频率越频繁,节点越 能更好地作出路由选择。 与此同时,这些交换的信息也会对网络的负载 有影响,如果信息过多会严重影响网络的性能
精心设计的动态路由算法必须考虑到:
路由选择算法非常复杂,故可能增加网络节点 的处理负担。 大多数情况下,动态方式会使用别的节点来的 状态信息来进行路由选择,因此会增加网络中 的负载。 一个动态路由算法有时会因反应太快而引起振 荡,或者反应太慢而起不到作用。