导航:首页 > 源码编译 > ospf路由协议算法

ospf路由协议算法

发布时间:2022-05-29 05:02:02

1. RIP协议、OSPF协议采用什么算法

RIP协议采用距离矢量算法。OSPF协议采用最短路径算法。

RIP(路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法,使用“跳数”(即metric)来衡量到达目标地址的路由距离。

OSPF协议是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。

(1)ospf路由协议算法扩展阅读:

RIP协议在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为0~16,数值16表示路径无限长。RIP进程使用UDP的520端口来发送和接收RIP分组。

RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。

参考资料来源:

网络——组播扩展OSPF

网络——RIP协议

2. ospf路由协议

1.OSPF英文全称为OpenShortestPathFirst,开放式最短路径优先协议,它是一种链路状态路由协议,通过与直连路由器建立邻接关系互相传递链路状态信息,来了解整个网络的拓扑结构。就是说,每个运行OSPF进程的路由器都有整个网络的“地图”。

2.运行OSPF进程的路由器都要建立三张表

(1)邻居列表,列出每台路由器全部已经建立邻接关系的邻居路由器

(2)链路状态数据库,列出网络中其他路由器的信息,显示了全网的网络拓扑

(3)路由表,OSPF依据Djkstra算法,从链路状态信息计算得到一个以自己为树根的“最短路径树”,到最后,每台路由器都将从最短路径树中构建自己的路由表(如图)。

3.当整个网络经过链路状态信息的同步收敛,生成路由表后,OSPF在区域内部,就直接转发数据啊,没有什么特别的。

4.一旦设置了多区域,区域间的路由是通过ABR(区域边界路由器)转发的,区域内部的路由器只要知道到ABR的路由就行了,大大减少了内部区域的路由条目。提高了路由器的性能。OSPF的精华就在此。

老大,给分吧,上面我是根据自己的理解一个字一个字打上去的哦!

3. 简述ospf的路由计算过程。

在OSPF网络,路由的计算不是简单的把源地址与目的地址进行关联这么简单,需要考虑到许多因素,以确定一条***路径。整个OSPF路由计算过程可分为:邻接关系建立→DR/BDR选举→发送LSA→创建路由表→维护路由表这五大基本步骤。具体描述如下:

(1)建立邻接关系。

所谓"邻接关系"(Adjacency)是指OSPF路由器以交换路由信息为目的,在所选择的相邻路由器之间建立的一种关系。在OSPF中,邻居(Neighbor)和邻接(Adjacency)是两个不同的概念。OSPF路由器启动后,便会通过OSPF接口定期(默认为10秒)向外发送Hello报文。收到Hello报文的OSPF路由器会检查报文中所定义的参数,如果双方一致就会形成邻居关系。但形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定。只有当双方成功交换DD(Database Description,数据库描述)报文,交换LSA并达到LSDB的同步之后,才形成真正意义上的邻接关系。如果在设定的期限(默认为40秒)内没有收到某OSPF路由器发来的Hello报文,则认为该OSPF路由器无效。

具体步骤是:路由器首先发送拥有自身ID信息(Loopback端口或***的IP地址)的Hello报文。与之相邻的路由器如果收到这个Hello报文,就将这个报文内的ID信息加入到自己的Hello报文内。然后在后面发送的Hello报文中就包括了原来所接收到的邻居路由器的ID信息。如果路由器的某端口收到从其他路由器发送的含有自身ID信息的Hello报文,则它根据该端口所在网络类型确定是否可以与对端路由器建立邻接关系。

在点对点网络中,路由器将直接和对端路由器建立起邻接关系,并且该路由器将直接进入到下面的第(3)操作,发送LSA以发现其他路由器;若为多路访问网络, 则该路由器将进入下面第(2)步的DR/BDR选举。

(2)选举DR/BDR。

在广播或者多路访问OSPF网络中,各相邻路由器都建立了相邻关系后,就要选举一个担当区域内的LSU通告代理角色的DR(指定路由器)和BDR(备份指定路由器),因为在OSPF网络中,为了减少LSU通告的流量,各路由器之间不直接发送链路状态信息,而是通过选举DR/BDR进行统一分发的。其他路由器要发送LSU,则先把LSU发给DR/BDR,再由DR或者BDR(只有在DR失效时才使用它)在组播给所有非DR,或者BDR的路由器。

DR和BDR是由同一网段中所有的路由器根据路由器优先级、Router ID通过Hello报文选举出来的,只有优先级大于0的路由器才具有选举资格。具体的选举过程如下:

①在与一个或多个邻居之间的双向通信建立起来之后,本地路由器对每个邻居发送来的Hello包中的优先级、DR和BDR域进行检查。此时所有路由器都宣称自己为DR(将它们自己的接口地址置于Hello包的DR域中);而且所有路由器都宣称自己为BDR(将它们自己的接口地址置于Hello包的BDR域中)。

②如果一或多个备选路由器将它(们)自身的接口地址置于DR域中,拥有***优先级的邻居将被宣告为DR。如果路由器优先级一样,拥有***Router ID的邻居将被选举出来。

③然后再将自身的接口地址置于BDR域中的路由器中选择拥有***优先级的路由器作为BDR。如果这些宣称自己为BDR路由器的优先级相等,则拥有***Router ID的邻居将被选举作为BDR。

④如果没有任何路由器被宣告为BDR,拥有***优先级的非DR邻居路由器将被宣告为BDR;如果多个优先级相同的这样的路由器,则拥有***Router ID的邻居将被选举作为BDR。

(3)发送LSA。

作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。当路由器初始化或当网络结构发生变化(例如增减路由器、链路状态发生变化等)时,路由器会产生链路状态广播数据包LSA,该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。所有路由器会通过泛洪方式来交换链路状态数据。

在这个步骤中,路由器与路由器之间首先利用Hello报文的ID信息确认主从关系,然后主从路由器相互交换部分链路状态信息。每个路由器对信息进行分析比较,如果收到的信息有新的内容,路由器将要求对方发送完整的链路状态信息。这个状态完成后,路由器之间建立完全邻接关系,同时各邻接路由器拥有自己独立的、完整的链路状态数据库。

在多路访问网络内,DR与BDR互换信息,并同时与本子网内其他路由器交换链路状态信息。在Point-to-Point(点对点)或Point-to-MultiPoint(点对多点)网络中,相邻路由器之间会直接交换链路状态信息。

(4)创建路由表。

当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库,采用SPF(最短路径优先)算法计算并创建路由表。OSPF路由器依据链路状态数据库的内容,独立地用SPF算法计算出到每一个目的网络的路径,并将路径存入路由表中。该路由表中包含路由器到每一个可到达目的地的开销以及到达该目的地所要转发的下一个路由器(next-hop)。

OSPF利用开销来计算路由路径性能的,开销最小者即为最短路径。在配置OSPF路由器时可根据实际情况,如链路带宽、时延等设置链路的开销大小;开销越小,则该链路被选为路由的可能性越大。这里的开销是根据链路类型来计算的,不同的链路类型对应的开销值不一样。

(5)维护路由信息。

当链路状态发生变化时,OSPF通过泛洪过程广播网络上的其他路由器。OSPF路由器接收到包含有新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表。在重新计算过程中,路由器继续使用旧路由表,直到SPF完成新的路由表计算。新的链路状态信息将发送给其他路由器。值得注意的是,即使链路状态没有发生改变,OSPF路由信息也会自动更新,默认时间为30分钟。

4. ospf协议原理及其特点

1、  OSPF协议的特点
OSPF全称为开放最短路径优先。“开放”表明它是一个公开的协议,由标准协议组织制定,各厂商都可以得到协议的细节。“最短路径优先”是该协议在进行路由计算时执行的算法。OSPF是目前内部网关协议中使用最为广泛、性能最优的一个协议,它具有以下特点:
◆ 可适应大规模的网络;
◆ 路由变化收敛速度快;
◆ 无路由自环;
◆ 支持变长子网掩码(VLSM);
◆ 支持等值路由;
◆ 支持区域划分;
◆ 提供路由分级管理;
◆ 支持验证;
◆ 支持以组播地址发送协议报文。
采用OSPF协议的自治系统,经过合理的规划可支持超过1000台路由器,这一性能是距离向量协议如RIP等无法比拟的。距离向量路由协议采用周期性地发送整张路由表来使网络中路由器的路由信息保持一致,这个机制浪费了网络带宽并引发了一系列的问题,下面对此将作简单的介绍。为了完善这些协议,只能采取若干措施,在自环发生前,降低其发生的概率,在自环发生后,减小其影响范围和时间。
在IP(IPV4)地址日益匮乏的今天,能否支持变长子网掩码(VLSM)来节省IP地址资源,对一个路由协议来说是非常重要的,OSPF能够满足这一要求。在采用OSPF协议的网络中,如果通过OSPF计算出到同一目的地有两条以上代价(Metric)相等的路由,该协议可以将这些等值路由同时添加到路由表中。从衡量路由协议性能的角度,我们可以看出,OSPF协议确实是一个比较先进的动态路由协议,这也是它得到广泛采用的主要原因。
2、  OSPF协议的工作原理
上文提到,OSPF协议是一种链路状态协议,那么OSPF是如何来描述链路连接状况呢?
抽象模型Model 1表示路由器的一个以太网接口不连接其他路由器,只连接了一个以太网段。此时,对于运行 OSPF的路由器R1,只能识别本身,无法识别该网段上的设备(主机等);抽象模型Model 2表示路由器R1通过点对点链路(如PPP、HDLC等)连接一台路由器R2;抽象模型Model 3表示路由器R1通过点对多点(如Frame Relay、X.25等)链路连接多台路由器R3、R4等,此时路由器R5、R6之间不进行互联;抽象模型Model 4表示路由器R1通过点对多点(如Frame Relay、X.25等)链路连接多台路由器R5、R6等,此时路由器R5、R6之间互联。以上抽象模型着重于各类链路层协议的特点,而不涉及具体的链路层协议细节。该模型基本表达了当前网络链路的连接种类。
在OSPF协议中,分别对以上四种链路状态类型作了描述:
对于抽象模型Model 1(以太网链路),使用Link ID(连接的网段)、Data(掩码)、Type(类型)和Metric(代价)来描述。此时的Link ID即为路由器R1接口所在网段,Data为所用掩码,Type为3(Stubnet),Metric为代价值。
对于抽象模型Model 2(点对点链路),先使用Link ID(连接的网段)、Data(掩码)、Type(类型)和Metric(代价)来描述接口路由,以上各参数与Model 1相似。接下来描述对端路由器R2,四个参数名不变,但其含义有所不同。此时Link ID为路由器R2的Router ID,Data为路由器R2的接口地址,Type为1(Router),Metric仍为代价值。
对于抽象模型Model 3(点对多点链路,不全连通),先使用Link ID(连接的网段)、Data(掩码)、Type(类型)和Metric(代价)来描述接口路由,以上各参数与Model 1相似。接下来分别描述对端路由器R3、R4的方法,与在Model 2中描述R2类似。
对于抽象模型Model 4(点对多点链路,全连通),先使用Link ID(网段中DR的接口地址)、Data(本接口的地址)、Type(类型)和Metric(代价)来描述接口路由。此时Type值为2(Transnet),然后是本网段中DR(指定路由器)描述的连接通告。

5. OSPF链路状态路由协议是什么

OSPF是一种典型的链路状态路由协议,采用OSPF的路由器彼此交换并保存整个网络的链路信息,从而掌握全网的拓扑结构,独立计算路由。因为RIP路由协议不能服务于大型网络,所以,IETF的IGP工作组特别开发出链路状态协议——OSPF。目前广为使用的是OSPF第二版,最新标准为RFC2328。
OSPF作为一种内部网关协议(Interior
Gateway
Protocol,IGP),用于在同一个自治域(AS)中的路由器之间发布路由信息。区别于距离矢量协议(RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位。
1.
链路状态
OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State
Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法
(Shortest
Path
First,
SPF)”,独立地计算出到达任意目的地的路由。
2.
区域
OSPF路由协议引入“分层路由”的概念,将网络分割成一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“区域”
(Area),“主干”的部分称为“主干区域”。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。
3.OSPF路由协议验证
在OSPF路由协议中,所有的路由信息交换都必须经过验证。在前文所描述的OSPF路由协议数据包结构中,包含有一个验证域及一个64位长度的验证数据域,用于特定的验证方式的计算。
OSPF数据交换的验证是基于每一个区域来定义的,也就是说,当在某一个区域的一个路由器上定义了一种验证方式时,必须在该区域的所有路由器上定义相同的协议验证方式。另外一些与验证相关的参数也可以基于每一个端口来定义,例如当采用单一口令验证时,我们可以对某一区域内部的每一个网络设置不同的口令字。
在OSPF路由协议的定义中,初始定义了两种协议验证方式,方式0及方式1,分别介绍如下:
验证方式0:
采用验证方式0表示OSPF对所交换的路由信息不验证。在OSPF的数据包头内64位的验证数据位可以包含任何数据,OSPF接收到路由数据后对数据包头内的验证数据位不作任何处理。
验证方式1:
验证方式1为简单口令字验证。这种验证方式是基于一个区域内的每一个网络来定义的,每一个发送至该网络的数据包的包头内都必须具有相同的64位长度的验证数据位,也就是说验证方式1的口令字长度为64bits,或者为8个字符。

6. OSPF的算法是什么

我们知道,对于有向连通图,以任意一个节点为起点,利用最短路径算法可以计算出到其他节点的最短路径。那么,对于能抽象成有向连通图的网络拓扑来说,也可以利用最短路径算法先计算出以任意一台路由器为起点,到达其他路由器的最短路径,然后根据各路由器的网络连接情况可以得到到各个网络的路由路径。
OSPF中用到的Dijkstra算法和RIP中用到的距离向量算法一样,都是相当经典的最短路径算法。本文将对Dijkstra算法及OSPF协议对Dijkstra算法的使用进行介绍。
1 Dijkstra算法介绍
在数学上,以某个节点为起点,计算到其他节点的最短路径的算法,称为“单源最短路径” 算法。求“单源最短路径”的问题在数学上可以精确描述如下:
“单源最短路径” 问题:已知一个有n个节点(V0..n)构成的有向连通图G=(V,E),以及图中边的权函数C (E),其中V代表节点集合,E表示所有边的集合,并假设所有权非负,求由G中指定节点V0到其他各个节点的最短路径。
Dijkstra算法是很经典的求解上述问题的算法,其基本想法是设计一种最短路径树的构造方法,按非降次序逐条构造从V0到各个节点的最短路径,第一步找到和V0相距最短的节点以及到这个节点的路径,第二步找到和V0相距次短的节点以及到这个节点的路径,如此反复,最后找到V0到所有节点的最短路径,构造出整棵最短路径树。
对上述构造方法的一个直观考虑是:和V0相距最短的节点应该在和V0直接相邻的节点中,和V0相距次短的节点要么在和V0直接相邻的节点中,要么在和这些相邻节点相邻的节点中,如此逐步扩散考虑,应该就可以找到和V0相距最短、次短、…….第n短的节点以及对应的路径,而且因为是连通图,最后肯定所有节点都能全部考虑到,也就能完成整棵最短路径树的构造。
事实上,上述直观考虑是对的,Dijkstra算法是对上述过程的一个提炼和优化:和V0相距最短的节点是和V0直接相连的节点没错;相距次短的节点范围可以缩小为,和V0直接相邻的节点,加上跟刚选中的最短节点直接相邻的节点;相距第三短的节点的范围可以类推得到,即在上一步考察的节点的基础上,加上和次短节点直接相邻的节点。如此逐步构造,可以按非降次序找到到所有节点的最短路径。
为了从数学上精确描述上述构造过程,引入了集合的概念对节点和路径进行分类。
我们把节点分成两个集合:
A:已经选入最短路径树的节点的集合。
B:剩余的其他节点的集合。
对于路径,我们分成三个集合:
(1)已经选入最短路径树的路径的集合
(2)候选路径集合:下一条加入最短路径树的路径将从这个集合中选入
(3)剩余的其他路径的集合(被废弃的路径或者还未考虑的路径)
为了更好的理解,有必要对这里的路径定义进行一下强调:路径是指以V0为起点,其他节点为终点的由一条或多条边组成的一个有序集。边,可以理解为路径中的一段,只有到和V0直接相邻的节点的路径才直接对应一条边。从V0到所有节点,都可能存在一条或多条路径,非最短路径在计算过程中将会被废弃,放入集合III。
从前面的描述中可以明显看出,Dijkstra算法是一个递归构造过程,因为任何递归都必须有明确的初始状态,所以我们有必要先得到上述Dijkstra算法中定义的集合的初始值:
l 以V0为起点计算最短路径的话,初始状态时显然有且只有V0在集合A中,所以集合A的初始值为V0。集合B的初始值为剩余节点。
l 前面提到过,下一个加入集合A的节点,一定是和V0直接有边相连的节点,因此,加入最短路径树的第一条路径也必然在这些和V0直接相连的边所代表的路径中产生,所以集合II的初始值就是和V0直接相连的边构成的路径。另外,初始状态最短路径树为空,所以集合I的初始值为空。集合I、II明确了的话,集合III自然明确。
下面我们开始展开递归构造最短路径树的过程:
l 第一步:从集合II中选择一条最短的路径,放入最短路径树,相应的,这条路径的终点对应的节点(这里记为X)应该从集合B移入集合A。
l 第二步:考察所有从X出发的边的终点,考虑其中不属于集合A的节点,这里记为Y,计算从V0出发经X到达Y的路径值,计算方法为:最短路径树中V0到节点X的路径值加上(X,Y)这条边的值。为了描述方便,我们把从V0出发经X到达Y的路径记为(V0X)Y。接着考察集合II中的候选路径,如果其中没有到节点Y的路径,则直接把路径(V0X)Y作为候选路径加入集合II;如果集合II中已经有到节点Y的路径,则进行比较,如果这条路径值小于或等于路径 (V0X)Y的路径值,那么路径(V0X)Y作为被废弃的路径放入集合III,否则原集合II中到Y的路径被废弃放入集合II,(V0X)Y作为候选路径放入集合II。对于Y节点有多个的情况,按第二步的方法一个一个的计算和比较。
l 重复第一步和第二步,直到集合II和集合B为空。

7. OSPF路由协议,OSPF路由协议是什么意思

这个问题有点太笼统了,可以从很多角度去说。
1,ospf
是一种igp路由协议,即在同一个as内部运行的内部路由协议,as之间的路由协议是bgp。
2,ospf
是一种链路状态的路由协议,也属于动态路由协议。采用的sfp算法既最短路径优先。
ps:纯手打,望采纳

8. OSPF路由协议是一种基于( ) 算法的动态路由协议

SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×106/链路带宽 .
在这里,链路带宽以bps来表示。也就是说,OSPF的Cost 与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。

9. ospf采用什么算法

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。着名的迪克斯加算法(Dijkstra)被用来计算最短路径树。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。
OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。
作为一种链路状态的路由协议,OSPF将链路状态组播数据LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

10. 1.什么是OSPF路由协议

OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。
该协议使用链路状态路由算法的内部网关协议(IGP),
在单一自治系统(AS)内部工作。
适用于IPv4的OSPFv2协议定义于RFC 2328 ,
RFC 5340 定义了适用于IPv6的OSPFv3。

阅读全文

与ospf路由协议算法相关的资料

热点内容
程序员那么可爱陆离跳水是哪集 浏览:15
如何制作cdn服务器 浏览:109
写java加密程序 浏览:657
菜鸟数据分析pdf 浏览:287
单片机做实用东西 浏览:647
我的世界最强斗罗服务器怎么觉醒武魂 浏览:925
密友圈app怎么切换用户登录 浏览:214
我把程序员当爱豆追 浏览:972
android判断电话接通 浏览:644
大孔文件夹 浏览:783
反诈骗app在哪里下载 浏览:525
军工程序员面试视频 浏览:811
质心算法原理 浏览:421
163smtpphp 浏览:667
java缓存使用 浏览:918
java验证码识别ocr 浏览:877
马云生产服务器 浏览:214
上哪里找app新用户 浏览:542
王陆807词汇pdf 浏览:966
linux命令行开设置窗口 浏览:132