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

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

Info

Publication number
CN102082688B
CN102082688B CN201010611748.7A CN201010611748A CN102082688B CN 102082688 B CN102082688 B CN 102082688B CN 201010611748 A CN201010611748 A CN 201010611748A CN 102082688 B CN102082688 B CN 102082688B
Authority
CN
China
Prior art keywords
order
tcp
software
hardware
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010611748.7A
Other languages
English (en)
Other versions
CN102082688A (zh
Inventor
刘朝辉
纪奎
窦晓光
张英文
李静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201010611748.7A priority Critical patent/CN102082688B/zh
Publication of CN102082688A publication Critical patent/CN102082688A/zh
Application granted granted Critical
Publication of CN102082688B publication Critical patent/CN102082688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

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

Description

一种软硬件结合实现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连接,比如最老的连接或最少使用的连接,通知硬件释放该连接的乱序缓冲区。

Claims (1)

1.一种软硬件结合实现TCP乱序缓冲区管理的方法,其特征在于:包括以下步骤:
A、网卡接收到一个TCP连接的报文后,如果报文发生了乱序,则从板载内存中申请一个乱序缓冲区,用来对该连接的报文进行排序;
B、网卡在向软件传输该TCP连接的报文时,通过在报文的报头中设置一个标记,通知软件该连接发生了乱序,占用了一个乱序缓冲区;
C、接口库收到发生乱序的TCP连接的报文后,把该TCP连接串连到一个乱序TCP链表中,并对链表的最大容量进行维护;
D、当乱序TCP容量超过***预设的阈值时,接口库软件从链表中找出一个需要释放的乱序TCP连接,通知硬件释放该连接的乱序缓冲区;
所述D步骤中软件查找需要释放的乱序缓冲区时,可以按最老连接,最少使用连接等方法选择,并通知释放该连接的乱序缓冲区。
CN201010611748.7A 2010-12-17 2010-12-17 一种软硬件结合实现tcp乱序缓冲区管理的方法 Active CN102082688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010611748.7A CN102082688B (zh) 2010-12-17 2010-12-17 一种软硬件结合实现tcp乱序缓冲区管理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010611748.7A CN102082688B (zh) 2010-12-17 2010-12-17 一种软硬件结合实现tcp乱序缓冲区管理的方法

Publications (2)

Publication Number Publication Date
CN102082688A CN102082688A (zh) 2011-06-01
CN102082688B true CN102082688B (zh) 2014-08-13

Family

ID=44088445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010611748.7A Active CN102082688B (zh) 2010-12-17 2010-12-17 一种软硬件结合实现tcp乱序缓冲区管理的方法

Country Status (1)

Country Link
CN (1) CN102082688B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024924B (zh) * 2022-01-05 2022-04-12 北京安博通科技股份有限公司 一种tcp流重组方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679282A (zh) * 2002-08-30 2005-10-05 美国博通公司 Tcp卸载的***和方法
CN1985492A (zh) * 2004-06-17 2007-06-20 美国博通公司 支持iSCSI读操作和iSCSI烟囱的方法和***
CN101253745A (zh) * 2005-07-18 2008-08-27 博通以色列研发公司 用于透明tcp卸载的方法和***
CN101540720A (zh) * 2008-06-06 2009-09-23 曙光信息产业(北京)有限公司 一种支持多类型网卡链路聚合的零拷贝方法
CN101841545A (zh) * 2010-05-14 2010-09-22 中国科学院计算技术研究所 一种tcp流重组拼包方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295555B2 (en) * 2002-03-08 2007-11-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679282A (zh) * 2002-08-30 2005-10-05 美国博通公司 Tcp卸载的***和方法
CN1985492A (zh) * 2004-06-17 2007-06-20 美国博通公司 支持iSCSI读操作和iSCSI烟囱的方法和***
CN101253745A (zh) * 2005-07-18 2008-08-27 博通以色列研发公司 用于透明tcp卸载的方法和***
CN101540720A (zh) * 2008-06-06 2009-09-23 曙光信息产业(北京)有限公司 一种支持多类型网卡链路聚合的零拷贝方法
CN101841545A (zh) * 2010-05-14 2010-09-22 中国科学院计算技术研究所 一种tcp流重组拼包方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杜英明.高速网络环境下基于零拷贝的报文捕获机制研究与实现.《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》.2009,第34页第1段,第4.3.1节,图4.4. *

Also Published As

Publication number Publication date
CN102082688A (zh) 2011-06-01

Similar Documents

Publication Publication Date Title
KR101754545B1 (ko) 플래시 메모리들에서 커맨드 완료의 확인
US20190026319A1 (en) Adaptive monitoring and processing of new data files and changes to existing data files
CN105490985B (zh) 一种基于信令传输的tcp长连接的实现方法及装置
US20190068501A1 (en) Throttling for bandwidth imbalanced data transfers
WO2018121696A1 (zh) 用于多线程处理的方法及装置、服务器
CN108885585A (zh) 在基于中央处理单元(cpu)的***中使用多个末级高速缓冲存储器(llc)线提供存储器带宽压缩
US11914552B1 (en) Facilitating existing item determinations
WO2019062572A1 (zh) 一种数据处理方法、装置及***
CN102082688B (zh) 一种软硬件结合实现tcp乱序缓冲区管理的方法
CN104199800A (zh) 一种解决多核***中表项互斥的方法
US20090106454A1 (en) Independent synchronization of meta-data between devices
CN117544507A (zh) 基于云对象存储服务的多区域分布式配置方法及***
CN102750342A (zh) 一种集群文件***数据一致性的方法
CN102075416B (zh) 一种软硬件结合实现tcp连接数据缓存的方法
CN102609217B (zh) 一种io设备的高速存储方法及***
CN107615259A (zh) 一种数据处理方法及***
CN110266526A (zh) 一种设备树的加载方法及设备
CN102098290A (zh) 一种tcp流淘汰替换方法
WO2014019479A1 (en) Method and device based on android system for tracking imported file
WO2023019712A1 (zh) 基于Zlib压缩算法的云计算资源管理器通信延迟优化方法
JP6766534B2 (ja) Uimおよびuim発行システム
US20120102230A1 (en) Network storage system and network storage method
EP1668525B1 (en) Data transfer management method, software and system
CN104035835A (zh) 信息处理的方法及电子设备
JP2006246233A (ja) 課金システム、課金方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220802

Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 100084 Beijing Haidian District City Mill Street No. 64

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right