虚拟网络群组的组播组的组播方法、装置、设备及系统与流程

文档序号:18702323发布日期:2019-09-17 23:06阅读:739来源:国知局
虚拟网络群组的组播组的组播方法、装置、设备及系统与流程

本申请涉及通信领域,特别涉及一种虚拟网络群组的组播组的组播方法、装置、设备及系统。



背景技术:

在5g系统中引入了以太网(ethernet)通信。

在新空口(newradio,nr)系统的版本16(release16)中引入了支持ip与以太网通信的5g虚拟网络群组(5gvirtualnetworkgroup,5gvngroup)的定义。并且提出了一种基于用户平面功能的网络内部接口,在5gvngroup中实现一对一通信的方法。

但是相关技术中的5gvngroup无法实现一对多通信的解决方案。



技术实现要素:

本申请实施例提供了一种虚拟网络群组的组播组的组播方法、装置、设备及系统,可以在虚拟网络群组中实现一对多通信的解决方案。所述技术方案如下:

根据本申请的一个方面,提供了一种虚拟网络群组的组播组的组播方法,所述方法应用于用户平面功能(userplanefunction,upf)中,所述方法包括:

接收所述虚拟网络群组的一个成员发送的组播数据包,所述组播数据包的目的地址是组播地址;

将所述组播数据包发送至至少两个组播内部接口中的目标组播内部接口,通过所述目标组播内部接口将所述组播数据包发送至所述组播组的全部组播组成员或全部本地组播组成员;

其中,所述组播组是所述虚拟网络群组中的常规组播组,或者,所述组播组是采用虚拟局域网标识(virtuallocalareanetworkidentify,vid)标识的组,所述组播组成员是vid成员,所述组播数据包是所述vid的广播地址。

根据本申请的另一方面,提供了一种虚拟网络群组的组播组的组播方法,所述方法应用于会话管理功能(sessionmanagementfunction,smf)中,所述方法包括:

生成至少两个组播内部接口对应的至少两组组播规则;

在所述至少两组组播规则中,确定所述组播组对应的每个upf上需要的组播规则;所述组播组是所述虚拟网络群组中的常规组播组,或者,所述组播组是采用vid标识的组;

向所述每个upf配置需要的所述组播规则。

根据本申请的另一方面,提供了一种虚拟网络群组的组播组的组播装置,所述装置包括:

接收模块,用于接收所述虚拟网络群组的一个成员发送的组播数据包,所述组播数据包的目的地址是组播地址;

发送模块,用于将所述组播数据包发送至至少两个组播内部接口中的目标组播内部接口,通过所述目标组播内部接口将所述组播数据包发送至所述组播组的全部组播组成员或全部本地组播组成员;

其中,所述组播组是所述虚拟网络群组中的常规组播组,或者,所述组播组是采用vid标识的组,所述组播组成员是vid成员,所述组播数据包是所述vid的广播地址。

根据本申请的另一方面,提供了一种虚拟网络群组的组播组的组播装置,所述装置包括:

生成模块,用于生成至少两个组播内部接口对应的至少两组组播规则;

确定模块,用于在所述至少两组组播规则中,确定所述组播组对应的每个upf上需要的组播规则;所述组播组是所述虚拟网络群组中的常规组播组,或者,所述组播组是采用vid标识的组;

配置模块,用于向所述每个upf配置需要的所述组播规则。

根据本申请的另一方面,提供了一种计算机设备,所述计算机设备上运行有用户平面功能,所述计算机设备包括:处理器和存储器;所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

根据本申请的另一方面,提供了一种计算机设备,所述计算机设备上运行有会话管理功能,所述计算机设备包括:处理器和存储器;所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过提供至少两个组播内部接口,当upf接收到虚拟网络群组中的一个成员发送的组播数据包时,将组播数据包发送至至少两个组播内部接口中的目标组播内部接口,通过目标组播内部接口将组播数据包发送至组播组的全部组播组成员或全部本地组播组成员,使得在虚拟网络群组中实现了一对多的网络通信,从而在虚拟网络群组中实现组播功能。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的5g通信系统中的框图;

图2是本申请一个示例性实施例提供的基于n3/n9的组播通信的示意图;

图3是本申请一个示例性实施例提供的基于n6的组播通信的示意图;

图4是本申请一个示例性实施例提供的基于n19的组播通信的示意图;

图5是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图6是本申请一个示例性实施例提供的两个组播内部接口的框图;

图7是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图8是本申请一个示例性实施例提供的虚拟网络群组的示意图;

图9是本申请一个示例性实施例提供的两个组播内部接口的规则配置示意图;

图10是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图11是本申请一个示例性实施例提供的三个组播内部接口的规则配置示意图;

图12是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图13是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图14是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图15是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图16是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图17是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图18是本申请一个示例性实施例提供的虚拟网络群组的组播方法的流程图;

图19示出了ue请求的pdu会话建立的流程图(用于非漫游和本地疏导漫游场景);

图20示出了ue请求的pdu会话建立的流程图(用于归属路由漫游场景);

图21示出了ue或网络请求的pdu会话修改的流程图(用于非漫游和本地疏导漫游场景);

图22示出了ue或网络请求的pdu会话修改的流程图(用于归属路由漫游场景);

图23是本申请一个示例性实施例提供的虚拟网络群组的组播装置的结构示意图;

图24是本申请一个示例性实施例提供的虚拟网络群组的组播装置的结构示意图;

图25是本申请一个示例性实施例提供的计算机设备的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1示出了本公开一个示例性实施例提供的5g通信系统的框图。该通信系统可以是基于nr的5g系统,也包含基于演进的umts陆地无线接入网(evolvedumtsterrestrialradioaccessnetwork,eutran)的5g系统以及5g系统的后续演进系统。该通信系统被定义为支持数据连接和服务,以便于网络部署时能够使用诸如网络功能虚拟化(nfv)和软件定义网络(sdn)之类的技术。该通信系统主要有网络功能(networkfunction,nf)组成,采用分布式的功能来根据实际需要部署。新的网络功能的加入和撤出,并不影响整体网络的功能。该通信系统包括:用户设备(3gpp对移动终端的命名)(userequipment,ue)、(无线)接入网络((r)an)、用户平面功能(userplanefunction,upf)、数据网络(datanetwork,dn)和控制平面功能。

其中,控制平面功能包括:接入和移动管理功能(amf)、会话管理功能(smf)、控制策略功能(pcf)和统一数据管理(udm)。

ue通过空中接口与ran通信。ran与upf之间通过第一参考点n3通信。两个upf之间通过第二参考点n9通信。psaupf与dn之间通过第三参考点n6通信。

上述ue、ran、upf和dn均可能为多个。当upf为多个时,存在一些upf是ue的pdu会话锚用户平面功能(psaupf)。两个pdu会话锚用户平面功能(psaupf)之间通过第四参考点n19通信(图1中未示出)。

ue和amf之间通过第五参考点n1通信。ran和amf之间通过第七参考点n2通信。upf和smf之间通过第八参考点n4通信。

在图1所示的网络架构中,包括如下参考点:

n1:ue和amf之间的参考点;

n2:(r)an和amf之间的参考点;

n3:(r)an和upf之间的参考点;

n4:smf和upf之间的参考点;

n6:psaupf和数据网络之间的参考点;

n9:两个upf之间的参考点;

n14:两个amf之间的参考点;

n19:5glan型业务的两个psaupf之间的参考点(图中未示出)。

在图1所示的网络架构中,包括如下基于服务的接口:

namf:amf展示的基于服务的接口;

nsmf:smf展示的基于服务的接口;

npcf:pcf展示的基于服务的接口;

nudm:udm展示的基于服务的接口。

虚拟网络群组的通信包括一对一通信和一对多通信。一对一通信支持在虚拟网络群组内的两个ue之间或一个ue和一个在dn上的设备之间转发单播通信。一对多通信支持将组播数据从一个ue(或dn上的设备)转发到虚拟网络群组内的多个ue和dn上的设备,或者,将组播数据从一个ue(或dn上的设备)转发到一个组播组内的所有ue和dn上的设备。

虚拟网络群组中可以有多个组播组。组播通信是指虚拟网络群组中的一个成员(ue或设备)发出的组播数据,必须要传递到相应组播组的每个组播组成员。基于上述图1所示的通信系统,本申请实施例支持组播通信的三种通信方式:

第一,本地交换方式(基于第一参考点n3或第二参考点n9);

当一个组播组的组播组成员包括连接到同一个psaupf的两个ue时,两个ue之间的组播数据直接在psaupf内部进行交换,而无需将组播数据发送到第三参考点n6之外,再被外部路由器或交换机将数据返回来。

结合参考图2,ue1与ran1通信,ran1与中间upf1通信;ue2与ran2通信,ran2与中间upf2通信。ue1和ue2均连接到同一个psaupf,当ue1发送组播数据包时,直接在psaupf内部进行组播数据包的交换,从而将组播数据包发送至ue2,无需将组播数据包发送到第三参考点n6之外。

第二,基于第三参考点n6的方式;

当一个组播组的组播组成员包括一个ue和dn上的一个设备时,对于ue和设备之间的组播数据需要通过n6来交换。

结合参考图3,ue1与ran1通信,ran1与upf1通信,psaupf1与dn通信。当ue1发送组播数据包时,需要通过n6将组播数据包传递至dn上的设备3。

第三,基于第四参考点n19的方式。

当一个组播组的组播组成员包括连接到不同psaupf的两个ue时,两个ue之间的组播数据需要通过第四参考点n19来交换,两个psaupf之间建立有n19隧道。

结合参考图4,ue1与ran1通信,ran1与中间upf1通信;ue4与ran4通信,ran4与中间upf4通信。ue1和ue2分别连接到不同的psaupf:psaupf1和psaupf2,两个psaupf之间建立有n19隧道,当ue1发送组播数据包时,需要经过两个psaupf之间的n19隧道进行组播数据包的交换,从而将组播数据包发送至ue4。

图5示出了本申请一个示例性实施例提供的虚拟网络群组的组播组的组播方法的流程图。该方法可以由upf来执行。该方法包括:

步骤501,接收虚拟网络群组的一个成员发送的组播数据包,组播数据包的目的地址是组播地址;

组播数据包是通过目标ip地址或目的mac地址来确定的。示例性的,组播数据包中的目的ip/mac地址是组播地址,同一个虚拟网络群组中的组播地址可以存在多个(比如3个或5个),多个组播地址可构成一个组播地址列表。一个组播数据包中的目的地址是组播地址列表中的一个组播地址即可。

步骤502,将组播数据包发送至至少两个组播内部接口中的目标组播内部接口;

psaupf中提供有至少两个组播内部接口。结合图6所示,至少两个组播内部接口包括:

第一组播内部接口:用于接收本地组播组成员通过n3/n9发送的组播数据包,通过n3/n9、n6、n19中的至少一个参考点来发送至组播组的全部组播组成员(可选包括发送成员本身)。以5g系统为例,第一组播内部接口可称为5gvnbcinternalr,或者其他名称。

第二组播内部接口:用于将非本地组播组成员通过n6/n19发送的组播数据包,通过n3/n9来发送至组播组在psaupf的全部本地组播组成员。以5g系统为例,第二组播内部接口可称为5gvnbcinternalc,或者其他名称。

可选地,本地组播组成员包括在该组播组中以当前upf为pdu会话锚点的ue。

步骤503,通过目标组播内部接口将组播数据包发送至组播组的全部组播组成员或全部本地组播组成员。

综上所述,本实施例提供的方法,通过提供至少两个组播内部接口,当upf接收到虚拟网络群组中的一个成员发送的组播数据包时,根据所述组播地址计算出需要接收所述组播数据包的组播组成员,将组播数据包发送至至少两个组播内部接口中的目标组播内部接口,通过目标组播内部接口将组播数据包发送至组播组的全部成员,使得在虚拟网络群组中实现了一对多的网络通信,从而在虚拟网络群组中实现组播功能。

组播组存在两种形态:

第一:常规组播组;

第二:虚拟局域网(virtuallocalareanetwork,vid),每个vid采用一个vid表示,一个“vid和广播地址”所构成的vid广播,视为一个组播组的通信。如ipv4的广播地址是255.255.255.255或192.168.1.255,广播mac地址是ff:ff:ff:ff:ff:ff。

upf的至少两个组播内部接口至少存在如下不同的实现方式:

第一种实现方式:两个组播内部接口;

第一组播内部接口和第二组播内部接口;

第二种实现方式:三个组播内部接口;

第一组播内部接口、第二组播内部接口和第三组播内部接口;

第三种实现方式:多个组播内部接口;

1个第一组播内部接口和n个第二组播内部接口,每个第二组播内部接口对应一个组播地址,n为组播地址的数量;

或,1个第一组播内部接口、n个第二组播内部接口、n个第三组播内部接口,每个第二组播内部接口对应一个组播地址,每个第三组播内部接口对应一个组播地址,n为组播地址的数量;

或,n个第一组播内部接口、n个第二组播内部接口,每个第一组播内部接口对应一个组播地址,每个第二组播内部接口对应一个组播地址,n为组播地址的数量;

或,n个第一组播内部接口、n个第二组播内部接口、n个第三组播内部接口,每个第一组播内部接口对应一个组播地址,每个第二组播内部接口对应一个组播地址,每个第三组播内部接口对应一个组播地址,n为组播地址的数量。

以下实施例中采用单个psaupf的角度来对上述组播内部接口进行描述,但是整个组播数据包的传递过程可能涉及到多个psaupf,每个psaupf的处理过程相同或类似,通过多个psaupf的传递来实现整个虚拟网络群组中的组播通信,本文中不对每个psaupf均一一赘述。

针对常规组播组的第一种实现方式:

参考图7,示出了本申请一个示例性实施例提供的虚拟网络群组的组播组的组播方法的流程图。该方法可以由upf来执行,该方法包括:

步骤701,接收虚拟网络群组的一个成员发送的组播数据包,组播数据包的目的地址是组播地址;

设发送组播数据包的成员为成员a,成员a可以是虚拟网络群组中的任一成员。成员a可以是组播组的组播组成员,也可以不是组播组的组播组成员。同一个成员可以连接到一个组播组或多个组播组。本实施例中,以成员a连接到组播组的组播组成员为例来举例说明。

当组播组成员a连接到多个组播组,每个组播组对应一个组播地址时,组播数据包的目的地址是多个组播地址中的一个组播地址。

组播组成员a是upf的本地组播组成员时,upf通过n3或n9接收成员a的组播数据包;组播组成员a是upf的非本地组播组成员时,upf通过n6或n19接收成员a的组播数据包。

步骤702,当组播数据包是来自第一参考点或第二参考点的组播数据时,将组播数据包发送至第一组播内部接口;

当upf接收到本地组播组成员通过n3或n9发送的组播数据包时,将该组播数据包发送至第一组播内部接口。

步骤703,通过第一组播内部接口将组播数据包从组播组中每个组播组成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至组播组的全部组播组成员;

以成员a、成员b、成员c和成员d属于同一个组播组为例,当存在组播组成员b与组播组成员a连接到同一psaupf的成员时,第一组播内部接口将组播数据包通过组播组成员b对应的n3或n9发送至组播组成员b;当存在组播组成员c是dn上的设备时,第一组播内部接口将组播数据包通过组播组成员c对应的n6发送至组播组成员c;当存在组播组成员d与组播组成员a连接到不同的psaupf的成员时,第一组播内部接口将组播数据包通过组播组成员d对应的n19发送至组播组成员d,如图8所示。

需要说明的是,本步骤中的“全部组播组成员”可以包括发送该组播数据包的成员,也可以不包括发送该组播数据包的成员。

步骤704,当组播数据包是来自第三参考点或第四参考点的组播数据时,将组播数据包发送至第二组播内部接口;

当upf接收到非本地组播组成员通过n6或n19发送的组播数据包时,将该组播数据包发送至第二组播内部接口。

步骤705,通过第二组播内部接口将组播数据包从upf的每个本地组播组成员分别对应的第一参考点或第二参考点,发送至upf的全部本地组播组成员。

如图8给出的一个示例,当组播组成员c发送组播数据包时,psaupf1接收来自n6的组播数据包,将其放入到自身的第二组播内部接口,通过第二组播内部接口将组播数据包通过组播组成员a对应的n9发送至组播组成员a,将组播数据包通过组播组成员b对应的n9发送至组播组成员b。psaupf2同样也会接收到来自n6的组播数据包,将其放入到自身的第二组播内部接口,然后通过第二组播内部接口将组播数据包通过成员d对应的n3发送至成员d。这样,组播组成员c发送的组播数据包发送到全部组播组成员。

如图8给出的另一示例,当组播组成员a发送组播数据包时,psaupf1接收来自n9的组播数据包,将组播数据包放入到自身的第一组播内部接口,通过第一组播内部接口将组播数据包从组播组成员b对应的n9发送给至组播组成员b(psaupf1也可以根据网络配置将这个组播数据包从n9发送至psaupf2),psaupf2接收来自n19的组播数据包,将其放入到其第二组播内部接口,然后通过第二组播内部接口将组播数据包通过n3发送至本地组播组成员d。这样,组播组成员a发出的组播数据包发送到全部组播组成员。

综上所述,本实施例提供的方法,通过在upf提供第一组播内部接口,当接收到本地组播组成员的组播数据包时,将本地组播组成员的组播数据包先发送到第一组播内部接口,再通过第一组播内部接口发送至组播组的全部组播组成员(在除当前upf之外的路径上,还有可能需要继续通过其它upf的第二组播内部接口或第三组播内部接口,才能发送到组播组中的全部组播组成员),能够实现组播组中的组播通信。

本实施例提供的方法,通过在upf提供第二组播内部接口,当接收到非本地组播组成员的组播数据包时,将非本地组播组成员的组播数据包先发到第二组播内部接口,再通过第二组播内部接口发送至连接到upf的全部本地组播组成员,既能够实现组播组中的组播通信,还能够避免不必要的流量转发,节省网络传输资源。

基于图7的可选实施例中,组播组内的组播流量转发的实现过程如下:对于组播组内的每个upf,使用upf内的至少两个组播内部接口。通过两步检测在每个upf的组播内部接口之间进行组播数据包的转发。

在第一步中,安装在upf中的包检测(packetdetectionrule,pdr)规则检测从任何组播组内的成员(通过n3或n9或n6或n19)接收的组播数据包,当组播数据包匹配pdr规则后,就应用upf中的(forwardingactionrule,far)规则将组播数据包转发到upf的组播内部接口,也即为组播内部接口设置的目的接口。

在第二步中,安装在upf的组播内部接口中的pdr规则检测到组播数据包,当组播数据包匹配pdr规则后,就应用组播内部接口中对应的far规则,通过n3或n6或n9或n19将组播数据包转发给全部组播组成员或全部本地组播组成员。

因此,对于组播组内的每个upf中配置有n4规则(也即,pdr规则和far规则),pdr规则和far规则的示例性配置如下:

第一pdr规则和第一far规则

smf为组播组的每个组播组成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第一pdr规则和第一far规则,以便upf处理从该ue接收的组播数据包。

对于组播组中的每个upf,upf中设置有与每个本地组播组成员对应的第一pdr规则和第一far规则。upf通过第一pdr规则检测到组播数据包是来自第一参考点n3或第二参考点n9的组播数据时,通过第一far规则将组播数据包发送至第一组播内部接口,如图9所示。

为了检测流量,第一pdr规则包括:源接口设置为接入侧,目标地址设置为组播组成员所属的第一组播地址列表,核心网隧道信息设置为pdu会话的第一参考点或第二参考点的隧道头(包括n3或n9接口对应的上行ip地址和上行gtp-uteid信息),gtp-uteid是gprs隧道协议端点标识(gprstunnelprotocoltunnelendpointidentifier)的缩写;

为了转发流量,第一far规则包括:目标接口设置为第一组播内部接口。

第二pdr规则和第二far规则

smf向存在需要的upf配置组级别会话对应的第二pdr规则和第二far规则,以便upf处理通过n6接收到的组播数据包。组级别会话是组播组中的每个组播组成员共用的会话,组级别会话是upf和smf之间的会话,也即组级n4会话。

对于组播组中的存在需要的upf,upf中设置有与组级别会话对应的第二pdr规则和第二far规则。通过第二pdr规则检测到组播数据包是来自第三参考点n6的组播数据时,通过第二far规则将组播数据包发送至第二组播内部接口,如图9所示。

为了检测流量,第二pdr规则包括:源接口设置为核心侧,目标地址设置为第二组播地址列表;其中,第二组播地址列表是本地组播组成员通过第三参考点n6相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第二far规则包括:目标接口设置为第二组播内部接口。

第三pdr规则和第三far规则

smf向需要的upf配置组级别会话对应的第三pdr规则和第三far规则,以便upf处理通过n19接收到的组播数据包。

对于组播组中存在需要的upf,upf中设置有与组级别会话对应的第三pdr规则和第三far规则。通过第三pdr规则检测到组播数据包是来自第四参考点n19的组播数据时,通过第三far规则将组播数据包发送至第三组播内部接口,如图9所示。

为了检测流量,第三pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表,核心网隧道信息设置为第四参考点隧道头(包括n19接口对应的接收ip地址和接收gtp-uteid信息);其中,第三组播地址列表是本地组播组成员通过第四参考点n19相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第三far规则包括:目标接口设置为第二组播内部接口。

第四pdr规则和第四far规则

smf为组播组的每个组播组成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第四pdr规则和第四far规则,以便upf处理从该ue接收的组播数据包。

对于组播组中存在需要的upf,upf中设置有与每个本地组播组成员对应的第四pdr规则和第四far规则。upf通过第四pdr规则检测到组播数据包是来自第一组播内部接口的组播数据时,通过第四far规则将组播数据包从组播组的每个组播组成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至组播组的全部组播组成员,如图9所示。

为了检测流量,第四pdr规则包括:源端口设置为第一组播内部接口,目标地址为组播组成员所属的第一组播地址列表;

为了转发流量,对应于本地组播组成员,第四far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧;或,对应于dn上的设备,第四far规则还包括:外部头创建指示第三参考点n6的信息,目标接口为核心侧;或,对应于n19隧道相连的成员,第四far规则还包括:外部头创建指示第四参考点n19的隧道信息(包括n19接口对应的对方psaupf的ip地址和gtp-uteid信息),目标接口为核心侧。

第五pdr规则和第五far规则

smf向组播组中存在需要的upf配置组级别会话对应的第五pdr规则和第五far规则,以便upf处理从n6接收的组播数据包。

upf中设置有与组级别会话对应的第五pdr规则和第五far规则。upf通过第五pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第五far规则将组播数据包,从upf的每个本地组播组成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地组播组成员,如图9所示。

为了检测流量,第五pdr规则包括:源端口设置为第二组播内部接口,目标地址为第二组播地址列表;其中,第二组播地址列表是本地组播组成员通过第三参考点n6相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第五far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

第六pdr规则和第六far规则

smf向组播组中存在需要的upf配置组级别会话对应的第六pdr规则和第六far规则,以便upf处理从n19接收的组播数据包。

upf中设置有与组级别会话对应的第六pdr规则和第六far规则。upf通过第六pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第六far规则将组播数据包,从upf的每个本地组播组成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地组播组成员,如图9所示。

为了检测流量,第六pdr规则包括:源端口设置为第二组播内部接口,目标地址为第三组播地址列表;其中,第三组播地址列表是本地组播组成员通过第四参考点n19相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第六far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

针对常规组播组的第二种实现方式:

参考图10,示出了本申请一个示例性实施例提供的虚拟网络群组的组播组的组播方法的流程图。该方法可以由upf来执行,该方法包括:

步骤1001,接收虚拟网络群组的一个成员发送的组播数据包,组播数据包的目的地址是组播地址;

设发送组播数据包的成员为成员a,成员a可以是虚拟网络群组中的任一成员。成员a可以是组播组的组播组成员,也可以不是组播组的组播组成员。同一个成员可以连接到一个组播组或多个组播组。本实施例中,以成员a连接到组播组的组播组成员为例来举例说明。

当组播组成员a连接到多个组播组,每个组播组对应一个组播地址时,组播数据包的目的地址是多个组播地址中的一个组播地址。

组播组成员a是upf的本地组播组成员时,upf通过n3或n9接收组播组成员a的组播数据包;组播组成员a是upf的非本地组播组成员时,upf通过n6或n19接收组播组成员a的组播数据包。

步骤1002,当组播数据包是来自第一参考点或第二参考点的组播数据时,将组播数据包发送至第一组播内部接口;

当upf接收到本地组播组成员通过n3或n9发送的组播数据包时,将该组播数据包发送至第一组播内部接口。

步骤1003,通过第一组播内部接口将组播数据包从组播组中每个组播组成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至组播组的全部组播组成员;

当组播组成员b与组播组成员a连接到同一psaupf的成员时,第一组播内部接口将组播数据包通过组播组成员b对应的n3或n9发送至组播组成员b;当组播组成员c是dn上的设备时,第一组播内部接口将组播数据包通过组播组成员c对应的n6发送至成员c;当组播组成员d与组播组成员a连接到不同的psaupf的成员时,第一组播内部接口将组播数据包通过组播组成员d对应的n19发送至组播组成员d所连接的psaupf2,psaupf2将组播数据包发送到第二组播内部接口,由第二组播内部接口从n3发送到组播组成员d,如图8所示。

需要说明的是,本步骤中的“全部组播组成员”可以包括发送该组播数据包的成员,也可以不包括发送该组播数据包的成员。

步骤1004,当组播数据包是来自第三参考点的组播数据时,将组播数据包发送至第二组播内部接口;

当upf接收到非本地组播组成员通过n6发送的组播数据包时,将该组播数据包发送至第二组播内部接口。

步骤1005,通过第二组播内部接口将组播数据包从组播组在upf的每个本地组播组成员分别对应的第一参考点或第二参考点,发送至upf的全部本地组播组成员。

如图8给出的一个示例,当组播组成员c发送组播数据包时,psaupf1接收来自n6的组播数据包,将其放入到自身的第二组播内部接口,然后通过第二组播内部接口将组播数据包通过组播组成员a对应的n9发送至组播组成员a,通过组播组成员b对应的n9发送至组播组成员b。psaupf2同样也会接收到来自n6的组播数据包,将其放入到其第二组播内部接口,然后通过自身的第二组播内部接口将组播数据包通过组播组成员d对应的n3发送至组播组成员d。这样,组播组成员c发出的组播数据包发送到全部组播组成员。

步骤1006,当组播数据包是来自第四参考点的组播数据时,将组播数据包发送至第三组播内部接口;

当upf接收到非本地组播组成员通过n19发送的组播数据包时,将该组播数据包发送至第三组播内部接口。

步骤1007,通过第三组播内部接口将组播数据包从upf的每个本地组播组成员分别对应的第一参考点或第二参考点,发送至upf的全部本地组播组成员。

如图8给出的另一示例,当组播组成员a发送组播数据包时,psaupf1接收来自n9的组播数据包,将其放入到自身的第一组播内部接口,通过第一组播内部接口将组播数据包从组播组成员b对应的n9接口发送至组播组成员b(psaupf1也可以根据网络配置将这个数据从n9接口发送到组播组成员a自己),从n6接口发送至dn的组播组成员c,从n19接口发送至psaupf2。psaupf2接收来自n19的组播数据包,将其放入到自身的第三组播内部接口,然后通过第三组播内部接口将此组播数据包通过n3接口发送至本地组播组成员d。这样,组播组成员a发出的组播数据包发送到全部组播组成员。

综上所述,本实施例提供的方法,通过在upf提供第一组播内部接口,当接收到本地组播组成员的组播数据包时,将本地组播组成员的组播数据包先发送到第一组播内部接口,再通过第一组播内部接口发送至组播组的全部组播组成员,能够实现组播组的组播通信。

本实施例提供的方法,通过在upf提供第二组播内部接口,当接收到来自n6的非本地组播组成员的组播数据包时,将非本地组播组成员的组播数据包先发到第二组播内部接口,再通过第二组播内部接口发送至组播组在当前upf的全部本地组播组成员,既能够实现组播组的组播通信,还能够避免不必要的流量转发,节省网络传输资源。

本实施例提供的方法,通过在upf提供第三组播内部接口,当接收到来自n19的非本地组播组成员的组播数据包时,将非本地组播组成员的组播数据包先发到第三组播内部接口,再通过第三组播内部接口发送至组播组在当前upf的全部本地组播组成员,既能够实现组播组中的组播通信,还能够避免不必要的流量转发,节省网络传输资源。

基于图10的可选实施例中,组播组内的组播流量转发的实现过程如下:对于组播组内的每个upf,使用upf内的至少两个组播内部接口。通过两步检测在每个upf的组播内部接口之间进行组播数据包的转发。

在第一步中,安装在upf中的pdr规则检测从任何组播组内的成员(通过n3或n9或n6或n19)接收的组播数据包,当组播数据包匹配pdr规则时,应用upf中的far规则将组播数据包转发到upf的组播内部接口,也即为组播内部接口设置的目的接口。

在第二步中,安装在upf的组播内部接口中的pdr规则检测到组播数据包,当组播数据包匹配pdr规则后,就应用组播内部接口中的far规则,通过n3或n6或n9或n19将组播数据包转发给组播组的全部组播组成员或全部本地组播组成员。

因此,对于组播组内的每个upf中配置有n4规则(也即,pdr规则和far规则),pdr规则和far规则的示例性配置如下:

第一pdr规则和第一far规则

smf为组播组的每个组播组成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第一pdr规则和第一far规则,以便upf处理从该ue接收的组播数据包。

对于组播组中的每个upf,upf中设置有与每个本地组播组成员对应的第一pdr规则和第一far规则。upf通过第一pdr规则检测到组播数据包是来自第一参考点n3或第二参考点n9的组播数据时,通过第一far规则将组播数据包发送至第一组播内部接口,如图9所示。

为了检测流量,第一pdr规则包括:源接口设置为接入侧,目标地址设置为组播组成员所属的第一组播地址列表,核心网隧道信息设置为pdu会话的第一参考点或第二参考点的隧道头(包括n3或n9接口对应的上行ip地址和上行gtp-uteid信息);

为了转发流量,第一far规则包括:目标接口设置为第一组播内部接口。

第二pdr规则和第二far规则

smf向存在需要的upf配置组级别会话对应的第二pdr规则和第二far规则,以便upf处理通过n6接收到的组播数据包。组级别会话是组播组中的每个组播组成员共用的会话,组级别会话是upf和smf之间的会话,也即组级n4会话。

对于组播组中的存在需要的upf,upf中设置有与组级别会话对应的第二pdr规则和第二far规则。通过第二pdr规则检测到组播数据包是来自第三参考点n6的组播数据时,通过第二far规则将组播数据包发送至第二组播内部接口,如图9所示。

为了检测流量,第二pdr规则包括:源接口设置为核心侧,目标地址设置为第二组播地址列表;其中,第二组播地址列表是本地组播组成员通过第三参考点n6相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第二far规则包括:目标接口设置为第二组播内部接口。

第七pdr规则和第七far规则

smf向存在需要的upf配置组级别会话对应的第七pdr规则和第七far规则,以便upf处理通过n19接收到的组播数据包。

对于组播组中的存在需要的upf,upf中设置有与组级别会话对应的第七pdr规则和第七far规则。通过第七pdr规则检测到组播数据包是来自第四参考点n19的组播数据时,通过第七far规则将组播数据包发送至第三组播内部接口,如图11所示。

为了检测流量,第七pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表,核心网隧道信息设置为第四参考点隧道头(包括n19接口对应的ip地址和gtp-uteid信息);其中,第三组播地址列表是本地组播组成员通过第四参考点n19相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第七far规则包括:目标接口设置为第二组播内部接口。

第四pdr规则和第四far规则

smf为组播组的每个组播组成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第四pdr规则和第四far规则,以便upf处理从该ue接收的组播数据包。

对于组播组中存在需要的upf,upf中设置有与每个本地组播组成员对应的第四pdr规则和第四far规则。upf通过第四pdr规则检测到组播数据包是来自第一组播内部接口的组播数据时,通过第四far规则将组播数据包从组播组的每个组播组成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至组播组的全部组播组成员,如图9所示。

为了检测流量,第四pdr规则包括:源端口设置为第一组播内部接口,目标地址为组播组成员所属的第一组播地址列表;

为了转发流量,对应于本地组播组成员,第四far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧;或,对应于dn上的设备,第四far规则还包括:外部头创建指示第三参考点n6的信息,目标接口为核心侧;或,对应于n19隧道相连的成员,第四far规则还包括:外部头创建指示第四参考点n19的隧道信息(包括n19接口对应的ip地址和gtp-uteid信息),目标接口为核心侧。

第五pdr规则和第五far规则

smf向组播组中存在需要的upf配置组级别会话对应的第五pdr规则和第五far规则,以便upf处理从n6接收的组播数据包。

upf中设置有与组级别会话对应的第五pdr规则和第五far规则。upf通过第五pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第五far规则将组播数据包,从upf的每个本地组播组成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地组播组成员,如图9所示。

为了检测流量,第五pdr规则包括:源端口设置为第二组播内部接口,目标地址为第二组播地址列表;其中,第二组播地址列表是本地组播组成员通过第三参考点n6相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第五far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

第八pdr规则和第八far规则

smf向组播组中存在需要的upf配置组级别会话对应的第六pdr规则和第六far规则,以便upf处理从n19接收的组播数据包。

upf中设置有与组级别会话对应的第六pdr规则和第六far规则。upf通过第六pdr规则检测到组播数据包是第三组播内部接口的组播数据时,通过第六far规则将组播数据包,从upf的每个本地组播组成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地组播组成员,如图11所示。

为了检测流量,第六pdr规则包括:源端口设置为第三组播内部接口,目标地址为第三组播地址列表;其中,第三组播地址列表是本地组播组成员通过第四参考点n19相连的其它组播组成员所对应的组播地址列表。

为了转发流量,第六far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

在一个实施例中,第二组播地址列表是第一upf的全部本地组播组成员所属组播组的组播地址列表的合集。

在一个实施例中,第三组播地址列表是第一upf的本地组播组成员所属组播组的组播地址列表和第二upf的本地组播组成员所属组播组的组播地址列表的交集,第二upf是通过第四参考点与所述第一upf相连。

针对常规组播组的第三种实现方式:

上述pdr规则和上述far规则中的组播地址列表(第一组播地址列表、第二组播地址列表、第三组播地址列表)包括多个组播地址,比如3个组播地址或5个组播地址。

当组播地址列表中的组播地址为m个时,上述第一组播内部接口、第二组播内部接口、第三组播内部接口中的至少一个接口可实现成为m个组播内部接口,每个组播内部接口对应一个组播地址。其中,m为正整数,i为不大于m的整数。

当第一组播内部接口实现成为m个第一组播内部接口时,第i个第一组播内部接口对应第一组播地址列表中的第i个组播地址,同时设组播数据包中的组播地址是第i个组播地址。

第一pdr规则包括:源接口设置为接入侧,目标地址设置为第一组播地址列表中的第i个组播地址,核心网隧道信息设置为pdu会话的第一参考点或第二参考点的隧道头;第一far规则包括:目标接口设置为第i个第一组播内部接口。

第四pdr规则包括:源端口设置为第i个第一组播内部接口,目标地址为第一组播地址列表中的第i个组播地址;第四far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧;或,第四far规则还包括:外部头创建指示第三参考点的信息,目标接口为核心侧;或,第四far规则还包括:外部头创建指示第四参考点的隧道信息,目标接口为核心侧。

当第二组播内部接口实现成为m个第二组播内部接口时,第i个第二组播内部接口对应第二组播地址列表中的第i个组播地址,同时设组播数据包中的组播地址是第i个组播地址。

第二pdr规则包括:源接口设置为核心侧,目标地址设置为第i个组播地址;第二far规则包括:目标接口设置为第i个第二组播内部接口。

第五pdr规则包括:源端口设置为第i个第二组播内部接口,目标地址为第二组播地址列表中的第i个组播地址;第五far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧。

第三pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表中的第i个组播地址列表,核心网隧道信息设置为第四参考点隧道头;第三far规则包括:目标接口设置为第i个第二组播内部接口,m为正整数,i为不大于m的整数。

第六pdr规则包括:源端口设置为第i个第二组播内部接口,目标地址为第三组播地址列表中的第i个组播地址;第五far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧。

当第三组播内部接口实现成为m个第三组播内部接口时,第i个第三组播内部接口对应第三组播地址列表中的第i个组播地址,同时设组播数据包中的组播地址是第i个组播地址。

第七pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表中的第i个组播地址,核心网隧道信息设置为第四参考点隧道头;第七far规则包括:目标接口设置为第i个第三组播内部接口。

第八pdr规则包括:源端口设置为第i个第三组播内部接口,目标地址为第i个组播地址;第八far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧。

以至少两个组播内部接口包括:第一组播内部接口和m个第二组播内部接口为例,每个第二组播内部接口对应一个组播地址,m为组播地址的数量;

当组播数据包是来自第一参考点或第二参考点的组播数据时,upf将组播数据包发送至第一组播内部接口,通过第一组播内部接口将组播数据包从组播组中每个组播组成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至组播组的全部组播组成员。

当组播数据包是来自第三参考点或第四参考点的组播数据,且组播数据包的组播地址是第i个组播地址时,upf将组播数据包发送至第i个组播地址对应的第二组播内部接口,通过第i个组播地址对应的第二组播内部接口将组播数据包从组播组在upf的每个本地组播组成员分别对应的第一参考点或第二参考点,发送至upf的全部本地组播组成员。

对于m个第一组播内部接口的实施例,或者m个第三组播内部接口的实施例,为本领域技术人员根据上述实施例所易于思及的内容,不再一一赘述。

针对vid的第一种实现方式:

参考图12,示出了本申请一个示例性实施例提供的虚拟网络群组的vid的组播方法的流程图。该方法可以由upf来执行,该方法包括:

步骤1201,接收虚拟网络群组的一个成员发送的组播数据包,组播数据包的目的地址是vid以及广播地址;

设发送组播数据包的成员为成员a,成员a可以是虚拟网络群组中的任一成员。同一个成员可以连接到一个vid或多个vid。

当成员a连接到多个vid,每个vid对应一个或多个广播地址时,每个组播数据包的目的地址是多个广播地址中的一个广播地址。

成员a是upf的本地vid成员时,upf通过n3或n9接收成员a的组播数据包;成员a是upf的非本地vid成员时,upf通过n6或n19接收成员a的组播数据包。

步骤1202,当组播数据包是来自第一参考点或第二参考点的组播数据时,将组播数据包发送至第一组播内部接口;

当upf接收到本地vid成员通过n3或n9发送的组播数据包时,将该组播数据包发送至第一组播内部接口。

步骤1203,通过第一组播内部接口将组播数据包从vid中每个vid成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至vid的全部vid成员;

以成员a、成员b、成员c和成员d属于同一个vid为例,当存在vid成员b与vid成员a连接到同一psaupf的成员时,第一组播内部接口将组播数据包通过vid成员b对应的n3或n9发送至vid成员b;当存在vid成员c是dn上的设备时,第一组播内部接口将组播数据包通过vid成员c对应的n6发送至vid成员c;当存在vid成员d与vid成员a连接到不同的psaupf的成员时,第一组播内部接口将组播数据包通过vid成员d对应的n19发送至vid成员d,如图8所示。

需要说明的是,本步骤中的“全部vid成员”可以包括发送该组播数据包的成员,也可以不包括发送该组播数据包的成员。

步骤1204,当组播数据包是来自第三参考点或第四参考点的组播数据时,将组播数据包发送至第二组播内部接口;

当upf接收到非本地组播组成员通过n6或n19发送的组播数据包时,将该组播数据包发送至第二组播内部接口。

步骤1205,通过第二组播内部接口将组播数据包从upf的每个本地vid成员分别对应的第一参考点或第二参考点,发送至upf的全部本地vid成员。

如图8给出的一个示例,当vid成员c发送组播数据包时,psaupf1接收来自n6的组播数据包,将其放入到自身的第二组播内部接口,通过第二组播内部接口将组播数据包通过vid成员a对应的n9发送至vid成员a,将组播数据包通过vid成员b对应的n9发送至vid成员b。psaupf2同样也会接收到来自n6的组播数据包,将其放入到自身的第二组播内部接口,然后通过第二组播内部接口将组播数据包通过成员d对应的n3发送至成员d。这样,vid成员c发送的组播数据包发送到全部vid成员。

如图8给出的另一示例,当vid成员a发送组播数据包时,psaupf1接收来自n9的组播数据包,将组播数据包放入到自身的第一组播内部接口,通过第一组播内部接口将组播数据包从vid成员b对应的n9发送给至vid成员b(psaupf1也可以根据网络配置将这个组播数据包从n9发送至psaupf2),psaupf2接收来自n19的组播数据包,将其放入到其第二组播内部接口,然后通过第二组播内部接口将组播数据包通过n3发送至本地vid成员d。这样,vid成员a发出的组播数据包发送到全部vid成员。

综上所述,本实施例提供的方法,通过在upf提供第一组播内部接口,当接收到本地vid成员的组播数据包时,将本地vid成员的组播数据包先发送到第一组播内部接口,再通过第一组播内部接口发送至vid的全部vid成员(在除当前upf之外的路径上,还有可能需要继续通过其它upf的第二组播内部接口或第三组播内部接口,才能发送到组播组中的全部组播组成员),能够实现vid中的组播通信。

本实施例提供的方法,通过在upf提供第二组播内部接口,当接收到非本地vid成员的组播数据包时,将非本地vid成员的组播数据包先发到第二组播内部接口,再通过第二组播内部接口发送至连接到upf的全部本地vid成员,既能够实现vid中的组播通信,还能够避免不必要的流量转发,节省网络传输资源。

基于图12的可选实施例中,vid内的组播流量转发的实现过程如下:对于vid内的每个upf,使用upf内的至少两个组播内部接口。通过两步检测在每个upf的组播内部接口之间进行组播数据包的转发。

在第一步中,安装在upf中的pdr规则检测从任何vid内的成员(通过n3或n9或n6或n19)接收的组播数据包,当组播数据包匹配pdr规则后,就应用upf中的far规则将组播数据包转发到upf的组播内部接口,也即为组播内部接口设置的目的接口。

在第二步中,安装在upf的组播内部接口中的pdr规则检测到组播数据包,当组播数据包匹配pdr规则后,就应用组播内部接口中对应的far规则,通过n3或n6或n9或n19将组播数据包转发给vid中的全部成员。

因此,对于vid内的每个upf中配置有n4规则(也即,pdr规则和far规则),pdr规则和far规则的示例性配置如下:

第一pdr规则和第一far规则

smf为vid中的每个vid成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第一pdr规则和第一far规则,以便upf处理从该ue接收的组播数据包。

对于vid中的每个upf,upf中设置有与本地vid成员对应的第一pdr规则和第一far规则。upf通过第一pdr规则检测到组播数据包是来自第一参考点n3或第二参考点n9的组播数据时,通过第一far规则将组播数据包发送至第一组播内部接口,如图9所示。

为了检测流量,第一pdr规则包括:源接口设置为接入侧,目标地址设置为vid成员所属的第一vid列表以及广播地址,核心网隧道信息设置为pdu会话的第一参考点n3或第二参考点n19的隧道头(包括n3或n9接口对应的上行ip地址和上行gtp-uteid信息);

为了转发流量,第一far规则包括:目标接口设置为第一组播内部接口。

其中,组播数据包中的组播地址是vid成员所属的第一vid列表中的一个vid,以及广播地址。

第二pdr规则和第二far规则

smf向存在需要的upf配置组级别会话对应的第二pdr规则和第二far规则,以便upf处理通过n6接收到的组播数据包。组级别会话是vid中的每个vid成员共用的会话,组级别会话是upf和smf之间的会话,也即组级n4会话。

对于vid中的存在需要的upf,upf中设置有与组级别会话对应的第二pdr规则和第二far规则。通过第二pdr规则检测到组播数据包是来自第三参考点n6的组播数据时,通过第二far规则将组播数据包发送至第二组播内部接口,如图9所示。

为了检测流量,第二pdr规则包括:源接口设置为核心侧,目标地址设置为第二vid列表以及广播地址;其中,第二vid列表是本地vid成员通过第三参考点n6相连的其它vid成员所对应的vid列表。

为了转发流量,第二far规则包括:目标接口设置为第二组播内部接口。

其中,第二vid列表是虚拟网络群组中全部vid的vid列表;或,第二vid列表是第一upf的本地全部vid成员所属的vid列表的合集。

第三pdr规则和第三far规则

smf向需要的upf配置组级别会话对应的第三pdr规则和第三far规则,以便upf处理通过n19接收到的组播数据包。

对于vid中存在需要的upf,upf中设置有与组级别会话对应的第三pdr规则和第三far规则。通过第三pdr规则检测到组播数据包是来自第四参考点n19的组播数据时,通过第三far规则将组播数据包发送至第三组播内部接口,如图9所示。

为了检测流量,第三pdr规则包括:源接口设置为核心侧,目标地址设置为第三vid列表以及广播地址,核心网隧道信息设置为第四参考点隧道头(包括n19接口对应的接收ip地址和接收gtp-uteid信息);第三vid列表是本地组播组成员通过第四参考点n19相连的其它vid成员所对应的vid列表。

为了转发流量,第三far规则包括:目标接口设置为第二组播内部接口。

第四pdr规则和第四far规则

smf为vid的每个vid成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第四pdr规则和第四far规则,以便upf处理从该ue接收的组播数据包。

对于vid中存在需要的upf,upf中设置有与本地vid成员对应的第四pdr规则和第四far规则。upf通过第四pdr规则检测到组播数据包是来自第一组播内部接口的组播数据时,通过第四far规则将组播数据包从vid的每个vid成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至vid的全部vid成员,如图9所示。

为了检测流量,第四pdr规则包括:源端口设置为第一组播内部接口,目标地址为vid成员所属的第一vid列表以及广播地址;

为了转发流量,对应于本地组播组成员,第四far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧;或,对应于dn上的设备,第四far规则还包括:外部头创建指示第三参考点n6的信息,目标接口为核心侧;或,对应于n19隧道相连的成员,第四far规则还包括:外部头创建指示第四参考点n19的隧道信息(包括n19接口对应的对方psaupf的ip地址和gtp-uteid信息),目标接口为核心侧。

第五pdr规则和第五far规则

smf向vid中存在需要的upf配置组级别会话对应的第五pdr规则和第五far规则,以便upf处理从n6或n19接收的组播数据包。

upf中设置有与组级别会话对应的第五pdr规则和第五far规则。upf通过第五pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第五far规则将组播数据包,从upf的每个本地组播组成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地vid成员,如图9所示。

为了检测流量,第五pdr规则包括:源端口设置为第二组播内部接口,目标地址为vid的第二vid列表以及广播地址;

为了转发流量,第五far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

第六pdr规则和第六far规则

smf向vid中存在需要的upf配置组级别会话对应的第六pdr规则和第六far规则,以便upf处理从n19接收的组播数据包。

upf中设置有与组级别会话对应的第六pdr规则和第六far规则。upf通过第六pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第六far规则将组播数据包,从upf的每个本地vid成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地vid成员,如图9所示。

为了检测流量,第六pdr规则包括:源端口设置为第二组播内部接口,目标地址为第三vid列表及广播地址;其中,第三vid列表是本地vid成员通过第四参考点n19相连的其它vid成员所对应的组播地址列表。

为了转发流量,第六far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

针对vid的第二种实现方式:

参考图13,示出了本申请一个示例性实施例提供的虚拟网络群组的vid的组播方法的流程图。该方法可以由upf来执行,该方法包括:

步骤1301,接收虚拟网络群组的一个成员发送的组播数据包,组播数据包的目的地址是vid的广播地址;

设发送组播数据包的成员为成员a,成员a可以是虚拟网络群组中的任一成员。成员a可以是vid的vid成员,也可以不是vid的vid成员。同一个成员可以连接到一个vid或多个vid。本实施例中,以成员a连接到vid的vid成员为例来举例说明。

当vid成员a连接到多个vid,每个vid对应一个广播地址时,组播数据包的目的地址是多个广播地址中的一个广播地址。

vid成员a是upf的本地vid成员时,upf通过n3或n9接收vid成员a的组播数据包;vid成员a是upf的非本地组播组成员时,upf通过n6或n13接收vid成员a的组播数据包。

步骤1302,当组播数据包是来自第一参考点或第二参考点的组播数据时,将组播数据包发送至第一组播内部接口;

当upf接收到本地组播组成员通过n3或n9发送的组播数据包时,将该组播数据包发送至第一组播内部接口。

步骤1303,通过第一组播内部接口将组播数据包从vid中每个vid成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至vid的全部vid成员;

当vid成员b与vid成员a连接到同一psaupf的成员时,第一组播内部接口将组播数据包通过vid成员b对应的n3或n9发送至vid成员b;当vid成员c是dn上的设备时,第一组播内部接口将组播数据包通过vid成员c对应的n6发送至成员c;当vid成员d与vid成员a连接到不同的psaupf的成员时,第一组播内部接口将组播数据包通过vid成员d对应的n19发送至vid成员d所连接的psaupf2,psaupf2将组播数据包发送到第二组播内部接口,由第二组播内部接口从n3发送到vid成员d,如图8所示,如图8所示。

需要说明的是,本步骤中的“全部vid成员”可以包括发送该组播数据包的成员,也可以不包括发送该组播数据包的成员。

步骤1304,当组播数据包是来自第三参考点的组播数据时,将组播数据包发送至第二组播内部接口;

当upf接收到非本地组播组成员通过n6发送的组播数据包时,将该组播数据包发送至第二组播内部接口。

步骤1305,通过第二组播内部接口将组播数据包从vid在upf的每个本地vid成员分别对应的第一参考点或第二参考点,发送至upf的全部本地vid成员。

如图8给出的一个示例,当vid成员c发送组播数据包时,psaupf1接收来自n6的组播数据包,将其放入到自身的第二组播内部接口,然后通过第二组播内部接口将组播数据包通过vid成员a对应的n9发送至vid成员a,通过vid成员b对应的n9发送至vid成员b。psaupf2同样也会接收到来自n6的组播数据包,将其放入到其第二组播内部接口,然后通过自身的第二组播内部接口将组播数据包通过vid成员d对应的n3发送至vid成员d。这样,vid成员c发出的组播数据包发送到全部vid成员。

步骤1306,当组播数据包是来自第四参考点的组播数据时,将组播数据包发送至第三组播内部接口;

当upf接收到非本地vid成员通过n19发送的组播数据包时,将该组播数据包发送至第三组播内部接口。

步骤1307,通过第三组播内部接口将组播数据包从upf的每个本地vid成员分别对应的第一参考点或第二参考点,发送至upf的全部本地vid成员。

如图8给出的另一示例,当vid成员a发送组播数据包时,psaupf1接收来自n9的组播数据包,将其放入到自身的第一组播内部接口,通过第一组播内部接口将组播数据包从vid成员b对应的n9接口发送至vid成员b(psaupf1也可以根据网络配置将这个数据从n9接口发送到vid成员a自己),从n6接口发送至dn的vid成员c,从n19接口发送至psaupf2。psaupf2接收来自n19的组播数据包,将其放入到自身的第三组播内部接口,然后通过第三组播内部接口将此组播数据包通过n3接口发送至本地vid成员d。这样,vid成员a发出的组播数据包发送到全部vid成员。

综上所述,本实施例提供的方法,通过在upf提供第一组播内部接口,当接收到本地vid成员的组播数据包时,将本地vid成员的组播数据包先发送到第一组播内部接口,再通过第一组播内部接口发送至vid的全部vid成员,能够实现vid中的组播通信。

本实施例提供的方法,通过在upf提供第二组播内部接口,当接收到来自n6的非本地vid成员的组播数据包时,将非本地vid成员的组播数据包先发到第二组播内部接口,再通过第二组播内部接口发送至vid在当前upf的全部本地vid成员,既能够实现vid中的组播通信,还能够避免不必要的流量转发,节省网络传输资源。

本实施例提供的方法,通过在upf提供第三组播内部接口,当接收到来自n19的非本地vid成员的组播数据包时,将非本地vid成员的组播数据包先发到第三组播内部接口,再通过第三组播内部接口发送至vid在当前upf的全部本地vid成员,既能够实现vid中的组播通信,还能够避免不必要的流量转发,节省网络传输资源。

基于图13的可选实施例中,vid内的组播流量转发的实现过程如下:对于vid内的每个upf,使用upf内的至少两个组播内部接口。通过两步检测在每个upf的组播内部接口之间进行组播数据包的转发。

在第一步中,安装在upf中的pdr规则检测从任何vid内的成员(通过n3或n9或n6或n19)接收的组播数据包,当组播数据包匹配pdr规则时,应用upf中的far规则将组播数据包转发到upf的组播内部接口,也即为组播内部接口设置的目的接口。

在第二步中,安装在upf的组播内部接口中的pdr规则检测到组播数据包,当组播数据包匹配pdr规则后,就应用组播内部接口中的far规则,通过n3或n6或n9或n19将组播数据包转发给vid的vid成员。

因此,对于vid内的每个upf中配置有n4规则(也即,pdr规则和far规则),pdr规则和far规则的示例性配置如下:

第一pdr规则和第一far规则

smf为vid中的每个vid成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第一pdr规则和第一far规则,以便upf处理从该ue接收的组播数据包。

对于vid中的每个upf,upf中设置有与本地vid成员对应的第一pdr规则和第一far规则。upf通过第一pdr规则检测到组播数据包是来自第一参考点n3或第二参考点n9的组播数据时,通过第一far规则将组播数据包发送至第一组播内部接口,如图9所示。

为了检测流量,第一pdr规则包括:源接口设置为接入侧,目标地址设置为vid成员所属的第一vid列表以及广播地址,核心网隧道信息设置为pdu会话的第一参考点或第二参考点的隧道头(包括n3或n9接口对应的上行ip地址和上行gtp-uteid信息);

为了转发流量,第一far规则包括:目标接口设置为第一组播内部接口。

其中,组播数据包中的组播地址是vid所属的vid的vid列表以及广播地址中的一个广播地址。

第二pdr规则和第二far规则

smf向存在需要的upf配置组级别会话对应的第二pdr规则和第二far规则,以便upf处理通过n6接收到的组播数据包。组级别会话是vid中的每个vid成员共用的会话,组级别会话是upf和smf之间的会话,也即组级n4会话。

对于vid中的存在需要的upf,upf中设置有与组级别会话对应的第二pdr规则和第二far规则。通过第二pdr规则检测到组播数据包是来自第三参考点n6的组播数据时,通过第二far规则将组播数据包发送至第二组播内部接口,如图9所示。

为了检测流量,第二pdr规则包括:源接口设置为核心侧,目标地址设置为vid的第二vid列表以及广播地址;

为了转发流量,第二far规则包括:目标接口设置为第二组播内部接口。

其中,第二组播地址列表是虚拟网络群组中全部vid的vid列表以及广播地址;或,第二组播地址列表是第一upf的本地全部vid成员所属的vid列表以及广播地址的合集。

第七pdr规则和第七far规则

smf向需要的upf配置组级别会话对应的第七pdr规则和第七far规则,以便upf处理通过n19接收到的组播数据包。

对于vid中存在需要的upf,upf中设置有与组级别会话对应的第七pdr规则和第七far规则。通过第七pdr规则检测到组播数据包是来自第四参考点n19的组播数据时,通过第七far规则将组播数据包发送至第三组播内部接口,如图11所示。

为了检测流量,第三pdr规则包括:源接口设置为核心侧,目标地址设置为第三vid列表以及广播地址,核心网隧道信息设置为第四参考点隧道头(包括n19接口对应的ip地址和gtp-uteid信息);

为了转发流量,第三far规则包括:目标接口设置为第三组播内部接口。

第四pdr规则和第四far规则

smf为vid的每个vid成员的n4会话(也即与每个成员的pdu会话相对应的n4会话)提供有第四pdr规则和第四far规则,以便upf处理从该ue接收的组播数据包。

对于vid中存在需要的upf,upf中设置有与本地vid成员对应的第四pdr规则和第四far规则。upf通过第四pdr规则检测到组播数据包是来自第一组播内部接口的组播数据时,通过第四far规则将组播数据包从vid的每个vid成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至vid的全部vid成员,如图11所示。

为了检测流量,第四pdr规则包括:源端口设置为第一组播内部接口,目标地址为vid成员所属的第一vid列表以及广播地址;

为了转发流量,对应于本地vid成员,第四far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧;或,对应于dn上的设备,第四far规则还包括:外部头创建指示第三参考点n6的信息,目标接口为核心侧;或,对应于n19隧道相连的成员,第四far规则还包括:外部头创建指示第四参考点n19的隧道信息(包括n19接口对应的ip地址和gtp-uteid信息),目标接口为核心侧。

第五pdr规则和第五far规则

smf向vid中存在需要的upf配置组级别会话对应的第五pdr规则和第五far规则,以便upf处理从n6或n19接收的组播数据包。

upf中设置有与组级别会话对应的第五pdr规则和第五far规则。upf通过第五pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第五far规则将组播数据包,从upf的每个本地组播组成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地vid成员,如图11所示。

为了检测流量,第五pdr规则包括:源端口设置为第二组播内部接口,目标地址为vid的第二vid列表以及广播地址;

为了转发流量,第五far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

第八pdr规则和第八far规则

smf向vid中存在需要的upf配置组级别会话对应的第八pdr规则和第八far规则,以便upf处理从n19接收的组播数据包。

upf中设置有与组级别会话对应的第八pdr规则和第八far规则。upf通过第八pdr规则检测到组播数据包是第二组播内部接口的组播数据时,通过第八far规则将组播数据包,从upf的每个本地vid成员分别对应的第一参考点n3或第二参考点n9,发送至upf的全部本地vid成员,如图9所示。

为了检测流量,第八pdr规则包括:源端口设置为第二组播内部接口,目标地址为第三vid列表;其中,第三vid列表是本地vid成员通过第四参考点n19相连的其它vid成员所对应的vid列表。

为了转发流量,第八far规则包括:外部头创建指示第一参考点n3或第二参考点n9的隧道信息(包括n3或n9接口对应的下行ip地址和下行gtp-uteid信息),目标接口为接入侧。

在一个实施例中,第二vid列表是虚拟网络群组中全部vid的vid列表;或,第二vid列表是第一upf的全部本地vid成员所属vid列表的合集。

在一个实施例中,第三vid列表是虚拟网络群组中全部vid的vid列表以;或,第三vid列表是第一upf的本地vid成员所属vid列表和第二upf的本地vid成员所属vid列表的交集,第二upf是通过第四参考点与第一upf相连。

针对vid的第三种实现方式:

上述pdr规则和上述far规则中的vid列表以及广播地址(第一vid列表以及广播地址、第二vid列表以及广播地址、第三vid列表以及广播地址)包括多个vid的广播地址,比如3个广播地址或5个广播地址。

当vid列表以及广播地址中的广播地址为m个时,上述第一组播内部接口、第二组播内部接口、第三组播内部接口中的至少一个接口可实现成为m个组播内部接口,每个组播内部接口对应一个vid的广播地址。其中,m为正整数,i为不大于m的整数

当第一组播内部接口实现成为m个第一组播内部接口时,第i个第一组播内部接口对应第i个vid,同时设组播数据包中的组播地址是第一vid列表以中的第i个vid以及广播地址。

第一pdr规则包括:源接口设置为接入侧,目标地址设置为第一vid列表中第i个vid以及广播地址,核心网隧道信息设置为pdu会话的第一参考点或第二参考点的隧道头;第一far规则包括:目标接口设置为第i个第一组播内部接口。

第四pdr规则包括:源端口设置为第i个第一组播内部接口,目标地址为第一vid列表中的第i个vid以及广播地址;第四far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧;或,第四far规则还包括:外部头创建指示第三参考点的信息,目标接口为核心侧;或,第四far规则还包括:外部头创建指示第四参考点的隧道信息,目标接口为核心侧。

当第二组播内部接口实现成为m个第二组播内部接口时,第i个第二组播内部接口对应第二vid列表中的第i个vid,同时设组播数据包中的组播地址是第二vid列表中的第i个vid以及广播地址。

第二pdr规则包括:源接口设置为核心侧,目标地址设置为第二vid列表中的第i个vid以及广播地址;第二far规则包括:目标接口设置为第i个第二组播内部接口。

第五pdr规则包括:源端口设置为第i个第二组播内部接口,目标地址为第二vid列表中的第i个vid以及广播地址;第五far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧。

第三pdr规则包括:源接口设置为核心侧,目标地址设置为第三vid列表中的第i个vid以及广播地址,核心网隧道信息设置为第四参考点隧道头;第三far规则包括:目标接口设置为第i个第二组播内部接口,m为正整数,i为不大于m的整数。

第六pdr规则包括:源端口设置为第i个第二组播内部接口,目标地址为第三vid列表中的第i个vid以及广播地址;第六far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧。

当第三组播内部接口实现成为m个第三组播内部接口时,第i个第三组播内部接口对应第三vid列表中的第i个vid,同时设组播数据包中的组播地址是第三vid列表中的第i个vid以及。

第七pdr规则包括:源接口设置为核心侧,目标地址设置为第三vid列表中的第i个vid以及广播地址,核心网隧道信息设置为第四参考点隧道头;第七far规则包括:目标接口设置为第i个第三组播内部接口。

第八pdr规则包括:源端口设置为第i个第三组播内部接口,目标地址为第三vid列表中的第i个vid以及广播地址;第八far规则包括:外部头创建指示第一参考点或第二参考点的隧道信息,目标接口为接入侧。

以至少两个组播内部接口包括:第一组播内部接口和m个第二组播内部接口为例,每个第二组播内部接口对应一个vid,m为广播地址的数量;

当组播数据包是来自第一参考点或第二参考点的组播数据时,upf将组播数据包发送至第一组播内部接口,通过第一组播内部接口将组播数据包从vid中每个vid成员分别对应的第一参考点或第二参考点或第三参考点或第四参考点,发送至vid的全部vid成员。

当组播数据包是来自第三参考点或第四参考点的组播数据,且组播数据包的广播地址是第i个广播地址时,upf将组播数据包发送至第i个vid对应的第二组播内部接口,通过第i个vid对应的第二组播内部接口将组播数据包从vid在upf的每个本地vid成员分别对应的第一参考点或第二参考点,发送至upf的全部本地vid成员。

对于m个第一组播内部接口的实施例,或者m个第三组播内部接口的实施例,为本领域技术人员根据上述实施例所易于思及的内容,不再一一赘述。

pdr规则和far规则的配置过程

上述pdr规则和far规则由swf向相应的upf配置。图14示出了本申请一个示例性实施例提供的虚拟网络群组的组播组的组播方法的流程图。该方法可以由smf来执行,该方法包括:

步骤1402,生成至少两个组播内部接口对应的至少两组组播规则;

步骤1404,在至少两组组播规则中,确定组播组对应的每个upf上需要的组播规则;组播组是虚拟网络群组中的常规组播组,或者,组播组是采用vid标识的组;

步骤1406,向每个upf配置需要的组播规则。

根据上述实施例可知,至少两个组播内部接口存在多种实现方式。

当至少两个组播内部接口包括第一组播内部接口时,至少两组组播规则包括:每个组播组成员的与第一组播内部接口对应的第一组组播规则,上述步骤1402、步骤1404和步骤1406可实现成为如下步骤,如图15所示:

步骤1402a,生成每个组播组成员的与第一组播内部接口对应的第一组组播规则;

步骤1404a,对于每个组播组成员所属的upf,确定为需要第一组组播规则的upf;

步骤1406a,在每个组播组成员建立pdu会话的过程中,向每个组播组成员所属的upf配置第一组组播规则。

其中,第一组组播规则包括:上述实施例中提及的第一pdr规则和第一far规则,以及第四pdr规则和第四far规则。

当至少两个组播内部接口包括第二组播内部接口时,至少两组组播规则包括:与第二组播内部接口对应的每个组播组的群组级别的第二组组播规则,第二组组播规则用于转发来自第三参考点n6的组播数据包,上述步骤1402、步骤1404和步骤1406可实现成为如下步骤,如图16所示:

步骤1402b,生成与第二组播内部接口对应的每个组播组的群组级别的第二组组播规则;

其中,第二组组播规则用于转发来自第三参考点的组播数据包。

步骤1404b,对于组播组对应的每个upf中的第一upf,根据第一upf上的本地组播组成员所属组播组的组播地址列表的合集,将合集对应的所有群组级别的第二组组播规则,确定为第一upf中需要的组播规则。

当第一upf下的ue发生增加或减少时,smf计算第一upf上的本地组播组成员所属组播组的组播地址列表的合集。smf将组播地址列表的合集对应的所有群组级别的第二组组播规则,确定为第一upf中需要的组播规则

步骤1406b,在组播地址列表的合集发生改变时,向第一upf配置合集对应的所有群组级别的第二组组播规则。

当该合集发生改变(新增ue或删除ue)时,upf向第一upf配置组播地址列表的合集对应的所有群组级别的第二组组播规则。

其中,第二组组播规则包括:第二pdr规则和第二far规则;第五pdr规则和第五far规则

需要说明的是,因为虚拟网络群组中的成员可能为多个,则选中的upf也可能是多个,多个upf之间是建议共用的一个n6gtp-u隧道。

当至少两个组播内部接口包括第二组播内部接口时,至少两组组播规则包括:与第二组播内部接口对应的每个组播组的群组级别的第三组组播规则,第三组组播规则用于转发来自第四参考点n19的组播数据包,上述步骤1402、步骤1404和步骤1406可实现成为如下步骤,如图17所示:

步骤1402c,生成与第二组播内部接口对应的每个组播组的群组级别的第三组组播规则;

其中,第三组组播规则用于转发来自第四参考点n19的组播数据包;

步骤1404c1,对于组播组对应的每个upf中的第一upf,确定第一upf上的本地组播组成员对应的组播地址列表和第二upf上的本地组播组成员对应的组播地址列表的交集;

步骤1404c2,将交集对应的所有群组级别的第三组组播规则,确定为第一upf和第二upf中需要的组播规则,第二upf是组播组对应的每个upf中除第一upf之外的upf;

步骤1406c,在交集发生改变时,向第一upf和第二upf分别配置交集对应的所有群组级别的第三组组播规则。

当该交集发生改变(新增ue或删除ue)时,upf向第一upf和第二upf分别配置交集对应的所有群组级别的第三组组播规则。

其中,第三组组播规则包括:第三pdr规则和第三far规则;第六pdr规则和第六far规则。

当至少两个组播内部接口包括第三组播内部接口时,至少两组组播规则包括:与第三组播内部接口对应的每个组播组的群组级别的第四组组播规则,第四组组播规则用于转发来自第四参考点n19的组播数据包,上述步骤1402、步骤1404和步骤1406可实现成为如下步骤,如图18所示:

步骤1402c,生成与第三组播内部接口对应的每个组播组的群组级别的第四组组播规则;

其中,第四组组播规则用于转发来自第四参考点n19的组播数据包;

步骤1404c1,对于组播组对应的每个upf中的第一upf,确定第一upf上的本地组播组成员对应的组播地址列表和第二upf上的本地组播组成员对应的组播地址列表的交集;

步骤1404c2,将交集对应的所有群组级别的第四组组播规则,确定为第一upf和第二upf中需要的组播规则,第二upf是组播组对应的每个upf中除第一upf之外的upf;

步骤1406c,在交集发生改变时,向第一upf和第二upf分别配置交集对应的所有群组级别的第四组组播规则。

当该交集发生改变(新增ue或删除ue)时,upf向第一upf和第二upf分别配置交集对应的所有群组级别的第四组组播规则。

其中,第四组组播规则包括:第七pdr规则和第七far规则;第八pdr规则和第八far规则。

需要说明的是,负责将n6,n19接收到的组播数据包发送到组播内部接口,以及从组播内部接口发出的数据转发给n6,n19的pdr,far,是虚拟网络群组所使用的组级别的4个n4会话,即是独立于每个ue的n4会话(一个ue建立一个pdu会话就有一个pdu会话级别的n4会话),也就是这4个n4会话是所有虚拟网络群组成员都共同使用的n4会话(功能相当于这4个会话要被虚拟网络群组的所有成员来使用,但无需单独为每个成员来定义)。

在一个示例性的例子中,图19示出了ue请求的pdu会话建立的流程图(用于非漫游和本地疏导漫游场景)。有关该图19的细节描述可参考3gpp中的标准23.502中的附图4.3.2.2.2的描述,本文不再赘述。

针对图15所示出的配置过程,虚拟网络群组中的每个ue都需要建立一个pdu会话。针对虚拟网络群组中的每个ue,smf可以在步骤10a的n4会话过程中“也即smf向upf发送的n4会话建立/修改请求中”,将第一组组播规则(第一pdr规则、第一far规则、第四pdr规则和第四far规则)配置到upf中。

针对图16所示出的配置过程,smf可以在步骤8的“upf选择过程”中,将群组级别的n6接口相关的第二组组播规则(第二pdr规则、第二far规则、第五pdr规则和第五far规则)下发到相应的upf中。

针对图17所示出的配置过程,smf可以在步骤8的“upf选择过程”中,将群组级别的n19接口相关的第三组组播规则(第三pdr规则、第三far规则、第六pdr规则和第六far规则)下发到相应的upf中。

针对图18所示出的配置过程,smf可以在步骤8的“upf选择过程”中,将群组级别的n19接口相关的第四组组播规则(第七pdr规则、第七far规则、第八pdr规则和第八far规则)下发到相应的upf中。

在一个示例性的例子中,图20示出了ue请求的pdu会话建立的流程图(用于归属路由漫游场景)。针对图15或图16或图17或图18所示出的配置过程,是在图20中的步骤10“upf选择过程”以及步骤12a“n4会话创建请求”中执行的,而非步骤4“upf选择过程”和步骤5“n4会话创建请求”中执行。有关该图18的细节描述可参考3gpp中的标准23.502中的附图4.3.2.2.2-1的描述,本文不再赘述。

上述第一种实现方式和第二种实现方式中,pdr规则和far规则中包含有组播地址列表。当组播地址列表发生改变(增加、修改或删除)时,相应的pdr规则和far规则全部需要修改。

第一组组播规则包括第一组播地址列表,当第一组播地址列表中的组播地址发生新增、修改或删除时,将组播组中的每个组播组成员对应的upf更新第一组播地址列表。

第二组组播规则包括第二组播地址列表,当第二组播地址列表中的组播地址发生新增、修改或删除时,重新确定需要第二组组播规则的upf;向需要第二组组播规则的upf更新第二组播地址列表。

第三组组播规则包括第三组播地址列表,当第三组播地址列表中的组播地址发生新增、修改或删除时,重新确定需要第三组组播规则的upf;向需要第三组组播规则的upf更新第三组播地址列表。

第四组组播规则包括第三组播地址列表,当第三组播地址列表中的组播地址发生新增、修改或删除时,重新确定需要第四组组播规则的upf;向需要第四组组播规则的upf更新第三组播地址列表。

或者,

第一组组播规则包括第一vid列表,当第一vid列表中的组播地址发生新增、修改或删除时,将组播组中的每个组播组成员对应的upf更新第一vid列表。

第二组组播规则包括第二vid列表,当第二vid列表中的组播地址发生新增、修改或删除时,重新确定需要第二组组播规则的upf;向需要第二组组播规则的upf更新第二vid列表。

第三组组播规则包括第三vid列表,当第三vid列表中的组播地址发生新增、修改或删除时,重新确定需要第三组组播规则的upf;向需要第三组组播规则的upf更新第三vid列表。

第四组组播规则包括第三vid列表,当第三vid列表中的组播地址发生新增、修改或删除时,重新确定需要第四组组播规则的upf;向需要第四组组播规则的upf更新第三vid列表。

图21示出了ue或网络请求的pdu会话修改的流程图(用于非漫游和本地突破漫游场景)。smf修改组播地址列表的过程,可以在步骤2a“n4会话创建/修改请求”、步骤8a“n4会话修改请求”和步骤12a“n4会话修改请求”中的任一步骤中执行。有关图21的细节描述可参考3gpp中的标准23.502中的附图4.3.2.2.2的描述,本文不再赘述。

图22示出了ue或网络请求的pdu会话修改的流程图(用于归属路由漫游场景)。smf修改组播地址列表的过程,可以在h-smf和h-upf之间的步骤16a“n4会话修改请求”中执行。有关图22的细节描述可参考3gpp中的标准23.502中的附图4.3.2.2.2-1的描述,本文不再赘述。

针对ue从一个upf移动到另一个upf的场景:

当一个组播组成员从一个upf移动到另一upf时,将组播组成员对应的第一组组播规则在另一upf上新建或重定位的pdu会话上运行。

在一个可选的实施例中,上述方法还包括:

当一个组播组成员从第一upf移动到第三upf时,计算第三upf上的本地组播组成员所属组播组的组播地址列表的合集,将合集对应的所有群组级别的第二组组播规则,确定为第三upf中需要的组播规则。

在一个可选的实施例中,上述方法还包括:

当一个组播组成员从第一upf移动到第四upf时,计算第四upf上的本地组播组成员对应的组播地址列表和第五upf上的本地组播组成员对应的组播地址列表的交集;将交集对应的所有群组级别的第三组组播规则,确定为第四upf和第五upf中需要的组播规则,第五upf是组播组对应的每个upf中除第四upf之外的upf;

在交集发生改变时,向第四upf和第五upf分别配置交集对应的所有群组级别的第三组组播规则。

在一个可选的实施例中,上述方法还包括:

当一个组播组成员从第一upf移动到第六upf时,计算第六upf上的本地组播组成员对应的组播地址列表和第七upf上的本地组播组成员对应的组播地址列表的交集;将交集对应的所有群组级别的第四组组播规则,确定为第六upf和第七upf中需要的组播规则,第七upf是组播组对应的每个upf中除第六upf之外的upf;

在交集发生改变时,向第六upf和第七upf分别配置交集对应的所有群组级别的第四组组播规则。

上述四个步骤的执行先后顺序不限,且每个步骤可以互相独立执行,本申请实施例对此不加以限定。

以下为本申请实施例的装置实施例,对于装置实施例中未详细描述的细节,可以参考上述方法实施例。

图23示出了本申请一个示例性实施例提供的一种虚拟网络群组的组播组的组播装置的框图。该装置可以实现成为用户平面功能upf的一部分。该装置包括:

接收模块2320,用于接收所述虚拟网络群组的一个成员发送的组播数据包,所述组播数据包的目的地址是组播地址;

发送模块2340,用于将所述组播数据包发送至至少两个组播内部接口中的目标组播内部接口,通过所述目标组播内部接口将所述组播数据包发送至所述虚拟网络群组的全部成员或全部本地组播组成员。其中,所述组播组是所述虚拟网络群组中的常规组播组,或者,所述组播组是采用虚拟局域网标识vid标识的组,所述组播组成员是vid成员,所述组播数据包是所述vid的广播地址。

在一个可选的实施例中,所述至少两个组播内部接口包括:第一组播内部接口和第二组播内部接口;

发送模块2340,用于当所述组播数据包是来自第一参考点或第二参考点的组播数据时,将所述组播数据包发送至所述第一组播内部接口,通过所述第一组播内部接口将所述组播数据包从所述组播组中每个组播组成员分别对应的所述第一参考点或所述第二参考点或第三参考点或第四参考点,发送至所述组播组的全部组播组成员;

发送模块2340,用于当所述组播数据包是来自所述第三参考点或所述第四参考点的组播数据时,将所述组播数据包发送至所述第二组播内部接口,通过所述第二组播内部接口将所述组播数据包从所述组播组中在所述upf的每个本地组播组成员分别对应的所述第一参考点或所述第二参考点,发送至所述组播组的全部本地组播组成员;

其中,所述第一参考点是接入网和所述upf之间的参考点,所述第二参考点是所述upf和内部upf之间的参考点,所述第三参考点是所述upf和数据网络之间的参考点,所述第四参考点是所述upf和其它psaupf之间的参考点。

在一个可选的实施例中,所述至少两个组播内部接口包括:第一组播内部接口、第二组播内部接口和第三组播内部接口;

发送模块2340,用于当所述组播数据包是来自第一参考点或第二参考点的组播数据时,将所述组播数据包发送至所述第一组播内部接口,通过所述第一组播内部接口将所述组播数据包从所述组播组中每个组播组成员分别对应的所述第一参考点或所述第二参考点或第三参考点或第四参考点,发送至所述组播组的全部组播组成员;

发送模块2340,用于当所述组播数据包是来自所述第三参考点的组播数据时,将所述组播数据包发送至所述第二组播内部接口,通过所述第二组播内部接口将所述组播数据包从所述组播组中在所述upf的每个本地组播组成员分别对应的所述第一参考点或所述第二参考点,发送至所述组播组的全部本地组播组成员;

发送模块2340,用于当所述组播数据包是来自所述第四参考点的组播数据时,将所述组播数据包发送至所述第三组播内部接口,通过所述第三组播内部接口将所述组播数据包从所述组播组中在所述upf本地的每个本地组播组成员分别对应的所述第一参考点或所述第二参考点,发送至所述组播组的全部本地组播组成员;

其中,所述第一参考点是接入网和所述upf之间的参考点,所述第二参考点是所述upf和内部upf之间的参考点,所述第三参考点是所述upf和数据网络之间的参考点,所述第四参考点是所述upf和其它psaupf之间的参考点。

在一个可选的实施例中,所述upf中设置有与所述组播组中的组播组成员对应的第一pdr规则和第一far规则;

发送模块2340,用于通过所述第一pdr规则检测到所述组播数据包是来自所述第一参考点或所述第二参考点的组播数据时,通过所述第一far规则将所述组播数据包发送至所述第一组播内部接口。

在一个可选的实施例中,所述第一组播内部接口为一个,所述第一pdr规则包括:源接口设置为接入侧,目标地址设置为所述组播组成员所属的第一组播地址列表,核心网隧道信息设置为协议数据单元pdu会话的所述第一参考点或所述第二参考点的隧道头;所述第一far规则包括:目标接口设置为所述第一组播内部接口;

或,

所述第一组播内部接口为m个,第i个第一组播内部接口对应所述第一组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第一pdr规则包括:源接口设置为接入侧,目标地址设置为所述第i个组播地址,核心网隧道信息设置为pdu会话的所述第一参考点或所述第二参考点的隧道头;所述第一far规则包括:目标接口设置为所述第i个第一组播内部接口,m为正整数,i为不大于m的整数;

或,

所述第一组播内部接口为一个,所述第一pdr规则包括:源接口设置为接入侧,目标地址设置为所述vid成员所属的第一vid列表以及广播地址,核心网隧道信息设置为pdu会话的所述第一参考点或所述第二参考点的隧道头;所述第一far规则包括:目标接口设置为所述第一组播内部接口;

或,

所述第一组播内部接口为m个,第i个第一组播内部接口对应所述第一vid列表中的第i个vid,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第一pdr规则包括:源接口设置为接入侧,目标地址设置为所述第i个vid以及广播地址,核心网隧道信息设置为pdu会话的所述第一参考点或所述第二参考点的隧道头;所述第一far规则包括:目标接口设置为所述第i个第一组播内部接口,m为正整数,i为不大于m的整数。

在一个可选的实施例中,所述组播数据包中的组播地址是所述第一组播地址列表中的一个组播地址;或,所述组播数据包中的组播地址是所述第一vid列表中的一个vid。

在一个可选的实施例中,当所述upf需要接收来自所述第三参考点的组播数据时,所述upf中设置有与组级别会话对应的第二pdr规则和第二far规则,所述组级别会话是所述upf和smf之间的会话;

发送模块2340,用于通过所述第二pdr规则检测到所述组播数据包是来自所述第三参考点的组播数据时,通过所述第二far规则将所述组播数据包发送至所述第二组播内部接口。

在一个可选的实施例中,所述第二组播内部接口为一个,所述第二pdr规则包括:源接口设置为核心侧,目标地址设置为第二组播地址列表;所述第二far规则包括:目标接口设置为所述第二组播内部接口;

或,

所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第二组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第二pdr规则包括:源接口设置为核心侧,目标地址设置为所述第i个组播地址;所述第二far规则包括:目标接口设置为所述第i个第二组播内部接口,m为正整数,i为不大于m的整数;

或,

所述第二组播内部接口为一个,所述第二pdr规则包括:源接口设置为核心侧,目标地址设置为所述vid成员所属的第二vid列表以及广播地址;所述第二far规则包括:目标接口设置为所述第二组播内部接口;

或,

所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第二vid列表中的第i个vid,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第二pdr规则包括:源接口设置为核心侧,目标地址设置为所述第i个vid以及广播地址;所述第二far规则包括:目标接口设置为所述第i个第二组播内部接口,m为正整数,i为不大于m的整数。

在一个可选的实施例中,所述第二组播地址列表是所述虚拟网络群组中全部组播组的组播地址列表;或,所述第二组播地址列表是所述第一upf的全部本地组播组成员所属组播组的组播地址列表的合集;或,所述第二vid列表是所述虚拟网络群组中全部vid的vid列表;或,所述第二vid列表是所述第一upf的全部本地vid成员所属的vid列表的合集。

在一个可选的实施例中,当所述upf需要接收来自所述第四参考点的组播数据时,所述upf中设置有与组级别会话对应的第三pdr规则和第三far规则,所述组级别会话是所述upf和smf之间的会话;

发送模块2340,用于通过所述第三pdr规则检测到所述组播数据包是来自所述第四参考点的组播数据时,通过所述第三far规则将所述组播数据包发送至所述第二组播内部接口。

在一个可选的实施例中,所述第二组播内部接口为一个,所述第三pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表,核心网隧道信息设置为第四参考点隧道头;所述第三far规则包括:目标接口设置为所述第二组播内部接口;

或,

所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第三组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第三pdr规则包括:源接口设置为核心侧,目标地址设置为所述第i个组播地址列表,核心网隧道信息设置为第四参考点隧道头;所述第三far规则包括:目标接口设置为所述第i个第二组播内部接口,m为正整数,i为不大于m的整数;

或,

所述第二组播内部接口为一个,所述第三pdr规则包括:源接口设置为核心侧,目标地址设置为所述vid成员所属的第三vid列表以及广播地址,核心网隧道信息设置为第四参考点隧道头;所述第三far规则包括:目标接口设置为所述第二组播内部接口;

或,

所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第三vid列表以及广播地址中的第i个vid以及广播地址,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第三pdr规则包括:源接口设置为核心侧,目标地址设置为所述第i个vid以及广播地址,核心网隧道信息设置为第四参考点隧道头;所述第三far规则包括:目标接口设置为所述第i个第二组播内部接口,m为正整数,i为不大于m的整数。

在一个可选的实施例中,所述第三组播地址列表是所述虚拟网络群组中全部组播组的组播地址列表;或,所述第三组播地址列表是所述第一upf的本地组播组成员所属组播组的组播地址列表和第二upf的本地组播组成员所属组播组的组播地址列表的交集,所述第二upf是通过所述第四参考点与所述第一upf相连;或,所述第三vid列表是所述虚拟网络群组中全部vid的vid列表;或,所述第三vid列表是所述第一upf的本地vid成员所属的vid列表和第二upf的本地vid成员所属的vid列表的交集,所述第二upf是通过所述第四参考点与所述第一upf相连。

在一个可选的实施例中,所述upf中设置有与所述组播组中的组播组成员对应的第四pdr规则和第四far规则;

发送模块2340,用于通过所述第四pdr规则检测到所述组播数据包是来自所述第一组播内部接口的组播数据时,通过所述第四far规则将所述组播数据包从所述组播组的每个组播组成员分别对应的所述第一参考点或所述第二参考点或所述第三参考点或所述第四参考点,发送至所述组播组的全部组播组成员。

在一个可选的实施例中,所述第一组播内部接口为一个,所述第四pdr规则包括:源端口设置为所述第一组播内部接口,目标地址为所述组播组成员所属的第一组播地址列表;所述第四far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;或,所述第四far规则还包括:外部头创建指示所述第三参考点的信息,目标接口为核心侧;或,所述第四far规则还包括:外部头创建指示所述第四参考点的隧道信息,目标接口为核心侧;

或,

所述第一组播内部接口为m个,第i个第一组播内部接口对应所述第一组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址;所述第四pdr规则包括:源端口设置为所述第i个第一组播内部接口,目标地址为所述第i个组播地址;所述第四far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;或,所述第四far规则还包括:外部头创建指示所述第三参考点的信息,目标接口为核心侧;或,所述第四far规则还包括:外部头创建指示所述第四参考点的隧道信息,目标接口为核心侧;

或,

所述第一组播内部接口为一个,所述第四pdr规则包括:源端口设置为所述第一组播内部接口,目标地址为所述vid成员所属的第一vid列表以及广播地址;所述第四far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;或,所述第四far规则还包括:外部头创建指示所述第三参考点的信息,目标接口为核心侧;或,所述第四far规则还包括:外部头创建指示所述第四参考点的隧道信息,目标接口为核心侧;

或,

所述第一组播内部接口为m个,第i个第一组播内部接口对应所述第一vid列表中的第i个vid,所述第i个vid以及广播地址是所述组播数据包中的组播地址;所述第四pdr规则包括:源端口设置为所述第i个第一组播内部接口,目标地址为所述第i个vid以及广播地址;所述第四far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;或,所述第四far规则还包括:外部头创建指示所述第三参考点的信息,目标接口为核心侧;或,所述第四far规则还包括:外部头创建指示所述第四参考点的隧道信息,目标接口为核心侧;

其中,m为正整数,i为不大于m的整数。

在一个可选的实施例中,当所述upf需要接收来自第三参考点的组播数据时,所述upf中设置有与组级别会话对应的第五pdr规则和第五far规则;所述组级别会话是所述upf和smf之间的会话;

发送模块2340,用于通过所述第五pdr规则检测到所述组播数据包是所述第二组播内部接口的组播数据时,通过所述第五far规则将所述组播数据包,从所述组播组中在所述upf的每个本地组播组成员分别对应的所述第一参考点或所述第二参考点,发送至所述组播组的全部本地组播组成员。

在一个可选的实施例中,所述第二组播内部接口为一个,所述第五pdr规则包括:源端口设置为所述第二组播内部接口,目标地址为所述vid的第二组播地址列表;所述第五far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;

或,所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第二组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第五pdr规则包括:源端口设置为所述第i个第二组播内部接口,目标地址为第i个组播地址;所述第五far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧,m为正整数,i为不大于m的整数;

或,所述第二组播内部接口为一个,所述第五pdr规则包括:源端口设置为所述第二组播内部接口,目标地址为所述vid成员所属vid的第二vid列表以及广播地址;所述第五far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;

或,所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第二vid列表以及广播地址的第i个vid以及广播地址,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第五pdr规则包括:源端口设置为所述第i个第二组播内部接口,目标地址为第i个vid以及广播地址;所述第五far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧,m为正整数,i为不大于m的整数。

在一个可选的实施例中,当所述upf需要接收来自第四参考点的组播数据时,所述upf中设置有与组级别会话对应的第六pdr规则和第六far规则;所述组级别会话是所述upf和smf之间的会话;

发送模块2340,用于通过所述第六pdr规则检测到所述组播数据包是所述第二组播内部接口的组播数据时,通过所述第六far规则将所述组播数据包,从所述组播组中在所述upf的每个本地组播组成员分别对应的所述第一参考点或所述第二参考点,发送至所述组播组的全部本地组播组成员。

在一个可选的实施例中,所述第二组播内部接口为一个,所述第六pdr规则包括:源端口设置为所述第二组播内部接口,目标地址为第三组播地址列表;所述第六far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;

或,

所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第三组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第六pdr规则包括:源端口设置为所述第i个第二组播内部接口,目标地址为第i个组播地址;所述第六far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧,m为正整数,i为不大于m的整数;

或,

所述第二组播内部接口为一个,所述第六pdr规则包括:源端口设置为所述第二组播内部接口,目标地址为所述vid成员所属的第三vid列表以及广播地址;所述第六far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧;

或,

所述第二组播内部接口为m个,第i个第二组播内部接口对应所述第三vid列表中的第i个vid,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第六pdr规则包括:源端口设置为所述第i个第二组播内部接口,目标地址为所述第i个vid以及广播地址;所述第六far规则包括:外部头创建指示所述第一参考点或所述第二参考点的隧道信息,目标接口为接入侧,m为正整数,i为不大于m的整数。

在一个可选的实施例中,当所述upf需要接收来自第四参考点的组播数据时,所述upf中设置有与组级别会话对应的第七pdr规则和第七far规则,所述组级别会话是所述upf和smf之间的会话;

发送模块2340,用于通过所述第七pdr规则检测到所述组播数据包是来自所述第四参考点的组播数据时,通过所述第七far规则将所述组播数据包发送至所述第三组播内部接口。

在一个可选的实施例中,所述第三组播内部接口为一个,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第三组播内部接口;

或,所述第三组播内部接口为m个,第i个第三组播内部接口对应所述第三组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为第i个组播地址,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第i个第三组播内部接口,m为正整数,i为不大于m的整数;

或,所述第三组播内部接口为一个,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为所述vid成员所属的vid的第三vid列表以及广播地址,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第三组播内部接口;

或,所述第三组播内部接口为m个,第i个第三组播内部接口对应所述第三vid列表以及广播地址中的第i个vid以及广播地址,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为第i个vid以及广播地址,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第i个第三组播内部接口,m为正整数,i为不大于m的整数。

在一个可选的实施例中,当所述upf需要接收来自第四参考点的组播数据时,所述upf中设置有与组级别会话对应的第八pdr规则和第八far规则;所述组级别会话是所述upf和smf之间的会话;

发送模块2340,用于通过所述第八pdr规则检测到所述组播数据包是所述第三组播内部接口的组播数据时,通过所述第八far规则将所述组播数据包,从所述组播组中在所述upf的每个本地组播组成员分别对应的所述第一参考点或所述第二参考点,发送至所述组播组的全部本地组播组成员。

在一个可选的实施例中,所述第三组播内部接口为一个,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为第三组播地址列表,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第三组播内部接口;

或,

所述第三组播内部接口为m个,第i个第三组播内部接口对应所述第三组播地址列表中的第i个组播地址,所述第i个组播地址是所述组播数据包中的组播地址,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为第i个组播地址,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第i个第三组播内部接口,m为正整数,i为不大于m的整数;

或,

所述第三组播内部接口为一个,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为所述vid成员所属的的第三vid列表以及广播地址,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第三组播内部接口;

或,

所述第三组播内部接口为m个,第i个第三组播内部接口对应所述第三vid列表中的第i个vid,所述第i个vid以及广播地址是所述组播数据包中的组播地址,所述第七pdr规则包括:源接口设置为核心侧,目标地址设置为所述第i个vid以及广播地址,核心网隧道信息设置为第四参考点隧道头;所述第七far规则包括:目标接口设置为所述第i个第三组播内部接口,m为正整数,i为不大于m的整数。

图23示出了本申请一个示例性实施例提供的一种虚拟网络群组的组播装置的框图。该装置可以实现成为会话管理功能smf的一部分。该装置包括:

生成模块2320,用于生成至少两个组播内部接口对应的至少两组组播规则;

确定模块2330,用于在所述至少两组组播规则中,确定所述组播组对应的每个upf上需要的组播规则;所述组播组是所述虚拟网络群组中的常规组播组,或者,所述组播组是采用vid标识的组;

配置模块2340,用于向所述每个upf配置需要的所述组播规则;

在一个可选的实施例中,所述至少两个组播内部接口包括:第一组播内部接口;所述至少两组组播规则包括:每个组播组成员的与所述第一组播内部接口对应的第一组组播规则;

确定模块2330,用于对于每个组播组成员所属的upf,确定为需要所述第一组组播规则的upf;

配置模块2340,用于在所述每个组播组成员建立协议数据单元pdu会话的过程中,向所述每个组播组成员所属的upf配置所述第一组组播规则。

在一个可选的实施例中,所述第一组组播规则包括:

第一pdr规则和第一far规则;

第四pdr规则和第四far规则。

在一个可选的实施例中,所述至少两个组播内部接口包括:第二组播内部接口,所述组播规则包括:与所述第二组播内部接口对应的群组级别的第二组组播规则,所述第二组组播规则用于转发来自第三参考点的组播数据包;

确定模块2330,用于对于所述组播组对应的每个upf中的第一upf,根据所述第一upf上的本地组播组成员所属组播组的组播地址列表的合集,将所述合集对应的所有群组级别的第二组组播规则,确定为所述第一upf中需要的组播规则;

配置模块2340,用于在所述合集发生改变时,向所述第一upf配置所述组播地址列表的合集对应的所有群组级别的第二组组播规则。

在一个可选的实施例中,所述第二组组播规则包括:

第二pdr规则和第二far规则;

第五pdr规则和第五far规则。

在一个可选的实施例中,所述至少两个组播内部接口包括:第二组播内部接口,所述组播规则包括:与所述第二组播内部接口对应的群组级别的第三组组播规则,所述第三组组播规则用于转发来自第四参考点的组播数据包;

确定模块2330,用于对于所述组播组对应的每个upf中的第一upf,确定所述第一upf上的本地组播组成员对应的组播地址列表和第二upf上的本地组播组成员对应的组播地址列表的交集;将所述交集对应的所有群组级别的第三组组播规则,确定为所述第一upf和所述第二upf中需要的组播规则,所述第二upf是所述组播组对应的每个upf中除所述第一upf之外的upf;

配置模块2340,用于在所述交集发生改变时,向所述第一upf和所述第二upf分别配置所述交集对应的所有群组级别的第三组组播规则。

在一个可选的实施例中,所述第三组组播规则包括:

第三pdr规则和第三far规则;

第六pdr规则和第六far规则。

在一个可选的实施例中,所述至少两个组播内部接口包括:第三组播内部接口,所述组播规则包括:与所述第三组播内部接口对应的群组级别的第四组组播规则,所述第四组组播规则用于转发来自第四参考点的组播数据包;

确定模块2330,用于对于所述组播组对应的每个upf中的第一upf,确定所述第一upf上的本地组播组成员对应的组播地址列表和第二upf上的本地组播组成员对应的组播地址列表的交集;将所述交集对应的所有群组级别的第四组组播规则,确定为所述第一upf和所述第二upf中需要的组播规则,所述第二upf是所述组播组对应的每个upf中除所述第一upf之外的upf;

配置模块2340,用于在所述交集发生改变时,向所述第一upf和所述第二upf分别配置所述交集对应的所有群组级别的第四组组播规则。

在一个可选的实施例中,所述第四组组播规则包括:

第七pdr规则和第七far规则;

第八pdr规则和第八far规则。

在一个可选的实施例中,所述第一组组播规则包括第一组播地址列表:

配置模块2340,用于当所述第一组播地址列表中的组播地址发生新增、修改或删除时,将所述组播组中的每个组播组成员对应的upf更新所述第一组播地址列表。

在一个可选的实施例中,所述第二组组播规则包括第二组播地址列表:

配置模块2340,用于当所述第二组播地址列表中的组播地址发生新增、修改或删除时,重新确定需要所述第二组组播规则的upf;向需要所述第二组组播规则的upf更新所述第二组播地址列表。

在一个可选的实施例中,所述第三组组播规则包括第三组播地址列表:

配置模块2340,用于当所述第三组播地址列表中的组播地址发生新增、修改或删除时,重新确定需要所述第三组组播规则的upf;向需要所述第三组组播规则的upf更新所述第三组播地址列表。

在一个可选的实施例中,所述第四组组播规则包括第三组播地址列表:

配置模块2340,用于当所述第三组播地址列表中的组播地址发生新增、修改或删除时,重新确定需要所述第四组组播规则的upf;向需要所述第四组组播规则的upf更新所述第三组播地址列表。

在一个可选的实施例中,所述第一组组播规则包括第一vid列表:

配置模块2340,用于当所述第一vid列表中的vid发生新增、修改或删除时,将所述组播组中的每个组播组成员对应的upf更新所述第一vid列表。

在一个可选的实施例中,所述第二组组播规则包括第二vid列表:

配置模块2340,用于当所述第二vid列表中的vid发生新增、修改或删除时,重新确定需要所述第二组组播规则的upf;向需要所述第二组组播规则的upf更新所述第二vid列表。

在一个可选的实施例中,所述第三组组播规则包括第三vid列表:

配置模块2340,用于当所述第三vid列表中的vid发生新增、修改或删除时,重新确定需要所述第三组组播规则的upf;向需要所述第三组组播规则的upf更新所述第三vid列表。

在一个可选的实施例中,所述第四组组播规则包括第三vid列表:

配置模块2340,用于当所述第三vid列表中的vid发生新增、修改或删除时,重新确定需要所述第四组组播规则的upf;向需要所述第四组组播规则的upf更新所述第三vid列表。

在一个可选的实施例中,所述装置还包括:

配置模块2340,用于当一个组播组成员从一个upf移动到另一upf时,将所述组播组成员对应的所述第一组组播规则在所述另一upf上新建或重定位的pdu会话上运行。

在一个可选的实施例中,所述装置还包括:

配置模块2340,用于当一个组播组成员从所述第一upf移动到第三upf时,计算所述第三upf上的本地组播组成员所属组播组的组播地址列表的合集,将所述合集对应的所有群组级别的第二组组播规则,确定为所述第三upf中需要的组播规则;向所述第三upf配置所述合集对应的所有群组级别的第二组组播规则。

在一个可选的实施例中,所述装置还包括:

配置模块2340,用于当一个组播组成员从所述第一upf移动到第四upf时,计算所述第四upf上的本地组播组成员对应的组播地址列表和第五upf上的本地组播组成员对应的组播地址列表的交集;将所述交集对应的所有群组级别的第三组组播规则,确定为所述第四upf和所述第五upf中需要的组播规则,所述第五upf是所述组播组对应的每个upf中除所述第四upf之外的upf;在所述交集发生改变时,向所述第四upf和所述第五upf分别配置所述交集对应的所有群组级别的第三组组播规则。

在一个可选的实施例中,所述装置还包括:

配置模块2340,用于当一个组播组成员从所述第一upf移动到第六upf时,计算所述第六upf上的本地组播组成员对应的组播地址列表和第七upf上的本地组播组成员对应的组播地址列表的交集;将所述交集对应的所有群组级别的第四组组播规则,确定为所述第六upf和所述第七upf中需要的组播规则,所述第七upf是所述组播组对应的每个upf中除所述第六upf之外的upf;在所述交集发生改变时,向所述第六upf和所述第七upf分别配置所述交集对应的所有群组级别的第四组组播规则。

图25示出了本申请一个示例性实施例提供的一种计算机设备的框图。具体来讲:所述计算机设备2500包括中央处理单元(cpu)2501、包括随机存取存储器(ram)2502和只读存储器(rom)2503的系统存储器2504,以及连接系统存储器2504和中央处理单元2501的系统总线2505。所述计算机设备2500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)2506,和用于存储操作系统2513、应用程序2514和其他程序模块2515的大容量存储设备2507。

所述基本输入/输出系统2506包括有用于显示信息的显示器2508和用于用户输入信息的诸如鼠标、键盘之类的输入设备2509。其中所述显示器2508和输入设备2509都通过连接到系统总线2505的输入输出控制器2510连接到中央处理单元2501。所述基本输入/输出系统2506还可以包括输入输出控制器2510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器2510还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备2507通过连接到系统总线2505的大容量存储控制器(未示出)连接到中央处理单元2501。所述大容量存储设备2507及其相关联的计算机可读介质为计算机设备2500提供非易失性存储。也就是说,所述大容量存储设备2507可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器2504和大容量存储设备2507可以统称为存储器。

存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元2501执行,一个或多个程序包含用于实现上述虚拟网络群组的组播方法的指令,中央处理单元2501执行该一个或多个程序实现上述各个方法实施例提供的虚拟网络群组的组播组的组播方法。

根据本申请的各种实施例,所述计算机设备2500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备2500可以通过连接在所述系统总线2505上的网络接口单元2511连接到网络2512,或者说,也可以使用网络接口单元2511来连接到其他类型的网络或远程计算机系统(未示出)。

在一个示例中,所述计算机设备上运行有用户平面功能,所述计算机设备包括:处理器和存储器;所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

在一个示例中,所述计算机设备上运行有会话管理功能,所述计算机设备包括:处理器和存储器;所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟网络群组的组播组的组播方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1