CN101674193A - 传输控制协议连接的管理方法和装置 - Google Patents

传输控制协议连接的管理方法和装置 Download PDF

Info

Publication number
CN101674193A
CN101674193A CN200910091054A CN200910091054A CN101674193A CN 101674193 A CN101674193 A CN 101674193A CN 200910091054 A CN200910091054 A CN 200910091054A CN 200910091054 A CN200910091054 A CN 200910091054A CN 101674193 A CN101674193 A CN 101674193A
Authority
CN
China
Prior art keywords
connection
message
maintenance
cryptographic hash
ddr
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.)
Granted
Application number
CN200910091054A
Other languages
English (en)
Other versions
CN101674193B (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 CN2009100910542A priority Critical patent/CN101674193B/zh
Publication of CN101674193A publication Critical patent/CN101674193A/zh
Application granted granted Critical
Publication of CN101674193B publication Critical patent/CN101674193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种传输控制协议连接的管理方法和装置,其中,该方法包括:分发模块根据报文的连接特征信息得到报文的哈希值;分发模块根据预设对应关系确定与哈希值对应的连接表项,并确定连接表项所属的DDR bank;分发模块向与DDR bank对应的状态表维护模块发送查找请求;响应于查找请求,状态表维护模块向DDR控制器发送维护请求以维护连接状态表,并根据DDR控制器返回的维护结果进行处理。通过使用本发明,能够借助网卡以硬件的方式实现传输控制协议连接的管理,能够有效提高连接管理的效率和系统处理性能,避免连接管理占用CPU资源的问题,并且能够适应带宽的变化,克服了CPU管理时操作系统协议栈所存在的局限性。

Description

传输控制协议连接的管理方法和装置
技术领域
本发明涉及通信领域,尤其涉及一种传输控制协议(TransmissionControl Protocol,简称为TCP)连接的管理方法和装置。
背景技术
在目前所使用的计算机主机中,主要通过CPU来实现TCP连接的管理,具体地,是通过操作系统TCP/IP协议栈实现TCP连接的维护,连接状态表保存在主机内存中,每接收一个报文都需要访问一次内存查询连接表。
然而,在采用这种TCP连接管理方式时,会带来大量的内存带宽开销,并且CPU的负载会随着所管理的网络带宽的增加而变大,否则将无法管理带宽范围内的TCP连接。但是,CPU的负载变化无法应对带宽的迅速增加,这就导致TCP连接的管理会大量占用CPU的资源,并且管理的效率很低。尤其是在目前的10Gbps速率或更高速率下,在通过CPU进行连接管理时,操作系统的协议栈已经很难线性处理网络报文,无法满足报文处理要求。
然而,针对由CPU管理TCP连接所带来的CPU资源大量占用、管理效率低、管理难度大的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中存在的TCP连接管理大量占用CPU资源、管理效率低、以及管理难度大的问题,本发明的目的在于提供一种传输控制协议连接的管理机制,以解决上述问题中的至少之一。
为实现上述目的,根据本发明的一个方面,提供了一种传输控制协议连接的管理方法。
根据本发明的传输控制协议连接的管理方法包括:分发模块根据报文的连接特征信息得到报文的哈希值;分发模块根据预设对应关系确定与哈希值对应的连接表项,并确定连接表项所属的DDR bank;分发模块向与DDR bank对应的状态表维护模块发送查找请求;响应于查找请求,状态表维护模块向DDR控制器发送维护请求以维护连接状态表,并根据DDR控制器返回的维护结果进行处理。
其中,分发模块确定与哈希值对应的连接表项的处理具体可以包括:分发模块根据预设对应关系以及哈希值的特定位确定连接表项。可选地,上述特定位为以下之一:哈希值最高的至少一位、哈希值中部的至少一位、哈希值最低的至少一位。
此外,状态表维护模块根据维护结果进行的处理可以包括以下之一:将报文转发给主机接口、将报文转发给网络接口并由网卡发送报文、根据维护结果产生新的报文并通过网络接口发送、直接丢弃报文。
优选地,状态表维护模块可以通过先入先出的方式将报文转发给主机接口。
优选地,上述连接特征信息可以包括以下之一:一元组信息、二元组信息、三元组信息、四元组信息、五元组信息。
可选地,上述维护请求可以包括以下至少之一:连接建立请求、连接删除请求、连接更新请求。
根据本发明的另一方面,提供了一种传输控制协议连接的管理装置,该装置设置于网卡侧。
根据本发明的传输控制协议连接的管理装置包括:分发模块,用于根据报文的连接特征信息得到报文的哈希值,根据预设对应关系确定与哈希值对应的连接表项和连接表项所属的DDR bank,并用于向与DDRbank对应的状态表维护模块发送查找请求;至少一个状态表维护模块,被配置为与至少一个DDR bank一一对应,用于响应于来自分发模块的查找请求向DDR控制器发送维护请求,并根据DDR控制器返回的维护结果进行处理;DDR控制器,用于根据维护请求对连接状态表进行维护,并返回维护结果;存储模块,用于存储连接状态表。
其中,分发模块可以用于根据预设对应关系以及哈希值的特定位确定连接表项。
优选地,上述连接特征信息可以包括以下之一:一元组信息、二元组信息、三元组信息、四元组信息、五元组信息。
借助本发明上述至少一个技术方案,通过网卡以硬件的方式实现传输控制协议连接的管理,能够有效提高连接管理的效率和系统处理性能,避免连接管理占用CPU资源的问题,并且能够适应带宽的变化,克服了CPU管理时操作系统协议栈所存在的局限性。
附图说明
图1为表示根据本发明实施例的传输控制协议连接的管理方法的流程图;
图2为表示根据本发明实施例的传输控制协议连接的管理装置的框图。
具体实施方式
功能概述
考虑到相关技术中存在的TCP连接管理大量占用CPU资源、管理效率低、以及管理难度大的问题,本发明提出在网卡上采用硬件来专门实现TCP连接管理,即,在网络处理芯片内实现TCP连接的管理,从而避免连接管理占用CPU的资源,克服操作系统协议栈本身不能适应较大网络带宽的局限性,提高整个系统的处理性能。
在实现本发明的过程中,首先需要在网卡上增加DDR内存条存储连接表,配置每个DDR bank的连接表项与哈希值的一一对应关系,并且需要对每个双倍数据速率(Double Data Rate,简称为DDR)bank都配置各自的状态表维护模块,以便进行连接的管理维护。
下面将结合附图详细描述本发明的实施例。
方法实施例
在本实施例中,提供了一种传输控制协议连接的管理方法。
图1是根据本实施例的传输控制协议连接的管理方法的流程图。
如图1所示,根据本实施例的传输控制协议连接的管理方法包括:步骤S102、步骤S104、步骤S106、和步骤S108。
图1中所示的具体处理过程如下:
步骤S102,分发模块(也可以称为dispatch模块)根据报文(例如,可以是收到的网络报文或其他待处理报文)的连接特征信息得到报文的哈希值,该哈希值即可作为连接表的访问地址,优选地,该哈希值可以通过哈希计算得到;并且,在进行哈希计算时,可以将报文的一元组信息(源IP或目的IP)、二元组信息(源IP和目的IP)、三元组信息(源IP、目的IP和协议)、四元组信息(源IP、目的IP、源端口和目的端口)、五元组信息(源IP、目的IP、源端口、目的端口和协议)作为连接特征信息;
步骤S104,分发模块根据预设对应关系(即,哈希值与表项的一一对应关系)确定与得到的哈希值对应的连接表项,并确定该连接表项所属的DDR bank的信息,例如,确定该DDR bank的标识;其中,在预先设置的一一对应关系中,与表项对应的可以是哈希值最高的至少一位,可以是哈希值中部的至少一位,也可以是哈希值最低的至少一位,这样,在分发模块确定与哈希值对应的连接表项时,也需要根据预设对应关系中哈希值的具体位进行匹配,从而正确确定与哈希值对应的表项。具体选择多少位哈希值可以根据DDR内存条的大小来确定,例如,其位数可以是1位、2位、3位、4位、5位等。
步骤S106,分发模块向之前确定的DDR bank所对应的状态表维护模块(也可称为Flow State Table Mngr模块)发送查找请求;
步骤S108,响应于查找请求,状态表维护模块向DDR控制器发送维护请求以维护连接状态表,并根据DDR控制器(也可称为DDR Ctrl)返回的维护结果进行处理,例如,状态表维护模块可以根据维护结果将报文以先入先出的方式(例如,将维护结果写到先入先出队列中)转发给主机接口或其他模块,也可以直接丢弃报文,或者进行其他的处理,例如,可以将报文转发给网络接口并由网卡发送报文、根据维护结果产生新的报文并通过网络接口发送,具体如何根据维护结果确定之后的处理是本领域技术人员所公知的,本文不再详细描述。
优选地,由状态表维护模块发送的维护请求主要可以分为连接建立请求、连接删除请求、连接更新请求,通过这些请求,状态表维护模块4可以要求可以对存储的连接状态表执行诸如读/写的操作,DDR控制器根据维护请求进行相应的操作就能够实现对连接状态表的管理。
通过上述处理,能够借助硬件实现对TCP连接状态表的管理,减少CPU的负担,提高管理的效率和系统的性能。
装置实施例
在本实施例中,提供了一种传输控制协议连接的管理装置,该装置设置于网卡侧,用于实现TCP连接状态表的管理。
图2是根据本实施例的传输控制协议连接的管理装置的框图。
如图2所示,根据本实施例的传输控制协议连接的管理装置包括:分发模块2,多个状态表维护模块4、DDR控制器6、和存储模块8。
应当注意,出于清楚的目的,图2中以层叠的方式示出了多个状态表维护模块,在实际实现过程中,对于每个DDR bank,都应当配置一个与其一一对应的状态表维护模块,每个状态表维护模块均应当连接至分发模块2和DDR控制器6,并且能够输出维护结果,下面将以其中的一个状态表维护模块为例描述根据本发明的传输控制协议连接的管理装置。
图2中所示的各个模块的功能如下:
分发模块2,用于根据报文的连接特征信息(优选地,连接特征信息可以是报文的一元组信息(源IP或目的IP)、二元组信息(源IP和目的IP)、三元组信息(源IP、目的IP和协议)、四元组信息(源IP、目的IP、源端口和目的端口)、五元组信息(源IP、目的IP、源端口、目的端口、和协议)得到报文的哈希值,根据预设对应关系确定与哈希值对应的连接表项和连接表项所属的DDR bank,并用于向与DDR bank对应的状态表维护模块发送查找请求,其中,在预先设置的一一对应关系中,与表项对应的可以是哈希值最高的至少一位,可以是哈希值中部的至少一位,也可以是哈希值最低的至少一位,这样,在分发模块2确定与哈希值对应的连接表项时,也需要根据预设对应关系中哈希值的具体位进行匹配,从而正确确定与哈希值对应的表项;
状态表维护模块4,连接至分发模块2,被配置为与一个DDR bank一一对应,用于响应于来自分发模块2的查找请求向DDR控制器6发送维护请求,并根据DDR控制器6返回的维护结果进行处理,例如,状态表维护模块4可以根据维护结果将报文以先入先出的方式(例如,将维护结果写到状态表先入先出队列中)转发给主机接口或其他模块,也可以直接丢弃报文,或者进行其他的处理,例如,将报文转发给网络接口并由网卡发送报文、根据维护结果产生新的报文并通过网络接口发送,具体如何根据维护结果确定之后的处理是本领域技术人员所公知的,本文不再详细描述;
DDR控制器6,连接至状态表维护模块4,用于根据维护请求对连接状态表进行维护,并返回维护结果,优选地,该DDR控制器可以通过DDR2控制器来实现;
存储模块8,连接至DDR控制器6,用于存储TCP连接状态表,优选地,该存储模块8可以通过DDR2存储器来实现。
优选地,由状态表维护模块4发送的维护请求主要可以分为连接建立请求、连接删除请求、连接更新请求,通过这些请求,状态表维护模块4可以要求对存储模块8存储的连接状态表执行诸如读/写的操作,DDR控制器6根据维护请求进行相应的操作就能够实现对连接状态表的管理。
通过上述装置,能够实现对TCP连接状态表的管理,减少CPU的负担,提高管理的效率和系统的性能。
综上所述,借助本发明上述至少一个技术方案,通过网卡以硬件的方式实现传输控制协议连接的管理,能够有效提高连接管理的效率和系统处理性能,避免连接管理占用CPU资源的问题,并且能够适应带宽的变化,克服了CPU管理时操作系统协议栈所存在的局限性,此外,由于状态表采用hash方式存储和访问,能够有效节省处理的时间。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种传输控制协议连接的管理方法,其特征在于,包括:
分发模块根据报文的连接特征信息得到所述报文的哈希值;
所述分发模块根据预设对应关系确定与所述哈希值对应的连接表项,并确定所述连接表项所属的DDR bank;
所述分发模块向与所述DDR bank对应的状态表维护模块发送查找请求;
响应于所述查找请求,所述状态表维护模块向DDR控制器发送维护请求以维护连接状态表,并根据所述DDR控制器返回的维护结果进行处理。
2.根据权利要求1所述的方法,其特征在于,所述分发模块确定与所述哈希值对应的连接表项包括:所述分发模块根据所述预设对应关系以及所述哈希值的特定位确定所述连接表项。
3.根据权利要求2所述的方法,其特征在于,所述特定位为以下之一:所述哈希值最高的至少一位、所述哈希值中部的至少一位、所述哈希值最低的至少一位。
4.根据权利要求1所述的方法,其特征在于,所述状态表维护模块根据所述维护结果进行的处理包括以下之一:将所述报文转发给主机接口、将所述报文转发给网络接口并由网卡发送所述报文、根据所述维护结果产生新的报文并通过网络接口发送、直接丢弃所述报文。
5.根据权利要求4所述的方法,其特征在于,所述状态表维护模块以先入先出的方式将所述报文转发给所述主机接口。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述连接特征信息包括以下之一:一元组信息、二元组信息、三元组信息、四元组信息、五元组信息。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述维护请求包括以下至少之一:连接建立请求、连接删除请求、连接更新请求。
8.一种传输控制协议连接的管理装置,设置于网卡侧,其特征在于,所述装置包括:
分发模块,用于根据报文的连接特征信息得到所述报文的哈希值,根据预设对应关系确定与所述哈希值对应的连接表项和所述连接表项所属的DDR bank,并用于向与所述DDR bank对应的状态表维护模块发送查找请求;
至少一个状态表维护模块,被配置为与至少一个DDR bank一一对应,用于响应于来自所述分发模块的查找请求向DDR控制器发送维护请求,并根据所述DDR控制器返回的维护结果进行处理;
所述DDR控制器,用于根据所述维护请求对连接状态表进行维护,并返回所述维护结果;
存储模块,用于存储所述连接状态表。
9.根据权利要求8所述的装置,其特征在于,所述分发模块用于根据所述预设对应关系以及所述哈希值的特定位确定所述连接表项。
10.根据权利要求8或9所述的装置,其特征在于,所述连接特征信息包括以下之一:一元组信息、二元组信息、三元组信息、四元组信息、五元组信息。
CN2009100910542A 2009-08-21 2009-08-21 传输控制协议连接的管理方法和装置 Active CN101674193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100910542A CN101674193B (zh) 2009-08-21 2009-08-21 传输控制协议连接的管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100910542A CN101674193B (zh) 2009-08-21 2009-08-21 传输控制协议连接的管理方法和装置

Publications (2)

Publication Number Publication Date
CN101674193A true CN101674193A (zh) 2010-03-17
CN101674193B CN101674193B (zh) 2012-01-11

Family

ID=42021197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100910542A Active CN101674193B (zh) 2009-08-21 2009-08-21 传输控制协议连接的管理方法和装置

Country Status (1)

Country Link
CN (1) CN101674193B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902398A (zh) * 2010-07-12 2010-12-01 中兴通讯股份有限公司 一种收发数据包的方法和系统
CN102510483A (zh) * 2011-12-13 2012-06-20 曙光信息产业(北京)有限公司 一种基于fpga多视频监控终端控制策略的实现系统和方法
CN109361609A (zh) * 2018-12-14 2019-02-19 东软集团股份有限公司 防火墙设备的报文转发方法、装置、设备及存储介质
WO2019085923A1 (zh) * 2017-10-31 2019-05-09 华为技术有限公司 数据处理方法、装置及计算机
CN113904798A (zh) * 2021-08-27 2022-01-07 长沙星融元数据技术有限公司 Ip报文的多元组过滤方法、系统、设备及存储介质
CN117596211A (zh) * 2024-01-18 2024-02-23 湖北省楚天云有限公司 Ip分片多核负载均衡装置及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359885C (zh) * 2002-06-24 2008-01-02 武汉烽火网络有限责任公司 以策略流方式转发数据的方法和数据转发设备
CN101296071A (zh) * 2007-04-25 2008-10-29 北京天融信网络安全技术有限公司 防火墙芯片内部连接表的老化方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902398A (zh) * 2010-07-12 2010-12-01 中兴通讯股份有限公司 一种收发数据包的方法和系统
CN101902398B (zh) * 2010-07-12 2014-12-17 中兴通讯股份有限公司 一种收发数据包的方法和系统
CN102510483A (zh) * 2011-12-13 2012-06-20 曙光信息产业(北京)有限公司 一种基于fpga多视频监控终端控制策略的实现系统和方法
CN102510483B (zh) * 2011-12-13 2014-07-23 曙光信息产业(北京)有限公司 一种基于fpga多视频监控终端控制策略的实现系统和方法
WO2019085923A1 (zh) * 2017-10-31 2019-05-09 华为技术有限公司 数据处理方法、装置及计算机
US11509749B2 (en) 2017-10-31 2022-11-22 Huawei Technologies Co., Ltd. Data processing method and apparatus, and computer
CN109361609A (zh) * 2018-12-14 2019-02-19 东软集团股份有限公司 防火墙设备的报文转发方法、装置、设备及存储介质
CN109361609B (zh) * 2018-12-14 2021-04-20 东软集团股份有限公司 防火墙设备的报文转发方法、装置、设备及存储介质
CN113904798A (zh) * 2021-08-27 2022-01-07 长沙星融元数据技术有限公司 Ip报文的多元组过滤方法、系统、设备及存储介质
CN113904798B (zh) * 2021-08-27 2024-03-22 长沙星融元数据技术有限公司 Ip报文的多元组过滤方法、系统、设备及存储介质
CN117596211A (zh) * 2024-01-18 2024-02-23 湖北省楚天云有限公司 Ip分片多核负载均衡装置及方法
CN117596211B (zh) * 2024-01-18 2024-04-05 湖北省楚天云有限公司 Ip分片多核负载均衡装置及方法

Also Published As

Publication number Publication date
CN101674193B (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
US20230262131A1 (en) Method and system for reducing connections to a database
CN101674193B (zh) 传输控制协议连接的管理方法和装置
TWI241804B (en) Arrangement for creating multiple virtual queue pairs from a compressed queue pair based on shared attributes
CN104620558B (zh) 用于支持分布式数据网格集群中的消息预处理的系统和方法
CA2385899C (en) System and method for managing connections between a client and a server
US7996583B2 (en) Multiple context single logic virtual host channel adapter supporting multiple transport protocols
EP1559022B1 (en) System and method for receive queue provisioning
US20060230119A1 (en) Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations
US7865633B2 (en) Multiple context single logic virtual host channel adapter
US7613132B2 (en) Method and system for controlling virtual machine bandwidth
CN102143218B (zh) web接入云体系结构及接入方法
CN102014150A (zh) 一种基于udp分布式小文件存储系统及其数据处理方法
EP2755363B1 (en) Data-fast-distribution method and device
CN103064731A (zh) 一种提高消息队列系统性能的装置及其方法
US20080059686A1 (en) Multiple context single logic virtual host channel adapter supporting multiple transport protocols
CN103081434A (zh) 智能存储器
CN101827019A (zh) 网络接口设备
CN102638487A (zh) 大型遥测地震仪高性能数据传输方法
CN105592163A (zh) 一种通信方法及系统
CN101719872B (zh) 基于零拷贝方式的多队列报文发送和接收方法和装置
KR20050002604A (ko) 데이터 전송 관리 시스템 및 방법
CN103368872A (zh) 数据包转发系统和方法
CN115086104B (zh) 一种支持数据断线重传的方法及串口服务器
CN102843435A (zh) 一种在集群系统中存储介质的访问、响应方法和系统
CN102916902A (zh) 数据存储方法及装置

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
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100193 Beijing, Haidian District, northeast Wang West Road, building 8, No. 36

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

Address before: 100084 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

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

TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing

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

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

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

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

TR01 Transfer of patent right