一、OSPF基础
1. 技术背景(RIP的问题)
最大跳数限制(15跳),不适应大规模组网
周期性发送全部路由信息,占用带宽
路由收敛速度慢
以跳数为度量值,可能导致非最优路径
存在路由环路风险
每30秒更新一次
2. OSPF协议特点
无跳数限制,适合大规模组网
组播更新变化的路由信息,减少带宽占用
收敛快,支持触发更新
以COST为度量值
采用SPF算法避免环路
每30分钟周期性更新(LSA)
应用广泛,传递拓扑信息+路由信息(RIP仅传递路由表)
3. OSPF三张表
表类型作用查看命令示例邻居表记录邻居状态和关系-拓扑表链路状态数据库(LSDB),存储全网拓扑[R1]dis ospf 1 lsdb路由表由SPF算法计算的最优路由dis ip routing-table pro ospf
4. OSPF数据包(封装在IP中,协议号89)
头部字段
版本(OSPFv2为2)、类型(1-5对应Hello/DD/LSR/LSU/LSAck)
报文长度、路由器ID、区域ID、校验和、认证类型及数据
5种报文类型
报文类型作用关键字段/特性Hello发现、建立、保活邻居关系网络掩码、Hello间隔(默认10s)、Dead间隔(默认40s)、DR/BDR、邻居Router-IDDBD交换LSDB中LSA的摘要信息接口MTU、I(Init位)、M(More位)、MS(主从位)、DD序列号LSR请求缺少或更新的LSA详细信息LSA三元组(链路状态类型、ID、通告路由器)LSU发送LSA详细信息(可包含多个LSA)组播地址:224.0.0.6(DR/BDR监听)、224.0.0.5(所有OSPF路由器监听)LSAck确认收到LSU包含需确认的LSA头部
5. OSPF工作过程
建立邻居:通过Hello报文发现并确认邻居(2-way状态),选举DR/BDR(广播网络)
同步LSDB:邻居间通过DBD交换LSA摘要,用LSR请求缺失LSA,LSU发送详细信息,LSAck确认
计算路由:LSDB同步后,用SPF算法计算最优路由,形成路由表
6. 关键概念
Router ID:路由器唯一标识,手工配置或自动选举(环回口IP>物理口IP,选大的)
DR/BDR:广播网络中选举,减少邻接关系数量。规则:优先级(0-255,默认1)高优先,否则Router ID大优先;无抢占性
状态机:从Down→Init→2-way(邻居稳定)→Exstart(协商主从)→Exchange(交换LSA摘要)→Loading(请求LSA)→Full(邻接稳定)
7. LSDB更新
收到LSA时,若本地无则加入;若有则比较序列号(大的更新),序列号相同则比较校验和(大的更新)
广播网络中,拓扑变化时,DROTHER向224.0.0.6发送LSU,DR转发至224.0.0.5
8. 开销(COST)计算
参考带宽:默认100M,建议设为网络中最高链路带宽
公式:链路带宽≥参考带宽时,COST=1;否则COST=参考带宽/链路带宽(Mb)
缺省值:千兆以太网=1,百兆以太网=1,十兆以太网=10
9. 区域划分
目的:减少LSA泛洪范围,提高扩展性
类型:骨干区域(Area 0)、非骨干区域、特殊区域
原则:非骨干区域必须与骨干区域相连,非骨干区域间不能直接相连(防环)
10. 路由器类型
类型定义区域内路由器(IR)所有接口在同一区域骨干路由器(BR)至少一个接口在骨干区域(Area 0)区域边界路由器(ABR)连接骨干区域和非骨干区域自治系统边界路由器(ASBR)连接外部自治系统,引入外部路由
二、LSA类型
1. LSA头部(20字节)
包含:链路状态老化时间(最大3600s)、可选项、类型、ID、通告路由器、序列号(判断新旧)、校验和、长度
2. 6种主要LSA
1、type1-LSA:----重要且复杂
(1)定义:router LSA
- Type1 LSA
[R1]dis ospf lsdb router 查看Type1 LSA的具体信息
(2)LS ID:发出该LSA的路由器的router-id
(3)Adv Rtr:始发路由器,产生该LSA的路由器的router-id
(4)链路ID:不同的链路类型,对链路ID值的定义是不同的。
(5)链路数据(Link Data):不同的链路类型对链路数据的定义是不同的。
(6)link-type:链路类型,描述该接口的二层类型
- :在广播网络中出现,连接了多个运行ospf协议的路由器,承载过路流量
类型:广播网络或者NBMA
link-id:本网段的DR的IP地址
Date:本路由器在该网段的IP地址
- :适用于网络
类型:ppp
link-id:该网段对端路由器的router-id
Date:本路由器在该网段的与对端路由器相连的接口的IP地址
- (末梢网络):运行OSPF协议的路由器连接一个直连网段,(比如连接PC的接口,这个接口被宣告进OSPF。),这个直连网络不承载任何过路流量
类型:p2p\环回口
link-id:该网段的网络地址
data:该网段的子网掩码
- Virtual(虚链路):
类型:虚链路
link-id:虚链路邻居的router id
data:去往该虚连接邻居的本地接口的IP地址
(7)VEB标志位:
- 位(irtual Link Endpoint Bit):如果该比特位被设置为1,则表示该路由器为irtual Link的端点。
- 位(xternal Bit):如果比特位被设置为1,则表示该路由器为ASBR。在Stub区域中,不允许出现E比特位被设置为1的Type-1 LSA,因此Stub区域内不允许出现ASBR。
- 位(order Bit):如果比特位被设置为1,则表示该路由器为两个区域的边界路由器,字母B意为Border(边界)。
2、type2-LSA:
(1)定义:
network LSA
描述区域内的MA网络(广播网络、NBMA网络)路由器的链路及掩码信息
仅在区域内部传输
只有DR才会产生type2_LSA
[R1]dis ospf lsdb network 查看Type2 LSA的具体信息
(2)内容:
LS ID:该网段的DR的IP地址
Adv Rtr:该网段DR的router-id
network mask:该网段DR的IP地址的子网掩码信息
3、type3-LSA:
(1)定义:
Summary LSA(聚合LSA)
在整个OSPF域内,描述其他区域的链路信息
以子网形式传播,类似直接传递路由
只有ABR会产生type3_LSA
[R1]dis ospf lsdb summary 查看Type3 LSA的具体信息
(2)内容:
LS ID:其他区域某个网段的网络地址
Adv Rtv:通告该LSA的ABR的router-id
net mask:该网段的子网掩码
注:3类LSA的传递范围在ABR相邻的单区域中进行,跨区域传递时,需要进行通告者的转换,通告者变了,则将不是同一条LSA
4、type4-LSA:---整个ospf的域
(1)定义:
Asbr-summary LSA
描述ASBR的信息
只有ABR才会产生TYPE4 LSA
(2)内容:
LS ID:ASBR的router-id
Adv Rtv:通告描述该ASBR的ABR的router-id
[R1]dis ospf lsdb asbr 查看Type4 LSA的具体信息
注:在ASBR本区域的内部路由器,不会产生到达该ASBR的4类LSA
5、type5-LSA:----整个ospf域
(1)定义:
AS_extenal LSA,传递域外 路由信息
描述AS外部引入的路由信息,会传播到所有区域(特殊区域除外)
只有ASBR才会产生type5_LSA
(2)内容:
LS ID:外部路由的目的网络地址
Adv Rtv:引入该网络路由的ASBR的router-id
net mask:引入的该目标网段的子网掩码
[R1]dis ospf lsdb ase 查看Type5 LSA的具体信息
6、type7-LSA:---不能进入area 0,只存在于NSSA区域和totally NSSA区域
(1)定义:
NSSA LSA
描述在NSSA区域引入的AS域外的外部路由信息
只会出现在NSSA和totally NASS区域,不能进入area 0
7类LSA生成路由信息的标记位,O_NSSA,优先级150
(2)内容:
LS ID:外部某个网段的网络地址
Adv Rtv:引入该网络路由的ASBR的router-id
区域内传拓扑,区域间传路由
三、OSPF网络类型
网络类型默认链路类型报文发送方式DR/BDR选举Hello间隔Dead间隔NBMA帧中继单播(需手动指定邻居)是30s120sP2MP手动配置模拟组播(需手动指定邻居)否30s120sBroadcast以太网组播是10s40sP2PPPP组播否10s40s
MGRE实验问题及解决:
问题1:Tunnel接口为P2P类型,无法建立邻接→解决:改为广播或P2MP类型([R2-Tunnel0/0/0]ospf network-type broadcast)
问题2:DR/BDR选举混乱→解决:分支站点DR优先级设为0(确保中心为DR)
四、特殊区域
共性条件:
不能是骨干区域(Area 0),不能存在虚链路
1. STUB区域(末梢区域)
特征:不接受4类、5类LSA;无ASBR;ABR自动下发3类缺省路由(0.0.0.0/0)
命令:[r5-ospf-1-area-0.0.0.2]stub
2. Totally STUB区域(完全末梢区域)
特征:不接受3类、4类、5类LSA;无ASBR;ABR自动下发3类缺省路由
命令:[r5-ospf-1-area-0.0.0.2]stub no-summary
3. NSSA区域(非纯末梢区域)
特征:不接受4类、5类LSA;可存在ASBR(引入外部路由以7类LSA存在);ABR将7类转为5类LSA;华为设备自动下发7类缺省
命令:[r5-ospf-1-area-0.0.0.2]nssa
4. Totally NSSA区域(完全非纯末梢区域)
特征:不接受3类、4类、5类LSA;可存在ASBR;ABR下发3类缺省路由
命令:[r5-ospf-1-area-0.0.0.2]nssa no-summary
五、路由聚合
定义:
手动将相同前缀的路由聚合后发布,减少LSA数量,适用于3类、5类、7类LSA
1. ABR聚合(3类LSA)
作用:将一个区域的LSA聚合后发布到相邻区域
命令:[r1-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
特性:不影响ABR自身路由,下游路由器仅见聚合路由;ABR自动生成黑洞路由防环
2. ASBR聚合(5类、7类LSA)
作用:将引入的外部路由聚合后发布到OSPF内部
命令:[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0
特性:不影响ASBR自身路由,OSPF内部仅见聚合路由;ASBR自动生成黑洞路由防环
六、不规则区域解决方案
问题场景:
非骨干区域无法与骨干区域连通
骨干区域被分割
解决方案
虚连接:在两个ABR间建立,穿越中间区域(不能是特殊区域)
命令:[RTB-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3(对方Router ID)
路由引入:在ASBR上运行多OSPF进程,互相引入路由
命令:[R4-ospf-1]import-route ospf 2
七、高级特性
1. 安全特性
报文验证:区域验证([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),接口验证优先级更高
静默接口:禁止端口发送OSPF报文([r5-ospf-1]silent-interface GigabitEthernet 0/0/2)
路由过滤:用ACL+filter-policy(入方向,影响本机及下游)或filter(出方向,仅影响下游)
2. 加快收敛
调整计时器:Hello时间(ospf timer hello 5)、Dead时间(ospf timer dead 20)、重传时间(默认5s)
修改网络类型(需两端一致)
3. 缺省路由
3类缺省:特殊区域ABR自动下发(优先级10)
5类缺省:手工配置([r2-ospf-1]default-route-advertise,优先级150)
7类缺省:NSSA区域自动/手工下发(优先级150)
4. 防环与选路
防环:区域内用SPF算法,区域间靠区域划分原则
选路优先级:1.区域内路由(1/2类LSA)→2.区域间路由(3类)→3.一类外部路由(计算内部Cost)→4.二类外部路由(不计算内部Cost)