路由算法分类
计算机网络中的路由算法
计算机网络中的路由算法
路由算法在计算机网络中起着关键的作用,它用于确定数据包在网络
中的传输路径。根据不同的网络拓扑和需求,有多种不同的路由算法被应用。本文将介绍几种常见的路由算法。
1. 距离矢量算法(Distance Vector Algorithm)
距离矢量算法是一种分布式的路由算法,每个节点在路由表中记录到
达目的节点的距离向量。节点之间通过交换距离向量信息来更新路由表,
并且通过Bellman-Ford算法来计算最短路径。该算法简单易实现,但是
在大型网络中容易产生计数到无穷大的问题,即由于链路故障等原因产生
的无限循环。
2. 链路状态算法(Link State Algorithm)
链路状态算法是一种集中式的路由算法,每个节点都会收集与自身相
连的链路状态信息,并通过最短路径算法(如Dijkstra算法)计算出到
达其他节点的最短路径。然后,每个节点都将自己的链路状态信息广播给
所有其他节点,使得每个节点都有完整的网络拓扑和链路状态信息。该算
法需要节点之间频繁的广播和计算,但是能够保证收敛,即要么找到最短
路径,要么不进行路由。
3. 路径向量算法(Path Vector Algorithm)
路径向量算法可以看作是距离矢量算法和链路状态算法的结合,它通
过回退进行路径检测和避免计数到无穷大的问题。每个节点在路由表中记
录到达目的节点的路径和向量信息,通过交换路径向量信息来更新路由表。在计算最短路径时,路径向量算法使用类似链路状态算法的Dijkstra算
法,但是在寻找路径时,会检查前面的节点是否已经在路径中出现,以避
路由的分类和基本概念
路由的分类和基本概念
路由的分类
路由的分类有很多,下面列出一些常见的路由的分类:
一、按路由策略分类:
1、静态路由:利用管理员手动创建的固定的路由表中的路由,
静态路由在网络中比较静止,路由表在网络发生变化时不会及时更新;
2、动态路由:大多数通用的路由策略,通过两个路由器之间的
交流来自动更新路由表,有一些动态路由协议是OSPF、BGP;
3、虚拟路由:也叫虚拟路由器,用户可以使用它来模拟一台真
实的物理路由器,它的行为和功能和真实的路由器基本相同,但是它只是一种虚拟的实体;
二、按路由协议分类:
1、RIP(路由信息协议):是一种最简单的路由协议,它使用定
期的路由广播更新路由表,它会把自己的路由表广播给同一网络中的每个节点;
2、OSPF(开放最短路径优先):一种高级的路由协议,它能够自动发现网络中的改变,并自动更新路由表;
3、BGP(边界网关协议):是一种网络间路由发现协议,它是用
于在不同的网络中发现最佳路径的一种动态路由协议;
4、IGRP(内部网关路由协议):一种路由协议,用于在局部网络中发现最优路径,它是Cisco公司特有的一种动态路由协议。
路由的基本概念
路由是一种用于在两个或多个网络中传输数据的设备。在网络之间传输数据时,路由器可以根据数据包的目的地址选择最佳的路由,并将其发送到目的网络。路由也可以根据不同网络之间的不同带宽,延迟,以及可靠性来提供不同的服务。
路由器可以用于不同网络间的数据传输,也可以用于分离不同网络之间的广播等。路由器还具有NAT (Network Address Translation)(网络地址转换)的功能,它允许私有网络隐藏到公用网络中,从而保护客户的网络安全。
计算机网络中的路由选择算法
计算机网络中的路由选择算法计算机网络是由许多相互连接的计算机组成的系统,这些计算机之间需要进行通信才能完成相应的任务。路由选择算法是计算机网络中的核心算法之一,它是决定将数据从一个网络节点传送到另一个网络节点的基础。路由选择算法的作用就是找到从源节点到目的节点的最佳路径。
1. 路由选择算法的作用
路由选择算法是计算机网络中最重要的算法,它的作用是将数据从源节点传输到目的节点。在计算机网络中,不同的节点之间可能有多个路径可供选择,每个路径的传输速度也不同,路由选择算法的作用就是找到最佳的路径。
2. 常用的路由选择算法
2.1 静态路由选择算法
静态路由选择算法是一种固定的路由选择算法,它的路径是固定的,不会根据网络条件变化而改变。这种算法比较简单,可以用于小型的网络,但是在大型的网络中使用会产生问题。
2.2 动态路由选择算法
动态路由选择算法是一种根据网络条件实时调整的算法,它可以根据网络拓扑、网络流量等情况进行动态调整,从而找到最佳路径。动态路由选择算法比静态路由选择算法更加灵活,适合用于大型的计算机网络。
2.3 链路状态路由选择算法
链路状态路由选择算法是一种基于每个节点了解整个网络的拓扑和延迟信息,通过 Dijkstra 算法计算得到最短路径。链路状态路由选择算法的算法复杂度较高,但是可以得到最优解。链路状态路由选择算法适用于小型的网络,由于算法复杂度较高,无法用于大型的复杂网络中。
2.4 距离向量路由选择算法
距离向量路由选择算法是一种基于每个节点了解相邻节点的距离信息,通过 Bellman-Ford 算法计算得到最短路径。距离向量路由选择算法的算法复杂度较低,但是容易出现局部最优解。距离向量路由选择算法适用于复杂的大型网络中。
路由选择算法
下面就以图1的网络为例来讨论这种算法, 即寻找从源结点到网络中其他各结点的最短路 径。为方便起见,设源结点为结点1.然后一步 一步寻找,每次找一个结点到源结点的最短路 径直到把所有的点都找到为止。
令D(v)为源结点(记为结点1)到某个结点v的 距离,它就是从结点1沿某一路径到结点v的所 有链路的长度之和。再令 l (i, j ) 为结点 i 至结 点 j 之间的距离。整个算法只有以下两个部分: (1)初始化: 令N表示网络结点的集合。先令 N {1}.对所有 不在N中的结点v,写出
距离向量算法与最短路径算法的比较
距离向量算法和链路状态算法各有千秋, 两种算法的差别基本上可以归纳为表2中的几 点,我们可以以此作为集体应用中选择路由选 择协议的技术依据。
需要注意的一个问题
收敛是路由算法选择时所遇到的一个重要问 题。一个理想的路由选择算法其收敛时间应越短 越好,收敛时间是指从网络的拓扑结构发生变化 到网络上所有的相关路由器都得知这一变化,并 且相应地做出改变所需要的时间。这一时间越短 ,网络变化对全网的扰动就越小。收敛时间过长 会导致路由环路的出现。 距离向量路由选择算法的收敛时间就相对较 长。特别当网络出现故障时,要经过很长的时间
路由选择及其算法
通信子网为网络源节点和目的节点提供了 多条传输路径的可能性。网络节点在收到一个 分组后,要确定向一下节点传送的路径,这就 是路由选择。在数据报方式中,网络节点要为 每个分组路由做出选择;而在虚电路方式中, 只需在连接建立时确定路由。确定路由选择的 策略称路由算法。
计算机网络中的路由算法
计算机网络中的路由算法
随着计算机网络技术的不断发展,网络规模不断扩大,对于数据交换的效率和可靠性的要求也越来越高。在这种背景下,路由算法的设计和优化变得尤为重要。本文将介绍计算机网络中常用的几种路由算法,并分析它们的优缺点。
1. 静态路由算法
静态路由算法是最简单的一种路由算法。它通过手动配置路由表,将每个目的网络对应的下一跳节点、距离等信息预先存储在路由表中,从而使路由选择过程变得简单、快速,并且不需要消耗网络带宽。
静态路由算法的优点是路由选择快速、可靠,而且不需要复杂的计算。但是,它的缺点也非常明显,例如当网络的拓扑结构发生变化时,需要手动重新配置路由表,而且在网络规模较大时,手动配置路由表变得非常繁琐和耗时。
2. RIP路由算法
RIP(Routing Information Protocol)是一种基于距离向量的路
由算法。它使用“距离”作为衡量网络拓扑的指标,计算到目的网
络的距离。具体而言,每个路由器都维护一个距离矩阵,其中存
储着到其他网络的距离。当一个路由器发现其他路由器发送的路
由信息中包含更短的距离时,会更新自己的路由表,把更少的跳
数作为最短路径。
RIP算法的优点是实现简单,算法运行效率高,并且可以自适
应网络拓扑的变化。但是,由于其基于距离向量的设计,每个节
点只能获得本节点到距离最短的路径,无法感知全局网络拓扑,
因此容易产生路由环路和路由震荡的问题。
3. OSPF路由算法
OSPF(Open Shortest Path First)是一种基于链路状态的路由算法。它使用“带宽”作为衡量网络拓扑的指标,通过广播链路上的
路由算法分类比较
路由算法是路由协议必须高效地提供其功能,尽量减少软件和应用的开销。
路由器使用路由算法来找到到达目的地的最佳路由。
关于路由器如何收集网络的结构信息以及对之进行分析来确定最佳路由,有两种主要的路由算法:总体式路由算法和分散式路由算法。采用分散式路由算法时,每个路由器只有与它直接相连的路由器的信息——而没有网络中的每个路由器的信息。这些算法也被称为DV(距离向量)算法。采用总体式路由算法时,每个路由器都拥有网络中所有其他路由器的全部信息以及网络的流量状态。这些算法也被称为LS(链路状态)算法。
收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。
路由算法的核心是路由选择算法,设计路由算法时要考虑的技术要素有:
1、选择最短路由还是最佳路由;
2、通信子网是采用虚电路操作方式还是采用数据报的操作方式;
3、采用分布式路由算法还是采用集中式路由算法;
4、考虑关于网络拓扑、流量和延迟等网络信息的来源;
5、确定采用静态路由还是动态路由。
各路由算法的区别点包括:静态与动态、单路径与多路径、平坦与分层、主机智能与路由器智能、域内与域间、链接状态与距离向量。
链接状态算法(也叫做短路径优先算法)把路由信息散布到网络的每个节点,不过每个路由器只发送路由表中描述其自己链接状态的部分。
距离向量算法(也叫做 Bellman-Ford算法)中每个路由器发送路由表的全部或部分,但只发给其邻居。
常见的路由算法
常见的路由算法
常见的路由算法
路由算法是指为了用于在互联网之类的分组通讯网络中的数据包进行寻址所使用的一种算法。其目的是为了能够掌握网络拓扑结构,更有效的使用网络资源,提供更好的服务质量,在众多的路由算法中,下面列出了一些常见的。
1. 链路状态路由协议(Link State Routing Protocol)
链路状态路由协议是一种以网络中所有的节点为基础的路由协议,它的特点是在所有节点之间建立并保持一个网络状态数据库,每个节点首先会发出一个链路状态数据包来描述自己知道的其他节点的相关信息,并通过该信息计算出一张最短路径树。LSRP一般都有洪泛问题,产生洪泛的原因在于每个节点的发出的链路状态数据包要发到整个网络中,所以数据包会不断传播,产生大量网络流量。常见的LSRP有OSPF等。
2. 距离向量路由协议(Distance Vector Routing Protocol)
距离向量路由协议是一种以自身节点所连接的邻居节点的路由信息为
基础的协议,每个节点只知道自己所连接的邻居节点的路由信息,而不知道整张网络的拓扑结构。DVRP算法通过递归与相邻节点交换距离向量信息来分配最短路径,因此它能够在网络中改变路由波动时使整个路由表保持一致。常见的DVRP有RIP等。
3. 混合路由协议(Hybrid Routing Protocol)
混合路由协议是链路状态和距离向量路由协议的混合体,它采用链路状态路由协议的优点,建立了一张网络拓扑地图;同时又采用距离向量路由协议的算法对网络进行遍历,它使用距离向量路由协议的性质表明每个路由器只需要与它的成邻接的路由器通信,这样可以大大减小链路状态路由协议产生的洪泛问题。
路由算法解析大全
路由算法解析大全
本文为大家讲解路由算法,希望能帮到大家。
按寻径算法划分寻径算f法
距离矢量算法
距离矢量算法是动态路由协议常用的一种路由算法,其基本原理就是运用矢量叠加的方式获取和计算路由信息。
所谓距离矢量即是将一条路由信息考虑成一个由目标和距离(用Metric 来度量)组称的矢量,每一台路由器从其邻居处获得路由信息,并在每一条路由信息上叠加从自己到这个邻居的距离矢量,从而形成自己的路由信息。
RIP
IGRP
BGP
链路状态算法路状态算法
链路状态路由算法(Link State Routing)要求每个参与该算法的结点都有完全的网络拓扑信息,他们执行以下两项任务:
第一,主动测试所有邻结点的状态。两个共享一条链接的结点是邻结点,他们连接到同一条链路,或者连接到同一广播型物理网络;
第二,定期地将链路状态传播给所有其他的结点(或称路由结点)。
链路状态路由算法有三个特征:
1.向本自治系统中的所有路由器发送信息。这里使用的方法是洪泛法(Flooding),即路由器通过所有的输出端口向所有的相邻路由器发送信息。而每一个路由器又将此信息发往其所有的相邻的路由器(但不包括刚刚发来信息的那个路由器)。
2.发送的信息就是本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓“链路状态”就是说明本路由器和那些路由器相邻,以及该链路的“度量”(Metric)。对于OSPF,链路状态的“度量”主要用来表示费用、距离、时延、带宽等。
3.只有当链路状态发生改变时,路由器才用洪泛法向所有路由器
发送此信息。
路由选择算法分类
路由选择算法分类
路由选择算法是指在计算机网络中,根据一定的策略选择最佳的路由路径,以实现数据包的传输。根据不同的策略和算法,路由选择算法可分为静态路由选择算法和动态路由选择算法。
静态路由选择算法是指在网络中,路由器的路由表是静态配置的,不会根据网络拓扑的变化而自动更新。常见的静态路由选择算法有默认路由、静态路由和策略路由等。
默认路由是指当路由表中找不到与目标地址匹配的路由条目时,将数据包发送到默认网关进行转发。默认路由的配置简单,适用于规模较小的网络环境。但是,由于所有数据包都经过默认网关,容易造成网络拥堵和单点故障。
静态路由是指管理员手动配置路由器的路由表。管理员需要根据网络拓扑和流量情况,手动配置每个路由器的路由表,以确保数据包能够按照预期的路径进行转发。静态路由的配置灵活,适用于稳定的网络环境。但是,随着网络规模的增大,静态路由的配置工作量将会变得非常繁重,且不易应对网络拓扑的变化。
策略路由是指根据不同的策略选择最佳的路由路径。策略路由可以基于源地址、目标地址、服务类型等多个因素进行路由选择。管理员可以根据网络需求和优先级,通过配置策略路由来实现更灵活的路由选择。策略路由的配置复杂,但可以根据实际需求灵活调整路
由路径,提高网络性能和可靠性。
动态路由选择算法是指路由器根据网络拓扑和链路状态信息,自动计算最佳的路由路径。常见的动态路由选择算法有距离向量路由选择算法和链路状态路由选择算法。
距离向量路由选择算法是一种分布式的路由选择算法,每个路由器根据相邻路由器发送的路由信息,计算到达目标地址的最短路径。距离向量路由选择算法使用了距离向量(即距离和下一跳路由器)来描述路由信息。常见的距离向量路由选择算法有RIP(Routing Information Protocol)和IGRP(Interior Gateway Routing Protocol)。
路由算法简介
➢ 此外,OSPF对不同类型的业务可计算不同 的路由。
➢ 如果到同一目的网络有多条相同代价的路 径,那么将通信量分配给这几条路径。这 叫多路径间的负载平衡
➢ 所有在OSPF路由器之间交换的分组(链路 状态更新分组)都具有鉴别的功能,因而 保证了仅在可信赖的路由器之间交换链路 状态信息
➢ Hello分组的时间间隔:10s(点到点以及广 播类型接口);30s(点到多点、nbma非广 播多路访问类型接口)
路由算法简介
路由选择协议
➢ 路由获取方法 1, 直连路由:由链路层协议发现的,一般指
去往路由器的接口地址所在网段的路径. 2,静态路由:由网络规划者根据网络拓扑,
使用命令在路由器上配置的路由信息。 3,动态路由:路由器能够按照特定的算法自
动计算新的路由信息,适应网络拓扑结构 的变化
当一个分组在路由器中进行寻径时,路 由器首先查找静态路由,如果查到则根据 相应的静态路由转发分组,否则再查找动 态路由
上述路径环路会通过R1、R2之间不断的路 由更新报文交换而解除,但是解除过程是 非常缓慢的。在出现路径环路之后,在下 一轮路由广播中,R1将向R2广播 (net1,R2,2)表项,R2收到此表项后,将 去往net1的路径改为(net1,R1,3);
然后R2向R1通告(net1,R1,3)表项, R1将去往net1的路由项改为(net1,R2, 4)…
路由算法
引言:路由的算法包括:LS算法,Dijkstra算法,链路状态算法和距离向量算法
摘要:路由算法,可以根据多个特性来加以区分,算法设计者的特定目标影响了该路由协议的操作;具体来说存在着多种路由算法,每种算法对网络和路由器资源的影响都不同;由于路由算法使用多种metric,从而影响到最佳路径的计算。
关键字:
㈠路由表:所谓路由表,指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。
㈡距离向量协议:距离向量路由协议是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的带宽。如果在90秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。每隔30秒,距离向量路由协议就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。距离向量路由协议使用跳数作为度量值,来计算到达目的地要经过的路由器数。
正文:路由算法是路由协议必须高效地提供其功能,尽量减少软件和应用的开销。当实现路由算法的软件必须运行在物理资源有限的计
算机上时高效尤其重要。路由算法还应该是灵活的,即它们应该迅速、准确地适应各种网络环境。路由算法可以设计得可适应网络带宽、路由器队列大小和网络延迟。优化指路由算法选择最佳路径的能力,根据metric的值和权值来计算。例如有一种路由算法可能使用跳数和延迟,但可能延迟的权值要大些。当然,路由协议必须严格定义计算metric的算法。静态路由算法很难算得上是算法,只不过是开始路由前由网管建立的表映射。这些映射自身并不改变,除非网管去改动。使用静态路由的算法较容易设计,在网络通信可预测及简单的网络中工作得很好。由于静态路由系统不能对网络改变做出反映,通常被认为不适用于现在的大型、易变的网络。
路由算法
链路状态包。路由器通过向整个互连网络中的所有路由器发 链路状态包 送链路状态包(LSP),在网络中扩散关于自己邻居的信息。一 个LSP通常包含四个信息域:广告者的ID,所影响的目标网络 ID,费用,邻居路由器的ID。 获得关于邻居路由器的信息。每个路由器都周期性地发送一 获得关于邻居路由器的信息 个简短的问候包来获取关于它们邻居的信息。如果邻居按照它 们所期待的那样对问候做出响应,它的这个邻居就被认为是活 跃的且起作用的。如果没有响应,那么它的这个邻居被认为发 生了某种变化,发送问候包的路由器将通过它的下一个LSP包 向网络的其它部分发出警告。这些问候包很小,只占用很小的 网络资源。 初始化。每个路由器在启动时向它的所有邻居发送一个问候包 初始化 来获取每条链路的状态信息。然后它基于这些问候的结果准备 一个LSP,并将它扩散到整个网络。
Net:1 A 2 Net:5
图6-28
Net:1
Net:1
B 1
1 3 Net:3
A 2
1
A
1 3 Net:3
3 Net:5
Net:3
2
Net:5
图6-29
图6-30
(4)使用算法第四步,由于还有网络不是树的永久部分, 算法未结束,转步骤(2)。在树上的所有路径中找出 最短的一条,即根A到B的路径最短,将这条路径上的 所有节点标记为永久部分。如图6-31。 (5)算法第三步,从B向外延伸只有一个节点Net2,将 Net2临时性的连接到B,有A到Net2的费用为3。如图632。 B
路由算法分类
路由算法及分类
路由算法及分类:
1、非自适应算法,静态路由算法
不能根据网络流量和拓扑结构的变化更新路由表,使用静态路由表,也称为固定式路由选择算法。
特点:简单,开销少;灵活性差。
2、自适应算法,动态路由算法
可根据网络流量和拓扑结构的变化更新路由表。
特点:开销大;健壮性和灵活性好。
3、最优化原则(optimality principle)
如果路由器 J 在路由器 I 到 K 的最优路由上,那么从 J 到 K 的最优路由会落在同一路由上。
4、汇集树(sink tree)
从所有的源结点到一个给定的目的结点的最优路由的集合形成了一个以目的结点为根的树,称为汇集树;路由算法的目的是找出并使用汇集树。
几种典型的路由选择算法:
1、最短路径路由算法(Shortest Path Routing)
1)基本思想
构建子网的拓扑图,图中的每个结点代表一个路由器,每条弧代表一条通信线路.为了选择两个路由器间的路由,算法在图中找出最短路径。
2)测量路径长度的方法
结点数量
地理距离
传输延迟
距离、信道带宽等参数的加权函数
3)Dijkstra算法
每个结点用从源结点沿已知最佳路径到本结点的距离来标注,标注分为临时性标注和永久性标注;
初始时,所有结点都为临时性标注,标注为无穷大;
将源结点标注为0,且为永久性标注,并令其为工作结点;
检查与工作结点相邻的临时性结点,若该结点到工作结点的距离与工作结点的标注之和小于该结点的标注,则用新计算得到的和重新标注该结点;
在整个图中查找具有最小值的临时性标注结点,将其变为永久性结点,并成为下一轮检查的工作结点;
路由算法
第5.6章路由算法
教学导入:TCP/IP网络中路由器的基本工作原理,介绍了IP路由器的几大功能,给出了静态路由协议和动态路由协议,以及内部网关协议和外部网关协议的概念,同时简要介绍
了目前最常见的RIP、OSPF、BGP和BGP-4这几种路由协议。
教学内容:
1距离向量算法
2 链路状态算法
3平衡混合路由算法
一距离向量法(Distance Vector Routing)
在距离向量法中,相邻路由器之间周期性地相互交换各自的路由表备份。当网络拓扑结构发生变化时,路由器之间也将及时地相互通知有关变更信息。
在图1中,每一个路由器从与之直接相邻的路由器处获得对方的路由表。例如,路由器B从路由器A和C获得路由信息后,对自己的路由表进行加工,加工后的路由表再传送给路由器A和C。路由器通过这种方法不断地积累路由信息,直到最终收敛为止。
图1 路由表传递示意
1. 路由表的建立与更新
在图2中,有三个路由器:A、B和C。路由器A的两个网络接口E0和S0分别连接在10.1.0.0和10.2.0.0网段上;路由器B的两个网络接口S0和S1分别连接在10.2.0.0和10.3.0.0网段上;路由器C的网络接口S0和E0分别连接在10.3.0.0和10.4.0.0网段上。
图2 路由表内容列表
如图2中各路由器路由表的前两行所示,通过路由器的网络接口到与之直接相连的网段的网络连接,其向量距离设置为0。这即是最初的路由表。
当路由器B和A以及B和C之间相互交换路由信息后,它们会更新各自的路由表。例如,路由器B通过网络端口S1收到路由器C的路由信息(10.3.0.0,S0,0)和(10.4.0.0,E0,0)后,在自己的路由表中增加一条(10.4.0.0,S1,1)路由信息。该信息表示: 通过路由器B的网络接口S1可以访问到10.4.0.0网段,其向量距离为1,该向量距离是在路由器C的基础上加1获得的。同样的道理,路由器B还会产生一条(10.1.0.0,S0,1)路由,这条路由是通过网络端口S0从路由器A获得的。如此反复,直到最终收敛,形成图2所示的路由表。
路由算法比较
1、散播更新算法(D U A L)
E I G R P快速收敛是因为使用了D U A L。使用E I G R P的路由快速收敛是通过在路由表中备份路由而达到的。换句话说,到达一目的网络的最小开销(选中者)和次最小开销(也叫适宜后继,feasible successor)路由被保存在路由表中。这使得路由器可以快速地适应链路断接而不引起网络中主要网络的分裂。所优选的和备份的路由基于来自邻接路由器的更新而被重新计算。在初始收敛后,E I G R P仅当有路由变化时并且仅为变化的路由更新邻接路由器。
因为E I G R P仅当到某个目的网络的路由状态改变或路由的度量改变时才向邻接E I G R P路由器发送路由更新,这些部分更新需要少得多的带宽。另外,路由更新仅被发送到需要知道状态改变的邻接路由器。由于增量更新的使用,E I G R P比I G R P使用更少的C P U。因为1 5跳跃数的限制,大型网络使用R I P作为路由协议有困难。E I G R P使得可以构建更大的网络,把跳跃限制增加到2 5 5。这意味着E I G R P计算的度量支持成千的跳跃
数,允许很大的网络配置。
E I G R P的下列特征:
■快速收敛。
■减少了带宽消耗。
■增大网络规模。
■减少路由器C P U利用。
2、Ford-Fulkerson算法(增广路法)
所谓可增广路径,是指这条路径上的流可以修改,通过修改,使得整个网络的流值增大。
简单的来说,就是从S(源)开始BFS,直到到达T(汇)or不存在增广路。
所谓增广路就是从S开始到T的一条路径,而且这条路径上的所有边都是非饱和边,即f(i,j)<c(i,j)。因为都是非饱和边,所以这条路径上的边还可以增大经过它们的流,所以称为增广路。而且,这条增广路可以增加的流量,决定于,这条路径上的剩余容量最小的那一条边,可增加的流量就是这最小的剩余流量。
路由选路原理
路由选路原理
路由选路原理是指路由器在网络通信过程中,根据不同的路由算法,
选择最优的路由路径来转发数据包。其具体原理如下:
1.静态路由选路原理:静态路由是指路由器管理员手工配置的路由,
其选路原理是按照配置时指定的路由表来选择最优路径。
2.动态路由选路原理:动态路由是指路由器通过路由协议动态学习路
由信息,其选路原理是根据不同的路由算法选择最短路径。
3.路由算法:常用的路由算法有距离向量算法(RIP)、链路状态算
法(OSPF)、路径矢量算法(BGP)等。其中,距离向量算法通过距离来
衡量链路的质量,链路状态算法通过链路状态来计算最短路径,路径矢量
算法则根据网络拓扑结构来计算路径。
4.距离度量:路由器在计算路径时需要根据不同的距离度量来计算最
短路径,如跳数、时延、带宽等。
5.路由表:路由器通过路由表来存储路由信息,根据不同的选路原则
来选择最佳路径。路由表的内容包括目的网络地址、下一跳地址、接口等。
总之,路由选路原理是一个复杂的系统,需要根据实际情况选择最适
合的路由算法和距离度量来计算最短路径,从而保证网络通信的高速和可
靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路由算法及分类
路由算法及分类:
1、非自适应算法,静态路由算法
不能根据网络流量和拓扑结构的变化更新路由表,使用静态路由表,也称为固定式路由选择算法。
特点:简单,开销少;灵活性差。
2、自适应算法,动态路由算法
可根据网络流量和拓扑结构的变化更新路由表。
特点:开销大;健壮性和灵活性好。
3、最优化原则(optimality principle)
如果路由器J 在路由器I 到K 的最优路由上,那么从J 到K 的最优路由会落在同一路由上。
4、汇集树(sink tree)
从所有的源结点到一个给定的目的结点的最优路由的集合形成了一个以目的结点为根的树,称为汇集树;
路由算法的目的是找出并使用汇集树。
几种典型的路由选择算法:
1、最短路径路由算法(Shortest Path Routing)
1)基本思想
构建子网的拓扑图,图中的每个结点代表一个路由器,每条弧代表一条通信线路。为了选择两个路由器间的路由,算法在图中找出最短路径。
2)测量路径长度的方法
结点数量
地理距离
传输延迟
距离、信道带宽等参数的加权函数
3)Dijkstra算法
每个结点用从源结点沿已知最佳路径到本结点的距离来标注,标注分为临时性标注和永久性标注;
初始时,所有结点都为临时性标注,标注为无穷大;
将源结点标注为0,且为永久性标注,并令其为工作结点;
检查与工作结点相邻的临时性结点,若该结点到工作结点的距离与工作结点的标注之和小于该结点的标注,则用新计算得到的和重新标注该结点;
在整个图中查找具有最小值的临时性标注结点,将其变为永久性结点,并成为下一轮检查的工作结点;
重复第四、五步,直到目的结点成为工作结点;
2、洪泛及选择洪泛算法
1)洪泛算法(Flooding)
属于静态路由算法
a)基本思想
把收到的每一个包,向除了该包到来的线路外的所有输出线路发送。
b)主要问题
洪泛要产生大量重复包。
c)解决措施
每个包头包含站点计数器,每经过一站计数器减1,为0时则丢弃该包;
记录包经过的路径
2)选择性洪泛算法(selective flooding)
洪泛法的一种改进。将进来的每个包仅发送到与正确方向接近的线路上。
3)应用情况
路由器和线路的资源过于浪费,实际很少直接采用;
具有极好的健壮性,可用于军事应用;
作为衡量标准评价其它路由算法。
3、基于流量的路由算法(Flow-Based Routing)
属于静态路由算法
1)基本思想
既考虑拓扑结构,又兼顾网络负荷;
前提:每对结点间平均数据流是相对稳定和可预测的;
根据网络带宽和平均流量,可得出平均包延迟,因此路由选择问题归结为找产生网络最小延迟的路由选择算法。
提前离线(off-line)计算
2)需要预知的信息
网络拓扑结构;
通信量矩阵Fij;
线路带宽矩阵Cij;
3)路由算法(可能是临时的)
1/m = 800 bits
根据排队论,平均延迟T = 1/ (mC - l)
4、距离向量路由算法(Distance Vector Routing)
属于动态路由算法,也称Bellman-Ford路由算法和Ford-Fulkerson算法,最初用于ARPANET,被RIP协议采用。
1)基本思想
每个路由器维护一张表,表中给出了到每个目的地的已知最佳距离和线路,并通过与相邻路由器交换距离信息来更新表;
以子网中其它路由器为表的索引,表项包括两部分:到达目的结点的最佳输出线路,和到达目的结点所需时间或距离;
每隔一段时间,路由器向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表;
邻居结点X发来的表中,X到路由器i的距离为Xi,本路由器到X的距离为m,则路由器经过X到i的距离为Xi + m。根据不同邻居发来的信息,计算Xi + m,并取最小值,更新本路由器的路由表;
注意:本路由器中的老路由表在计算中不被使用
算法的缺陷:对好消息反应迅速,对坏消息反应迟钝;
3)水平分裂算法
工作过程与距离向量算法相同,区别在于到X的距离不向真正通向X的邻居结点报告,使得坏消息传播的也快。
虽然广泛使用,但有时候会失败。
5、链路状态路由算法(Link State Routing)
1)距离向量路由算法的主要问题
选择路由时,没有考虑线路带宽;
路由收敛速度慢。
2)链路状态路由算法
发现邻居结点,并学习它们的网络地址;
路由器启动后,通过发送HELLO包发现邻居结点;
两个或多个路由器连在一个LAN时,引入人工结点;
测量到每个邻居结点的延迟或开销;
一种直接的方法是:发送一个要对方立即响应的ECHO包,来回时间除以2即为延迟。
将所有学习到的内容封装成一个包;
包以发送方的标识符开头,后面是序号、年龄和一个邻居结点列表;
列表中对应每个邻居结点,都有发送方到它们的延迟或开销;Fig. 5-15
链路状态包定期创建或发生重大事件时创建。
将这个包发送给所有其它路由器;
3)基本思想
洪泛链路状态包,为控制洪泛,每个包包含一个序号,每次发送新包时加1。路由器记录信息对(源路由器,序号),当一个链路状态包到达时,若是新的,则分发;若是重复的,则丢弃;若序号比路由器记录中的最大序号小,则认为过时而丢弃;
4)改进
序号循环使用会混淆,解决办法:使用32位序号;
路由器崩溃后,序号重置;
链路状态包到达后,延迟一段时间,并与其它已到达的来自同一路由器的链路状态包比较序号,丢弃重复包,保留新包;
链路状态包需要应答;
计算到每个其它路由器的最短路径。
根据Dijkstra算法计算最短路径;
5)实用协议