首页> 中国专利> 一种软硬件结合实现TCP乱序缓冲区管理的方法

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

摘要

本发明提供了一种软硬件结合实现TCP乱序缓冲区管理的方法。硬件负责乱序缓冲区的申请和使用,软件负责乱序缓冲区的释放,硬件网卡接收到乱序TCP报文后,申请乱序缓冲区,并通知软件TCP连接发生了乱序,接口库软件处理乱序TCP连接时,把乱序缓冲区串联到一个链表中,需要删除乱序缓冲区时,软件查找链表,并通知硬件释放缓冲区。本发明实现了大容量TCP乱序缓冲区管理,使TCP卸载系统可以在高速网络上进行乱序重排。

著录项

  • 公开/公告号CN102082688A

    专利类型发明专利

  • 公开/公告日2011-06-01

    原文格式PDF

  • 申请/专利权人 曙光信息产业(北京)有限公司;

    申请/专利号CN201010611748.7

  • 申请日2010-12-17

  • 分类号H04L12/24;H04L12/56;H04L29/06;

  • 代理机构北京安博达知识产权代理有限公司;

  • 代理人徐国文

  • 地址 100084 北京市海淀区水磨西街64号

  • 入库时间 2023-12-18 02:43:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-12

    专利权的转移 IPC(主分类):H04L12/24 专利号:ZL2010106117487 登记生效日:20220802 变更事项:专利权人 变更前权利人:曙光信息产业(北京)有限公司 变更后权利人:曙光信息产业(北京)有限公司 变更事项:地址 变更前权利人:100084 北京市海淀区水磨西街64号 变更后权利人:100193 北京市海淀区东北旺西路8号院36号楼 变更事项:专利权人 变更前权利人: 变更后权利人:曙光信息产业股份有限公司

    专利申请权、专利权的转移

  • 2014-08-13

    授权

    授权

  • 2012-05-30

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20101217

    实质审查的生效

  • 2011-06-01

    公开

    公开

说明书

技术领域

本发明涉及网络数据处理领域,具体涉及一种软硬件结合实现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连接,比如最老的连接或最少使用的连接,通知硬件释放该连接的乱序缓冲区。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号