路由器OSPF的基本概念与工作过程

OSPF是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换。

在共同管理域下的一组运行相同路由选择协议的路由器的集合为一个自治系统(autonomous system,AS)。在网络中,一个AS是一个有权决定本系统使用哪种路由协议的单位,它可以是一个企业,一座城市,随着网络的发展,对AS的定义已经不是十分精准了,网络的发展使网络之间经常出现网络合并情况,导致同一个AS中使用的路由协议越来越多,所以AS的定义应该是在共同管理下的互联网络。

内部网关路由协议(IGP):用于在单一AS内决策路由,内部网关路由协议包括RIP、OSPF等。

与内部网关路由协议相对应的是外部网关路由协议(EGP),外部网关路由协议用于在多个AS之间执行路由。

IGP是用来解决内部通信的,而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/14154700/2374461

时间: 2024-11-03 02:26:01

路由器OSPF的基本概念与工作过程的相关文章

ospf链路状态路由协议概念概述工作原理

1.OSPF概述: OSPF属于链路状态路由协议.也就是说不像距离矢量那样只考虑"我到那个目标要多远?要多少跳?"而是考虑的更多,不如你现在的链路状态是怎样的,负载怎么样?该怎么走合适? 这就是链路状态. OSPF在共同的管理域下运行着一组相同的路由协议的集合称之为一个自制系统 (Autonomous System ,AS) 可以是一个企业或者一个运营商等等. OSPF分为内部网关路由协议和外部网关路由协议如下所述: 内部网关路由协议(IGP):用于单一的自制系统(AS)内决策路由.

Cisco PT模拟实验(14) 路由器OSPF动态路由的配置

Cisco PT模拟实验(14) 路由器OSPF动态路由的配置 实验目的: 掌握OSPF动态路由选择协议的配置方法 掌握路由选择表中的OSPF路由描述 熟悉路由选择和分组转发的原理及过程 实验背景: 公司通过一台三层交换机连到企业网的出口路由器上,路由器再与互联网服务提供商 ISP的另一台路由器连接.现要企业网设备上做适当配置,实现企业网内部主机与外网主机之间的相互通信.为了简化网管的管理维护工作,公司决定采用动态路由配置 -- OSPF协议实现互通. 技术原理: 路由器通过路由选择协议建立了一

交换机的功能及工作过程

一.交换机概述: 交换机是一种工作在二层的设备,但是随着技术的不断进步,现在已经出现了诸如三层交换机,多层交换机产品.在本篇中讨论的是二层交换机的一些特性. 二.交换机的功能: 1.    地址学习 有些地方也叫做基于源MAC地址学习,这个功能主要就是学习和存储MAC地址. 2.    帧的转发/过滤 数据帧的转发主要是交换机能够根据MAC地址表来转发数据,过滤则是对一些受限制的数据进行阻止或丢弃. 3.    环路避免 由于交换机的某些特性会带来一些问题,比如形成环路,因此为了保证网络上数据的

TCP/IP基础概念及通信过程举例

TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且在3年内逐渐发展,由4个节点发展至34个节点.20世纪70年代前半叶,ARPANET一个机构研制出了TCP/IP,1982年具体规范确定,1983年成为ARPANET唯一指定协议.乘着TCP/IP的发展之风,互联网应运而生. 标准化 先说明一下TCP/IP的含义.其实它是指利用IP进行通信是所用到的

基于YARN的Spark程序工作过程

一. YARN的理解 YARN是Hadoop 2.x版本的产物,它最基本的设计思想是将JobTracker的两个主要功能,即资源管理,作业调度和监控分解成为两个独立的进程.再详细介绍Spark程序工作过程前,先简单的介绍一下YARN,即Hadoop的操作系统,不仅支持MapReduce计算框架,而且还支持流式计算框架,迭代计算框架,MPI并行计算框架等,实现时采用了基于事件的驱动机制. YARN的架构图,如下所示: 1. ResourceManager ResourceManager类似JobT

《CPU的工作过程》

本文转载自inter官方网址:https://software.intel.com/zh-cn/articles/book-Processor-Architecture_CPU_work_process CPU的工作过程 CPU的基本工作是执行存储的指令序列,即程序.程序的执行过程实际上是不断地取出指令.分析指令.执行指令的过程. CPU从存放程序的主存储器里取出一条指令,译码并执行这条指令,保存执行结果,紧接着又去取指令,译码,执行指令--,如此周而复始,反复循环,使得计算机能够自动地工作.除

git概念及工作流程详解

git概念及工作流程详解 既然我们已经把gitlab安装完毕[当然这是非必要条件],我们就可以使用git来管理自己的项目了,前文也多多少少提及到git的基本命令,本文就先简单对比下SVN与git的区别及理解git几个重要概念. 至于什么是git,git的发展历史,网上已经有很多资料,可以自行google或百度. 关于git与svn的区别 这里不针对git与svn的区别详细深究,以便对双方的优缺点了解更多些. 1) 最核心的区别Git是分布式的,而Svn不是分布的. 能理解这点,上手会很容易,声明

从汇编看计算机的工作过程

本周学习了Linux内核分析第一课,老师通过讲解一个简单的c程序使我了解了计算机(特别是堆栈部分)工作过程. 下面通过一个简单的例子来分析一下: 下面是c程序: int g(int x) { return x + 6; } int f(int x) { return g(x); } int main(void) { return f(5) + 2; } 使用下面命令反汇编c程序得到汇编程序 gcc –S –o main.s main.c -m32 首先从main函数开始分析,可以发现每个函数中前

三层交换机的工作过程

三层交换机工作过程的简单概括,可以看出三层交换的特点: 由硬件结合实现数据的高速转发,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连. 由于各个厂家采用ASIC不同,直接影响产品性能. 以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较.路由技术 路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似. 但 路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同.工作原理是在路由器