OSPF协议基础
OSPF协议基础
一、OSPF特点
1.无环路(SPF算法)
2.收敛快(自动收敛)
3.扩展性(多区域设计)
4.支持认证(安全性)
OSPF支持触发更新,能够快速检测并通告自治系统内的拓扑变化。
OSPF可以解决网络扩容带来的问题。当网络上路由器越来越多,路由信息流量急剧增长的时候,OSPF可以将每个自治系统划分为多个区域,并限制每个区域的范围。OSPF这种分区域的特点,使得OSPF特别适用于大中型网络。OSPF可以提供认证功能。OSPF路由器之间的报文可以配置成必须经过认证才能进行交换
二、OSPF工作原理
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
报文类型
①: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同步完成
状态机
①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
2.点到点(P2P)
①底层链路为串行链路,底层协议为PPP,HDLC时,默认为P2P网络类型
②一个接口只能存在一个邻居
③hello报文时间:30s dead时间:30s
④支持广播、组播发送hello报文、ospf报文
⑤不选举DR/BDR
3.点到多点(P2MP)
①没有底层链路默认时P2MP网络类型
②一个接口只能存在一个邻居
③hello报文时间:30s dead时间:120s
④支持广播、组播发送hello报文、ospf报文
⑤不选举DR/BDR
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
1.作用:
减少MA网络的邻接关系
从而减少链路状态信息以及路由信息的交换次数,这样可以节省带 宽,降低对路由器处理能力的压力。
2.选举规则:
先比较端口优先级,默认为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区域
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 //密文认证
-