OSPF基础——区域内LSA

似梦清欢
• 阅读 131

OSPF邻接关系建立完成后,会根据通告的信息计算路由信息及拓扑信息。 OSPF基础——区域内LSA

一条LSU报文中可以携带很多条LSA报文。 不同类型的LSA具有相同的报文头部。

::: tip LSA三要素:

  • LS type:表明LSA的种类。
  • Link state ID(描述发送者的状态):发送方RID。
  • Advertinsing Route(通告路由器):发送方RID。

上述三条表明唯一的一条LSA。 :::

LSA报文头部

OSPF基础——区域内LSA 上图中信息分为两类,一类表示是唯一LSA,另一类表示LSA的新旧。 第一类:

  • LS type:表示路由是区域内、区域间、区域外。
  • Link state ID:不同LS Type的LSA的Link state ID不同。
  • Advertising Router:产生该LSA的路由器的Router ID。

第二类:

  • LS Age:链路状态老化时间,表示LSA已经生存的时间,范围是0-3600s,时间值是递增的,1800s更新,更新的设备不在了,LS Age3600s老化。
  • LS Sequence Number:链路状态序列号,每一个LSA都会带有一个序列号的标识,序列号依次增加,即序列号大的LSA是新的。
  • LS Checksum:校验和,检验数据的完整。 ::: tip
  • LSDB中的每一条LSA都是唯一的,如果有相同的,数据库只保留最新的。* :::

    LSA新旧比较规则:

  1. 先比较序列号,值越大越优。
  2. 再比较校验和,值越大越优。
  3. 最后比较时间值: 如果LSA的时间值LS Age差值<=900,则保留本地的LSA。 如果LSA的时间值LS Age差值>900,则优选LS age值小的LSA。

length:表明LSA的长度 option:功能选项位,表明LSA的特定功能。 OSPF基础——区域内LSA

OSPF基础——区域内LSA OSPF基础——区域内LSA LSA三要素: OSPF基础——区域内LSA


LSA分类:

OSPF基础——区域内LSA ::: tip 6类LSA为组播,是淘汰技术。 :::

区域内

  1. router LSA:1类LSA,每台设备都会通告,描述自身的链路状态(拓扑和路由信息),在区域内进行泛洪。 1类LSA谁产生谁通告。

    1类LSA中存在特定的字段flag:保留位、V bit、E bit、B bit。(暂只做了解) V (Virtual Link ) :如果产生此LSA的路由器是虚连接的端点,则置为1。 E (External ): 如果产生此LSA的路由器是ASBR,则置为1。 B (Border ):如果产生此LSA的路由器是ABR,则置为1。 links :LSA中的Link(链路)数量。Router LSA使用Link来承载路由器直连接口的信息。

display ospf brief查看DR和BDR: OSPF基础——区域内LSA 查看上图中1类LSA的明细信息: OSPF基础——区域内LSA 上图中,LS id:描述谁就是谁的RID。Adv rtr:谁产生就是谁的RID。

[AR1]int LoopBack 0
[AR1-LoopBack0]ip ad 1.1.1.1 32    
[AR1-LoopBack0]ospf enable area 0   ospf中宣告环回口
[AR1-LoopBack0]dis th 
[V200R003C00]
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
 ospf enable 1 area 0.0.0.0
#
return

OSPF基础——区域内LSA 将OSPF网络类型由默认的广播改为P2P,观察第三种链路状态:

[AR1-GigabitEthernet0/0/0]ospf network-type p2p
[AR2-GigabitEthernet0/0/0]ospf network-type p2p

OSPF基础——区域内LSA 如上,将网络类型改为P2P后,P2P网络会将自身的物理接口也作为StubNet进行描述,相当于将直连看成自身的末节网络节点。

::: tip P2P网络中没有DR、BDR的概念,找到邻居即拓扑描述完成。中间互联的网段每一台单独的设备都会进行描述,如下: OSPF基础——区域内LSA OSPF基础——区域内LSA ::: ::: warning 链路状态包括链路的类型、链路的地址(IP地址)、链路的开销。 链路状态有四种,每种链路状态的类型都相同,但每种状态同一类型的值都不同。
:::

链路状态的类型:
1.TransNet:广播型网络的链路描述,拓扑信息。
    * Link ID: 10.1.12.2  描述伪节点设备的RID(即DR设备的接口IP地址,DR充当伪节点)
    Data   : 10.1.12.1    去往目的设备的出接口IP地址
    Link Type: TransNet     
    Metric : 1    开销
2.StubNet:末节网络的链路描述,路由信息
    * Link ID: 1.1.1.1    描述了自身的末节网络路由(如此处环回口)
    Data   : 255.255.255.255  末节网络对应的掩码
    Link Type: StubNet      
    Metric : 0    开销
    Priority : Medium   路由信息的优先级(会优先进行SPF计算)
3.P2P:P2P网络的链路描述,拓扑信息
    * Link ID: 10.2.2.2    对端邻居的RID
    Data   : 10.1.12.1   去往P2P邻居的接口IP地址
    Link Type: P-2-P        
    Metric : 1  P2P开销值为48,此处为1原因网络类型是广播改P2P

4.虚链路
    * Link ID:虚链路的邻居RID
    Data:去往虚链路邻居的出接口IP地址
    Type:Viktual
    Metric : 1 
    虚链路目前暂不涉及

::: tip 路由信息是地址/网络号加掩码。 拓扑信息一般用IP或者router-id标识。 判断链路状态时,只有路由信息才有优先级,其他情况不适用。 ::: ::: warning LSA收敛优先级顺序:critical>high>medium>low,为加速处理高优先级的LSA,泛洪时按照优先级将相应的LSA放在对应critical、high、medium、low队列中。

缺省情况下,公网OSPF主机路由的收敛优先级为medium,直连路由的收敛优先级为high,静态路由的收敛优先级为medium,其他协议(BGP、RIP)路由收敛优先级为low。

公网中OSPF 32位主机路由统标识为medium。 ::: 2. network LSA:2类LSA(每一个广播型网络的内容介绍)。 每一个广播网络都会产生描述广播型网络的内容(拓扑和路由信息)并在区域内泛洪。 2类LSA由广播型网络中的伪节点(DR设备)通告。 修改接口IP并重新通告,如下: OSPF基础——区域内LSA 将OSPF的网络类型改回广播,邻居关系建立完成后,此时DR为AR2: OSPF基础——区域内LSA 出现2类LSA: OSPF基础——区域内LSA 上图中,1类LSA的LinkState ID为每台设置自身的RID;2类LSA的LinkState ID为伪节点的RID。 查看类型2的明细信息: OSPF基础——区域内LSA 上图中Ls id和Netmask组合成网段,Attached Router表示连接的设备为10.1.1.2和10.1.1.1。

Link State ID :DR的接口IP地址。 Network Mask:MA网络的子网掩码。 Attached Router:连接到该MA网络的路由器的Router-ID(与该DR建立了邻接关系的邻居的Router-ID,以及DR自己的Router-ID),如果有多台路由器接入该MA网络,则使用多个字段描述。

::: warning 1类LSA和2类LSA区别: | |Ls id|Adv rtr| |-|-|-| |1类LSA|设备自身RID|通告者自身RID| |2类LSA|伪节点RID|DR的RID| :::


OSPF头部信息:

OSPF基础——区域内LSA

同一链路Area ID不一致:

OSPF基础——区域内LSA

[AR1]dis ospf error interface GigabitEthernet 0/0/0   查看OSPF接口通告的报文是否存在错误(计数报错)

OSPF基础——区域内LSA 如上,为0表示没有错误,4表示出现错误:区域ID错误。 OSPF基础——区域内LSA

同一路由器Area ID不一致:

OSPF基础——区域内LSA OSPF基础——区域内LSA 如上,同一个链路两端的区域必须相同,否则无法建立邻居关系,即区域只在一条链路上影响邻居建立。

同一链路Source OSPF Router(设备RID)相同:

OSPF基础——区域内LSA OSPF基础——区域内LSA 如上,出现Route ID报错。 OSPF基础——区域内LSA ::: warning 多次查询如果计数没有增加,表示错误不存在;如果计数增加,表示错误一直存在。建议多查几次以确认错误存在。 ::: 更改RID并重启OSPF进程后邻居建立成功:

[AR2]ospf router-id 10.2.2.2
<AR2>reset ospf process 

OSPF基础——区域内LSA 错误记录被刷新,变为全0: OSPF基础——区域内LSA ::: tip 如果计数报错是全0的,则邻居关系正常或设备间没有hello报文交互。 :::

同一网络Source OSPF Router(设备RID)相同:

OSPF基础——区域内LSA OSPF基础——区域内LSA OSPF基础——区域内LSA 上图中框选的序列号一直在变化,原因是AR1和AR4使用相同的LSA通告,AR2收到不断更新的LSA后,删除旧的LSA,只保留最新的。 流程大致为:此时AR4发来的LSA更新,AR2收到后将这个LSA通告给AR1,AR1收到后将自己的LSA的序列号+1发给AR2,AR2将AR4发来的LSA删除,再将AR1发来的LSA通告给AR4。如此反复。 ::: tip 上述现象可以在AR1和AR4配置环回口,可以在AR2上看到AR1和AR4的环回口路由交替出现:

[AR4]int LoopBack 0
[AR4-LoopBack0]ip ad 4.4.4.4 32
[AR4-LoopBack0]ospf enable area 0

OSPF基础——区域内LSA 如上图,AR2可能会认为是AR4通告了1.1.1.1,实际上AR4通告的是4.4.4.4。 即RID相同可能会造成路由错乱。 OSPF基础——区域内LSA 上图中空缺的80000126可能就是AR4通告的路由,但直接被AR1通告的路由瞬间刷新掉了。 ::: ::: warning OSPF报文头部: 设备RID不相等时才可以正常建立邻居关系。 区域内的RID要求:

  • 直连,直连设备RID一定不能相等,否则邻居不能正常建立。
  • 非直连,非直连设备RID要求不相等。

如果相等则容易造成路由错误学习,产生冲突。且在一段时间后,RID冲突的设备OSPF进程会自动重启,使用新的RID(优选环回口地址充当)。 :::


OSPF hello报文信息:

OSPF基础——区域内LSA

掩码不一致:

OSPF基础——区域内LSA OSPF基础——区域内LSA 如上可以查看到由于掩码不一致导致OSPF邻居建立失败。

接口发送Hello报文的时间间隔不一致:
[AR1-GigabitEthernet0/0/0]ospf timer hello 11   设置接口发送Hello报文的时间间隔为11s

OSPF基础——区域内LSA 如上,多次执行该命令发现hello timer不一致报错计数不断增长,而已有的掩码报错的计数值不变,即掩码的报错可能不存在,原因是OSPF不会同时显示多个错误,只会一个一个显示。

<AR1>reset ospf counters   刷新OSPF计数报错

OSPF基础——区域内LSA 如上,刷新OSPF计数报错后,查看OSPF接口通告的报文计数报错时,就只能看到hello timer报错,不会有掩码的报错。所以使用该命令判断OSPF是否出错需要多执行几次观察报错信息。 此时再将hello timer改为默认的10s,再执行该命令,就可以看到掩码出现计数报错。

::: warning Hello报文中: 掩码要求同一链路两端必须一致,不能是相互包含的网段,虽然IP可以通信,但掩码不同代表不同网段,不明确以哪个网段的DR作为标准。 :::


LSA的更新和撤销(路由的更新撤销)

::: tip OSPF的LSA,谁产生,谁更新,谁撤销。 ::: OSPF基础——区域内LSA

  1. 类型1:
    • 更新:在设备上通告路由信息即可更新1类LSA(ls age = 0 ; ls seq + 1)
      [AR1-LoopBack0]ospf enable 1 area 0
      重新将环回口宣告在区域0,可以抓到LS Update包: OSPF基础——区域内LSA
    • 撤销:在设备上删除路由信息即可撤销1类LSA(LS age = 0 ; LS seq + 1) ::: warning

撤销是更新撤销,重新通告LSA,序列号+1,新的LSA中不包含要删除的路由条目。 即通过更新LSA完成撤销。 ::: 将环回口IP undo,可以抓到LS Update包: OSPF基础——区域内LSA

  1. 类型2:

非DR设备:

  • 更新:在网段中添加新的设备(非DR)连接,DR会更新2类LSA(LS age = 0 ;ls seq + 1),可能需要更新多次才能完成更新。
  • 非DR设备撤销:在网段中删除设备(非DR)连接,DR会撤销2类LSA(LS age = 0 ; LS seq + 1) DR设备:
  • 更新:网络中原有的DR失效,新添加的BDR成为DR后会更新新的2类LSA(LS age = 0 ,ls seq = 1)
  • DR设备撤销:网络中原有DR失效前产生2类LSA,设备在恢复后会撤销该2类LSA,即谁产生谁撤销(ls age = 3600s,ls seq = 原2类LSA的seq) ::: warning 2类LSA也是更新撤销。 2类LSA由DR通告,非DR不应产生2类LSA,原DR失效前通告出去的2类LSA会被撤销。 ::: ::: tip
  • LS Age为3600s表示该LSA都会被撤销,包括该LSA下的拓扑信息和路由信息。* 新增撤销路由则不需要LS Age达到3600s。 :::
点赞
收藏
评论区
推荐文章

暂无数据

似梦清欢
似梦清欢
Lv1
学海无涯
文章
17
粉丝
17
获赞
1