组播VPN Extranet
产生原因
目前Rosen MVPN只支持同一VPN内组播业务的分发,不支持属于不同VPN之间组播业务的分发。但是在实际应用中,服务提供商可能会给不同用户提供组播业务,但服务提供商和不同用户可能处在不同的VPN中。因此就需要不同VPN之间能够进行组播业务的分发,组播VPN Extranet可以解决上述问题。
实现过程
组播VPN Extranet分为远端交叉和本地交叉两个应用场景,具体如表7-2所示:
项目 |
定义 |
说明 |
---|---|---|
远端交叉 | 接收者和源所属的VPN在不同PE上。 |
远端交叉有两种配置方式:
|
本地交叉 | 接收者和源所属的VPN在同一PE上或组播源属于公网实例。 |
- |
- 使用组播VPN Extranet方式分发组播业务的组地址范围不能与本VPN内部使用的组地址范围重合。
- 源VPN和接收者VPN的Extranet表项只支持配置静态RP,且静态RP必须配置在源VPN侧;接收者VPN侧的RP必须与源VPN配置的RP一致,否则无法在接收者VPN和源VPN中创建相同的组播路由表项。
- 如果在源VPN和接收者VPN中部署组播VPN Extranet使用SSM范围的组播组地址,则源VPN和接收者VPN中的SSM范围的组地址必须一致。
远端交叉
在接收者PE上配置源VPN
如图7-11所示,PE1配置VPN GREEN,使用Share-group组G1封装,CE1所在站点连接VPN GREEN的组播源。PE2配置VPN BLUE,使用Share-group组G2封装,CE2所在站点连接VPN BLUE的组播源。PE3配置VPN BLUE,使用Share-group组G2封装,与PE2建立公网组播分发树。CE3所在站点的用户不仅需要接收VPN BLUE的组播数据,还需要接收VPN GREEN的组播数据。
在接收者PE3上部署源VPN GREEN,并且在接收者VPN BLUE中配置组播路由选路策略。具体实现过程如表7-3所示:
表7-3 在接收者PE上配置源VPN的组播VPN Extranet实现过程步骤
设备
描述
1 CE3
Receiver通过发送IGMP Report消息通知CE3接收并转发VPN GREEN中的组播源数据。CE3收到IGMP Report消息后,向PE3发送PIM Join消息。
2 PE3
PE3收到CE3发送的VPN BLUE的PIM Join消息后,建立组播路由表项,并查找RPF路由的上游接口属于VPN GREEN,添加Extranet入接口到组播路由表中。
3 PE3
PE3向源VPN GREEN上报Extranet加入,即PE3使用VPN GREEN的Share-group组地址G1封装PIM Join消息跨公网发送到源PE1侧的VPN GREEN中。
4 PE1
源VPN GREEN中的组播源发送组播数据,PE1使用VPN GREEN的Share-group组地址G1封装组播数据跨公网发送到接收者PE3侧的VPN GREEN中。
5 PE3
PE3将收到的组播数据解封装后,再将其导入PE3上的接收者VPN BLUE中,最终转给VPN BLUE中的用户。
在源VPN所在PE上配置接收者VPN
如图7-12所示,前提条件同上,此处不再赘述。
在源PE1上配置接收者VPN BLUE实例,无需配置组播路由策略。具体实现过程如表7-4所示:
表7-4 在源VPN所在PE上配置接收者VPN的组播VPN Extranet实现过程步骤
设备
描述
1 CE3
Receiver通过发送IGMP Report消息通知CE3接收并转发VPN GREEN中的组播源数据。CE3收到IGMP Report消息后,向PE3发送PIM Join消息。
2 PE3
PE3收到CE3发送的VPN BLUE的PIM Join消息后,PE3使用VPN BLUE的Share-group组地址G2封装PIM Join消息跨公网发送到源PE1侧的VPN BLUE中。
3 PE1
PE1将VPN BLUE的PIM Join消息导入到源VPN GREEN,在源VPN GREEN中建立组播路由表项,并添加Extranet出接口,记录接收者VPN BLUE。
4 PE1
VPN GREEN中组播源发送的组播数据在源PE1上导入到接收者VPN BLUE后,VPN BLUE按自己的Share-group组地址G2封装组播数据跨公网发送到接收者PE3侧的VPN BLUE中。
5 PE3
PE3将收到的组播数据解封装,最终转发到VPN BLUE中的用户。
本地交叉
如图7-13所示,PE1是VPN BLUE的源端PE,CE1所在站点连接VPN BLUE的组播源。VPN GREEN的组播源由CE4连接,与CE3同属于PE3一侧。CE3所连站点的用户不但需要接收VPN BLUE发送的组播数据,还需要接收VPN GREEN发送的组播数据。
组播VPN Extranet本地交叉的实现过程如表7-5所示:
步骤 |
设备 |
描述 |
---|---|---|
1 | CE3 |
Receiver通过发送IGMP Report消息通知CE3接收并转发VPN GREEN中的组播数据。CE3收到IGMP Report消息后,向PE3发送PIM Join消息。 |
2 | PE3 |
PE3收到CE3发送过来的VPN BLUE的PIM Join消息后,建立VPN BLUE的组播路由表项,查找RPF路由的上游接口属于VPN GREEN,则PE3向VPN GREEN导入PIM Join消息。 |
3 | PE3 |
PE3收到VPN GREEN的PIM Join消息后,建立VPN GREEN的组播路由表项,并记录接收者VPN BLUE。PE3向上游设备CE4发送VPN GREEN的PIM Join消息。 |
4 | PE3 |
VPN GREEN的组播数据由CE4到达PE3,PE3根据VPN GREEN的组播路由表项将组播数据导入到接收者VPN BLUE中。 |
5 | PE3 |
将VPN GREEN的组播数据导入VPN BLUE后,PE3根据VPN BLUE的组播路由表项,将组播数据转发给CE3,最终用户接收到VPN GREEN发送的组播数据。 |
对于组播源在公网,接收者在私网的组播VPN Extranet场景,需要在接收者VPN中配置到公网源及公网RP的静态路由,接收者VPN将私网的PIM Join消息导入公网,建立组播表项。组播数据由公网导入私网VPN,最终转发给对应的用户。组播协议报文和数据报文不需要进行GRE封装和解封装,可以直接进行转发。