1.区域内路由计算
(1)LSA的基本概念
LS Age:当LSA被始发时,该字段为0,随着LSA在网络中被泛洪,该时间逐渐累加,当到达MaxAge(缺省值为3600s)时,LSA不再用于路由计算。
LS Sequence Number:该字段用于判断LSA的新旧或是否存在重复的实例。序列号范围是0x80000001-0x7FFFFFFF,路由器始发一个LSA,序列号为0x80000001,之后每次更新序列号加1,当LSA达到最大序列号时,重新产生该LSA,并且把序列号设置为0x80000001。
2.常见LSA的类型
区域内路由计算
在许多场合中,我们习惯使用类型值来称呼对应的LSA,例如1类LSA等同于Router LSA,2类LSA等同于Network LSA,以此类推。
区域内:设备所属的OSPF Area id相同,那么这些设备是属于区域内的关系;
区域间:设备所属的OSPF Area id不同,那么这些设备是属于区域间的关系;
区域外:有设备属于OSPF区域,但是另外一些设备不属于OSPF协议的范围,区域外;
(1)Router LSA(1类LSA)每台OSPF路由器都会产生。它描述了该路由器直连接口的信息。
Router LSA只能在所属的区域内泛洪。
(2)Router LSA使用Link来承载路由器直连接口的信息。
每条Link均包含“链路类型”、“链路ID”、“链路数据”以及“度量值”这几个关键信息。
路由器可能会采用一个或者多个Link来描述某个接口。
(3)Network LSA(2类LSA) :由DR产生,描述本网段的链路状态,在所属的区域内传播。
Network LSA 记录了该网段内所有与DR建立了邻接关系的OSPF路由器,同时携带了该网段的网络掩码。
(4)SPF算法
思考:为什么路由器的OSPF路由表中的路由没有全部出现在全局路由表中?
ospf区域内可以做到100%没有环路,区域内的路由不是邻居告诉你的。而是设备本身通过收集自身和邻居的LSA,放进LSDB,通过SPF算法,得出最短路径树,下发最优路由到路由表,RIB下载相应路由到FIB。
LSA区域内使用就是router lsa和network lsa,不但可以算出路由,并且还清楚知道本区域拓扑是如何连接!
2.区域间路由计算
(1)区域划分
1类 2类被限制在区域内,区域间不能直接传递,将OSPF区域划分成多个区域,那么1、2类LSA对设备就会减小。
ABR:不同OSPF区域之间连接的路由器(必须其中有一个区域是骨干区域area 0)
(2)区域间路由信息传递
(3)Network Summary LSA详解
(4)域内路由环路的产生
防环:
注意:OSPF要求ABR设备至少有一个接口属于骨干区域。
骨干区域:指的是OSPF area 0 ; 除了OSPF Area 0之外都是非骨干区域;
非骨干区域:不是OSPF Area 0的OSPF区域;
区域间防止环路机制1:非骨干区域不能之间互相通信,必须经过骨干区域中转,否则无法进行交互!
(5)虚连接的作用以及配置
OSPF要求骨干区域必须是连续的,但是并不要求物理上连续,可以使用虚连接使骨干区域在逻辑上连续。
虚连接可以在任意两个ABR上建立,但是要求这两个ABR都有端口连接到一个相同的非骨干区域。
注意:
虚连接的创建使OSPF协议可以通过非骨干区域通信,违背了OSPF区域间的防环规则,在某些场景下会导致路由环路的产生,因此不建议部署OSPF虚连接。
(6)外部路由计算
在OSPF进程下,通过如下命令引入外部路由。设备支持引入BGP、ISIS、OSPF、直连以及静态路由。
import-route { limit limit-number | { bgp [ permit-ibgp ] | direct | unr | rip [ process-id-rip ] | static | isis [ process-id-isis ] | ospf [ process-id-ospf ] } [ cost cost | type type | tag tag | route-policy route-policy-name ] * }
HCIP:处在OSPF区域AREA 0中设备一定不是ASBR;ABR ASBR;
OSPF 5类LSA本质还是路由,并且具有特点:不属于任何OSPF区域;
(7)AS-external LSA
Forwarding Address:当FA为0.0.0.0时,则到达该外部网段的流量会被发往引入这条外部路由的ASBR。而如果FA不为0.0.0.0,则流量会被发往这个转发地址。FA这一概念的引入,使得OSPF在某些特殊的场景中得以规避次优路径问题。
External Route Tag(外部路由标记):这是一个只有外部路由才能够携带的标记,常被用于部署路由策略。
(8)ASBR-Summary LSA
为什么需要4类LSA,因为5类传递时候通告adv保持不变,其他非骨干没法感知到ASBR位置的,需要设备所在的ABR产生一条4类LSA告诉本区域的设备如和到达ASBR位置!
示例:
(9)区分OSPF外部路由的2种度量值类型1
区分OSPF外部路由的2种度量值类型2
3.OSPF特性区域及其他特性
(1)传输区域和末端区域
(2)Stub区域
(3)Stub区域的路由表及3类LSA
(4)Totally Stub区域
(5)Stub区域和Totally Stub区域存在的问题
(6)NSSA区域和Totally NSSA区域
NSSA区域能够引入外部路由,同时又不会学习来自OSPF网络其它区域的外部路由。
7类LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述NSSA区域引入的外部路由信息。NSSA区域的ASBR将外部路由引入该区域后,使用7类LSA描述这些路由。
7类LSA的扩散范围仅限于始发NSSA区域,7类LSA不会被注入到普通区域。
NSSA区域的ABR会将7类LSA转化为5类LSA,并将该LSA注入到骨干区域,从而在整个OSPF域内泛洪。
NSSA区域的ABR会阻挡其他区域引入的外部路由引入本区域,即NSSA区域内不会存在4类及5类LSA,为了让NSSA区域内的路由器能够通过骨干区域到达AS外部,NSSA区域的ABR会自动向该区域注入一条缺省路由,该路由采用7类LSA描述。
(7)NSSA区域与Totally NSSA区域的LSDB
场景1:
(将Area 2配置为NSSA区域):当R5将外部路由192.168.3.0/24引入NSSA区域时,R5作为ASBR生成7类LSA在Area 2内泛洪;R3生成使用7类LSA描述的缺省路由注入Area 2,Area 2内的路由器依然会收到R3注入的3类LSA,并计算出到达其他区域的区域间路由。
场景2:
(将Area2配置为Totally NSSA区域):Totally NSSA区域和NSSA区域类似,只是Totally NSSA区域的ABR会阻挡3类LSA进入该区域,因此在场景2中,R3不会将区域间路由注入Area 2,故而在R5的LSDB中,仅会看到一条描述缺省路由的3类LSA。
(8)OSPF LSA回顾
(9)路由器对LSA的处理原则
(10)在ABR执行路由汇总
(11)在ASBR执行路由汇总
R1、R3、R5分别对引入的外部路由执行路由汇总。
(12)Slient-Interface
(13)OSPF报文认证
区域视图下,配置OSPF区域的认证模式。
执行命令authentication-mode simple [ plain plain-text | [ cipher ] cipher-text ],配置OSPF区域的认证模式。
plain表示明文口令类型。
cipher表示密文口令类型。对于MD5/HMAC-MD5认证模式,当此参数缺省时,默认为cipher类型。
配置接口认证方式。
执行命令ospf authentication-mode simple [ plain plain-text | [ cipher ] cipher-text ],配置OSPF接口的认证模式。