SRv6网络编程自学系列 | SRv6 VdPdNd的协议扩展

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

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

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


为了支持VPN,PE节点需要发布对应的SRv6 SID,用于标识VPN实例。

在SRv6 BE场景下,直接使用SRv6 SID作为目的地址封装成IPv6报文。在SRv6 TE场景下,将目的路由迭代出来的转发路径Segment List和SRv6 VPN SID插入报文中进行转发。

  1. SRv6 Services TLV

ETF扩展了两个BGP Prefix-SID属性TLV,用于携带业务相关的SRv6 SID。

  • SRv6 L3 Services TLV:用于携带三层业务的SRv6 SID信息,支持携带End.DX4、End.DT4、End.DX6、End.DT6等SID信息。
  • SRv6 L2 Services TLV:用于携带二层业务的SRv6 SID信息,支持携带End.DX2、End.DX2V、End.DT2U、End.DT2M等SID信息。

BGP Prefix-SID属性是专门为SR定义的BGP路径属性,这个属性是可选和可传递的,类型号为40,其Value字段为实现各种业务功能的一个或多个TLV,例如本节提及的多种类型的SRv6 Services TLV。

  1. SRv6 SID Information Sub-TLV

目前定义了1种SRv6 Service Sub-TLV,即SRv6 SID Information Sub-TLV,用于携带SID信息。

  1. SRv6 SID Structure Sub-sub-TLV

当前只定义了一种SRv6 Service Data Sub-sub-TLV,即类型为1的SRv6 SID Structure Sub-sub-TLV,用于携带SID格式的描述信息。

引入SRv6 SID Structure Sub-sub-TLV之后,可以将SRv6 SID值的可变部分(Function/Arguments部分)移位,并存储在已有的BGP更新报文的Label标签字段中,而多个SRv6 SID相同的、固定不变的部分仍被编码在SID Information Sub-TLV中。

通过这样的处理,SRv6 SID Structure Sub-sub-TLV所携带的信息可以被多个SRv6 SID多次复用,原本一条BGP更新报文只能携带一条路由,现在可以携带多条路由,大大减少了报文数量,提高了BGP更新报文发送和接收的处理效率。

おすすめ

転載: blog.csdn.net/guolianggsta/article/details/130039043