大家好,我是老杨。
OSPF,这玩意儿作为目前主流的IGP协议,主要是为了解决RIP的三大问题而出现的。
应用面非常广,认可度也高,毕竟的确是好用的。
也有很多正在学习的小友想找我讲讲,OSPF该怎么学。
基础的动态协议优势和分类、三张表等等,这些基础的就不说了,你自己先去了解清楚。
我也不私藏,看看下面这张图,OSPF学习过程,按这套来就对了。
已经考过IP的出来看看,你还记得多少,是不是快忘光了?记得捡起来复习下。
正在学习的小友,也欢迎你私信老杨,获得我的解答。
我自己当时在学习OSPF的时候,对LSA的印象太深刻了,经常被搞得晕头转向。
来来回回看了几遍相关的书才理解透彻。
今天这篇,就给你一次性说明白,详解一下OSPF里的六种LSA类型。
01 LSA,是啥?
LSA的全称是链路状态通告。
英文是Link State Advertisement,指的是OSPF中计算路由的重要依据。
链路状态通告包含链路上的网络类型、接口IP地址及子网掩码、链路上所连接的邻居以及链路开销。
为啥要划分LSA类型?
这是OSPF区域化结构决定的。
OSPF的区域特征会对应的LSA类型,最后经过SPF等算法,把相应的LSA类型的路由生成到路由表中形成不同类型的OSPF路由。
网络的规划在不断扩大,路由器为了完成路由计算所消耗的内存、CPU资源也越来越多。
通过区域划分可以在一定程度上缓解路由器的压力。
01 LSA摘要字段信息
Type:链路状态类型
Ls id:链路状态id,由Type决定
Adv rtr:产生这条LSA的Router-id
Ls age:老化时间
Len:长度
Options:选项
Seq#:序列号,越大表示LSA越新。初始值0x80000001,最大值0x7fffffff。
Chksum:校验和
这里给你说明一下:
由Type、Ls id、Adv rtr唯一标识一条LSA信息;你可以根据Seq、Chksum、Ls age判断LSA的新旧程度。
02 OSPF路由角色
区域内部路由器(IR):
所有接口都属于同一区域的路由器。
区域骨干路由器BR):
有一个接口属于骨干区域的路由器。
区域边界路由器(ABR):
连接多个区域,并且至少有一个up接口属于骨干区域的路由器;或配置了vlink的路由器。
AS边界路由器(ASBR):
使用import-route引入外部路由的路由器;或NSSA区域的做7类LSA转5类LSA的ABR。
02 先搞懂1-5类LSA
01 Router-LSA
Router又称一类LSA,主要描述路由器自身直连链路的链路状态信息。
所有运行OSPF协议的设备,只要有一条直连链路就会产生一条一类LSA。
先给你说说一类LSA的四种链路类型:
加入OSPF进程的接口都有相应网络类型,而网络类型缺省由该接口的链路层协议决定。
下面列举的部分是网络类型所对应的链路层协议:
- Link-type——Stubnet
作用:描述自身直连的网络号以及子网掩码。
Link id:直连链路的网络号
Data:子网掩码
Metric:自身到直连网络的OSPF开销
例子:
这说明了描述的loopback接口,在描述环回口网段时,缺省使用32位子网掩码进行描述。
- Link-type——P-2-P
作用:描述P2P/P2MP链路上的OSPF邻居。
Link id:邻居的router-id
Data:与邻居相连接口的IP地址
Metric:自身到邻居的OSPF开销
例子:
- Link-type——Transnet
作用:描述Broadcast/NBMA链路上的OSPF邻居。
Link id:伪节点的router-id即该链路上的DR接口IP地址
Data:与伪节点相连的接口IP地址
Metric:自身到伪节点的OSPF开销
例子:
- Link-type——Virtual
作用:描述vlink上的邻居。
Link id:vlink链路上的邻居的router-id
Data:与vlink链路上的邻居相连的接口IP地址
Metric:自身到vlink链路上的邻居的OSPF开销
02 Network-LSA
Network又称二类LSA,网络LSA主要是描述有哪些实结点与伪节点相连。
由Broadcast/NBMA网络类型中的DR产生。
Ls id:DR接口IP地址
Adv rtr:DR的router-id
Net mask:DR接口的子网掩码
Attached router:与伪节点相连的实结点的router-id
例子:
说明:与DR非直连的路由器,通过二类LSA中的Ls id与Net mask做与运算,算出这条路由。
这里需要给你做个小结。
由一类、二类LSA计算出的路由称为区域内路由,这类LSA只能在产生的区域内进行泛洪。
03 Sum-Net LSA
Sum-Net又称三类LSA,汇总LSA由ABR产生,主要描述区域内某个网段的路由。
ABR将自身直连区域的区域内的路由转换成其他直连区域的三类LSA, 完成区域间路由计算。
Ls id:网络号
Adv rtr:产生该三类LSA的ABR的router-id
Net mask:子网掩码
metric:ARB到该路由的OSPF开销
区域间OSPF路由计算:
Cost=自身到ABR的OSPF开销+ABR到该路由的开销。
Next-hop=自身到ABR的下一跳,根据到ABR的SPF树进行计算。
例子:
说明:第一个图由ABR(R2)转换成三类LSA泛洪至area 0区域中。第二个图在area 1区域中,有一条由Router-id为3.3.3.3产生的一类LSA。
04 Sum-ASBR
Sum-ASBR四类LSA,由与ASBR同一区域的ABR产生。
主要描述该区域的ABR到ASBR的开销。
Ls ID:ASBR的router-id
Adv rtr:ABR的router-id
tos 0 metric:ABR到ASBR的OSPF开销
与ASBR不在同一区域的路由器在计算外部路由时:
cost=自身到ABR的OSPF开销+ABR到ASBR的开销(4类)+引入时的开销(5类)
Next-hop=自身到ASBR的下一跳
05 External LSA
External,自治系统外部LSA,由ASBR产生,主要用于描述引入的外部路由。
Ls ID:外部路由的网络号
Adv rtr:ASBR的Router-ID
Net Mask:外部路由的子网掩码
tos 0 Metric:引入时外部路由的开销缺省值为1,可手动设置
E type:开销类型,缺省为cost-type 2。
类型1:路由表中始终计算引入时的开销和AS内部路径的开销之和。
类型2:引入外部路由时在路由表中忽略AS内部路径的开销,仅计算引入时的开销。
说明:外部路由优先比较开销类型,类型1优于类型2,其次比较cost。
都为类型1时,选择cost小的,如果cost相同则负载分担;都为类型2时,优先比较引入时的cost,cost小的优先,不关心AS内部开销。
如果cost相同时,则比较AS内部开销,cost开销小的优先。
如果引入时开销相同,内部AS开销相同,则负载分担。
Forwarding Address:转发地址,外部路由路径优化。
TAG:路由标记,缺省为1。
说明:当OSPF路由器计算外部路由时,五类LSA携带FA地址时,如果发现自身存在FA的直连路由,则将该外部路路由的下一条直接设置成FA。
与ASBR在同一区域的路由器计算外部路由时:
cost=自身到ASBR的OSPF开销+引入时的开销
Next-hop=自身到ASBR的下一跳
03 特殊区域咋做?试试7类LSA
在大型网络中,运行OSPF协议的设备通常需要同时维护由域内路由、域间路由以及外部路由构成的LSDB。
当网络规模不断扩大时,LSDB规模也不断增长。
如果哪个区域不需要为其他区域提供流量中转服务,那这个区域内的设备就没有必要维护本区域外的链路状态信息。
OSPF通过划分骨干和非骨干区域可以减小区域内路由器LSDB的规模。
但对于边缘非骨干区域的低端设备来说仍然无法承受。
你可以通过OSPF的特殊区域特性可以进一步减少LSA数量和路由表规模。
01 七类LSA
作用:用于描述OSPF外部路由。
Ls id:外部路由的网络号
Adv rtr:ASBR的router-id
Options:若为NP 代表可以做七类转五类,否则不转
Net mask:子网掩码
例子:
02 Stub区域
这个区域有几个特点:
1.该区域不会泛洪5类LSA,与区域内的ABR建立邻接时,忽略5类LSA的同步。
2.该区域不产生4类LSA。
3.该区域的ABR会产生一条3类LSA缺省路由信息。
说明:R3与R4之间不同步外部LSDB。ABR(R3)为区域内的路由器(R4)生成一条三类缺省路由,用于访问外部网络。
03 Totally Stub区域
特点和Stub区域基本是一致的,区别是这个区域除了不产生四类LSA外,也不产生三类LSA。
说明:对比末节区域,R3在完全末节区域中也不产生三类LSA,但做为该区域的ABR还是会为区域内的路由器R4生成一条三类缺省路由,用于访问外部网络。
04 NSSA区域
主要有这五个特点:
1.该区域下的ASBR可以引入外部路由,以七类LSA引入。
2.其他区域的ASBR产生五类LSA不能在该区域下泛洪,也不产生四类LSA。
3.该区域下的ABR产生一条七类缺省路由,用于访问从其他区域引入的外部路由。
4.该区域产生的七类LSA只在本区域内进行泛洪。
5.该区域的ABR会将七类的LSA转换成五类LSA泛洪到其他区域。如果区域内存在多个ABR,Router ID大的进行七转五的操作。
05 Totally NSSA区域
特点:与NSSA区域基本一致,区别是除了不产生四类LSA外,也不产生三类LSA。
但区域内的ABR会产生一条三类缺省路由,用于访问区域间的路由。
虽然七类LSA和三类LSA都会生成缺省路由,但路由器优先使用三类LSA产生的缺省路由。
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部