OSPF笔记

一、OSPF基础术语

Router-ID

Router-ID是一个32位无符号整数,用于唯一标识一台运行OSPF协议的路由器。

Router ID选举规则如下:

  1. 手动配置OSPF路由器的Router ID(建议手动配置)
  2. 如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID
  3. 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID

Loopback是路由器里面的一个逻辑接口。逻辑接口是指,能够实现数据交换功能,但是物理上不存在、需要通过配置建立的接口。Loopback接口一旦被创建,其物理状态和链路协议状态永远是Up,即使该接口上没有配置IP地址。

注:在华为路由器中,如果没有手工配置Router ID,则会选择路由器全局Router ID作为OSPF的Router ID。

全局Router ID:一般为路由器中最先配置地址的接口的IP地址。

image-20231116222415841

区域

  • OSPF Area用于表示一个OSPF的区域。
  • 区域是从逻辑上将设备划分为不同的组,每个组用区域号Area ID来标识。
  • OSPF的区域D是一个32bit的非负整数,按点分十进制的形式(与1Pv4地址的格式一样)呈现,例如Area 0.0.0.1。 为了简便起见,我们也会采用十进制的形式来表示。

链路的两端的路由器需要在同一个区域里,也就是说,区域的边界是在路由器上。

image-20240925155625311

  • ABR:区域边界路由器,连接两个区域。
  • ASBR:自治系统边界路由器,连接两个路由器。
  • 每个区域都维护一个独立的LSDB。
  • Area 0是骨干区域,其他区域都必须与此区域相连(直连)。

度量值

OSPF使用Cost(开销)作为路由器的度量值。每个激活了OSPF的接口都会维护一个Cost值,缺省Cost=(100Mbit/s)/接口宽带(cost的值向下取整,若小于1则取1)。其中100Mbit/s为OSPF指定的缺省的参考值,该值是可配置的。

修改Cost值:1.直接修改接口的Cost值(推荐)。2、修改参考值。

image-20231117134302084

OSPF以“累计cost”为开销值,也就是流量从源网络到目的网络所经过所有路由器的出接口cost总和

image-20231117135255984

度量值修改举例:

image-20231117140017414

上图(左):由于参考值缺省,且四条链路都是GE型,接口带宽相同,所以计算出的Cost值都相等。所以,对于R1来说,无论是通过R2到达R4,还是通过R3到达R4,开销都是一样的,所以会根据某种算法(例如负载均衡)选择一条路径。

上图(右):对于R1来说,两条路径开销不同,选择开销较小的路径发送数据。

二、OSPF三张表(待补充)

OSPF有三张重要的表项,OSPF邻居表、LSDB和OSPF路由表。

1、邻居表

对于OSPF的邻居表,需要了解:

  • OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
  • OSPF的邻居关系通过交互Helo报文建立。
  • OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。

image-20231117141049564

2、LSDB(链路状态数据库)

对于OSPF的LSDB,需要了解:

  • LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。
  • Type标识LSA的类型,AdvRouter标识发送LSA的路由器。
  • 使用命令display ospf lsdb查看LSDB表。

image-20231117141622349

3、OSPF路由表

对于OSPF的路由表,需要了解:

  • OSPF路由表和路由器路由表是两张不同的表。本例中OSPF路由表有三条路由。
  • OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。
  • 使用命令display ospf routing查看OSPF路由表。

image-20231117142130185

三、OSPF七种状态机

img

状态机名称 状态机描述
Down(失效) 该状态还没有进行hello包的收发,一旦进行hello的收发,则进入下一状态
Init(初始化) 收到的hello包中并不存在本地的(自己的)route-id,但是会将发送该hello包的邻居置为init状态,此时双方并没有建立双向通信,随着双方互相收发hello包,于是才会进入下一状态
2-way(双向通信) 接收到的hello包中存在本地的(自己的)route-id,则双方就会进入2-way双向通信状态。该状态也是OSPF最稳定的状态之一,它标志着邻居关系的建立,同时也是邻接关系建立的基础
Exstart(预启动) 使用类似hello的DD报文进行主从关系(Master/Slave)选举,route-id数值大为主,优先进入下一状态。此时的DD报文是空的。
Exchange(准交换) 使用真正的DD报文进行数据库目录的共享
Loading (加载) 使用LSR、LSU、LSAck去获取未知的LSA信息LSDB同步
Full(全毗邻) 邻接关系建立的标志,此时不再进行LSDB的同步

一些字段的详细解释:

Exstart

发送DD报文(此处DD报文不包含LSA头部信息)

作用:

1、决定主从关系(Router-ID大的为主路由器,小的为从路由器)

2、确定序列号保证报文交互的可靠性

3、比较MTU(可选,缺省不比较)

MTU对邻居建立的影响

1、主的MTU值比从设备的MTU值小;两端都会停留在Exstart状态

2、主的MTU值比从设备的MTU值大;从设备会停留在Exchange状态,主设备停留在Exstart状态

3、两端有一段未开启MTU值检测,则两端可以建立邻居

Exchange

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

具体的交互流程

上述Exstart状态决定出主从关系后,即从设备此时收到了主设备发来的空的DD报文

从设备使用主的序列号发送DD报文来回应主(此时DD报文包含LSA头部信息)

主也通过DD报文发送自己的LSA头部信息,并将序列号加1

从又使用主的序列号回应主;一直循环,直到主与从的M位都不置位(或者说只要有一侧有未传递的LSA头,就会一直循环)

四、OSPF四种网络类型

OSPF协议支持四种网络类型,分别是点到点网络广播型网络NBMA网络点到多点网络

1、BMA广播型网络

广播型网络(Broadcast Multiple Access) 是指支持两台以上路由器,并且具有广播能力的网络。一个含有三台路由器的以太网就是一个广播型网络的例子。

在这里插入图片描述

OSPF可以在不支持广播的多路访问网络上运行,此类网络包括在hub-spoke拓扑上运行的帧中继(FR)和异步传输模式(ATM)网络,这些网络的通信依赖于虚电路。

OSPF定义了两种支持多路访问的网络类型:非广播多路访问网络(NBMA)点到多点网络(Point To Multi-Points)

2、NBMA非广播多路访问

非广播式多路访问(Non Broadcast Multiple Access)在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置**。NBMA方式要求网络中的路由器组成全连接。

缺省情况下,OSPF认为帧中继、 ATM的网络类型是NBMA。

在这里插入图片描述

3、P2P点到点网络

点到点网络(Point-to-Point) 是指只把两台路由器直接相连的网络。一个运行PPP的64K串行线路就是一个点到点网络的例子。

在这里插入图片描述

4、P2MP点到多点网络

点到多点(point to multi point) :将整个网络看成是一组点到点网络。对于不能组成全连接的网络应当使用点到多点方式。

实际情况下,没有哪一种网络拓扑是P2MP网络,需要通过命令来改变网络类型。

在这里插入图片描述

5、四种网络的特点

网络类型 特点 Hello Interval 例子
广播BMA 需要DR和BDR的选举,不用手动指邻居
通常以组播发送HELLO报文,LSU报文,和LSACK报文,以单播形式发送DD和LSR报文
DR和BDR给非指定路由器发送消息使用的是组播224.0.0.5<br/>非指定路由器给DR和BDR发送消息使用的是组播224.0.0.6
10秒 以太网
非广播多路访问NBMA 连接的路由器超过两台但是没有广播功能
所有数据包均单播发送,有DR的选举,需要手动指定邻居
30秒 帧中继网络和ATM网络
点对点P2P 使用组播224.0.0.5来发送各种数据包
没有DR/BDR的选举,直接形成full邻接关系,不用手动指邻居
10秒 PPP链路,HDLC链路
点到多点P2MP Hello包以组播形式发送,其他类型数据包由单播发送
不选举DR,不用手动指邻居
30秒

现实中遇到的大部分属于点到点网络广播型网络, 因为帧中继、 ATM网络基本已经淘汰了。

6、可根据实际情况按需调整网络类型

  • OSPF的网络类型是根据接口的数据链路层封装自动设置的
  • 图中的路由器采用以太网接口互联,因此这些接口的网络类型缺省均为Broadcast
  • 每段链路实际上都是点对点链路,因此在链路上选举DR与BDR是没有必要的。
  • 为了提高OSP的工作效率,加快邻接关系的建立过程,可以把这些互联接口的网络类型都修改为P2P

image-20231117213008741

一条链路两端的路由器接口的OSPF网络类型应该要相同。

五、OSPF五种报文类型

OSPF报头

OSPF一共定义了5种类型的报文,不同类型的OSPF报文有相同的头部格式
OSPF报文直接采用IP封装,在报文的IP头部中,协议号为89。

image-20231117142750340

各个字段的解释:

  1. Version(版本号) :当前广泛实现的版本是OSPF v2,值为2。
  2. Type(类型) : 1字节 ,表示OSPF报文的类型,有下面几种类型:Hello报文;DD报文;LSR报文;LSU报文;LSAck报文。
  3. Packet length(报文长度) :2字节,OSPF报文的总长度,包括报文头在内,单位为字节。
  4. Router ID(路由器ID) :4字节,发送该报文的路由器标识。
  5. Area ID(区域ID) : 4字节 ,发送该报文的所属区域。
  6. Checksum(校验和) :2字节,校验和,包含除了认证字段的整个报文的校验和。
  7. AuType(鉴别类型) :2字节 ,验证类型值有如下几种表示, 0表示不验证;1表示简单(明文)认证;3表示MD5认证。
  8. Authentication(鉴别) :8字节 ,鉴定字段,其数值根据验证类型而定。当验证类型为0时未作定义;类型为1时此字段为密码信息;类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息。MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。

五种报文类型

  1. Hello报文:周期性发送,用于发现和维持邻居关系;
  2. DD报文(DataBase Description Packet):数据库描述报文,描述本地LSDB的摘要信息,用于两台路由器进行数据库同步;
  3. LSR报文(Link State Request Packet):链路状态请求报文,向对方请求所需要的LSA;
  4. LSU报文(Link State Update Packet):链路状态更新报文,向对方发送其所需要的LSA或者泛洪自己更新的LSA;
  5. LSAck报文(Link State Acknowledgment Packet):链路状态确认报文,用于对收到的LSA进行确认。

上面五种类型在OSPF报头中的type字段的值依次为1、2、3、4、5。

注:Hello报文和LSAck报文不需要确认。

LSA与LSAck是不同的:

  • 链路状态公告LSA (Link State Advertisement) :LSA中包含了路由器已知的接口状态、接口IP地址、掩码、开销和网络类型等信息。
  • 链路状态确认报文LSAck(Link State Acknowledgment Packet) :用于对收到的LSA进行确认。

image-20231117142527539

1、Hello报文格式

Hello报文的主要作用:

  • 邻居发现:自动发现邻居路由器。
  • 邻居建立:完成Helo报文中的参数协商,建立邻居关系。
  • 邻居保持:通过周期性发送和接收,检测邻居运行状态。

image-20231115113550136

  • Network Mas:32bit,发送Hello报文接口的子网掩码;两台路由器要建立邻居,掩码长度需要相同。

  • Hello Interval:16bit,发送hello报文的时间间隔,单位为秒,默认是10秒;(该参数也需要相同,才能建立邻居)

  • Options:8bit,可选项

      E:允许泛洪 AS-External-LSAs;是否支持外部路由;
    
      MC:转发IP组播报文;是否支持转发组播数据包;
    
      N/P:处理Type-7 LSAs;是否为NSSA区域;
    
      DC:处理按需链路;
    
  • Rtr Pri:8bit,DR优先级默认为1,如果为0不参与DR/BDR选举

  • Router Dead Interval:32bit,失效时间通常为Hello Interval的4倍,40s)。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效;(该参数也需要相同,才能建立邻居)

  • Designated Router:32bit,本网段DR的接口地址;如果设置为0.0.0.0,表示未选举DR路由器。

  • Backup Designated Router:32bit,本网段BDR的接口地址;如果设置为0.0.0.0,表示未选举BDR。

  • Neighbor:32bit,邻居列表,以router ID标识;

注:两台路由器的掩码长度,hello间隔,失效时间都相同时,才可能建立邻居。

2、DD报文格式

DD报文包含LSA头部信息,包括LS Type、LS ID、Advertising Router、LS Sequence Number、LS
Checksum。

两台路由器在邻接关系初始化时,用DD报文(Database Description Packet)来描述自己的LSDB,进行数据库的同步。报文内容包括LSDB中每一条LSA的Header(LSA的Header(头部)可以唯一标识一条LSA)。

LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header就可以判断出是否已有这条LSA。

在两台路由器交换DD报文的过程中,一台为Master,另一台为Slave。由Master规定起始序列号,每发送一个DD报文序列号加1,Slave方使用Master的序列号作为确认。

image-20231117161039447

各个字段的解释:

I:是否为第一个。M:后面是否还有。MA是否为Master。

  • I:当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
  • M(More) :当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其
    他的DD报文。
  • MS(Master/Slave) :当两台oSPF路由器交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master。
  • DD sequence numberDD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性
  • Interface MTU:指示在不分片的情况下,此接口最大可发出的IP报文长度。在两个邻居发送DD报文中包含MTU参数,如果收到的DD报文中MTU和本端的MTU不相等,则丢弃该DD报文。缺省情况下,华为设备未开启MTU检查。
  • Optinons:与Hello的Optinons字段相同。

3、LSR报文格式

两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的和哪些LSA是已经失效的,这时需要发送LSR报文(Link State Request Packet)向对方请求所需的LSA。内容包括所需要的LSA的摘要。

LSR报文格式如下图所示,其中LS type、Link State ID和Advertising Router可以唯一标识出一个LSA,当两个LSA一样时,需要根据LSA中的LS sequence number、LS checksum和LS age来判断出所需要LSA的新旧。

各个字段的解释:

  • LS type链路状态类型,32比特,LSA的类型号。
  • Link State ID链路状态ID,32比特,根据LSA中的LS Type和LSA description在路由域中描述一个LSA。
  • Advertising Router通告路由器,32比特,产生此LSA的路由器的Router ID。

4、LSU报文格式

用来向对端Router发送其所需要的LSA或者泛洪自己更新的LSA,内容是多条LSA(全部内容)的集合。

LSU报文(Link State Update Packet)在支持组播和广播的链路上是以组播形式将LSA泛洪出去。为了实现Flooding的可靠性传输,需要LSAck报文对其进行确认。对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。

image-20231117165910743

Number of LSAs: 32比特,LSA的数量。

5、LSAck报文格式

用来对接收到的LSU报文进行确认。内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。

LSAck(Link State Acknowledgment Packet)报文根据不同的链路以单播或组播的形式发送。

image-20231117170203025

LSAs HeadersLSA头部,可变,通过LSA的头部信息确认收到该LSA。

六、OSPF工作过程

OSPF工作过程概览

image-20231117143723803

1、建立邻居关系

  • OSPF使用Hello报文发现和建立邻居关系。
  • 以太网链路上,缺省时,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)
  • OSPF Hello报文中包含了路由器的Router ID、邻居列表等信息。

image-20231117145343251

neighbor:邻居

具体过程:以R2为例

  1. R2发送Hello报文来发现邻居,但没有收到邻居的Hello报文,此时状态为Down。
  2. R2收到R1的Hello报文后,得知R1是自己的邻居,但自己的Router ID不在R1的邻居列表中(表明此时,对于R1来说,R2不是R1的邻居),此时R2的状态为Init。
  3. 由于R2知道了R1是自己的邻居,所以发送的Hello报文中包含R1的Router ID。
  4. 当R2收到R1的Hello包,且其邻居列表中含有自己的Router ID,R2的状态由Init变为2-way。

如果路由器发现所接收的合法Hello报文的邻居列表中有自己的Router ID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立。

验证一个接收到的Hello报文是否合法包括:

1、如果接收端口的网络类型是广播型点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段

2、所接收的Hello报文中Hello Interval字段必须和接收端口的配置一致;

3、所接收的Hello报文中Router Dead Interval字段必须和接收端口的配置一致;

4、所接收的Hello报文中Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置一致。

  • 广播型网络NBMA网络中,邻居之间到达2-way状态后就会开始DR/BDR的选举,为了方便理解,这里先不说,留到后面补充。

2、LSDB数据库同步

邻居关系建立后,邻居之间确定主从关系,然后开始发送DD报文同步LSDB

image-20231117154938337

这里提到了主从关系(Master/Slave),要与DR/BDR区分开来。

  • DR/BDR是在MA网路中选举出的两台路由器,用于减少网络中的邻接关系。
  • MS主从关系是两台互相交换DD报文的邻居路由器之间的关系,其作用只是为了确定seq以Master为准,从而保证DD报文有序可靠的传输
  • MS主从关系确定,只比较Router ID的大小,大的一方成为Master。

具体过程

主从路由器的选举:

​ (1)邻居状态变为ExStart以后,R1向R2发送第一个DD报文,在这个报文中,DD序列号被设置为X(假设),R1宣告自己为主路由器。

​ (2)R2也向R1发送第一个DD报文,在这个报文中,DD序列号被设置为Y(假设)。RTB也宣告自己为主路由器。

由于R2的Router ID比R1的大,所以R2应当为真正的主路由器。

数据库摘要信息的交互:

​ (3)当主从关系确定后,R1、R2的状态变为Exchange。R1发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息(LSDB的摘要信息可以类比成一本书的目录),序列号设置为R2在步骤(2)里使用的序列号(表示承认R2为真正的主路由器)。

​ (4)邻居状态变为Exchange以后,R2发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为Y+1(上次使用的序列号加1)。

​ (5)R1收到R2的DD报文后,向R2发送即使R1不需要新的DD报文描述自己的LSDB,但是作为从路由器,R1需要对主路由器RTB发送的每一个DD报文进行确认。所以,RTA向RTB发送一个内容为空的DD报文,序列号为Y+1。 ???有点不懂这句话。

发送完最后一个DD报文之后,R1、R2的状态都变为了Loading;在此(变为Loading)之前,路由器就算在DD报文中发现了自己需要的LSA也是不会发送LSR报文的。

3、建立完全邻接关系

具体过程:接着上面的第(5)步

​ (6)邻居状态变为Loading之后,R1开始向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。

​ (7)R2收到LSR报文之后,向RTA发送LSU报文,在LSU报文中,包含了那些被请求的链路状态的详细信息。RTA收到LSU报文之后,将邻居状态从Loading改变成Full

​ (8)R1向R2发送LSAck报文,用于对已接收LSA的确认。

此时,R1和R2之间的邻居状态变成Full,表示达到完全邻接状态

邻居与邻接

  • 邻居(Neighbor):OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文用于发现邻居

    收到Hello报文的OSPF路由器会检查报文中所定义的一些参数,如果双方的参数一致,就会彼此形成邻居关系

  • 邻接(Adjacency):形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定。

    只有当双方成功交换DD报文,并能交换LSA之后,才形成真正意义上的邻接关系。

遗留的问题:

关于R1与R2的状态改变,具体是在什么时候改变的状态?

七、DR与BDR

1、DR与BDR的作用

  • DR(Designated Router,指定路由器)负责在MA网络建立和维护邻接关系负责LSA的同步
  • DR与其他所有路由器形成邻接关系并交换链路状态信息,其他路由器之间不直接交换链路状态信息。
  • 为了规避单点故障风险,通过选举BDR(Backup Designated Router,备份指定路由器),在DR失效时快速接管DR的工作。

image-20231117201306314

除DR和BDR之外,其他路由器都是DR Other

  • DR与BDR之间建立邻接关系。
  • DR Other只与DR和BDR建立邻接关系。
  • DR Other之间只建立邻居关系。

2、DR与BDR的选举规则(待补充)

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

例如下图:R4新加入后并不会改变原先就存在的DR/BDR,即使它的优先级比R1、R2都高。这样可以保持网络的稳定

若要使R4成为DR,需要将DR和BDR的ospf进程restart(重启)。

至于先重启DR还是BDR,等做完实验再补充。。。。。。。。。。。

image-20231117201957278

DR/BDR的选举是基于接口的。

  • 接口的DR优先级越大越优先默认为1,0表示不参与选举
  • 就口的优先级相等时,Router ID越大越优先

基于接口的解释:

下图中R4同连接着两个广播网络,它的两个接口的角色并不相同。

image-20231117204409479

3、不同网络类型中DR与BDR的选举操作

image-20231117204913888

八、OSPF的其他特性及配置

1、OSPF基本配置

# 手工指定Router ID
[RTA]ospf router-id 1.1.1.1
# 进入到区域0
[RTA-ospf-1]area 0
# 宣告网段(即告诉路由器,属于192.168.1.00.0.0.255网段的接口都运行OSPF,且是在区域0中)
[RTA-o3pf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

注:上面的0.0.0.255是反掩码,表示所有以192.168.1开头的地址的接口都运行OSPF。

0.0.0.0 255.255.255.255表示所有接口都运行OSPF。

192.168.1.2 0.0.0.0精确宣告(推荐),192.168.1.2这个接口运行OSPF。

也可以进入到接口,使用ospf enable area 0的方式来使该接口运行OSPF。

2、OSPF度量值

OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时

$$Cost值 = \frac{100 Mbit/s}{接口带宽}$$

其中100Mbit/s为OSPF指定的缺省参考值,该值是可配置的。

笼统的说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由沿途所有如接口的Cost值累加。

image-20240925163819560

OSPF度量值配置

通过bandwidth-reference命令来设置带宽参考值。

[RTB]ospf
# 将带宽参考值设置为10000
[RTB-ospf-1]bandwidth-reference 10000

注意:修改某个接口的度量值时,更改的时进入这个接口的路线的度量值,而不是从这个接口出去的路线的度量值。

[RTA]interface GigabitEthernet 0/0/0
# 修改接口的度量值
[RTA-GigabitEthernet0/0/0]ospf cost 20

例如下图中:修改路由器RTA的G0/0/0接口的度量值。修改的是RTB到RTA这个方向的路由的度量值。

image-20240925164406905

3、OSPF认证

华为ARG3系列路由器运行OSPF时,支持两种认证方式:区域认证和接口认证。

# 接口认证
[RTA]interface GigabitEthernet0/0/0
[RTA-GigabitEthernet0/0/0]ospf authentication-mode md5 1 huawei
# 区域认证
[RTA]ospf router-id 1.1.1.1
[RTA-ospf-1]area 0
[RTA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[RTA-ospf-1-area-0.0.0.0]authentication-mode md5 1 huawei

4、常见LSA类型

LSA:LSA(Link State Advertisement)(链路状态通告)是路由器用来通告其链路状态和其他相关信息的数据包。LSA 包含了关于路由器的接口状态、邻居关系、成本(度量值)以及可达网络的信息。LSA 在 OSPF 路由器之间传播,帮助所有路由器同步它们的链路状态数据库(LSDB)。一旦所有的 OSPF 路由器都拥有了相同的 LSDB,它们就能基于这个数据库计算出到网络中其他节点的最短路径。

image-20240925160305761

5、缺省路由

OSPF实际组网应用中,区域边界和自治系统边界通常都是由多个路由器组成的多出口冗余备份或者负载分担。此时,为了减少路由表的容量,可以配置缺省路由,保证网络的高可用性。

OSPF缺省路由通常应用于下面两种情况:

  • 由区域边界路由器(ABR)发布Type3LSA,用来指导区域内路由器进行区域之间报文的转发。
  • 由自治系统边界路由器(ASBR)发布Type5LSA或Type7LSA,用来指导OSPF路由域内路由器进行域外报文的转发。
# 普通区域
default-route-advertise

image-20240925165810461

6、OSPF引入外部路由

image-20240925170108219

[RTA]ospf router-id 1.1.1.1
[RTA-ospf-1]import-route [direct | bgp | rip] type 2

# [direct | bgp | rip]引入直连、bgp、rip路由
# type 2:表示引入后的度量方法。1表示引入的路由会在传递的过程中继续累加度量值。2表示引入后度量值不变。

7、Silent-Interface静默接口

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

Silent-Interface有以下特性:

  • Silent-Interface不会接收和发送OSPF报文。
  • Silent-Interface的直连路由仍可以发布出去。
[R1]ospf
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network192.168.4.00.0.0.255
[R1-ospf-1]silent-interface GigabitEthernet 0/0/1

Server那边不需要OSPF报文,所以可以将R1上的GE0/0/1接口配置为静默接口。

image-20240925170831898

R1的GE0/0/1接口在OSPF network命令的网段范围内。

到达该接口的路由将被通告到OSPF,使得其他设备能够访问Server。

由于该接口上未连接任何其他OSPF路由器,因此管理员将该接口配置为Silent-Interface,该接口将不再收发Hello报文,从而避免了对Server的性能降低。

九、真题

真题2023.11

image-20240925200321160

真题2023.5

image-20240925200351722

image-20240925200834865

第4空为什么???

10.10.10.0 0.0.0.255,表示属于10.10.10.0/24网段的接口运行OSPF,也就是将该范围内的所有接口宣告到 OSPF 进程中,并参与 OSPF 的路由计算和信息交换。

真题2022.11

image-20240925201005423

image-20240925201412291

image-20240925201448672

真题2021.5

image-20240925201659783

参考:

04 OSPF基础介绍_哔哩哔哩_bilibili

05 OSPF简介_哔哩哔哩_bilibili

06 OSPF工作原理及过程_哔哩哔哩_bilibili

OSPF-五种报文、七种状态机及其工作过程_ospf的lsu有几种-CSDN博客

精!万字15图详解OSPF路由协议 (qq.com)

OSPF——7种状态讲解_ospf七种状态-CSDN博客

OSPF原理—详细!!​*ospf协议工作原理*​'Beyond'的博客-CSDN博客

OSPF协议原理详解-CSDN博客

OSPF-五种报文、七种状态机及其工作过程_ospf的lsu有几种-CSDN博客