NG MVPN控制消息
NG MVPN的关键机制即为私网组播路由传递和公网隧道建立,两个机制均为通过BGP在公网传递消息实现。这些通过BGP传递的消息即为NG MVPN控制消息。
- 运营商骨干网络(Service Provider's Backbone)的AS号是65001,同时为vpn1提供单播VPN和MVPN服务。
- 组播源(Source)处于Site1,通过CE1接入运营商网络的PE1设备,为组播组232.1.1.1提供数据。
- 组播接收者处于Site2和Site3。
- 运营商骨干网络采用RSVP-TE P2MP隧道或mLDP P2MP隧道为vpn1提供MVPN服务。
MVPN NLRI
在NG MVPN里,MVPN路由信息是携带在BGP Update消息中的网络层可达信息NLRI(Network Layer Reachable Information)字段进行传递的,携带MVPN路由信息的NLRI也称为MVPN NLRI。其中,MVPN NLRI的SAFI是5。MVPN NLRI格式如图8-3所示。
字段 |
说明 |
---|---|
Route type |
MVPN路由的类型。MVPN路由共分为7类,具体请参考表8-4。 |
Length |
MVPN NLRI里Route Type Specific字段的长度。 |
Route type specific |
MVPN路由的信息,不同类型的MVPN路由包含不同的信息,所以该字段的长度也是可变的。具体请参考表8-3。 |
MVPN NLRI的类型和作用如表8-3所示,其中1到5类称为MVPN A-D路由,主要作用是进行MVPN成员的自动发现和协助MPLS进行P2MP隧道的建立。6和7类称之为C-multicast路由(C表示Customer,即来自于私网的组播路由),主要作用是发起私网用户加入和指导私网组播数据流量传递。
类型 |
名称 |
作用 |
Route Type Specific字段格式 |
---|---|---|---|
1 |
用在单自治域场景。主要用于域内MVPN成员的自动发现,由所有使能MVPN的PE发起。 |
||
2 |
Inter-AS I-PMSI A-D route |
用在跨域场景。主要用于域间MVPN成员的自动发现,所有使能MVPN的ASBR发起。 |
|
3 |
用于Sender PE为指定的(C-S, C-G)发起Selective P-tunnel的通知消息。 |
||
4 |
用于回应3类路由S-PMSI A-D route,表示在Receiver PE端存在建立S-PMSI隧道的请求,协助Sender PE端完成隧道信息收集。 |
说明:
其中Route Key是接收到的S-PMSI A-D route中的NLRI信息。 |
|
5 |
用于将源信息通知给其他PE,当一个PE发现一个新的私网源组信息的时候发布给此MVPN的其他PE。 |
||
6 |
用在(*, G)场景。 当Receive PE收到PIM (C-*, C-G)加入时,会将PIM (C-*,
C-G)加入转换成Source Tree Join route,然后通过BGP邻居关系向Sender PE(通过Sender Site
PE可以到达RP)发送。
说明:
私网PIM SM的(*, G)加入称为PIM (C-*, C-G)加入。 |
说明:
Shared Tree Join route和Source Tree Join route具有相同的NLRI格式。只是对于(C-*, C-G)加入方式,源地址为RP的地址。 |
|
7 |
用在(S, G)场景。 当Receive PE收到PIM (C-S, C-G)加入时,会将PIM (C-S,
C-G)加入转换成Source Tree Join route,然后通过BGP邻居关系向Sender PE发送。
说明:
私网PIM SSM的(S, G)加入称为PIM (C-S, C-G)加入。 |
Intra-AS I-PMSI A-D route
Intra-AS I-PMSI A-D route的内容如图8-4(a)所示。
当图8-2中的PE1向PE2/PE3发送Intra-AS I-PMSI A-D route时,Intra-AS I-PMSI A-D route的内容如图8-4(b)所示。
Inter-AS I-PMSI A-D route
Inter-AS I-PMSI A-D route的内容如图8-5(a)所示。
当本段PE向其他AS中的PE发送Inter-AS I-PMSI A-D route时,Inter-AS I-PMSI A-D route的内容如图8-5(b)所示。
字段 |
说明 |
---|---|
RD |
路由标识符,VPNv4地址中的一个8字节字段。路由标识符与4字节的IPv4地址前缀一起构成VPNv4地址,用于区分使用相同地址空间的IPv4前缀。 |
Source AS |
发送Inter-AS A-D路由的源设备所属的AS。 |
S-PMSI A-D route
S-PMSI A-D route的内容如图8-6(a)所示。
当图8-2中的PE1向PE2/PE3发送S-PMSI A-D route时,S-PMSI A-D route的内容如图8-6(b)所示。
字段 |
说明 |
---|---|
RD |
路由标识符,VPNv4地址中的一个8字节字段。路由标识符与4字节的IPv4地址前缀一起构成VPNv4地址,用于区分使用相同地址空间的IPv4前缀。 |
Multicast source length |
组播源地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast source |
组播源地址。 |
Multicast group length |
组播组地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast group |
组播组地址。 |
Originating router's IP address |
发送A-D路由的源设备IP地址。在NE20E的实现中,该字段只能是发送BGP A-D路由的设备的MVPN ID。 |
Leaf A-D route
Leaf A-D route的内容如图8-7(a)所示。
当图8-2中的PE2收到PE1发送S-PMSI A-D route,然后回复Leaf A-D route时,Leaf A-D route的内容如图8-7(b)所示。
字段 |
说明 |
---|---|
Route key |
Route Key的信息是接收到的S-PMSI A-D route中的NLRI信息。 |
Originating router's IP address |
发送A-D路由的源设备IP地址。在NE20E的实现中,该字段为发送BGP A-D路由的设备的MVPN ID。 |
Source Active A-D route
Source Active A-D route的内容如图8-8(a)所示。
当图8-2中的PE1发现新的SM活跃组播源组(192.168.1.2,225.1.1.1)时,PE1向PE2和PE3发布的Source Active A-D route的内容如图8-8(b)所示。
字段 |
说明 |
---|---|
RD |
与组播源相连的Sender PE的RD属性。 |
Multicast source length |
组播源地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast source |
组播源地址。 |
Multicast group length |
组播组地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast group |
组播组地址。 |
Shared Tree Join route
Shared Tree Join route的内容如图8-9(a)所示。
当图8-2中的PE2向PE1发送Shared Tree Join route时,Shared Tree Join route的内容如图8-9(b)所示。
字段 |
说明 |
---|---|
Route type |
MVPN路由类型,这里表示是6类Shared Tree Join route,值为6。 |
Rt-import |
到源的单播路由的VRF Route Import Extended Community。有关VRF Route Import Extended Community,请参考MVPN扩展团体属性。 Rt-import主要用于存在多个Sender PE时,帮助Sender Site PE识别Receiver PE发来的BGP C-multicast route是不是该由自己处理,以及该路由应该安装到自己的哪一个VPN实例路由表。 |
Next hop |
下一跳地址。 |
RD |
与组播源相连的Sender PE的RD属性。 |
Source AS |
到组播源的单播路由的AS属性,即扩展团体属性中的Source AS Extended Community。有关Source AS Extended Community,请参考MVPN扩展团体属性。 |
Multicast source length |
组播源地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
RP address |
RP(Rendezvous Point)地址。 |
Multicast group length |
组播组地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast group |
组播组地址。 |
Source Tree Join route
Source Tree Join route的内容如图8-10(a)所示。
当图8-2中的PE2向PE1发送Source Tree Join route时,Source Tree Join route的内容如图8-10(b)所示。
字段 |
说明 |
---|---|
RD |
与组播源相连的Sender PE的RD属性。 |
Source AS |
到组播源的单播路由的AS属性,即扩展团体属性中的Source AS Extended Community。有关Source AS Extended Community,请参考MVPN扩展团体属性。 |
Multicast source length |
组播源地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast source |
组播源地址。 |
Multicast group length |
组播组地址长度。当地址为IPv4地址时,取值是32;当地址是IPv6地址时,取值是128。 |
Multicast group |
组播组地址。 |
PMSI Tunnel attribute
PMSI Tunnel attribute携带了P-tunnel的创建信息,主要用于P-tunnel的创建。PMSI Tunnel attribute的内容如图8-11所示。
字段 |
说明 |
---|---|
Flags |
标志位。目前就只存在一个标识,即是否需要叶子信息。
|
Tunnel type |
隧道类型。主要有以下类型:
|
MPLS label |
用于VPN隧道复用,目前不支持隧道复用。 |
Tunnel identifier |
隧道信息,不同的类型包含不同的信息。NE20E仅支持以下两种隧道类型,这两种隧道的信息分别为:
|
在NG MVPN网络里,P-tunnel是由Sender PE创建的,因此PMSI Tunnel attribute也只能由Sender PE生成。PMSI Tunnel attribute是携带在Intra-AS I-PMSI A-D route、Inter-AS I-PMSI A-D route或S-PMSI A-D route中传递给Receiver PE的。图8-12是一个例子,展示了携带PMSI Tunnel attribute的Intra-AS I-PMSI A-D route的格式。