NG MVPN over BIER
NG MVPN over BIER介绍
NG MVPN over BIER场景,使用BIER作为承载隧道,将组播私网流量,通过BIER封装,发送到BIER域其他各节点。
NG MVPN over BIER场景区别于传统NG MVPN在于承载私网组播流量的公网隧道差别。从表9-4可以看出在实现MVPN组播流量方面,NG MVPN over BIER隧道和NG MVPN over mLDP P2MP/RSVP-TE P2MP隧道的实现原理的差异。
实现原理 |
NG MVPN over BIER与 NG MVPN over mLDP P2MP/RSVP-TE P2MP |
---|---|
NG MVPN控制消息 |
有差异,主要体现在MVPN A-D路由携带隧道信息差异。具体可参见下面章节。 |
NG MVPN私网组播路由原理 |
无差异 |
MVPN成员自动发现 |
无差异 |
I-PMSI隧道建立 |
有差异,建立过程中携带的隧道属性差异。 |
S-PMSI隧道建立 |
有差异,建立过程中携带的隧道属性差异。 |
NG MVPN传递组播流量 |
有差异,报文封装格式。 |
NG MVPN在公网的典型部署场景 |
NG MVPN over BIER仅支持域内Intra Area场景; NG MVPN over mLDP支持四种场景,域内Intra Area场景,域内Inter Area非分段场景,域内分段场景,跨域非分段场景; NG MVPN over RSVP-TE P2MP支持域内Intra Area场景,域内分段场景。 |
NG MVPN over BIER控制消息
NG MVPN over BIER场景,头节点PE首先获知组播流量要发送给哪些叶子节点,然后头节点根据收到的私网组播流量封装BitString。MVPN场景中,头节点还是通过BGP-MVPN路由来完成组播流叶子节点信息的收集,这和MVPN使用MLDP P2MP、RSVP-TE P2MP收集叶子节点信息的过程类似。
在NG MVPN中,PMSI Tunnel attribute携带了P-tunnel的创建信息,主要用于P-tunnel的创建,在Sender PE端,PMSI Tunnel attribute携带在MVPN NLRI的MVPN类型1,类型2,类型3路由传递给Receiver PE的。在Receiver PE端,PMSI Tunnel attribute信息携带在MVPN NLRI的类型4路由,传递给Sender PE的。BIER的PMSI Tunnel attribute路由报文结构,如图9-3所示。表9-5列出BIER I-PMSI隧道建立过程头点和尾节点PTA(PMSI Tunnel attribute)各字段取值情况。
字段 |
头节点字段 |
尾节点字段 |
---|---|---|
Flags |
值为1 |
值为0 |
Tunnel Type |
0x0B |
0x0B |
MPLS Label |
上游分配的VPN标签 |
值为0 |
Sub-domain-id |
头节点PE根据隧道承载业务指定 |
取自头节点PMSI A-D路由里携带BIER隧道信息指定的Sub-domain-id |
BFR-ID |
头节点PE在对应Sub-domain里配置的BFR-ID值 |
尾节点在对应Sub-domain里的BFR-ID值 |
BFR prefix |
头节点PE在对应Sub-domain里配置的BFR prefix |
尾节点在对应Sub-domain里的BFR prefix |
NG MVPN over BIER公网隧道原理
BIER I-PMSI隧道建立
PMSI是公网承载私网组播数据流量的逻辑通道,使用BIER创建PMSI的时候,Receiver PE根据Sender PE发送的Intra-AS PMSI A-D route里面携带的Sub-domain-id值,查找本端配置在此Sub-domain-id下配置的BFR-ID和BFR prefix ,Receiver PE回应相应的Leaf A-D route报文,当Sender PE收到Reciever PE发送的BGP Leaf A-D route后,根据Sender PE的import mvpn-target匹配,通过RT匹配,接收此A-D路由,记录MVPN成员Receiver PE。Sender端记录所有Receiver PE的MVPN邻居信息,并把这些邻居信息组合并生成BIER BitString,也即BIER隧道。
步骤 |
设备 |
前提条件 |
关键动作 |
---|---|---|---|
|
PE1,PE2,PE3 |
PE1,PE2,PE3完成公网和BIER基本功能配置。 |
NA |
PE1 |
网络管理员在PE1上配置MVPN和BGP,并且配置PE1作为Sender PE,配置NG MVPN的I-PMSI隧道类型是BIER。 |
作为Sender PE,PE1开始创建I-PMSI隧道。 |
|
PE1 |
网络管理员在PE2上配置MVPN和BGP,然后PE1和PE2建立了BGP-MVPN地址族下的BGP邻居。 |
PE1通过BGP邻居关系向PE2发送1类路由BGP A-D route,该路由携带以下信息:
|
|
PE2 |
- |
1、PE2收到PE1发送的BGP A-D route后,根据PE2的import mvpn-target匹配,通过RT匹配,接收此A-D路由。 2、PE2回应Leaf A-D route,Leaf A-D route携带了下列信息:
|
|
PE1 |
- |
PE1收到PE2发送的BGP Leaf A-D route后,根据PE1的import mvpn-target匹配,通过RT匹配,接收此A-D路由,记录MVPN成员PE2。 |
|
PE1<->PE3 |
- |
PE1与PE3完成和PE1与PE2相同交互流程,PE1接收到PE3的Leaf A-D路由后,记录MVPN成员PE3。 |
|
PE1 |
- |
1、PE1收到Leaf A-D路由携带的BFR-ID和配置的BitStringLength,计算出各PE对应的SI 。 2、PE1将所有叶子的信息合并,就生成了指定(S,G)对应的BIER BitString,也即BIER隧道。 |
BIER S-PMSI隧道建立
S-PMSI隧道建立
在NG MVPN(Next Generation MVPN)网络中,组播数据流量是通过I-PMSI(Inclusive-Provider Multicast Service Interface)隧道传递到组播用户中的。由于I-PMSI是指与属于同一个MVPN的所有PE全集相连的PMSI,因此所有属于同一个MVPN的PE无论其是否有下游接收者,都会接收到组播数据流量。但是可能并不是所有PE站点都有接收者存在,这样就会造成网络中有冗余的数据流量,浪费带宽,同时也增加了PE的处理负担。
S-PMSI(Selective-PMSI)隧道切换可以解决上述问题。S-PMSI是指与属于同一个MVPN的特定源组的Sender PE和Receiver PE构成的子集相连的PMSI,即组播数据流量从I-PMSI隧道切换到S-PMSI隧道后,只有需要组播数据流量的PE才能接收。因此,S-PMSI隧道没有冗余的数据流量,节省了带宽资源,同时也减轻了PE设备的处理负担。
NG MVPN over BIER场景中,组播数据流量的转发速率一直高于设置的阈值,则I-PMSI向S-PMSI切换;组播数量流量的转发速率一直低于设置的阈值,则S-PMSI向I-PMSI切换。图9-5为组播流量速率超过阈值后,Sender PE发起I-PMSI隧道向S-PMSI切换的时序图。
步骤 |
设备 |
关键动作 |
---|---|---|
PE1 |
PE1感知到组播数据流量的转发速率超过阈值,立即发起I-PMSI隧道向S-PMSI切换。PE1向BGP Peer发送BGP S-PMSI A-D route。该BGP S-PMSI A-D route的Leaf Information Require置为1,即要求叶子节点PE汇报加入信息,同时PE1携带PMSI隧道信息。控制面隧道从I-PMSI切换到S-PMSI后,组播数据流在延时时间超时后,流量才切换到S-PMSI隧道。 |
|
PE2 |
PE2收到BGP S-PMSI A-D route后,由于PE2下游存在接收者,则PE2向PE1发送BGP Leaf A-D route。Leaf A-D route携带PTA(PMSI Tunnel attribute)属性。 |
|
PE3 |
PE3收到BGP S-PMSI A-D route,由于PE3下游不存在接收者,则PE3不发送BGP Leaf A-D route,但记录该路由。PE3也不加入S-PMSI A-D route所携带的S-PMSI隧道。 |
|
PE1 |
PE1收到PE2发送的BGP Leaf A-D route后,感知到组播数据流量接收站点是PE2,则创建以PE1为根,PE2为叶子新的BitString,也即S-PMSI隧道。 |
如果经过一段时间,PE3也存在私网用户的加入,则PE3发送BGP Leaf A-D route。PE1收到该路由后更新叶子节点集合,生成新的BIER BitString,也即新的BIER隧道。
S-PMSI向I-PMSI回切
组播数据流量切换到S-PMSI隧道后,当组播数据流量的转发速率低于阈值时,PE1会启动S-PMSI回切定时器。S-PMSI向I-PMSI回切的过程可以参考为表9-8
步骤 |
设备 |
关键动作 |
---|---|---|
PE1 |
当PE1感知到组播数据流量的转发速率低于阈值时,PE1启动S-PMSI回切定时器。在定时器超时前:
|
|
PE2 |
PE2收到PE1发送的BGP Withdraw S-PMSI A-D route后,还需要向PE1发送BGP Withdraw Leaf A-D route。 |
|
PE2 |
PE2发现没有其它组播表项与该S-PMSI隧道有绑定关系,PE2离开S-PMSI隧道。 |
|
PE1 |
PE1等待一定时间以后,删除S-PMSI隧道。 |
NG MVPN over BIER私网组播流量转发
公网PMSI隧道创建成功后,当有组播用户成功加入组播组,运营商就可以利用BIER隧道提供MVPN服务。
NG MVPN over BIER的数据传递过程可以总结为表9-9。
步骤 |
设备 |
动作 |
组播转发表信息 |
---|---|---|---|
1 |
CE1 |
从组播源接收IP组播数据流量,然后查找组播转发表,将组播数据流量传递给PE1。 |
|
2 |
PE1 |
查找相应VPN实例组播转发表里(C-S, C-G)对应的私网转发表项,给私网IP组播数据流量封上BIER报文头。PE1根据BIER MPLS标签信息将封装后的组播报文发送给P设备。 |
|
3 |
P |
P设备收到BIER头封装的报文后,根据BIER转发表进行复制转发,复制转发的报文按照转发表重新封装新的BIER报文头。 |
- |
4 |
PE2/PE3 |
PE2/PE3收到BIER头封装的报文后,检查BitString中的Bit位为本端节点,将BIER头部剥离并对应到本端节点对应的VPN实例中,查找该VPN实例组播转发表里(C-S, C-G)对应的私网转发表项,然后将IP组播数据流量转发到CE2/CE3。 |
|
5 |
CE2/CE3 |
CE2/CE3收到IP组播数据流量,查找组播转发表,将数据向该组播组内的所有接收者转发。 |