OSPF

OSPF:开放式最短路径优先协议

使用范围:IGP  并且只能在一个as中使用

协议算法特点: 链路状态路由协议(即传递路由信息,也传递拓扑信息),SPF算法(也叫最短路径算法) 有名的isis协议也是spf算法.

协议是否传递网络掩码:传递网络掩码

协议封装:基于IP协议封装,协议号为89

OSPF选择的是 确认重传机制就是可靠传输

一.OSPF特点

1.OSPF是一种典型的链路状态协议

2.传递信息乘坐LSA , lsa链路状态通告,包含路由信息和拓扑信息.

​ 路由lsa:描述本路由器上接口的路由信息

​ 拓扑lsa:描述路由器之间的链接状态

​ (1)常见的lsa有六种:123457类

​ 路由lsa:有网络号 有掩码 有度量值

​ 拓扑lsa:路由的连接情况是通过什么方式连接的

3,更新方式:出发更新+30分钟的链路状态刷新

4.更新地址:组播和单播跟新,组播更新di址:224.0.0.5(ALL SPF router 只要支持ospf协议的路由器 都会接受) 224.0.0.6 (ALL DR router 单薄更新)

5.支持路由认证

6.支持手工汇总

二.OSPF区域

1.区域划分的意义:

​ (1)减少lsa的数量

​ (2)减少lsa的传播范围

2.区域的划分是基于接口的(链路)

3.区域的标记:使用了32个二进制

​ (1)十进制

​ (2)类似于IP地址 a.b.c.d

4.区域的分类

​ (1) 骨干区域:区域标记为0或0.0.0.0

​ (2) 非骨干区域:区域标记不等于0或0.0.0.0

5.区域设计的原则:向日葵型网络结构(骨干链路在中间四周的非骨区域路都与骨干区域进行连接)

​ (1)OSPF网络中必须存在并只有一个唯一的骨干区域(单区域除外)

​ (2)若存在非骨干区域,非骨干区域必须要与骨干区域进行连接

6.OSPF中路由器的角色扮演:

​ (1)骨干路由器:一个路由器所有接口都属于ar0

​ (2)非骨干路由器:一个路由器的所有接口都在非骨干区域

​ (3)ABR:区域边界路由器,能够产生3类lsa的路由器:处于骨干区域和非骨干区域的路由器

​ (4)ASBR:自治边界路由器,能够产生5类或7类lsa的路由器如果路由器处于ospf合肥ospf协议中 将rip协议引入ospf

重要下边

三.OSPF消息数据包

Hello DBD LSR LSU LSACK

1.hello: 周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)

​ 目的:建立并维持OSPF 邻居关系(邻居关系建立之后重当保活包功能)

image-20210109170752094

当建立hello关系以后表上最后一行的bdr就会携带对方的 rout-id

image-20210109171153478

2.DBD:数据库描述数据包

​ (1).主从选举DBD: 比较双方的router-id ,router-id大的一方为主(master ),小的一方为从(slave);主用于控制LSA的交互.

image-20210109171930789

inif=1 More=1 master=1 就代表还是在选举中,

image-20210109172621630

当选举完成后inif=0 More=0 master=0 主从选举

选举失败之后失败的就会学习对方的编号image-20210109173136473

​ (2)携带LSA头部信息的DBD

image-20210109173634803

3.LSR:链路状态请求,按照DBD中报文的未知LSA头部进行请求.

image-20210109211521288

4.LSU:链路状态更新,携带LSA信息.

image-20210109211940131

5.LSACK:链路状态确认

image-20210109212133281

四.邻居状态机制

1.建立邻居关系所经过的所有状态

​ Down、 init 、 attempt(过渡) 、 two-way 、 exstart 、 exchange 、loading 、full

刚开始的事侯没有建立邻居关系处于互补通信的阶段他俩处于空的状态也可以理解为down状态但实际不是,双方开始启用ospf协议以后就开始发送hello包进入lnit(初始化状态),然后当双方的hello包中互相携带对方的

每个状态下所对应的数据包以及如何认证的:

Init ---初始化状态,一旦开始发送hello报文,进入初始化状态。

Two-way---双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报文。

邻居关系建立条件:

1.router-id 必须不同

2.area ID 相同

3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据

4.hello时间,dead时间

5.特殊区域标识(E(外部路由位)=1 ; N(NSSA外部路由位)=0 P=0)

6.MA网络中,网络掩码必须一致

7.必须同时使用单播或组播更新

8.更新源检测(双方的IP地址必须在同一网段)

邻居状态下(two-way): MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)

DR选举: 1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)

2.比较各自的router-id,越大越优

注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围0-255,数字为0代表不参与选举 4.先选举BDR ,再升级为DR

主从选举:发生在exstart状态, 通过双方的router-id进行比较,router-id大的一方为主。 发送的主从选举DBD,DBD中包含了MTU值(默认思科直接启用,华为中默认不包含MTU,可以使用命令激活传递MTU值的功能,若双方的MTU值不值则卡在exstart 状态)。

Exstart---预启动状态,一旦开始发送主从DBD,则进入预启动状态。

Exchange ---预交换,主从选举完成,则发送携带LSA头部信息的DBD,进入预交换状态,会发送LSR数据包。(但是没有LSU)

Loading ---加载状态,一旦发送LSU数据包,进入了加载状态,进行大量LSA的学习。

Full ---邻接状态。双方LSA同步(双方LSA全部学习)

五.OSPF的基本配置

1.启用OSPF并指定 router - id 链路协议通告路由域拓扑

IP宣告:

[r3] ospf 100 router - id 1.1.1.1

[r3] area 0

[r3] network 192.168.1.1 0.0.0.0 精确宣告

2.路由接口宣告 必须先创建OSPF 进程并开启需用使用的区域ID,再进入接口启用:

[r1-GigabitEthernet0/0/0]ospf enable 100 area 0

Router-id : 路由器标识符,用于标识本路由器在OSPF网络中的唯一性

OSPF router-id 选举规则:1.手工指定最优先 2.选举所有逻辑中IP地址最大的 3.选举所有物理接口IP地址最大的

华为中: 若以上三点都不满足,则可以创建router-id 为0.0.0.0 ;在使用逻辑或物理接口IP地址时,接口可以是关闭状态;若一台路由器启用了多个OSPF进程,不同进程可以使用相同的router-id(不推荐);

思科中:若以上三点都不满足,则无法启用OSPF;在使用逻辑或物理接口时,接口必须双 up ,该接口可以不通过在OSPF中;同一路由器上多个OSPF进程必须router-id必须不同;全局模式下可以选择针对所有的OSPF进程修改router-id ;(若同时在接口部署时,接口优先生效)

3.创建router id

[r4]router id 1.1.1.1

4.查看接口配置

IP Address Type State Cost Pri DR BDR
192.168.1.1 Broadcast DR 1 1 192.168.1.1 192.168.1.2
1.1.1.1 p2P P-2-P 0 1 0.0.0.0 0.0.0.0

5.激活DBD中携带MTU值功能:

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf mtu-enable

6.修改接口MTU值: (同时修改3层和2层的MTU值)

[r1-GigabitEthernet0/0/0]mtu 1500

7.查看二层接口信息:

[r1]display interface g0/0/0

8.查看三层信息:

[r1]display ip interface g0/0/0

OSPF三张表:

1.OSPF 邻居表

(1)查看OSPF邻居表:

[r1]display ospf peer

image-20210109221813129

(2)查看OSPF邻居表的摘要信息:

[r1]display ospf peer brief

image-20210109222047949

2.LSDB表(链路状态数据库)

查看LSBD的摘要信息:

[r1]display ospf 100 lsdb

image-20210109222502829

类型 :lsa的类型123457 类 Type

链路状态id (标识符): 标识lsa名称 不同状态链路状 态标识符不一样 LinkState ID

通告路由器标识 (产生lsa路由器标识) AdvRouter

前三个参数就可以标识一条唯一lsa

Age len chksum

老化时间 序列号 校验和 越大越新

SA老化时间(若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则无法比较 认为都是最新的。)

lsa新旧比较三种方法:

序列还有三种 :直线型序列号 循环序列空间 棒棒糖序列缔结斯卡拉序列空间

现在使用的为最后一种是前两庄的结合

3.OSPF 路由表\

[r1]display ip routing-table protocol ospf

image-20210109223802450

分类:

ospf

技术点: