一种GTPU用户面数据转发的方法和装置与流程

文档序号:12613526阅读:806来源:国知局
一种GTPU用户面数据转发的方法和装置与流程

本发明实施例涉及通信领域,尤其涉及一种用户面通用分组无线业务隧道协议GTPU用户面数据转发的方法和装置。



背景技术:

时分长期演进(Time Division Long Term Evolution,简称TD-LTE)系统中,演进分组核心网(Evolved Packet Core,简称EPC)通过和多个演进型基站(Evolved NodeB,简称eNB)建立隧道进行用户面数据传输。为了减轻核心网的负担,在核心网和eNB之间引入了TD-LTE网关,通过TD-LTE网关管理多个eNB,主要负责核心网和eNB之间的信令和数据的汇聚和转发。当在eNB和核心网之间进行用户业务时,将用户面数据通过用户面通用分组无线业务隧道协议(General Packet Radio Service Tunnelling Protocol for the Userplane,简称GTPU)数据包的形式进行传输;例如语音业务,为了保证语音质量,通过GTPU数据包传输语音数据。

基于Linux操作系统的TD-LTE网关包括内核态和用户态;现有技术中的TD-LTE网关在用户态采用SOCKET方式收发包含用户面数据的GTPU数据包,一般接收和发送GTPU数据包都在内核态进行,用户态处理GTPU数据包。以eNB通过TD-LTE网关向核心网发送GTPU数据包为例:TD-LTE网关的操作系统的内核态接收到eNB发送的GTPU数据包,TD-LTE网关的操作系统的内核态将该GTPU数据包拷贝至用户态进行封装处理,并将用户态处理后的GTPU数据包拷贝至内核态,由内核态将处理后的GTPU数据包发送至核心网。这种收发GTPU数据包的方式会给内核态和用户态带来大量的用户面数据拷贝开销,造成用户面数据汇聚和转发的时延。

现有技术中,采用用户态和内核态共享缓存方式减少数据拷贝开销,但实现过于复杂,开发维护难度大。因此,亟需一种GTPU用户面数据转发的方法以减少用户面数据在用户态和内核态之间的拷贝开销,从而实现在基站和核心网之间快速汇聚和转发用户面数据。



技术实现要素:

本发明实施例提供一种用户面通用分组无线业务隧道协议GTPU用户面数据转发的方法和装置,用于减少用户面数据在用户态和内核态之间的拷贝开销,实现在基站和核心网之间快速汇聚和转发用户面数据。

本发明实施例提供一种用户面通用分组无线业务隧道协议GTPU用户面数据转发的方法,适用于包括基站、网关、核心网的时分长期演进TD-LTE系统,基站和核心网通过网关建立链接,网关的内核态上设置转发装置,该方法包括:转发装置接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识TEID;转发装置在确定待转发数据包为待转发GTPU数据包的情况下:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID;其中,若第一端为基站,则第二端为核心网;若第一端为核心网,则第二端为基站;转发装置将待转发数据包中的目的IP地址更新为待更新目的IP地址,将待转发数据包中的目的TEID更新为待更新目的TEID,得到更新后待转发数据包;转发装置向第二端发送更新后待转发数据包。

本发明实施例提供一种用于用户面通用分组无线业务隧道协议GTPU用户面数据转发装置,适用于包括基站、网关、核心网的时分长期演进TD-LTE系统,基站和核心网通过网关建立链接,网关的内核态上设置转发装置,转发装置包括:接收单元,用于接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识TEID;处理单元,用于在确定待转发数据包为待转发GTPU数据包的情况下:从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID;其中,若第一端为基站,则第二端为核心网;若第一端为核心网,则第二端为基站;将待转发数据包中的目的IP地址更新为待更新目的IP地址,将待转发数据包中的目的TEID更新为待更新目的TEID,得到更新后待转发数据包;发送单元,用于转发装置向第二端发送更新后待转发数据包。

本发明实施例中,基站和核心网通过网关建立链接,在网关的内核态上设置转发装置,由于TD-LTE系统中,基站和核心网之间的用户面数据通过GTPU数据包进行发送,转发装置接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识TEID;转发装置在确定待转发数据包为待转发GTPU数据包的情况下:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID;转发装置将待转发数据包中的目的IP地址更新为待更新目的IP地址,将待转发数据包中的目的TEID更新为待更新目的TEID,得到更新后待转发数据包;转发装置向第二端发送更新后待转发数据包;如此,一方面,网关的内核态上的转发装置接收到待转发数据包,直接在转发装置对待转发数据包进行更新,节省了将网关的内核态接收到的待转发数据拷贝至用户态进行更新的拷贝开销;另一方面,在网关的内核态的转发装置中得到更新后待转发数据包,直接在内核态进行发送,节省了从用户态将更新后待转发数据包拷贝至内核态进行发送的拷贝开销;从而实现了在基站和核心网之间的快速汇聚和转发用户面数据。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。

图1为本发明实施例提供的一种用户面通用分组无线业务隧道协议GTPU用户面数据转发系统架构示意图;

图2为本发明实施例提供的一种GTPU用户面数据转发的方法流程示意图;

图3为本发明实施例提供的网关的Linux内核Netfilter框架钩子函数管理点示意图;

图4为本发明实施例提供的基站和核心网通过网关建立RAB链接的示意图;

图5为本发明实施例提供的另一种GTPU用户面数据转发的方法流程示意图;

图6为本发明实施例提供的一种用于GTPU用户面数据转发装置结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1示例性示出了本发明实施例适用的一种用户面通用分组无线业务隧道协议GTPU用户面数据转发系统架构示意图,GTPU用户面数据转发系统包括核心网、网关和基站,核心网通过网关管理多个基站,核心网和多个基站之间可进行用户面数据传输,如图1所示,该系统架构100包括核心网101、网关102、基站103、基站104、基站105,转发装置106,核心网101和基站103通过网关102建立链接,转发装置106设置在网关102的内核态上,可选地,网关102通过S1接口功能与核心网101和基站103连接。可选地,核心网101、网关102和基站103之间建立安全隧道,用于转发用户面数据。可选地,核心网101为演进分组核心网EPC,网关102为基于NanoCell、Femto Cell、SmallCell架构的TD-LTE网关设备,基站为NanoCell、FemtoCell、SmallCell等布署的微型基站。

本发明实施例中,第一端向网关102内核态上的转发装置106发送待转发数据包,转发装置106将待转发数据包进行更新得到更新后待转发数据包,向第二端发送更新后待转发数据包,可选地,第一端为核心网101,第二端为基站103、基站104和基站105;或者,第一端为基站103、基站104和基站105,第二端为核心网101。

图2示例性示出了本发明实施例提供的一种用户面通用分组无线业务隧道协议GTPU用户面数据转发的方法流程示意图。

基于图1所示的系统架构,如图2所示,本发明实施例提供的一种用户面通用分组无线业务隧道协议GTPU用户面数据转发的方法,适用于包括基站、网关、核心网的时分长期演进TD-LTE系统,基站和核心网通过网关建立链接,网关的内核态上设置转发装置,该方法包括以下步骤:

步骤S201:转发装置接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识(Tunnel Endpoint Identifier,筒称TEID);

步骤S202:转发装置在确定待转发数据包为待转发GTPU数据包的情况下:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID;其中,若第一端为基站,则第二端为核心网;若第一端为核心网,则第二端为基站;

步骤S203:转发装置将待转发数据包中的目的IP地址更新为待更新目的IP地址,将待转发数据包中的目的TEID更新为待更新目的TEID,得到更新后待转发数据包;

步骤S204:转发装置向第二端发送更新后待转发数据包。

本发明实施例中,网关的内核态上设置转发装置,网关的操作系统可采用Linux系统,可选地,转发装置可设置在网关的Linux内核中Netfilter框架的关键点LOCAL_IN(B)处上,转发装置的功能可由注册在该关键点的钩子(Hook)函数实现。

图3示例性示出了本发明实施例提供的网关的Linux内核Netfilter框架钩子函数管理点示意图。

如图3所示,网关的Linux内核Netfilter框架中包括关键点PRE_ROUTING(A)304,关键点LOCAL_IN(B)302、Linux内核上层协议栈301、关键点LOCAL_OUT(D)303、关键点FORWARD(C)305、关键点POST_ROUTING(E)306,网关的Linux内核接收到待转发数据包;该待转发数据包从关键点PRE_ROUTING(A)304进入,经过路由判决,若待转发数据包中的目的IP地址是本机的IP地址,则该待转发数据包就经过关键点LOCAL_IN(B)302,往上层协议栈301继续传递,经过上层协议栈301处理,经过路由判决,确定该待转发数据包是从哪个物理接口发送出去,然后通过关键点LOCAL_OUT(D)303,从关键点POST_ROUTING(E)306将该包发送出去;若该待转发数据包目的IP地址不是本机的IP地址,则将该待转发数据包通过关键点FORWARD(C)305,从关键点POST_ROUTING(E)306将该待转发数据包转发出去。

本发明实施例中,可选地,设置在网关内核中的转发装置可通过在关键点LOCAL_IN(B)302处注册一个Hook函数,实现在核心网和基站之间的用户面数据转发功能。在待转发数据包的目的IP地址是本机的IP地址的情况下,转发装置接收到第一端发送的待转发数据包,通过转发装置对待转发数据包进行更新,再通过上层协议栈301、关键点LOCAL_OUT(D)303、关键点POST_ROUTING(E)306发送出去。

基于上述实施例,步骤S201中,第一端向转发装置发送用户面数据时,通过将用户面数据封装在待转发数据包中发送。例如,第一端以基站为例,网关的IP地址为IPgw-1,连接基站的网关的TEID为TEIDgw-1,基站向网关上的转发装置发送待转发数据包,该待转发数据包中的目的IP地址和目的TEID分别为:IPgw-1和TEIDgw-1

可选地,转发装置在确定待转发数据包不为待转发GTPU数据包的情况下,将该待转发数据包返回Linux内核协议栈。

本发明实施例中,基站和核心网通过网关建立链接,在网关的内核态上设置转发装置,由于TD-LTE系统中,基站和核心网之间的用户面数据通过GTPU数据包进行发送,转发装置接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识TEID;转发装置在确定待转发数据包为待转发GTPU数据包的情况下:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID;转发装置将待转发数据包中的目的IP地址更新为待更新目的IP地址,将待转发数据包中的目的TEID更新为待更新目的TEID,得到更新后待转发数据包;转发装置向第二端发送更新后待转发数据包;如此,一方面,网关的内核态上的转发装置接收到待转发数据包,直接在转发装置对待转发数据包进行更新,节省了将网关的内核态接收到的待转发数据拷贝至用户态进行更新的拷贝开销;另一方面,在网关的内核态的转发装置中得到更新后待转发数据包,直接在内核态进行发送,节省了从用户态将更新后待转发数据包拷贝至内核态进行发送的拷贝开销;从而实现了在基站和核心网之间的快速汇聚和转发用户面数据。

本发明实施例中,可选地,网关可利用X86平台实现在Linux内核设置的转发装置的功能,相对于现有技术中采用改造内核的方式,在用户态和内核态共享缓存的方式,本发明实施例采用的X86平台节省了成本,而且易于开发维护,部署简单便捷,市场适应性强。可选地,网关为基于NanoCell、Femto Cell、SmallCell架构的TD-LTE网关设备,可以对布署在家庭、企业和热点地区NanoCell、FemtoCell、SmallCell的微型基站的S1接口数据进行汇聚转发,减少基站和核心网之间的GTPU隧道数目,同时也减少隧道上心跳包数据。

本发明实施例中,核心网和基站之间在传输用户面数据之前,先建立无线接入承载(Radio Access Bearer,简称RAB),可选地,通过建立GTPU隧道承载用户面数据,用于基站和核心网之间传送语音、数据、多媒体等业务信息,建立RAB由核心网发起,当用户发起一个业务请求的时候,核心网根据被请求业务的特性要求发起建立承载的RAB消息。

图4示例性示出了本发明实施例提供的基站和核心网通过网关建立RAB链接的示意图。

例如,网关的核心网侧的IP地址和TEID为:第一IP地址和第一TEID;核心网的IP地址和TEID为:第二IP地址和第二TEID;网关的基站侧的IP地址和TEID为:第三IP地址和第三TEID;基站的IP地址和TEID为:第四IP地址和第四TEID端口。

如图4所示,核心网向网关发送第一RAB消息401,用于向网关发起RAB建立核心网和网关之间的链接,第一RAB消息中包括的内容为:第二IP地址和第二TEID;网关接收到核心网发送的第一RAB消息之后,向基站发送第二RAB消息402,用于向基站发起RAB建立网关和基站之间的链接,第二RAB消息中包括的内容为:第三IP地址和第三TEID;基站向网关发送第三RAB消息403,用于向网关回复RAB建立网关和基站之间的链接的响应,第三RAB消息中包括的内容为:第四IP地址和第四TEID;网关接收到第三RAB消息,并向核心网发送第四RAB消息404,用于向核心网回复RAB建立网关和核心网之间的链接的响应,第四RAB消息中包括的内容为:第一IP地址和第一TEID。本发明实施例中,转发装置根据第一RAB消息401和第四RAB消息404,确定出网关的第一IP地址和第一隧道端点连接核心网的第二IP地址和第二隧道端点;根据第三RAB消息403和第二RAB消息402,确定出网关的第三IP地址和第三隧道端点连接基站的第四IP地址和第四隧道端点。

可选地,转发装置接收待转发数据包之前,还包括:转发装置获取用于使基站和核心网通过网关建立链接的无线接入承载RAB消息;转发装置根据RAB消息确定出:与网关的第一IP地址和第一TEID连接的核心网的第二IP地址和第二TEID;与网关的第三IP地址和第三TEID连接的基站的第四IP地址和第四TEID;转发装置将第一IP地址和第一TEID、第二IP地址和第二TEID、第三IP地址和第三TEID、第四IP地址和第四TEID设置为GTPU承载映射表中的对应关系。

可选地,GTPU承载映射表有多种表示方式,一种可选的表示方式是GTPU承载映射表中包括如下内容:第一IP地址和第一TEID、第二IP地址和第二TEID、第三IP地址和第三TEID、第四IP地址和第四TEID。例如,第一IP地址和第一TEID分别为IPgw-2、TEIDgw-2;第二IP地址和第二TEID分别为IPepc、TEIDepc-1;第三IP地址和第三TEID分别为IPgw-1、TEIDgw-1;第四IP地址和第四TEID分别为IPenb、TEIDenb-1;GTPU承载映射表可表示为:【IPgw-2,TEIDgw-2,IPepc,TEIDepc-1,IPgw-1,TEIDgw-1,IPenb、TEIDenb-1】。如此,一方面,网关代替核心网直接和基站建立GTPU承载映射,减轻核心网对GTPU承载的管理负担;另一方面,转发装置可根据GTPU承载映射表,确定出待转发数据包中的目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID,进而在网关的内核态进行待转发数据包的更新,避免了用户面数据在内核态和用户态之间的拷贝开销。

本发明实施例提供另一种可选的GTPU承载映射表表示方式,GTPU承载映射表表示为哈希关键字和哈希值的对应关系。可选地,转发装置将第一IP地址和第一TEID、第二IP地址和第二TEID、第三IP地址和第三TEID、第四IP地址和第四TEID设置为GTPU承载映射表中的对应关系,包括:转发装置将第一IP地址和第一TEID作为第一哈希关键字,将第三IP地址和第三TEID,以及第四IP地址和第四TEID设置为:GTPU承载映射表中的第一哈希关键字对应的哈希值;转发装置将第三IP地址和第三TEID作为第二哈希关键字,将第一IP地址和第一TEID,以及第二IP地址和第二TEID设置为:GTPU承载映射表中的第二哈希关键字对应的哈希值。如此,建立的GTPU承载映射表,利用Linux内核哈希相关API构建哈希关键字和哈希值的对应关系表,提高待转发GTPU数据包封装时确定目的IP地址和目的TEID的查找速度,从而提高转发处理用户面数据的速度。

例如,网关的第一IP地址和第一隧道端点连接核心网的第二IP地址和第二隧道端点,网关的第三IP地址和第三隧道端点连接基站的第四IP地址和第四隧道端点;其中,第一IP地址和第一TEID分别为IPgw-2、TEIDgw-2;第二IP地址和第二TEID分别为IPepc、TEIDepc-1;第三IP地址和第三TEID分别为IPgw-1、TEIDgw-1;第四IP地址和第四TEID分别为IPenb、TEIDenb-1。表1示出了根据哈希关键字和哈希值对应关系表示的GTPU承载映射表的示例。如表1所示,将IPgw-2和TEIDgw-2作为第一哈希关键字,将IPgw-1、TEIDgw-1、IPenb以及TEIDenb-1作为第一哈希关键字对应的哈希值;将IPgw-1、TEIDgw-1作为第二哈希关键字,将IPgw-2、TEIDgw-2、IPepc以及TEIDepc-1作为第二哈希关键字对应的哈希值。

表1根据哈希关键字和哈希值对应关系表示的GTPU承载映射表的示例

可选地,转发装置接收第一端发送的待转发数据包,待转发数据包中还包括位于第一端上的源IP地址;转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID,以及位于网关上的待更新源IP地址;其中,若第一端为基站,则第二端为核心网;若第一端为核心网,则第二端为基站;转发装置将待转发数据包中的源IP地址更新为待更新源IP地址、目的IP地址更新为待更新目的IP地址、目的TEID更新为待更新目的TEID,得到更新后待转发数据包;转发装置向第二端发送更新后待转发数据包。

为了更清楚的介绍转发装置如何根据GTPU承载映射表中更新待转发数据包,得到更新后待转发数据包,本发明实施例中转发装置以根据表1中所示的GTPU承载映射表更新待转发数据包为例进行介绍。

表2示出了转发装置转发基站发送的待转发数据包的封装格式示例。如表2所示,待转发数据包包括IP头部、UDP头部、GTPU头部、载荷;其中,IP头部包括源IP地址和目的IP地址,UDP头部包括源UDP端口标识和目的UDP端口标识,GTPU头部包括目的TEID,其中,若待转发数据包为待转发GTPU数据包,则该待转发GTPU数据包中的源UDP端口标识和目的UDP端口标识均为2152。以基站向网关发送待转发数据包为例,源IP地址是发送待转发数据包的基站的IP地址,目的IP地址是接收待转发数据包的连接基站侧网关的IP地址,目的TEID是接收待转发数据包的连接基站侧网关的隧道端点的标识,载荷为用户面数据。

表2转发装置转发基站发送的待转发数据包的封装格式示例

本发明实施例中,转发装置接收基站发送的如表2所示的待转发数据包;转发装置对待转发数据包进行解码,得到IP头部的源IP地址IPenb和目的IP地址IPgw-1、UDP头部的源UDP端口标识2152和目的UDP端口标识2152、GTPU头部的目的隧道端点标识TEIDgw-1和GTPU载荷用户面数据;将目的IP地址IPgw-1和目的隧道端点标识TEIDgw-1作为哈希关键字,在表1所示的GTPU承载映射表查找,确定出表1所示的第二哈希关键字IPgw-1、TEIDgw-1对应的哈希值IPgw-2、TEIDgw-2、IPepc、TEIDepc-1;将哈希值中网关对应的IP地址IPgw-2作为更新后待转发数据包的待更新源IP地址,将与网关相连接的核心网的IP地址IPepc和隧道端点标识TEIDepc-1作为更新后待转发数据包的待更新目的IP地址和待更新目的TEID;将待更新源IP地址和待更新目的IP地址作为IP头部,将待更新目的TEID作为GTPU头部,UDP头部和GTPU载荷不变,进行封装得到如表2所示的更新后待转发数据包;转发装置向核心网发送更新后待转发数据包。

表3示出了转发装置转发核心网发送的待转发数据包的封装格式示例。本发明实施例中,转发装置接收核心网发送的如表3所示的待转发数据包;转发装置对待转发数据包进行解码,得到IP头部的源IP地址IPepc和目的IP地址IPgw-2、UDP头部的源UDP端口标识2152和目的UDP端口标识2152、GTPU头部的目的隧道端点标识TEIDgw-2和GTPU载荷用户面数据;将目的IP地址IPgw-2和目的隧道端点标识TEIDgw-2作为哈希关键字,在表1中所示的GTPU承载映射表查找,确定出表1所示的第一哈希关键字IPgw-2、TEIDgw-2对应的哈希值IPgw-1、TEIDgw-1、IPenb、TEIDenb-1;将哈希值中的网关对应的IP地址IPgw-1作为更新后待转发数据包的待更新源IP地址,将与网关相连接的基站的IP地址IPenb和隧道端点标识TEIDenb-1作为更新后待转发数据包的待更新目的IP地址和待更新目的TEID;将待更新源IP地址和待更新目的IP地址作为IP头部,将待更新目的TEID作为GTPU头部,UDP头部和GTPU载荷不变,进行封装得到如表3所示的更新后待转发数据包;转发装置向基站发送更新后待转发数据包。

表3转发装置转发核心网发送的待转发数据包的封装格式示例

可选地,转发装置向第二端发送更新后待转发数据包,包括:转发装置从GTPU承载映射表中确定出:与目的IP地址对应的、且位于网关上的待更新源IP地址;转发装置通过网关上的待更新源IP地址所标识的IP地址向第二端发送更新后待转发数据包。以基站向网关的转发装置发送待转发数据包为例,待转发数据包中的目的IP地址和目的TEID分别为IPgw-1和TEIDgw-1,从表1所示的GTPU承载映射表中确定出:与IPgw-1和TEIDgw-1对应的、且位于网关上的待更新源IP地址和待更新源TEID分别为IPgw-2和TEIDgw-2,转发装置通过网关的IPgw-2所标识的IP地址发送更新后待转发数据包。如此,转发装置可以根据GTPU承载映射表快速的确定出位于网关上的待更新源IP地址,并通过待更新源IP地址所标识的IP地址快速的将更新后待转发数据包发送出去,减少了对待转发数据包的处理时延,进而达到保证语音质量、快速汇聚和转发用户面数据的目的。

可选地,转发装置在确定待转发数据包为待转发GTPU数据包,包括:转发装置确定待转发数据包中包括的源UDP端口标识和目的UDP端口标识为2152,且待转发数据包中包括的目的IP地址和目的TEID为GTPU承载映射表中的一个哈希关键字。可选地,转发装置确定数据包中包括的源UDP端口标识和目的UDP端口标识任一个不为2152,则不处理该待转发数据包。如此,转发装置可根据待转发数据包中的源UDP端口标识和目的UDP端口标识是否为2152,快速确定待转发数据包是否为GTPU数据包,进而减少网关的对用户面数据的处理时延。

可选地,转发装置确定数据包中包括的目的IP地址和目的TEID不为GTPU承载映射表中的任一个哈希关键字,则待转发数据包不为待转发GTPU数据包,转发装置不处理该待转发数据包。如此,转发装置可根据是否在GTPU承载映射表中确定出匹配的哈希关键字,进而快速确定待转发数据包是否为需要转发装置转发的待转发GTPU数据包;一方面,若在GTPU承载映射表中未确定出匹配的一个哈希关键字,说明该待转发GTPU数据包不是转发装置需要处理的GTPU数据包,转发装置将该待转发数据包返回Linux内核协议栈进行其他处理;另一方面,若在GTPU承载映射表中确定出匹配的一个哈希关键字,则直接在转发装置进行处理,封装得到更新后待转发数据包,减少待转发GTPU数据包处理时延。

为了更清楚的介绍上述方法流程,本发明实施例提供以下示例。

图5示例性示出了本发明实施例提供的另一种GTPU用户面数据转发的方法流程示意图,基于图1所示的系统架构,如图5所示,本发明实施例提供的另一种用户面通用分组无线业务隧道协议GTPU用户面数据转发的方法,适用于包括基站、网关、核心网的时分长期演进TD-LTE系统,基站和核心网通过网关建立链接,网关的内核态上设置转发装置,该方法包括以下步骤:

步骤S501:转发装置获取用于使基站和核心网通过网关建立链接的无线接入承载RAB消息;

步骤S502:转发装置根据RAB消息确定出:与网关第一IP地址和第一TEID连接的核心网的第二IP地址和第二TEID;与网关的第三IP地址和第三TEID连接的基站的第四IP地址和第四TEID;

步骤S503:转发装置将第一IP地址和第一TEID作为第一哈希关键字,将第三IP地址和第三TEID,以及第四IP地址和第四TEID设置为:GTPU承载映射表中的第一哈希关键字对应的哈希值;

步骤S504:转发装置将第三IP地址和第三TEID作为第二哈希关键字,将第一IP地址和第一TEID,以及第二IP地址和第二TEID设置为:GTPU承载映射表中的第二哈希关键字对应的哈希值;

步骤S505:转发装置接收第一端发送的待转发数据包;

步骤S506:转发装置确定待转发数据包中包括的源UDP端口标识和目的UDP端口标识是否为2152,若是,则执行步骤S507;若否,则执行步骤S512;步骤S507:转发装置确定待转发数据包为待转发GTPU数据包;

步骤S508:转发装置确定待转发数据包中包括的目的IP地址和目的TEID是否为GTPU承载映射表中的一个哈希关键字;若是,则执行步骤S509;若否,则执行步骤S512;

步骤S509:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID、以及位于网关上的待更新源IP地址;其中,若第一端为基站,则第二端为核心网;若第一端为核心网,则第二端为基站;

步骤S510:转发装置将待转发数据包中的源IP地址更新为待更新源IP地址、目的IP地址更新为待更新目的IP地址、目的TEID更新为待更新目的TEID,得到更新后待转发数据包;

步骤S511:转发装置调用Linux内核API将更新后待转发数据包发送出去。

步骤S512:放弃处理该待转发数据包;

步骤S513:返回Linux内核协议栈。

从上述内容可以看出:本发明实施例中,在网关的内核态上设置转发装置,由于TD-LTE系统中,基站和核心网之间的用户面数据通过GTPU数据包进行发送,转发装置接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识TEID;转发装置在确定待转发数据包为待转发GTPU数据包的情况下:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID、以及位于网关上的待更新源IP地址;转发装置将待转发数据包中的源IP地址待更新为更新源IP地址、目的IP地址更新为待更新目的IP地址、目的TEID更新为待更新目的TEID,得到更新后待转发数据包;转发装置向第二端发送更新后待转发数据包;如此,一方面,网关的内核态上的转发装置接收到待转发数据包,直接在转发装置对待转发数据包进行更新,节省了将网关的内核态接收到的待转发数据拷贝至用户态进行更新的拷贝开销;另一方面,在网关的内核态的转发装置中得到更新后待转发数据包,直接在内核态进行发送,节省了从用户态将更新后待转发数据包拷贝至内核态进行发送的拷贝开销;从而实现了在基站和核心网之间的快速汇聚和转发用户面数据。而且,转发装置建立GTPU承载映射表,提高了对待转发数据包进行封装的速度,减少了对待转发数据包的处理时延,进而保证了语音质量并快速汇聚和转发用户面数据。

图6示例性示出了本发明实施例提供的一种用于用户面通用分组无线业务隧道协议GTPU用户面数据转发装置的结构示意图。

基于相同构思,本发明实施例提供的一种用于用户面通用分组无线业务隧道协议GTPU用户面数据转发装置,适用于包括基站、网关、核心网的时分长期演进TD-LTE系统,基站和核心网通过网关建立链接,网关的内核态上设置转发装置,用于执行上述方法流程,如图6所示,该转发装置600包括接收单元601、处理单元602和发送单元603,还包括获取单元604;其中:

接收单元601,用于接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和隧道端点标识TEID;

处理单元602,用于在确定待转发数据包为待转发GTPU数据包的情况下:从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID;其中,若第一端为基站,则第二端为核心网;若第一端为核心网,则第二端为基站;将待转发数据包中的目的IP地址更新为待更新目的IP地址,将待转发数据包中的目的TEID更新为待更新目的TEID,得到更新后待转发数据包;

发送单元603,用于转发装置向第二端发送更新后待转发数据包。

可选地,处理单元602,还用于:从GTPU承载映射表中确定出:与目的IP地址对应的、且位于网关上的待更新源IP地址;发送单元603,用于:通过网关上的待更新源IP地址所标识的IP地址向第二端发送更新后待转发数据包。

可选地,转发装置还包括获取单元604,用于:获取用于使基站和核心网通过网关建立链接的无线接入承载RAB消息;处理单元602,还用于:根据RAB消息确定出:与网关第一IP地址和第一TEID连接的核心网的第二IP地址和第二TEID;与网关的第三IP地址和第三TEID连接的基站的第四IP地址和第四TEID;将第一IP地址和第一TEID、第二IP地址和第二TEID、第三IP地址和第三TEID、第四IP地址和第四TEID设置为GTPU承载映射表中的对应关系。

可选地,处理单元602,用于:将第一IP地址和第一TEID作为第一哈希关键字,将第三IP地址和第三TEID,以及第四IP地址和第四TEID设置为:GTPU承载映射表中的第一哈希关键字对应的哈希值;将第三IP地址和第三TEID作为第二哈希关键字,将第一IP地址和第一TEID,以及第二IP地址和第二TEID设置为:GTPU承载映射表中的第二哈希关键字对应的哈希值。

可选地,处理单元602,用于:确定待转发数据包中包括的源UDP端口标识和目的UDP端口标识为2152,且待转发数据包中包括的目的IP地址和目的TEID为GTPU承载映射表中的一个哈希关键字。

从上述内容可以看出:本发明实施例中,在网关的内核态上设置转发装置,由于TD-LTE系统中,基站和核心网之间的用户面数据通过GTPU数据包进行发送,转发装置接收第一端发送的待转发数据包;待转发数据包中包括位于网关上的目的IP地址和目的隧道端点标识TEID;转发装置在确定待转发数据包为待转发GTPU数据包的情况下:转发装置从GTPU承载映射表中确定出:与目的IP地址和目的TEID对应的、位于第二端上的待更新目的IP地址和待更新目的TEID、以及位于网关上的待更新源IP地址;转发装置将待转发数据包中的源IP地址待更新为更新源IP地址、目的IP地址更新为待更新目的IP地址、目的TEID更新为待更新目的TEID,得到更新后待转发数据包;转发装置向第二端发送更新后待转发数据包;如此,一方面,网关的内核态上的转发装置接收到待转发数据包,直接在转发装置对待转发数据包进行更新,节省了将网关的内核态接收到的待转发数据拷贝至用户态进行更新的拷贝开销;另一方面,在网关的内核态的转发装置中得到更新后待转发数据包,直接在内核态进行发送,节省了从用户态将更新后待转发数据包拷贝至内核态进行发送的拷贝开销;从而实现了在基站和核心网之间的快速汇聚和转发用户面数据。而且,转发装置建立GTPU承载映射表,提高了对待转发数据包进行封装的速度,减少了对待转发数据包的处理时延,进而保证了语音质量并快速汇聚和转发用户面数据。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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