一种GTPU数据转发方法.pdf

上传人:62****3 文档编号:4310820 上传时间:2018-09-13 格式:PDF 页数:11 大小:430.80KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110435982.3

申请日:

2011.12.22

公开号:

CN102413455A

公开日:

2012.04.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04W 8/20申请日:20111222|||公开

IPC分类号:

H04W8/20(2009.01)I

主分类号:

H04W8/20

申请人:

北京北方烽火科技有限公司

发明人:

黄宬; 余建国; 付永魁

地址:

100085 北京市海淀区上地东路5号院1号楼(烽火科技大厦)

优先权:

专利代理机构:

北京信远达知识产权代理事务所(普通合伙) 11304

代理人:

王学强

PDF下载: PDF下载
内容摘要

本发明公开了提供了一种GTP-U数据的转发方法,该方法包括:在主控单元的网络驱动层调用第一回调函数将接收的GTP-U数据缓存并发送至GTP层;在所述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP数据并发送至基带处理单元;在所述基带处理单元的网络驱动层调用所述第一回调函数将所述PDCP数据缓存。本发明还提供了一种GTP-U数据的转发方法,该方法包括:将基带处理单元接收的数据发送至主控单元;在所述主控单元的网络驱动层调用第二回调函数将所述数据缓存并发送至GTP层;在所述GTP层将接收的所述数据的头内容修改,生成所述GTP层需要的GTP-U数据并发送。本发明所提供的方法能够使数据不必进入TCP/IP的协议栈而进行转发,提高了数据的转发速率。

权利要求书

1: 一种 GTP-U 数据转发方法, 其特征在于, 所述方法包括 : 在主控单元的网络驱动层调用第一回调函数将接收的 GTP-U 数据缓存并发送至 GTP 层; 在所述 GTP 层修改所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据并发 送至基带处理单元 ; 在所述基带处理单元的网络驱动层调用所述第一回调函数将所述 PDCP 数据缓存。2: 根据权利要求 1 所述的方法, 其特征在于, 当所述的 PDCP 层在所述的基带处理单元 时, 所述方法还包括 : 将所述基带处理单元的网络驱动层缓存的所述 PDCP 数据发送至所述 PDCP 层。3: 根据权利要求 1 所述的方法, 其特征在于, 当所述的 PDCP 层在所述的主控单元时, 所 述发送至基带处理单元包括 : 发送所述 PDCP 数据至所述 PDCP 层 ; 所述 PDCP 层发送所述 PDCP 数据至所述基带处理单元的网络驱动层。4: 根据权利要求 1 所述的方法, 其特征在于, 在所述发送所述第一数据至基带处理单 元前, 所述方法还包括 : 对所述 PDCP 数据的头内容编解码, 生成 PDCP 压缩数据 ; 所述发送所述 PDCP 数据至基带处理单元包括 : 发送所述 PDCP 压缩数据至所述基带处理单元。5: 根据权利要求 1 所述的方法, 其特征在于, 当所述 GTP-U 数据为 IP 分片数据时, 在所 述 GTP 层修改所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据前, 所述方法还 包括 : 将具有相同 ID 的 IP 分片数据缓存在第一链表中 ; 其中, 所述第一链表以红黑树的形式 缓存所述 IP 分片数据 ; 当所述具有相同 ID 的 IP 分片数据全部缓存时, 判断所述具有相同 ID 的 IP 分片数据 是否为 GTP-U 数据 ; 若是, 则所述 GTP 层修改所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据 包括 : 在所述 GTP 层修改所述具有相同 ID 的 IP 分片数据的头内容, 生成符合所述 PDCP 层需 要的 PDCP 数据 ; 将所述 PDCP 数据组成巨帧 ; 所述发送至基带处理单元包括 : 发送所述巨帧至所述基带处理单元。6: 根据权利要求 5 所述的方法, 其特征在于, 所述方法还包括 : 以所述 IP 分片数据的 I D 为依据, 建立所述 I P 分片数据的缓存索引。7: 根据权利要求 6 所述的方法, 其特征在于, 所述方法还包括 : 当所述红黑树溢出时, 查找所述缓存索引, 确定先溢出的 IP 分片数据的 ID ; 删除所述红黑树中具有所述 ID 的 IP 分片数据 ; 删除所述缓存索引中所述先溢出的 IP 分片数据的 ID。8: 一种 GTP-U 数据转发方法, 其特征在于, 所述方法包括 : 2 将基带处理单元接收的数据发送至主控单元 ; 在所述主控单元的网络驱动层调用第二回调函数将所述数据缓存并发送至 GTP 层 ; 在所述 GTP 层将接收的所述数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数据并 发送。9: 根据权利要求 8 所述的方法, 其特征在于, 当 PDCP 层在所述基带处理单元时, 所述将 基带处理单元接收的数据发送至主控单元包括 : 将所述基带处理单元接收的数据发送至所述 PDCP 层 ; 将所述 PDCP 层接收的数据的头内容进行修改, 生成符合所述 PDCP 层需要的 PDCP 数 据。10: 根据权利要求 8 所述的方法, 其特征在于, 当所述 PDCP 层在所述的主控单元时, 所 述发送至 GTP 层包括 : 发送所述数据至所述 PDCP 层, 在所述 PDCP 层对所述数据的头内容进行修改, 生成符合 所述 PDCP 层需要的 PDCP 数据 ; 所述 PDCP 层发送所述 PDCP 数据至所述 GTP 层 ; 所述在所述 GTP 层将接收的所述数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数 据并发送包括 : 在所述 GTP 层将接收的所述 PDCP 数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数 据并发送。

说明书


一种 GTP-U 数据转发方法

    【技术领域】
     本发明涉及数据通信领域, 尤其是涉及一种 GTP-U 数据转发方法。背景技术 LTE(Long Term Evolution, 长期演进 ) 也被通俗的称为 3.9G, 集很多先进技术和 优良的系统架构于一身。 该技术可提升无线宽带网络中的数据传输率并保障稳定的服务品 质与数据吞吐量, 被视作从 3G 向 4G 演进的主流技术。
     GTP-U(User plane of GPRS Tunneling Protocol, GPRS 隧道协议用户平面 ) 是 LTE 接口用户面协议, 具有 Iu-PS 用户面数据的传输和管理功能。 在 LTE 基站侧的 GTP-U 中, 现有技术是基于 TCP/IP 协议栈对数据进行转发。以下行数据转发为例, 图 1 示出了 GTP-U 数据由主控处理单元发送到基带处理单元的具体过程 : 先经过主控单元的网络驱动层接收 GTP-U 数据, 然后将数据放到 TCP/IP 协议栈, 在 IP 层和 UDP 层对数据进行处理, 如组包等, 并将数据发送到 socket 出口发生一次拷贝后将数据发送至 GTP 层, 并再由 GTP 层对数据进 行处理后再进入 TCP/IP 协议栈, 经过 UDP 层、 IP 层并在 socket 接口发生一次拷贝后将数据 发送到主控单元的网络驱动, 之后通过网络驱动发送到相应的基带处理单元上。基带处理 单元通过网络驱动接收数据并将其放入 TCP/IP 协议栈, 先后经 IP 层和 UDP 层, 并在 socket 接口发生一次拷贝后将数据发送至 PDCP 层。
     上行 GTP-U 数据转发方法与下行 GTP-U 数据转发方法原理一致, 只是方向相反。
     在上述方法中, GTP-U 数据在从主控单元到基带处理单元过程中, 需要进出多次协 议栈做大量工作, 并需要在 socket 接口进行多次拷贝, 转发过程复杂。而且其中的很多工 作对于 GTP-U 这种基于 UDP 的协议往往是不需要的。 另外 GTP-U 是用户面协议, 其业务量比 较大, 需要占用大量的网络协议栈资源。现在使用的 TCP/IP 协议栈往往达不到这种要求。 因此利用上述方法对 GTP-U 数据转发的速率比较低, 不能满足当前对 GTP-U 数据转发速率 的需要。
     发明内容
     本发明的目的在于提供一种 GTP-U 数据转发方法, 能够使数据不必进入 TCP/IP 的 协议栈而进行转发, 提高了数据的转发速率。本发明提供了如下方案 :
     一种 GTP-U 数据转发方法, 所述方法包括 :
     在主控单元的网络驱动层调用第一回调函数将接收的 GTP-U 数据缓存并发送至 GTP 层 ;
     在所述 GTP 层修改所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据 并发送至基带处理单元 ;
     在所述基带处理单元的网络驱动层调用所述第一回调函数将所述 PDCP 数据缓 存。
     优选的, 当所述的 PDCP 层在所述的基带处理单元时, 所述方法还包括 :将所述基带处理单元的网络驱动层缓存的所述 PDCP 数据发送至所述 PDCP 层。
     优选的, 当所述的 PDCP 层在所述的主控单元时, 所述发送至基带处理单元包括 :
     发送所述 PDCP 数据至所述 PDCP 层 ;
     所述 PDCP 层发送所述 PDCP 数据至所述基带处理单元的网络驱动层。
     优选的, 在所述发送所述第一数据至基带处理单元前, 所述方法还包括 :
     对所述 PDCP 数据的头内容编解码, 生成 PDCP 压缩数据 ;
     所述发送所述 PDCP 数据至基带处理单元包括 :
     发送所述 PDCP 压缩数据至所述基带处理单元。
     优选的, 当所述 GTP-U 数据为 IP 分片数据时, 在所述 GTP 层修改所述 GTP-U 数据 的头内容, 生成符合 PDCP 层需要的 PDCP 数据前, 所述方法还包括 :
     将具有相同 ID 的 IP 分片数据缓存在第一链表中 ; 其中, 所述第一链表以红黑树的 形式缓存所述 IP 分片数据 ;
     当所述具有相同 ID 的 IP 分片数据全部缓存时, 判断所述具有相同 ID 的 IP 分片 数据是否为 GTP-U 数据 ;
     若是, 则所述 GTP 层修改所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据包括 :
     在所述 GTP 层修改所述具有相同 ID 的 IP 分片数据的头内容, 生成符合所述 PDCP 层需要的 PDCP 数据 ;
     将所述 PDCP 数据组成巨帧 ;
     所述发送至基带处理单元包括 :
     发送所述巨帧至所述基带处理单元。
     优选的, 所述方法还包括 :
     以所述 IP 分片数据的 ID 为依据, 建立所述 IP 分片数据的缓存索引。
     优选的, 所述方法还包括 :
     当所述红黑树溢出时, 查找所述缓存索引, 确定先溢出的 IP 分片数据的 ID ;
     删除所述红黑树中具有所述 ID 的 IP 分片数据 ;
     删除所述缓存索引中所述先溢出的 IP 分片数据的 ID。
     本发明还提供了一种 GTP-U 数据转发方法, 所述方法包括 :
     将基带处理单元接收的数据发送至主控单元 ;
     在所述主控单元的网络驱动层调用第二回调函数将所述数据缓存并发送至 GTP 层;
     在所述 GTP 层将接收的所述数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数 据并发送。
     优选的, 当 PDCP 层在所述基带处理单元时, 所述将基带处理单元接收的数据发送 至主控单元包括 :
     将所述基带处理单元接收的数据发送至所述 PDCP 层 ;
     将所述 PDCP 层接收的数据的头内容进行修改, 生成符合所述 PDCP 层需要的 PDCP 数据。
     优选的, 当所述 PDCP 层在所述的主控单元时, 所述发送至 GTP 层包括 :发送所述数据至所述 PDCP 层, 在所述 PDCP 层对所述数据的头内容进行修改, 生成 符合所述 PDCP 层需要的 PDCP 数据 ;
     所述 PDCP 层发送所述 PDCP 数据至所述 GTP 层 ;
     所述在所述 GTP 层将接收的所述数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数据并发送包括 :
     在所述 GTP 层将接收的所述 PDCP 数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数据并发送。 附图说明
     为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图 获得其他的附图。
     图 1 是 GTP-U 数据的传统转发流程示意图 ;
     图 2 是本发明实施例 1 方法流程图 ;
     图 3 是本发明实施例 3 方法流程图 ; 图 4 是本发明实施例中 IP 分片数据缓存结构图 ; 图 5 为本发明实施例 4 方法流程图。具体实施方式
     下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
     本发明实施例 1 提供了一种 GTP-U 数据转发方法, 这一方法涉及 GTP-U 数据的下 行转发方法, 如图 2 所示, 所述方法包括 :
     S11、 在主控单元的网络驱动层调用第一回调函数将接收的 GTP-U 数据缓存并发 送至 GTP 层。
     在下行 GTP-U 数据转发过程中, GTP-U 数据首先被发送至主控单元的网络驱动层 即网络接口处。为避免数据被发送至 TCP/IP 协议栈, 首先在网络驱动层调用第一回调函 数, 将接收的 GTP-U 数据缓存起来。之后越过 IP 层和 UDP 层将数据直接发送至 GTP 层。
     S12、 在所述 GTP 层修改所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据并发送至基带处理单元。
     S13、 在所述基带处理单元的网络驱动层调用所述第一回调函数将所述 PDCP 数据 缓存。
     在本发明的具体实施例中, PDCP 层处于基带处理单元。 因此生成的 PDCP 数据首先 要从 GTP 层发往主控单元的网络驱动, 并由网络驱动发送至基带处理单元的网络驱动。为 避免将接收的数据放入 TCP/IP 协议栈, 基带处理单元的网络驱动层会调用第一回调函数, 将接收的 PDCP 层数据缓存, 并发送至 PDCP 层。当 PDCP 层与 GTP 层同处于主控单元时, 生成的 PDCP 数据会首先在主控单元内由 GTP 层发送至 PDCP 层。再有 PDCP 层经由主控单元的网络驱动层发送至基带处理单元的网 络驱动。基带处理单元的网络驱动调用第一回调函数将此数据缓存并在内部进行处理。
     在本发明的实施例 2 中, 当生成的 PDCP 数据较大时, 在所述发送所述 PDCP 数据至 基带处理单元前, 所述方法还包括 :
     对所述 PDCP 数据的头内容编解码, 生成 PDCP 压缩数据 ;
     其中, 步骤 S13 具体为 :
     发送所述 PDCP 压缩数据至所述基带处理单元。
     值得注意的是, PDCP 层的压缩数据在到达 PDCP 层后会解压缩。当 PDCP 层在所述 的主控单元时, 发送至基带处理单元的实际上是解压缩后的 PDCP 数据。
     链路层具有最大传输单元 (Maximum Transmission Unit, 以下简称 MTU) 这个特 性, 它限制了数据帧的最大长度, 因此如果数据包的长度超过了 MTU, 那么就要对数据包进 行分片 (fragmentation) 操作, 使每一片的长度都小于或等于 MTU。因此, 很多时候 GTP 层 接收到的数据是 IP 分片数据。具有统一标识 ID 的分片数据除第一个 IP 分片数据包外, 后 续的 IP 分片数据包都没有 UDP 头和 GTP-U 头。在本发明的实施例 3 中, 在所述 GTP 层修改 所述 GTP-U 数据的头内容, 生成符合 PDCP 层需要的 PDCP 数据前, 参见图 3, 对于 IP 分片数 据, 本发明方法还包括 :
     S21、 将具有相同 ID 的 IP 分片数据缓存在第一链表中。 为之后查询方便, 所述第一链表可以以平衡二叉树或散列表的形式缓存 IP 分片数据。 平衡二叉树又被称为 AVL 树, 它是一颗空树或他的左右两个子树的高度差的绝对 值不超过 1, 并且左右两个子树都是一颗平衡二叉树。
     更优选的, 在本发明中的平衡二叉树为红黑树。它的操作有着良好的最坏情况运 行时间, 并且在实践中是高效的 : 它可以在 0(logn) 时间内做查找, 插入和删除, 这里的 n 是 树中元素的数目。相对其他的存储方式, 红黑树的高校查询方式大大缩短了查询的时间。
     S22、 当所述具有相同 ID 的 IP 分片数据全部缓存时, 判断所述具有相同 ID 的 IP 分片数据是否为 GTP-U 数据。
     S23、 若是, 在所述 GTP 层修改所述具有相同 ID 的 IP 分片数据的头内容, 生成符合 所述 PDCP 层需要的 PDCP 数据。
     S24、 将所述 PDCP 数据组成巨帧。
     S25、 发送所述巨帧至所述基带处理单元。
     在本发明的具体实施例中, 为进一步提高查询速度, 所述方法还包括 : 以所述 IP 分片数据的 ID 为依据, 建立所述 IP 分片数据的缓存索引。
     其具体的数据存储结构图如图 4 所示。在数据的整体存储中, A1 部分为红黑树, 其中分布有存储分片数据的链表, A2 部分为以 IP 分片数据的 ID 为依据建立的缓存索引。 通过建立的缓存索引我们能够清楚的知道 IP 分片数据包到达的先后顺序。
     在本发明的具体实施例中, 当所述红黑树溢出时, 可以通过查找所述缓存索引, 确 定最先溢出的 IP 分片数据的 ID。然后删除所述红黑树中具有所述 ID 的 IP 分片数据, 并删 除所述缓存索引中所述先溢出的 IP 分片数据的 ID。
     综上所述, 本发明通过在主控单元和基带处理板的网络驱动层分别调用回调函数 将接收的 GTP-U 数据缓存, 避免了将数据投入 TCP/IP 协议栈进行大量处理, 同时, 在 GTP 层 将 GTP-U 数据的头内容修改为 PDCP 层需要的数据, 使其承载了 PDCP 层的信息, 避免了对其 进行拷贝操作。可见本发明的方法减少了 GTP-U 数据的转发过程, 从而提高了 GTP-U 数据 的转发速率。
     另外, 本发明通过对 IP 分片数据采取红黑树的形式缓存, 并建立缓存索引的方 法, 很大程度上提高了对 IP 分片数据的查询速度。对 IP 分片数据组成巨帧进行发送的形 式, 使得在基带处理单元不需要对其进行分段操作。从而进一步提高了 GTP-U 数据的转发 速率。
     本发明实施例 4 还提供了一种 GTP-U 数据转发方法, 参见图 5, 该方法为 GTP-U 数 据的上行转发方法, 所述方法包括 :
     S31、 将基带处理单元接收的数据发送至主控单元。
     基带处理单元首先会将接收的数据做处理。在本发明的具体实施例中, 当 PDCP 层 在所述基带处理单元时, PDCP 层会首先将所述 PDCP 层接收的数据的头内容进行修改, 生成 符合所述 PDCP 层需要的 PDCP 数据。再由 PDCP 层经由基带处理单元的网络驱动层发送至 主控单元。
     S32、 在所述主控单元的网络驱动层调用第二回调函数将所述数据缓存并发送至GTP 层。 在本发明的具体实施例中, 当所述 PDCP 层在所述的主控单元时, 基带处理单元会 经由其网络驱动层发送所述数据至主控单元的网络驱动层。 主控单元的网络驱动层调用第 二回调函数将所述数据缓存并首先发送至 PDCP 层。在 PDCP 层对接收的数据的头内容进行 修改, 生成符合所述 PDCP 层需要的 PDCP 数据。之后将 PDCP 数据发送至 GTP 层。
     S33、 在所述 GTP 层将接收的所述数据的头内容修改, 生成所述 GTP 层需要的 GTP-U 数据并发送。
     在 GTP 层对 PDCP 数据的头内容进行修改, 生成所述 GTP 层需要的 GTP-U 数据并发 送出去。
     综上所述, 本发明通过在主控板的网络驱动层调用回调函数将基带板接收的数据 缓存, 避免了将数据投入 TCP/IP 协议栈, 进行大量不必要的处理工作。同时, 在 PDCP 层和 GTP 层对接收的数据直接进行修改, 避免了多次拷贝。 可见本发明的方法减少了 GTP-U 数据 的转发过程, 从而提高了 GTP-U 数据的转发速率。
     以上对本发明所提供的一种 GTP-U 数据转发方法进行了详细介绍, 本文中应用了 具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理解本 发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据本发明的思想, 在具体 实施方式及应用范围上均会有改变之处。综上所述, 本说明书内容不应理解为对本发明的 限制。
    

一种GTPU数据转发方法.pdf_第1页
第1页 / 共11页
一种GTPU数据转发方法.pdf_第2页
第2页 / 共11页
一种GTPU数据转发方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种GTPU数据转发方法.pdf》由会员分享,可在线阅读,更多相关《一种GTPU数据转发方法.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102413455 A (43)申请公布日 2012.04.11 C N 1 0 2 4 1 3 4 5 5 A *CN102413455A* (21)申请号 201110435982.3 (22)申请日 2011.12.22 H04W 8/20(2009.01) (71)申请人北京北方烽火科技有限公司 地址 100085 北京市海淀区上地东路5号院 1号楼(烽火科技大厦) (72)发明人黄宬 余建国 付永魁 (74)专利代理机构北京信远达知识产权代理事 务所(普通合伙) 11304 代理人王学强 (54) 发明名称 一种GTP-U数据转发方法 (57) 摘要 本发明。

2、公开了提供了一种GTP-U数据的转发 方法,该方法包括:在主控单元的网络驱动层调 用第一回调函数将接收的GTP-U数据缓存并发送 至GTP层;在所述GTP层修改所述GTP-U数据的头 内容,生成符合PDCP层需要的PDCP数据并发送至 基带处理单元;在所述基带处理单元的网络驱动 层调用所述第一回调函数将所述PDCP数据缓存。 本发明还提供了一种GTP-U数据的转发方法,该 方法包括:将基带处理单元接收的数据发送至主 控单元;在所述主控单元的网络驱动层调用第二 回调函数将所述数据缓存并发送至GTP层;在所 述GTP层将接收的所述数据的头内容修改,生成 所述GTP层需要的GTP-U数据并发送。本发。

3、明所 提供的方法能够使数据不必进入TCP/IP的协议 栈而进行转发,提高了数据的转发速率。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 3 页 CN 102413468 A 1/2页 2 1.一种GTP-U数据转发方法,其特征在于,所述方法包括: 在主控单元的网络驱动层调用第一回调函数将接收的GTP-U数据缓存并发送至GTP 层; 在所述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP数据并发 送至基带处理单元; 在所述基带处理单元的网络驱动层调用所述第一回调函数将所述PDCP数据缓存。 。

4、2.根据权利要求1所述的方法,其特征在于,当所述的PDCP层在所述的基带处理单元 时,所述方法还包括: 将所述基带处理单元的网络驱动层缓存的所述PDCP数据发送至所述PDCP层。 3.根据权利要求1所述的方法,其特征在于,当所述的PDCP层在所述的主控单元时,所 述发送至基带处理单元包括: 发送所述PDCP数据至所述PDCP层; 所述PDCP层发送所述PDCP数据至所述基带处理单元的网络驱动层。 4.根据权利要求1所述的方法,其特征在于,在所述发送所述第一数据至基带处理单 元前,所述方法还包括: 对所述PDCP数据的头内容编解码,生成PDCP压缩数据; 所述发送所述PDCP数据至基带处理单元包。

5、括: 发送所述PDCP压缩数据至所述基带处理单元。 5.根据权利要求1所述的方法,其特征在于,当所述GTP-U数据为IP分片数据时,在所 述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP数据前,所述方法还 包括: 将具有相同ID的IP分片数据缓存在第一链表中;其中,所述第一链表以红黑树的形式 缓存所述IP分片数据; 当所述具有相同ID的IP分片数据全部缓存时,判断所述具有相同ID的IP分片数据 是否为GTP-U数据; 若是,则所述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP数据 包括: 在所述GTP层修改所述具有相同ID的IP分片数据的头内。

6、容,生成符合所述PDCP层需 要的PDCP数据; 将所述PDCP数据组成巨帧; 所述发送至基带处理单元包括: 发送所述巨帧至所述基带处理单元。 6.根据权利要求5所述的方法,其特征在于,所述方法还包括: 以所述IP分片数据的I D为依据,建立所述I P分片数据的缓存索引。 7.根据权利要求6所述的方法,其特征在于,所述方法还包括: 当所述红黑树溢出时,查找所述缓存索引,确定先溢出的IP分片数据的ID; 删除所述红黑树中具有所述ID的IP分片数据; 删除所述缓存索引中所述先溢出的IP分片数据的ID。 8.一种GTP-U数据转发方法,其特征在于,所述方法包括: 权 利 要 求 书CN 102413。

7、455 A CN 102413468 A 2/2页 3 将基带处理单元接收的数据发送至主控单元; 在所述主控单元的网络驱动层调用第二回调函数将所述数据缓存并发送至GTP层; 在所述GTP层将接收的所述数据的头内容修改,生成所述GTP层需要的GTP-U数据并 发送。 9.根据权利要求8所述的方法,其特征在于,当PDCP层在所述基带处理单元时,所述将 基带处理单元接收的数据发送至主控单元包括: 将所述基带处理单元接收的数据发送至所述PDCP层; 将所述PDCP层接收的数据的头内容进行修改,生成符合所述PDCP层需要的PDCP数 据。 10.根据权利要求8所述的方法,其特征在于,当所述PDCP层在所。

8、述的主控单元时,所 述发送至GTP层包括: 发送所述数据至所述PDCP层,在所述PDCP层对所述数据的头内容进行修改,生成符合 所述PDCP层需要的PDCP数据; 所述PDCP层发送所述PDCP数据至所述GTP层; 所述在所述GTP层将接收的所述数据的头内容修改,生成所述GTP层需要的GTP-U数 据并发送包括: 在所述GTP层将接收的所述PDCP数据的头内容修改,生成所述GTP层需要的GTP-U数 据并发送。 权 利 要 求 书CN 102413455 A CN 102413468 A 1/5页 4 一种 GTP-U 数据转发方法 技术领域 0001 本发明涉及数据通信领域,尤其是涉及一种G。

9、TP-U数据转发方法。 背景技术 0002 LTE(Long Term Evolution,长期演进)也被通俗的称为3.9G,集很多先进技术和 优良的系统架构于一身。该技术可提升无线宽带网络中的数据传输率并保障稳定的服务品 质与数据吞吐量,被视作从3G向4G演进的主流技术。 0003 GTP-U(User plane of GPRS Tunneling Protocol,GPRS隧道协议用户平面)是 LTE接口用户面协议,具有Iu-PS用户面数据的传输和管理功能。在LTE基站侧的GTP-U中, 现有技术是基于TCP/IP协议栈对数据进行转发。以下行数据转发为例,图1示出了GTP-U 数据由主控。

10、处理单元发送到基带处理单元的具体过程:先经过主控单元的网络驱动层接收 GTP-U数据,然后将数据放到TCP/IP协议栈,在IP层和UDP层对数据进行处理,如组包等, 并将数据发送到socket出口发生一次拷贝后将数据发送至GTP层,并再由GTP层对数据进 行处理后再进入TCP/IP协议栈,经过UDP层、IP层并在socket接口发生一次拷贝后将数据 发送到主控单元的网络驱动,之后通过网络驱动发送到相应的基带处理单元上。基带处理 单元通过网络驱动接收数据并将其放入TCP/IP协议栈,先后经IP层和UDP层,并在socket 接口发生一次拷贝后将数据发送至PDCP层。 0004 上行GTP-U数据。

11、转发方法与下行GTP-U数据转发方法原理一致,只是方向相反。 0005 在上述方法中,GTP-U数据在从主控单元到基带处理单元过程中,需要进出多次协 议栈做大量工作,并需要在socket接口进行多次拷贝,转发过程复杂。而且其中的很多工 作对于GTP-U这种基于UDP的协议往往是不需要的。另外GTP-U是用户面协议,其业务量比 较大,需要占用大量的网络协议栈资源。现在使用的TCP/IP协议栈往往达不到这种要求。 因此利用上述方法对GTP-U数据转发的速率比较低,不能满足当前对GTP-U数据转发速率 的需要。 发明内容 0006 本发明的目的在于提供一种GTP-U数据转发方法,能够使数据不必进入T。

12、CP/IP的 协议栈而进行转发,提高了数据的转发速率。本发明提供了如下方案: 0007 一种GTP-U数据转发方法,所述方法包括: 0008 在主控单元的网络驱动层调用第一回调函数将接收的GTP-U数据缓存并发送至 GTP层; 0009 在所述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP数据 并发送至基带处理单元; 0010 在所述基带处理单元的网络驱动层调用所述第一回调函数将所述PDCP数据缓 存。 0011 优选的,当所述的PDCP层在所述的基带处理单元时,所述方法还包括: 说 明 书CN 102413455 A CN 102413468 A 2/5页 5 00。

13、12 将所述基带处理单元的网络驱动层缓存的所述PDCP数据发送至所述PDCP层。 0013 优选的,当所述的PDCP层在所述的主控单元时,所述发送至基带处理单元包括: 0014 发送所述PDCP数据至所述PDCP层; 0015 所述PDCP层发送所述PDCP数据至所述基带处理单元的网络驱动层。 0016 优选的,在所述发送所述第一数据至基带处理单元前,所述方法还包括: 0017 对所述PDCP数据的头内容编解码,生成PDCP压缩数据; 0018 所述发送所述PDCP数据至基带处理单元包括: 0019 发送所述PDCP压缩数据至所述基带处理单元。 0020 优选的,当所述GTP-U数据为IP分片。

14、数据时,在所述GTP层修改所述GTP-U数据 的头内容,生成符合PDCP层需要的PDCP数据前,所述方法还包括: 0021 将具有相同ID的IP分片数据缓存在第一链表中;其中,所述第一链表以红黑树的 形式缓存所述IP分片数据; 0022 当所述具有相同ID的IP分片数据全部缓存时,判断所述具有相同ID的IP分片 数据是否为GTP-U数据; 0023 若是,则所述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP 数据包括: 0024 在所述GTP层修改所述具有相同ID的IP分片数据的头内容,生成符合所述PDCP 层需要的PDCP数据; 0025 将所述PDCP数据组成巨帧。

15、; 0026 所述发送至基带处理单元包括: 0027 发送所述巨帧至所述基带处理单元。 0028 优选的,所述方法还包括: 0029 以所述IP分片数据的ID为依据,建立所述IP分片数据的缓存索引。 0030 优选的,所述方法还包括: 0031 当所述红黑树溢出时,查找所述缓存索引,确定先溢出的IP分片数据的ID; 0032 删除所述红黑树中具有所述ID的IP分片数据; 0033 删除所述缓存索引中所述先溢出的IP分片数据的ID。 0034 本发明还提供了一种GTP-U数据转发方法,所述方法包括: 0035 将基带处理单元接收的数据发送至主控单元; 0036 在所述主控单元的网络驱动层调用第二。

16、回调函数将所述数据缓存并发送至GTP 层; 0037 在所述GTP层将接收的所述数据的头内容修改,生成所述GTP层需要的GTP-U数 据并发送。 0038 优选的,当PDCP层在所述基带处理单元时,所述将基带处理单元接收的数据发送 至主控单元包括: 0039 将所述基带处理单元接收的数据发送至所述PDCP层; 0040 将所述PDCP层接收的数据的头内容进行修改,生成符合所述PDCP层需要的PDCP 数据。 0041 优选的,当所述PDCP层在所述的主控单元时,所述发送至GTP层包括: 说 明 书CN 102413455 A CN 102413468 A 3/5页 6 0042 发送所述数据至。

17、所述PDCP层,在所述PDCP层对所述数据的头内容进行修改,生成 符合所述PDCP层需要的PDCP数据; 0043 所述PDCP层发送所述PDCP数据至所述GTP层; 0044 所述在所述GTP层将接收的所述数据的头内容修改,生成所述GTP层需要的GTP-U 数据并发送包括: 0045 在所述GTP层将接收的所述PDCP数据的头内容修改,生成所述GTP层需要的 GTP-U数据并发送。 附图说明 0046 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出。

18、创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。 0047 图1是GTP-U数据的传统转发流程示意图; 0048 图2是本发明实施例1方法流程图; 0049 图3是本发明实施例3方法流程图; 0050 图4是本发明实施例中IP分片数据缓存结构图; 0051 图5为本发明实施例4方法流程图。 具体实施方式 0052 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 005。

19、3 本发明实施例1提供了一种GTP-U数据转发方法,这一方法涉及GTP-U数据的下 行转发方法,如图2所示,所述方法包括: 0054 S11、在主控单元的网络驱动层调用第一回调函数将接收的GTP-U数据缓存并发 送至GTP层。 0055 在下行GTP-U数据转发过程中,GTP-U数据首先被发送至主控单元的网络驱动层 即网络接口处。为避免数据被发送至TCP/IP协议栈,首先在网络驱动层调用第一回调函 数,将接收的GTP-U数据缓存起来。之后越过IP层和UDP层将数据直接发送至GTP层。 0056 S12、在所述GTP层修改所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP 数据并发送至。

20、基带处理单元。 0057 S13、在所述基带处理单元的网络驱动层调用所述第一回调函数将所述PDCP数据 缓存。 0058 在本发明的具体实施例中,PDCP层处于基带处理单元。因此生成的PDCP数据首先 要从GTP层发往主控单元的网络驱动,并由网络驱动发送至基带处理单元的网络驱动。为 避免将接收的数据放入TCP/IP协议栈,基带处理单元的网络驱动层会调用第一回调函数, 将接收的PDCP层数据缓存,并发送至PDCP层。 说 明 书CN 102413455 A CN 102413468 A 4/5页 7 0059 当PDCP层与GTP层同处于主控单元时,生成的PDCP数据会首先在主控单元内由 GTP。

21、层发送至PDCP层。再有PDCP层经由主控单元的网络驱动层发送至基带处理单元的网 络驱动。基带处理单元的网络驱动调用第一回调函数将此数据缓存并在内部进行处理。 0060 在本发明的实施例2中,当生成的PDCP数据较大时,在所述发送所述PDCP数据至 基带处理单元前,所述方法还包括: 0061 对所述PDCP数据的头内容编解码,生成PDCP压缩数据; 0062 其中,步骤S13具体为: 0063 发送所述PDCP压缩数据至所述基带处理单元。 0064 值得注意的是,PDCP层的压缩数据在到达PDCP层后会解压缩。当PDCP层在所述 的主控单元时,发送至基带处理单元的实际上是解压缩后的PDCP数据。

22、。 0065 链路层具有最大传输单元(Maximum Transmission Unit,以下简称MTU)这个特 性,它限制了数据帧的最大长度,因此如果数据包的长度超过了MTU,那么就要对数据包进 行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。因此,很多时候GTP层 接收到的数据是IP分片数据。具有统一标识ID的分片数据除第一个IP分片数据包外,后 续的IP分片数据包都没有UDP头和GTP-U头。在本发明的实施例3中,在所述GTP层修改 所述GTP-U数据的头内容,生成符合PDCP层需要的PDCP数据前,参见图3,对于IP分片数 据,本发明方法还包括: 0066 。

23、S21、将具有相同ID的IP分片数据缓存在第一链表中。 0067 为之后查询方便,所述第一链表可以以平衡二叉树或散列表的形式缓存IP分片 数据。 0068 平衡二叉树又被称为AVL树,它是一颗空树或他的左右两个子树的高度差的绝对 值不超过1,并且左右两个子树都是一颗平衡二叉树。 0069 更优选的,在本发明中的平衡二叉树为红黑树。它的操作有着良好的最坏情况运 行时间,并且在实践中是高效的:它可以在0(logn)时间内做查找,插入和删除,这里的n是 树中元素的数目。相对其他的存储方式,红黑树的高校查询方式大大缩短了查询的时间。 0070 S22、当所述具有相同ID的IP分片数据全部缓存时,判断所。

24、述具有相同ID的IP 分片数据是否为GTP-U数据。 0071 S23、若是,在所述GTP层修改所述具有相同ID的IP分片数据的头内容,生成符合 所述PDCP层需要的PDCP数据。 0072 S24、将所述PDCP数据组成巨帧。 0073 S25、发送所述巨帧至所述基带处理单元。 0074 在本发明的具体实施例中,为进一步提高查询速度,所述方法还包括:以所述IP 分片数据的ID为依据,建立所述IP分片数据的缓存索引。 0075 其具体的数据存储结构图如图4所示。在数据的整体存储中,A1部分为红黑树, 其中分布有存储分片数据的链表,A2部分为以IP分片数据的ID为依据建立的缓存索引。 通过建立的。

25、缓存索引我们能够清楚的知道IP分片数据包到达的先后顺序。 0076 在本发明的具体实施例中,当所述红黑树溢出时,可以通过查找所述缓存索引,确 定最先溢出的IP分片数据的ID。然后删除所述红黑树中具有所述ID的IP分片数据,并删 除所述缓存索引中所述先溢出的IP分片数据的ID。 说 明 书CN 102413455 A CN 102413468 A 5/5页 8 0077 综上所述,本发明通过在主控单元和基带处理板的网络驱动层分别调用回调函数 将接收的GTP-U数据缓存,避免了将数据投入TCP/IP协议栈进行大量处理,同时,在GTP层 将GTP-U数据的头内容修改为PDCP层需要的数据,使其承载了。

26、PDCP层的信息,避免了对其 进行拷贝操作。可见本发明的方法减少了GTP-U数据的转发过程,从而提高了GTP-U数据 的转发速率。 0078 另外,本发明通过对IP分片数据采取红黑树的形式缓存,并建立缓存索引的方 法,很大程度上提高了对IP分片数据的查询速度。对IP分片数据组成巨帧进行发送的形 式,使得在基带处理单元不需要对其进行分段操作。从而进一步提高了GTP-U数据的转发 速率。 0079 本发明实施例4还提供了一种GTP-U数据转发方法,参见图5,该方法为GTP-U数 据的上行转发方法,所述方法包括: 0080 S31、将基带处理单元接收的数据发送至主控单元。 0081 基带处理单元首先。

27、会将接收的数据做处理。在本发明的具体实施例中,当PDCP层 在所述基带处理单元时,PDCP层会首先将所述PDCP层接收的数据的头内容进行修改,生成 符合所述PDCP层需要的PDCP数据。再由PDCP层经由基带处理单元的网络驱动层发送至 主控单元。 0082 S32、在所述主控单元的网络驱动层调用第二回调函数将所述数据缓存并发送至 GTP层。 0083 在本发明的具体实施例中,当所述PDCP层在所述的主控单元时,基带处理单元会 经由其网络驱动层发送所述数据至主控单元的网络驱动层。主控单元的网络驱动层调用第 二回调函数将所述数据缓存并首先发送至PDCP层。在PDCP层对接收的数据的头内容进行 修改。

28、,生成符合所述PDCP层需要的PDCP数据。之后将PDCP数据发送至GTP层。 0084 S33、在所述GTP层将接收的所述数据的头内容修改,生成所述GTP层需要的GTP-U 数据并发送。 0085 在GTP层对PDCP数据的头内容进行修改,生成所述GTP层需要的GTP-U数据并发 送出去。 0086 综上所述,本发明通过在主控板的网络驱动层调用回调函数将基带板接收的数据 缓存,避免了将数据投入TCP/IP协议栈,进行大量不必要的处理工作。同时,在PDCP层和 GTP层对接收的数据直接进行修改,避免了多次拷贝。可见本发明的方法减少了GTP-U数据 的转发过程,从而提高了GTP-U数据的转发速率。

29、。 0087 以上对本发明所提供的一种GTP-U数据转发方法进行了详细介绍,本文中应用了 具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本 发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体 实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的 限制。 说 明 书CN 102413455 A CN 102413468 A 1/3页 9 图1 图2 说 明 书 附 图CN 102413455 A CN 102413468 A 2/3页 10 图3 图4 说 明 书 附 图CN 102413455 A CN 102413468 A 3/3页 11 图5 说 明 书 附 图CN 102413455 A 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1