GB/T 44887.5-2024 IPv6演进技术要求 第5部分:基于IPv6段路由(SRv6)的虚拟专用网(VPN) ,该文件为pdf格式 ,请用户放心下载!
尊敬的用户你们好,你们的支持是我们前进的动力,网站收集的文件并免费分享都是不容易,如果你觉得本站不错的话,可以收藏并分享给你周围的朋友。
如果你觉得网站不错,找不到本网站,可以百度、360搜搜,搜狗, 神马搜索关键词“文档天下”,就可以找到本网站。也可以保存到浏览器书签里。
收费文件即表明收集不易,也是你们支持,信任本网站的理由!真心非常感谢大家一直以来的理解和支持!
CCS L 78
中华人民共和国国家标准
IPv6 演进技术要求 第5 部分:基于IPv6 段路由(SRv6)的虚拟专用网(VPN)
IPv6 evolution technical requirements—
Part 5:SRv6﹘based VPN
GB/T 44887.5—2024
2024-11-28 发布2025-03-01 实施
国家市场监督管理总局
国家标准化管理委员会发 布
目 次
前言 ····································································································· Ⅲ
引言 ····································································································· Ⅳ
1 范围 ·································································································· 1
2 规范性引用文件 ······················································································ 1
3 术语和定义 ··························································································· 1
4 缩略语 ································································································ 1
5 基于SRv6 的VPN 网络技术架构 ····································································· 2
6 SRv6 服务TLV 技术要求 ············································································· 3
6.1 SRv6 服务TLV ·················································································· 3
6.2 SRv6 服务子TLV ················································································ 4
6.3 SRv6 SID 信息子TLV ··········································································· 4
6.4 SRv6 服务数据Sub﹘Sub﹘TLV ···································································· 5
6.5 SRv6 SID 结构Sub﹘Sub﹘TLV ···································································· 5
7 基于SRv6 VPN 网络的三层服务 ····································································· 6
7.1 三层服务实现机制 ··············································································· 6
7.2 IPv4 VPN 服务 ··················································································· 7
7.3 IPv6 VPN 服务 ··················································································· 7
7.4 全球可寻址IPv4 服务 ············································································ 7
7.5 全球可寻址IPv6 服务 ············································································ 8
8 基于SRv6 VPN 网络的二层服务 ····································································· 8
8.1 二层服务实现机制 ··············································································· 8
8.2 以太网自动发现路由 ············································································· 9
8.3 MAC/IP 通告路由 ··············································································· 9
8.4 泛组播以太网标签路由 ········································································· 10
8.5 以太网分段路由 ················································································ 11
8.6 IP 前缀路由 ····················································································· 11
8.7 EVPN 组播路由 ················································································ 12
9 协议消息错误的处理 ················································································ 12
参考文献 ································································································ 13
GB/T 44887.5—2024
Ⅰ
前 言
本文件按照GB/T 1.1—2020《标准化工作导则 第1 部分:标准化文件的结构和起草规则》的规
定起草。
本文件是GB/T 44887《IPv6 演进技术要求》的第5 部分,GB/T 44887 已经发布了以下部分:
—第5部分:基于IPv6段路由(SRv6)的虚拟专用网(VPN);
—第10部分:支持IP网络切片的增强型虚拟专用网(VPN+);
—第11部分:IPv6随流检测技术。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由中华人民共和国工业和信息化部提出。
本文件由全国通信标准化技术委员会(SAC/TC 485)归口。
本文件起草单位:中国电信集团有限公司、中国联合网络通信集团有限公司、华为技术有限公司、
中兴通讯股份有限公司、中国信息通信科技集团有限公司、新华三技术有限公司。
本文件主要起草人:龚霞、万晓兰、伍佑明、朱永庆、毛健炜、刘尧、庞冉、彭书萍、张征、汪俊芳、
杨冰。
GB/T 44887.5—2024
Ⅲ
引 言
根据《关于加快推进互联网协议第六版 (IPv6)规模部署和应用工作的通知》,为加快政务应用改
造、拓展行业融合应用,推动IPv6 规模部署和应用创新成果标准化,我国制定了一系列IPv6 标准。其
中,GB/T 44887《IPv6 演进技术要求》是为规范国家IPv6 部署而制定的标准,拟分为以下部分。
第1部分:参考架构。目的在于规定IPv6演进技术在运营商和行业领域的应用场景,以及在运
营商及行业网络中的部署。
—
第2部分:基于IPv6段路由(SRv6)的IP承载网络。目的在于规定基于SRv6的IP承载网络总体
架构、基于SRv6的设备层技术要求及基于SRv6的管控层技术要求。
—
第3部分:IPv6段路由报文头(SRH)。目的在于规定IPv6段路由报文头(SRH)的格式,以
及SRH在节点处理的技术要求。
—
第4部分:基于IPv6段路由(SRv6)的网络编程。目的在于规定基于SRv6网络编程的数据平
面、控制平面、管理平面。
—
第5部分:基于IPv6段路由(SRv6)的虚拟专用网 (VPN)。目的在于规定基于SRv6的
VPN网络的处理流程和协议消息,包含三层服务和二层服务等实现。
—
第6部分:IPv6段路由(SRv6) 策略 (Policy)。目的在于规定用于支持基于SRv6策略技术
的网络设备的开发、设计和测试等。
—
第7部分:基于IPv6段路由(SRv6)的业务链。目的在于规定基于SRv6的业务链数据面技术要
求、基于SRv6的业务链控制面技术要求。
—
第8部分:基于IPv6段路由(SRv6)的报文头压缩。目的在于规定适用于支持基于SRv6的报文
头压缩的网络设备的开发、设计和测试等。
—
第9部分:基于IPv6段路由(SRv6)的网络故障保护。目的在于规定适用于SRv6组网下常见网
络故障场景,包括SRv6 BE节点/链路失效、SRv6 Policy中间节点/尾节点失效、微环及SRv6
Policy故障场景等。
—
第10部分:支持IP网络切片的增强型虚拟专用网 (VPN+)。目的在于规定增强型虚拟专用
网(VPN+)的技术架构、VPN+技术要求,以及基于SR的VPN+实现流程。
—
第11部分:IPv6随流检测技术。目的在于规定适用于多类型业务承载场景下数据面随流信息的
自动化质量测量,以及IP网络设备随流检测功能研发、测试与部署。
—
GB/T 44887.5—2024
Ⅳ
IPv6 演进技术要求
第5 部分:基于IPv6 段路由(SRv6)的
虚拟专用网(VPN)
1 范围
本文件规定了基于SRv6 的VPN 网络技术架构、SRv6 服务TLV、基于SRv6 VPN 网络的三层服
务、基于SRv6 VPN 网络的二层服务等技术要求。
本文件适用于网络设备的SRv6 VPN 技术研发、测试与应用。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文
件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用
于本文件。
IETF RFC 2545 BGP﹘4 多协议扩展在IPv6 域间路由的应用(Use of BGP﹘4 Multiprotocol Exten﹘
sions for IPv6 Inter﹘Domain Routing)
IETF RFC 4659 IPv6 VPN 场景中的BGP﹘MPLS IP 虚拟私有网络扩展[BGP﹘MPLS IP Virtual
Private Network (VPN) Extension for IPv6 VPN]
IETF RFC 7432 基于BGP MPLS 的EVPN(BGP MPLS﹘Based Ethernet VPN)
IETF RFC 8950 通告带有IPv6 下一跳地址的IPv4 网络层可达性信息[Advertising IPv4 Network
Layer Reachability Information(NLRI)with an IPv6 Next Hop]
IETF RFC 8986 SRv6 网络编程(SRv6 Network Programming)
IETF RFC 9136 EVPN 中的IP 前缀通告(IP Prefix Advertisement in EVPN)
IETF RFC 9251 EVPN 的IGMP 和MLD 代理[Internet Group Management Protocol(IGMP)
and Multicast Listener Discovery (MLD) Proxies for Ethernet VPN (EVPN)]
IETF RFC 9256 分段路由策略架构(Segment Routing Policy Architecture)
3 术语和定义
下列述术语和定义适用于本文件。
3.1
分段路由 segment routing
应用于MPLS 网络或者IPv6 网络的实现业务路径定制的源路由技术。
注:在MPLS 网络中,Segment 被编码为MPLS 标签。在IPv6 网络中,Segment 采用IPv6 地址格式,通过分段路由
头(Segment Routing Header)指示转发路径。
4 缩略语
下列缩略语适用于本文件。
AFI:地址族标志(Address Family Identifier)
GB/T 44887.5—2024
1
BGP:边界网关协议(Border Gateway Protocol)
CE:用户边缘设备(Customer Edge)
ES:以太网分段(Ethernet Segment)
ESI:以太网分段标识(Ethernet Segment Identifier)
EVPN:以太虚拟专用网(Ethernet Virtual Private Network)
IANA:互联网数字分配机构(Internet Assigned Numbers Authority)
IGMP:互联网组管理协议(Internet Group Management Protocol)
IPv4:互联网协议第四版(Internet Protocol version 4)
IPv6:互联网协议第六版(Internet Protocol version 6)
L3VPN:三层虚拟专用网络(Layer 3 Virtual Private Network)
MAC:介质访问控制(Media Access Control)
MPLS:多协议标签交换(Multi﹘Protocol Label Switching)
NLRI:网络层可达性信息(Network Layer Reachability Information)
PE:运营商边缘设备(Provider Edge)
SAFI:子地址族标识(Subsequent Address Family Identifier)
SID:分段标识(Segment Identifier)
SLA:服务等级协议(Service﹘Level Agreement)
SR:分段路由(Segment Routing)
SRH :分段路由头(Segment Routing Header)
SRv6:基于IPv6 的分段路由(Segment Routing over IPv6)
TLV:类型、长度和值(Type﹘Length﹘Value)
VLAN:虚拟局域网(Virtual Local Area Network)
VPN:虚拟专用网络(Virtual Private Network)
VPWS:虚拟专线业务(Virtual Private Wire Service)
VRF:虚拟路由转发(Virtual Routing Forwarding)
5 基于SRv6 的VPN 网络技术架构
基于SRv6 的VPN 网络是指使用BGP 作为控制平面、SRv6 作为数据平面的二层或三层的上层网络
(Overlay)。SRv6 服务SID 是与一种服务特定行为相关联的SRv6 分段ID(SID),包括但不限于
L3VPN 服务中的END.DT(解封装及查VRF 表)或END.DX(解封装及互连到下一跳)行为。基于
SRv6 的VPN 网络使用BGP 从出口设备向入口设备通告特定服务前缀的可达性,利用已有的BGP 消息
在边缘设备之间携带SRv6 服务SID 的信息,并将此作为一种互联边缘设备并构建VPN 虚拟专用网络。
基于SRv6 的VPN 网络技术架构如图1 所示。
GB/T 44887.5—2024
2
图1 基于SRv6 的VPN 网络技术架构
在提供具有尽力而为连通性级别的SRv6 服务时,出口边缘设备应利用BGP 上层网络服务路由消息
通告一个SRv6 服务SID,入口边缘设备应将数据载荷封装在外层IPv6 头部之内,并且设置外层目的地
址为该服务SID。边缘设备之间的底层网络(Underlay)只需支持普通的IPv6 转发即可。
在提供从网络入口到出口都满足SLA 的SRv6 服务时,出口边缘设备应给上层网络服务路由添加
BGP Color 扩展团体属性,入口边缘设备应将载荷数据包封装在外层IPv6 头部,并携带一个SRH 扩展头
部,该SRH 中包含了与相应SLA 相关联的SR 策略的SID 列表,该列表的最后一跳应为该路由相关联
的SRv6 服务SID。对于底层网络节点,如果其SRv6 SID 是SID 列表的一部分,那么该节点应支持
SRv6 数据平面。
基于SRv6 的VPN 网络的二层、三层服务的SRv6 SID 应封装在BGP Prefix﹘SID 属性的SRv6 服务
TLV 中。
6 SRv6 服务TLV 技术要求
6.1 SRv6 服务TLV
SRv6 服务TLV 定义为BGP Prefix﹘SID 属性的两个新的TLV,以实现二层、三层服务的SRv6
SID 的通告。TLV 的内容应满足以下要求。
SRv6三层服务TLV编码基于SRv6的三层服务的服务SID信息,与三层服务路由中提供相同功能
的MPLS标签相对应。一些可被编码入该TLV的行为包括但不限于End.DX4、End.DT4、
End.DX6、End.DT6、End.DT46等。
—
SRv6二层服务TLV编码基于SRv6的二层服务的服务SID信息,与提供给EVPN多种路由消息相
同功能的MPLS标签相对应。一些可被编码入该TLV的行为包括但不限于E n d . D X 2 、
End.DX2V、End.DT2U、End.DT2M等。
—
BGP Prefix﹘SID 属性中的SRv6 服务TLV 的编码格式如图2 所示。
图2 SRv6 服务TLV 的编码格式
GB/T 44887.5—2024
3
具体格式要求如下。
TLV类型(1字节):此字段是从IANA“BGP Prefix﹘SID TLV Types”注册表中分配的值。
对应SRv6三层服务TLV的取值为5,对应SRv6二层服务TLV的取值为6。
—
—TLV长度(2字节):标识该TLV数据部分的长度,单位为八位字节。
—预留(1字节):此字段被保留,发送方应将其置零,接收方忽略该字段。
SRv6服务子TLV(可变长):此字段包含SRv6服务的相关信息,编码为一个子TLV的无序
列表。
—
BGP 发言人接收到携带BGP Prefix﹘SID 属性的路由,并且BGP Prefix﹘SID 属性中包含了一个或多个
SRv6 服务TLV,在将该路由通告给其他对等体时,应符合以下规则。
下一跳字段在通告时不改变,则继续传播该SRv6服务TLV,即使其中包含了未知的子TLV和
Sub﹘Sub﹘TLV,原封不动地传播该SRv6服务TLV、子TLV、Sub﹘Sub﹘TLV中的预留字段。
—
下一跳字段在通告时发生改变,则该SRv6服务TLV、子TLV、Sub﹘Sub﹘TLV应被更新为本地
分配的SRv6 SID信息。删除任何未知的子TLV、Sub﹘Sub﹘TLV。
—
6.2 SRv6 服务子TLV
单个SRv6 服务子TLV 的编码格式如图3 所示。
图3 SRv6 服务子TLV 的编码格式
具体格式要求如下。
SRv6服务子TLV类型(1字节):标识SRv6服务信息的类型。它是从IANA“SRv6 Service
Sub﹘TLV Types”注册表分配的值。
—
—SRv6服务子TLV长度(2字节):标识该子TLV数据部分的长度,单位为八位字节。
SRv6服务子TLV数据部分(可变长):包含特定子TLV类型的数据。除了固定长度的数据,
该部分也包含其他的SRv6服务属性,其编码为一系列SRv6服务数据Sub﹘Sub﹘TLVs。
—
6.3 SRv6 SID 信息子TLV
SRv6 服务子TLV 的类型1 分配给SRv6 SID 信息子TLV,该子TLV 包含了一个SRv6 SID 及其他属
性。SRv6 SID 信息子TLV 的编码格式如图4 所示。
图4 SRv6 SID 信息子TLV 的编码格式
GB/T 44887.5—2024
4
具体格式要求如下。
—SRv6服务子TLV类型(1字节):该字段设为1,表示是SRv6 SID信息子TLV。
—SRv6服务子TLV长度(2字节):该字段标识数据部分的总长度,单位为八位字节。
—预留1(1字节):发送方将其置零,接收方忽略该字段。
—SRv6 SID值(16字节):编码存放一个SRv6 SID。
SRv6服务 SID标志位 (1字节):编码存放SRv6服务 SID的标志位,当前未使用。发送方将其
置零,接收方忽略任何未知的标志位。
—
SRv6 端点行为(2字节):编码存放SRv6 端点行为。它是从IANA“SRv6 Endpoint Behavi﹘
ors”注册表分配的值。该字段应被置0xFFFF值,以表明不告知具体行为,除非路由器想要对
外告知实际的行为。
—
—预留2(1字节):发送方将其置零,接收方忽略该字段。
SRv6服务数据Sub﹘Sub﹘TLV(可变长):此字段用于通告上述SRv6 SID的属性,它被编码为
一系列的SRv6服务数据Sub﹘Sub﹘TLV。
—
当多个SRv6 SID 信息子TLV 同时出现时,入口边缘设备应使用第一个信息子TLV 中的SRv6
SID。具体实现可提供本地策略来替代这一默认行为。
6.4 SRv6 服务数据Sub-Sub-TLV
SRv6 服务数据Sub﹘Sub﹘TLV 的编码格式如图5 所示。
图5 SRv6 服务数据Sub-Sub-TLV 的编码格式
具体格式要求如下。
SRv6服务数据Sub﹘Sub﹘TLV类型( 1 字节) : 标识该Sub﹘Sub﹘TLV的类型。它是从
IANA“SRv6 Service Data Sub﹘Sub﹘TLVs”注册表分配的值。
—
SRv6服务数据Sub﹘Sub﹘TLV长度(2字节):标识该Sub﹘Sub﹘TLV数据部分的总长度,单位为
八位字节。
—
—SRv6服务数据Sub﹘Sub﹘TLV数据部分(可变长):包含该特定类型Sub﹘Sub﹘TLV的数据。
6.5 SRv6 SID 结构Sub-Sub-TLV
SRv6 服务数据Sub﹘Sub﹘TLV 类型1 分配给SRv6 SID 结构Sub﹘Sub﹘TLV。SRv6 SID 结构
Sub﹘Sub﹘TLV 封装在SRv6 SID 信息子TLV 中,用来通告SRv6 SID 的每个独立部分的长度,其编码格
式如图6 所示。
图6 SRv6 SID 结构Sub-Sub-TLV 的编码格式
GB/T 44887.5—2024
5
具体格式要求如下:
S R v 6 服务数据S u b ﹘ S u b ﹘ T L V 类型( 1 字节) : 该字段置1 , 标识是S R v 6 S I D 结构
Sub﹘Sub﹘TLV;
—
—SRv6服务数据Sub﹘Sub﹘TLV长度(2字节):该字段拥有固定值6字节;
—Locator Block长度(1字节):标识SRv6 SID Locator Block的长度,单位为比特;
—Locator Node长度(1字节):标识SRv6 SID Locator Node的长度,单位为比特;
—Function长度(1字节):标识SRv6 SID Function字段的长度,单位为比特;
—Argument长度(1字节):标识SRv6 SID Argument字段的长度,单位为比特;
Transposition长度(1字节):移位长度字段,指已经被移位到MPLS标签字段的SID部分的长
度,单位为比特;
—
Transposition偏移(1字节):移位偏移字段,指已经被移位到MPLS标签字段的SID部分的偏移
位置,单位为比特。
—
在通告SRv6 服务SID 的移位机制中,应将SRv6 SID 值的可变长部分(Function 和/或Argument 字
段)移位并存储在已有的MPLS 标签字段,以更加有效地将这些服务前缀的网络层可达性信息封装在
BGP 更新消息中。当SRv6 服务SID 以移位方式被通告时,SRv6 SID 结构Sub﹘Sub﹘TLV 应存在,并正
确填写各长度字段,以使接收方能精确地还原出原始SID 值。
Transposition 长度字段指明被移位的比特数量,Transposition 偏移字段指明移位操作的起点。被移位
的比特应从SRv6 SID 值中移除,置入MPLS 标签字段的高位,SRv6 SID 值的原有位置应置零。Trans﹘
position 长度字段为零时,表明不进行移位操作,SRv6 SID 值应被完整地编码存放进SID 信息子
TLV。此时,Transposition 偏移字段应置零。
MPLS 标签字段的长度限制了可从SRv6 SID 中移位的比特数量。在IETF RFC 4364 和IETF RFC
8277 场景中,Label 标签字段的长度应为20 比特;在IETF RFC 7432 场景中,Label 标签字段的长度应
为24 比特。按IETF RFC 8986 的规定,Locator Block 长度、Locator Node 长度、Function 长度和Argu﹘
ment 长度之和应小于或等于128,并且大于或等于Transposition 长度和Transposition 偏移字段之和。
SRv6 SID 结构Sub﹘Sub﹘TLV 是可选的,并且当整个SRv6 服务SID 值都被编码在SID 信息子
TLV 中时,也可存在。Arguments 通常只用于某些特定行为,如End.DT2M,因此当Arguments 不可用
时,Arguments 长度字段应置零。
7 基于SRv6 VPN 网络的三层服务
7.1 三层服务实现机制
在基于SRv6 VPN 网络的三层服务实现中,BGP 出口边缘设备应通告上层网络服务前缀及其服务
SID,该SID 封装在BGP Prefix﹘SID 属性的SRv6 三层服务TLV 中。SRv6 服务SID 应提供入口与出口
设备之间的可达性,编码表示一个SRv6 服务端点(endpoint)的行为(behavior)。
当SRv6 服务的引流是基于SPF 最短路径转发时,入口边缘设备应将IPv4 或IPv6 服务报文封装在
IPv6 外层报文头中,并且将IPv6 外层报文头的目的地址字段设置为与相应的BGP 路由更新消息相关联
的SRv6 服务S I D 。入口边缘设备在将接收到的前缀用于BGP 最佳路径计算之前,应对其关联的
SRv6 服务SID 执行可解析性检查。如果该SRv6 SID 经由多个转发表都可达,设备将使用本地策略来决
定使用哪个转发表。如果入口边缘设备的本地策略允许使用其他的引流机制,那么SRv6 服务SID 的可
解析性检查的结果可被忽略。
对于基于SRv6 VPN 网络的服务,出口边缘设备应将BGP 下一跳字段设置为它拥有的多个IPv6 地
址中的一个。该地址可被该SRv6 服务SID 所在的SRv6 Locator 地址段覆盖。BGP 下一跳字段用于跟踪
该出口边缘设备的可达性。
GB/T 44887.5—2024
6
当入口边缘设备收到的BGP 路由被标记了Color 扩展团体属性,并且有一个有效的SRv6 策略可用
时,服务流的引流过程应符合IETF RFC 9256 的要求。当入口边缘设备判定SRv6 服务SID 与SRv6 策略
的SID List 中的最后一个SRv6 SID 属于同一个SRv6 Locator 地址段时,它在引流的时候可将最后一个
SRv6 SID 排除在外。
7.2 IPv4 VPN 服务
在IPv6 网络上运行IPv4 VPN 服务的细节应符合IETF RFC 8950 中的要求。在SRv6 网络中,
MP_REACH_NLRI 编码如下:
—AFI取值1;
—SAFI取值128(单播)或129(组播);
—下一跳网络地址的长度为24字节或48字节;
—下一跳网络地址是下一跳的VPN﹘IPv6地址,并且RD置零;
—NLRI网络层可达性信息是IPv4﹘VPN路由。
当采用移位方案进行编码时,IPv4﹘VPN NLRI 的Label 标签值应设置为SRv6 SID 的Function 字段的
全部或部分的内容。如果没有采用移位方案进行编码,Label 标签值应设置为隐式空标签。当采用移位
方案时,移位长度应小于或等于20 比特,并且小于或等于Function 字段的长度。
SRv6 服务SID 编码为SRv6 三层服务TLV 的一部分。SRv6 端点行为应是End.DX4、End.DT4 或
者End.DT46 中的一个。
7.3 IPv6 VPN 服务
在IPv6 网络上运行IPv6 VPN 服务的细节应符合IETF RFC 4659 中的要求。在SRv6 网络中,
MP_REACH_NLRI 编码如下:
—AFI取值2;
—SAFI取值128;
—下一跳网络地址的长度为24字节或48字节;
—下一跳网络地址:8字节的RD置零,后接下一跳的IPv6地址;
—NLRI网络层可达性信息是IPv6﹘VPN路由。
当采用移位方案进行编码时,IPv6﹘VPN NLRI 的Label 标签值应设置为SRv6 SID 的Function 字段的
全部或部分的内容。如果没有采用移位方案进行编码,Label 标签值应设置为隐式空标签。当采用移位
方案时,移位长度应小于或等于20 比特,并且小于或等于Function 字段的长度。
SRv6 服务SID 编码为SRv6 三层服务TLV 的一部分。SRv6 端点行为应是End.DX6、End.DT6 或
者End.DT46 中的一个。
7.4 全球可寻址IPv4 服务
在IPv6 网络上运行IPv4 服务的细节应符合IETF RFC 8950 中的要求。此时MP_REACH_NLRI 编码
如下:
—AFI取值1;
—SAFI取值1;
—下一跳网络地址的长度为16字节或32字节;
—下一跳网络地址是下一跳的IPv6地址;
—NLRI网络层可达性信息是IPv4路由。
SRv6 服务SID 编码为SRv6 三层服务TLV 的一部分。SRv6 端点行为应是End.DX4、End.DT4 或
者End.DT46 中的一个。
GB/T 44887.5—2024
7
7.5 全球可寻址IPv6 服务
在IPv6 网络上运行IPv6 服务的细节应符合IETF RFC 2545 中的要求。此时MP_REACH_NLRI 被编
码如下:
—AFI取值2;
—SAFI取值1;
—下一跳网络地址的长度为16字节或32字节;
—下一跳网络地址是下一跳的IPv6地址;
—NLRI网络层可达性信息是IPv6路由。
SRv6 服务SID 编码为SRv6 三层服务TLV 的一部分。SRv6 端点行为应是End.DX6、End.DT6 或
者End.DT46 中的一个。
8 基于SRv6 VPN 网络的二层服务
8.1 二层服务实现机制
在基于SRv6 VPN 网络的二层服务实现中,路由类型1、路由类型2、路由类型3、路由类型4 应符
合IETF RFC 7432 中的要求,路由类型5 应符合IETF RFC 9136 中的要求,路由类型6、路由类型7、
路由类型8 应符合IETF RFC 9251 中的要求,相关的路由类型如下:
—以太网自动发现路由(路由类型1);
—MAC/IP通告路由(路由类型2);
—泛组播以太网标签路由(路由类型3);
—以太网分段路由(路由类型4);
—IP前缀路由(路由类型5);
—可选组播以太网标签路由(路由类型6);
—IGMP加入同步路由(路由类型7);
—IGMP离开同步路由(路由类型8)。
一个或多个SRv6 服务SID 应以路由类型1、路由类型2、路由类型3 或路由类型5 的形式通告出
去,每种路由类型的SRv6 服务SID 应封装在BGP Prefix﹘SID 属性的SRv6 三层/二层服务TLV 字
段中。
当SRv6 服务的引流是基于SPF 最短路径转发时,入口边缘设备应将二层以太网服务报文封装在
IPv6 外层报文头中,并且将IPv6 外层报文头的目的地址字段设置为与相应的BGP 路由更新消息相关联
的SRv6 服务S I D 。入口边缘设备在将接收到的前缀用于BGP 最佳路径计算之前,应对其关联的
SRv6 服务SID 执行可解析性检查。如果该SRv6 SID 经由多个转发表都可达,设备将使用本地策略来决
定使用哪个转发表。如果入口边缘设备的本地策略允许使用其他的引流机制,那么SRv6 服务SID 的可
解析性检查的结果可被忽略。
对于基于SRv6 VPN 网络的服务,出口边缘设备应将BGP 下一跳字段设置为它拥有的多个IPv6 地
址中的一个。该地址可被该SRv6 服务SID 所在的SRv6 Locator 地址段覆盖。BGP 下一跳字段用于跟踪
该出口边缘设备的可达性。
当入口边缘设备收到的BGP 路由被标记了Color 扩展团体属性,并且有一个有效的SRv6 策略可用
时,服务流的引流过程应按IETF RFC 9256 执行。当入口边缘设备判定SRv6 服务SID 与SRv6 策略的
SID List 中的最后一个SRv6 SID 属于同一个SRv6 Locator 地址段时,它在引流的时候可将那最后一个
SRv6 SID 排除在外。
GB/T 44887.5—2024
8
8.2 以太网自动发现路由
以太网自动发现路由(路由类型1)可用于实现水平分割过滤(split horizon filtering)、快速收敛
和地址别名(aliasing),也可用于EVPN﹘VPWS/EVPN 灵活互联(flexible cross﹘connect),以及点对
点服务ID 通告。
在SRv6 网络中,EVPN 路由类型1 的编码格式如图7 所示。
图7 SRv6 网络中EVPN 路由类型1 的编码格式
—ES粒度的自动发现路由。
l RD:用于表示EVI下的RD值。
l 以太网分段ID:用于表示一个ES。
l 以太网标签ID:设置为该字段的最大值MAX﹘ET。
MPLS标签:当使用ESI过滤方式和SID编码移位方案时,标签中会包含SRv6 SID的Argu﹘
m e n t 字段的全部或部分内容。否则, 标签的高位2 0 比特被设置为隐式空标签
(0x000030)。当使用移位方案时,移位长度应小于或等于24,并且小于或等于Argu﹘
ments字段的长度。
l
一个服务SID 应封装在BGP Prefix﹘SID 属性的SRv6 二层服务TLV 中,并随自动发现路由被通告出
去。这个服务SID 的端点行为应是End.DT2M。当使用ESI 过滤方式时,这个服务SID 用于指明可应用
的End.DT2M SID 的Arg.FE2 SID 参数。当使用本地偏置(local﹘bias)方式时,这个服务SID 可为
零值。
—EVI(EVPN实例)粒度的自动发现路由。
以太网标签ID:在EVPN﹘VPWS场景中取值为本端Service ID;在VLAN﹘aware Bundle模式
接入VPLS场景中,取值应为标识特定广播域的BD﹘Tag;在Port﹘based、 VLAN﹘based、
VLAN Bundle Interface 模式接入VPLS场景中,取值应为0。
l
MPLS标签:当使用ESI过滤方式和SID编码移位方案时,标签中应包含SRv6 SID的Func﹘
t i o n 字段的全部或部分内容。否则, 标签的高位2 0 比特应被设置为隐式空标签
(0x000030)。当使用移位方案时,移位长度应小于或等于24,并且小于或等于Function
字段的长度。
l
一个服务SID 应封装在BGP Prefix﹘SID 属性的SRv6 二层服务TLV 中,并随自动发现路由被通告出
去。这个服务SID 的端点行为应是End.DX2、End.DX2V 或End.DT2U。
8.3 MAC/IP 通告路由
MAC/IP 通告路由(路由类型2)用于通过MP﹘BGP 将单播流量的MAC/IP 地址可达性通告给一个
EVPN 实例的所有其他边缘设备。在SRv6 网络中,EVPN 路由类型2 的编码格式如图8 所示。
GB/T 44887.5—2024
9
图8 SRv6 网络中EVPN 路由类型2 的编码格式
其中MPLS 标签字段的要求如下。
MPLS标签1:与SRv6二层服务TLV相关。当使用ESI过滤方式和SID编码移位方案时,标签中
应包含SRv6 SID的Function字段的全部或部分内容。否则,标签的高位20比特应被设置为隐式
空标签(0x000030)。当使用移位方案时,移位长度应小于或等于24,并且小于或等于Func﹘
tion字段的长度。
—
MPLS标签2:与SRv6三层服务TLV相关。当使用ESI过滤方式和SID编码的移位方案时,标签
中应包含SRv6 SID的Function字段的全部或部分内容。否则,标签的高位20比特应被设置为隐
式空标签(0x000030)。当使用移位方案时,移位长度应小于或等于24,并且小于或等于
Function字段的长度。
—
服务SID 应封装在BGP Prefix﹘SID 属性的SRv6 二层服务TLV 中,以及可选地封装在SRv6 三层服
务TLV 中,并且随着MAC/IP 通告路由一起通告出去。
根据是否包含IP 地址信息,MAC/IP 通告路由分为两类。
仅通告MAC的MAC/IP通告路由:MAC/IP通告路由仅包含MPLS 标签1与MAC地址信息。一
个服务SID应封装在BGP Prefix﹘SID属性的SRv6二层服务TLV中,并随该路由被通告出去。这
个服务SID的端点行为应是End.DX2或End.DT2U。
—
同时通告MAC地址和IP地址的MAC/IP通告路由:通告路由包含MPLS 标签1、MPLS 标签2、
MAC地址与IP地址等信息。一个二层服务SID应封装在BGP Prefix﹘SID属性的SRv6二层服务
TLV中,并随该路由被通告出去。另外,一个三层服务SID应封装在BGP Prefix﹘SID属性的
SRv6三层服务TLV中,可随该路由被通告出去。对应二层服务SID,这个服务SID的端点行为
应是End.DX2或End.DT2U。对应三层服务SID,这个服务SID的端点行为应是End.DT46、
End.DT4、End.DT6、End.DX4或者End.DX6。
—
8.4 泛组播以太网标签路由
EVPN 路由类型3 用于通过MP-BGP 通告组播流量的地址可达性给一个EVPN 实例中的所有其他
边缘设备。在SRv6 网络中,EVPN 路由类型3 的编码格式如图9 所示。
图9 SRv6 网络中EVPN 路由类型3 的编码格式
EVPN 路由类型3 应携带PMSI 属性,用来传递隧道信息。在SRv6 网络中,PMSI 隧道属性的编码
格式如图10 所示。
GB/T 44887.5—2024
10
图10 SRv6 网络中PMSI 隧道属性的编码格式
具体格式要求如下。
—标志位:置零。
—隧道类型:携带的隧道类型。在EVPN场景下,Tunnel Type值通常为6。
MPLS标签:当使用ESI过滤方式和SID编码移位方案时,标签中应包含SRv6 SID的Function字
段的全部或部分内容。否则,标签的高位20比特被设置为隐式空标签(0x000030)。当使用移
位方案时,移位长度应小于或等于24,并且小于或等于Function字段的长度。
—
—隧道标识符:出口边缘设备的IP地址。
一个服务SID 应封装在BGP Prefix﹘SID 属性的SRv6 二层服务TLV 中,并随该路由被通告出去,服
务SID 的端点行为应是End.DT2M。
8.5 以太网分段路由
以太网分段路由(路由类型4)在SRv6 网络中的编码格式如图11 所示。
图11 SRv6 网络中EVPN 路由类型4 的编码格式
BGP Prefix﹘SID 属性中的SRv6 服务TLV 不应随着该路由一起通告。该路由的处理过程未做修改,
应符合IETF RFC7432 中的要求。
8.6 IP 前缀路由
IP 前缀路由(路由类型5)用于将IP 地址可达性通过MP﹘BGP 通告给一个EVPN 实例中的所有边
缘路由器。IP 地址可包含主机IP 前缀或任何特定的子网。
在SRv6 网络中,EVPN 路由类型5 的编码格式如图12 所示。
图12 SRv6 网络中EVPN 路由类型5 的编码格式
对于MPLS 标签,当使用ESI 过滤方式和SID 编码移位方案时,标签中应包含SRv6 SID 的Func﹘
tion 字段的全部或部分内容。否则,标签的高位20 比特应被设置为隐式空标签(0x000030)。当使用移
位方案时,移位长度应小于或等于24,并且小于或等于Function 字段的长度。
SRv6 服务SID 编码为SRv6 三层服务TLV 的一部分,服务SID 的端点行为应是E n d . D T 4 、
End.DT6、End.DT46、End.DX4 或者End.DX6。
GB/T 44887.5—2024
11
8.7 EVPN 组播路由
EVPN 组播路由(路由类型6、路由类型7、路由类型8)不要求SRv6 服务TLV 跟随它们一起通
告。与EVPN 路由类型4 类似,BGP 下一跳字段为出口设备的IPv6 地址。
9 协议消息错误的处理
如果在处理SRv6 服务TLV 时遇到任何错误,应记录错误的详细信息以供进一步分析。如果遇到
SRv6 三层服务TLV 的多个实例,应忽略除第一个实例之外的所有实例。如果遇到SRv6 二层服务
TLV 的多个实例,应忽略除第一个实例之外的所有实例。
在以下情况下,SRv6 服务TLV 应视为格式错误:
—TLV的长度小于1;
—TLV的长度与BGP Prefix﹘SID属性的长度不一致;
—至少有一个子TLV是格式错误的。
在子TLV 的长度与其封装的SRv6 服务TLV 的长度字段值不一致的情况下,SRv6 服务子TLV 应
视为格式错误。
在以下情况下,SRv6 SID 信息子TLV 应视为格式错误:
—Sub﹘TLV的长度小于21;
—Sub﹘TLV的长度与其封装的SRv6服务TLV的长度字段值不一致;
—至少有一个Sub﹘Sub﹘TLV是格式错误的。
在Sub﹘Sub﹘TLV 的长度与其封装的SRv6 服务Sub﹘TLV 的长度字段值不一致的情况下,SRv6 服务
数据Sub﹘Sub﹘TLV 应视为格式错误。
任何TLV、Sub﹘TLV 或Sub﹘Sub﹘TLV 都不应因其类型无法识别而被视为格式错误。
任何TLV、Sub﹘TLV 或Sub﹘Sub﹘TLV 都不应因其值域未通过语法检查而被视为格式错误。
SRv6 上层网络服务要求使用服务SID 来指导转发。如果BGP Prefix﹘SID 属性包含至少一个格式错
误的SRv6 服务TLV,应执行视为撤回(treat﹘as﹘withdraw)动作。
当S I D 结构S u b ﹘ S u b ﹘ T L V 的移位长度字段大于L a b e l 标签字段的长度, 或S I D 结构
Sub﹘Sub﹘TLV 中的各字段有任一约束不满足时,SRv6 SID 信息子TLV 中的SRv6 SID 值应认为是无效
的。当SID 结构Sub﹘Sub﹘TLV 被通告,并且没有使用移位方案进行SID 编码时,移位偏移和移位长度
字段应被置零。包含不具有任何有效的SRv6 SID 信息的Prefix﹘SID 属性的路径在选择相应前缀的最优路
径的过程中,应被认为是不合格的路径。
GB/T 44887.5—2024
12
参 考 文 献
[1] IETF RFC 4364 BGP/MPLS IP Virtual Private Networks(VPNs)
[2] IETF RFC 8277 Using BGP to Bind MPLS Labels to Address Prefixes
[3] IETF RFC 8669 Segment Routing Prefix SID extensions for BGP
[4] IETF RFC 8754 IPv6 Segment Routing Header(SRH)
[5] IETF RFC 9252 BGP Overlay Services Based on Segment Routing over IPv6(SRv6)
—
GB/T 44887.5—2024
13
评论