一种软硬件结合实现tcp乱序缓冲区管理的方法

文档序号:7897616阅读:285来源:国知局
专利名称:一种软硬件结合实现tcp乱序缓冲区管理的方法
技术领域
本发明涉及网络数据处理领域,具体涉及一种软硬件结合实现TCP乱序缓冲区管 理的方法。
背景技术
TCP卸载技术是把主机软件中的TCP/IP网络协议栈处理固化到网卡硬件中实现, 以便降低系统CPU负载,增大网络IO带宽的技术。TCP卸载系统一般包括两部分功能,第一 部分是TCP连接状态管理,用TCP连接表来维护每个TCP连接开始、数据传输、关闭的状态。 第二部分是TCP数据管理,用来把乱序的TCP报文的数据进行重新排序,把TCP传输的数据 提取出来提交给主机。在硬件中进行TCP乱序重排时,需要使用缓冲区缓存乱序数据,需要复杂的乱序 缓冲区管理机制,其中最重要的是乱序缓冲区的分配和释放。一般TCP卸载系统中,硬件每次分配和释放乱序缓冲区都要多次访问板载内存, 特别是释放缓冲区时,往往需要查找最老的缓冲区,受限于硬件的板载内存容量和专用芯 片时钟频率,一般硬件系统难以实现高效的查找,导致不能对大容量的乱序缓冲区进行管 理,难以满足高速网络的tcp乱序重排要求。

发明内容
本发明的目的是通过软件增强硬件的TCP乱序缓冲区管理能力,使TCP卸载系统 支持大容量乱序缓冲区。一种软硬件结合实现TCP乱序缓冲区管理的方法,包括以下步骤A、网卡接收到一个TCP连接的报文后,如果报文发生了乱序,则从板载内存中申 请一个乱序缓冲区,用来对该连接的报文进行排序;B、网卡在向软件传输该TCP连接的报文时,通过在报文的报头中设置一个标记, 通知软件该连接发生了乱序,占用了一个乱序缓冲区;C、接口库收到发生乱序的TCP连接的报文后,把该TCP连接串连到一个乱序TCP 链表中,并对链表的最大容量进行维护;D、当乱序TCP容量超过系统预设的阈值时,接口库软件从链表中找出一个需要释 放的乱序TCP连接,通知硬件释放该连接的乱序缓冲区。本发明的一种优选技术方案在于所述D步骤中软件查找需要释放的乱序缓冲区时,可以按最老连接,最少使用连 接等方法选择,并通知释放该连接的乱序缓冲区。本发明实现了大容量TCP乱序缓冲区管理,使TCP卸载系统可以在高速网络上进 行乱序重排。


图1是本发明系统组成结构图
具体实施例方式硬件中使用板载内存中的乱序缓冲区对乱序报文进行排序,在乱序缓冲区管理过 程中,硬件负责乱序缓冲区的申请和使用。软件在应用软件API接口库中,建立使用中的乱序缓冲区的链表,对乱序缓冲区 进行管理,软件负责乱序缓冲区的释放。实现方法和过程如下(1)硬件网卡接收到乱序TCP报文,申请乱序缓冲区。硬件网卡接收到一个TCP连接的报文后,如果报文发生了乱序,则从板载内存中 申请一个乱序缓冲区,用来对该连接的报文进行排序。(2)硬件网卡通知软件TCP连接发生了乱序。硬件在向软件传输该TCP连接的报文时,通过在报文的报头中设置一个标记,通 知软件该连接发生了乱序,占用了一个乱序缓冲区。(3)接口库软件处理乱序TCP连接,通知硬件释放缓冲区。接口库收到发生乱序的TCP连接的报文后,把该TCP连接串连到一个乱序TCP链 表中,并对链表的最大容量进行维护,当乱序TCP容量超过系统预设的阈值时,接口库软件 从链表中找出一个需要释放的乱序TCP连接,比如最老的连接或最少使用的连接,通知硬 件释放该连接的乱序缓冲区。
权利要求
1.一种软硬件结合实现TCP乱序缓冲区管理的方法,其特征在于包括以下步骤A、网卡接收到一个TCP连接的报文后,如果报文发生了乱序,则从板载内存中申请一 个乱序缓冲区,用来对该连接的报文进行排序;B、网卡在向软件传输该TCP连接的报文时,通过在报文的报头中设置一个标记,通知 软件该连接发生了乱序,占用了一个乱序缓冲区;C、接口库收到发生乱序的TCP连接的报文后,把该TCP连接串连到一个乱序TCP链表 中,并对链表的最大容量进行维护;D、当乱序TCP容量超过系统预设的阈值时,接口库软件从链表中找出一个需要释放的 乱序TCP连接,通知硬件释放该连接的乱序缓冲区。
2.如权利要求1所述一种软硬件结合实现TCP乱序缓冲区管理的方法,其特征在于 所述D步骤中软件查找需要释放的乱序缓冲区时,可以按最老连接,最少使用连接等方法 选择,并通知释放该连接的乱序缓冲区。
全文摘要
本发明提供了一种软硬件结合实现TCP乱序缓冲区管理的方法。硬件负责乱序缓冲区的申请和使用,软件负责乱序缓冲区的释放,硬件网卡接收到乱序TCP报文后,申请乱序缓冲区,并通知软件TCP连接发生了乱序,接口库软件处理乱序TCP连接时,把乱序缓冲区串联到一个链表中,需要删除乱序缓冲区时,软件查找链表,并通知硬件释放缓冲区。本发明实现了大容量TCP乱序缓冲区管理,使TCP卸载系统可以在高速网络上进行乱序重排。
文档编号H04L12/56GK102082688SQ201010611748
公开日2011年6月1日 申请日期2010年12月17日 优先权日2010年12月17日
发明者刘朝辉, 张英文, 李静, 窦晓光, 纪奎 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1