ospf基础
ospf特点
- 没有跳数限制,适合大规模组网
- 使用组播更新变化的路由和网络信息
- 路由收敛快,可以触发更新
- COST作为度量值
- SPF算法有效避免环路
- 30分钟周期性更新----LSA
- 在互联网大量使用,是运用最广泛的路由协议
注意:OSPF传递的是拓扑信息和路由信息,RIP传递的是路由表
ospf三张表
邻居表:记录邻居状态和关系
拓扑表:链路状态数据库(LSDB)
路由表:记录由SPF算法计算的路由,存放在OSPF路由表中
dis ip routing-table pro ospf
ospf数据包
OSPF报文直接封装在IP报文中,协议号89
头部数据包内容:
- 版本(Version):对于OSPFv2,该字段值恒为2。
- 类型(Type):该OSPF报文的类型。该字段的值与报文类型的对应关系是:1-Hello;2-DD;3-LSR;4-LSU;5-LSAck。
- 报文长度(Packet Length):整个OSPF 报文的长度(字节数)。
- 路由器ID (Router Identification):路由器的OSPF Router-ID。
- 区域ID (Area Identification):该报文所属的区域ID,这是一个32bit 的数值。
- 校验和(Checksum):用于校验报文有效性的字段。
- 认证类型(Authentication Type):指示该报文使用的认证类型。
- 认证数据(Authentication Data):用于报文认证的内容。
hello报文
DD报文 --- 数据库描述报文
LSR报文 --- 链路状态请求报文
LSU报文 --- 链路状态通告
LSAck报文
ospf工作过程
状态机
条件匹配
工作过程
LSDB的更新
网络正在第一次收敛的时候,路由器会把自己LSDB表中的所有LSA发给邻接路由器。
注:广播网络中的更新:只由DR发起----当网络拓扑有变化的时候,路由器先把变化后的LSA发给监听224.0.0.6的的路由器,DR会把变化的LSA发给监听224.0.0.5的路由器。
ospf的开销计算
计算方法:
链路带宽大于等于参考带宽 cost=1
反之,cost=参考带宽/链路带宽(Mb)
注:在路由器上。千兆以太网、百兆以太网、十兆以太网的缺省OSPF链路开销值分别是:1、1、10
ospf区域划分
分区好处:
减少LSA泛洪范围;提高网络扩展性,有利于组建大规模的网络;
区域类型
骨干区域:
非骨干区域:
特殊区域:优化路由表、优化LSDB表
ospf路由器类型
区域内路由器(IR):所有接口在同一区域
骨干路由器(BR):有接口都在骨干区域
区域边界路由器(ABR):连接骨干区域和非骨干区域
自治系统边界路由器(ASBR):连接外部自治系统并引入外部路由;ASBR设备上要运行多种路由协议或者运行同一个路由协议的多个进程。
区域划分原则
LSA头部
判断LSA新旧关系
6种LSA
链路类型
|
LS ID
|
通告者
|
传播范围
|
携带信息
|
Router(Type-1)
|
通告者的RID
|
区域内所有运行了OSPF协议
的路由器的RID
|
单区域
|
本地接口的
直连拓扑信
息
|
network(Type-
2)
|
DR接口
的IP地址
|
单个MA网络中DR所在的路
由器的RID
|
单区域 |
单个MA网络
拓扑信息的
补充信息
|
summary(Type-
3)
|
目标网络号 |
ABR设备的RID,在通过下一
个ABR设备时,会被修改为
新的ABR设备的RID
|
ABR设备相
邻的区域
|
域间路由信息 |
asbr(Type-4)
|
ASBR的
RID
|
与ASBR同区域的ABR的
RID,在通过下一个ABR设备
时,会被修改为新的ABR设
备的RID
|
除了ASBR所
在区域的其
他单区域
|
ASBR的位置信息 |
ase(Type-5)
|
域外路由
目标网络
号
|
ASBR | 整个OSPF网络 | 域外路由信息 |
NSSA(Type-7)
|
域外路由
目标网络
号
|
ASBR;离开NSSA区域后,
被转换为5类
|
NSSA区域
|
域外路由信息 |
ospf网络类型
网络类型
|
网络类型 OSPF接口网络类型(工作方式)
|
Broadcast
|
Broadcast;可以建立多个邻居关系;需要进行DR/BDR选举;Hello时间 10S, dead time 40S。
|
P2P
|
P2P;只能建立一个邻居关系;不需要进行DR/BDR选举;Hello时间 10S, dead time 40S。
|
环回接口(虚拟接口)
|
P2P填充;实际上该接口没有数据收发。默认学习32位主机路由;cost固定为0。
|
P2MP;可以建立多个邻居关系,不需要进行DR/BDR选举;Hello时间 30S,
dead time 120S。会学习邻居接口的主机路由。
|
|
NBMA(帧中继)
|
NBMA;可以建立多个邻居关系,需要进行DR/BDR选举;Hello时间 30S,dead time 120S。
不能自动建立邻居,需要管理员手工指定邻居IP地址。
该类型所有的OSPF报文都是单播发送
|
Vlink(Vitrual);以单播来传输数据;Hello时间 10S,dead time 40S。不需要
进行DR/BDR选举。
|
OSPF不规则区域划分解决方案
虚连接
[r2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3
[r3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2

重发布
[R4-ospf-1]import-route ospf 2
[R4-ospf-2]import-route ospf 1
特殊区域
定义:特殊区域是指人为定义的一些区域,它们在逻辑中一般位于ospf区域的边缘,只与骨干区域相连。
特殊区域的条件:不能是骨干区域;不能存在虚链路;
STUB区域:末梢区域
末梢区域,适用于区域中路由器性能较低,目的是为了减少区域中路由器的路由表规模以及路由信息传递的数量。不希望接收大量的AS以外路由
1.不能是骨干区域;2.不能存在Vlink链路;3.不能存在ASBR设备
如果一个区域成为末梢区域,则该区域会拒绝学习4/5类LSA。

[r1-ospf-1-area-0.0.0.2]stub
[r5-ospf-1-area-0.0.0.2]stub
totally stub区域----完全末梢区域
完全末梢区域,拒绝学习域外和其他区域的路由信息
1.不能是骨干区域;2.不能存在Vlink链路;3.不能存在ASBR设备
如果一个区域成为末梢区域,则该区域会拒绝学习4/5类LSA。
特点:在末梢区域的基础上,进一步的拒绝3类LSA在该区域中洪泛。
[r1-ospf-1-area-0.0.0.2]stub no-summary ---只需要在ABR上配置
NSSA区域(Not-So-stubby Area)----非纯末梢区域
1.不能是骨干区域;2.不能存在Vlink链路;3.必须存在ASBR设备。

[r1-ospf-1-area-0.0.0.2]nssa
[r5-ospf-1-area-0.0.0.2]nssa
totally NSSA区域---完全非纯末梢区域
1.不能是骨干区域;2.不能存在Vlink链路;3.必须存在ASBR设备。
在NSSA区域的基础上,进一步拒绝3类LSA的传播。
[r5-ospf-1-area-0.0.0.2]nssa no-summary
OSPF路由聚合
OSPF路由只能手动聚合(LSA),将具有相同前缀的路由信息聚合后发布到其他区域
针对3类、5类、7类LSA;OSPF路由只能手动聚合(LSA
ABR聚合(3类)
[GS-R2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.224.0 --
- 在本地产生一条描述192.168.0.0/19的三类LSA,而这个LSA会抑制本地生成明细三类
LSA
[GS-R3-ospf-1-area-0.0.0.2]abr-summary 192.168.32.0 255.255.224.0
ASBR聚合(5类、7类)
实质上是通过在ASBR的重发布过程中,将5/7类LSA进行汇总。
[r1-ospf-1]asbr-summary 10.1.0.0 255.255.0.0
OSPF安全特性
1、OSPF报文验证:
区域验证模式:在区域下配置一致的密码才能加入同一个区域。[r3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
接口验证模式:链路两端的接口必须配置一致的密码才能建立邻居关系
[r5-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
虚链路认证(本质接口认证):[r4-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 md5 1 cipher 123456
注:接口认证高于区域认证,只要接口验证通过,区域验证哪怕失败,也不影响邻接关系建立
2、禁止端口发送OSPF报文:
为了使OSPF路由信息不被其他路由器获得,配置静默接口:[r5-ospf-1]silent-interface GigabitEthernet 0/0/2
3、路由过滤
(1)特点:影响本机及下游路由器的OSPF表的学习,过滤本机及下游路由器的LSDB表中的LSA,在协议视图下配置进方向
方法2:在传入区域的区域视图下配置出方向,不影响本机ospf表的学习,但影响下游路由器ospf表的学习,过滤本机及下游路由器的LSDB表中的LSA
(3)过滤3类5类/7类LSA:not-advertise 实现
加快收敛
1、修改hello时间:[r5-GigabitEthernet0/0/0]ospf timer hello 5
2、修改死亡时间:[r1-GigabitEthernet0/0/0]ospf timer dead 20
3、其他计时器:
重传时间默认5S:[r5-GigabitEthernet0/0/0]ospf timer retransmit ?-----重传LSA的
INTEGER<1-3600> Second(s)
4、修改ospf的网络类型:[R2-GigabitEthernet0/0/0]ospf network-type ?
注:两端网络类型不一致,导致邻居关系建不起来
缺省路由
(1)3类缺省:特殊区域自动下发,优先级10
(2)5类缺省:手工配置,优先级150
命令:[r2-ospf-1]default-route-advertise --- 相当于将本设备上通过其他方式学到的缺省路由,重发布到OSPF网络当中
(3)7类缺省:
自动下发,通过配置特殊区域自动下发,优先级150-----nssa
手工下发,优先级150
命令:[r2-ospf-1]default-route-advertise always --- 在设备上没有其他网络学来缺省信息时,可以强制下发一条7类缺省。
路由控制
1、优先级
[r3-ospf-1]preference 50 --- 修改OSPF路由默认优先级,只影响本机OSPF路由的学习
[r3-ospf-1]preference ase 100 --- 修改域外导入的路由的默认优先级。
2、开销值
[r3-ospf-1]bandwidth-reference 1000 --- 修改参考带宽需要将所有OSPF网络中的设备都改成相同的。
[r3-GigabitEthernet0/0/0]undo negotiation auto --- 关闭自动协商
[r3-GigabitEthernet0/0/0]speed 10---修改接口真实传输速率
[r3-GigabitEthernet0/0/0]ospf cost 1000 --- 修改接口开销值
[R1]dis ospf error 显示ospf错误统计信息
附录E
OSPF防环
OSPF选路原则
OSPF建邻失败原因
1.RID冲突 2.区域ID不一致 3.OSPF认证不一致 4.OSPF以太网接口掩码不一致
5.hello时间和dead时间不一致 6.特殊区域标记不一致 7.没有DR
8.拓展能够建立邻接,但是无法获取路由- 接口网络类型不一致将导致生成有向图不一致,计算路由失败