动态路由协议之OSPF协议

之前我们介绍了距离矢量路由协议,路由器之间互相传递路由表来传递路由信息,距离矢量协议的路由器只知道某个网段可以通过那个下一跳到达和到达这个网络有多远等这样的信息,并不了解整个网络的拓扑结构。而今天所说的链路状态路由协议则通过与邻居路由器建立邻接关系,互相传递链路状态信息来了解整个网络拓扑结构。
运行链路状态路由协议的路由器就好像各自“绘制”自己所了解的网段信息,然后通过与邻居路由器建立邻接关系,互相“交流”链路信息,学习整个区域内的链路信息,来“绘制”出整个区域内的链路图。在一个区域内的所有路由器都保存着完全相同的链路状态数据库。
OSPF是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大功能:路径选择和路径交换。
在共同管理域下的一组运行相同路由选择协议的路由器的集合为一个自治系统(AS)。在互联网中,一个AS是一个有权决定本系统使用哪种路由协议的单位,他可以是一个企业,一座城市或一个电信运营商。随着网络的发展,上述对AS的定义已经不是十分准确了,网络的发展使得网络之间经常出现网络合并情况,导致同一个AS中使用的路由协议越来越多,所以AS的定义应用是在共同管理下的互联网络。
内部网关路由协议(IGP),用于在单一AS内决策路由。内部网关路由协议包括RIP、OSPF等。
与内部网关路由协议相对应的是外部网关路由协议(EGP),外部网关路由协议用于在多个AS之间执行路由。
IGP是用来解决AS内部通信的,而EGP是用来解决AS间通信的。
运行RIP路由协议的路由器只需要保存一张路由表,而使用OSPF路由协议的路由器需要保存三张表:邻居列表、链路状态数据库、路由表。
OSPF路由协议与RIP相比,前者适合更大型的网络环境,因为OSPF是一种链路状态型的路由协议,不会产生环路问题,因此不需要使用最大跳数等限制来防止路由环路的产生。

OSPF将AS分割成多个小的区域,OSPF的路由器只在区域内部学习完整的链路状态信息,而不必了解整个AS内部所有的链路状态。

OSPF协议中有一个几个很重要的概念,如“Router ID”、“DR”、“BDR”,我们先来了解一下Router ID:

因为运行OSPF的路由器要了解每条链路是连接在哪个路由器上的,因此,就需要有一个唯一的标识来标记OSPF网络中的路由器,这个标识就是Router ID,Cisco路由器是这样来得到它们的Router ID的。

首先,路由器会选取它所有loopback接口上数值最高的IP地址。若没配置loopback接口的IP地址,那么路由器就在所有活动物理端口中选取一个数值最高的IP地址作为路由器的Router ID。用作Router ID的路由器接口不一定非要运行OSPF协议。

一般我们会在配置OSPF时,使用 “router-id“ 来指定路由器的Router ID,也可以把想要配置的Router ID配置为loopback地址,两种办法二选一即可,但一定要注意不可从物理端口中选举Router ID。因为该端口一旦down掉,便会影响网络中路由器之间的通信。

接下来便是“DR”和“BDR”:

运行OSPF的路由器通过与邻居路由器建立邻接关系,互相传递链路状态信息。如果每两个路由器之间都要建立邻接关系,那么就会构成n(n-1)/2个邻接关系,这时就有些混乱了,而且浪费了很多不必要的网络资源。

为了可以避免这些问题的发生,可以在该网段上选举一个指定路由器(Designated Router,DR )。由DR和网络中的其他路由器建立邻接关系,并负责将网段上的变化告知它们。

为了实现冗余,当DR失效时,需要有一个新的DR来接替DR的工作,这便是BDR(Backup Designated Router,BDR)。网络上所有的路由器将和DR和BDR同时形成邻接关系。DR和BDR之间也将形成邻接关系。

DR和BDR即可以自动选举,也可以手工选举。

自动选举:网段上router ID最大的路由器将被选举为DR,第二大的将被选举为BDR,这样的选举可能不是最佳的,如果网段中有Cisco 7200 和3800系列路由器,那么3800路由器可能会由于router ID较而被选为DR,所以若要采用自动选举,则必须要注意Router ID的配置。

手工选举DR和BDR:需要设置路由器的优先级,每台路由器的接口都有一个路由器优先级,优先级的大小范围是0~255,数值越大,优先级越高,Cisco路由器默认的优先级是1,接口优先级可以在接口模式中通过“ip OSPF priority”命令来更改,若路由器的优先级被设置为0,它将不参与DR和BDR。

DR和BDR的选举过程:
当一台OSPF路由器启动并发现它的邻居路由器时,它将会去检查有效的DR和BDR路由器,如果DR和BDR存在,这台路由器将会接受已经存在的DR和BDR路由器,如果不存在,将执行一个选举过程,选出具有最高优先级的路由器作为BDR路由器,如果多个路由器的优先级一样,那么Router ID最大的路由器将被选中。如果没有有效的DR路由器存在,那么BDR路由器将被提升为DR路由器,然后执行一个选举过程选举BDR路由器。

路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器,因此,在一个广播多路访问网络上,最先初始化启动的两台具有选举资格的路由器将成为DR和BDR路由器,若想让路由器根据自己配置的Router ID来选举DR和BDR,那么在所有路由器接入网络后,可以在特权模式下使用“clear ip ospf pro”来清除OSPF相关信息,让网络中的路由器进行重新选举,如果实际情况允许,也可重启网络中的路由器,但路由器都关机后,前两个运行起来的路由器,必须是自己想要作为DR和BDR的路由器。

OSPF的组播地址有两个224.0.0.5和224.0.0.6,用来发送链路更新消息,链路更新消息会先发送给DR和BDR侦听的地址224.0.0.6,但BDR只侦听不相应。然后DR路由器使用组播地址224.0.0.5泛洪更新报文到其他所有路由器。



OSPF邻接关系的建立需要经历两个阶段,七种状态:


OSPF的应用环境应考虑下以下几点:

OSPF单域的配置基本命令如下:

Router(config)#router ospf 1 #配置OSPF的进程号。进程号是本地路由器的进程号,用于标识一台路由器上的多个OSPF进程,其值可以在1~65535选取。

Router(config-router)#router-id 1.1.1.1 #指定Router ID,若已经配置loopback接口地址,则这条命令可以省略,将1.1.1.1配置为loopback地址时,掩码则最好为255.255.255.255

Router(config-router)#network 192.168.1.0 0.0.0.255 area 0 #配置运行OSPF协议的接口,也就是将与本路由器直连的网段声明,以便让别的路由器学习到该路由器上的直连网段。 “area”是指定区域,在单域配置中区域必须为0。

以上述同样格式的network命令声明该路由器上所有的直连网段,配置便完成了。不过需要注意的是,在声明网段时,网络地址后面跟的是反掩码。

查看邻居路由器的命令:
Router#show ip ospf neighbor

查看F0/0接口的数据结构:
Router#show ip ospf interface f0/0 #可以查看到该网段的DR和BDR,属于哪个区域等详细信息。

修改接口F0/0的优先级为2
Router(config)#in f0/0
Router(config-if)#ip ospf priority 2 #注意优先级为0的话将不参与DR和BDR的选举
Router(config-if)#ip ospf cost 2 #修改接口的cost值(cost值为路径选择的一种方式,值的取值范围为1~65535)
当网络环境中有多家厂商的产品,则应注意cost值,有些厂家默认的是1,如果网络中所有的路由器没有使用同一种计算cost的方式来指定OSPF的开销,那么OSPF协议将不能正确的进行路由选择。

查看邻居列表及其状态:

Router#show ip ospf neighbor

查看OSPF的配置

Router#show ip ospf #查看OSPF的配置

原文地址:https://blog.51cto.com/14227204/2393327

时间: 2024-11-10 06:11:12

动态路由协议之OSPF协议的相关文章

网络必备——动态路由之OSPF协议(超详细理论)

动态路由之OSPF协议 一.路由概述之内部和外部网关协议 内部网关协议和外部网关协议 1.区域划分管理,自治系统(AS) 这么多路由. 2.内部网关协议(IGP)RIP OSPF ISIS 在各自的内部区域去跑 但是不同的区域没法通信 3.外部网关协议(EGP) BGP 只有一个协议 比如阿里巴巴飞天 想通信通过外部协议 BGP ECS是阿里巴巴的云主机 2.ospf是链路状态路由协议 OSPF是链路状态路由协议 每条链路都是一个路由器的直连网段 它自己知道所有数据包信息,他们会相互交换信息,会

动态路由协议之OSPF理论篇(上)

OSPF路由协议基本原理 解决RIP的瓶颈--15跳数 OSPF路由协议总述(知识点纲要) 四种路由类型:DR.BDR.ABR.ASBR 五大区域:骨干区域.标准区域.末梢区域.纯末梢区域.非纯末梢区域 五大数据包类型:Hello.DBD.LSR.LSU(包含多个LSA).LSACK 六种LSA:Type1.Type2.Type3.Type4.Type5.Type7 七个状态:Down.Init.2-Way.Exstart.Exchange.Loading.Full 一.网关协议 1.内部网关协

动态路由协议RIP,OSPF基础知识详解,以及配置实验验证

动态路由:不需要手工写路由,将各自的直连网段宣告出去,路由器之间就可以相互学习,如果路由表有变化则及时更新宣告给相邻的路由器 静态路由  优点:精确转发,由管理员手动控制  缺点:灵活性差 动态路由特点: (1)减少了管理任务 (2)占用了网络带宽 (3)动态路由基于某种路由协议实现 度量值:跳数,带宽,负载,时延,可靠性,成本 按照路由执行的算法分类 (1)距离矢量路由协议:依据从源网络到目标网络所经过的路由器的个数选择路由:RIP , IGRP (2)链路状态路由协议:综合考虑从源网络到目标

动态路由协议之RIP协议

我们都知道,路由器可配置静态路由和动态路由.静态路由协议在小型网络中配置的话是十分方便的,但是对于大中型网络来说却是困难的,配置麻烦且不方便管理.动态路由协议可以自动监测并随着网络拓扑的变换更新路由表,适合大中型网络环境.静态路由和动态路由都有各自的特点和适用范围,在网络中静态路由和动态路由互相补充.在所有的路由中,除了直连路由外,静态路由优先级最高.当一个包在路由器中进行路径选择时,路由器首先查找静态路由,如果查到则根据相应的静态路由进行转发分组,然后查找动态路由.当静态路由与动态路由发生冲突

动态路由协议之OSPF理论篇(下)(含虚链路的实验)

OSPF多区域原理与虚链路 一.OSPF多区域的生成 原因:改善网络的可扩展性(多区域).快速收敛(控制域内路由器数量) 1.三种通信量 域内通信量--单个区域内的路由器之间交换数据包构成的通信量 域间通信量--不同区域的路由器之间交换数据包构成的通信量 外部通信量--OSPF域内的路由器与OSPF区域或另一个自治系统内的路由器之间交换数据包构成的通信量 二.OSPF的路由器类型 四种:DR|BDR|ABR|ASBR OSPF的区域类型 (1)骨干区域 (2)非骨干区域-根据能够学习的路由种类来

OSPF动态路由协议(实验篇)OSPF协议的基本配置与虚链路的配置

前言: 理论知识我在上一篇博客已经写过了,但光是掌握理论,而不去实践就如同纸上谈兵.只有理论与实践相结合,我们下能更深的理解与记忆.闲话少叙,接下来我会直接演示OSPF协议的具体配置过程.本次实验主要分为两个部分:一.基本配置:二.虚链路的配置. 一.OSPF协议基本配置: 1.实验环境 本次实验是在GNS3-1.3.10版本中进行的,具体拓扑图如下: 需要注意的是R1与R3的接口不够,需要分别添加一个NM-1FE-TX单板. 2.R1的配置 (1)给R1各个接口配上IP地址,并检查是否设置成功

动态路由之OSPF和RIP协议实现全网互连互通

动态路由之OSPF和RIP协议实现全网互连互通 动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整. 简述 动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整.当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文. 原理 动态路由机制的运作依赖路由器的两个基本功能:路由器之间适时的路由信息交换,对路由表的维

动态路由实现OSPF和RIP协议实现全网互连互通

动态路由: 是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整. 原理: 动态路由机制的运作依赖路由器的两个基本功能:路由器之间适时的路由信息交换,对路由表的维护: 路由器之间适时地交换路由信息.动态路由之所以能根据网络的情况自动计算路由.选择转发路径,是由于当网络发生变化时,路由器之间彼此交换的路由信息会告知对方网络的这种变化,通过信息扩散使所有路由器都能得知网络变化.路由器根据某种路由算法(不同的动态路由协议算法不同)把收集到的路由信息加工成路由表,供路由器在转发

动态路由协议(基于RIP协议 配置过程)

常见的动态路由协议可以分为"距离矢量路由协议"和"链路状态路由协议". 其中距离矢量路由协议依据的是从源网络到目标网络所经过的路由器的个数来选择路由,典型的协议是"RIP": 链路状态路由协议会综合考虑从源网络到目标网络的各条路径的情况来选择路由,典型的协议是"OSPF". 本篇文章说下RIP协议,运行该协议的路由器都会向邻居路由器学习他们所观察到的路由信息,然后向外通告自己所观察到的路由信息,因为每个路由器在信息上都依赖于邻