OSPF基础知识及配置命令(华为)
前言
- OSPF是Open Shortest Path First的简称。
- OSPF是一种基于SPF算法的链路状态(LS)协议,同时OSPF也是一种内部网关协议。
- OSPF广泛应用于企业网络。
OSPF基本概念
1.拓扑和路由类型
-
拓扑
- OSPF把自治系统划分成逻辑意义上的一个或多个区域,所有其他区域必须与区域0相连。区域0称为骨干区域。 路由类型
- 区域内路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。
- 区域边界路由器ABR(Area Border Router):该路由器的一个接口宣告进了area0,ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接( 判断真伪ABR的条件:与Area0区域内路由器是否建立了状态达到Full的邻居)
- 骨干路由器(Backbone Router):该类路由器至少有一个接口属于骨干区域。所有的ABR和位于Area0的内部路由器都是骨干路由器
- 自治系统边界路由器ASBR(AS Boundary Router):与其他AS交换路由信息的路由器称为ASBR
2.网络类型
-
广播类型
- 数据链路层是Ethernet等
- DR/BDR 功能:减少邻接关系的数量,从而减少链路状态信息交换的次数。DRother只与DR/BDR建立完全邻接关系。DR与BDR之间建立完全邻接关系。
- DR/BDR的选举规则:
- 1.选举根据端口的路由器优先级(Router Priority)进行
- 2.Router Priority设置为0时,无法参选
- 3.Router Priority越大越优先。如果相同,Router ID大者优先。
- 4.DR/BDR不能抢占。如果当前DR发生故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR发生故障,则DR不变,重新选举BDR。 P2P类型
- 数据链路层是PPP、HDLC等 NBMA类型
- 数据链路层是帧中继等 P2MP类型
- 没有一种链路层协议会被缺省的认为是Point-to-Multipoint 类型。
3.报文类型
-
OSPF报文简述
- 封装格式:Layer2|IPv4|OSPF|FCS,IP协议字段号为89,OSPF报文头部格式都是相同的。
- 除Hello报文外,其它的OSPF报文都携带LSA信息。 Hello报文
- 用于建立和维持邻居关系,ospf域会周期性发送Hello来维护邻接关系,如果一段时间内没有通过邻居收到hello,邻接关系变为down DD报文
- 描述本地LSDB的摘要信息,用于两台路由器进行数据库同步 LSR报文
- 用于向对方请求所需的LSA,路由器只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文 LSU报文
- 用于向对方发送其所需要的LSA LSAck报文
- 用来对收到的LSA进行确认
4.LSA类型
-
Router-LSA(Type1)
- 由路由器产生,描述了路由器的链路状态和开销,本区域内传播 Network-LSA(Type2)
- 由DR产生,描述本网段的链路状态,本区域内传播 Network-summary-LSA(Type3)
- 由ABR产生,描述区域内某个网段的路由,区域间传播(除特殊区域) ASBR-summary-LSA(Type4)
- 由ABR产生,描述到ASBR的路由,非ASBR所在的区域传播(除特殊区域)。 AS-external-LSA(Type5)
- 由ASBR产生,描述到AS外部的路由,OSPF域内传播(除特殊区域) NSSA LSA(Type7)
- 由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播,在去往其他区域时,由ABR将7类LSA转换为5类LSA。
5.Option字段
出现在每一个Hello数据包、DD和每个LSA中
-
比较重要的位
- N位:只用在Hello数据包中。N=1表明路由器支持7类LSA。N=0表明该路由器将不接收和发送NSSA LSA。
- E位:当始发路由器具有接收5类LSA的能力时,该位被置位。在所有5类LSA和始发于骨干区域以及非末节区域的LSA中,该位置为1。而始发于末节区域的LSA中,该位置为0。如果Hello报文中该位被置位则表明该接口具有接收和发送5类LSA的能力。
6.FA地址
在OSPF中引入外部路由时,将对应产生5类LSA(或7类 LSA——NSSA区域引入外部路由)。而后续路由器在计算外部路由时需要用到这个Forwarding Address。
1. 5类LSA中的FA地址
①在OSPF引入外部路由时,若产生的Type 5 LSA的FA地址为0.0.0.0,则其他路由器在计算到达该外部网络时,将考虑如何到达ASBR(即产生该5类LSA的路由器)来计算出外部路由的下一跳地址。
②在OSPF引入外部路由时,若产生的5类LSA的FA地址不为0.0.0.0,则其他路由器在计算到达该外部网络时,将考虑如何到达该FA地址来计算出外部路由的下一跳地址。
那么OSPF中产生5类LSA时,什么时候FA地址不为0.0.0.0呢?
若同时满足以下三个条件:
什么时候5类LSA会携带FA地址
1.连接路由的下一跳接口宣告进OSPF
2.该接口网络类型不是P2P
3.该接口不能被置为 Slient-interface
则产生的Type 5 LSA,其FA地址等于该引入的外部路由的下一条地址。
2. 7类LSA的FA地址
若在NSSA区域引入外部路由,则产生的7类LSA中其FA地址均不为0(注意与Type 5 LSA不同),具体FA地址等于该ASBR上启用OSPF的接口的IP地址,即ASBR宣告进OSPF的环回口最大地址,若无环回口,则为最大物理接口IP地址。
7类LSA都携带FA地址吗?
其他区域的路由器不知道真正的ASBR是谁他们认为转换者是ASBR
通过携带FA地址告知所有接收外部路由的路由器 发包去往外网前先把包发给FA地址 为了避免环路以及次优路径。
由此可见,5类LSA不一定携带FA地址,但7类LSA是一定携带FA地址的。
OSPF基本原理
1.邻居关系建立
2.邻接关系建立
OSPF基本特点
1.特殊区域
-
Stub区域
- 即末节区域,通常位于自治系统的边界,一般只有一个ABR,Stub区域的ABR不会向区域内传播四类五类LSA,只会对区域内非ABR路由下放一条默认3类LSA。 Totally Stub区域
- 即完全末节区域,既不允许5类LSA在区域内传播,也不允许3类LSA在区域内传播,只会对区域内非ABR路由下放一条默认3类LSA。 NSSA区域
- 即次末节区域,NSSA区域允许存在少量通过本区域的ASBR引入的外部路由,但不允许存在其他区域引入的外部路由,不允许5类LSA在NSSA区域内传播。即NSSA区域中的外部路由只能由本区域的ASBR发布。 Totall NSSA区域
- 即完全次末节区域,既不允许存在其他区域引入的外部路由,不允许5类LSA在区域内传播,也不允许3类LSA在区域内传播。
2.虚连接
指在两台ABR之间通过一个非骨干区域建立的一条逻辑上的连接通道(通常用于扩展area0区域)。
3.认证
-
认证分类
- 接口认证(优先使用)
- 区域认证 认证方式
- Null
- Simple
- MD5
OSPF基础配置
下面做一个简单的基础实验来认识ospf的配置命令
说明:ospf自治系统内有三个区域,宣告的地址已标记出,area1域与RIP域连接,来做路由引入,以下图片未做说明默认以R1为例。
1.在R1上配置ospf进程,ID,区域号,并宣告接口。
2.查看ospf的三张表
邻居表 display ospf peer brief
链路状态数据库 dis ospf lsdb
路由表
3.查看各类LSA的详细信息
dis ospf lsdb lsa-name
4.import-route命令用来引入其他路由协议学习到的路由信息。
在R4的ospf进程中将rip路由引入
可以在路由引入修改度量值和类型(默认O E2),如:import-route rip cost 20 type 1,修改为度量值20,类型为O E1的路由。
查看R1的路由表,发现有两条外部路由
5.ospf dr-priority命令用来设置接口在选举DR时的优先级。
注意:如果一台路由器的优先级为0,则它不会被选举为DR或BDR。OSPF协议不支持在NULL接口上配置DR优先级。另外需要注意即使修改了优先级,DR/BDR也是不能抢占的。
6.vlink-peer命令用来创建并配置虚连接,一般为vlink-peer 对端路由器ID
比如在R2上配置vlink-peer 4.4.4.4,R4上配置vlink-peer 2.2.2.2,就是将area0区域扩大至R4路由器,我们可以display ospf vlink命令用来显示OSPF的虚连接信息。
7.做区域密文认证
在所有属于开启认证区域的接口下配置密文
ip ospf message-digest 1 MD5 admin
开启区域密文认证
area 0 authen message-digest
做明文认证 (注意1–4)
在所有属于开启认证区域的接口下
ip ospf authentication-key admin
开启区域明文认证
area 1 authen
做空认证
Router(config-if)#ip os authentication ?
key-chain Use a key-chain for cryptographic authentication keys
message-digest Use message-digest authentication
null Use no authentication
8.特殊区域配置
totally nssa
ABR area 1 nssa no-summary
其他设备 area 1 nssa
totally stub
ABR area 1 stub no-summary
其他设备 area 1 stub
配置stub区域和nssa区域,只需不输入no-summary参数即可。