法律状态公告日
法律状态信息
法律状态
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连接,比如最老的连接或最少使用的连接,通知硬件释放该连接的乱序缓冲区。
机译: 在TCP / IP通信中使用的硬件实现的环缓冲区管理系统和方法
机译: 至少一种用于提交流内联内容分析的TCP数据段方法和装置,一种携带一个或多个指令序列以实现该方法的计算机可读介质以及计算机程序产品
机译: 使用通用缓冲器支持TCP乱序接收数据的系统和方法