OSPF协议总结
OSPF:开放式最短路径优先协议(Open Shortest Path First)
8.LSA(链路状态通告)
1.LSA头部
- **老化时间(ls Age):**自从发出LSA后经历的时间。老化时间,1800s周期归0,触发更新马上归0,最大老化3609
- 可选项(Option):
- LSA类型:就是LSA类型;
- 链路状态ID(link-state ID):用来指定LSA所描述的部分OSPF域。
- 通告路由器(Advertising Router):始发路由器ID
- 序列号(LS Sequence Number):当LSA每次有新的实例产生时,这个序列号就会增加。– 棒棒糖序列号
- 校验和(LS Checksum):除了Age字段之外,关于LSA的全部信息的校验和。
- **长度(length):**包含LSA头部在内的LSA的长度。
LSA类型 | 传播范围 | 通告者(源头) | 携带的信息 |
---|---|---|---|
LSA1 router | 源所在区域(单区域) | 本区域内的每台OSPF路由器 | 本地直连拓扑 |
LSA2 network | 源所在区域 | 每个网段中的DR | 该MA网段的拓扑 |
LSA3 summary | 整个OSPF域 | ABR设备 | 域间路由(其它路由) |
LSA4 asbr | 除ASBR所在区域外的整个OSPF域 | ABR | ASBR的位置 |
LSA5 ase | 整个OSPF域 | ASBR | 域外路由(其他协议、进程) |
LSA7 nssa | 单个NSSA区域 | ASBR | 域外路由 |
LSA类型 | link-ID | 通告者(源头) |
---|---|---|
LSA1router | 通告者的RID | 本区域内的每台ospf路由器 |
LSA2 Network | DR接口的ip地址 | 每个网段中的DR |
LSA3 summary | 目标网段号 | ABR,在经过下一个ABR时修改为本地 |
LSA4 asbr | ASBR的RID | ABR,在经过下一个ABR时修改为本地 |
LSA5 ase | 目标网络号 | ASBR(在整个网络中传递时不变化) |
LSA7 nssa | 目标网络号 | ASBR |
9.减少OSPF协议的LSA更新量
1.汇总
前提需要良好的地址规划,目的:减少骨干区域的LSA数量。
【1】域间路由汇总(汇总3类路由)
在ABR上配置
[r5]ospf 1
[r5-ospf-1]area 2 只能将本地通过该区域内的1/2类LSA计算所得路由进行汇总
[r5-ospf-1-area-0.0.0.2]abr-summary 6.6.4.0 255.255.252.0
注:在华为设备上,汇总配置完成后,协议不会自动产生空接口防环路由,需要管理员手工添加;
【2】域外路由汇总(汇总5/7类LSA)
在ASBR上配置
[r1]ospf 1
[r1-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
注:在华为设备上,汇总配置完成后,协议不会自动产生空接口防环路由,需要管理员手工添加;
2、 特殊区域 – 减少非骨干区域的LSA数量
不能是骨干区域,不能存在虚链路
【1】不存在ASBR;
1) 末梢区域 — 该区域拒绝4/5的LSA进入;由该区域连接骨干区域的ABR,向该区域发布一条3类的缺省;
[r5]ospf 1
[r5-ospf-1]area 2
[r5-ospf-1-area-0.0.0.2]stub 将该区域定义为末梢区域
切记:该区域内的所有设备均需配置,否则无法建立邻居关系
2)完全末梢区域 — 在普通的末梢区域基础上,进一步拒绝3类的LSA,仅保留一条3类缺省; 先将该区域配置为末梢区域,然后仅在ABR上配置完成动作即可;
[r5]ospf 1
[r5-ospf-1]area 2
[r5-ospf-1-area-0.0.0.2]stub no-summary
【2】存在ASBR
1) NSSA – 非完全末梢区域
该区域拒绝4/5的LSA;本区域内的ASBR通过7类来传递域外路由,当这些路由需要基于ABR进入骨干区域时,被转换为5类(同时该ABR成为另一台ASBR);
NSSA区域存在的意义是为了拒绝网络中其他部分的ASBR产生的5/4类LSA;
同时NSSA区域中连接骨干区域的ABR向该区域发布一条7类的缺省;
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]nssa 该区域每台设备均需配置
2)完全NSSA –完全的非完全末梢区域
在NSSA的基础上,进一步拒绝3类LSA;同时NSSA区域中连接骨干区域的ABR向该区域发布一条3类的缺省;
先将该区域配置为NSSA,然后仅在ABR上定义完全即可;
[r3-ospf-1-area-0.0.0.1]nssa no-summary
10.OSPF协议的扩展配置
1、 认证
邻居间进行身份核实的行为,保障更新的安全性
1) 接口认证 –在直连邻居的接口上进行配置
[r2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher cisco123
邻居间的编号和秘钥必须完全一致
2) 区域认证
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher cisco123
本地所有处于区域0的接口上实施认证配置
3) 虚链路认证
[r2-ospf-1-area-0.0.0.0]vlink-peer 3.3.3.3 md5 1 cipher cisco123
2、 沉默接口(被动接口)
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/0
注:沉默接口将不发送任何路由协议的信息,用于路由器连接用户终端接口,不能用于连接路由协议邻居的接口,否则可能导致邻居间无法收敛;
3、 加快收敛
接口的hello time 10 ; dead time40s; 维持即可
若接口hello time 为30s,可以酌情修改,修改本端的hello time,本端的dead time将自动4倍关系匹配;切记邻居间hello、dead time必须完全一次,否则无法正常建立邻居关系;
[r2-GigabitEthernet0/0/1]ospf timer hello ?
INTEGER<1-65535> Second(s)
[r2-GigabitEthernet0/0/1]ospf timer hello 10
4、 缺省路由
1)3类缺省 — 协议自动产生 末梢、完全末梢、完全NSSA区域会由连接区域0的
ABR向该区域发布一条3类的缺省;
2)5类缺省 --边界路由器,将本地路由表中通过其他方式(静态、其他动态协议)获取到的缺省路由给重发布进入OSPF的工作域
[r2]ospf 1
[r2-ospf-1]default-route-advertise 向ospf域内发布5类缺省
向域内重发布一条5类的类型2缺省路由,前提本地路由表中存在其他方式产生的缺省路由;
[r2-ospf-1]default-route-advertise type 1 重发布类型1 路由
若本地路由表中不存在任何缺省路由,也可以强制向内部发布一条缺省
[r2-ospf-1]default-route-advertise always 默认为类型2 的缺省
[r2-ospf-1]default-route-advertise always type 1 修改为类型1 ;
3)7类缺省 — 配置区域为普通的NSSA区域时,连接区域0的ABR将向该NSSA发布一条7类的缺省;
[r2-ospf-1-area-0.0.0.1]nssa default-route-advertise 向NSSA区域发布一条7类缺省;强制产生;
最基本的选路规则:内部优于外部 5、7相遇先比优先级和cost,若一致,5优于7
切记:在ospf协议中使用特殊区域和缺省配置时,需要关注ISP的位置,ISP在连接在哪个非骨干区域,那么该区域将不得设定为任何的特殊区域,否则可能由于自动产生的缺省与手工的缺省方向相反,照成环路;
11.OSPF的扩展知识点
「1」附录E — link-id相同的问题
若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的link-id会相同;
假设:短掩码网段先进入,link-id正常显示;长掩码进入时link-id加反掩码
20.1.0.0/16–link-id 20.1.0.0
20.1.0.0/24–link-id 20.1.0.255
若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;
「2」OSPF选路规则
1、AD(管理距离)无关的一种情况:
r2(config)#router ospf 1
r2(config-router)#distance 109 1.1.1.1 0.0.0.0
本地从RID为1.1.1.1的设备处学习到路由条目,管理距离修改109;
一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离;因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败;-关注IOS版本—有时修改RID大路由器管理距离生效,有时需要修改RID小的设备;
2、AD(管理距离)无关的第二种情况 O IA 3类
O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离;
若一条通过骨干区域传递,另一条同过非骨干区域传递–非骨干传递的路由无效
OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;
先比类型-à 区域àcost
3、OE 与OE E为5类 N 为7类 默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量;
两条均为OE2或者均为N2,起始度量相同; 关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)
两条均为OE2或者均为N2,起始度量不同;优先起始度量小的路径;
注:以上设计是便于管理员快速干涉选路;
OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改后使得总度量产生区别才能干涉选路;
4、拓扑优于路由 1/2LSA计算所得路由优于3/4/5/7类计算所得
内部优于外部 3类优于4/5/7类
类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;
E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
【4】FA-转发地址
正常OSPF区域收到的5类LSA不存在FA值;
产生FA的条件:
1、5类LSA ---- 假设R2为ASBR,g0/0口工作的OSPF中,g0/1口工作在非ospf协议或不同ospf进程中;若g0/1也同时宣告在和g0/0相同的OSPF进程中,同时该接口的工作方式为广播型;
将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;
2、7类LSA—必然出现FA地址
假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;
S0/1未运行OSPF–FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)
R9的S0/1也工作OSPF协议中,S0/1接口工作方式为广播,那么FA地址为R10接口ip;
S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip
切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;
当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;
一旦出现FA地址,所有的选路计算均基于FA地址进行;
1、针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;
1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
【4】FA-转发地址
正常OSPF区域收到的5类LSA不存在FA值;
产生FA的条件:
1、5类LSA ---- 假设R2为ASBR,g0/0口工作的OSPF中,g0/1口工作在非ospf协议或不同ospf进程中;若g0/1也同时宣告在和g0/0相同的OSPF进程中,同时该接口的工作方式为广播型;
将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;
2、7类LSA—必然出现FA地址
假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;
S0/1未运行OSPF–FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)
R9的S0/1也工作OSPF协议中,S0/1接口工作方式为广播,那么FA地址为R10接口ip;
S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip
切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;
当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;
一旦出现FA地址,所有的选路计算均基于FA地址进行;
1、针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;
2、路由表中的度量是到FA地址的度量,不是到ASBR的度量;