首页 > 技术文章 > OSPF协议基础

csdragon 2020-11-15 22:52 原文

OSPF协议基础

一、OSPF特点

1.无环路(SPF算法)

2.收敛快(自动收敛)

3.扩展性(多区域设计)

4.支持认证(安全性)

OSPF支持触发更新,能够快速检测并通告自治系统内的拓扑变化。

OSPF可以解决网络扩容带来的问题。当网络上路由器越来越多,路由信息流量急剧增长的时候,OSPF可以将每个自治系统划分为多个区域,并限制每个区域的范围。OSPF这种分区域的特点,使得OSPF特别适用于大中型网络。OSPF可以提供认证功能。OSPF路由器之间的报文可以配置成必须经过认证才能进行交换

二、OSPF工作原理

OSPF原理.png
1.路由器间构建邻居关系

2.泛洪LSA

3.构建LSDB(LSA数据库)

4.进行SPF算法(最短路径树),还原区域拓扑

5.路由计算,得出路由条目

三、OSPF配置

1.激活OSPF进程

ospf 1 router-id 100.1.1.1   //创建进程为1的ospf,并配置router-id
area 0(0.0.0.0)				//创建区域0
network 1.1.1.0 0.0.0.255	//宣告本地网段
network 10.1.14.0 0.0.0255
network 2.2.2.1 0.0.0.0    //精确宣告本地网络
network 0.0.0.0 255.255.255.255    //宣告设备所有配置了IP的接口

2.查看OSPF配置情况

display ip routing-table    //查看路由表
display ip routing-table protocol ospf   //查看协议为OSPF路由表
display ospf peer breif     //查看OSPF邻居
display ospf interface      //查看OSPF宣告的接口

四、OSPF基本概念

1.router id

作用:

用于唯一标识ospf设备

格式:

点分十进制 X.X.X.X

生成方式:
(1):手工配置

​ 全局下:

router id 1.1.1.1

​ 进程下指定

ospf 1 router-id 1.1.1.1

后续修改router-id,需要重置ospf进程才会生效

reset ospf process    //用户试图下
(2):自动选举

​ 根据loopback接口IP地址大的生成

​ 如果没有loopback接口,选择物理接口IP地址大的

IPv6下无法自动生成

优先级:

进程下 > 全局下 > 自动选举

五、OSPF报文

ospf工作再网络层,协议号:89

OSPF报文.png

报文类型

①:Hello报文 //发现 建立 维护邻居关系

②:DD报文 //描述数据库报文

③:LSR报文 //用于请求缺少的LSA信息

④:LSU报文 //用于携带明细的LSA信息

⑤:LS ACK报文 //用于确认LSU报文

  • LSA( Link-State Advertisement ):链路状态通告, LSA被路由器接收用于维护它们的路由选择表

*OSPF组播地址为:224.0.0.5和224.0.0.6

六、OSPF状态机

邻居关系(2-way):设备只交互了hello报文,建立邻居关系

邻接关系(full):设备再邻居关系的基础上,交互路由信息,双方路由的LSDB同步完成

OSPF邻居状态机.png

状态机

①down:关闭状态

接口未启用OSPF

attempt:

只在NBMA网络类型下出现

发出了hello报文,没有收到任何邻居的hello报文

②init:初始化状态

收到hello报文,hello报文里邻居列表没有自身router-id

③two way:双向通信状态

收到hello报文,hello报文里邻居列表里包含自身router-id

----------------------------------邻居关系建立完成-----------------------------------------------

④exstart:预启动状态

交互空的DD报文,通过序列号确认机制(DD sequence字段),选举主从关系

保证后续DD报文可靠有序的传输

选举规则:比较router-id,router-id越大越优

⑤exchange:交互状态

交互携带 LSA摘要信息 的DD报文,描述数据库,收到DD报文,会根据再要信息对比LSDB

⑥loading:请求更新状态

针对缺少的LSA信息,交互LSR、LSU、LSACK报文

⑦full:

路由器的LSDB已经同步完成

----------------------------------邻接关系建立完成-----------------------------------------------

七、OSPF网络类型

OSPF设计丰富的网络类型,适应不同的企业网络架构

1.广播类型(BMA)

①底层链路为以太网链路,默认时BMA网络类型

一个接口下可以存在多个邻居

③hello报文时间:10s dead时间:30s

④支持广播、组播发送发送hello报文、ospf报文ospf报文

⑤选举DR/BDR

guangBMA.png

2.点到点(P2P)

①底层链路为串行链路,底层协议为PPP,HDLC时,默认为P2P网络类型

②一个接口只能存在一个邻居

③hello报文时间:30s dead时间:30s

④支持广播、组播发送hello报文、ospf报文

⑤不选举DR/BDR

P2P.png

3.点到多点(P2MP)

①没有底层链路默认时P2MP网络类型

②一个接口只能存在一个邻居

③hello报文时间:30s dead时间:120s

④支持广播、组播发送hello报文、ospf报文

⑤不选举DR/BDR

P2MP、NBMA.png

4.非广播多路访问网络(NBMA)

①底层链路为串行链路,底层协议为FR、ATM时,默认为NBMA网络类型

②一个接口下可以存在多个邻居

③hello报文时间:30s dead时间:120s

④不支持广播、组播发送hello报文、ospf报文,只能人工指定单播发送

⑤选举DR/BDR

4(hello time) = dead time*

修改接口网络类型
interface g0/0/2
ospf network-type p2p/NMBA
修改接口hello时间
interface g0/0/2
ospf timer hello 2

八、DR/BDR

DRBDR.png

1.作用:

减少MA网络的邻接关系

从而减少链路状态信息以及路由信息的交换次数,这样可以节省带 宽,降低对路由器处理能力的压力。

2.选举规则:

DR选举.png

先比较端口优先级,默认为1,可调范围0~255(优先级为0表示放弃选举),越大越优。

优先级一致则比较router-id,越大越优

3.设备角色

①DR:负责和该MA网络下的所有设备建立FULL的邻接关系

②BDR:负责和该MA网络下的所有设备建立FULL邻接关系

③DR other:只和BR/BDR建立邻接关系,DR other和DR other之间只建立two way邻居关系

一个拓扑中可以没有BDR,但是不能没有DR,有且只有一个

DR/BDR监听地址:224.0.0.6

配置

interface g0/0/2
ospf dr-prority 255     //修改DR优先级

注意

DR选举完成后、不允许抢占

在two-way之后开始选举DR/BDR

九、OSPF区域

ospf区域.png

ABR(area board router):区域边界路由器 。需要一个接口在骨干区域,另一接口在x区域

ASBR:自治系统边界路由器。和其他AS中的路由器交换路由信息的路由器,这种路由器会向整个AS通告AS外部路由信息

区域内可以做路由汇总,使得需要宣告的路由条目减少,减少路由表的负担

十、OSPF开销

开销确认的两种方式:

1.通过带宽参考值计算

默认参考带宽值=100Mbit/s
开 销 值 = 带 宽 参 考 值 / 带 宽 实 际 值 开销值=带宽参考值/带宽实际值 =/
参考带宽值越大,开销越准确

修改带宽参考值:

bandwidth-reference 1000
2.直接指定接口开销

修改接口开销值

​ 开销值范围是1~65535,默认为1

interface g0/0/2
ospf cost 20

十一、OSPF安全认证

1.认证方式

①区域认证

  • 针对区域下所有邻居进行认证

  • //同个区域下所有路由器配置
    OSPF
    area 0
    authentication-mode simple plain 666	//区域认证
    

②接口认证

  • 针对接口下邻居进行认证

  • //接口下配置
    interface
    authentication-mode simple plain 666	//接口认证
    

注意:

一边为接口认证,一边为区域认证,可以认证成功(只要保证认证类型+密钥一致)

2.认证类型:

  • 明文认证:明文发送密码(在ospf 头部携带)

    • interface
      authentication-mode simple plain 666	//明文认证
      
  • 密文认证:加密发送认证信息(MD5加密)

    • interface
      authentication-mode cipher md5 plain 666	//密文认证
      

OSPF原理.png

推荐阅读