SRv6网络编程自学系列 | OSPFv3扩展

285 阅读3分钟

书籍来源:《SRv6网络编程:开启IP网络新时代》

这本书已经出了很多年了,但多年之后因为工作需要再来读一遍,除了温习之外,发现自己学到了更多的知识。一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:SRv6网络编程自学系列 | 汇总_COCOgsta的博客-CSDN博客


3.2.1 OSPFv3 SRv6协议原理

OSPFv3 SRv6扩展也有两个功能:发布Locator信息和SID信息。Locator信息用于帮助其他节点定位到发布SID的节点;SID信息用于完整描述SID的功能,比如SID绑定的Function信息。

为发布Locator的路由信息,OSPFv3需要发布两个LSA(Link State Advertisement,链路状态通告):SRv6 Locator LSA和Prefix LSA。

SRv6 Locator LSA包含SRv6 Locator TLV,TLV中包括前缀和掩码,以及OSPFv3路由类型。网络中的其他节点可以通过该LSA学习到Locator的路由。SRv6 Locator TLV除了携带用于指导路由的信息外,还会携带不需要关联OSPFv3邻居节点的SRv6 SID,例如End SID。

通过Prefix LSA可以发布Locator前缀。这些Prefix LSA是OSPFv3协议已有的LSA,普通IPv6节点(不支持SRv6的节点)也能够通过学习这些LSA,生成Locator路由(指导报文转发到发布Locator的节点的路由),进而支持与SRv6节点共同组网。

OSPFv3协议的第二个功能就是将SRv6 SID信息和SID对应的SRv6 Endpoint节点行为信息通过OSPFv3协议的各SID Sub-TLV扩散出去,用于路径/业务编程单元对网络进行编程。

3.2.2 OSPFv3 SRv6协议扩展

OSPFv3协议针对SRv6的TLV扩展如表3-10所示。

表3-10 OSPFv3协议针对SRv6的TLV扩展

  1. SRv6 Capabilities TLV

SRv6 Capabilities TLV就是用于通告节点支持的SRv6能力

  1. SR Algorithm TLV

通过OSPFv3 Router Information LSA携带SR Algorithm TLV,用于通告OSPFv3 SRv6使用的算法

  1. Node MSD TLV

通过OSPFv3 Router Information LSA携带Node MSD TLV,用于通告OSPFv3设备能够接受的最大SID栈深

  1. SRv6 Locator LSA

SRv6 Locator LSA用于发布SRv6 Locator信息,具有SRv6能力的节点如果收到SRv6 Locator LSA并且支持Locator相应的算法,需要在转发表中安装Locator的路由表项

在OSPFv3基础协议中已经定义了OSPFv3 LSA的格式,这里U字段要设置为1,保证不支持该LSA的设备也能正常泛洪LSA。

也可以通过其他Prefix LSA发布Locator。如果Locator里Algorithm取值为0,则Locator必须通过这些Prefix LSA发布,以便不支持SRv6的设备能够下发转发表项,指导转发Algorithm取值为0的SRv6流量。如果设备同时收到Prefix LSA和SRv6 Locator LSA,则优先安装Prefix LSA。

  1. SRv6 Locator TLV

SRv6 Locator TLV是SRv6 Locator LSA的顶级TLV,用于发布SRv6 Locator以及该Locator相关的End SID

  1. SRv6 End SID Sub-TLV

SRv6 End SID Sub-TLV用于发布不需要关联邻接节点的SRv6 SID,例如End SID

  1. SRv6 End.X SID Sub-TLV

SRv6 End.X SID Sub-TLV用于发布一个P2P/P2MP邻接类型和Broadcast/NBMA链路上指向DR的邻接类型的SRv6 End.X SID。

  1. SRv6 LAN End.X SID Sub-TLV

SRv6 LAN End.X SID Sub-TLV 用于发布 Broadcast/NBMA 链路上一个指向BDR 或 DROther 的邻接类型的 SRv6 End.X SID。

与SRv6 End.X SID Sub-TLV相比,该Sub-TLV仅多出一个OSPFv3 Router-ID of neighbor字段

  1. Link MSD Sub-TLV

通过OSPFv3 E-Router-LSA Router-Link TLV携带Link MSD Sub-TLV,用于通告OSPFv3链路能够接受的最大SID栈深

  1. SRv6 SID Structure Sub-sub-TLV

SRv6 SID Structure Sub-sub-TLV用于通告SRv6 SID不同字段的长度