开放最短路径优先 - OSPF【LSA详细】

目录

LSA的头部结构

LSA类型

LSA数据包


LSA的主要作用是传递路由信息。

LSA的头部结构

共占20个字节,不同类型的LSA头部字段部分都是相同的。

  • 链路状态老化时间(Link-State Age)

    • 2个字节。指示该条LSA的老化时间,即它存在了多长时间,单位为秒。

    • 正常情况下,一条LSA的存在时间为1800秒。计时达到1800秒时归零,开始重新计时。

    • 最大老化时间为3600秒。当一条LSA计时达到3600秒时,会被认定为失效,将从本地LSDB中删除。

    • 当网络拓扑变更时,有关的LSA不论计时多少,都将会立即更新。

  • 可选项(Options)

    • 1个字节。每一个比特位都对应了OSPF 所支持的某种特性。和hello包中的一样,包含特殊区域标记。

      • E:是否允许泛洪AS-External-LSA(5类LSA)。

      • MC:转发IP组播报文。

      • N/P:处理Type-7 LSA。

      • DC:处理按需链路。

  • 链路状态类型(Link-State Type)

    • 1个字节。指示本条LSA的类型。每种 LSA用于描述OSPF 网络的某个部分,所有的LSA类型都定义了相应的类型编号。

      • Type1:Router-LSA

      • Type2:Network-LSA

      • Type3:Network-summary-LSA

      • Type4:ASBR-summary-LSA

      • Type5:AS-External-LSA

      • Type7:NSSA-LSA

  • 链路状态ID(Link-State ID)

    • 4个字节。LSA的标识。不同的LSA类型,对该字段的定义是不同的。作用是与LSA数据包中的LS Type和LSA description一起描述一个LSA。
  • 通告路由器(Advertising Router)

    • 4个字节。始发路由器, 产生该LSA的路由器的Router-ID。
  • 链路状态序列号(Link-Sate Sequence Number)

    • 4个字节。该LSA的序列号,该字段用于判断LSA的新旧或是否存在重复。一般存储在LSDB中的LSA的序列号都是最新的。
  • 链路状态校验和(Link-State Checksum)

    • 2个字节。验证数据真实性。

    • 校验和会参与LSA的新旧比较。当两条LSA三元组相同,并且序列号也相同时,则可以使用校验和比较,和大的认定为新。

  • 长度(Length)

    • 2个字节。一条LSA的总长度(包括包头)。

LSA类型

这里只介绍6种常用LSA。

  • Router-LSA(1类)

    • 描述区域内部每一个路由器与其直连的路由器的链路信息(包括链路类型、开销值等)。

    • 这类LSA仅在区域内传递。

    • 每一台路由器都会产生这类LSA。

  • Network-LSA(2类)

    • 描述区域内的MA网络(广播网络、NBMA网络)链路的路由器及掩码信息,仅在区域内部传输。

    • 仅在区域内传输。

    • 只由DR产生。

  • Summary-LSA(3类)

    • 在整个OSPF区域内,描述其他区域的链路信息。

    • 以子网形式传播,类似于转递路由信息。

    • 只由ABR产生。

    • 该类LSA跨区域传播时,因转发时的通告路由器不同,故与非跨区域传输情况下相比,虽然描述的是同样的信息,但不是同一条LSA。

  • Asbr-summary-LSA(4类)

    • 描述到ASBR的信息。

    • 只由ABR产生,且在ASBR本区域内的路由器不会产生到达该ASBR设备的4类LSA。

  • AS-extenal-LSA(5类)

    • 传递域外路由信息。

    • 描述AS外部引入的路由信息,会传播到AS内的所有区域(除特殊区域)。

    • 只由ASBR产生。

    • 5类LSA生成的路由信息标志为O_ASE,优先级为150。

  • NSSA-LSA(7类)

    • 描述在NSSA区域引入的AS外部路由信息。

    • 由NSSA区域的自治域边界路由器ASBR产生。

    • 只出现在NSSA和Totally-NSSA区域,不进入区域0(骨干区域)。

    • 7类LSA生成的路由信息标志为O_NSSA,优先级为150。

LSA数据包

1类LSA(Router-LSA)

该类型LSA头部中的链路状态ID(Link-State ID)为生成LSA的Router ID。

  • 0(无含义)

  • 标志位

    • V位(Virtual Link Endpoint Bit):如果该位置为1,表示该路由器为Virtual Link的端点。路由器启用虚链路功能,该位会被置为1。

    • E位(External Bit):该位置为1,则表示该路由器为自治系统边界路由器(ASBR)。

    • B位(Border Bit):该位置为1,则表示该路由器为区域边界路由器(ABR)。

  • 0(无含义)

  • 链路数量(links)

    • 该条LSA描述的链路信息数量,包括路由器上处于某区域中的所有链路和接口。
  • 链路ID(Link ID)

    • 路由器所接入的目标,其值取决于连接的类型。

    • 当链路类型为Trans net时

      • 该字段为本网络的DR的IP地址。
    • 当链路类型为P2P时

      • 该字段为该网段对端的路由器的Router id。
    • 当链路类型为末梢网络时

      • 该字段为该网段的网络地址。
    • 当链路类型为虚拟链路时

      • 该字段为虚链路邻居的Router id。
  • 链路数据(Link Data)

    • 连接数据,其值取决于连接的类型。

    • 当链路类型为Trans net时

      • 该字段为本路由器在该网段的IP地址。
    • 当链路类型为P2P时

      • 该字段为本路由器在该网段的与对端路由器相连的接口IP地址。
    • 当链路类型为末梢网络时

      • 该字段为该网段的子网掩码。
    • 当链路类型为虚拟链路时

      • 该字段为去往该虚连接邻居的本地接口的IP地址。
  • 链路类型(Type)

    • 描述该接口的二层类型

      • 值为1表示该路由器是点到点连接到另一台路由器,即P2P网络(PPP)。

      • 值为2表示该路由器是连接到传输网络,即Trans net网络(NBMA或者广播网络)。

      • 值为3表示该路由器是连接到stub网络,即末梢网络(P2P或者环回口,由Data中的子网掩码判断具体类型,只有环回口能有32位的掩码)。

      • 值为4表示是虚拟链路(虚链路)。

  • TOS的数量

    • 连接不同的TOS数量。
  • 度量值(metric)

    • 链路的开销值。
  • TOS

    • 服务类型。
  • 0(无含义)

  • TOS度量(TOS metric)

    • 和指定TOS值相关联的度量。
  • 链路ID、链路数据......

    • 描述下一条链路信息。

2类LSA(Network-LSA)

该类型LSA头部中的链路状态ID(Link-State ID)为DR的接口IP地址。

  • 网络掩码(Network Mask)

    • 该MA网络中的网络地址掩码信息。
  • 连接路由器(Attached Router)

    • 连接在同一个网络上的所有路由器的Router ID。如果有多台路由器接入 MA 网络,就使用多个字段描述。

3类LSA(Summary-LSA)和4类LSA(Asbr-summary-LSA)

3类和4类LSA具有相同的格式,它们都是由ABR产生。

Summary-LSA中,LSA头部中的链路状态ID(Link-State ID)为通告的网络地址。

ASBR Summary LSA中,LSA头部中的链路状态ID(Link-State ID)表示ASBR的Router ID。

  • 网络掩码(Network Mask)

    • Summary-LSA中,该MA网络中的网络地址掩码信息。

    • ASBR-Summary-LSA中,此字段无意义,设置为0.0.0.0(RFC规定)。

  • 度量值(metric)

    • Summary-LSA中,为ABR到达目的地址的开销值。

    • ASBR-Summary-LSA中,为ABR 自己到达 ASBR 的开销值。

  • TOS

    • 服务类型。
  • TOS metric

    • 和指定TOS值相关联的度量。
  • 注意

    • 在通告缺省路由时,Link State ID和Network Mask都设置为0.0.0.0。

5类LSA(AS-External-LSA)

该类型LSA头部中的链路状态ID(Link-State ID)为通告的网络地址。

  • 网络掩码(Network Mask)

    • 通告的目的地址掩码信息。
  • E

    • 外部度量值类型

      • 0代表为第一类外部路由。

      • 1代表为第二类外部路由。

  • 度量值(metric)

    • 到达目的地址的开销值。
  • 转发地址(Forwarding Address)

    • 到所通告的目的地址的报文将被转发到这个地址。

    • 该字段如果非0,数据包直接发往FA地址(通常为ASBR的下游接口地址),如果为0,数据包发往ASBR的Router ID。

  • 外部路由标签(External Route Tag)

    • 添加到外部路由上的标记。OSPF本身并不使用这个字段,它可以用来对外部路由进行管理(如与路由策略配合等)。
  • TOS

    • 服务类型。
  • TOS metric

    • TOS附加的距离信息。
  • 注意

    • AS-External-LSA的LSA可以用来通告缺省路由,此时Link State ID和Network Mask都设置为0.0.0.0。

7类LSA(NSSA-LSA)

7类和5类LSA的报文格式基本一样。

  • 需要要注意的是,NSSA-LSA数据包中具有一个传播位(P-bit),由ASBR设置,该字段置1时,ABR会将此7类LSA转换为5类LSA。为0时,则仅保留在NSSA内部,不转换。
相关推荐
老六ip加速器1 小时前
手机改了IP地址,定位位置会改变吗?
网络·tcp/ip·智能手机
FlyingBuffer5 小时前
Data_Socket和UDP_Socket
网络·网络协议·udp
计算机毕设定制辅导-无忧学长12 小时前
TDengine 数据写入优化:协议选择与批量操作(一)
网络·数据库·tdengine
胡斌附体12 小时前
qt tcpsocket编程遇到的并发问题
开发语言·网络·qt·并发编程·tcpsocket
鲤籽鲲12 小时前
C# System.Net.IPAddress 使用详解
网络·c#·.net
zhu128930355613 小时前
网络安全防护与挑战
网络·安全·web安全
榆榆欸14 小时前
14.主从Reactor+线程池模式,Connection对象引用计数的深入分析
linux·服务器·网络·c++·tcp/ip
cuijiecheng201814 小时前
音视频入门基础:RTP专题(21)——使用Wireshark分析海康网络摄像机RTSP的RTP流
网络·wireshark·音视频
JavaEdge.15 小时前
ssl.SSLCertVerificationError报错解决方案
网络·网络协议·ssl