CN107707546B - 一种报文复制方法及支持报文复制功能的新型网络适配器 - Google Patents
一种报文复制方法及支持报文复制功能的新型网络适配器 Download PDFInfo
- Publication number
- CN107707546B CN107707546B CN201710911464.1A CN201710911464A CN107707546B CN 107707546 B CN107707546 B CN 107707546B CN 201710911464 A CN201710911464 A CN 201710911464A CN 107707546 B CN107707546 B CN 107707546B
- Authority
- CN
- China
- Prior art keywords
- message
- copied
- data
- network adapter
- information
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/325—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文复制方法及支持报文复制功能的新型网络适配器,在该方法中,新型网络适配器通过识别报文载荷内的报文描述符,获取事先缓存的待复制数据;然后将待复制数据替换掉载荷内的报文描述符,完成数据的一次复制,成功免除了应用层的数据复制压力。该新型网络适配器包括处理器、存储单元、待复制信息管理单元或算法以及checksum计算单元或算法。本发明应用在云存储和数据安全等领域,可以分担云存储的中心节点数据复制和计算的压力,很大程度上提升了节点可用于数据处理的硬件资源利用率和处理速度,能很大程度上节约硬件成本,具有很高的推广价值。
Description
技术领域
本发明涉及计算机联网设备,尤其涉及一种报文复制方法及支持报文复制功能的新型网络适配器。
背景技术
网络适配器是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。
在云计算时代,催生了大数据和云存储。在实现数据分布式存储的同时,数据安全也越来越被重视。业界普遍采用一份数据多个备份的方案来解决单节点故障造成的数据不完整问题。在云存储场景中,中心节点在向主数据节点发送数据的同时,也需要同时向备份节点复制和分发相同的数据。在独立数据节点场景中,处于数据安全考虑,一般会为主机配备1到2个甚至更多的备份服务器。数据节点在进行数据处理和存储的同时,需要尽可能实时的向各备份服务器进行数据复制,需要更多的聚焦于业务处理。
目前数据复制完全依靠中心节点或数据节点的操作系统完成,业务压力非常大的情况下,容易造成节点崩溃;且由于中心节点或数据节点的软件处理能力,依赖CPU处理能力和内存主频和大小,造成关键硬件门槛过高,硬件成本飙升。另外,软件处理速度不及硬件,依靠软件处理,整体性价比不高。
发明内容
发明目的:针对现有技术的不足,提供一种报文复制方法及支持报文复制功能的新型网络适配器。
技术方案:一种报文复制方法,所述报文包括报文载荷,该方法包括以下步骤:
(1)主机或服务器的应用根据业务需要将待复制的数据和预复制的份数传递给新型网络适配器的驱动程序;
主机或服务器收到的数据如果需要复制,按照驱动定义的数据结构,将待复制的数据和待复制的份数组织成待复制信息,然后调用待复制信息传递接口将待复制信息传递给新型网络适配器;
(2)新型网络适配器收到驱动程序传递的待复制信息,会将待复制信息通过待复制信息管理单元缓存并管理起来,同时,该管理单元会为被缓存的复制信息分配一个有效期内唯一的管理标识DATA_ID;
(3)新型网络适配器的管理单元完成数据缓存后,将为其分配的待复制信息管理标识DATA_ID通过待复制信息传递接口返回给主机或服务器的应用;
(4)主机或服务器的应用按照与新型网络适配器约定的待复制信息描述符构造出报文载荷,然后按照业务要求复制出相应份数的报文载荷并调用对应的socket进行报文封装和发送;
(5)新型网络适配器收到数据报文并对报文载荷起始部分进行识别,若报文载荷起始部分的数据信息符合待复制信息描述符的特征,且描述符内容符合期望,则执行步骤(6);若报文载荷起始部分的数据信息不符合待复制信息描述符特征或特征符合但是描述符内容不符合期望,则按普通数据报文处理;
(6)新型网络适配器获取到正确的待复制信息描述符后,从中获取DATA_ID字段,然后根据DATA_ID从新型网络适配器的待复制信息管理单元中查询出对应的待复制数据和最新的待复制份数,并判断报文最新的待复制份数是否大于0,若报文最新的待复制份数大于0,执行步骤(7),若待复制的报文份数不大于0,则按普通数据报文处理;
(7)新型网络适配器获取待复制数据并替换当前报文载荷中的待复制信息描述符,然后将最新的待复制份数减1并刷新到新型网络适配器的待复制信息管理单元的存储数据结构中;
(8)新型网络适配器为完成数据复制的报文重新计算TCP、UDP或IP首部的长度及checksum信息,然后判断报文最新的待复制份数是否减为0,若待复制的报文份数为0,则执行步骤(9),若待复制的报文份数不为0,则不作处理,留给后续待复制报文继续使用或等待其老化周期达到后被待复制信息管理单元强行回收;
(9)删除DATA_ID对应的缓存数据,并回收其管理标识DATA_ID。
其中,所述新型网络适配器包括:处理器、存储单元、待复制信息管理单元以及checksum计算单元;
处理器,所述处理器是该新型网络适配器的核心,使新型网络适配器额外承担TCP/IP协议三层或四层的功能;
存储单元,所述存储单元是新型网络适配器独享的硬件存储单元或是可供其独立使用的、从主机内存中划分出来的主机内存;
待复制信息管理单元,其完成待复制信息的存储、查询和老化功能,是硬件实现的HASH散列单元或某种具备存储和查询功能的软件模块;
checksum计算单元,其完成IP、UDP或TCP首部的checksum的计算,IP、UDP和TCP首部的checksum计算算法是相同的。
进一步的,所述步骤(2)中的有效期是指为网络适配器缓存的数据定义的老化周期,即从待复制信息进入新型网络适配器的管理单元或算法开始,到其占用的缓存和管理资源必须被释放的时间,该时间存在一个默认值,同时可以接受用户自定义。
进一步的,涉及TCP或UDP报文时,TCP或UDP报文在新型网络适配器上的处理包括:复制或构造报文载荷、重新计算TCP、UDP或IP首部的checksum和长度。
进一步的,当TCP报文的数据复制时,考虑到报文载荷内待复制信息描述符被替换成待复制数据时,报文长度的变化会影响到TCP报文的长度变化而引起TCP连接异常中断,该新型网络适配器支持识别出TCP建立连接的交互过程并参与进去,与本地主机和远端主机分别建立TCP连接,起到一个TCP代理的功能;在两段回话之间完成数据的转换而不会导致数据中断。
进一步的,当TCP报文的数据复制时,主机或服务器的应用在使用报文描述符构造报文载荷时,根据待复制数据的实际长度在报文描述符后做填充,构造出一个与复制后报文载荷长度相同的报文,避免数据替换前后报文长度发生变化。
进一步的,新型网络适配器通过老化定时器定时清理缓存中超过用户定义的有效期的缓存数据,确保数据缓冲区资源最终被及时回收。
一种支持报文复制功能的新型网络适配器,包括处理器、存储单元、待复制信息管理单元以及checksum计算单元;
处理器,所述处理器是该新型网络适配器的核心,使新型网络适配器额外承担TCP/IP协议三层或四层的功能;
存储单元,所述存储单元是新型网络适配器独享的硬件存储单元或是可供其独立使用的、从主机内存中划分出来的主机内存;
待复制信息管理单元,其完成待复制信息的存储、查询和老化功能。是硬件实现的HASH散列单元或某种具备存储和查询功能的软件模块;
checksum计算单元,其完成IP、UDP或TCP首部的checksum计算。
进一步的,所述新型网络适配器还包括老化定时器,定时清理缓存中超过用户定义有效期的缓存数据,确保数据缓存资源最终被及时回收。
有益效果:与现有技术相比,本发明提供的一种支持报文复制功能的新型网络适配器的实现方法,通过具备TCP/IP协议三层、四层处理功能的新型网络适配器,来承担数据报文的复制和TCP/UDP封装以及IP层的封装,有效分担了中心节点和数据节点的软件处理压力,并通过硬件提升了数据的备份速度。在云存储和单节点备份数据日趋庞大的时代,支持报文复制功能的网络适配器,代表了一种新型的、高效软硬件搭配模型,将具有广泛的应用场景。
附图说明
图1是本发明所述的新型网络适配器的关键部件及待复制数据的缓存过程;
图2是本发明所述的应用层免数据复制过程中的数据转化示意图;
图3是TCP连接场景示意图;
图4是本发明所述的新型网络适配器完成报文复制的流程示意图。
具体实施方式
本发明提供了一种报文复制方法及新型网络适配器。在所述方法中,新型网络适配器通过识别报文载荷内的报文描述符,获取到事先缓存的预复制数据。然后将预复制数据替换掉载荷内的报文描述符,完成了数据的一次复制,成功免除了应用层的数据复制压力。
下面结合附图对本发明的技术方案进行详细的说明。
如图1所示是本发明所述的新型网络适配器的关键部件及待复制数据的预存过程。其中新型网络适配器具备硬件处理器,存储单元可共享主机内存,Hash散列单元、Checksum计算单元可由处理器的软件算法代替,但是处于性能的考虑,最好有独立的协处理器充当。新型适配器的处理器速度、板载存储单元的大小和速度对适配器处理报文的速度启动关键作用。独立的checksum计算单元和Hash散列单元等协处理器,可以提升处理速度。
新型网络适配器包括但不仅限于处理器、存储单元、待复制信息管理单元或算法以及checksum计算单元或算法;
处理器:处理器是该新型网络适配器必需的,是新型网络适配器可以额外承担三层或四层的功能的前提,也是网络适配器向一种更智能、更独立器件发展的前提。
存储单元:存储单元不一定是新型网络适配器独享的硬件存储单元,也可能是可供其独立使用的,从主机内存中划分出来的主机内存。考虑到新型网络适配器的运算速度和将来内存器件成本的不断降低,建议为新型网络适配器提供独立的存储单元,但不作强制要求。
待复制信息管理单元或算法:完成待复制信息的存储、查询甚至老化功能。可以是硬件实现的Hash散列单元或某种存储和查询的软件算法。考虑到新型网络适配器查询和存储的速度对整个方案可行性的影响,建议使用具备管理功能的硬件单元。但是同样考虑到整体的成本,可以由软件算法充当。
checksum计算单元或算法:完成IP、UDP或TCP首部的checksum计算。IP、UDP或TCP首部的checksum计算算法业界已经有了专门的硬件计算单元,可以考虑使用这种专门的硬件器件加速计算过程,也可以考虑降低成本而使用软件算法。
其中待复制数据的预存过程如下:
应用层发现需要进行报文复制时,将待复制数据和欲复制的份数等信息构造成待复制信息并传递给网络适配器,然后网络适配器会把待复制信息对应的DATA_ID返回给应用层。
应用的数据复制工作只需要构造一个报文描述符,然后复制报文描述符并发送的过程。相对正常的数据复制长度,可以大大降低数据复制量,降低了主机的处压力。
待复制数据预存过程相当于通过数据换回一个DATA_ID,应用层后续的数据复制工作就转化为构造一个报文描述符,然后复制报文描述符并发送的过程。相对正常的数据复制长度,可以大大降低数据复制量,降低了主机处的压力。
图2所示的是本发明所述的是应用层免数据复制过程中的数据转化示意图。由新型网络适配器完成报文描述符到复制数据的转换。这个功能是通过在网络适配器上截获和识别报文载荷的前提下做到的。具体过程为:
(1)应用层数据携带待复制信息描述符到达新型网络适配器;
(2)新型网络适配器对收到的报文的载荷部分进行解析,识别是否具备待复制信息描述符以及描述符信息是否正确。如果符合待复制信息描述符特征且描述符内容也正确,则按(3)处理;否则,按普通数据报文处理。
(3)新型网络适配器从待复制信息描述符中获取DATA_ID,并根据DATA_ID从待复制信息管理单元或获算法中查询处待复制数据和待复制份数;如果当前待复制份数大于0,则转(4)处理,否则,将当前报文按普通数据报文转发。
(4)复制待复制数据到报文载荷的待复制信息描述符起始位置,并根据待复制数据的长度修改TCP或UDP首部及IP首部的长度;同时通过新型网络适配器的checksum计算单元或算法完成TCP或UDP首部及IP首部的checksum的计算。
(5)新型网络适配器将完成复制的数据报文发送给对端。
当然这里涉及TCP报文时需要关注,(1)TCP报文在主机上的处理包括两步:复制或构造载荷、封装TCP/IP Header并计算其长度和checksum。其中TCP部分的checksum包含了TCP所有载荷和TCP伪首部。所以载荷长度一定程度上影响了计算代价。(2)TCP报文长度对端是有期望的,连接的任何一端不能任意修改报文长度。基于以上两点,关于TCP报文的数据复制,提供一下两个方案仅供参考:
方案1,如果简单的使用报文描述符到复制数据的转换识别影响到了TCP报文的长度变化,会引起TCP连接中断。这里要考虑新型网络适配器要识别出TCP通过“三次握手”创建TCP会话的过程并参与进来。与本地主机和远端主机各建立一个TCP连接,起到一个TCP代理的功能。在两段连接之间完成数据的转换和传输而不会担心导致数据中断。举例说明如下:
本来应用层要跟对端建立一个TCP连接A。由于新型网络适配器作为TCP代理参与进来后,根据截取本端应用层与远端的会话的协商过程,新型网络适配器分别于应用层和远端各建立一个连接:A1(应用层,TCP代理),A2(TCP代理,远端)。
当应用层的数据通过A1交给新型网络适器后。新型网络适配器识别并复制数据到报文载荷。然后新型网络适配器通过A2连接将修改的报文发送给远端。确保了数据发送过程、中长度上的变化不会引起TCP连接中断。
该方案很大程度避免了报文复制和checksum计算压力,但是新型网络适配器要独立承担很多的数据连接,可能会影响到该网络适配器的处理性能,或者说对新型网络适配器的硬件有更高的要求。
方案2应用层在用报文描述符充当载荷时(有效数据),数据长度设置成复制数据的长度,避免数据替换前后长度发生变化。但是由于TCP报文在到达新型网络器前,要有主机处理器完成计算。一定程度上还是没能挽回主机的计算压力,但是数据的复制工作能免除。对新型网络适配器的要求也不高。相对方案1比较容易实现。如图3所示,为TCP连接场景示意图。
对UDP的数据传输不需做以上特殊考虑。
新型网络适配器需要通过其驱动程序向应用层提供传递待复制数据信息的传递接收接口和待复制信息传递时的数据结构,,并定义待复制报文在载荷内中必须携带的待复制信息描述符的格式。这里的待复制信息描述符也是用户根据网络适配器提供的基本结构定义的,要为用户编程预留一定的扩展性。如图4所示,新型网络适配器复制报文的处理过程为:
步骤301:应用层根据业务需要将待复制的数据和待复制的份数传递给新型网络适配器的驱动程序。
主机或服务器收到的数据如果需要复制时,需要按照驱动定义提供的数据结构格式,将要复制的数据内容和需要复制的份数组织成待复制信息,然后调用驱动程序的应用接口,将待复制信息传递给新型网络适配器。
步骤302:新型网络适配器收到驱动程序传递的待复制信息,会将待复制信息通过其管理单元或算法缓存并管理起来。同时,该管理单元或算法会为被缓存的复制信息分配一个有效期内唯一的管理标识DATA_ID。
这里的有效期是指:为新型网络适配器缓冲的数据定义的一个老化周期,即从待复制信息进入新型网络适配器的管理单元或算法开始,到其占用的缓冲和管理资源必须被释放的时间。该时间存在一个默认值,同时可以接受用户自定义。
步骤303:新型网络适配器的管理单元或算法完成数据缓存后,将为其分配的管理标识DATA_ID通过待复制信息传递接口返回给应用层。
步骤304:应用层按照与新型网络适配器约定的待复制信息数据描述符作为构造出报文内容载荷,然后按照业务要求复制出报文相应份数的载荷并调用应用层对应的socket进行报文的封装和发送报文。这里的报文描述符也是用户根据新型网络适配器提供的基本结构定义的,为用户编程提供一定的扩展性。
步骤305:新型网络适配器收到数据报文并对其载荷起始部分进行识别。
步骤306:判断报文描述符是否符合期望,若报文载荷起始部分的数据信息符合待复制信息描述符的特征,且描述符内容符合期望,则执行步骤307;若载荷起始部分的数据信息不符合待复制信息描述符特征,或特征符合但是描述符内容不符合期望,则按普通数据报文处理。
步骤307:新型网络适配器获取到正确的带复制信息描述符后,从中获取DATA_ID字段。
步骤308:新型网络适配器根据DATA_ID从新型网络适配器管理单元或算法中查询出对应的待复制数据和最新的待复制份数。并判断报文最新的待复制的报文份数是否大于0,若报文最新的待复制的报文份数大于0,执行步骤309,若待复制的报文份数不大于0,则按普通数据报文处理。
步骤309:通过DATA_ID从新型网络适配器的待复制信息管理单元或算法中查询待复制数据,获取待复制数据并替换当前载荷中的待复制信息描述符,然后将最新的待复制份数减1,并刷新到新型网络适配器的管理单元或算法的存储数据结构中,然后从描述符开始位置对报文的载荷进行替换。
步骤310:根据载荷长度重新计算TCP或UDP及IP首部的长度字段,然后调用checksum计算单元或算法对TCP或UDP及首部的checksum字段进行重新计算。每复制一份,复制份数就会减一。
步骤311:判断报文最新的待复制的份数是否减为0,若报文最新的待复制份数减为0,则执行步骤312,若报文最新的待复制的份数不为0,则不作处理,留给后续待复制报文继续使用或等待其老化周期达到后被待复信息管理单元或算法强行回收。
步骤312:根据DATA_ID删除缓冲区中对应的数据,并回收其管理标识DATA_ID;新型网络适配器的复制功能已经完成。
但是考虑到报文在新型网络适配器中重构报文可能失败。需要增加一个老化定时器,定时清理缓存中超过用户定义的有效期的缓冲数据,确保数据缓冲区资源正常回收。
综上所述,本发明提供了一种支持报文复制功能的新型网络适配器,此项技术应用在云存储和数据安全等领域。例如,在云存储的中心节点上,可以分担中心节点数据复制和计算的压力。在数据节点存在多备份的场景下,可分担数据节点复制数据的压力。很大程度上提升了节点可用于数据处理的硬件资源和处理速度。在云存储和数据备份大规模的部署下,能很大程度上节约硬件成本。
而且在电子和通信设别制造技术非常成熟的今天,研发一款具备以上功能的新型网络处理器,研发成本不会太高,研发周期也不会很长。因此,本技术具有很高的推广价值。
本发明提供了一种支持报文复制功能的新型网络适配器的实现方法和思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (9)
1.一种报文复制方法,所述报文包括报文载荷,其特征在于,该方法包括以下步骤:
(1)主机或服务器的应用根据业务需要将待复制的数据和预复制的份数传递给新型网络适配器的驱动程序;
具体的:主机或服务器收到的数据如果需要复制,按照驱动程序定义的数据结构,将待复制的数据和待复制的份数组织成待复制信息,然后调用待复制信息传递接口将待复制信息传递给新型网络适配器;
(2)新型网络适配器收到驱动程序传递的待复制信息,会将待复制信息通过待复制信息管理单元缓存并管理起来,同时,该管理单元会为被缓存的复制信息分配一个有效期内唯一的管理标识DATA_ID;
(3)新型网络适配器的管理单元完成数据缓存后,将为其分配的待复制信息管理标识DATA_ID通过待复制信息传递接口返回给主机或服务器的应用;
(4)主机或服务器的应用按照与新型网络适配器约定的待复制信息描述符构造出报文载荷,然后按照业务要求复制出相应份数的报文载荷并调用对应的socket进行报文封装和发送;
(5)新型网络适配器收到数据报文并对报文载荷起始部分进行识别,若报文载荷起始部分的数据信息符合待复制信息描述符的特征,且描述符内容符合期望,则执行步骤(6);若报文载荷起始部分的数据信息不符合待复制信息描述符特征或特征符合但是描述符内容不符合期望,则按普通数据报文处理;
(6)新型网络适配器获取到正确的待复制信息描述符后,从中获取DATA_ID字段,然后根据DATA_ID从新型网络适配器的待复制信息管理单元中查询出对应的待复制数据和最新的待复制份数,并判断报文最新的待复制份数是否大于0,若报文最新的待复制份数大于0,执行步骤(7),若待复制的报文份数不大于0,则按普通数据报文处理;
(7)新型网络适配器获取待复制数据并替换当前报文载荷中的待复制信息描述符,然后将最新的待复制份数减1并刷新到新型网络适配器的待复制信息管理单元的存储数据结构中;
(8)新型网络适配器为完成数据复制的报文重新计算TCP、UDP或IP首部的长度及checksum信息,然后判断报文最新的待复制份数是否减为0,若待复制的报文份数为0,则执行步骤(9),若待复制的报文份数不为0,则不作处理,留给后续待复制报文继续使用或等待其老化周期达到后被待复制信息管理单元强行回收;
(9)删除DATA_ID对应的缓存数据,并回收其管理标识DATA_ID。
2.根据权利要求1所述的报文复制方法,其特征在于,所述新型网络适配器包括:处理器、存储单元、待复制信息管理单元以及checksum计算单元;
处理器,所述处理器是该新型网络适配器的核心,使新型网络适配器额外承担TCP/IP协议三层或四层的功能;
存储单元,所述存储单元是新型网络适配器独享的硬件存储单元或是可供其独立使用的、从主机内存中划分出来的主机内存;
待复制信息管理单元,其完成待复制信息的存储、查询和老化功能,是硬件实现的HASH散列单元或某种具备存储和查询功能的软件模块;
checksum计算单元,其完成IP、UDP或TCP首部的checksum的计算,IP、UDP和TCP首部的checksum计算算法是相同的。
3.根据权利要求1所述的报文复制方法,其特征在于,所述步骤(2)中的有效期是指为网络适配器缓存的数据定义的老化周期,即从待复制信息进入新型网络适配器的管理单元开始,到其占用的缓存和管理资源必须被释放的时间,该时间存在一个默认值,同时可以接受用户自定义。
4.根据权利要求1所述的报文复制方法,其特征在于,涉及TCP或UDP报文时,TCP或UDP报文在新型网络适配器上的处理包括:复制或构造报文载荷、重新计算TCP、UDP或IP首部的checksum和长度。
5.根据权利要求1所述的报文复制方法,其特征在于,当TCP报文的数据复制时,考虑到报文载荷内待复制信息描述符被替换成待复制数据时,报文长度的变化会影响到TCP报文的长度变化而引起TCP连接异常中断,该新型网络适配器支持识别出TCP建立连接的交互过程并参与进去,与本地主机和远端主机分别建立TCP连接,起到一个TCP代理的功能;在两段回话之间完成数据的转换而不会导致数据中断。
6.根据权利要求1所述的报文复制方法,其特征在于,当TCP报文的数据复制时,主机或服务器的应用在使用报文描述符构造报文载荷时,根据待复制数据的实际长度在报文描述符后做填充,构造出一个与复制后报文载荷长度相同的报文,避免数据替换前后报文长度发生变化。
7.根据权利要求1所述的报文复制方法,其特征在于,新型网络适配器通过老化定时器定时清理缓存中超过用户定义的有效期的缓存数据,确保数据缓冲区资源最终被及时回收。
8.一种具有权利要求1-7任一项所述报文复制方法的支持报文复制功能的新型网络适配器,其特征在于:包括处理器、存储单元、待复制信息管理单元以及checksum计算单元;
处理器,所述处理器是该新型网络适配器的核心,使新型网络适配器额外承担TCP/IP协议三层或四层的功能;
存储单元,所述存储单元是新型网络适配器独享的硬件存储单元或是可供其独立使用的、从主机内存中划分出来的主机内存;
待复制信息管理单元,其完成待复制信息的存储、查询和老化功能,是硬件实现的HASH散列单元或某种具备存储和查询功能的软件模块;
checksum计算单元,其完成IP、UDP或TCP首部的checksum计算。
9.根据权利要求8所述的一种支持报文复制功能的新型网络适配器,其特征在于,所述新型网络适配器还包括老化定时器,定时清理缓存中超过用户定义有效期的缓存数据,确保数据缓存资源最终被及时回收。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710911464.1A CN107707546B (zh) | 2017-09-29 | 2017-09-29 | 一种报文复制方法及支持报文复制功能的新型网络适配器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710911464.1A CN107707546B (zh) | 2017-09-29 | 2017-09-29 | 一种报文复制方法及支持报文复制功能的新型网络适配器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107707546A CN107707546A (zh) | 2018-02-16 |
CN107707546B true CN107707546B (zh) | 2020-02-18 |
Family
ID=61175679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710911464.1A Active CN107707546B (zh) | 2017-09-29 | 2017-09-29 | 一种报文复制方法及支持报文复制功能的新型网络适配器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107707546B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602166B (zh) * | 2019-08-08 | 2022-03-08 | 百富计算机技术(深圳)有限公司 | 解决数据重复发送问题的方法、终端设备和存储介质 |
CN112532690B (zh) * | 2020-11-04 | 2023-03-24 | 杭州迪普科技股份有限公司 | 一种报文解析方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227306A (zh) * | 2008-02-19 | 2008-07-23 | 中兴通讯股份有限公司 | 用于多播处理的报文复制方法和装置 |
CN101257457A (zh) * | 2008-03-31 | 2008-09-03 | 华为技术有限公司 | 网络处理器复制报文的方法和网络处理器 |
CN104219158A (zh) * | 2014-09-03 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种报文复制方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7280542B2 (en) * | 2002-10-25 | 2007-10-09 | Alcatel Lucent | Multicasting system and method for use in an access node's ATM switch fabric |
US9813252B2 (en) * | 2010-03-23 | 2017-11-07 | Juniper Networks, Inc. | Multicasting within a distributed control plane of a switch |
-
2017
- 2017-09-29 CN CN201710911464.1A patent/CN107707546B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227306A (zh) * | 2008-02-19 | 2008-07-23 | 中兴通讯股份有限公司 | 用于多播处理的报文复制方法和装置 |
CN101257457A (zh) * | 2008-03-31 | 2008-09-03 | 华为技术有限公司 | 网络处理器复制报文的方法和网络处理器 |
CN104219158A (zh) * | 2014-09-03 | 2014-12-17 | 杭州华三通信技术有限公司 | 一种报文复制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107707546A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102880475B (zh) | 计算机软件系统中基于云计算的实时事件处理系统及方法 | |
CN103902486B (zh) | 一种远端直接内存访问实现方法、装置及系统 | |
US7518983B2 (en) | Proxy response apparatus | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
EP2939401B1 (en) | Method for guaranteeing service continuity in a telecommunication network and system thereof | |
CN110609746B (zh) | 管理网络系统的方法、设备和计算机可读介质 | |
CN116048538B (zh) | 用于dpu的服务网格部署方法及装置 | |
CN113746749A (zh) | 网络连接设备 | |
CN103139018A (zh) | 一种调变一体化系统下的网卡状态监测与tcp通信方法 | |
CN107707546B (zh) | 一种报文复制方法及支持报文复制功能的新型网络适配器 | |
CN111147573A (zh) | 一种数据传输的方法和装置 | |
CN115189920A (zh) | 跨网络域通信方法和相关装置 | |
CN106576108A (zh) | 通信系统中的通信方法和设备及系统 | |
CN107623585B (zh) | 用于减少路由更新的大小的方法、系统和装置 | |
CN116192863B (zh) | 微服务流量处理方法、dpu服务网格部署方法及系统 | |
CN104009961A (zh) | 一种PPPoE会话标识分配方法及设备 | |
CN115865886B (zh) | 一种基于http的跨网络数据交互方法和装置 | |
CN114095901A (zh) | 通信数据处理方法及装置 | |
CN113329046A (zh) | 数据传输方法、系统以及存储介质 | |
CN113873033B (zh) | 一种具有容错功能的智能边缘计算网关平台 | |
CN105577433B (zh) | 一种acs集群管理方法、装置和系统 | |
CN111240867B (zh) | 一种信息通讯系统及方法 | |
CN112073756A (zh) | 业务控制方法、装置、电子设备及可读存储介质 | |
KR20210078074A (ko) | 잠재 벡터를 이용한 네트워킹 방법 및 장치 | |
CN117440446B (zh) | 一种基于数据分发服务的数据传输方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |