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

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

OSPF LSA详解

OSPF 网络优化

OSPF的特殊区域详解

1.协议简述

OSPF为无类别状态路由协议;基于拓扑工作,更新量大,为保证可以在中、大型网络中工作,需要结构化部署–区域划分、地址规划
跨层封装于IP报头,协议号89;触发更新、周期更新(30min),组播更新地址224.0.0.5通用地址 224.0.0.6 DR/BDR专用地址

2.距离矢量型与链路状态型协议比较

在这里插入图片描述
当网络规模较小时,OSPF用时长,随着网络规模的不断扩大OSPF收敛速度相比于距离矢量型会更快
在这里插入图片描述

3.OSPF的数据包

OSPF有5种数据包
在这里插入图片描述
HELLO包-用于邻居的发现、建立、保活
DBD-数据库描述包-本地数据库的目录
LSR-链路状态请求-查看邻居的DBD后,对本地未知信息进行查询
LSU-链路状态更新-应答对端的LSR,分享本地LSA信息
LSACK-链路状态确认
LSA-链路状态通告,具体的拓扑或者路由信息;基于LSU包来进行传递;
LSDB-链路状态数据库,所有LSA的集合

4.OSPF的邻居关系

1.P2P 224.0.0.5组播更新
2.MA网络 会缩减邻居关系(算法所致)-DR/BDR 224.0.0.6组播更新

通信过程

只能让DR/BDR 收集MA网络信息,使用两个组播地址
DR/BDR 发送使用224.0.0.5,监听使用224.0.0.6
DR OTHER 发送使用224.0.0.6,监听使用224.0.0.5

5.OSPF邻居形成过程

(1).邻居状态机制

1.DOWN----一旦发出HELLO包进入下一个状态
2.INIT 初始化----HELLO包发出但未收到含有本地RID的HELLO包
3.TWO-WAY 双向通信----HELLO包发出并收到含有自己本地RID的回包,只有MA网络有(P2P网络直接跳过该状态),用于选举DR/BDR,邻居关系建立的标志
在这里插入图片描述
4.EXSTART----DBD发出,并收到,用于选举主从关系,RID大的设备为主,主设备先发送携带拓扑缩略信息的DBD,收到对方发送的LSACK结束
5.EXCHANGE----DBD完整结构,由主先发出,从接收后发出,DBD中携带的是拓扑的目录(缩略信息),用来查看该路由器哪些信息时自己需要的,哪些是自己不需要的,收到对方的LSACK结束
6.LOADING----发送LSR请求自己想要的完整拓扑信息,对方用LSU回应,LSU会携带该路由器完整的拓扑信息,以自己发送LSACK确认对方LSU结束
7.FULL----转发状态,邻接关系建立完成
ATTEMPT状态只有在NBMA中出现(当卡在INIT状态时会转到ATTEMPT状态等待对方的HELLO包)

(2).OSPF建立邻居的条件

1.HELLO,DEAD时间一致
2.MTU值一致
3.认证
4.相同的AREA ID
5.特殊标识(NSSA和STUB)
6.ROUTER-ID不能相同
7.网络类型(主要为HELLO时间)但是点到点和MA建立邻居关系会引起SPF算法混乱
8.MAX-LSA数量的限制会引发LSA加载失败影响建邻
9.掩码一致(MA网络可以不相同)
在这里插入图片描述

(3).邻居成为邻接关系的条件

基于网络类型,P2P网络类型必然成为邻接关系;P2P网络点到点不会有第三者的出现
因为OSPF协议需要在邻接关系之间进行数据库的比对,同步;故不能使用类似距离矢量协议的接口水平分割,导致在MA网络中将出现大量的重复更新;所以使用DR/BDR选举规则来解决–非DR/BDR间不能成为邻接关系

DR/BDR 选举规则(非抢占性)

1.比较接口优先级,点到点优先级默认为0(不参选,无选举权),MA网络优先级默认为1,范围0-255,越大越优。
2.若本地优先级相同,对比RID(唯一标识一个路由器,先回环地址,没有则接口地址,多个地址选最大),值最大为DR,次大为BDR

6.拓扑信息LSA

LSA-链路状态通告 LSA头(缩略信息)+LSA体 完整的LSA携带完整的拓扑信息
DBD和LSR携带的都是LSA的头部协议 只有LSU才携带LSA的完整信息
LSA头部内容
1.TYPE类型
2.LS-ID
3.LS-ADVROUTER 通告者路由器
4.序列号
5.校验
6.长度
在这里插入图片描述
LSA内容
1.链路的路由前缀
2.链路路由掩码
3.链路的开销
4.连接的链路类型,以及连接的路由器
在这里插入图片描述

7.路径收敛(SPF算法)

当收到LSA后,根据LSDB运行SPF算法,找出自己到达所有路由器的所有最短路径,生成树装图(无环路,且最短),在图中检索,自己到达其他路由器网段的路径,该路径最短

8.LSA的接收和洪泛

周期洪泛 30min洪泛 60min会老化 1个LSA在60分钟没有收到洪泛,就会被删除在这里插入图片描述
如图所示,当一个路由器收到LSU后,先判断LSU中携带的LSA是否在自己的LSDB中,如果在,检查是否含有相同的序列号,如果序列号相同则直接丢弃,序列号不同的判断此序列号是否在自己LSA的序列号之前,不在则添加进入数据库发送LSACK,洪泛LSA,运行SPF算法生成新的路由表,在则自己发送LSA更新对方

当一个路由器收到LSU后,判断LSU中携带的LSA是否在自己的LSDB中,不在的话,直接加入DBD表,发送LSACK,洪泛LSA,运行SPF算法计算生成新的路由表

OSPF LSA详解

OSPF 网络优化

OSPF的特殊区域详解

9.OSPF的汇总与默认路由

1.汇总

(1).域间汇总-针对3类LSA汇总-只能在ABR上操作

R3(config)#router ospf 1 
R3(config-router)#area 1 range 4.4.4.0 255.255.254.0

汇总同时可以做路由过滤
R3(config-router)#area 1 range 4.4.4.0 255.255.254.0 no-advertise
此条命令可以删除明细,产生汇总,但不传播
汇总的本质:删除明细路由,创造一条汇总路由(一般路由协议都会产生汇总,在本地指向空接口,为防环)

(2).域外汇总-针对5类7类LSA汇总-只能在ASBR上操作

r5(config)#router ospf 1 
r5(config-router)#summary-address 99.1.0.0 255.255.252.0
2.默认路由(缺省路由)

两种下放方式
1.当路由表中有默认路由时,在OSPF中如下操作

R2(config)#router ospf 1 
R2(config-router)#default-information originate 

2.强制下放
本地无默认路由也可下放缺省,但是慎用,当在有两个出口的网络中,ALWAYS下发默认,会出现问题

R2(config)#router ospf 1 
R2(config-router)#default-information originate always

10. OSPF的高级操作

1.STUB路由器
R5(config)#router ospf 1
R5(config-router)#max-metric router-lsa ?
	external-lsa  Override external-lsa metric with max-metric value
	include-stub  Set maximum metric for stub links in router-LSAs
  	on-startup    Set maximum metric temporarily after reboot
	summary-lsa   Override summary-lsa metric with max-metric value
 	<cr>

(1).max-metric router-lsa 最大开销1类LSA
经过该路由器传递的1类LSA都会把metric加到最大,有其他路径就不会走该路径

(2).max-metric router-lsa on-startup X(数值)
收到一个LSA,在X秒内收到的metric都会设置为最大
用于主备切换
max-metric router-lsa on-startup wait-for-bgp
收到LSA在BGP收敛之前会把metric设置为最大(防止BGP收敛引发的瞬时黑洞现象)

2.max-lsa

限制该路由器LSA接收的数量,目的是保护该路由器

	R2(config-router)#max-lsa 10

低端路由器,承载不了相当多的LSA

3.Graceful restart-完美重启

当OSPF进程丢失或者重启的时候,OSPF的路由不会从路由表中删除

4.域ID
R2(config-router)#domain-id x.x.x.x

用于判断OSPF是否在一个AS,默认值为进程号

11.OSFP的认证

1.链路认证

用途防止链路接入非法路由器,链路所有设备均需开启
1.明文认证//不安全

R1(config)#interface e0/0
R1(config-if)#ip ospf authentication	//开启明文认证,可以不写秘钥
R1(config-if)#ip ospf authentication-key cisco  //输入明文认证密码

2.密文认证(MD5认证)//安全

R1(config)#interface e0/0
R1(config-if)#ip ospf authentication message-digest //开启认证
R1(config-if)#ip ospf message-digest-key 1 md5 cisco //输入秘钥
2.区域认证

用途防止区域内接入非法路由器(无授权),区域内所有路由器都需开启
路由器所定义区域所有接口都打开认证
1.明文认证(所有所在区域路由器上均需配置)

R1(config)#router ospf 1
R1(config-router)#area 0 authentication //区域开启明文认证
R1(config-router)#exit
R1(config)#interface e0/0
R1(config-if)#ip ospf authentication //接口开启明文认证
R1(config-if)#ip ospf authentication-key cisco //接口写入秘钥

2.密文认正(MD5认证)所有所在区域路由器均需配置

	R1(config)#router ospf 1
	R1(config-router)#area 0 authentication message-digest 	//区域开启密文认证
	R1(config-router)#exit 
	R1(config)#interface e0/0
	R1(config-if)#ip ospf authentication message-digest //接口开启密文认证
	R1(config-if)#ip ospf message-digest-key 1 md5 cisco //接口写入秘钥

12.OSPF的过滤技术

1.分发列表

是一种操作路由表显示路由条目的做法//使用的时候不太推荐,有局限性,局限性体现在,本路由器过滤的路由不会影响下游路由器
在这里插入图片描述

配置
R1(config)#router ospf 1 
R1(config-router)#distribute-list 1 in e0/1 //1为ACL1
R1(config-router)#exit
R1(config)#access-list 1 deny host 5.5.5.5
R1(config)#access-list 1 permit any 

在OSPF中,不能使用OUT操作,只能定义IN,在距离矢量型路由协议中可以定义IN
距离矢量型为传递路由表行为,OSPF不能传递路由表

2.fliter-list

只能针对3类LSA,如果存在多个ABR,需要在多个ABR上都需要做

	R3(config)#router ospf 1
	R3(config-router)#area 1 filter-list prefix xx in
	R3(config)#ip prefix-list xx deny 5.5.5.5/32
	R3(config)#ip prefix-list xx permit 0.0.0.0/32 le 32

3.通过汇总不通告来过滤明细路由

汇总和明细都不通告

配置
R3(config)#router ospf 1
R3(config-router)#area 1 range 10.5.0.0 255.255.0.0 not-advertise

4.重发布的过滤

重发布时使用route-map来过滤

配置
R3(config)#interface loopback 1
R3(config-if)#ip address 10.8.1.1 255.255.255.255
R3(config-if)#exit
R3(config)#interface loopback 2
R3(config-if)#ip address 10.8.2.2 255.255.255.255
R3(config-if)#exit
R3(config)#router ospf 1
R3(config-router)#redistribute connected route-map K subnets
R3(config-router)#exit
R3(config)#route-map K deny 10
R3(config-route-map)#match ip address 1
R3(config-route-map)#exit 
R3(config)#route-map K permit 20 //放空一张表,允许其他路由通过
R3(config-route-map)#exit 
R3(config)#access-list 1 permit 10.8.2.2 0.0.0.0

route-map为拒绝,acl为允许,一真一假结果为假

OSPF LSA详解

OSPF 网络优化

OSPF的特殊区域详解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章