--路由算法详解课件_第1页
--路由算法详解课件_第2页
--路由算法详解课件_第3页
--路由算法详解课件_第4页
--路由算法详解课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 路由算法Fundamental of Communication Networks 通信网络理论基础第5章 内容概述 5.1 路由算法概述 5.2 常用的路由算法 5.4 数学基础图论 5.5 最短路径算法 第5章 内容概述 5.1 路由算法概述 5.1.1 路由选择算法的分类 5.1.2 对路由选择算法的要求 5.1.3 路由算法的实现路由表 5.2 常用的路由算法 5.4 数学基础图论 5.5 最短路径算法 5.1 路由算法概述 (1) 网络层的功能包括寻址和选择路由,建立、保持和终止网络连接等。 路由算法是网络层的核心,其主要功能是指引分组通过通信子网到达正确的目的节点。具体表现

2、为两个方面的内容: 寻径:为不同的源节点和目的节点对(SD)选择一条传输路径; 转发:在路由选择好以后,将用户的消息正确地送到目的节点。5.1 路由算法概述 (2) 路由选择的目的和要求: 能正确、迅速、合理地传送分组(报文)信息。 能适应网络内节点或链路故障而引起的拓扑变化,使分组(报文)在有故障的条件下一般还能到达终点。在发生故障时,允许某些线路的通信量过载而增加时延。 能适应网络流量的变化,使各通路的流量均匀,整个网络的通信设备负荷平衡,充分发挥效率。 算法尽量简单,以减少网络开销。 5.1 路由算法概述 (3) 通过一个例子来看看路由选择对网络性能的影响:两个源节点和一个目的节点。所有

3、链路的容量为10单位,两个源节点1和2的输入业务量分别为1和2, 讨论: 1=2=5单位 1=5单位, 2=15单位路由选择对网络性能的影响。5.1 路由算法概述 (4) 当1=2=5时 如果节点1选择136, 节点2选择256, 则由于每条链路的业务量都只有信道容量的一半, 因而时延很小。 如果节点1选择146, 节点2选择246, 则链路46运载的业务量为10单位, 达到了链路的最大容量,因而时延会很大。5.1 路由算法概述 (5) 当1=5, 2=15时 节点2的输入业务量为15个单位。由于每条链路的容量仅为10个单位,在仅使用一条路径的情况下,节点2至少要丢弃5个单位的业务流量。 如果

4、节点2将输入业务流量在246和256之间分摊,节点1选择136,则每条链路上的业务流量都不超过链路容量的75%,因而分组的时延较小。5.1 路由算法概述 (5) 从图中可以看出:当节点1和2输入的流量很大时,根据不同的路由选择方法,网络可接纳的最大通过量为1030单位。 由此可以看出:一个路由算法应当在高业务负荷的情况下,在保证相同的时延条件下,可以增加网络的通过量;在轻负荷和中等负荷的情况下,可以减少每一个分组的平均时延。第5章 内容概述 5.1 路由算法概述 5.1.1 路由选择算法的分类 5.1.2 对路由选择算法的要求 5.1.3 路由算法的实现路由表 5.2 常用的路由算法 5.4

5、数学基础图论 5.5 最短路径算法 5.1.1 路由选择算法的分类 (1)路由算法的分类 算法能否跟随网络拓扑变化 非自适应的(不根据实测或估计的网络当前业务量和拓扑结构来做路由选择。路由事先就计算好,在网络启动时就下载到网络路由器中。这种策略的最大优点是简单和开销小) 自适应5.1.1 路由选择算法的分类 (2)路由算法的分类按路由决策方法 集中式 (指网络的路由是由路由控制中心计算的,该中心周期性收集各链路的状态,经过路由计算后周期性地向各网络节点提供路由表。) 分布式(指网络中所有节点通过相互交换路由信息,独立地计算到达各节点的路由。 )5.1.1 路由选择算法的分类 (3)路由算法的分

6、类 按应用场合 广域网路由 (解决一个子网内的路由) 互联网路由 (解决不同子网之间的路由)第5章 内容概述 5.1 路由算法概述 5.1.1 路由选择算法的分类 5.1.2 对路由选择算法的要求 5.1.3 路由算法的实现路由表 5.2 常用的路由算法 5.4 数学基础图论 5.5 最短路径算法 5.1.3 路由算法的实现路由表 路由算法的实现通过路由表。 节点上的路由表指明该节点如何选择分组的传送路径。节点1上的路由表节点4上的路由表目的节点23456目的节点12356下一个节点22442下一个节点12355 路径选择原则是使到达目的节点的链路数最少。 当存在2条以上具有相同链路数的最少链

7、路数路径时,可以选择其中任意一条。 路由表对每个目的节点指出分组应发向的下一个节点。5.1.3 路由算法的实现路由表 当路由表建立起来之后,在进行路由选择时只是简单地查找路由表中的信息,无须再作计算。然而对自适应路由选择来说,会要求相当数量的计算来维持这张路由表。 通常路由表中还会包含一些附加信息,例如基于最少链路数准则的算法可能包括到达目的节点的估计链路数,这样上表所示的路由表要修改为下表所示的形式。目的节点23456下一个节点22442链路数12123包含最少链路数的节点1上的路由表第5章 内容概述 5.1 路由算法概述 5.2 常用的路由算法 5.4 数学基础图论 5.5 最短路径算法

8、5.2 常用的路由算法 (1) 不同的应用场合对路由算法有不同的要求。 广域网内的路由主要解决子网内分组的传输路径问题,它主要包括三种路由算法: 广播 最短路由 最佳路由 互连网解决不同子网之间的路由,采用的设备有网关和路由器等。 Ad Hoc网络Ad Hoc网络,它是一种分布式的PRNET网络,该网络中使用了多种形式的路由算法。5.2 常用的路由算法 (2) 广播中的路由算法 (1) 广播是通信网中最常用的方式,用来传播公共信息、拓扑变化信息(包括节点和链路工作变化和故障等信息)。 广播分组的接收节点通常是全网所有成员。如果接收节点为一个组或部分网络节点,则称为多播(Multicast)。5

9、.2 常用的路由算法 (3) 广播中的路由算法 (2) 可以逐一地把要广播的分组按照点对点的路由算法(Unicast)发送给每一个目的节点,但这种方法可能会浪费大量的网络资源,并且广播节点需要知道全网所有节点的路由信息。广播时采用的路由算法可以有多种方法:如泛洪(Flooding)路由、采用生成树(Spanning Tree)的广播方式等。5.2 常用的路由算法 (4) 广域网内的路由主要解决子网内分组的传输路径问题,它主要包括三种路由算法: 广播 最短路由 最佳路由 互连网解决不同子网之间的路由,采用的设备有网关和路由器等。 Ad Hoc网络Ad Hoc网络,它是一种分布式的PRNET网络,

10、该网络中使用了多种形式的路由算法。5.2 常用的路由算法 (5) 最短路由(Shortest Path Routing) (1) 许多实际的路由算法如RIP(Routing Information Protocol),OSPF(Open Shortest Path First)等都是基于最短路径这一概念。 分组交换网络的各种路由算法实质上都是建立在某种形式的最小费用准则的基础上。 譬如,我们把准则定为“最短路径”,那就有 “最短路径路由算法”; 注意:这里所说的“最短路径”并不单纯意味着一条物理长度最短的通路,它可以是从发送节点到达接收节点的中转次数最少。5.2 常用的路由算法 (6) 最短路

11、由(Shortest Path Routing) (2) 最短路由关心一个节点对之间的一条路径的选择和求解,因而有两个方面的缺陷: 为每对节点之间仅提供一条路由,因而限制了网络的通过量; 适应业务变化的能力受到防止路由振荡的限制。5.2 常用的路由算法 (7) 广域网内的路由主要解决子网内分组的传输路径问题,它主要包括三种路由算法: 广播 最短路由 最佳路由 互连网解决不同子网之间的路由,采用的设备有网关和路由器等。 Ad Hoc网络Ad Hoc网络,它是一种分布式的PRNET网络,该网络中使用了多种形式的路由算法。5.2 常用的路由算法 (8) 最佳路由(Optimal Routing )

12、(1) 最佳路由是从全网的范围寻找所有可能的传输路径,从而使得发送节点到达接收节点的信息流的时延最小、流量最大,而不是局限于一条所谓的最短路径。采用最佳路由(基于平均时延最佳化)可以克服最短路径的上述缺陷,它可以将节点对之间的流量分配在多条路径上,从而可使网络的通过量最大,时延最小。第5章 内容概述 5.1 路由算法概述 5.2 常用的路由算法 5.4 数学基础图论 5.5 最短路径算法 5.3 数学基础图论 (1) 每一个网络都可以抽象成一个图。一个图G由一个非空的节点集合 N 和节点间的链路 A 组成,即 G= ( V , E)。 有方向/无方向 如果节点i和j之间仅有i j 的链路,则称

13、该链路是有方向的(或单向链路)。 如果节点i和j之间同时有i j 及j i的链路,则称该链路是无方向的(或双向链路)。5.3 数学基础图论 (2) 方向图:当图G中的每一条边都有规定方向,则称该图为有向图(方向图);对应的无方向图G=(N,A)。 关联(Incident):它表示链路与节点的关系。在方向图中,链路用关联的节点来表示,若A1=(1,2),则表示链路A1关联的两个节点是1(起点)和2(终点)。 注意:这里讨论的图不允许任何链路关联的两个节点相同,即不允许有一条自环的链路。5.3 数学基础图论 (3) 路径:由一些节点的序列组成,例如u=(n1,n2,n3nk)称为一条路径,也称为方

14、向性行走(walk)。 给定每条链路(i, j)指定一个实数dij作为其长度,则一条方向性路径p=(i, j, k, l, m)的长度就是各链路长度之和,即d= dij+ djk+dlm 。 最短路径问题就是寻找从i到m的最小长度方向性路径。 根据长度的不同定义,寻找最短路径的算法有不同的含义。 5.3 数学基础图论 (4) 连通:对于无方向图,若节点u、v之间存在一条路径(链路),则称u和v是连通的。 若图G中的任意两个节点都是连通的,则称图是连通的,否则就是非连通的图。非联通的图可分解为若干连通的子图。5.3 数学基础图论 (5) 连通的方向图:对于方向图,去掉方向之后该图是连通的。强连通

15、方向图:对于方向图的任意两个顶点u和v之间存在u到v的路径和v到u的路径时,称该图为强连通的。连通的方向图强连通的方向图第5章 内容概述 5.1 路由算法概述 5.2 常用的路由算法 5.4 数学基础图论 5.5 最短路径算法 5.4 最短路径算法 讨论三种标准的集中式最短路径算法: Bellman-Ford算法(B-F算法) Dijkstra算法 Floyd-Warshall算法 Bellman-Ford算法和Dijkstra算法是点对多点的最短路径算法 Floyd-Warshall算法则是多点对多点的最短路径 算法。5.4 最短路径算法 B-F算法 典型的Bellman-Ford算法(简记

16、为B-F算法)是一种集中式的点到多点的路由算法,即寻找网络中一个节点到其它所有节点的路由。 假定节点1是“目的节点”,我们要寻找网络中其它所有的节点到目的节点1的最短路径。 用dij表示节点 i 到节点 j 的长度;如果(i,j)不是图中的链路,则dij=。 最短行走长度用 表示。5.4 最短路径算法 B-F算法 从h步Walk中寻找最短路由的算法: 第一步:初始化。即对所有i (i1) ,令 =。 第二步:对所有的节点 j(ji),先找出一条链路的最短( h1)的Walk长度; 第三步:对所有的节点 j( j i),再找出两条链路的最短( h2 )的Walk长度; 依次类推:如果对所有i有: (即继续迭代下去以后不会再有变化),则算法在h次迭代后结束。例 5.25.4 最短路径算法Dijkstra算法 Dijkstra算法也是一种典型的点到多点的路由算法,即寻找网络中一个节点到其它所有节点的路由。 算法的基本思想是按照路径长度增加的顺序来寻找最短路径。(也即是通过逐步标定到达目的节点路径长度的方法来求解最短的路径)。 设每个节点i标定的到达目的节点1的最短路径长度估计为Di。如果在迭代的过程中,Di已变成一个确定的值,称节点i为永久标定的节点,这些

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论