SRH介绍

一、SRH格式

SRv6新增SRH用于携带Segment List来控制报文转发,SRH格式如图1所示,字段说明参见表1。IPv6报文头中的"Next Header "字段取值为43时,表示下层头为路由扩展头(Routing Extension Header),当路由扩展头中的"Routing Type"为4时表示该扩展头类型为SRH 。

图1 SRH格式

字段名 长度 含义
Next Header 8比特 标识SRH头后面的协议类型,可以是IPv4、IPv6、TCP、UDP等。
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 Listn 128比特 IPv6地址形式的Segment列表。
[表1 SRH扩展头字段解释]

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

  • (SA,SID1)中的SA表示报文源地址,SID1表示报文目的地址。

  • (SID3,SID2,SID1,SL=2)表示SRH,路径为<SID1,SID2,SID3>,Segment ListSL是当前为报文目的地的Segment。 SRv6中报文每到达一个Segment节点后,进行SL字段减1,再取Segment ListSL作为报文目的地,用新的目的地查路由转发报文,从而实现报文按照Segment List指示的路径进行转发。

二、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信息。

相关推荐
梦到啥说啥6 小时前
Linux网络编程:TCP网络协议
网络·网络协议·tcp/ip
Alluxio6 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Shanks.9 小时前
2026 远程控制软件实测:ToDesk / 向日葵 / RustDesk / TeamViewer 在跨城与弱网下的真实差距
网络·远程工作·软件需求
Jeremy_WW10 小时前
802.3协议解读 06:117章节 RS 和 200GMII / 400GMII I
网络·网络协议·信息与通信·光模块·802.3协议
坤坤子吖10 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
Sayai10 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
顧棟11 小时前
INFINI Gateway 服务器端口重用(SO_REUSEPORT)实现与分析
网络·gateway
Elastic 中国社区官方博客11 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜11 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨12 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp