Link State Advertisement,链路状态通告信息,OSPF是一种基于链路状态的动态路由协议,每台OSPF路由器都会生成相关的链路状态广播LSA,并将这些LSA通过出去,路由器收到LSA后,会将他们存放在链路状态数据库LSDB中。

LSA主要分为:

① Router LSA路由器LSA

② Network LSA 网络LSA

③ Network summary LSA 网络汇总LSA

④ ASBR summary LSA ASBR汇总LSA

⑤ AS external LSA 自制系统外部LSA

⑥ Group membership LSA 组成员LSA

⑦ NSSA External LSA NSSA外部LSA

LSA的标识:

OSPF使用LSA头部中的LS type、Link Start ID、Advertising Router标识一条LSA

LSA的选择:

当收到了两条相同的LSA,OSPF会根据以下信息判断一条LSA的新旧程度,选取最新的LSA

① 序列号大的优先

② 校验和大的优先

③ 比较老化时间:

如果一条LSA具有最大的老化时间,即3600S,那么就选择该LSA实例

如果LSA老化时间差大于15分钟,则老化时间小的优先

如果LSA老化时间之差在15分钟以内,则认为这两个LSA一样

注:3600S:

① 区域内,如果出现链路故障时,路由器使用新的lSA重新通告邻居路由器,邻居路由器重新SPF计算最短路径树,此时新的lSA没有包含故障的链路,所以达到了重新收敛

② 区域间路由,如果链路出现故障时,发送一份和原来序列号一样的三类LSA通告对端邻居,并将Age Timer设为3600S,收到此LSA的路由器将删除对应的路由

③ 外部路由,ASBR检测到外部路由消失,发送一份和原来序列号一样的LSA通告全网,并将Age Timer设为3600S,收到此LSA的路由器将删除对应的外部路由

传递与泛洪:

① 传递:传递是指LSA在传输过程中标识身份的三要素是否发生改变

② 泛洪:泛洪是指该LSA所描述的内容是否能够被接收到

各类LSA允许泛洪的区域:

OSPF as范围 ospf几种lsa_华为

LSA报文头部:

OSPF as范围 ospf几种lsa_OSPF as范围_02

① LS age:LSA老化时间,递增数值,每经过一台路由器加2S,在数据库中按正常时间增加,最大老化时间为3600S
② Options:选项
a)DN:Down位,用来在MPLS中预防环路
b)O:表示支持Opaque LSA
c)DC:支持按需链路
d)EA:支持外部路由属性
e)N/P:
N:表示为NSSA区域
P:在NSSA区域中表示LSA是否能7转5类LSA,置位表示可以装换
f)MC:表示支持MOSPF
g)E:表示支持外部路由
h)MT:表示支持多拓扑OSPF
③ Ls type:LSA类型
④ Link State ID:链路状态ID值,不同类型LSA含义不同
LSA OSPPFv2 LS ID
Router LSA Router ID
Network LSA DR所在IPv4网段IP
Type 4 LSA ASBR的Router ID
Type3、Type5、Type7 LSA IPv4网段

⑤ Advertising Router:通告该LSA的路由器的RID

⑥ LS sequence number:序列号,大小为32bit

⑦ LS checksum:校验和

⑧ Length:长度

⑨ Flags:

a)V:表示是否存在虚链路

b)E:表示是否为ASBR

c)B:表示是否为ABR

LS sequence number详解:

序列号,大小为32bit,线性增长,序列号使用“原码”表示,第32位表示“正负”号,

1表示负号,0表示正号,最小的数位0x80000000,最大的数为0x7FFFFFFF。

1表示负号,所以最小的数为1000 (28个0)=80000000

0表示正号,所以最大的数为0111 (28个1)=7FFFFFFF

I----------------------------------------------------------I I----------------------------------------------------------I

80000000-------------------------------------------0--------------------------------------------7FFFFFFF +1

重新回到80000000 I

----------------------------------------------------------------------------------------------------------------------------I

Options选项位:

所有的OSPF报文和所有的LSA都包含Options选项

OSPF as范围 ospf几种lsa_Network_03

① DN:Down位,用来在MPLS中预防环路
② O:表示支持Opaque LSA
③ DC:支持按需链路
④ EA:支持外部路由属性
⑤ N/P:
N:表示为NSSA区域
P:在NSSA区域中表示LSA是否能7转5类LSA,置位表示可以装换
⑥ MC:表示支持MOSPF
⑦ E:表示支持外部路由
⑧ MT:表示支持多拓扑OSPF

  1. Router LSA:
    Type-1 LSA,路由器LSA,每台路由器都会产生Router LSA,用来描述路由器本身的直连链路状态和开销值。
    Router LSA只能在所属区域内部传递,在所属区域内泛洪

1)头部信息:

① Ls id:自身的Router-ID

2)LSA信息:

① Flags:标识位:

V:是否为V-Link

E:是否是ASBR

B:是否是ABR

② Link count: 链路信息数量(表明当前设备有几条Link)

③ Link ID:链路IP地址信息

④ Data:Router id自身的接口地址

⑤ Link Type:拓扑类型

⑥ Metric:开销值,每经过一个ABR,开销值都会重新计算

注:每种拓扑类型对应的Link ID和Data都不相同:

Link Type 实际物理网络 Link ID Data

Stub net 环回口/串行/以太网络(无邻居)、Sub IP 该Stub网段的IP网络地址 该Stub网段的网络掩码

Transit 以太链路、FR(有邻居) DR的接口IP地址 自己的接口IP

P2P 串行链路 邻居的RID 自己的接口IP

Virtual V-Link 邻居的RID 自己的接口IP

2. Network LSA:

Type-2 LSA,网络LSA,它是由DR产生(不选举DR的网络环境不存在Network LSA),在广播网络中,Network LSA用来描述虚节点周边的连接关系和网段信息

Network LSA只能在所属区域内传递,在所属区域内泛洪

OSPF as范围 ospf几种lsa_OSPF as范围_04

1)头部信息:

① Ls id:DR自身的接口IP地址

2)LSA信息:

① Net Mask:当前网络的子网掩码

② Attached Router:当前连接此区域的所有Roter-ID

注:P2P网络不选举DR,所以没有network LSA,由于Router LSA中的P2P网络没有携带网络掩码信息,所以P2P网络类型会在Router LSA中增加Stub net拓扑条目,用来表示本地接口的网络信息和掩码信息

OSPF as范围 ospf几种lsa_OSPF_05

  1. Network summary LSA:
    Type-3 LSA,网络汇总LSA,完整的路由信息,没有拓扑信息,它是由ABR产生,ABR路由器将所连区域的Router LSA和Network LSA转换为Network summary LSA,用来描述区域间的路由信息,Network summary LSA只传递路由信息,并不传递拓扑信息。
    ABR是查看路由表中的路由条目生成三类LSA,所以可以使用路由策略修改路由表得到过滤区域间路由的效果
    一条路由条目为一个3类LSA,一条三类路由失效,生成此LSA的路由器重新生成一条关于此路由的新(和前一条LSA的Seq Number相同)的LSA,并将Age Timer置为3600S传递给邻居,收到此毒化LSA的路由器删除此条路由
    Network Summary LSA每经过一个区域,LSA中的adv rtr会变为引入Network Summary
    LSA的ABR的RID,Network summary LSA只在区域内传递,在AS内泛洪(特殊区域除外)

1)头部信息:

① Ls id:目标网段

2)LSA信息:

① Net mask:掩码

④ Metric:开销值,三类LSA内域内传递开销值不变,当到达下一个ABR时,重新计算Metric,在原基础上加上两端ABR之间的开销值,传递给下一个Area中。

Network Summary Flooding原则:

① Network Summary LSA不会在两个Normal区域之间传递

② 水平分割原则:

从一个区域流出的Network Summary LSA不会再流入此区域(Area0除外)

一个区域的1类2类优于3类,所以ABR接收到3类LSA的内容如果和区域内的1类和2类一样,不会将他放入路由表,也不会将他传回到区域内

从一个区域流入的Network Summary LSA不会在从此区域流出(Area0除外)

ABR不会传递非Area0来的LSA3到其他的区域,并且不会生成路由表

如果没有了Area0的邻居,此ABR不能成为真正的ABR,而是一个普通区域的路由器,他便会接收三类LSA

OSPF as范围 ospf几种lsa_华为_06

① 在Area1区域内,AR2和AR4发送类型1的LSA,并将flag中的E置位,表明自己当前为ABR

② AR2发送三类LSA,Adv为自己的Router ID,经过区域0传递给AR4,针对三类1.1.1.1/32的路由,区域内会使用1类和2类进行传递,所以AR4不接受此三类LSA进入Area1,而是直接使用1类和2类表示1.1.1.1/32这条路由

③ 如果此时AR1和AR3中的链路断掉,AR4不知道AR2为ABR,那么此时在经过Area0传递过来的由AR2生成的三类LSA会经过AR4传递到Area1中

④ AR6和AR8之间建立链路,同时属于Area2,AR6发送1.1.1.1/24的三类LSA给AR8,由于是非骨干区域传递过来的三类LSA,AR8不会将他计算并放入路由表

⑤ 如果此时AR8去往骨干区域的链路断掉时,此时AR8只能通过AR6去往骨干区域,他会将AR6传递过来的三类LSA放入路由表中

4. ASBR summary LSA:

Type-4 LSA,ASBR汇总LSA,它是由ASBR所在区域的ABR产生的,用来描述ASBR的路由,ASBR summary LSA可以泛洪到整个AS内部,但不能泛洪到所有的特殊区域。

当本区域的路由器收到AS External LSA时,查看Adv rtr时,可以根据一类和二类拓扑信息可以得到去往ASBR的实际地址,所以本区域中的ASBR Router ID依靠Router-LSA进行传递告知当前区域内的路由器ASBR的地址,但是区域间的路由不存在拓扑信息,所以不同区域的路由器并不知道去往不同区域ASBR的地址,所以此时需要使用ASBR summary LSA告知不同区域去往ASBR的地址。

ASBR summary LSA只在区域内传递,在区域间泛洪(特殊区域除外),每经过一个Area区域,Adv Router都会变成ABR

注:四类为五类工作,但产生五类不一定会产生四类,比如ASBR所在的区域中,有五类,

但是没有四类

OSPF as范围 ospf几种lsa_链路_07

1)头部信息:

① Ls id:ASBR的RID

2)LSA信息:

① Net mask:掩码

② metric:发布者ABR到ASBR的花费

5. AS External LSA:

Type-5 LSA,AS外部LSA,它是由ASBR产生的,用来描述到AS外部网络的路由。

一条五类路由失效,生成此LSA的路由器重新生成一条关于此路由的新的LSA(序列号和上一个Seq Number相同),并将Age Timer置为3600S传递给邻居,收到此毒化LSA的路由器删除此条路由

AS External LSA在AS内传递,在AS内泛洪(特殊区域除外),只有AS External LSA在传递过程中不会被ABR更改Adv Rtr,所以只有AS External LSA在区域间传递并泛洪

注:V-Link不会传递AS External LSA

OSPF as范围 ospf几种lsa_OSPF_08

1)头部信息:

① Ls id:外部路由网段

2)LSA信息:

① Net mask:掩码

② E type:路由类型

③ Forwarding Address:转发地址

④ Tag:标签

注:网络稳定后,一台设备称为ASBR并引入外部路由,此时此设备会发送一类LSA和五类LSA,使用Flags中的E置位表明自己为ASBR,五类为外部路由

(1)Metric详解:

LSA类型5中的Metric值为域外到ASBR的开销值,所以如果E type类型为E1时,路由器去往外部路由的总开销为LSA5中的开销值+路由器到ASBR的开销,计算域内路由器到ASBR的开销有两种情况

当路由器和ASBR在同一个区域内:

a)FA地址为0,根据1类和2类计算到ASBR的开销

b)FA地址不为0,根据1类和2类计算到FA地址的开销

注:如果FA地址不为0,1类和2类中没有到达FA地址的路由,此时这条五类路由不会放入路由表

当路由器和ASBR不在同一区域内:

a)FA地址为0,根据四类Metric计算到ASBR的开销

b)FA地址不为0,根据三类LSA计算到FA地址的开销

注:如果FA地址不为0,3类中没有到达FA地址的路由,此时这条五类路由不会放入路由表

(2)五类LSA防环:

默认AS External LSA在全网传递,所以普通区域也会传递给普通区域,但是由于普通区域不

存在ABR,所以不会传递ASBR summary LSA,此时会存在只有AS External LSA而没有ASBR

summary LSA的情况,所以路由器并不知道去往ASBR的地址,也不知道外部路由的开销值,

所以不会将LSA中的路由放入路由表中

(3)E type:

E type用来表示引入路由条目的类型,主要分为两个类型,为E1、E2,默认在引入外部路由时使用E2,E1的优先级别高于E2, E1路由和E2路由的区别在于他们计算前往目的地开销的方式不一样.。

① E1:

E1路由前往目的子网的开销计算是域内开销+域外开销,也就是说经过的路径的开销的总和。

② E2:

E2路由前往目的子网的开销则只计算域外开销,也就是说出去ASBR之后的路径的开销总和,不考虑域内开销.

注:引入外部路由时不定义引入cost,默认外部路由的cost全部为1

使用命令修改引入外部路由的类型:

[Huawei-ospf-1]import-route rip type 1

使用Router-Policy修改部分路由类别:

[Huawei]ip ip-prefix 1 permit 5.5.5.5 32

[Huawei]route-policy 1 permit node 5

[Huawei-route-policy]if-match ip-prefix 1

[Huawei-route-policy]apply cost-type type-1

[Huawei]route-policy 1 permit node 10

[Huawei]ospf

[Huawei-ospf-1]import-route rip route-policy 1

(4)Forwarding address:

Forward Address,为OSPF的ASBR去往外部路由的下一跳地址IP

注:必须满足以下四个条件,OSPF的转发地址才能为非0地址:

连接外部路由的接口必须存在OSPF进程中

连接外部路由的接口不能为Silent-interface

连接外部路由的接口网络类型不能为P2P类型

连接外部路由的接口网络类型不能为P2

OSPF as范围 ospf几种lsa_链路_09

如图,OSPF网络中,并没有将192.168.2.0和192.168.3.0的网段宣告进OSPF进程中,所以无法产生基于192.168.2.0和192.168.3.0的链路状态信息,所以R1并不知道192.168.2.0和192.168.3.0的具体位置,所以转发地址为0.0.0.0,但是R1知道外部路由的产生者为R2,此时只需要将数据传递给R2即可。

OSPF as范围 ospf几种lsa_OSPF as范围_10

当将192.168.2.0的网段宣告到OSPF进程中,产生基于192.168.2.0的网段的链路LSA,传递给R1,此时R1便知道外部链路的信息,Forwarding Address便为外部路由的下一跳具体地址:

OSPF as范围 ospf几种lsa_OSPF as范围_11

解决次优路径问题:

OSPF as范围 ospf几种lsa_OSPF as范围_12

① AR2和AR3运行OSPF

② AR2配置静态路由去往AR1的192.168.2.0/24的路由网段

③ AR2将静态路由引入OSPF,将192.168.1.1作为静态路由的下一跳地址,由于G0/0/0接口符合FA地址条件,所以192.168.1.1作为去往192.168.2.0/24的Forwarding address

④ AR3收到5类LSA后,发现去往192.168.2.0、24的Forwarding address为192.168.1.1

⑤ AR3访问192.168.2.0/24直接将数据包送往192.168.1.1,而不会送往RTB

6. Group membership LSA:

Type-6 LSA,组成员LSA,用于OSPF组播。

7. NSSA External LSA:

Type-7 LSA,NSSA外部LSA,它是由NSSA区域或Totally NSSA区域的NSSA ASBR产生的,用来描述NSSA区域或Totally NSSA区域所连接的AS外部路由。NSSA LSA只能出现在所属NSSA区域或Totally NSSA区域内部。

OSPF as范围 ospf几种lsa_OSPF as范围_13

1)头部信息:

① Ls id:外部路由网段

2)LSA信息:

① Net mask:掩码

② E type:路由类型

③ Forwarding Address:转发地址

④ Tag:标签

Options选项中的NP(Propagate)置位,表示此LSA在NSSA的ABR上将7类LSA变为5类LSA通告到骨干区域中,如果NP不置位,表明此LSA只能在NSSA中传递

Options选项中NP不置位的场景:

① 当NSSA中的ABR连接着骨干区域,并且也连接者其他路由器,使用其他路由协议进行路由的传递,并在OSPF进程中引入了外部路由,此时外部路由会以五类的LSA传递到骨干区域,也会以7类的LSA传进NSSA区域,但这些LSA在进行7转5流入骨干区域是没有必要的,所以会将Options选项中的NP不置位,只在NSSA区域中传递。

② NSSA区域中使用命令生成7类默认路由,此默认路由NP不置位,只在NSSA区域中传递

(1)E type:

E type用来表示引入路由条目的类型,主要分为两个类型,为E1、E2,默认在引入外部路由时使用E2,E1的优先级别高于E2, E1路由和E2路由的区别在于他们计算前往目的地开销的方式不一样.。

① E1:

E1路由前往目的子网的开销计算是域内开销+域外开销,也就是说经过的路径的开销的总和。

② E2:

E2路由前往目的子网的开销则只计算域外开销,也就是说出去ASBR之后的路径的开销总和,不考虑域内开销.

注:引入外部路由时不定义引入cost,默认外部路由的cost全部为1

使用命令修改引入外部路由的类型:

[Huawei-ospf-1]import-route rip type 1

使用Router-Policy修改部分路由类别:

[Huawei]ip ip-prefix 1 permit 5.5.5.5 32

[Huawei]route-policy 1 permit node 5

[Huawei-route-policy]if-match ip-prefix 1

[Huawei-route-policy]apply cost-type type-1

[Huawei]route-policy 1 permit node 10

[Huawei]ospf

[Huawei-ospf-1]import-route rip route-policy 1

(2)Forwarding address:

在LSA7中,不会存在FA不为0的场景(ABR发布的默认7类路由除外),如果真的有FA不为0,则ABR不会将此LSA进行7到5的转换发布到骨干区域中。

LSA7类的FA地址分为两类:

① ASBR去往外部路由的下一跳地址:

连接外部路由的接口必须存在OSPF进程中

连接外部路由的接口不能为Silent-interface

连接外部路由的接口网络类型不能为P2P类型

连接外部路由的接口网络类型不能为P2MP

② 如果不满足上述条件,当环回接口在OSPF进程中,则FA地址为ASBR的环回接口地址;如果没有环回接口,则为物理接口地址

注:使用以下命令在ABR设备上将7 转5类LSA时清空FA地址:

[Huawei-ospf-1-area-0.0.0.1]nssa suppress-forwarding-address

(3)FA地址不为0的原因:

① 防止次优路径

② 防止环路

① 防止次优路径:

NSSA区域可能和骨干区域之间存在多个ABR,但是只有Router-ID地址大的ABR才会将7类

LSA转换为5类LSA,并且Cost会变为1,但是如果此ABR并不是骨干区域内的路由器到达

NSSA区域ASBR的最优路径

注:由于连接NSSA区域的骨干区域ABR起到了7类转5类的作用,所以可以认为为ASBR,所以此区域不会产生四类LSA

如果FA地址为0,则骨干区域内的路由器访问NSSA区域的外部路由只能走此ABR,有可能不是最优路径

如果FA地址不为0,骨干区域内的路由器可以根据三类LSA知道区域FA地址的最优路径,也就是相当于骨干区域内的路由器知道去往NSSA区域ASBR最优的路径,防止了次优路径的产生

OSPF as范围 ospf几种lsa_华为_14

a)Area1为NSSA区域,默认huawei设备AR4会将7类LSA转为5类LSA传递给AR5

b)如果FA地址为0,此时AR5想要访问外部网络,唯一标识去往外部网络的只有AR4,所以AR5会将数据包送给AR4,路径为AR5→AR4→AR3→AR1,形成次优路径

c)如果FA地址为AR1的环回接口会实际物理IP地址,AR5会根据FA地址查看三类LSA,知道去往AR1的最优路径为AR5→AR2→AR1,解决了次优路径

② 防止环路:

OSPF as范围 ospf几种lsa_链路_15

① NSSA区域将外部路由1.1.1.1/32传递到AR4
② AR2将七类LSA传递AR3,此时AR3去往外部路由的下一跳为AR4
③ 只有Router ID最大的ABR进行7转5的工作,此时AR3将7类LSA转为5类LSA传递给AR4,如果FA地址为0,AR4收到此5类LSA后,由于FA地址为0,所以去往ASBR的地址只能走AR3
④ AR4收到此五类LSA后,也会交给AR2,AR2会从Area1收到一份7类的LSA,同样也会从Area0收到一份5类的lSA,优先级相同,都为E2模式,比较外部开销,AR2到达ASBR AR1的开销为48;到达ASBR AR3的开销值为2,所以优选开销值小的走AR2去往AR3,环路产生
注:使用命令[Huawei-ospf-1-area-0.0.0.1]nssa suppress-forwarding-address在ABR七转五的时候删除FA地址