OSPF(开放式最短路径优先协议2)
OSPF的不规则区域
远离骨干的非骨干区域
不连续骨干
使用tunnel隧道
在R2和R3之间构建一条隧道,之后,将这个隧道宣告到Area0,相当于将R3这个非法的ABR设备合法
化。
使用vpn隧道解决不规则区域的问题
- 可能产生选路不佳
- 可能造成重复更新
- 因为虚拟链路的存在,R2和R3之间也需要建立邻居。导致他们之间维护的周期性数据将穿越
Area1,导致中间区域的资源消耗过大
虚链路—Vlink
专门为了解决OSPF不规则区域所诞生的技术。是一种虚拟的、逻辑的链路。
虚链路的配置条件:只能穿越一个区域。
Vlink链路实际上全部使用单播报文来描述信息。
Vlink被视为骨干区域的一段延伸----vlink永远属于Area0。
使用vlink解决不规则区域的问题
- 因为虚拟链路的存在,R2和R3之间也需要建立邻居。导致他们之间维护的周期性数据将穿越
Area1,导致中间区域的资源消耗过大。 - 只能穿越一个区域。
实际上,vlink不仅仅应用在我们上述两种不规则区域,还可以用来修复一些次优路径或者骨干区域不健
壮问题。
使用多进程双向重发布
重发布
把一种路由信息以另一种路由协议的方式发布出去。
[r3-ospf-1]import-route ospf 2 —将OSPF进程2的路由导入到OSPF进程1
[r3-ospf-2]import-route ospf 1
OSPF的LSA详解
关于OSPF的数据表—LSDB(链路状态数据库)
OSPF协议邻接关系间,沟通互传的信息为各种LSA;最终将本地收集到达的所有LSA集合在本地的LSDB表中;
LSA-链路状态通告—ospf协议在不同的网络环境下产生不同类别的LSA,用于携带传递不同的信息;
[r3]display ospf lsdb router 1.1.1.1 查看一条LSA的具体内容
类别 link-id
在所有类别的LSA中均存在以下信息
Type : Router 类别名 此处为1类
Ls id : 1.1.1.1 link-id 在目录的页面号,由于具体查看该LSA时输入
Adv rtr : 1.1.1.1 通告者(更新源)的RID
Ls age : 400 老化时间,单位S;触发马上归0;1800周期归0;最大老化3609;
Len : 60
Options : E
seq# : 80000003 棒棒糖序列号规则
chksum : 0xb2ee
LSA类别 传播半径 通告者(更新源) 携带的信息
LSA1 Router 单区域 本区域内所有运行OSPF协议(RID) 本地直连拓扑
LSA2 Network 单区域 单个MA网络中的DR(RID) 单个MA网段拓扑
LSA3 summary 整个OSPF域 ABR 域间路由
LSA4 asbr 除ASBR所在区域外的 ABR(与ASBR在同一区域) ASBR位置
整个ospf域
ASBR所在区域基于1类告知位置
LSA5 ase 整个OSPF域 ASBR 域外路由
LSA7 nssa 单个NSSA区域 ASBR 域外路由
LSA1 Router 通告者的RID 本区域内部所有运行OSPF协议的是路由器
LSA2 Network DR的接口ip地址 单个MA网段中的DR
LSA3 summary 路由的目标网络号 ABR;在通过下一台ABR时,修改为新的ABR
LSA4 asbr ASBR的RID ABR;在通过下一台ABR时,修改为新的ABR
LSA5 ase 路由的目标网络号 ASBR
LSA7nssa 路由的目标网络号 ASBR,离开该区域进入其他区域将被转换为5类
二、OSPF的LSA优化(减少OSPF的LSA更新量)
1、汇总 - 减少骨干区域的LSA数量
2、特殊区域 –减少非骨干区域的LSA数量
【1】汇总
1)域间路由汇总 – 在ABR上将区域间传播的3类LSA进行汇总
[r1]ospf 1
[r1-ospf-1]area 2
本地通过区域2的1/2类LSA计算所得路由,在基于3类传递时方可汇总
[r1-ospf-1-area-0.0.0.2]abr-summary 5.5.4.0 255.255.254.0
只能在ABR上配置,在将A区域路由传递到B区域时进行汇总配置
2)域外路由汇总—在ASBR上,进行重发布,导入5/7类LSA进入OSPF域时,进行汇总
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
【2】特殊区域 – 不能是骨干区域,不能存在虚链路
注:一旦配置特殊,该区域内所有设备均需要进行配置,否则无法建立邻居关系
「1」不能存在ASBR
(1)末梢区域 stub – 该区域拒绝4、5的LSA进入,而是由连接骨干区域的ABR设备,向该区域发布一条3类的缺省路由;
[r5]ospf 1
[r5-ospf-1]area 2 将区域2配置为末梢区域
[r5-ospf-1-area-0.0.0.2]stub
(2)完全末梢区域 – 在末梢区域的基础上,进一步拒绝3类的LSA,仅保留一条3类的缺省路由进入
先将该区域配置为末梢区域,然后仅在ABR上定义完全即可
[r1]ospf 1
[r1-ospf-1]area 2
[r1-ospf-1-area-0.0.0.2]stub no-summary
[2] 存在ASBR
(1)NSSA – 非完全末梢区域 — 该区域将拒绝4/5的LSA;本NSSA所在区域ASBR产生的5类LSA,被7类传输,在通过该NSSA进入骨干区域时,被ARB转换回5类;
NSSA区域的作用不是抑制本地ASBR产生的信息,而是抑制该网络中其他区域ASBR产生的4/5类LSA;
华为:之后由该NSSA区域连接骨干区域的ABR向该NSSA区域发布一条7类的缺省路由;
Cisco:默认把一个区域配置为NSSA后,将不会自动产生缺省路由,需要在管理员确定网络无环的前提下,在手工添加缺省路由;
[r4]ospf 1
[r4-ospf-1]area 1
[r4-ospf-1-area-0.0.0.1]nssa
(2)完全NSSA – 在NSSA的基础上,进一步拒绝3类LSA;由连接骨干区域的ABR向该区域发布一条3类的缺省路由;本NSSA区域内部ASBR的路由基于7类传递,之后转换为5类进入骨干区域;
先将该区域配置为NSSA,然后仅在ABR上配置完全即可
[r3-ospf-1-area-0.0.0.1]nssa no-summary
切记:NSSA在华为体系中自动生成7类缺省;完全NSSA在华为和cisco体系中均自动3类缺省;此时一定需要关注网络连接ISP的位置,否则可能导致环路出现;
缺省路由 3类 5类 7类
3类缺省—特殊区域自动产生 末梢、完全末梢、完全NSSA 普通NSSA产生7类缺省;
5类缺省—从域外重发布进入到OSPF的缺省路由
比如连接ISP的边界路由器,需要手工静态一条缺省路由指向isp,这样该路由器的路由表中就存在一条非OSPF的缺省路由;可以让该OSPF路由器,重发布这条缺省进入OSPF域
[r1]ospf 1
[r1-ospf-1]default-route-advertise 把R1设备上,路由表中的其他协议或其他进程产生的缺省路由,导入到本OSPF域;
[r1-ospf-1]default-route-advertise always 让本地R1强制向该OSPF域发布一条缺省路由;无论R1本地路由表有没有缺省
7类缺省: 普通NSSA自动产生一条7类缺省;
在NSSA区域手工配置
该设备通过其他方式获取一条缺省路由,之后通过该命令导入到本地的NSSA区域
[r3-ospf-1-area-0.0.0.1]nssa default-route-advertise
NSSA环路问题
NSSA区域缺省路由配置错误可能会导致路由环路的产生
R4和R5无法下发OSPF缺省路由的原因是本地路由表中的静态缺省路由被R3发送的七类缺省路由所替
代。
当删除R3的下发命令后,R4和R5均会下发七类缺省路由,并学习对方的七类缺省路由,但是并不会将
从对方学习到的七类缺省路由加入到路由表中。
总结一下:
- NSSA区域的七类LSA实际上是需要ASBR或者ABR自己下发的。
- 而如果多台设备均下发成功七类LSA缺省路由,则虽然都会收到LSA信息,但并不会将其余设备的
LSA缺省信息加入到本地路由表中。因为始终相信自己的缺省路由是最好的。 - 而对于第一台发布七类缺省路由的设备而言,会认为我身上已经有了一条去往外部区域的路由,并
且本地作为通告者,那么当他接收到其他设备发送来的七类缺省路由,也不会进行学习。-----华为
运用该逻辑解决Totally NSSA中的环路问题。 - 华为为了解决环路问题,保留了NSSA区域由ABR产生的七类LSA缺省路由,这样做的好处就
是使得设备相信自己产生的这条LSA,而对于其他设备传递来的七类LSA,只接收到不使用。 - 这样一来,ABR设备就不会具备指向NSSA区域内部的缺省路由,更不会将这个缺省路由传递
给骨干区域,从而避免环路问题。
OSPF规定:在NSSA区域中,可能同时存在多个ABR或ASBR,为了防止路由环路产生,边界路由器
之间不计算对方发布的缺省路由。
NSSA负载分担解决次优路径问题
OSPF对进行7转5操作的规范:
- P比特位用于告知路由器该Type-7 LSA是否需要转换
- 缺省情况下,转换路由器是NSSA区域中RID值最大的ABR
- 只有P比特位和FA字段不为0的Type-7LSA才能被转换为五类。
[r4-ospf-1-area-0.0.0.1]nssa suppress-forwarding-address //在进行7转5时,删除转发地址
[r1-ospf-1-area-0.0.0.1]nssa translator-always //强制开启7转5操作,在ABR设备上配置
若本地存在两条LSA除了通告者不同外,只有FA字段的值不同,那么对于这两条五类或七类LSA而
言,FA字段不为0.0.0.0的LSA优先级更高。
NSSA区域如果没有FA字段,将会有很大的可能因为7转5操作出现次优路径