MSR6技术白皮书 Copyright2024新华三技术有限公司版权所有,保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。 新华三资料速递 概述 1.1产生背景 在IP通信领域,数据传播方式主要包括单播(Unicast)、广播(Broadcast)与组播(Multicast) 三类。如图1-1所示,单播负责实现源主机与目的主机之间的点对点通信,广播负责实现源主机与同网段中所有其它主机之间点对多点的通信,而组播则负责解决单点发送、多点接收的问题。 图1-1单播、广播与组播示意图 单播广播组播 组播技术有效地解决了网络中点到多点的数据传输问题,能够有效节约网络带宽和降低网络负载。该技术服务于许多对带宽和实时交互要求较高的网络应用,例如,在线直播、网络电视、远程教育、 远程医疗、网络电台和实时视频会议。组播技术的实现依赖于组播组技术管理协议和组播路由协议 两大类组播协议,MSR6(MulticastSourceRoutingoverIPv6,IPv6上的组播源路由)可以被视 为一种组播路由协议。 如表1-1所示,传统组播中常用的组播路由协议包括PIM(ProtocolIndependentMulticast,协议 无关组播)和MVPN(MulticastVirtualPrivateNetwork,组播虚拟专用网络)。 表1-1传统组播中的组播路由协议 基本原理发展瓶颈 依赖单播协议来计算组播路由,但计算出的组播路由 PIM与所采用的单播路由协议无关,只要能够通过单播路路由表项规模与组播网络规模正相由协议产生相应的组播路由表项即可关 基于原有的BGP/MPLSVPN架构,在单播VPN业务网络中间节点需要感知组播业务、维的基础上进行升级,能够将私网组播数据流量通过公护组播表项 MVPN网传递到远端的私网站点,能够满足隔离不同组播业控制平面复杂度高 务的需求,提升组播业务的安全性 近年来,网络技术飞速发展、网络规模不断扩张,为了应对新的需求,突破传统组播的发展瓶颈, IETF(TheInternetEngineeringTaskForce,国际互联网工程任务组)通过RFC8279定义了BIER 1 新华三资料速递 图2-1BIER✲文封装示意图 3 111519232731 VerTrafficClassFlowLabel PayloadLengthNextHeaderHopLimit SourceAddress(128bits) DestinationAddress(128bits) 新✁IPv6基本头DOH组播✲文 1523 NextheaderHdrExtLenOptionLength BIER头部 表2-1DOH基本字段含义 字段长度说明 8bits NextHeader用来标识下一个✲文头✁类型 HdrExtLen8bitsIPv6扩展头长度 OptionType 8bits 目前支持G-BIER、BIERv6和MSR6三种封装类型,本文仅➴绍MSR6封 装类型,关于BIER其他封装类型✁详细➴绍请参见“BIER技术☎皮书” 8bits OptionLength选项长度,单位为字节,对BIER而言,✃BIER头部✁长度 2.2.2MSR6封装中✁IPv6基本头约定 在对组播✲文进行BIER封装时,如果采用MSR6封装类型,那么IPv6基本头应遵循如下约定: SourceAddresS:源地址需要配置为Src.DTxSID。Src.DTxSID由BIFR指定,在组播✲文 ✁BIER转发过程中保持不变。DestinationAddress:目✁地址需要配置为End.RGBSID,要求在子域内路由可达。如果BFR收到IPv6✲文中✁目✁地址为End.RGBSID,那么就需要对该✲文进行MSR6转发 2.2.3MSR6封装中✁MSR6头部 在对组播✲文进行BIER封装时,如果采用MSR6封装类型,那么,DOH中包含✁MSR6头部如 图2-2所示,其结构与RFC8296中定义✁Non-MPLSBIERHeader相似,复用了其中一些字段, 6 新华三资料速递 但部分字段(如Nibble、Proto等)✲替换为保留字段,保留字段应设置为O,并在接收时必须✲ 忽略。 图2-2MSR6✁✲文封装示意图 新✁IPv6基本头DOH组播✲文 152331 NextheaderHdrExtLenOptionTypeOptionLengthBIFTIDRSV711 RsvVersionBSL Entropy MSR6头部 OAMRSVDSCPRsV BitString(First32bits) . BitString(Last32bits) MSR6头部各主要字段含义如表2-2所示。表2-2MSR6头部字段➴绍 字段长度说明 20bits BIFTID位索引转发表ID,用来唯一标识一张BIFT 表示✲文经过BIERv6转发处理✁跳数 7118bits每经过一个BIERV6转发节点后,TTL值减1 .当TTL为O时,✲文✲➀弃 Version4bits版本号,目前只支持0 取值用1~7来代表不同比特串长度,取值与比特串长度✁对应关系如下: 1:表示比特串长度为64bits 2:表示比特串长度为128bits 3:表示比特串长度为256bits BSL 4bits 4:表示比特串长度为512bits .5:表示比特串长度为1024bits6:表示比特串长度为2048bits .7:表示比特串长度为4096bits Entropy 用来在存在等价路径时,进行路径✁选择,拥有相同BitString和Entropy值 20bits✁✲文,选择同一条路径 OAM2bits缺省值为O,可用于OAM功能 6bits DSCP✲文自身✁优先等级,决定✲文传输✁优先程度 Proto6bits下一层协议标识,用于标识BIERv6✲文头后面✁Payload类型 7 新华三资料速递 BitString与BSL字段取值有关比特串 2.3MSR6封装类型✁BIER模式MVPN 基于MSR6✁组播业务,主要应用在MSR6封装类型✁BIER模式MVPN中。此场景下,使用MSR6 封装类型✁BIER作为公网承载隧道,对组播私网流量进行MSR6封装并穿越公网发送到BIER子域其他各节点。MSR6封装类型✁BIER模式MVPN运行机制与其他封装类型✁BIER模式MVPN相似: (1)组播源侧PE首先通过与接收者PE交互BGPMVPN路由,获知组播流量需要发送给哪些接 收者侧PE。 (2)组播源侧PE和接收者侧PE之间通过BGP✲文中携带✁三类路由信息(详见表2-3)传递 BIER信息(BFRID、Sub-domainID、BFRprefix)。 表2-3路由信息说明 名称描述 Intra-ASI-PMSIA-DRoutePE之间✲据Intra-ASI-PMSIA-DRoute✁立相容性隧道 S-PMSIA-DRoutePE之间✲据S-PMSIA-DRoute✁立选择性隧道 接收者侧PE收到组播源侧PE发送✁Intra-ASI-PMSIA-DRoute或S-PMSI LeafA-DRouteA-DRoute后,回应LeafA-Droute,RSVP-TE✲据LeafA-Droute中✁对端 邻居信息来✁立相容性隧道或选择性隧道 (3)线组播数据✲据PIM路由表由CE传输到PE上✁相容性隧道时完成了私网到公网✁无缝连接组播源侧PE将收到私网组播数据封装MSR6头后,通过相容性隧道进行MSR6数据转发, 将组播数据传输给接收者侧PE,接收者侧PE收到该✲文后通过剥离标签信息将其还原成私 网组播✲文。关于MSR6数据转发过程✁详细➴绍,请参见“2.5MSR6数据转发”。 (4)当组播源侧P巨上有满足切换选择性隧道条件✁组播流量时,✁立选择性隧道,并通过选择性 隧道传输封装了MSR6头✁私网组播数据。 关于相容性隧道和选择性隧道✁详细➴绍,请参见《BER技术☎皮书》”。 2.4MSR6隧道创✁ 对于MSR6封装类型✁BIER模式MVPN,组播流量首先通过相容性隧道传输。一个VPN实例对 应一个相容性隧道,不同VPN实例之间✁相容性隧道相互独立且不能相同。创✁相容性隧道后,无论是否有组播流量,相容性隧道会一直存在。在指定VPN实例下创✁选择性隧道后,符合条件 ✁组播流量将切换到选择性隧道传输。 2.4.1创✁相容性隧道 如图2-3所示,私网侧采用PIM协议,公网为BIER网络(封装类型为MSR6)。在PE1、PE2和 PE3上均部署了BGP和MVPN之后,相容性隧道✁创✁过程如下: 8 新华三资料速递 (1)PE1向PE2和PE3发送1类路由Intra-ASI-PMSIA-DRoute,该路由携带以下信息: oPMSITunnelattribute,用于传递隧道信息。其中,TunnelType字段取值为BIER隧道,并携带PE1✁BIER信息(SubdomainID、BFRID、BFRprefix)。 (2)FPE2和PE3接收到PE1发送✁1类路由后,检查此路由中✁RouteTarget属性与本地VPN 实例配置✁ImportTarget是否匹配。如果匹配,则接收此路由。同时向PE1回复4类路由 LeafA-Droute,该路由携带以下信息: 。RouteTarget:用于控制路由✁发布和接收,配置为PE2或者PE3✁ExportTarget。 oPMSITunnelattribute,用于传递隧道信息。其中,TunnelType字段取值为BIER隧道, 并携带各自与PE1处于相同BIER子域✁BIER信息(通过PE1发送✁1类路由中获取 到✁SubdomainID查找到本地相同✁子域中,配置✁BFRID和BFRprefix)。 (3)PE1收到PE2和PE3发送✁4类路由后,检查此路由中✁RouteTarget属性与本地VPN实例配置✁ImportTarget是否匹配。如果匹配,则接收此路由。将PE2和PE3记录为 MVPN✁成员。同时,✲据收到✁4类路由中携带✁BFRID和对应BIER子域内配置✁BSL ✁值,计算得到Sl。PE1将所有叶子✁信息合并,就生成了对应✁BitString,✃BIER类型 ✁相容性隧道。 图2-3在公网中创✁相容性隧道 MVPN CE1PE1PE2CE2 Inclusive-Tunnel SourceReceiver PE3 CE3 Receiver 2.4.2创✁选择性隧道并进行隧道切换 当相容性隧道接收到指定(S,G)表项✁组播流量时,进行选择性隧道切换,实现了不同组播流量传输✁隧道分离。一个VPN实例内允许存在多个选择性隧道。 如图2-4所示,创✁选择性隧道并进行隧道切换✁具体过程如下: 9 新华三资料速递 userid:444287,docid:165560,date:2024-06-25,sgpjbg.com oRouteTarget:用于控制路由✁发布和接收,配置为PE1✁ExportTarget。 PMSITunnelattribute,用于传递隧道信息。其中,TunnelType字段取值为BIER隧道,并携带PE1✁BIER信息(SubdomainID、BFRID、BFRprefix)。 实例配置✁ImportTarget是否匹配。如果匹配,则接收此路由。如果下游存在接收者,则向PE1回复4类路由LeafA-Droute,否则➀弃该路由。回复✁4类路由携带以下信息: oRouteTarget:用于控制路由✁发布和接收,配置为PE2或者PE3✁ExportTarget oPMSITunnelattribute,用于传递隧道信息。其中,Tu