SRv6网络编程自学系列 | BGP SRv6 Policy

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

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

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


SRv6 Policy可以通过BGP发布,需要扩展BGP的SAFI以及对应的NLRI和Path Attribute等部分,具体的扩展如表4-20所示。

表4-20 BGP针对SRv6 Policy的扩展

这种新的SAFI用于标识SR Policy,支持IPv4和IPv6两种AF。

在该地址族的Update消息中,用NLRI标识SR Policy的Candidate Path,用Path Attribute来携带SR Policy Candidate Path的具体信息,包括对应的Binding SID、Preference和Segment List,等等。

头节点收到多条相同的Candidate Path时会进行BGP路由优选,BGP将选择的结果下发给SRv6 Policy的管理模块,并由管理模块安装到数据平面。

下面详细介绍BGP SRv6 Policy的协议扩展。

  1. SRv6 Policy SAFI and NLRI

BGP新增了对SR Policy SAFI的定义,SAFI的编码为73,它只能与IPv4或IPv6的AFI一起出现。当发布SRv6 Policy时,AFI取值为IPv6,SAFI取值为SR Policy。

SRv6 Policy SAFI使用新的NLRI格式描述SRv6 Policy的一条Candidate Path。

  1. SR Policy和隧道封装属性

BGP为SR Policy定义了一种新的隧道类型,编码是15,其对应的隧道封装属性为23,SR Policy就编码在隧道封装属性中。SR Policy的封装格式如下。

SR Policy SAFI NLRI: <Distinguisher, Policy-Color, EndPoint>
Attributes:
Tunnel Encaps Attribute(23)
  Tunnel Type: SR Policy(15)
    Binding SID
    Preference
    Priority
    Policy Name
    Explicit NULL Label Policy(ENLP)
    Segment List
      Weight
      Segment
      Segment
      …
    …
复制代码

其中,SR Policy SAFI NLRI在前面已介绍过。SR Policy里包含Binding SID、Preference、Priority和Segment List等Sub-TLV。

  1. Binding SID Sub-TLV

Binding SID Sub-TLV 指 定 了 Candidate Path 关 联 的 Binding SID。

  1. Preference Sub-TLV

Preference Sub-TLV用来指定SRv6 Policy中Candidate Path的优先级。Preference Sub-TLV是可选的,未被携带时,Candidate Path的默认优先级是100。

  1. Segment List Sub-TLV

Segment List Sub-TLV指定了到SRv6 Policy的Endpoint节点的显式路径。Segment List Sub-TLV中包含了路径信息和一个可选的Weight SubTLV。

  1. Weight Sub-TLV

Weight Sub-TLV用来指定一个Segment List在Candidate Path中的权重。多个Segment List权重不同时,按照Weight指定的权重进行非等价负载分担。未指定时,Segment List的权重是1。

  1. Segment Sub-TLV

Segment Sub-TLV用来定义Segment List中的Segment,一个Segment List可以包含多个Segment Sub-TLV。Segment Sub-TLV有多种不同的类型,对于SRv6 Policy,最常用的Segment类型是SRv6 SID类型。

  1. Policy Priority Sub-TLV

Policy Priority Sub-TLV用来指定拓扑变化时SRv6 Policy重算路的优先级。

  1. Policy Name Sub-TLV

Policy Name Sub-TLV用来给Policy的Candidate Path关联一个名字。

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/130018078