首页 > 技术文章 > 华为学习指南-OSPF

weizefeng 2021-01-22 10:40 原文

OSPF

  基本概念

    OSPF是一种链路状态路由协议,是一种IGP(内部网关协议),有两个版本,OSPFv2主要针对ipv4,OSPFv3则是ipv6中。

              OSPF先建立邻居关系,开始交互链路状态信息(存储在LSDB)每台路由器都基于LSDB使用算法进行计算,最后,路由器将计算出来的最优路径(路由)加载到OSPF路由表中。

  学习目标

    1.理解Router-ID的概念        5.理解OSPF网络类型的概念及意义

    2.学会怎么查OSPF的“三张表”     6.理解DR、BDR的概念及意义

    3.理解OSPF路由Cost的概念及作用    7.理解区域的概念、区域划分的意义

    4.熟悉五种报文及功能         8.熟悉各种OSPF角色

一、Router-ID

  (路由器标识)是一个32位的数值,类似IP地址。用于唯一标识一台OSPF路由器,Router-ID必须全网唯一。可以手工设定,如没有手工则会自动选择设备上的一个IP地址作为Router-ID。一个常见的做法是用路由器的lookback接口作文Router-ID。

   ospf 1 router-id 1.1.1.1           如需要变更,则需要重启OSPF进程      reset ospf process

二、OSPF的三张表

  邻居表://dis ospf beer

  接口激活OSPF后,接口需要周期性发送(同时也侦听)hello报文来发现直连链路上的邻居,发现后就会被写入OSPF邻居表。通过邻居表可以查看和邻居的主/从关系、Router-ID、DR优先级、接口IP地址等信息。

  链路状态数据库(LSDB)//dis ospf lsdb

  LSDB是路由器对网络的完整认知,运行OSPF的路由器在网络中泛洪LSA(链路状态通告),OSPF定义了多种LSA且都有各自的用途。其目的是为了让知晓网络的拓扑结构及网段信息并计算出最短路径树,从而发现各个网段的路由。

  路由表 //dis ospf routing

  通告LSDB计算得出最佳路由并放入到OSPF路由表中。

三、度量值(Cost)

  cost值越小,则路由越优。接口一旦激活ospf会拥有一个cost值。也可以通过调节接口Cost来影响ospf路由计算。

四、报文类型及格式

  OSPF协议基于IP运行,协议的数据报文采用IP封装。在IP报文头部中协议号为89。以下两个组播地址被保留专用于OSPF:

       224.0.0.5:指向所有的OSPF路由器          224.0.0.6:指向所有的OSPF DR路由器

                                  

                          图表 1 OSPF报文类型

Ospf建立过程:路由器接口一旦激活OSPF,开始发送hello报文和邻居建立关系。这个过程中,DD用于发送LSA头部,通告DD交互,了解对方所拥有的LSALSR用于向对方请求完整LSA

LSU承载完整LSA,用于回应LSR或主动更新LSALsAck保证OSPF更新机制可靠性。Hell报文维护邻居关系每个报文都含有OSPF报文头部(p93 自行观看)

                         表格 1 OSPF报文头部

版本

类型

报文长度

路由器ID

区域ID

校验和

验证类型

认证数据

认证数据

 

五、邻接关系

  区别:邻居关系指两台路由器接口激活ospf后通过hello报文来形成的状态。邻接关系则是邻居之后交互各种DD、lsr、lsa、lsu、lsack后,两者完成LSDB同步后并计算路由的状态。

(1)        OSPF邻居状态

  l  Down:ospf接口还没收到hello报文。

  l  Init:收到邻居发来的hello报文,但报文里没有看到自己的Router-id。两者没确认双向通讯。

  l  Attempt:该状态只在NBMA(非广多路)类型接口出现。在NBMA中,通常用手工方式指定邻居,ospf会发送单播的hello报文与直连设备建立邻居。该状态下也是没有在对方的hello报文中看到自己的Ruter-id,切换至Init。

  l  2-way:收到并发现hello报文里有自己的Router-id时,置为该状态。表明了与邻居确认了双向通信,可视为2-way是稳定状态,邻居状态形成。

  l  ExStart:发送空的DD报文协商主从关系,Rotuer-id最大的为主。在这个空DD里I比特位置1。(报文类型讲)

  l  Loading:发送LSR请求完整LSA数据。对方会回应LSU。收到LSU报文后,路由器需要发送LSAck对其完整LSA进行确认。

  l  Full:当接口没有了要请求的LSA后(LSA列表为空),表明已经完成了LSDB的同步,此时置FULL。

(2)邻接关系建立过程(详细) (p98 自行观看)

 六、网络类型

OSPF会根据接口的封装协议来判断接口运行在什么类型的网络上。

(1) 点对点(P2P)

例:PPP链路,设备接口采用PPP封装协议(S口)。当激活OSPF后,OSPF会将其网络类型设置为P2P(采用HDLC封装也是)。OSPF中,网络类型为P2P的接口以组播的方式(224.0.0.5)发送协议报文。不进行选举DR、BDR。以10s间隔周期发送hello报文。

(2)广播多路访问(BMA)

例:以太网中,多台路由器连接到同一台以太网二层交换机上时,这些路由器接口一旦激活ospf则开始发送组播hello报文来发现网络中的其他路由器。如果和其他路由器都形成full状态,那不得不维护大量的邻接关系,为避免这个问题,OSPF会进行DR和BDR选举

注意:OSPF在BMA中,通常以组播224.0.0.5/6)发送Hello、LSU、LSAck报文,以单播发送DD、LSR。当路由器向DR/BDR发送OSPF报文时,用224.0.0.6作为目的IP地址。当需要向所有的OSPF路由器发送报文时,用224.0.0.5。缺省情况下Broadcast类型接口以10s间隔周期发送hello报文

(3) 非广播多路访问(NBMA)

相比(2)中的网络,该网络不具备广播能力。所有以组播发送Hello报文会出现问题。需要进一步配置,例如以单播发送。NBMA的典型例子是帧中继,另一个是X.25。在该网络类型中,也会进行DR及BDR选举。缺省情况NBMA类型接口以30s间隔周期发送hello

(4) 点对多点(P2MP)

不同于其他三种会自动识别设置接口类型,该类型必须通过手工指定。P2MP类似于将多条P2P链路的一段进行捆绑。在P2MP中,无需选举DR、BDR。以组播发送hello报文,单播发送其他报文。缺省情况下,30s间隔周期发送Hello报文。

不同类型的接口也能建立OSPF,但会在路由计算上出现问题,因为LSA的描述不一致导致。所以建议邻居接口类型必须一致。

  [R2] ospf network  { p2p | p2mp | broadcast | nbma }

七、DR、BDR

 在上一小节的第(2)点说到,如果BMA中一台路由器跟其他所有路由器都建立邻接关系,那么会消耗设备资源。因此OSPF会在每个MA网络中选举DR、BDR。

  • DRother和DR、BDR建立邻接关系。而所有Drother停留在2-way状态。这样维护的邻接关系数量就达到了优化。
  • DR负责侦听网络中拓扑变更信息并通告给其他路由器,还确保接入该网络的所有OSPF路由器LSDB同步(下面有讲到)。为网络生成Type2 LSA(后面会讲),该LSA里显示出连接在此MA网络中所有的Router-id(包含自己)。BDR则监控DR状态,以便发生故障时替代它工作。
  • DR、BDR通过hello报文来实现,优先级越大则为DR。选举过程在2-way之后。路由器将接口的DR优先级填在hello里的“DR优先级”字段中,缺省为1。可通过ospf dr-priority修改。取值0~255DR优先级为0不具备选举资格DR不具备抢占性。如有DR则接受,没有则最高DR优先级的路由器成为DR,DR优先级相等,则最大Router-id路由器成为DR。BDR也类似。
  • DR、BDR是接口级别概念,“某台路由器的某个接口在MA网络中是DR”这样说才严谨。
  • DR确保接入该网络的所有OSPF路由器LSDB同步,用组播224.0.0.5向网络中发送LSU报文,所有的路由器都会收到,并与DR同步自己的LSDB。Drother感知拓扑发生变化时,用224.0.0.6发送LSU报文通告这个变化,DR、BDR会侦听这个组播地址。

<R1>dis ospf int g0/0/0   //查看ospf接口信息

八、区域与多区域部署

  Area区域的概念限制了LSA的泛洪。同区域内维护同一套LSDB并独立进行计算。接入多个区域的路由器要维护多套LSDB。(ABR)

       OSPF要求所有Area 都要接入Area 0,Area0负责区域间发布路由信息(中转站)。不允许非骨干区域之间相互发布(避免环路)。ABR都连着一个Area0,Area0包含所有ABR。


虚链路

图中的Area2没有连接到Area0,无法通过骨干转发路由,所以Area2成为“孤岛”。通过搭建一条虚链路(Virtual link),

可以将原本没有与骨干直连的区域进行连接。注意,虚链路只是临时解决方案,不作为常规技术在实际项目中部署。

九、OSPF角色

       IR:内部路由器。直连接口都在区域内

       ABR:区域边界路由器。接入多给区域

       BR:骨干路由器。接入Area0/在Area0里

       ASBR:AS边界路由器。重分发的边界路由器

十、LSA及特殊区域

类别

名称

描述

1

路由器LSA

(Rouer LSA)

由区域内所有路由器产生的LSA,并且在接口所属区域内泛洪。LSA描述了该路由器直接接口的状态和Cost值,当多个接口属于不同区域时,它将为每个区域单独产生一个该LSA,并只描述接入该区域的接口。

2

网络LSA

(Network LSA)

由DR产生,描述该DR所接入的MA网络中与之形成邻接关系的路由和DR路由器本身的Router ID。

3

网络汇总LSA

(Network Summary LSA)

由ABR产生,描述了到达某个区域的目标网段路由。主要用于区域间路由传递。

4

ASBR汇总LSA

(ASBR Summary LSA)

由ABR产生,用于描述ASBR,确定其位置。该LSA相当于一条到达ASBR的“主机路由”。

5

AS外部LSA

(AS External LSA)

由ASBR产生,描述本AS之外的外部路由

7

非完全末梢区域LSA

(NSSA LSA)

由ASBR产生,描述本AS之外的外部路由。仅仅在产生这个LSA的NSSA区域内泛洪,不传到骨干区域(NSSA会将7类LSA转换成5类LSA再注入骨干区域)。

                                                                                         (表中还有一种type-6 LSA,该类称为组成员LSA,超出HCNP理论范围)

十一、LSA头部

OSPF定义了多种类型,但这些LSA拥有相同的头部。(20byte)

 

链路状态老化时间:LSA的老化时间,LSA被路由器产生时,该值置0,之后随着泛洪,老化时间不断累加,当老化时间增加到MaxAge时(3600s),LSA不再被用于计算。

可选项:共8bit,每个比特位对应OSPF的某些特性。

链路状态类型:LSA的类型,Type1-7 LSA

链路状态ID:LSA标识,不同的LSA类型,对该字段的定义不同。

通告路由器:产生该LSA的路由器的Router-ID。

链路状态序列号:LSA的序列号,用于判断LSA新旧或重复

链路状态校验和:校验和(3.3.4报文认证)

长度:LSA总长度。

十二、LSA详解


 Type1-LSA

灰色部分为LSA头部。其中链路状态类型=1,链路状态ID=产该LSA的Router-ID。

V位:置1则表示路由器为虚链路端点

E位:置1则表示该路由器为ASBR

(在Stub区域不允许出现ASBR)

B位:置1则该路由器为两区域的边界路由(ABR),即使它不连接Area0

链路数量:指Type1-LSA中包含的Link数量,可有一个或多个。

链路类型:Link的类型值,该值跟网络类型有关。链路ID:不同链路类型不同

链路数据:不同链路类型不同       度量值:Cost值

(补充:1、在点对点的情况下,产生的Type1-LSA会有两个Link,一个描述拓扑2,一个描述网段信息3。

               2、关于Loopback接口,则链路类型为3,链路ID为接口IP地址,链路数据为全F(/32),缺省度量值为0。

                    也就是说无论分配什么掩码,在其他设备路由表中始终为一个/32的主机路由。要想恢复成真实掩码,可将接口修改为Broadcast/NBMA类型)

                 要求:要能说出该路由器产生几条Type1-LSA并能描述出该LSA里每条Link的内容。


Type2-LSA

DR产生,仅存在于MA网络中。灰色部分为LSA头部。其中链路状态类型=2,链路状态ID=产该LSA的DR接口IP地址。

网络掩码:该MA网络的网络掩码

相连的路由器:连接到该DR并建立了邻接关系的Router-id,以及DR自己的Router-ID。多台则多个字段描述。

得益于Type1和Type2 LSA在区域内泛洪,OSPF才能够描绘出一个区域内的完整拓扑(详细到设备每个接口的信息和Cost)。

并发现各个网段的信息(网络地址及网络掩码),区域内的LSDB完全一致才能准确计算出到达区域内各个网段的路由。

图中,Area0里的Type2-LSA(网段信息)不会传到Area1。要实现区域间路由的传递,就必须借助Type3-LSA。


Type3-LSA

由ABR产生,解决区域路由传递问题。必须经Area0中转。灰色部分为LSA头部。其中链路状态类型=3,链路状态ID=区域间路由的目的网络地址。

网络掩码:区域间路由的目的网络掩码

度量值:路由的Cost

 

R3把192.168.34.0网段通告了Area0,其中Cost值是S1/0/0的Cost,因为该接口连着这个网段。R1、R2收到后则是49.

<R3>dis ospf lsdb summary   //查看LSDB中的Type3-LSA


Type4-LSA

由ABR产生,实际上是一条到达ASBR的主机路由。Type4-LSA的格式和Type3-LSA是一样的。

在Type4-LSA中,“链路状态ID”=ASBR的Roter-ID,“网络掩码”=全0,“度量值“=该ABR自己到达ASBR的COST值。作用是让其他区域的路由器知道ASBR的位置。

R4把10.0.0.0引入OSPF,产生Type5-LSA描述这条路由。

R4产生的Type1-LSA中把E位置1,让R3知道这是ASBR。R3收到后,产生Type4-LSA给Area0,让R1和R2也知道ASBR的位置。

<R1>display ospf lsdb absr  //查看LSDB中的Type4-LSA

<R1>display ospf abr-asbr   //查看路由器发现的ABR及ASBR


Type5-LSA

Type5-LSA用于描述ASBR引入的外部路由。产生后会在域内泛洪(除特殊区域)

灰色部分为LSA头部。其中链路状态类型=5,链路状态ID=外部路由的目的网络地址

网络掩码:外部路由的网络掩码。      

E位:表示外部路由的度量值类型。0=Metric-Type-1  ;1= Metric-Type-2

度量值:外部路由的Cost

转发地址:当FA为0.0.0.0时,则发往外部网段的流量会发往这个ASBR。FA不为0.0.0.0,则会发往这个转发地址。(3.3.5转发地址)

外部路由标记:缺省值为1。外部路由的标记。用于部署路由策略,对引入的路由进行标记并区分开。

<R1>display ospf lsdb ase            //查看网络中泛洪Type5-LSA

 

如图,当一条外部路由引入OSPF时,ASBR会设置该路由得外部Cost值和度量值类型。

一台路由器收到Type5-LSA后,需要先检查引入该外部路由的ASBR是否可达,如果该ASBR可达,才会用该Type5-LSA进行外部路由计算。

不同的外部路由器度量值类型,Cost算法不同。假设一条Type5-LSA的外部Cost为B,而路由器X到达产生这条Type5-LSA的ASBR的路径Cost为A。

则当Type5-LSA的度量值类型为Metric-Type-1时,X计算出的这条外部路由的Cost=A+B,但如果为Metric-Type-2,则路由的Cost=B。


Type7-LSA

非完全末梢区域外部LSA(NSSA External LSA)。特殊的LSA。用于描述OSPF外部路由,并且与Type5-LSA格式一致。

但泛洪的范围只能够在NSSA area内泛洪,并且不能进入Area0,也就是禁止来自Area0的Type5-LSA进入NSSA。

为了让NSSA能访问过滤掉的Type5-LSA描述的外部路由,NSSA的ABR会向NSSA区域内发布一条默认路由(用Type7-LSA)。

NSSA允许区域内路由器引入少量路由,但要用Type7-LSA描述。且只能够在NSSA内泛洪。

NSSA的ABR负责将NSSA内泛洪的Type7-LSA转换成Type5-LSA,使得这些外部路由能在OSPF域内传播。

 <R1>display ospf lsdb nssa     //查看NSSA内泛洪的Type7-LSA

R4将外部路由引入OSPF,ASBR将会为Area1这个NSSA产生一个描述该路由的Type7-LSA。图中R3还向NSSA内发布了一条默认路由(Type7-LSA)

R3则负责将这条Type7-LSA转换成Type5-LSA并注入Area0。

十三、区域类型与详解

(1) 骨干区域

骨干区域是Area0,所有区域间路由必须通过Area0中转。

(2)常规区域

所有的OSPF区域,都是常规区域。禁止Type7-LSA出现在常规区域。

(3) 末梢区域(Stub Area

-      区域内的路由器不需要根据特定的外部路由来选择离开区域的出口时,可配为Stub。

-      Stub的ABR禁止Type5-LSA进入(Type4也没必要了)。同时会自动下发一条使用Type3-LSA描述的默认路由,使得Stub区域内的路由器能到达城外。

-      连接到Stub的路由器要进行相应的配置,将区域视为Stub。否则OSPF邻接关系建立会出现问题。

-      完全末梢区域(Totally Stub Area):Stub中只有Type1 2-LSA以及描述默认路由的Type3-LSA存在,区域内路由器的路由表只有到达区域内部的路由和指向ABR的默认路由。

(4) 非完全末梢区域(NSSA

  允许该区域的路由器将少量外部路由引入OSPF。以Type7-LSA描述。只能在当前NSSA内泛洪。为了让引入NSSA的这些外部路由能让OSPF域内的其他区域学到,NSSA的ABR会将Type7-LSA转换成Type5-LSA然后注入Area0。泛洪整个OSPF域

  Totally NSSA:NSSA的ABR上过滤掉Type3-LSA,只发布一条默认路由(Type3-LSA)用于访问OSPF域内及域外的网络。

十四、判断LSA的新旧

-      OSPF以1800s为周期对LSA进行泛洪,调长泛洪周期可避免OSPF流量过大。

-      判断LSA新旧的步骤

  1. “链路状态序列号”越大的LSA被认为更新
  2. 满足上面条件时,“校验和”越大的LSA被认为更新
  3. 满足上面条件时,老化时间被设置MaxAge(缺省3600s)被认为更新
  4. 满足上一条件时,两实例的老化时间相差超MaxAgeDiff(缺省900s)时为两个不同实例,且老化时间越小的LSA被认为越新

    MaxAgeDiff:指LSA从始发设备到泛洪整个OSPF域所要的最长时间。

    上面4个条件都满足则两个LSA完全相同。新的LSA会覆盖旧的LSA。

 

OSPF协议特征

我们能够:

l  掌握OSPF路由汇总的方法及其部署场景

l  理解虚链路的概念及其部署要点

l  理解Silent-Interface的概念及其部署场景

l  掌握OSPF认证的类型及实现

l  理解FA的概念

l  熟悉OSPF的路由防环设计

 

一、路由汇总

减小网络中路由器的路由表规模就是一件必须考虑的事情,常见又有效的方法就是使用路由汇总(也叫路由聚合)。

将一组路由汇聚成一条路由(聚合路由)。需要手工部署,OSPF支持两种路由汇总方法,一种需要部署在ABR上,另一种则需要部署在ASBR上。


 

  1. ABR上部署路由汇总

 

在GS_R1上讲明细路由汇总成192.168.0.0/19向Area0通告汇总路由,而当所有明细路由全部失效时,GS_R1不会再向Area0通告汇总路由。

[GS_R1]ospf 1

[GS_R1-ospf-1]area 1

[GS_R1-ospf-1-0.0.0.1]abr-summary 192.168.0.0 255.255.224.0    GS_R2同理。

细节:1.只能在ABR上配置路由汇总,只能够对ABR直连的区域内部路由进行汇总。

      2.使用abr-summary命令部署路由汇总时,可增加Cost关键字指定汇总路由的cost值。缺省时,汇总路由cost=明细路由里最大cost。


2.在ASBR上部署

 

CO则将学习到的BGP路由引入OSPF。BGP通常用于大承载大批量的路由信息。

我们必须执行路由过滤,将需要的路由引入。CO将明细路由汇总成10.1.0.0/16。减小了OSPF网络的压力。

缺省时,

 [GO]ospf 1

[GO-ospf-1]asbr-summary 10.1.0.0 255.255.0.0

 细节:1.asbr-summary只能在ASBR上配置路由汇总,只对引入的路由生效。

            2.使用asbr-summary命令部署路由汇总时,可增加Cost关键字指定汇总路由的cost值。

               缺省时,如果被汇总的明细路由度量值类型为Metric-Type-1,那么汇总路由的Cost=明细路由中Cost最大的那个。

              如果被汇总的明细路由度量值为Metric-Type-2,那么汇总路由的Cost=最大值+1

二、虚链路

OSPF virtual link是一种逻辑的链路,用于实现另一个非骨干区域与Area0的连接。

当我们在两台路由器上穿越一个非骨干区域建立虚链路后,两路由器则开始建立邻接关系,建立起来后,开始产生Type1-LSA。Type1-LSA中,采用链路类型4的link来描述。

虚链路不能被部署在Stub中。(实际中不建议使用,作为临时方案使用。不易维护管理,更复杂,可能环路)

 

图中,Area2没有连接Area0,所以R3并非意义上的ABR,它无法向双向注入Type3-LSA。Area2成为“孤岛”。

[R2-ospf-1] vlink-peer 3.3.3.3    //指定对端Router-ID  双方都要配置。

通过R2和R3建立虚链路,R3成为了ABR,并在邻居关系起来后,开始产生描述Area2的路由通告给Area1以及通过虚链路通告给Area0。

R2和R3通告Area1的Type1、2-LSA了解了拓扑和网段信息,明确了虚链路对端的Router-ID,就可以计算出从R2-R5-R3这条路径更优(COST小),所以这条路径被选为承载虚链路通道流量的最优路径。当R2要发送虚链路通道数据给R3时,数据报的源IP为p1的IP地址,目的IP为P4的ip地址。

面试题:虚链路是如何建立的

注意:虚链路的Cost值不能直接配置。如上图,R2从虚链路到R3的Cost=P1+P3  R3从虚链路到R2的Cost=P4+P2 。另外,Type5-LSA不会通过虚链路传播,否则会LSA重复泛洪。

 三、默认路由

(1)在常规区域中发布默认路由

OSPF定义了专门的命令用于引入路由。配置如下:

       [R1]ospf 1

       [R1-ospf-1]default-route-advertise cost 10 type 2

该命令采用Type5-LSA描述,Type则指定Metric-Type。注意这种方式要保证路由器的路由表中有一条默认路由。才能生效,可是手动配置的也可以是引入的。

在default-route-advertise中添加always关键字,则无论路由表中是否有默认路由,都下发默认路由。

(2)在Stub区域中发布默认路由

Stub区域不允许Type5-LSA泛洪。Stub区域的ABR会自动下发一条默认路由(Type3-LSA),这样Stub区域就可以通过这条默认路由将访问域外的流量送达,再由ABR将流量转发出去。

缺省时,这条默认路由Cost为1,可以在Stub区域的ABR的OSPF区域配置视图使用default-cost命令修改这个值

(3)在Totally Stub区域

该区域进一步禁止了Type3-LSA在该区域内泛洪,和Stub区域一样,ABR会自动向该区域下发一条默认路由(Type3-LSA),这里不再讲述。

(4)在NSSA中发布默认路由

该区域不允许Type4和Type5的LSA进入。NSSA的ABR(R1)会自动向该NSSA下发一条默认路由(Type7-LSA)。注意,R1只有和Area0形成full关系时该默认路由才会下发。

现在希望通过ASBR(R2)来下发默认路由,那么就需要在R2上进行配置:

[R2-ospf-1-area-0.0.0.1]nssa default-route-advertise

注意,仅当NSSA的ASBR在自己的路由表里存在一条默认路由时,上述命令才能生效。否则R2不注入。

(5)在Totally NSSA中发布默认路由

该区域禁止Type3、4、5-LSA泛洪,区域内的ABR会向该区域自动下发一条默认路由(Type3-LSA)

 四、报文认证

路由器X是攻击者,随后X开始向OSPF发送大量垃圾路由,导致OSPF网络计算发生问题,受到影响。

为了避免,OSPF有以下认证方式

  • 空认证

认证类型字段为0。缺省情况下,OSPF接口的认证方式为空认证(虽不认证,但还是对校验和进行检查)

  • 简单口令认证(明文认证)

认证类型字段为1。明文口令包含在认证数据字段中。因为是明文,所以不安全,容易被抓包发现。

  • 密文认证

认证类型字段为2。包含一个hash值,将用户配置的口令等内容经过MD5计算得到结果,更安全。

Key-ID:两台直连OSPF路由器都激活了报文认证,双方Key-ID及口令要一致

认证数据长度:该字段描述了这个认证数据的长度。将口令进hash算法(MD5)计算后得到的数据追加到OSPF报文尾部(不作OSPF协议报文一部分,“报文长度”不计入该部分)

密码序列号:一个持续保持递增的序列号,用于OSPF报文的防重放攻击。(当收到OSPF报文密码序列号等于或小于目前序列号时,路由器认为是重放攻击报文,丢弃。)

 五、转发地址

图中,R3通过RIP把3.0.0.0/8通告给R1,R1把这条路由引入了OSPF,以Type5-LSA形式泛洪整个区域。其他路由器收到后会默

认发生给ASBR(R1)再发到R3出去。以R4为例,完全没必要经过R1再到R3。从R2到R3就可以了。FA包含在Type5、7-LSA中,

FA用于解决某些场景下避免次优路径问题。如果FA为0.0.0.0,则ASBR作为外部路由的下一跳地址,如果不为,则认为下一跳地

址为这个FA(所标识的设备,图中场景应设置为R3的192.168.123.3/24)。前提是ASBR或者指定的FA是否可达。不可达则这条

外部路由(Type5-LSA)不用于计算。

 

FA字段设置为非0.0.0.0的值,需要满足条件:

l  ASBR连接外部网络的接口(外部网络出接口)要激活OSPF

l  该接口没有配置成Silent-Interface

l  该接口网络类型为Broadcast或NBMA

l  该接口IP地址落在OSPF协议配置的Network命令范围内

满足以上条件才能把FA设置为非0.0.0.0

 

 

 

 

 

 

 

 

 

 

 

 

推荐阅读