OSPF动态路由协议(理论篇)理论知识精讲

简介:

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。

主要知识点:

四种路由类型:DR、BDR、ABR、ASBR

五大区域:骨干区域、标准区域、末梢区域、完全末梢区域、非存末梢区域
五大数据包类型:hello、DBD、LSR、LSU(LSA)、LSAck
六种LSA:LSA1、LSA2、LSA3、LSA4、LSA5、LSA7
七种状态:Down状态、Init状态、2-Way状态、ExStart状态、Exchange状态、Loading状态、Full状态

内部网关协议和外部网关协议:

在了解OSPF原理之前我们先需要知道一些相关的概念:
(1)自治系统(AS)
(2)内部网关协议(IGP),如:RIP、OSPF、ISIS协议等。
(3)外部网关协议(EGP),如:BGP协议。

OSPF工作过程:

首先路由器会互相建立邻接关系,建立邻接关系后会互相学习链路状态信息,在学习链路状态信息后会生成链路状态数据库,然后会通过Dijkstra算法计算出最短路径树,将所有最短路径整合成路由表。

OSPF中的四种路由:

DR(Designated Router):指定路由器,OSPF协议启动后开始选举而来 。是为了解决LSA在一个Area里浪费很大的带宽而设计的,当一个路由器端口发生了更改或损坏,此时这个路由器会直接告知DR,而DR会来告知区域内所有路由。

BDR(Back-up Designated Router):备份指定路由器,同样是由OSPF启动后选举而来。它的作用就是在DR无法正常工作时代替DR的工作。

ABR(Area Border Routers):区域边界路由器,连接不同OSPF区域。ABR为每一个所连接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负责将这些信息发送到各个区域。

ASBR(Autonomous System Boundary Router):自治系统边界路由器,位于OSPF和非OSPF网络之间。 在两个AS之间一个路由器,主要用来传送两个自治系统间的路由的。

上面是简单的示意图,可以看到ABR是不同区域间(Area)的边界路由器,ASBR是不同自治系统(AS)间的边界路由器。而DR和BDR是每个网段间的路由器,我只标了Area 1区域网段的DR和BDR,其实每个网段都有根据具体情况选出自己的DR和BDR。注意:一个路由器可以同时担任多个角色,可以同时是DR、ABR、ASBR。

DR与BDR的选举方法:

在讲选举方法前我们需要,先了解一下Router ID。Router ID是OSPF区域内唯一标识路由器的IP地址。Router ID一般选取路由器loopback接口上数值最高的IP地址;如果没有loopback接口,就在物理接口中选取IP地址最高的;或者我们也可以使用router-id命令直接指定Router ID。
(1)自动选举
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR。Router ID就是IP地址,一般IP地址的格式是aa.bb.cc.dd,我们比较大小的话一般是从aa比起,如果不一样大,直接选择大的;如果一样大,那么就继续比较bb、cc、dd直到比较出大小,选择大的。

(2)手工选择
我们可以通过设置路由器优先级,来设置DR、BDR。优先级范围是0~255,数值越大优先级越高,一般默认为1。如果优先级相同,则任需要比较Router ID。如果路由器的优先级被设置为0,它将不参与DR和BDR的选举。

注意:一般网段间的DR和BDR选举完毕后,如果网段内再添加新的路由器Router ID比原有的DR和BDR更大,它也不会替代原有的DR和BDR。而OSPF系统启动后,若40s内没有新设备接入就会开始选举。所以一般在现实环境中,第一个配置的路由器就会自动选举为DR,第二个为BDR。

(3)OSPF的组播地址
224.0.0.5
224.0.0.6

(4)OSPF的度量值COST

COST=10的8次方/BW(带宽)

(5)OSPF数据包
承载在IP数据包内,使用协议号为89

OSPF区域:

为了适应大型的网络,OSPF在AS内划分多个区域。每个OSPF路由器只维护所在区域的完整链路状态信息。每个区域都有一个区域ID,可以表示成一个十进制数字,也可以表示成一个IP。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。

骨干区域(Area0):骨干区域必须连接所有的非骨干区域,而且骨干区域不可分割,有且只有一个,一般情况下,骨干区域内没有终端用户。 其它区域都为非骨干区域,非骨干区域分为以下四类。
标准区域:非骨干区域一般根据实际情况而划分,必须连接到骨干区域(不规则区域也需通过tunnel或virtual-link连接到骨干区域)。一般情况下,费骨干区域主要连接终端用户和资源。
末梢区域(stub Area):存末梢区域是不接受自治系统以外的路由信息的区域。如果需要自治系统以外的路由,它使用默认路由0.0.0.0。
完全末梢区域(Totally stubby Area):它不接受外部自治系统的路由以及自治系统内其他区域的路由总结。需要发送到区域外的报文则使用默认路由:0.0.0.0。完全末梢区域是思科自己定义的。
非存末梢区域(NSAA): 它类似于存末梢区域,但是允许接收以LSA Type 7发送的外部路由信息,并且要把LSA Type 7转换成LSA Type 5。

OSPF的数据包类型:

(1)Hello包:10秒发送一次,死亡时间40s,固定是4倍关系,也可以修改。用于发现和维持邻居关系,选举DR和BDR。
(2)数据库描述包(DBD:Database Description ):仅仅是一个对本地数据库的概念性叙述,供路由器核对数据库是否同步。
(3)链路状态请求包(LSR:Link-State Request ):请求链路状态,在数据库同步过程中使用,路由器在收到包含新信息的DBD后发送,用于请求更详细的信息。
(4)链路状态更新包(LSU:Link-State Update ):链路状态更新,LSU包括几种类型的LSA,LSU负责泛洪LSA,和相应LSR。LSA只会发送给之前以LSR请求的LSA的直连邻居,进行泛洪的时候,邻居路由负责把收到的LSA信息重新封装在新的LSU中。
(5)链路状态确认包(LSACK):链路状态确认,路由器必须对每个收到的LSA进行LSACK确认,但可以用一个LSACK确认多个LSA。

OSPF的状态:

(1)Down 状态
(2)Init 状态:发送了Hello包
(3)Two-way 状态:收到对方回复的Hello包且Hello包中包括自己的router-id
(4)Exstart 状态:First DBD确认主从关系,router-id大的为主,先发包
(5)Exchange 状态:交互DBD 相互学习
(6)Loading 状态:LSR与LSU的交互过程
(7)Full 状态:交互完成

OSPF启动的第一阶段是使用Hello报文建立双向通信的过程:

OSPF启动的第二个阶段是建立完全邻接关系:

注意:在Two-Way状态下会选出两个Router ID最大的路由器,但不会确定DR和BDR。DR和BDR是在ExStart状态下确定的。

OSPF将网络划分为四种类型:

(1)点到点网络(Point-to-Point)
(2)广播多路访问网络(Broadcast MultiAccess,BMA)
(3)非广播多路访问网络(None Broadcast MultiAccess,NBMA)
(4)点到多点网络(Point-to-Multipoint)

OSPF的六种LSA:

LSA Type 1:LSA 1是由区域内的路由器发出的LSA,类型为路由器LSA(router LSA)。描述本区域路由器链路到该区域的状态和代价(cost)。一个边界路由器可能产生多个LSA 1。

LSA Type 2:由区域内DR发出,类型为网络LSA(network LSA)。含有连接某个区域路由器的所有链路状态和代价信息。只有DR可以监测该信息。

LSA Type 3:由ABR发出,类型为网络汇总LSA(summary LSA)。含有ABR与本地内部路由器连接信息,可以描述本区域到主干区域的链路信息。它通常汇总缺省路由而不是传送汇总的OSPF信息给其他网络。

LSA Type 4:由ABR发出,类型为ASBR汇总LSA(Summary LSA)。由主干区域发送到其他ABR, 含有ASBR的链路信息,与LSA 3的区别在于LSA 4描述到OSPF网络的外部路由,而LSA 3则描述区域内路由。

LSA Type 5:由ASBR发出,类型为AS外部LSA(AS External LSA。)含有关于自治域外的链路信息。除了末梢区域和完全末梢区域,LSA Type 5在整个网络中发送。

LSA Type 7:由NSSA区域内的ASBR发出,类型为NSSA外部LSA(Not-So-Stubby LSA)。含有关于NSSA区域连接的外部路由信息。LSA 7可以转换为LSA 5。

OSPF的三种通信量:

域内通信量(Intra-Area Traffic)

单个区域内的路由器之间交换数据包构成的通信量。

域间通信量(Intra-Area Traffic)

不同区域的路由器之间交换数据包构成的通信量。

外部通信量(External Traffic)

OSPF域内的路由器与OSPF区域外或另一个自治系统内的路由器之间交换数据包构成的通信量。

OSPF常用检查命令:

show ip route                                                     //查看路由表信息(直连/学习)

show ip route ospf                                            //只查看OSPF学习到的路由

show ip protocol                                              //查看OSPF协议配置信息

show ip ospf                                                     //查看OSPF是如何配置的以及ABR的信息

show ip ospf database                                   //查看LSDB内的所有LSA数据信息

show ip ospf interface                                    //查看接口上OSPF配置的信息

show ip ospf neighbor                                   //查看OSPF邻居和邻接的状态

show ip ospf neighbor detail                       //查看OSPF邻居的详细信息(包括DR/BDR)

show ip ospf adj                                            //查看路由器“邻接”的整个过程

show ip ospf packet                                     //查看每个OSPF数据包的信息

clear ip route                                                //清空路由表

(具体的实验演示,我会写在下一篇博客)

原文地址:https://blog.51cto.com/14449541/2439807

时间: 2024-11-02 04:17:19

OSPF动态路由协议(理论篇)理论知识精讲的相关文章

OSPF动态路由协议——理论基础

OSPF的协议 概述 OSPF路由协议概述: 开放式最短路径优先(Open Shortest Path First,OSPF)是目前广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快.无路由环路.支持变长子网掩码(VLSM)和汇总.层次区域划分等优点.在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算.更正路由,极大地方便了网络管理. 四种路由类型: DR BDR ABR ASBR 五大区域

OSPF动态路由协议——理论巩固篇

OSPF的协议 概述自治系统(AS)内部网关协议(IGP)(包括RIP,OSPF,ISIS)外部网关协议(EGP)(包括BGP)阿里巴巴,俗称飞天平台 OSPF是链路状态路由协议OSPF(最短路径优先选择协议)工作过程最短路径:路径成本低,带宽越高.一直在学习链路状态信息 OSPF区域OSPF区域(Area 0为骨干区域,有且只有一个,其它区域都是非骨干区域)为了适应大型的网络,OSPF在AS内划分多个区域每个OSPF路由器只维护所在区域的完整链路状态信息 区域ID区域ID可以表示成一个十进制的

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

OSPF路由协议概述 内部网关协议和外部网关协议: 1. 自治系统(AS) 2. 内部网关协议(IGP) 3. 外部网关协议(EGP)BGP协议 路由器较多管理: 每个内部网关的协议包含(RIP.OSPF.ISIS),但是只能对内通讯 OSPF是链路状态路由协议 四个路由器串联的数据可以互通 OSPF最短路径优先选择协议(路径成本.带宽越高路径成本越低) 工作过程: 1.邻居列表 2.链路状态数据库DBD 3.路由表 OSPF区域: 1.为了适应大型的网络,OSPF在AS内划分多个区域 2.每个

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

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

OSPF动态路由协议之——虚链路

虚链路的含义 指一条通过一个非骨干区域连接到骨干区域的链路(OSPF协议中只有连接到骨干区域,才能获取到路由信息) 虚链路的目的 通过一个非骨干区域连接一个区域到骨干区域: 通过一个非骨干区域连接一个分段的骨干区域. 虚链路的配置命令 Router(config-router)#area area-id vritual-link router-id //"area-id"为需要跨越的区域ID:"router-id"为其邻居的路由ID 建立实验拓扑图及前期准备 实验拓

oracle数据库免费基础知识精讲视频分享!

课程简介:数据库基础知识.Oracle的环境搭建.Oracle体系结构.SQL语言基础.函数的使用.约束.索引.数据字典.分组查询.多表连接查询.子查询等.通过对Oracle数据库的系统详解,培养学 生的能力如下:在实际工作中,熟练使用SQL语句进行项目开发:能够使用复杂的SQL语句进行多表关联查询:具备数据库数据的管理和维护能力 . 课程目录: day01_安装数据库软件day02_数据库的基本使用selecl语句的使用day03_限制数据返回day04_字符函数.数字函数.日期函数day05

Centos 7防火墙基础——理论篇

Centos 7防火墙基础--理论篇 理论结构: Firewalld概述 Firewalld和iptables的关系 Firewalld网络区域 Firewalld防火墙的配置方法 Firewalld概述 支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具 支持IPV4.IPV6防火墙设置以及以太网桥 支持服务或应用程序直接添加防火墙规则接口 拥有两种不同的配置模式 运行时配置 永久配置 Firewalld和iptables的关系 netfilter ? 位于Linux内核的过滤的

RIP动态路由协议配置实验(现网常用协议,不懂你就out了)

动态路由 动态路由与静态路由是一个相对的概念,与静态路由的最大的区别就是动态路由不需要手工添加路由,路由之间能够自己互相学习,并且能够根据链路和节点的变化适时地进行自动调整. 动态路由原理: 1.路由器之间适时的交换路由信息(通常为每隔30s进行一次交换)2.路由器根据某种路由算法(不同的动态路由协议算法不同)把收集到的路由信息加工成路由表,供路由器在转发IP报文时查阅. 目前现网上常见的动态路由协议: 1.RIP协议(本篇所演示的协议)RIP协议是最先得到广泛使用的协议,该协议是一种基于跳数大

动态路由协议之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.内部网关协