OSPF的LSA详解(报文分析+具体例子)

OSPF LSA

  • 要点掌握:

    • 名称

    • 携带的内容

    • 作用

    • 传播的范围

    • 由谁产生

LSA报头格式

  • 所有的LSA都有相同的报文头

    • **LS age:**LSA产生后所经过的时间,以秒为单位。LSA在本路由器的LSDB中会随时间老化(每秒钟加1),但在网络的传输过程中却不会

    • LS type:LSA的类型

    • Link State ID:具体数值根据LSA的类型而定。

    • **Advertising Router:**始发LSA的路由器的ID

    • **LS sequence number:**LSA的序列号,其他路由器根据这个值可以判断哪个LSA是最新的

    • LS checksum:除了LS age字段外,关于LSA的全部信息的校验和

    • length:LSA的总长度,包括LSA Header,以字节为单位

Type1-LSA

  • 定义:

    • Router LSA , 路由LSA:

    • 描述区域内部与路由器直连的链路信息

    • 仅在区域内部传播

    • 每台路由器都会产生Type1 LSA

  • 内容:

    • (链路状态ID)LS ID :发出该LSA的路由器的Router-id

    • (通告路由器)Adv Rtr:产生LSA的路由器的Router-id

    • (链路类型)Link-Type

      • 描述该链路的二层类型 , 类型取值:
      • 1: 点对点连接到另一台路由器 ;链路ID:邻居的RID;链路数据:产生该LSA路由器的接口IP;

      • 2:连接到一个传输网络;链路ID:DR的接口IP地址;链路数据:产生该 LSA的路由器的接口地址

      • 3:连接到一个末梢(stub)网络;链路ID:网络IP地址;网络掩码

      • 4:虚链路;链路ID:邻居的RID;链路数据产生该 LSA的路由器的接口地址

      • Type:链路类型,取值:

        链路类型 描述 链路ID 链路数据
        1 点对点连接到另外一台路由器 邻居的Router-id 产生该LSA的路由器的接口的IP地址
        2 连接到一个传输网络 DR的接口IP地址 产生该LSA的路由器的接口的IP地址
        3 连接到一个末梢网络 网络IP地址 网络掩码
        4 虚链路 邻居的Router-ID 产生该LSA的路由器的接口的IP地址
  • 报头内容:

    • 特殊位:

      • V:如果产生此LSA的路由器是虚连接的端点,则置为1

      • E:如果产生此LSA的路由器是ASBR,则置为1

      • B:如果产生此LSA的路由器是ABR,则置为1

    • Links:LSA中所描述的链路信息的数量,包括路由器上处于某区域中的所有链路和接口

    • Link ID:链路标识,具体的数值根据链路类型而定(发出该LSA路由器的RID)

    • Link data:链路数据,具体的数值根据链路类型而定

      例子:

Type2-LSA

  • 定义:

    • Network LSA 网段LSA:

    • 描述区域内的MA网络链路的路由器RID以及网段掩码信息; (通过类型1和类型2得到区域内部路由)

    • 仅在区域内部传输

    • 只有DR会产生Type2 LSA

  • 内容:

    • (链路状态ID)LS ID :该网段的DR的ip地址

    • (通告路由器)Adv Rtr:该网段DR的Router-id

    • 网络掩码

    • (相连的路由器)Attached Router:该网段所有路由器的Router-id

  • 报头内容

    • Link State ID:DR的IP地址
    • Network mask:广播网或NBMA网络地址的掩码
    • Attached router:连接在同一个网段上的所有与DR形成了完全邻接关系的路由器的Router ID,也包括DR自身的Router ID
  • 例子:

Type3-LSA

  • 定义:

    • Summary LSA 网络汇总LSA

    • 描述其他区域的链路信息 -- 解决区域间路由计算

      • 以子网形式传播,类似直接传递路由

      • 收集区域内的1,2类LSA信息以子网形式传播

    • 在除了生成该LSA的所有其他区域传播

    • 只有ABR会产生Type3 LSA

  • 内容:

    • (链路状态)LS ID :其他区域某个网段的网络地址

    • Net mask :该网段的子网掩码

    • (通告路由器)Adv Rtr:通告该LSA的ABR的Router-id

    • cost值

  • 报头内容

    • Link State ID:所通告的区域外的网络地址;

    • Network mask:Type3 LSA的网络地址掩码。

    • Metric:到目的地址的路由开销

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

  • 例子:

Type4-LSA

(Type-4 LSA和Type-3 LSA 除Link State ID字段有所不同外,有着相同的格式,它们都是由ABR产生)

  • 定义:

    • Asbr-summary ASBR汇总LSA

    • 描述ASBR的信息(RID),让区域内部路由器知道如何到达ASBR

    • 只有ABR会产生Type4 LSA 触发条件是ABR收到第一个5类LSA

    • 在ASBR本区域的内部路由器,不会产生到达该ASBR的4类LSA

  • 内容:

    • LS ID:ASBR的router-id

    • 网络掩码:字段全0 ,没有意义

    • Adv Rtr:通告ASBR的ABR的router-id

    • cost:该ABR到ASBR的cost值

  • 报头格式与Type-3 LSA类似

Type5-LSA

  • 定义:

    • AS-extenal LSA 外部LSA

    • 描述AS外部引入的路由信息

    • 只有ASBR会产生Type5_LSA E位置1

    • 在所有区域传播 除了个别特殊区域

  • 内容:

    • 网络掩码

    • E位:度量值类型

      • 置位1:二类外部路由 ,可信程度低,ASBR到目的地址(默认)

      • 置位2:一类外部路由, 可信程度高,开销=本路由器到ASBR+ASBR到目的地址

    • Cost值

    • 外部路由标记,部署策略

    • FA 转发地址

      • 为0:到达该外部网段的流量发往引入该路由的ASBR

      • 不为0:发往该地址

    • LS ID:外部某个网段的网络路由

    • Adv Rtv:引入该网段路由的ASBR的Router-id

  • 报文格式

    • Link State ID:所要通告的其他外部AS的目的地址,如果通告的是一条缺省路由,那么链路状态ID(Link State ID)和网络掩码(Network Mask)字段都将设置为0.0.0.0。
    • Network mask:所通告的目的地址的掩码。
    • (External Metric):外部度量值的类型。如果是第2类外部路由就设置为1,如果是第1类外部路由则设置为0。
    • Metirc:路由开销
    • Forwarding Address:到所通告的目的地址的报文将被转发到的地址
    • External Route Tag:添加到外部路由上的标记。OSPF本身并不使用这个字段,它可以用来对外部路由进行管理
  • 例子:

Type7-LSA

  • 定义:

    • NSSA(非完全末梢区域)外部LSA

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

    • 由NSSA区域的ASBR产生

    • 只会出现在NSSA和Totolly NSSA区域

  • 内容:

    • LS ID:外部某个网段的网络地址

    • Adv Rtr:引入该路由的ASBR的router-id

  • 报文格式与5类LSA一致

  • 7-5转

    • ABR为了让NSSA区域内的路由器能够通过骨干区域访问被过滤掉的5类LSA的外部路由,会向NSSA中发布一条默认路由(7类LSA描述)

    • NSSA允许用7类LSA引入少量外部路由,不被注入area0

    • ABR将NSSA泛洪的7类LSA转换成5类LSA再OSPF域内传播

  • FA地址不为0,是一个具体地址

  • 例子;

判断LSA的新旧

  • 拥有更高链路状态序列号的LSA实例被认为最新 -- 每次刷新LSA会将序列号+1

  • 序列号相同,拥有更大校验和的LSA实例被认为最新

  • 如果序列号和校验和相同,老化时间设置为Max-age(默认1h),则最新

  • 当本地LSA和新收到的LSA老化时间超过Max-Age-Diff(缺省为15m)时,被认为两个不同实例,老化时间小的LSA最新

  • 如果上面4点都一样则被认为是相同LSA

相关推荐
面朝大海,春不暖,花不开15 分钟前
Java网络编程:TCP/UDP套接字通信详解
java·网络·tcp/ip
byxdaz15 分钟前
PJSIP 中的 TCP 传输配置指南
tcp/ip
ChicagoTypewriter21 分钟前
计算机网络中的常用表项梳理
网络·计算机网络·智能路由器
Bruce_Liuxiaowei3 小时前
常见高危端口风险分析与防护指南
网络·网络安全·端口·信息搜集
tmacfrank4 小时前
Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议
android·网络·https
liulilittle4 小时前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
cui_win4 小时前
【内存】Linux 内核优化实战 - net.ipv4.tcp_tw_reuse
linux·网络·tcp/ip
2501_916013744 小时前
iOS 多线程导致接口乱序?抓包还原 + 请求调度优化实战
websocket·网络协议·tcp/ip·http·网络安全·https·udp
M1A14 小时前
TCP/IP协议精解:IP协议——互联网世界的邮政编码系统
后端·网络协议·tcp/ip
夏天想5 小时前
优化 WebSocket 实现单例连接用于打印【待测试 】
网络·websocket·网络协议