SRH
SRH

SRv6新增SRH用于携带Segment List来控制报文转发,SRH格式如图1所示,字段说明参见表1

IPv6报文头中的“Next Header”字段取值为43时,表示下层头为路由扩展头(Routing Extension Header),当路由扩展头中的“Routing Type”为4时表示该扩展头类型为SRH 。

图1  SRH格式
表1  SRH扩展头字段解释
字段名 长度 含义

Next Header

8比特

标识SRH头后面的协议类型,可以是IPv4、IPv6、TCPUDP等。

Hdr Ext Len

8比特

SRH头的长度,不包括第一个8字节,以8字节为单位。

Routing Type

8比特

表示该路由扩展头的类型,4表示SRH。

Segment Left

8比特

表示SRH中没有访问的Segment个数。

Last Entry

8比特

Segment List中最后一个Segment的索引,从0开始。

Flags

8比特

SRH的一些特殊标记。

tag

16比特

数据报文的组或类别标识。

Segment List[n]

128比特

IPv6地址形式的Segment列表。

携带SRH的IPv6报文可以用如下形式描述(SA,SID1)(SID3,SID2,SID1,SL=2),其中:

SRH转发过程

SRH转发过程如图2所示。

图2  SRH转发处理方式
  1. 入口节点封装SRH,SRH包括转发路径的SID列表,采用逆序方式存放,即先使用的SID存放在后面的位置。

    • IPv6报文中SRH段列表格式为(Segment ID [0], Segment ID [1], ..., Segment ID [n-1], Segment ID [n], SL=n),类似于SR-MPLS中的MPLS标签栈信息。

    • Segment ID [n]是SRv6路径上第一个需要被处理的Segment;Segment ID [n-1]是第二个;Segment ID [1]是倒数第二个;Segment ID [0]是倒数第一个。

    • SL表示SRH中剩余的Segment个数。

  2. 每个SRv6节点终结本节点的SID,即每经过一个SRv6节点,Segments Left(SL)字段减1,IPv6 DA信息变换一次。Segments Left和Segment ID字段共同决定IPv6 DA信息。