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

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

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

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


3.1.1 IS-IS SRv6协议原理

为了支持SRv6,IS-IS协议需要发布两类SRv6信息:Locator信息与SID信息。Locator信息用于帮助网络中的其他节点定位到发布SID的节点;SID信息用于完整描述SID的功能,如SID绑定的Function信息。

IS-IS协议通过两个TLV来发布Locator的路由信息:SRv6 Locator TLV和IPv6 Prefix Reachability TLV,这两个TLV具有不同的作用。

SRv6 Locator TLV包含Locator的前缀和掩码,用于发布Locator前缀。

IPv6 Prefix Reachability TLV与SRv6 Locator TLV拥有相同的前缀和掩码。普通IPv6节点也能够通过此TLV生成Locator路由(指导报文转发到发布Locator的节点的路由),进而支持与SRv6节点共同组网。

IS-IS协议的另一个功能就是将SRv6 SID信息和SID对应的SRv6 Endpoint节点行为信息通过IS-IS协议的各类SID Sub-TLV扩散出去,用于路径/业务编程单元对网络进行编程,IS-IS协议发布的Endpoint节点行为如表3-1所示。

表3-1 IS-IS协议发布的Endpoint节点行为

End、End.X、End.T定义了3种Flavor附加行为:PSP、USP、USD,这些Flavor附加行为可以进行组合来扩展End、End.X、End.T的功能,所以,End、End.X、End.T对应了多个节点行为ID。以End为例,不同的ID代表不同的行为。

  • 1:End
  • 2:End + PSP
  • 3:End + USP
  • 4:End + PSP&USP
  • 28:End + USD
  • 29:End + PSP&USD
  • 30:End + USP&USD
  • 31:End + PSP&USP&USD

3.1.2 IS-IS SRv6协议扩展

IS-IS协议针对SRv6的TLV扩展如表3-2所示 [4-5]。

表3-2 IS-IS协议针对SRv6的TLV扩展

  1. SRv6 Capabilities Sub-TLV

SRv6 Capabilities Sub-TLV用于通告节点支持的SRv6能力

  1. Node MSD Sub-TLV

Node MSD Sub-TLV用于通告节点能够处理的最大SID栈深

  1. SRv6 Locator TLV

SRv6 Locator TLV用于发布SRv6 Locator路由和不需要关联IS-IS邻居节点的SRv6SID,例如End SID

  1. SRv6 End SID Sub-TLV

SRv6 End SID Sub-TLV用于发布SRv6 SID,如End SID

SRv6 End SID Sub-TLV是SRv6 Locator TLV的Sub-TLV,IS-IS协议发布的SID如果不关联IS-IS邻居,则都在SRv6 End SID Sub-TLV中发布。

  1. SRv6 End.X SID Sub-TLV

SRv6 End.X SID Sub-TLV用于发布一个P2P邻接类型的SRv6 End.X SID

  1. SRv6 LAN End.X SID Sub-TLV

SRv6 LAN End.X SID Sub-TLV用于发布一个LAN邻接类型的SRv6 End.X SID

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

  1. SRv6 SID Structure Sub-sub-TLV

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


版权声明:本文为guolianggsta原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。