本发明用于5g通信领域,特别用于区分用户优先级的数据传输业务,具体涉及一种基于pcf的用户优先级策略统一下发方法。
背景技术:
1、tos:tos是ipv4报文头部的一个字节,用于表示ip报文的服务类型。tos值不同,则ip报文在网络中转发的优先级也不同。根据ipv4报文头的定义,tos可以定义8个优先级。
2、dscp:dscp重新命名了ipv4报文头中tos使用的那个字节以及ipv6报文头部的trafficclass字节,其作用与ipv4报文头中的tos一样,也是为了在网络中提供不同优先级的网络传输服务。
3、pccrule:3gpp 29.512协议中定义的用于策略与计费控制规则的信元。该信元通常包含服务数据流检查信息、策略控制信息、计费相关信息三大类信息。
4、flowinfomation:3gpp 29.512协议中定义的pccrule信元中包含的数据结构,该结构用于存储数据流过滤器相关的信息,可以在三层网络或四层网络中匹配符合过滤条件的数据流。
5、transport level marking:3gpp 29.244协议中定义的信元,用于表示数据包传输的优先级,该信元在pfcp报文的far中,用于upf给数据包打dscp标签所用。
6、sdf filter:3gpp 29.244协议中定义的信元,该信元在pfcp报文的pdi中,根据sdf中定义的过滤器,upf可以匹配到符合条件的数据包进行处理。
7、在5g核心网中,pcf负责策略下发的功能,udm负责维护用户签约数据,smf负责会话管理功能,upf负责数据处理业务。对于不同的用户,通过配置,可以实现不同的数据服务质量。在网络层,通过配置ip报文头部dscp标签的内容,可以使得数据包被路由器以一定的优先级进行转发,从而实现优先传输携带高优先级dscp的ip数据包。在5g核心网中,pcf、upf、smf可以根据这一原理协同配合,从而实现针对用户组的区分优先级服务。在pcf中,将用户和用户组绑定,并将用户组和配置了dscp值的规则进行绑定,经由smf转译成pdr并传递给upf,upf便可以从pdr中获取dscp,对规则限定的流进行打dscp标签的操作。根据协议描述,该dscp标签需要由控制面的smf进行配置。然而在现有协议中,并没有明确在pcf的smpolicydecision消息中定义dscp相关的数据结构。这就导致了pcf无法针对特定的用户组统一下发携带优先级信息的规则。为了解决这个问题,有必要设计一种由pcf统一下发先级策略的机制。
技术实现思路
1、本发明为了解决现有技术存在的问题,提出了一种基于pcf的用户优先级策略统一下发方法。
2、本发采用的技术方案为:
3、一种基于pcf的用户优先级策略统一下发方法,包括以下步骤:
4、步骤1:会话建立之前,在pcf侧配置流过滤器,流过滤器包含数据流的起始地址的ip和端口号以及目标地址的ip和端口号,并对数据流采取的行为以及数据流ip报文头部的dscp值进行配置,然后将配置信息和对应的用户或用户组进行绑定;
5、步骤2:ue发起会话建立请求,经由amf转发至smf;smf收到用户建立会话的请求之后,向pcf发送策略关联请求消息,请求中携带用户身份相关的信息;
6、步骤3:pcf根据获得的用户身份信息,向udm请求获取用户签约信息,根据用户签约信息对发送会话请求的用户进行认证和策略判定,然后根据用户身份信息查询本地配置,识别用户所在的用户组以及绑定的本地配置信息,获取每条规则中所有的流过滤器信息,填充flowinformation结构中的flowdescription、packfiltid和flowdirection,并添加到flowinfos列表中,然后填入smpolicydecision中返回smf;其中,flowdescription为协议中用于描述流过滤器过滤条件的信元,packfiltid为flowinfomation的id标识的标准协议字段,flowdirection为表明过滤器方向的标准协议字段,包括上行、下行以及双向三种不同的方向,flowinfos为flowinformation数组,smpolicydecision为协议中用于向smf返回pcf所配置的策略信息的报文结构;
7、步骤4:smf收到pcf回应后,解析smpolicydecision,从中得到flowinfos数组,同时得到flowdscp;对于每一条规则,执行步骤5,直到所有规则均被处理之后,向upf发送pfcp session establishment request;pfcp session establishment request为协议中smf向upf发送会话建立请求消息的报文,报文中包含多个过滤规则单元pdr以及与pdr相关联的转发行为单元far,进入步骤6;
8、步骤5:smf解析规则中的flowinformation结构,获取结构中配置的流过滤器信息,若流过滤器为上行过滤器,则根据flowdescription中的过滤条件信息填充上行pdr中的sdf filter信元,并将flowdscp的内容填充至过滤规则单元pdr关联的上行far的transport level marking字段中;若过滤器为下行数据包过滤器,则填充过滤条件到下行pdr中的sdf filter信元,并将flowdscp的内容填充至pdr关联的下行far的transportlevel marking字段中;若过滤器为双向数据包过滤器,则在上行和下行pdr中均填充过滤条件到sdf filter信元,并将flowdscp分别填充到对应的上行和下行far中;smf将生成的pdr和far填入pfcp会话建立请求消息中发送至upf;其中,transport level marking为协议字段,用于在过滤到的ip报文头部打dscp标签;
9、步骤6:upf收到pfcp会话建立请求信息之后,从信息中获取pdr信息,并存储在本地。
10、进一步的,步骤3具体过程为:
11、步骤301:pcf从smf发来的策略关联请求中获取用户身份相关的信息,根据用户信息查询用户或用户组所绑定的本地规则,每条规则中有多个数据流过滤器,pcf将所有规则维持在一个待处理列表pcc rule中;
12、步骤302:判断待处理规则列表是否遍历完成,若已经完成,则结束本地规则处理过程,执行步骤308;若未完成,则继续进行步骤303;
13、步骤303:从待处理列表中取出一条规则,从中获取所有的流过滤器信息,并放入流过滤器列表中;
14、步骤304:判断待处理的流过滤器列表是否遍历完成,若遍历完成,则对应规则中的数据流过滤器已经处理完成,返回步骤302;否则,执行步骤305;
15、步骤305:从待处理的流过滤器列表中取出一条流过滤器信息,pcf提取流过滤器信息,填充flowinformation结构中的flowdescription、packfiltid和flowdirection信息,并添加到flowinfos列表中;
16、步骤306:判断pcf本地配置中是否对流过滤器配置dscp,若未配置,则将flowdscp字段置空,跳转到步骤304;否则,执行步骤307;
17、步骤307:将本地配置的dscp值填充到flowdscp中去,跳转到步骤304;
18、步骤308:完成对本地规则的处理之后,pcf将包括pcc rule在内的所有策略数据信息填入到smpolicydecision中,并传到smf。
19、本方案具有如下有益的技术效果:
20、本发明提供的基于pcf的用户级优先级策略统一下发机制,在需要差分数据服务的场景下,在原有3gpp协议的基础上,通过增加信元,使得同一用户级别的用户可以在pcf中统一配置dscp标签信息。这样,一方面,使得smf专注于会话管理功能,无需额外配置用户相关的策略信息。另一方面,使得pcf可以灵活的绑定用户信息和优先级信息,统一的下发用户级的优先级策略。