OSPF总结

简介: 该文章为OSPFv2版本的一些总结,暂时没有OSPFv3

OSPF使用两个多播地址

224.0.0.5---All OSPF Routers.

224.0.0.6---All DR Routers(DR+BDR)

OSPF三张表

1.邻居表:列出每台路由器全部已经建立邻接关系的邻居路由器。

  1. OSPF的邻居关系通过交互Hello报文建立。

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

3.路由表:通过SPF算法计算出到达每个网络的最优路径。

OSPF四种网络类型:

P2P:点到点链路     不选举DR     hello报文发送时间10s

P2MP:点到多点链路     不选举DR         hello报文发送时间30s

MA:广播类型网络     选举DR          hello报文发送时间10s

NBMA:非广播-多路访问网络       选举DR     hello报文时间30s

hello报文死亡时间是发送时间的4倍

OSPF五种报文:

Hello报文:周期性发送,用于发现和维持OSPF邻居关系。

  1. 发现邻居

DD报文:交互链路状态数据库摘要,描述本地LSDB的摘要信息,用于两台路由器进行数据库同步。

  1. 互相问对方你有没有某信息,需不需要

LSR报文:链路状态信息请求报文,向对方请求所需要的LSA。

  1. 自身查看没有某信息,我需要某信息,我向对方请求发送某信息

LSU报文:链路状态信息更新报文,向对方发送其所需要的LSA或者泛洪自己更新的LSA。

  1. 我知道了你没有某信息,互相向对方发送对方所需要的某信息

LSAck报文:链路状态确认报文,用于对收到LSU中的LSA进行确认。

  1. 我收到了某信息,我确认一下

OSPF七种状态:

Down:没有收到Hello包。

Attempt:在帧中继网络中才会出现,表示的是网络是测试、唤醒状态。

Lnit:收到Hello包,但是收到Hello包中的邻居字段没有自己。

2-Way:收到Hello包的邻居列表中有自己,建立邻居关系。

Exstart:只发DD报文,不含摘要信息

Exchange:通过交换DD报文,交换LSA头部信息。

Loading:通过上述获得的LSA头部信息,来确定自己需要哪些LSA。

Full:LSDB同步完成,建立邻接关系。

建立邻居关系步骤

使用Hello报文发现和建立邻居关系

默认发送组播形式发送Hello报文(目的地址224.0.0.5)

OSPF中Hello报文中包含了路由器的Router ID、邻居列表等信息

当R1和R2建立邻居关系时,邻居状态为:

Down:初始状态,没有从邻居收到任何消息。

Init:从邻居收到了hello报文,但自己的router-id不在hello报文中。

2-way:从邻居收到了hello包,自己的router-id存在于hello报文中。邻居关系建立。

Hello报文的主要作用

  1. 邻居发现:自动发现邻居路由器
  2. 邻居建立:完成Hello报文中的参数协商,建立邻居关系

参数协商例如:掩码,DR,BDR,区域,特殊区域

  1. 邻居保持:通过周期性的发送和接收,检测邻居运行状态

建立邻接关系

Exstart:路由器向邻居发送DD报文,不包含摘要信息。router-id大的作为Master设备。

Exchange:发送包含摘要信息的报文。

Loading:相互向对方发送对方所需要的LSDB。

Full:完成LSDB同步。

DR与BDR的作用

先选BDR,后选DR。

DR/BDR的选举是非抢占式的

  1. 比如已经有了DR/BDR,后面又新增了一台路由器,优先级比现在DR/BDR要更优,为了网络稳定,新增路由器不会去抢占DR/BDR。

DR/BDR的选举是基于接口的(路由器的每个接口角色都不一样,有可能一台路由器的两个接口分别是DR或BDR)

  1. 接口的DR优先级越大越优先。默认为1.
  2. 接口的DR优先级相等时,Router ID越大越优先。

DR选举规则:

1、OSPF优先级最大,为DR(缺省情况下,所有OSPF路由器优先级都为1)。如果优先级都相同,则选择Router-ID最大的路由器选举为DR(Router-ID选举:手工配置>Loopback>接口IP)。

2、BDR是优先级仅次于DR的路由器,选举为BDR。

3、如果路由器优先级为0,表示改路由器不参与选举DR/BDR,称为DRother。

P2P,P2MP不选举DB/BDR

邻居建立不了的原因

hello dead间隔时间不一致

区域内网络类型要相同

链路两端区域号要一致

认证方式要相同

router-id要不同

mtu要相同

MA网络子网掩码要相同

MA网络中无DR

接口未设置silent-interface

OSPF几个需要注意的地方:

1)当hello时间不同时是永远起不来邻居的

2)当hello时间不同时会停留在INIT状态

3)如果路由的优先级都改成了0,会停留在TWO-WAY状态

4)当MTU值不同时会停留在EXSTART或EXCHANGE状态

LSA概念

LSA是OSPF进行路由计算的依据。

三元组标识唯一一条LSA:1.链路状态类型;2.链路状态ID号LinkState ID;3.通告路由器AdvRouter。

判断LSA新和旧:序列号,校验和,老化时间。

LSA新旧比较:1.序列号越大,LSA越新;2.序列号相同,校验和越大越新;3.校验和相同,老化时间大于15min以上,age越小越新。15分钟以内,两条LSA则相同。

OSPF LSA类型

类型

名称

描述

1

路由器LSA

(Router LSA)

每个设备都会产生,描述了设备的链路状态和开销,该LSA只能在接口所属的区域内泛洪

2

网络LSA

(Network LSA)

由DR产生,描述该DR所接入的MA网络中所有与之形成邻接关系的路由器,以及DR自己。该LSA只能在接口所属区域内泛洪

3

网络汇总LSA

(Network Summary LSA)

ABR产生,描述区域内某个网段的路由,该类LSA主要用于区域间路由的传递

4

ASBR汇总LSA

(ASBR Summary LSA)

由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域

5

AS外部LSA

(AS External LSA)

由ASBR产生,用于描述到达OSPF域外的路由

6

非完全末梢区域LSA

(NSSA LSA)

由ASBR产生,用于描述到达OSPF域外的路由。NSSA LSA与AS外部LSA功能类似,但是泛洪范围不同。NSSA LSA只能在始发的NSSA内泛洪,并且不能直接进入Area0.NSSA的ABR会将7类LSA转换成5类LSA注入到Area0

一类Router LSA(路由器LSA)

Link State IDOSPF的Router ID。

AdvRouer产生该LSA的路由器的Router ID。

每台路由器都会产生,只能在本区域传播。

包含路由器的直连接口的信息如:链路状态、cost值。

Link Type(只有一类LSA有):

1.P2P:本路由器到邻居路由器的点到点链接,传递的是拓扑信息; Link ID:邻居路由器的Rouer ID;Link Data:宣告该Rouer LSAD的路由器接口的IP地址。

2.TransNet:本路由器到TransNet网段(MA网络中才有),传递的是网段信息;Link ID:DR的接口IP地址;Link Data:宣告该Router LSA的路由器接口的IP地址。

3.StubNet:本路由器到Stub网段(如loopback)的路由信息(IP地址+掩码),传递的是路由信息; Link ID:宣告该Router LSA的路由器接口的IP地址;Link Data:该Stub网段的掩码。

4.Virtual:虚连接,传递的是拓扑信息。

二类Network LSA(网络LSA)

Link State IDDR接口的IP地址。

AdvRouterDR的Router ID。

由DR产生描述该DR所接入的MA网络中与它形成邻接关系路由器,以及DR自己只能在本区域传播。因为P2P和P2MP不选举DR,所以这两种网络类型没有二类LSA。

  1. 二类是辅助一类的。

三类Network Summary LSA(网络汇总LSA)

Link State ID路由的目的网络地址。

AdvRouter生成该LSA的Router ID。

由ABR产生,向一个区域通告到到达另一个区域的路由,在区域间传播。

  1. 正因为三类描述的信息是路由信息,而不是链路状态信息,所以OSPF区域间是类似于距离矢量的工作原理!所以OSPF规定所有非0区域必须直接和区域0相连(虚链路除外),为了区域间防止环路。

五类AS-External LSA(AS外部LSA)

Link State ID外部路由的目的网络地址。

AdvRouter生成该LSA的Router ID。

由ASBR产生到达AS外部的路由该LSA会被通告到所有区域除了Stub区域和NSSA区域。(一台路由器引入了外部路由,这台路由器就成了ASBR)

四类ASBR-Summary LSA()

Link State IDASBR的Router ID。

AdvRouter生成该LSA的Router ID。

由ABR产生描述到ASBR的路由通告给除了ASBR所在区域的其他相关区域。

  1. 四类是为五类服务的,有五类LSA才会有四类,五类可单独存在,四类不可以。

区域间路由计算

区域间路由信息是通过ABR产生的3类LSA实现的。

区域间划分两种路由器角色:

  1. IR区域内部路由器:所有接口都属于同一个区域。
  2. ABR区域边界路由器:所有接口分别连接两个或两个以上的区域,其中有一个区域要在骨干区域里。

区域间路由防环机制

  1. OSPF要求所有的非骨干区域必须与骨干区域直接相连(物理或逻辑相连)。
  2. 区域间的路由传递不能发生在两个非骨干区域之间。
  3. ABR不会将到达某个区域的3类LSA再返回给该区域。如R1发给R3三类LSA,R3不会再把该类LSA回发给R1。

OSPF选路规则:区域内的路由>区域间的路由>type 1外部路由>type 2外部路由

OSPF特殊区域

Stub和Totally Stub区域

NSSA和Totally NSSA区域

作用:减少LSA数量和路由表的规模。

image.png

N=0 E=1 普通区域

N=0 E=0 Stub区域

N=1 E=0 NSSA区域

Stub区域和Totally Stub区域的区别

Stub区域

该区域存在ABR,不存在ASBR。

Stub区域的ABR不向Stub区域传播接收的AS外部路由,同时为保证Stub区域能到达AS外部,Stub区域的ABR将生成一条缺省路由(使用3类LSA描述)。

Stub区域具有1类,2类,3类LSA,减少了4类,5类,7类LSA。当其他区域有引入的外部路由Stub区域的ABR会自动下发缺省的3类LSA用于该区域路由器访问其他区域的外部路由。

配置Stub区域需要注意:

  1. 骨干区域不能配置成Stub区域
  2. Stub区域中的所有路由器都必须将该区域配置成Stub
  3. Stub区域内不能引入也不接收AS外部路由
  4. 虚连接不能穿越Stub区域

Totally Stub区域

Totally Stub区域既不允许AS外部路由在本区域内传播,也不允许区域间路由在本区域传播。

Totally Stub区域内的路由器通过本区域ABR下发的缺省路由(使用3类LSA描述)到达其他区域,以及AS外部。

Totally Stub区域访问其他区域以及AS外部是通过默认路由实现的。

AS外部、其他OSPF区域的拓扑以及路由变化不会导致Totally Stub区域内的路由进行路由重计算,减少了设备性能浪费。

Totally Stub区域具有1类,2类,3类缺省LSA,减少了3类明细LSA,4类,5类,7类LSA。当其他区域有引入外部路由和其他区域的区域间路由Totally-stub区域的ABR会下发缺省的3类LSA用于该区域路由器访问其他区域的外部路由和区域间路由。

配置Totally Stub区域需要注意:

  1. 与Stub区域配置的区别在于,在ABR上需要追加no-summary关键字。

OSPF规定Stub区域是不能引入外部路由的,对于既需要引入外部路由,又要避免外部路由带来的资源消耗,Stub和Totally Stub区域就不能满足了。

NSSA区域和Totally NSSA区域的区别

NSSA区域

存在ASBR。

NSSA区域能够引入外部路由,同时又不会学习来自OSPF网络学习来自OSPF网络其他区域引入的外部路由。

NSSA区域具有1类,2类,3类,7类LSA,减少了4类,5类LSANSSA区域可以存在ASBR,即外部路由以7类LSA的形式引入,当7类LSA泛洪进骨干区域和其他非骨干区域时,要转换为5类LSA(实际上7类LSA就是5类LSA的变形,本质上都是外部路由信息)。当其他区域有引入的外部路由,NSSA区域的ABR会自动下发缺省的7类LSA用于该区域路由器访问其他区域的外部路由。

Totally NSSA区域

Totally NSSA具有1类,2类,3类缺省LSA,7类LSA,减少了3类明细LSA,4类,5类LSA。该区域也可以存在ASBR,和NSSA区域相同要由ABR执行7转5的操作。当其他区域有引入外部路由和其他区域的区域间路由,Totally-NSSA区域的ABR会下发缺省的3类LSA和缺省的7类LSA,用于该区域路由器访问其他区域的外部路由和区域间路由。

Totally NSSA区域与NSSA区域的配置区别在于,在ABR上需要追加no-summary关键字。、

区域类型

作用

是否下发默认路由

Stub

泛洪1类,2类,3类LSA,减少了4类,5类,7类LSA

下发三类LSA缺省路由

Totally Stub

泛洪1类,2类,3类LSA,减少了4类,5类,7类LSA

下发三类LSA缺省路由

NSSA

泛洪1类,2类,3类,7类LSA,减少了4类,5类LSA

下发七类LSA缺省路由

Totally NSSA

泛洪1类,2类,3类缺省LSA,7类LSA,减少了3类明细LSA,4类,5类LSA

下发三类和七类LSA缺省路由

OSPF区域间路由汇总和外部路由汇总

路由汇总的类型:

在ABR上执行路由汇总:对区域间的路由执行路由汇总

在ASBR上执行路由汇总:对引入的外部路由执行路由汇总

路由汇总又称为路由聚合,是将前缀相同的路由汇聚成一条路由,减小路由表规模。汇聚前的路由叫做明细路由,汇聚后的路由叫做聚合路由。

在ABR上执行路由汇总

执行路由汇总后,ABR只向区域0通告路由汇总。

配置:abr-summary 路由+聚合掩码

在ASBR上执行路由汇总

在ASBR配置路由汇总后,ASBR将对自己所引入的外部路由进行汇总。

NSSA区域的ASBR也可以对引入NSSA区域的外部路由进行汇总。

在NSSA区域中,ABR执行7类转5类LSA,此时它也是ASBR,也可以在ABR上配置路由汇总。

如果在ABR上配置路由汇总,有多个ABR时,选择Router ID大的汇总。

配置:asbr-summary 路由+聚合掩码

OSPF协议特性

Silent-Interface

通过Silent-Interface的配置,增强OSPF的组网适应能力,减少系统资源的消耗。

Silent-Interface有以下特性:

  1. Silent-Interface不会接收和发送OSPF报文
  2. Silent-Interface的直连路由仍可以发送出去

Silent-Interface一般适用于路由器连接PC或服务器的接口,因为PC不会学习hello报文,但缺省下,路由器仍然会发送hello报文,因此会造成路由器资源浪费,所以Silent-Interface一般设置于连接PC接口。

OSPF报文认证

OSPF支持报文认证功能,只有通过认证的OSPF报文才能被接收。

路由器有两种报文认证方式,当两种方式都存在时,优先使用接口认证方式。

区域方式认证:一个OSPF区域中所有的路由器在该区域下的认证模式和口令必须一致。

接口认证方式:相邻路由器直连接口下的认证模式和口令必须一致。

区域视图下,配置OSPF区域的认证模式:

在区域下:authentication-mode simple plain <模式:simple md5 keychain hmac-md5> <模式类型:plain cipher>

  1. plain 表示明文口令类型
  2. cipher 表示密文口令类型

接口视图下,配置认证方式:

在接口下:ospf authentication-mode ~~~

相关文章
|
6月前
|
网络协议 算法 Java
OSPF
OSPF
53 1
|
网络协议 安全 数据库
浅谈OSPF
浅谈OSPF
89 0
|
负载均衡 网络协议 算法
OSPF路由协议(一)
OSPF路由协议(一)
221 0
OSPF路由协议(一)
|
网络协议 数据库 网络虚拟化
OSPF路由协议(二)
OSPF路由协议(二)
147 0
OSPF路由协议(二)
|
网络协议 网络架构
OSPF 路由协议三
一OSPF的基本概念 1.OSPF区域 为了适应大型网络,OSPF在AS内划分多个区域 每个OSPF路由器只维护所在区域的完整链路状态信息 2.区域ID 区域ID可以表示一个十进制的数字 也可以表示成一个IP 3.骨干区域Area 0 负责区域间路由信息传播 4.非骨干区域 AREA号的区域统统为非骨干
167 0
OSPF 路由协议三
|
网络协议 数据库 网络架构
OSPF路由协议二
一.OSPF邻接关系的建立 在OSPF协议中邻居关系就是指在两台路由器中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。 在OSPF协议中邻居关系就是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻居关系。
117 0
|
网络协议 算法 安全
OSPF路由协议一
一 OSPF路由协议 OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。适用于IPv4的OSPFv2协议定义于RFC 2328 ,RFC 5340 定义了适用于IPv6的OSPFv3。 二 OSPF路由概述 OSPF(下称"协议"或"本协议")仅在单一自治系统内部路由网际协议(IP)数据包,因此被分类为内部网关协议。该协议从所有可用的路由器中搜集链路状态(Link-state)信息从而构建该网络的拓扑图,由此决定提交给网际层(Internet Layer)的路由表,最终路由器依据在网际协议数据包
158 0
|
网络协议 数据库 网络架构
OSPF路由协议
1、OSPF的基本概念 2、OSPF邻接关系的建立 3、OSPF的应用环境 4、O应用环SPF的基本配置命令
OSPF路由协议
|
存储 负载均衡 网络协议
OSPF详解(二)
十六、OSPF区域1、 区域0:汇总每个区域的网络拓扑到其他区域。所有的域间通信量必须通过骨干区域,非骨干区域不能直接交换数据包。2、 路由器类型:IR、BR、ABR、ASBR3、 IR:所有接口都属于同一区域的路由器。4、 BR:至少有一个接口是与骨干area0相连的路由器。Area0不一定是骨干区域,但骨干区域–定是area0,要成为骨干必须有一个邻接关系在里面5、 ABR:连接其他区域到骨干区域,至少一个接口属于骨干区域。6、 ASBR: OSPF域外部的通信量进入0SPF域的网络路由器。7、 0SPF的虚链路:一条通过非骨干区域连接到骨干区域的链路。通过非骨干区域修复分段efreshT
|
人工智能 网络协议 算法
OSPF详解(一)
一、OSPF的五种包Hellow:发现邻居建立邻接关系DBD:检查路由器的数据库之间是否同步LSR:向另外一台设备请求特定的链路状态LSU:发送链路状态信息LSACK:确认多段的发送信息二、OSPF的三张表1、 邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器2、 链路状态数据库:列出网络中其他路由器的信息,由此显示了全网的网络拓扑3、 路由表:列出通过SPF算法计算出到达每个相连网络的最佳路径三、OSPF的特点1、 区域概念,有效减少路由条目对CPU和内存占用,将拓扑变动局限在本区域内,详细的LSA泛洪控制2、 邻接关系。OSPF协议定义了一些路由器类型和网络全相同时,就以自身为根,