一种GTP数据包传输方法、相关装置及存储介质与流程

文档序号:17327022发布日期:2019-04-05 21:51阅读:1508来源:国知局
一种GTP数据包传输方法、相关装置及存储介质与流程

本申请实施例涉及通信领域,尤其涉及一种gtp数据包传输方法、相关装置及存储介质。



背景技术:

通用分组无线服务隧道协议(generalpacketradioservicetunnellingprotocol,gtp)是一种用于传输分组数据的通信协议。目前,己使用的gtp协议可被分为通用分组无线服务(generalpacketradioservice,gprs)隧道协议用户平面(userplaneofgprstunnelingprotocol,gtp-u)、gprs隧道协议控制平面(controlplaneofgprstunnelingprotocol,gtp-c)和gtp’。其中,gtp-u协议规定了利用在gprs支持节点(gsn)之间建立的隧道传输用户分组数据的要求;gtp-c协议规定了控制和管理用户接入gprs网络隧道的要求,从而基于gtp-c协议来创建、更新、或者删除gtp隧道;gtp’协议规定了计费传输的要求。

对于上行数据包,无线层终止于基站,并且基站建立了到达服务网关(servinggateway,s-gw)的gtp隧道,s-gw建立从s-gw到达分组数据网网关(packetdatanetworkgateway,p-gw)的gtp隧道,p-gw则提供了到达骨干网的桥梁。在gtp-u的数据包的gtp-u头部中包括隧道端点标识(tunnelendpointidentification,teid)字段,隧道端点标识字段承载的内容用于标识gtp-u协议中gtp-u数据包的隧道标识。

软件定义网络(softwaredefinednetworking,sdn)架构以控制平面和转发平面分离,从而实现灵活网络控制的优势逐渐引起了各大网络运营商的重视。在移动核心网中引入sdn技术可以实现核心网中根据用户、业务特性等对数据流进行精细控制的目的。现有的sdn南向协议openflow设备并不支持gtp协议,综上,亟需一种gtp数据包传输方案,用于使openflow设备能够通过gtp隧道传输gtp数据包。



技术实现要素:

本申请实施例提供一种gtp数据包传输方法、相关装置及存储介质,用于使openflow设备能够通过gtp隧道传输gtp数据包。

第一方面,本申请实施例提供一种gtp数据包传输方法,包括:第一gtp处理模块接收第一openflow设备发送的第一待处理gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;其中,第一待处理gtp数据包是从第一通信设备通过所连接的第一openflow设备通过gtp隧道发送至第二通信设备的数据包;第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域,得到第一处理后gtp数据包;其中,预设区域为包头区域中除gtp头区域之外的区域;第一gtp处理模块将第一处理后gtp数据包反馈给第一openflow设备。

本申请实施例中由于第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域;预设区域为包头区域中除gtp头区域之外的区域,从而可使openflow设备可以识别出封装于预设区域的gtp隧道标识,从而可以根据gtp隧道标识所标识的gtp隧道发送gtp数据包。

在一种可选地实施方式中,第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域,可以通过将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至包头区域中用于承载源网络协议ip地址的区域中。由于gtp数据包在传输过程中,可以只根据目的ip地址和gtp隧道标识对gtp数据包进行传输,因此外部ip头区域中的源ip地址在该gtp数据包的传输过程中可以看作是冗余信息,因此将用于承载源网络协议ip地址的区域承载gtp隧道标识不会影响gtp数据包的传输。

在一种可选地实施方式中,第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至包头区域中用于承载源ip地址的区域中之后,还可以将接收到的第一待处理gtp数据包的包头区域中用于承载源ip地址的区域中的源ip地址搬移至gtp头区域中。这种方式可以为后续将外部源ip地址重新放置到第二处理后gtp数据包的用于承载源ip地址的区域中奠定基础。在一种可选地实施方式中,gtp数据包为用户面gtp数据包。在一种可选地实施方式中,gtp数据包为用户面gtp数据包。

第二方面,本申请实施例提供一种gtp数据包传输方法,包括:第一openflow设备接收与第一openflow设备连接的第一通信设备发送的第一待处理gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;gtp隧道标识承载于第一待处理gtp数据包的包头区域中的gtp头区域;第一openflow设备将第一待处理gtp数据包发送给第一gtp处理模块进行处理;第一openflow设备接收第一gtp处理模块发送的对第一待处理gtp数据包进行处理后得到的第一处理后gtp数据包;其中,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的预设区域;预设区域为包头区域中除gtp头区域之外的区域;第一openflow设备根据承载于预设区域中的gtp隧道标识通过gtp隧道向第二通信设备发送第一处理后gtp数据包。

本申请实施例中由于第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域;预设区域为包头区域中除gtp头区域之外的区域,从而可使openflow设备可以识别出封装于预设区域的gtp隧道标识,从而可以根据gtp隧道标识所标识的gtp隧道发送gtp数据包。

在一种可选地实施方式中,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的用于承载源网络协议ip地址的区域中。由于gtp数据包在传输过程中,可以只根据目的ip地址和gtp隧道标识对gtp数据包进行传输,因此外部ip头区域中的源ip地址在该gtp数据包的传输过程中可以看作是冗余信息,因此将用于承载源网络协议ip地址的区域承载gtp隧道标识不会影响gtp数据包的传输。

在一种可选地实施方式中,第一待处理gtp数据包的包头区域中的用于承载源ip地址的区域中的源ip地址承载于第一处理后gtp数据包的包头区域中的gtp头区域中。这种方式可以为后续将外部源ip地址重新放置到第二处理后gtp数据包的用于承载源ip地址的区域中奠定基础。在一种可选地实施方式中,gtp数据包为用户面gtp数据包。

第三方面,本申请实施例提供一种gtp数据包传输方法,包括:第二gtp处理模块接收第二openflow设备发送的第二待处理gtp数据包;其中,第二待处理gtp数据包包括第二待处理gtp数据包对应的gtp隧道标识;其中,第二待处理gtp数据包是从第一通信设备通过gtp隧道发送至与第二openflow设备连接的第二通信设备的数据包;第二gtp处理模块向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包;其中,第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源网络协议ip地址。

由于第二gtp处理模块对第二待处理gtp数据包进行了处理,因此第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源ip地址,从而为第二待处理gtp数据包在后续的传输过程中正常传输奠定了基础,而且可以为上述第一gtp处理模块将gtp隧道标识承载于用于承载源ip地址的区域中进行传输的方案提供了支持。

在一种可选地实施方式中,第二gtp处理模块向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包之前,还可以在未从第二待处理gtp数据包的包头区域的用于承载源ip地址的区域中解析到源ip地址的情况下,第二gtp处理模块将接收到的第二待处理gtp数据包的包头区域中的gtp头区域中承载的源ip地址搬移至第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中,得到第二处理后gtp数据包。这种方式可以更加快速的将外部源ip地址放置到第二处理后gtp数据包的用于承载源ip地址的区域中,为该gtp数据包的后续传输奠定基础。

在一种可选地实施方式中,第二gtp处理模块将接收到的第二待处理gtp数据包的包头区域中的gtp头区域中承载的源ip地址搬移至第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中之后,得到第二处理后gtp数据包之前,还可以将接收到的第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中承载的gtp隧道标识搬移至第二待处理gtp数据包的包头区域中的gtp头区域中。如此则保证了数据的完整性。在一种可选地实施方式中,gtp数据包为用户面gtp数据包。

第四方面,本申请实施例提供一种gtp数据包传输方法,包括:第二openflow设备通过gtp隧道接收第一通信设备发送的第二待处理gtp数据包;第二openflow设备将第二待处理gtp数据包发送给第二gtp处理模块进行处理;第二openflow设备接收第二gtp处理模块发送的对第二待处理gtp数据包进行处理后得到的第二处理后gtp数据包;其中,第二处理后gtp数据包的包头区域中用于承载源网络协议ip地址的区域中承载源ip地址;第二openflow设备向与第二openflow设备连接的第二通信设备发送第二处理后gtp数据包。

由于第二gtp处理模块对第二待处理gtp数据包进行了处理,因此第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源ip地址,从而为第二待处理gtp数据包在后续的传输过程中正常传输奠定了基础,而且可以为上述第一gtp处理模块将gtp隧道标识承载于用于承载源ip地址的区域中进行传输的方案提供了支持。

在一种可选地实施方式中,第二待处理gtp数据包的包头区域中用于承载源ip地址的区域承载有gtp隧道标识;源ip地址承载于第二待处理gtp数据包的包头区域中的gtp头区域中。在一种可选地实施方式中,gtp隧道标识承载于第二处理后gtp数据包的包头区域中的gtp头区域中。在一种可选地实施方式中,gtp数据包为用户面gtp数据包。

第五方面,本申请实施例提供一种gtp处理模块,gtp处理模块包括存储器、接收接口、发送接口和处理器,其中:存储器用于存储指令;处理器用于根据执行存储器存储的指令,并控制接收接口和发送接口进行信号接收和信号发送,当处理器执行存储器存储的指令时,gtp处理模块用于执行上述第一方面或第一方面中任一种方法,或者,gtp处理模块用于执行上述第三方面或第三方面中任一种方法。

第六方面,本申请实施例提供一种openflow设备,openflow设备包括存储器、接收接口、发送接口和处理器,其中:存储器用于存储指令;处理器用于根据执行存储器存储的指令,并控制接收接口和发送接口进行信号接收和信号发送,当处理器执行存储器存储的指令时,openflow设备用于执行上述第二方面或第二方面中任一种方法,或者,openflow设备用于执行上述第四方面或第四方面中任一种方法。

第七方面,本申请实施例提供一种gtp处理模块,用于实现上述第一方面或第一方面中的任意一种方法,或者用于实现上述第三方面或第三方面中的任意一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。

第八方面,本申请实施例提供一种openflow设备,用于实现上述第二方面或第二方面中的任意一种方法,或者用于实现上述第四方面或第四方面中的任意一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。

第九方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法;或者使得计算机执行第二方面或第二方面的任意可能的实现方式中的方法;或者使得计算机执行第三方面或第三方面的任意可能的实现方式中的方法;或者使得计算机执行第四方面或第四方面的任意可能的实现方式中的方法。

第十方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法;或者使得计算机执行第二方面或第二方面的任意可能的实现方式中的方法;或者使得计算机执行第三方面或第三方面的任意可能的实现方式中的方法;或者使得计算机执行第四方面或第四方面的任意可能的实现方式中的方法。

附图说明

图1为本申请实施例适用的一种通信系统架构示意图;

图2为本申请实施中提供的一种gtp数据包协议栈的示意图;

图3为本申请实施例提供的一种gtp数据包的结构示意图;

图4为本申请实施例提供一种gtp数据包传输方法的流程示意图;

图5为本申请实施例提供的另一种gtp数据包传输方法;

图6为本申请实施例提供的一种openflow流表的表项的包头区域的结构示意图;

图7为本申请实施例提供的另一种gtp数据包传输方法流程示意图;

图8为本申请实施例还提供一种gtp处理模块的结构示意图;

图9为本申请实施例还提供一种openflow设备的结构示意图;

图10为本申请实施例还提供一种gtp处理模块的结构示意图;

图11为本申请实施例还提供一种openflow设备的结构示意图;

图12为本申请实施例还提供一种gtp处理模块的结构示意图;

图13为本申请实施例还提供一种openflow设备的结构示意图。

具体实施方式

图1示例性示出了本申请实施例适用的一种通信系统架构示意图,如图1所示,包括终端设备1101、基站1102、s-gw1103、p-gw1104以及sdn1105。基站1102和终端设备1101之间可以通过空口连接。基站1102和s-gw1103之间,以及s-gw1103和p-gw1104之间可以通过传输网络进行连接。sdn1105可以通过传输网络与s-gw1103、p-gw1104或其它网元设备连接,比如sdn1105还可以与openflow设备1201、openflow设备1202、openflow设备1203、openflow设备1204和openflow设备1106连接。图1中支持openflow的设备1106可以是s-gw1103和p-gw1104之间的支持openflow的交换机和/或路由器。

如图1所示,针对基站1102、s-gw1103和p-gw1104等网元中的任一个网元,该网元的输入输出口可以配置openflow设备,该网元的输入输出口所配置的openflow设备可以挂载gtp处理模块。比如基站1102通过基站1102的第一输入输出口与s-gw1103的第二输入输出口连通,则基站1102和s-gw1103之间所传输的数据都需通过基站1102的第一输入输出口和s-gw1103的第二输入输出口进行传输。也就是说,基站1102通过第一输入输出口接收来自s-gw1103的数据或向s-gw1103发送数据。s-gw1103通过第二输入输出口接收来自基站1102的数据或向基站1102发送数据。基站1102的第一输入输出口配置openflow设备1201,openflow设备1201连接gtp处理模块1301。s-gw1103的第二输入输出口配置openflow设备1202,openflow设备1202连接gtp处理模块1302。

再比如,s-gw1103通过s-gw1103的第三输入输出口与p-gw1104的第四输入输出口连通,则s-gw1103和p-gw1104之间所传输的数据都需通过s-gw1103的第三输入输出口和p-gw1104的第四输入输出口进行传输。也就是说,s-gw1103通过第三输入输出口接收来自p-gw1104的数据或向p-gw1104发送数据。p-gw1104通过第四输入输出口接收来自s-gw1103的数据或向s-gw1103发送数据。s-gw1103的第三输入输出口配置openflow设备1203,openflow设备1203连接gtp处理模块1303。p-gw1104的第四输入输出口配置openflow设备1204,openflow设备1204连接gtp处理模块1304。

可选地,本申请实施例中在openflow设备1203和openflow设备1204之间可能还存在一个或多个支持openflow的设备1106,在openflow设备1201和openflow设备1202之间也可能还存在一个或多个支持openflow的设备1106,这些支持openflow的设备1106可以不必连接gtp处理模块。

本申请实施例所提供的gtp数据包传输方案适用于存在gtp隧道的网元之间,比如基站1102和s-gw1103之间可以通过gtp隧道传输gtp数据包,再比如s-gw1103和p-gw1104之间可以通过gtp隧道传输gtp数据包。可选地,本申请实施例中的gtp数据包可以为用户面gtp数据包,也可称为gtp-u数据包。

以从终端设备发送至核心网的上行gtp数据包为例进行介绍,无线层终止于基站,并且基站可以建立从基站到达s-gw的gtp隧道,s-gw可以建立从s-gw到达p-gw的gtp隧道。以gtp数据包为例进行说明,对于每个演进的分组系统(evolvedpacketsystem,eps)承载,可以建立一个用户面的gtp隧道(英文可以称为tunnel),比如基于基站和s-gw之间的s1-u接口建立用户面的gtp隧道,再比如,基于s-gw和p-gw之间的s5/s8接口建立用户面的gtp隧道。gtp隧道可以采用3层叠加4层(英文可以称为3over4的overlay)封装技术,即将三层数据包封装在四层数据包头中传输。

图2示例性示出了本申请实施中提供的一种gtp数据包协议栈的示意图,如图2所示,网元通过传输网络传输数据,数据的层次划分由下至上依次为物理层、以太网层、外部ip层、用户数据协议(userdatagramprotocol,udp)层、gtp层和内部ip层。其中,内部ip层包括源ip地址和目的ip地址,若gtp数据包为从终端设备发送至核心网的gtp数据包,则该gtp数据包的内部ip层中的源ip地址为终端设备的ip地址,该gtp数据包的内部ip层中的目的ip地址为该终端设备要访问的网络资源的ip地址。外部ip层中包括的源ip地址和目的ip地址是该数据包在网元间传输的过程中传输节点的ip地址,举个例子,比如,gtp数据包要从基站发送至s-gw,则gtp数据包的外部ip层的源ip地址为基站的ip地址,外部ip地址为s-gw的ip地址;再比如,gtp数据包要从s-gw发送至p-gw,则gtp数据包的外部ip层的源ip地址为s-gw的ip地址,外部ip地址为p-gw的ip地址;再比如该数据包在传输过程中需要通过第一通信设备发送至第二通信设备,此时,该gtp数据包的外部ip层的源ip地址为第一通信设备的ip地址,目的ip地址为第二通信设备的ip地址。

也就是说,gtp隧道保持了内部ip层的ip地址在传输过程中可以保持不变性,举例来说,若gtp数据包是从终端设备发送至网络的上行gtp数据包,则内部ip层中的源ip地址在gtp数据包的整个传输过程中始终为终端设备的ip地址,而该gtp数据包的内部ip层中的目的ip地址在gtp数据包的整个传输过程中始终为该终端设备访问的网络资源的ip地址。gtp隧道的外部ip层的源ip地址和目的ip地址会根据不同的eps承载发生改变,举例来说,若gtp数据包是从终端设备发送至网络的上行gtp数据包,则该gtp数据包需要通过基于基站和s-gw间的s1接口的gtp隧道传输时,该gtp数据包的外部ip层的源ip地址为基站的ip地址,目的ip地址为s-gw的ip地址;该gtp数据包需要通过基于p-gw和s-gw间的s5/s8接口的gtp隧道传输时,该gtp数据包的外部ip层的源ip地址为s-gw的ip地址,目的ip地址为p-gw的ip地址。针对从网络发送至终端设备发的下行gtp数据包,与该示例类似,再次不再赘述。本申请实施例中也可以将外部ip层的源ip地址称为外部源ip地址,将外部ip层的目的ip地址称为外部目的ip地址。本申请实施例中也可以将内部ip层的源ip地址称为内部源ip地址,将内部ip层的目的ip地址称为内部目的ip地址。

图3示例性示出了本申请实施例提供的一种gtp数据包的结构示意图,如图3所示,gtp数据包的包头区域包括gtp头区域和预设区域,本申请实施例中预设区域是包头区域中除gtp头区域之外的区域。预设区域可以包括一个或多个区域,比如图3中所示出的以太帧头区域、外部ip头区域和udp头区域中的任一个或任多个区域。如图3所示,gtp数据包中还包括数据区域,数据区域用于承载数据,内部ip头可以划分至数据区域,也可以描述为内部ip头是封装在用户数据部分的。外部ip头区域中包括用于承载源ip地址的区域,可选地,用于承载源ip地址的区域也可以称为源ip地址字段。本申请实施例中也可以将外部ip头区域承载的源ip地址称为外部源ip地址,将外部ip头区域承载的目的ip地址称为外部目的ip地址。本申请实施例中也可以将内部ip头承载的源ip地址称为内部源ip地址,将内部ip头承载的目的ip地址称为内部目的ip地址。

如图3所示,以太帧头区域可以承载上述图2中以太网层的相关信息,如源mac地址,目的mac地址等;外部ip头区域可以承载上述图3中外部ip层的源ip地址和目的ip地址等;udp头区域可以承载上述图3中udp层的信息,如源端口,目的端口等等;gtp头区域可以承载上述图2中gtp层相关的信息,比如可以承载gtp隧道标识等信息。

在gtp头区域中,可以封装gtp隧道标识,gtp隧道标识可以为隧道端点标识符(tunnelendpointidentifier,teid)。gtp隧道标识可以标识gtp协议中的对端隧道端点。一般来说,由gtp隧道的接收端分配本地gtp隧道标识,供gtp隧道的发起方使用。一个gtp隧道可以由外部ip头中的源ip地址和外部ip头中的目的ip地址和gtp隧道标识(比如teid)唯一确定。

为了使epc控制平面和转发平面彻底分离并实现灵活控制数据流的功能,在epc中引入sdn技术,而提到sdn的南向接口openflow协议不支持对gtp数据包中隧道标识的解析,因此,本申请实施例提供一种gtp数据包传输方案,用于使openflow设备可以识别出封装于预设区域的gtp隧道标识,从而可以根据gtp隧道标识所标识的gtp隧道发送gtp数据包。

本申请实施例中的终端设备可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminal),终端设备(terminalequipment)等等。为方便描述,本申请中,简称为终端设备。本申请实施例中,术语“基站”包括但不限于节点、站控制器、接入点(accesspoint,ap)、或任何其它类型的能够在无线环境中工作的接口设备。

本申请实施例中的通信设备可以是传输网络中的支持gtp隧道的网元,也可以称为gtp隧道的端点,比如基站、s-gw和p-gw等等。本申请实施例中通信设备是指可以支持gtp隧道的通信设备,比如上述图1中的基站1102、s-gw1103和p-gw1104等。本申请实施例中第一通信设备和第二通信设备中的“第一”和“第二”仅仅为了区别,不具有限定意义。

基于上述介绍,图4示例性示出了本申请实施例提供一种gtp数据包传输方法的流程示意图,如图4所示,该方法包括:

步骤2101,第一openflow设备接收与第一openflow设备连接的第一通信设备发送的第一待处理gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;gtp隧道标识承载于第一待处理gtp数据包的包头区域中的gtp头区域;

步骤2102,第一openflow设备将第一待处理gtp数据包发送给第一gtp处理模块进行处理;第一gtp处理模块接收第一openflow设备发送的第一待处理gtp数据包;其中,第一待处理gtp数据包是从第一通信设备通过所连接的第一openflow设备通过gtp隧道发送至第二通信设备的gtp数据包;

步骤2103,第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域,得到第一处理后gtp数据包;其中,预设区域为包头区域中除gtp头区域之外的区域;

步骤2104,第一gtp处理模块将第一处理后gtp数据包反馈给第一openflow设备。第一openflow设备接收第一gtp处理模块发送的对第一待处理gtp数据包进行处理后得到的第一处理后gtp数据包;其中,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的预设区域;其中,预设区域为包头区域中除gtp头区域之外的区域;

步骤2105,第一openflow设备根据承载于预设区域中的gtp隧道标识通过gtp隧道向第二通信设备发送第一处理后gtp数据包。可选地,第二通信设备的输入输出口处配置有第二openflow设备,因此第一openflow设备将该gtp数据包先发送至第二openflow设备,之后第二openflow设备将该gtp数据包发送至第二通信设备。

本申请实施例中,由于openflow协议无法解析出gtp头区域的信息(也可以说是openflow协议只能解析四层及四层以下的数据包相关信息),因此openflow设备无法解析出封装在gtp头区域的gtp隧道标识,本申请实施例中由于将gtp隧道标识承载于第一处理后gtp数据包的包头区域中的预设区域;其中,预设区域为包头区域中除gtp头区域之外的区域,因此openflow设备可以通过解析预设区域获得gtp隧道标识,从而可以使openflow设备通过gtp隧道标识所标识的隧道传输gtp数据包。

可选地,openflow设备在发送第二处理后gtp数据包时,除了根据解析出的gtp隧道标识,还可以根据第二处理后gtp数据包的包头区域中的目的ip地址来发送第二处理后gtp数据包。openflow设备可以根据第二处理后gtp数据包的包头区域中的源mac地址确定出第二处理后gtp数据包是上行gtp数据包还是下行gtp数据包,之后还可以根据第二处理后gtp数据包的包头区域中的目的ip地址来确定第二通信设备的ip地址,根据解析出的gtp隧道标识确定出第一通信设备和第二通信设备之间的gtp隧道标识,从而将第二处理后gtp数据包通过gtp隧道标识向第二通信设备发送。可选地,本申请实施例中涉及到的包头区域中的源ip地址和目的ip地址都是上述图3中所示的外部ip头区域中的源ip地址和目标ip地址。

一种可选地实施方式中,本申请实施例中的gtp数据包可以是用户面gtp数据包,也可以称为gtp-u数据包,从而实现将gtp-u数据包通过gtp隧道进行传输的目的,从而实现将用户面数据较细粒度(gtp隧道粒度)的划分。

本申请实施例中,第一通信设备为发送端的通信设备,第二通信设备为接收端的通信设备,结合上述图1举例说明,比如,若gtp数据包将从基站1102发送至s-gw1103,则第一通信设备为基站1102,第二通信设备为s-gw1103,第一openflow设备为与第一通信设备连接的openflow设备1201,第一gtp处理模块为与第一openflow设备连接的gtp处理模块1301。再比如,若gtp数据包将从s-gw1103发送至基站1102,则第一通信设备为s-gw1103,第二通信设备为基站1102,第一openflow设备为openflow设备1202,第一gtp处理模块为gtp处理模块1302。再比如,若gtp数据包将从s-gw1103发送至p-gw1104,则第一通信设备为s-gw1103,第二通信设备为p-gw1104,第一openflow设备为openflow设备1203,第一gtp处理模块为gtp处理模块1303。再比如,若gtp数据包将从p-gw1104发送至s-gw1103,则第一通信设备为p-gw1104,第二通信设备为s-gw1103,第一openflow设备为openflow设备1204,第一gtp处理模块为gtp处理模块1304。

本申请实施例中,上述步骤2101中,第一通信设备接收到gtp数据包后会确定出即将用于发送该gtp数据包的gtp隧道的gtp隧道标识,并将gtp隧道标识封装到该gtp数据包的gtp头区域,从而得到第一待处理gtp数据包。举例来说,比如,第一通信设备是图1中的基站1102,第二通信设备是s-gw1103,第一待处理gtp数据包即将从基站1102通过gtp隧道发送至s-gw1103,则基站1102接收终端设备1101发送的gtp数据包,之后查找出该gtp数据包对应的基站1102和s-gw1103之间的gtp隧道的gtp隧道标识,之后基站1102将gtp隧道标识封装在该gtp数据包中,得到第一待处理gtp数据包。基站112将第一待处理gtp数据包发送给openflow设备1201,之后openflow设备1201和gtp1301依次执行上述步骤2101至步骤2104的方案,之后,openflow设备1201执行上述步骤2105,将第一待处理gtp数据包通过基站1102和s-gw1103之间的gtp隧道发送给s-gw1103。该示例中仅仅以基站作为发送端进行举例,而当s-gw作为发送端、p-gw作为发送端时,相关方法流程也参照上述步骤2101至步骤2105,在此不再赘述。

本申请实施例中,可选地,gtp数据包对应的gtp隧道标识可以由其它网元确定,并将gtp数据包与gtp隧道标识的对应关系发放给各个通信设备,比如下发给基站1102、s-gw1103和p-gw1104等。各个通信设备接收到gtp数据包之后可以查找出gtp数据包对应的gtp隧道标识。

一种可选地确定gtp数据包对应的gtp隧道标识的方案中,基站可以根据接收到的终端设备发送的数据包所对应的空口信道确定出该数据包对应的基站和s-gw之间的gtp隧道标识,基站将gtp隧道标识封装到该数据包中(也可以称基站对接收到的终端设备所发送的数据包进行gtp隧道封装),得到gtp数据包,之后通过确定出的gtp隧道标识所标识的gtp隧道发送得到的gtp数据包;再比如,s-gw可以根据gtp数据包对应的基站和s-gw之间的gtp隧道标识,确定出s-gw和p-gw之间的gtp隧道标识。也就是说,可以在s-gw中设备s-gw与基站之间的gtp隧道标识和s-gw与p-gw之间的gtp隧道标识的对应关系,s-gw收到gtp数据包的情况下可以根据该gtp数据包所对应的基站和s-gw之间的gtp隧道标识,确定出该gtp数据包对应的s-gw和p-gw之间的gtp隧道标识。

另一种可选地确定gtp数据包对应的gtp隧道标识的方案中,可以通过gtp数据包中的五元组中查找该gtp数据包对应的gtp隧道标识,gtp数据包五元组包括源ip地址、源端口、目的ip地址、目的端口和传输层协议,五元组中的源ip地址和目的ip地址是上述图3中位于数据区域的内部ip头中的源ip地址和目的ip地址。举个例子,比如s-gw收到上行gtp数据包可以分析s1接口的gtp隧道标识并查找上下文找到s5/s8接口的gtp隧道标识和p-gw地址(p-gw地址可以是p-gw的ip地址)。p-gw收到下行数据包,即p-gw收到来自网络的数据包,之后,p-gw通过五元组查找上下文找到s5/s8接口的gtp隧道标识和s-gw地址(s-gw地址可以是s-gw的ip地址),p-gw将该数据包对应的gtp隧道标识封装到该数据包中(也可以称p-gw对接收到的终端设备所发送的数据包进行gtp隧道封装),得到gtp数据包,之后p-gw通过确定出的gtp隧道标识所标识的gtp隧道发送得到的gtp数据包。可选地,gtp数据包对应的gtp隧道标识可以是根据预设的规则分配的,举个例子,比如在建立会话时为该会话过程中所传输的gtp数据包分配gtp隧道标识,之后各个通信设备收到该会话过程中所传输的gtp数据包,则可以查找该gtp数据包对应的gtp隧道标识。

上述步骤2104中有多种实现方式,比如可以在包头区域中除了gtp头区域之外选择一个区域承载gtp隧道标识,比如预定义一个新的字段,或者复用一个已有字段等等。该预设区域的位数不小于gtp隧道标识占用的位数。本申请实施例中提供一种可选地实现方式,该方式中,第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域,包括:第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至包头区域中用于承载源网络协议ip地址的区域中。可选地,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的用于承载源网络协议ip地址的区域中。

可选地,用于承载源网络协议ip地址的区域可以是上述图3中的外部ip头区域中的一部分区域。也可以如下述图6中所示的源ip地址字段所对应的区域。由于外部ip头区域中的源ip地址是32位,而gtp隧道标识也是32位,因此可以将gtp隧道标识承载于用于承载源网络协议ip地址的区域。进一步,由于gtp数据包在传输过程中,可以只根据目的ip地址和gtp隧道标识对gtp数据包进行传输,因此外部ip头区域中的源ip地址在该gtp数据包的传输过程中可以看作是冗余信息,因此将用于承载源网络协议ip地址的区域承载gtp隧道标识不会影响gtp数据包的传输。如此,既实现了openflow设备能够解析出gtp隧道标识,而且也没有对现有gtp数据包的协议格式进行更改,可以较好的兼容现有技术。

进一步,本申请实施例中可以将外部ip头区域中的源ip地址从gtp数据包中去除,当需要再次需要外部ip头区域中的该源ip地址时,可以从该gtp数据包对应的上下文中再次确定出外部ip头区域中的源ip地址。或者根据该gtp数据包的五元组查找出该gtp数据包的外部ip头区域中的源ip地址等等方式,举个例子,比如通信设备存储有gtp数据包的五元组和外部ip中的源ip地址的对应关系,则可以根据gtp数据包五元组查找出该gtp数据包对应的源ip地址地。或者根据该gtp数据包的源mac地址查找出该gtp数据包的外部ip头区域中的源ip地址等等方式,举个例子,比如通信设备存储有gtp数据包的源mac地址和外部ip中的源ip地址的对应关系,则可以根据gtp数据包源mac地址查找出该gtp数据包对应的源ip地址地。

一种可选地实施方式中,第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至包头区域中用于承载源ip地址的区域中之后,还包括:第一gtp处理模块将接收到的第一待处理gtp数据包的包头区域中用于承载源ip地址的区域中的源ip地址搬移至gtp头区域中。可选地,第一待处理gtp数据包的包头区域中的用于承载源ip地址的区域中的源ip地址承载于第一处理后gtp数据包的包头区域中的gtp头区域中。这种实现方式中,第一gtp处理模块也可以先将用于承载源ip地址的区域中的源ip地址搬移至gtp头区域中,再将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至包头区域中用于承载源网络协议ip地址的区域中,这两个搬移动作可以没有必须的先后关系。通过这种实现方式,可以源ip地址和gtp隧道标识的位置进行互换,一方面实现了openflow设备能够识别gtp隧道标识的目的,另一方面,也没有更改原来的数据包格式,第三方面,也没有减少或增多gtp数据包的信息,而且为后续恢复出原始gtp数据包奠定基础。也就是说,本申请实施例提供的该方案无需扩展openflow协议,只需在通信设备输入输出口的openflow设备处挂载gtp处理模块,利用openflow流水线机制即可实现兼容gtp隧道的方案。

此外,第一openflow设备可以将gtp隧道标识承载在外部ip头中的源ip地址字段,即用于承载源ip地址的区域为外部ip头中的源ip地址字段,用于承载源网络协议ip地址的区域可以是上述图3中的外部ip头区域中的一部分区域。也可以如图6中所示的源ip地址字段所对应的区域。另一方面,第一openflow设备可以将源ip地址承载在gtp头区域的gtp隧道标识字段。可见,该可能的实施方案中,第一gtp处理模块在接收到第一待处理gtp数据包时,首先解析第一待处理gtp数据包的gtp隧道标识(gtp隧道标识此时位于第一待处理gtp数据包的高层),然后第一gtp处理模块将gtp隧道标识字段和源ip地址字段上承载的内容进行交换,得到第一处理后gtp数据包,最后将第一处理后gtp数据包从与第一openflow设备连接的逻辑端口发送回第一openflow设备,从而可以完成高层gtp隧道标识和底层源ip地址的互换的目的。

通过分析gtp数据包在gtp隧道内部传输的过程可以发现,基于sdn技术的转发是基于目的ip地址的,源ip地址并不影响路由转发决策。这也意味着在隧道内部传输过程中,源ip地址对于路由转发是冗余信息。此外,由于gtp隧道标识的长度为32位,与源ip地址的长度相同,所以可以将gtp隧道标识字段和隧道源ip地址字段交换,即将gtp隧道标识存储到隧道源ip地址的位置,将隧道源ip地址存储到gtp隧道标识字段位置。经过这样的交换操作,openflow协议就可以在不扩展的情况下通过匹配源ip地址位置来获取gtp隧道标识。

基于上述内容,图5示意性示出了本申请实施例提供的另一种gtp数据包传输方法,该包括:

步骤2301,第二openflow设备通过gtp隧道接收第一通信设备发送的第二待处理gtp数据包;其中,第二待处理gtp数据包包括第二待处理gtp数据包对应的gtp隧道标识;第二待处理gtp数据包是从第一通信设备通过gtp隧道发送至与第二openflow设备连接的第二通信设备的gtp数据包;该步骤中第一通信设备可以是通过第一openflow设备发出的第二待处理gtp数据包;

步骤2302,第二openflow设备将第二待处理gtp数据包发送给第二gtp处理模块进行处理;

步骤2303,第二gtp处理模块对第二待处理gtp数据包进行处理后得到第二处理后gtp数据包;

步骤2304,第二gtp处理模块向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包;第二gtp处理模块接收第二openflow设备发送的第二待处理gtp数据包;其中,第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源ip地址;源ip地址为外部源ip地址,即为上述图3中的外部ip头区域对应的源ip;

步骤2305,第二openflow设备向与第二openflow设备连接的第二通信设备发送第二处理后gtp数据包。

本申请实施例中通过上述步骤2301至步骤2305的方案,由于第二gtp处理模块对第二待处理gtp数据包进行了处理,因此第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源ip地址,从而为第二待处理gtp数据包在后续的传输过程中正常传输奠定了基础,而且可以为上述第一gtp处理模块将gtp隧道标识承载于用于承载源ip地址的区域中进行传输的方案提供了支持,通过该步骤2301至步骤2305的方案可以将源ip地址重新放置到用于承载源ip地址的区域中,从而可以实现gtp数据包的完整性,也可以为gtp协议和openflow协议的兼容提供支持。

本申请实施例中,第二通信设备为接收端的通信设备,结合上述图1举例说明,比如,若gtp数据包将从基站1102发送至s-gw1103,则第一通信设备为基站1102,第二通信设备为s-gw1103,第二openflow设备为与第二通信设备连接的openflow设备1202,第二gtp处理模块为与第二openflow设备连接的gtp处理模块1302。再比如,若gtp数据包将从s-gw1103发送至基站1102,则第一通信设备为s-gw1103,第二通信设备为基站1102,第二openflow设备为openflow设备1201,第二gtp处理模块为gtp处理模块1301。再比如,若gtp数据包将从s-gw1103发送至p-gw1104,则第一通信设备为s-gw1103,第二通信设备为p-gw1104,第二openflow设备为openflow设备1204,第二gtp处理模块为gtp处理模块1304。再比如,若gtp数据包将从p-gw1104发送至s-gw1103,则第一通信设备为p-gw1104,第二通信设备为s-gw1103,第二openflow设备为openflow设备1203,第二gtp处理模块为gtp处理模块1303。

本申请实施例中若第一gtp处理模块将gtp隧道标识承载于第二待处理gtp数据包的用于承载源ip地址的区域中(第二待处理gtp数据包可以是上述第一openflow设备发送的第一处理后gtp数据包),则第二gtp处理模块需要将外部ip头区域对应的源ip地址重新放置在第二待处理gtp数据包的用于承载源ip地址的区域中。若第一gtp处理模块没有将gtp隧道标识承载于第二待处理gtp数据包的用于承载源ip地址的区域中,则第二待处理gtp数据包的用于承载源ip地址的区域中仍旧存储有源ip地址,这种情况下,第二gtp处理模块可以不需要执行将源ip地址重新放置在第二待处理gtp数据包的用于承载源ip地址的区域中的操作。

一种可选地实施方式中,第二openflow设备将接收到的第二待处理gtp数据包都发送给第二gtp处理模块进行处理。另一种可选地实施方式中,在从第二待处理gtp数据包的包头区域的用于承载源ip地址的区域中解析到源ip地址的情况下,第二openflow设备不将接收到的第二待处理gtp数据包发送给第二gtp处理模块进行处理。第三种可选地实施方式中,在未从第二待处理gtp数据包的包头区域的用于承载源ip地址的区域中解析到源ip地址的情况下,第二openflow设备将接收到的第二待处理gtp数据包都发送给第二gtp处理模块进行处理。

第二gtp处理模块可以有多种确定出第二待处理gtp数据包的外部源ip地址的方式,比如可以由第二通信设备、第一通信设备或者第二openflow设备发送给第二gtp处理模块;再比如,第二gtp处理模块可以从存储区(该存储区可以是第二通信设备的存储区,或者第二openflow设备的存储区,或者是第二gtp处理模块的存储区)查询该第二待处理gtp数据包对应的外部源ip地址(比如通信设备存储有gtp数据包的五元组和外部源ip地址的对应关系,则可以根据gtp数据包五元组查找出该gtp数据包对应的外部源ip地址),或者从该第二待处理gtp数据包对应的上下文查找该第二待处理gtp数据包对应的外部源ip地址。

另一种可选地实施方式中,第二待处理gtp数据包的包头区域中用于承载源ip地址的区域承载有gtp隧道标识;源ip地址承载于第二待处理gtp数据包的包头区域中的gtp头区域中,源ip地址为外部源ip地址,即为上述图3中的外部ip头区域对应的源ip。可选地,第二gtp处理模块向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包之前,还包括:在未从第二待处理gtp数据包的包头区域的用于承载源ip地址的区域中解析到源ip地址的情况下,第二gtp处理模块将接收到的第二待处理gtp数据包的包头区域中的gtp头区域中承载的源ip地址搬移至第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中,得到第二处理后gtp数据包。这种方式可以更加快速的将外部源ip地址放置到第二处理后gtp数据包的用于承载源ip地址的区域中,为该gtp数据包的后续传输奠定基础。

当然,如果第二待处理gtp数据包的包头区域中用于承载源ip地址的区域承载有gtp隧道标识,而源ip地址承载于第二待处理gtp数据包的包头区域中的gtp头区域中,源ip地址为外部源ip地址,即为上述图3中的外部ip头区域对应的源ip时,则为了实现gtp数据包的完整性,可以在gtp数据包传输出核心网时,采用同样的方法将gtp隧道标识和源ip地址的位置交换回来,从而不影响数据包在网关内部的任何操作,保证整个处理机制的全局安全性。第二gtp处理模块还可以将接收到的第二待处理gtp数据包的包头区域中的gtp头区域中承载的源ip地址搬移至第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中之后,将接收到的第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中承载的gtp隧道标识搬移至第二待处理gtp数据包的包头区域中的gtp头区域中。其中,gtp隧道标识承载于第二处理后gtp数据包的包头区域中的gtp头区域中。

通过上述的方案,若第二待处理gtp数据包的包头区域中用于承载源ip地址的区域承载有gtp隧道标识;源ip地址承载于第二待处理gtp数据包的包头区域中的gtp头区域中。则在接收侧,本申请实施例中可以gtp隧道标识和源ip地址再次互换,从而恢复出gtp数据包原始的样子,为该gtp数据包后续传输奠定基础。

基于上述图4和图5所提供的方法,本申请实施例中对openflow设备的改进进行介绍。openflow设备(可以是上述第一openflow设备和第二openflow设备)可以使用openflow流水线机制处理gtp数据包。也就是说可以设置各个openflow流表,使openflow设备依次执行各个openflow流表。图6示例性示出了本申请实施例提供的一种openflow流表的表项的包头区域的结构示意图,如图6所示,openflow流表每个表项由三个部分构成:用于gtp数据包匹配的包头区域(英文可以称为headerfields),用于统计匹配gtp数据包个数的计数器(英文可以称为counters)以及用于展示匹配的gtp数据包如何处理的动作(英文可以称为actions)。在openflow1.0规范中,包头域包括了12个元组,具体内容如图6所示,包括入端口、源媒体访问控制(mediumaccesscontrol,mac)地址、目的mac地址、虚拟局域网(virtuallocalareanetwork,vlan)标识(identifier,id)、vlan优先级、源ip地址(为上述外部源ip地址)、目的ip地址(为上述外部目的ip地址)、ip协议、ip服务类型(typeofservice,tos)位、传输控制协议(transfercontrolprotocol,tcp)/用户数据报协议(userdatagramprotocol,udp)源端口、tcp/udp目的端口。从图6中可以看出该包头域中用于gtp数据包匹配的元组涵盖了osi网络模型中二层到四层的配置信息,每一个元组的值可以是一个确定的值或者是“any”,“any”表示任意值。

openflow流表与传统交换机转发表只需要指明gtp数据包的转发端口不同,openflow设备对于匹配gtp数据包的处理不仅仅是简单的转发操作,而需要用动作来详细说明交换机将对gtp数据包所做的处理。

本申请实施例中,在通信设备(如上述第一通信设备和/或第二通信设备)的输入输出口处的openflow设备的逻辑端口挂载gtp处理模块(比如上述第一通信设备的输入输出口配置第一openflow设备,第一openflow设备挂载第一gtp处理模块),gtp处理模块与openflow设备协作实现对gtp数据包的处理流程(比如上述步骤2101至步骤2105)。可选地,挂载有gtp处理模块的openflow设备可以看作是网关功能的扩展。可选地,可以在openflow设备(该openflow设备指挂载有gtp处理模块的openflow设备,比如第一openflow设备和/或第二openflow设备)中设置至少五条流表(下述五条流表仅仅为示例),流表0至流表4如下所示:

流表0,优先级第一,执行的动作为:匹配出未经gtp处理模块进行处理的gtp数据包(也可以说是匹配入端口不与gtp处理模块相连的gtp数据包),将该未经gtp处理模块进行处理的gtp数据包发送至gtp处理模块进行处理。

流表1,优先级第二,执行的动作为:匹配出经gtp处理模块进行处理过的gtp数据包(也可以说是匹配入端口与gtp处理模块相连的gtp数据包),把经gtp处理模块进行处理过的gtp数据包发往流表2,把非gtp数据包发往流表3。

流表2,优先级第三,执行的动作为:可以根据gtp数据包中源mac地址确定该gtp数据包的传输方向。举个例子,openflow设备为第一openflow设备,第一通信设备为s-gw,第二通信设备为p-gw,则第一openflow设备在执行流表2时,判断该gtp数据包是来自该第一openflow设备相连的s-gw,还是来自于p-gw),若传输方向为需要从第一通信设备通过gtp隧道发送至第二通信设备,则将该gtp数据包发往流表4;若传输方向为从第二通信设备通过gtp隧道发送至第一openflow设备,并需该第一openflow设备发送至第一通信设备,则第一openflow设备将该gtp数据包发往与该第一openflow设备相连的第一通信设备。

再举个例子,openflow设备为第二openflow设备,第一通信设备为s-gw,第二通信设备为p-gw,则第一openflow设备在执行流表2时,判断该gtp数据包是来自该第二openflow设备相连的p-gw,还是来自于s-gw,若传输方向为从第一通信设备通过gtp隧道发送过来的,则第二openflow设备将该gtp数据包发往第二通信设备;若传输方向为从第二通信设备通过gtp隧道发送至第一openflow设备的,则第二openflow设备将该gtp数据包发往流表4。

流表3,执行的动作为:转发非gtp数据包;

流表4,将该gtp数据包通过gtp隧道发送至其它通信设备。其它通信设备是指除了与openflow设备连接的通信设备之外的通信设备,比如该openflow设备为第一openflow设备,则该其它通信设备即为第二通信设备;再比如,该openflow设备为第二openflow设备,则该其它通信设备即为第一通信设备。可选地,第二通信设备的输入输出口处配置有第二openflow设备,因此第一openflow设备将该gtp数据包先发送至第二openflow设备,之后第二openflow设备将该gtp数据包发送至第二通信设备。

上述流表0至流表4中优先级第一为最先执行的流表,即优先级最高的流表,优先级第二即第二执行的流表,优先级第三即第三执行的流表。

基于上述流表,图7示例性示出了本申请实施例提供的一种gtp数据包传输方法流程示意图,如图7所示,该方法包括:

步骤2201,openflow设备接收到数据包;若该openflow设备是上述第一openflow设备,该数据包是从第一通信设备发往第二通信设备的,则该openflow设备是接收到的第一通信设备发送的数据包;若该openflow设备是上述内容中的第二openflow设备,第二openflow设备是配置在第二通信设备的输入输出口的openflow设备,该数据包是从第一通信设备发往第二通信设备的,则第一openflow设备发出的数据包先到达第二openflow设备,第二openflow设备通过gtp隧道接收到数据包。

步骤2202,判断数据包是否是gtp数据包;若不是,则执行步骤2203;若是,则执行步骤2204。

步骤2203,直接转发该属于非gtp数据包的数据包;其中,非gtp数据包比如可以为如地址解析协议(addressresolutionprotocol,arp),链路层发现协议(linklayerdiscoveryprotocol,lldp)。这个步骤即相当于执行上述流表3。

步骤2204,判断该数据包是否经过gtp处理模块的处理,即执行上述流表0,在确定该数据包未经过gtp处理模块的处理的情况下,执行步骤2205;在确定该数据包经过gtp处理模块的处理的情况下,执行步骤2206。该gtp处理模块是挂载在openflow设备上的gtp处理模块,比如若openflow设备为第一openflow设备,则gtp处理模块为挂载在第一openflow设备上的第一gtp处理模块;若openflow设备为第二openflow设备,则gtp处理模块为挂载在第二openflow设备上的第二gtp处理模块。这个步骤即相当于执行上述流表1。

步骤2205,将数据包发送至gtp处理模块进行处理,并接收gtp处理模块反馈的处理后gtp数据包。

步骤2206,判断该数据包的传输方向,若需要通过gtp隧道发送至其它通信设备,则执行步骤2207;若需要发送至该openflow设备连接的通信设备,则执行步骤2208。这个步骤即相当于执行上述流表2。

其它通信设备是指除了与openflow设备连接的通信设备之外的通信设备,比如该openflow设备为第一openflow设备,则该其它通信设备即为第二通信设备;再比如,该openflow设备为第二openflow设备,则该其它通信设备即为第一通信设备。

可选地,可以通过数据包中的源mac确定出该数据包的传输方向,该数据包是从第一通信设备传输至第二通信设备,则该数据包中的源mac为第一通信设备的源mac,比如,该数据包是从s-gw传输至p-gw,则该数据包的源mac为s-gw的mac地址。

步骤2207,将该数据包通过gtp隧道发送至其它通信设备。这个步骤即相当于执行上述流表4。

步骤2208,将该数据包发送至该openflow设备连接的通信设备。

基于上述内容可以看出,本申请实施例中为通信设备输入输出口配置的openflow设备挂载了gtp处理模块,且在openflow设备中增加流表,该改动对现有技术中的网络部署改动较小,可以更好的兼容现有技术。

基于上述内容,为了更清楚的介绍本申请实施例,下面结合图1举例说明。比如第一通信设备为基站1102,则第一openflow设备为1201,第一gtp处理模块为gtp处理模块1301,第二通信设备为s-gw1103,则第二openflow设备为1302,第二gtp处理模块为gtp处理模块1302。第一待处理gtp数据包的传输方向是从基站1102发送至s-gw1103的gtp数据包。

如图1所示,基站1102接收到数据包,并查找出数据包对应的基站1102和s-gw1103之间的gtp隧道标识(比如可以根据数据包对应的空口信道,查找该空口信道对应的基站和s-gw之间的gtp隧道标识),并将该gtp隧道标识封装在该数据包中(也可以称基站对接收到的终端设备所发送的数据包进行gtp隧道封装),得到第一待处理gtp数据包。

基站1102将第一待处理gtp数据包发送给openflow设备1201,openflow设备1201将第一待处理gtp数据包发送给gtp处理模块1301,gtp处理模块1301将第一待处理gtp数据包中gtp头区域承载的gtp隧道标识和包头区域中用于承载源ip地址的区域中的源ip地址互换位置,得到第一处理后gtp数据包。第一处理后gtp数据包的用于承载源ip地址的区域中承载gtp隧道标识,第一处理后gtp数据包的gtp头区域中的gtp隧道标识字段承载源ip地址,该源ip地址为外部ip地址,此时为基站1102的ip地址。

gtp处理模块1301将第一处理后gtp数据包发送给openflow设备1201,openflow设备1201确定第一处理后gtp数据包中的源mac地址是基站1102的mac地址,确定该第一处理后gtp数据包的传输方向是从基站1102向s-gw1103,则openflow设备1201根据外部ip头区域中的目的ip(该目的ip地址为外部ip地址,此时为s-gw1103的ip地址)确定出s-gw1103的ip地址,openflow设备1201通过承载于第一处理后gtp数据包中的用于承载源ip地址的区域中所承载gtp隧道标识,通过该gtp隧道标识所标识的gtp隧道将第一处理后gtp数据包发送给配置在s-gw1103的输入输出口的openflow设备1202。

openflow设备1202将接收到的第一处理后gtp数据包发送给gtp处理模块1302。第一处理后gtp数据包也可以称为上述第二待处理gtp数据包,下述内容中以第二待处理gtp数据包为例进行说明。

gtp处理模块1302将第二待处理gtp数据包中gtp头区域承载的源ip地址与和包头区域中用于承载源ip地址的区域中承载的gtp隧道标识互换位置,得到第二处理后gtp数据包。第二处理后gtp数据包的用于承载源ip地址的区域中承载源ip地址,第二处理后gtp数据包的gtp头区域中的gtp隧道标识字段承载gtp隧道标识。

gtp处理模块1302将第二处理后gtp数据包发送给openflow设备1202,openflow设备1202确定第二处理后gtp数据包中的源mac地址是基站1102的mac地址,确定该第二处理后gtp数据包的传输方向是从基站1102向s-gw1103,则openflow设备1202将第二处理后gtp数据包发送给s-gw1103。

可见,通过基站1102和s-gw1103输入输出口的gtp处理模块和openflow设备实现了通过gtp隧道传输gtp数据包的目的。后续,当s-gw需要将接收到的gtp数据包发送给p-gw,则s-gw1103为第一通信设备,p-gw1104为第二通信设备,第一openflow设备为openflow设备1203,第一gtp处理模块为gtp处理模块1303,第二openflow设备为openflow设备1204,第二gtp处理模块为gtp处理模块1304,s-gw1103可以确定出接收到的gtp数据包对应的s-gw和p-gw之间的gtp隧道标识。传输过程与上述内容类似,不再赘述。可选地,当p-gw确定接收到的gtp数据包需要发送给网络侧,则可以将gtp数据包的gtp头剥离(也可以称去除gtp数据包的gtp隧道封装),得到数据包,将得到的数据包通过sgi口发送至网络侧。

本申请实施例中引入了sdn控制器,比如图1中的sdn控制器1105,sdn控制器1105可以与s-gw和p-gw配合管理s-gw与p-gw间的传输网络。数据平面可以全部由支持openflow的二三层交换设备组成,服从sdn控制器的调度。此架构数据平面可以由s-gw和p-gw的用户面设备和openflow设备组成,控制平面可以由整合sdn控制器的s-gw和p-gw控制平面网元、移动性管理模块(mobilitymanagemententity,mme)、归属签约用户服务器(homesubscriberserver,hss)和策略与计费规则功能单元(policyandchargingrulesfunction,pcrf)组成。在这种情况下,mme可以利用epc网络中的方法进行移动性管理,为终端设备选择s-gw,并建立基站与s-gw间的gtp隧道。s-gw和p-gw的控制面功能可以运行在sdn控制器之上,可以通过jsonrpc消息与sdn控制器通信,互相交换终端设备相关信息与s-gw的信息,或者交换终端设备相关信息与p-gw的信息。s-gw和p-gw的控制面策略可以由mme、hss以及pcrf配合实现,主要负责为终端设备分配ip和为用户流指定业务流模板(trafficflowtemplate,tft)。sdn控制器可以通过openflow协议控制数据面设备,与s-gw和p-gw控制面配合管理tft。s-gw和p-gw的数据面设备可以提供gtp隧道的端点,并且在切换过程中可以锚固gtp隧道。本申请实施例中通过sdn来管理传输网络可以方便地实现开销控制和路由优化。譬如,sdn控制器可以根据流的类型和需求来选择处于云端的gtp端点或直接选择硬件的gtp端点。可选地,本申请实施例所提供的方案可以兼容现有3gpp标准,可以是移动核心网向sdn平滑演进过程中所适用的方案。

基于上述内容可以看出,本申请实施例中可以将sdn技术引入核心网epc的架构,将epc中s-gw和p-gw的控制和用户平面彻底分离为s-gwc,s-gwu和p-gwc,p-gwu,将核心网中的路由交换设备可以用openflow设备替代,并利用sdn控制器管理s-gw与p-gw之间的核心网传输网络。进一步,本申请实施例中可以在gtp隧道端点的通信设备的输入输出口配置openflow设备,并在该openflow设备上挂着gtp处理模块,可选地,在除了gtp隧道端点的通信设备的输入输出口配置openflow设备之外的openflow设备可以不必配置gtp处理模块。可选地,gtp处理模块可以为一个单独的与openflow设备连接的装置,也可以是集成在openflow设备上的模块,也可以是集成在通信设备上的模块。

本申请实施例中可以使得sdn可以处理核心网的gtp-u数据包,在sdn网络中实现gtp业务流粒度的数据包控制,为移动核心网向sdn化平滑演进奠定了基础。第二,本申请实施例中提出的核心网架构可以实现控制平面和数据平面完全分离,可以提高了核心网控制功能的灵活性和转发功能的高效性。第三,对于实现网络的负载均衡而言,本申请实施例中所使用的集中式的控制和全局信息的感知可以使得sdn控制器可以根据当前核心网的负载情况计算出最佳路径,并通过南向协议将数据转发策略动态地下发给相应sdn交换机,从而实现提升网络资源利用率,降低网络拥塞概率,实现整个网络的负载均衡。第四,由于本申请实施例中核心网路由交换设备可以采用openflow设备,底层设备能够向sdn控制器上传状态信息,因此sdn控制器可以定期向openflow设备发送请求信息以取得相应的统计资料,包括流表信息、端口信息等,并且用合适的方式将取得的统计信息进行组织,从而可以获取不同粒度的统计信息,方便地实现网络的流量统计与监测,减轻原有核心网中网关的工作压力。第五,sdn控制器结合openflow设备还可以统计网络的ip地址、mac地址、接入的交换机、端口号等各种基本的网络信息。因此可以实现比原有核心网的网关计费功能更加全面细致的流量统计功能。

基于上述内容以及相同构思,图8示例性示出了本申请实施例还提供一种gtp处理模块的结构示意图,如图8所示,该gtp处理模块3101可以是一个单独的设备,也可以是集成在其它设备上的一个模块,比如可以是集成在第一openflow设备上的一个模块,或者是集成在第一通信设备的上模块。gtp处理模块3101可以是上述内容中的第一gtp处理模块,可以用于执行上述图4中第一gtp处理模块所执行的方法,也就是说,该gtp处理模块3101可以是挂载在第一openflow设备上的gtp处理模块。该gtp处理模块3101包括接收单元3102、处理单元3103和发送单元3104。

接收单元3102,用于接收第一openflow设备发送的第一待处理gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;其中,第一待处理gtp数据包是从第一通信设备通过所连接的第一openflow设备通过gtp隧道发送至第二通信设备的数据包;处理单元3103,用于将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域,得到第一处理后gtp数据包;其中,预设区域为包头区域中除gtp头区域之外的区域;发送单元3104,用于将第一处理后gtp数据包反馈给第一openflow设备。

基于上述内容以及相同构思,图9示例性示出了本申请实施例还提供一种用于传输gtp数据包的openflow设备的结构示意图,如图9所示,该openflow设备3201可以是配置在第一通信设备的输入输出口上的设备。openflow设备3201可以是上述内容中的第一openflow设备,可以用于执行上述图4中第一openflow设备所执行的方法。该openflow设备3201包括接收单元3202、处理单元3203和发送单元3204。

处理单元3203可以用于控制接收单元3202和发送单元3204进行数据的接收的和发送;接收单元3202,用于接收与openflow设备连接的第一通信设备发送的第一待处理gtp数据包;接收第一gtp处理模块发送的对第一待处理gtp数据包进行处理后得到的第一处理后gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;gtp隧道标识承载于第一待处理gtp数据包的包头区域中的gtp头区域;发送单元3203,用于将第一待处理gtp数据包发送给第一gtp处理模块进行处理;根据承载于预设区域中的gtp隧道标识通过gtp隧道向第二通信设备发送第一处理后gtp数据包;其中,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的预设区域;预设区域为包头区域中除gtp头区域之外的区域。

基于上述内容以及相同构思,图10示例性示出了本申请实施例还提供一种gtp处理模块的结构示意图,如图10所示,该gtp处理模块3301可以是一个单独的设备,也可以是集成在其它设备上的一个模块,比如可以是集成在第二openflow设备上的一个模块,或者是集成在第二通信设备的上模块。gtp处理模块3301可以是上述内容中的第二gtp处理模块,可以用于执行上述图5中第二gtp处理模块所执行的方法,也就是说,该gtp处理模块3301可以是挂载在第二openflow设备上的gtp处理模块。该gtp处理模块3301可以包括接收单元3302、处理单元3303和发送单元3304。

接收单元3302,用于接收第二开放流openflow设备发送的第二待处理gtp数据包;其中,第二待处理gtp数据包包括第二待处理gtp数据包对应的gtp隧道标识;其中,第二待处理gtp数据包是从第一通信设备通过gtp隧道发送至与第二openflow设备连接的第二通信设备的数据包;发送单元3304,用于向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包;其中,第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源网络协议ip地址。

基于上述内容以及相同构思,图11示例性示出了本申请实施例还提供一种用于传输gtp数据包的openflow设备的结构示意图,如图11所示,该openflow设备3401可以是配置在第一通信设备的输入输出口上的设备。openflow设备3401可以是上述内容中的第一openflow设备,可以用于执行上述图4中第一openflow设备所执行的方法。该openflow设备3401包括接收单元3402、处理单元3403和发送单元3404。

处理单元3203可以用于控制接收单元3402和发送单元3404进行数据的接收的和发送;接收单元3402,用于通过gtp隧道接收第一通信设备发送的第二待处理gtp数据包;接收第二gtp处理模块发送的对第二待处理gtp数据包进行处理后得到的第二处理后gtp数据包;其中,第二处理后gtp数据包的包头区域中用于承载源网络协议ip地址的区域中承载源ip地址;发送单元3404,用于将第二待处理gtp数据包发送给第二gtp处理模块进行处理;向与openflow设备连接的第二通信设备发送第二处理后gtp数据包。

需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

基于以上实施例以及相同构思,图12为本申请实施例提供的一种gtp处理模块的结构示意图,如图12所示,该gtp处理模块4100可以为网络设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。该gtp处理模块4100可以实现如上图4中所示的任一项或任多项对应的方法中第一gtp处理模块所执行的步骤,或者该gtp处理模块4100可以实现如上图5中所示的任一项或任多项对应的方法中第二gtp处理模块所执行的步骤。该gtp处理模块4100可以包括处理器4101、发送接口4102和接收接口4106、存储器4103;其中,处理器4101、发送接口4102、接收接口4106和存储器4103通过总线4105相互连接。

可选地,存储器4103可以用于存储程序指令,处理器4101调用该存储器4103中存储的程序指令,可以控制接收接口4106和发送接口4102进行信号接收和信号发送,可以执行上述方案中所示实施例中的一个或多个步骤,或其中可选的实施方式,使得gtp处理模块4100实现上述方法中通信设备的功能。

gtp处理模块4100用于实现如上图4中所示的任一项或任多项对应的方法中第一gtp处理模块所执行的步骤时,gtp处理模块4100中的接收接口4106,用于接收第一openflow设备发送的第一待处理gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;其中,第一待处理gtp数据包是从第一通信设备通过所连接的第一openflow设备通过gtp隧道发送至第二通信设备的数据包;处理器4101,用于将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域,得到第一处理后gtp数据包;其中,预设区域为包头区域中除gtp头区域之外的区域;发送接口4102,用于将第一处理后gtp数据包反馈给第一openflow设备。

gtp处理模块4100用于实现如上图4中所示的任一项或任多项对应的方法中第一gtp处理模块所执行的步骤时,在一种可能的设计中,处理器4101,在将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至预设区域时,具体用于:将接收到的第一待处理gtp数据包的包头区域中的gtp头区域中承载的gtp隧道标识搬移至包头区域中用于承载源网络协议ip地址的区域中。在一种可能的设计中,处理器4101还可以将接收到的第一待处理gtp数据包的包头区域中用于承载源ip地址的区域中的源ip地址搬移至gtp头区域中。

也就是说,gtp处理模块4100用于实现如上图4中所示的任一项或任多项对应的方法中第一gtp处理模块所执行的步骤时,接收接口4106可以用于执行上述图8中接收单元3102所执行的方案,发送接口4102可以用于执行上述图8中发送单元3104所执行的方案,处理器4101可以用于执行上述图8中处理单元3103所执行的方案。

gtp处理模块4100用于实现如上图5中所示的任一项或任多项对应的方法中第二gtp处理模块所执行的步骤时,接收接口41606,用于接收第二开放流openflow设备发送的第二待处理gtp数据包;其中,第二待处理gtp数据包包括第二待处理gtp数据包对应的gtp隧道标识;其中,第二待处理gtp数据包是从第一通信设备通过gtp隧道发送至与第二openflow设备连接的第二通信设备的数据包;发送接口4102,用于向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包;其中,第二处理后gtp数据包的包头区域的用于承载源ip地址的区域中承载源网络协议ip地址。

gtp处理模块4100用于实现如上图5中所示的任一项或任多项对应的方法中第二gtp处理模块所执行的步骤时,在一种可能的设计中,处理器4101,还用于在通过发送单元向第二openflow设备发送第二待处理gtp数据包对应的第二处理后gtp数据包之前,还用于:在未从第二待处理gtp数据包的包头区域的用于承载源ip地址的区域中解析到源ip地址的情况下,将接收到的第二待处理gtp数据包的包头区域中的gtp头区域中承载的源ip地址搬移至第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中,得到第二处理后gtp数据包。在一种可能的设计中,处理器4101在将接收到的第二待处理gtp数据包的包头区域中的gtp头区域中承载的源ip地址搬移至第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中之后,还用于:将接收到的第二待处理gtp数据包的包头区域中的用于承载源ip地址的区域中承载的gtp隧道标识搬移至第二待处理gtp数据包的包头区域中的gtp头区域中。

也就是说,gtp处理模块4100用于实现如上图5中所示的任一项或任多项对应的方法中第二gtp处理模块所执行的步骤时,接收接口4106可以用于执行上述图10中接收单元3302所执行的方案,发送接口4102可以用于执行上述图10中发送单元3304所执行的方案,处理器4101可以用于执行上述图10中处理单元3303所执行的方案。

基于以上实施例以及相同构思,图13为本申请实施例提供的一种用于传输gtp数据包的开放流openflow设备的结构示意图,如图13所示,该openflow设备4200可以为网络设备,也可以为芯片或电路,比如可设置于网络设备的芯片或电路。该openflow设备4200可以实现如上图4中所示的任一项或任多项对应的方法中第一openflow设备所执行的步骤,或者该openflow设备4200可以实现如上图5中所示的任一项或任多项对应的方法中第二openflow设备所执行的步骤。该openflow设备4200可以包括处理器4201、发送接口4202和接收接口4206和存储器4203;其中,处理器4201、发送接口4202、接收接口4206和存储器4203通过总线4205相互连接。

可选地,存储器4203可以用于存储程序指令,处理器4201调用该存储器4203中存储的程序指令,可以控制接收接口4206和发送接口4202进行信号接收和信号发送,可以执行上述方案中所示实施例中的一个或多个步骤,或其中可选的实施方式,使得openflow设备4200实现上述方法中通信设备的功能。

该openflow设备4200用于实现如上图4中所示的任一项或任多项对应的方法中第一openflow设备所执行的步骤时,接收接口4206,用于接收与openflow设备连接的第一通信设备发送的第一待处理gtp数据包;接收第一gtp处理模块发送的对第一待处理gtp数据包进行处理后得到的第一处理后gtp数据包;其中,第一待处理gtp数据包包括第一待处理gtp数据包对应的gtp隧道标识;gtp隧道标识承载于第一待处理gtp数据包的包头区域中的gtp头区域;发送接口4202,用于将第一待处理gtp数据包发送给第一gtp处理模块进行处理;根据承载于预设区域中的gtp隧道标识通过gtp隧道向第二通信设备发送第一处理后gtp数据包;其中,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的预设区域;预设区域为包头区域中除gtp头区域之外的区域。

该openflow设备4200用于实现如上图4中所示的任一项或任多项对应的方法中第一openflow设备所执行的步骤时,在一种可能的设计中,gtp隧道标识承载于第一处理后gtp数据包的包头区域中的用于承载源网络协议ip地址的区域中。在一种可能的设计中,第一待处理gtp数据包的包头区域中的用于承载源ip地址的区域中的源ip地址承载于第一处理后gtp数据包的包头区域中的gtp头区域中。

也就是说,openflow设备4200用于实现如上图4中所示的任一项或任多项对应的方法中第一openflow设备所执行的步骤时,接收接口4206可以用于执行上述图9中接收单元3202所执行的方案,发送接口4202可以用于执行上述图9中发送单元3204所执行的方案,处理器4201可以用于执行上述图8中处理单元3203所执行的方案。

该openflow设备4200用于实现如上图5中所示的任一项或任多项对应的方法中第二openflow设备所执行的步骤时,接收接口4206,用于通过gtp隧道接收第一通信设备发送的第二待处理gtp数据包;接收第二gtp处理模块发送的对第二待处理gtp数据包进行处理后得到的第二处理后gtp数据包;其中,第二处理后gtp数据包的包头区域中用于承载源网络协议ip地址的区域中承载源ip地址;发送接口4202,用于将第二待处理gtp数据包发送给第二gtp处理模块进行处理;向与openflow设备连接的第二通信设备发送第二处理后gtp数据包。

该openflow设备4200用于实现如上图5中所示的任一项或任多项对应的方法中第二openflow设备所执行的步骤时,在一种可能的设计中,第二待处理gtp数据包的包头区域中用于承载源ip地址的区域承载有gtp隧道标识;源ip地址承载于第二待处理gtp数据包的包头区域中的gtp头区域中。在一种可能的设计中,gtp隧道标识承载于第二处理后gtp数据包的包头区域中的gtp头区域中。

也就是说,openflow设备4200用于实现如上图5中所示的任一项或任多项对应的方法中第二openflow设备所执行的步骤时,接收接口4206可以用于执行上述图11中接收单元3402所执行的方案,发送接口4202可以用于执行上述图11中发送单元3404所执行的方案,处理器4201可以用于执行上述图11中处理单元3403所执行的方案。

如图12和图13所示,在图12和图13中,总线4105和/或总线4205可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12和图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器4103和/或存储器4203可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器4103和/或存储器4203还可以包括上述种类的存储器的组合。

接收接口4106、发送接口4102、接收接口4206和发送接口4202中的任一项或任多项可以为有线通信接入口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为wlan接口。

处理器4101和/或处理器4201可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。处理器5301还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。

应理解,本文中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,除非有特殊说明。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrativelogicalblock)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站的站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站的站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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