CN108512718B - 用于更新分组中的错误检测信息的方法和装置 - Google Patents

用于更新分组中的错误检测信息的方法和装置 Download PDF

Info

Publication number
CN108512718B
CN108512718B CN201810169266.7A CN201810169266A CN108512718B CN 108512718 B CN108512718 B CN 108512718B CN 201810169266 A CN201810169266 A CN 201810169266A CN 108512718 B CN108512718 B CN 108512718B
Authority
CN
China
Prior art keywords
field
value
packet
error detection
detection 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
Application number
CN201810169266.7A
Other languages
English (en)
Other versions
CN108512718A (zh
Inventor
T·米兹拉希
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Marvell Asia Pte 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 Marvell Asia Pte Ltd filed Critical Marvell Asia Pte Ltd
Publication of CN108512718A publication Critical patent/CN108512718A/zh
Application granted granted Critical
Publication of CN108512718B publication Critical patent/CN108512718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0673Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种网络设备接收分组,该分组具有i)要由网络设备更新的第一字段,以及ii)包括与分组的内容相对应的当前错误检测信息的第二字段,该内容包括第一字段。网络设备确定要加到第一字段的当前值、以生成第一字段的新值的更新值。网络设备使用当前错误检测信息和更新值,而不使用第一字段的当前值,来生成新错误检测信息。网络设备修改第二字段,以包括新错误检测信息,并且修改第一字段,以包括新值。

Description

用于更新分组中的错误检测信息的方法和装置
相关申请的交叉引用
本申请要求于2017年2月28日提交的题为“Method for Incremental ChecksumUpdate of Added Values in Network Packets”的美国临时专利申请号62/464,735的权益,其全部内容在此通过引用并入本文。
技术领域
本公开一般地涉及网络通信系统,并且更具体地涉及更新网络通信系统内的分组中的错误检测信息。
背景技术
通信分组通常包括诸如校验和之类的错误检测信息,该校验和由网络中的接收节点使用,以验证所接收的通信分组中的信息的完整性。在一些情形下,处理通信分组的网络中的中间节点修改通信分组的内容。例如,中间节点可以修改时间戳字段、时间延迟字段、跳数字段、生存时间(TTL)字段等。尽管通信分组的完整性保持良好,但是修改的字段会使校验和无效。在一些现有技术系统中,当修改分组的字段使分组中的校验和无效时,校验和字段被设置为零值,以避免错误的错误指示,这导致接收设备忽略校验和值。因此,接收设备不能使用校验和字段来验证所接收的通信分组的完整性。
美国专利号8,948,037描述了一种用于当分组中的时间戳字段被修改时将校验和报尾加到分组的方法。例如,在美国专利号8,948,037中描述的一个实施例中,确定校验和报尾(tailor)值以在时间戳字段已经被修改之后维持分组中的校验和字段的正确性,并且与校验和字段分开的分组的填充字段被设置为校验和报尾值。
发明内容
在实施例中,一种装置包括逻辑电路,其被配置为:确定要被加到分组的第一字段的当前值以更新分组中的第一字段的更新值,该分组还具有第二字段,其包括与分组的内容相对应的当前错误检测信息;以及使用i)来自分组的第二字段的当前错误检测信息以及ii)更新值,而不使用来自分组的第一字段的当前值,来生成新错误检测信息。该装置还包括分组修改电路,其被配置为修改分组的第二字段以包括新错误检测信息,以及修改分组的第一字段以包括新值。
在另一实施例中,一种方法包括:在网络设备处接收分组,该分组具有i)要由网络设备更新的第一字段,以及ii)第二字段,其包括与分组的内容相对应的当前错误检测信息,该内容包括第一字段;在网络设备处确定要被加到第一字段的当前值、以生成第一字段的新值的更新值;使用当前错误检测信息和更新值,而不使用第一字段的当前值在网络设备处生成新错误检测信息;在网络设备处修改第二字段以包括新错误检测信息;以及在网络设备处修改第一字段以包括新值。
附图说明
图1A是根据实施例的、包括在发送分组之前修改分组的字段的处理网络数据单元(例如,分组)的示例网络设备的框图。
图1B是根据实施例的、由图1A的示例网络设备处理的示例分组的图。
图2是根据实施例的、用于计算分组的新校验和值的示例方法的流程图。
图3A是根据实施例的、在发送分组之前修改分组的字段的示例网络设备的框图。
图3B是根据另一实施例的、在发送分组之前修改分组的字段的另一示例网络设备的框图。
图4是根据实施例的、用于更新分组中的字段的示例方法的流程图。
具体实施方式
仅出于说明目的,下文在诸如在互联网协议(IP)分组、用户数据报协议(UDP)数据单元和传输控制协议(TCP)数据单元中使用的校验和的上下文中,对用于更新网络数据单元中的错误检测信息的技术的实施例进行描述。然而,在其他实施例中,类似技术被用于更新其他类型的网络数据单元中的其他类型的错误检测信息。
图1A是根据实施例的、被配置用于处理和转发网络数据单元(本文中被称为“分组”)的示例网络设备100的高级简化框图。网络设备100包括耦合到相应网络链路(未示出)的多个端口104。网络设备100还包括处理经由端口104进入网络设备100的分组的分组处理器108,该处理包括做出转发决定。在实施例中,对分组做出转发决定包括:例如至少确定要经由其输出数据包的一个或多个端口104。由分组处理器108执行的其他功能包括以下一项或多项:i)确定分组是否应当被捕获或镜像到另一处理器(未示出)以供进一步分析,ii)确定分组是否应当被丢弃,iii)计量,iv)监管等。应当指出,图中所示的分组处理器的图被高度简化。实际上,仅仅是为了不混淆本公开的教导原理,合适的分组处理器通常包括许多附加部件并且提供未示出或讨论的许多附加功能性。
分组处理器108包括转发引擎112,该转发引擎112包括或者耦合到转发数据库(未示出),该转发数据库包括将地址信息(例如,来自所接收的分组)与所接收的分组应当被转发到的端口104的指示相关联的信息。在实施例中,转发引擎112通常使用i)分组的报头中的地址信息,以及ii)转发数据库中的信息,以确定分组应该被转发到哪个或哪些端口104。
分组处理器108还包括分组修改电路,以更新正在由分组处理器108处理的分组中的各种字段。例如,分组处理器108包括字段更新器116,其被配置为更新所接收的分组中的字段。例如,字段更新器116包括逻辑电路,其被配置为更新分组中的字段,该字段诸如时间戳字段、时间延迟字段(例如,用于监视分组在诸如交换机或路由器之类的中间节点中延迟的时间量的字段)、跳数字段、生存时间(TTL)字段等。如下文将更详细描述的,字段更新器116被配置为通过将更新值120加到特定字段的旧值124以生成特定字段的新值128,来更新分组中的特定字段。因而,在实施例中,字段更新器116包括加法器122(例如,加法器电路)。
分组处理器108还包括校验和更新器132,其被配置为按照字段更新器116对字段的改变,来更新所接收的分组中的校验和字段。例如,如下文将更详细描述的,校验和更新器132包括逻辑电路,其被配置为使用由字段更新器116使用的更新值120,来更新分组中的另一字段更新分组中的校验和。更具体地,校验和更新器132被配置为使用旧校验和值140和更新值120,来生成新校验和值136。如下文将更详细地描述的,校验和更新器132能够在字段更新器116更新分组中的其他字段之前,更新校验和。
图1B是由网络设备100经由端口104中的一个端口接收并且由分组处理器108处理的分组150的图。分组150包括报头部分154和有效载荷部分158。在实施例中,有效载荷部分158中的字段162由字段更新器116来更新。附加地,分组150的报头部分154包括校验和字段166,并且校验和更新器132更新校验和字段166。
如图1B所图示的,分组150在网络设备100的端口104中的一个端口处以从左到右的次序被接收,即,首先接收报头部分134,并且在已经接收到报头部分134之后接收有效载荷部分138。类似地,根据实施例,如图1B所图示的,一般分组处理器108以从左到右的次序从分组150读取信息,即,首先读取报头部分154,并且在报头部分154已经被读取之后来读取有效载荷部分158。
因此,根据实施例,在分组处理器108处理字段162之前(例如,在分组处理器108确定字段162的旧值之前),分组处理器108处理校验和字段166。再次参考图1A,根据实施例,校验和更新器132使用更新值120更新校验和字段166,该更新值120稍后将由字段更新器116以便更新字段142,并且校验和更新器132在不使用字段162的旧值124的情况下,更新校验和字段166。因为校验和更新器132在不使用字段162的旧值124的情况下,更新校验和字段166,所以根据实施例,在分组处理器108确定字段162的旧值124之前,校验和更新器132可以更新校验和字段166。
在实施例中,在校验和更新器132更新校验和字段166之后,字段更新器116读取字段162的旧值124,将更新值120加到旧值124以生成字段162的新值128,然后将字段162设置为新值128。在其中字段162是时间延迟字段(例如,用于监视分组在诸如交换机或路由器之类的中间节点中被延迟的时间量的字段)的实施例中,更新值120与网络设备100内的测量或估计的延迟量相对应。在字段162是TTL字段的另一实施例中,更新值120是1,即,字段更新器116递增字段162的旧值124。
在实施例中,字段更新器116被配置为使用由校验和更新器132所利用的一种加法,来更新字段162,以使得新校验和值136对新字段值128有效。例如,根据实施例,使用1的补码加法,计算校验和166,并且因此字段更新器116使用1的补码加法,来更新字段162,例如,加法器122是1的补码加法器。通过1的补码加法,负数被表示为对应正数的逐位补码(或1的补码)。根据实施例,通过这种类型的数字表示,1的补码加法要求将最高有效位的高位进位(carry out)加到1的补码和的最低有效位(有时被称为“收尾循环进位”)。
另一合适加法技术是2的补码加法。在2的补码加法中,负数被表示为加上1的对应正数的逐位补码。通过这种类型的数字表示,不同于1的补码加法,根据实施例,2的补码加法忽略了和(例如,没有“首尾循环进位”)的最高有效位的高位进位。
作为说明性示例,校验和166根据1988年的网络工作组的请求注解(RFC)1071来计算,其中涉及1的补码加法。在RFC 1071中描述的技术中,要计算校验和的分组内容被划分成16位字,以作为要求和的加数,并且计算16位字的1的补码和。在计算1的补码和时,最高有效位的任何高位进位被加到1的补码和的最低有效位。最后,校验和通过反转1的补码和的每一位而被计算。根据该实施例,字段更新器116使用1的补码加法,将更新值120加到旧值124,以生成字段162的新值128,然后将字段162设置为新值128。
在实施例中,分组处理器108包括报头解析器电路(未示出),其被配置为解析报头部分154并且提取报头信息,该报头信息包括来自校验和字段166的旧校验和值140以及其他报头信息。因此,在实施例中,报头解析器电路向校验和更新器132提供旧校验和值140。在另一实施例中,校验和更新器132包括解析器电路,其被具体配置为从校验和字段166中提取旧校验和值140。
在实施例中,分组处理器108包括报头修改电路(未示出),其被配置为响应于分组处理器108中的其他电路,来修改报头部分154的各种字段。因此,在实施例中,校验和更新器132指令报头修改电路将新校验和值136写入校验和字段166。在另一实施例中,校验和更新器132包括校验和字段修改电路,其被具体地配置为将新校验和值136写入校验和字段166。
在实施例中,字段更新器116包括解析器电路,其被配置为从字段162提取旧字段值124。在实施例中,字段更新器116包括字段修改电路,其被具体地配置为将新字段值128写入字段162。
图2是根据实施例的、用于使用i)分组的旧校验和值和ii)被(或将)用于更新分组的另一字段(例如,图1B的字段142)的更新值,计算分组的新校验和值的示例方法200的流程图。出于说明性目的,在根据上文所讨论的RFC 1071计算的校验和的上下文中,对方法200进行描述。然而,在其他实施例中,校验和根据另一合适算法来计算,或者根据不同于校验和的合适错误检测信息被更新。
在实施例中,校验和更新器132被配置为实现方法200,并且出于解释目的,在图1A的网络设备100和图1B的分组150的上下文中对方法200进行描述。然而,在其他实施例中,方法200由另一合适网络设备来实现。
在框204处,计算更新值120的各个16位字的1的补码和(Vsum)。例如,根据实施例,校验和更新器132包括补码加法器(例如,加法器电路),并且校验和更新器132使用校验和更新器132的1的补码加法器,来计算更新值120的各个16位字的1的补码和。
在框208处,分组中的旧校验和值(OldChecksum)的每一位被反转,以生成值~OldChecksum。例如,校验和更新器124包括逻辑电路,其被配置为反转OldChecksum的每一位。在框212处,计算Vsum与~OldChecksum的1的补码和。例如,根据实施例,校验和更新器132使用校验和更新器132的1的补码加法器,来计算Vsum与~OldChecksum的1的补码和。
在框216处,通过反转Vsum与~OldChecksum之和的每一位,来计算新校验和值(NewChecksum)。例如,校验和更新器132包括逻辑电路,其被配置为反转Vsum与~OldChecksum之和的每一位。
根据实施例,方法200的框208、212和216实现以下等式:
NewChecksum=~(~OldChecksum+Vsum)等式1
其中“+”表示1的补码加法操作,而“~”表示逐位逻辑反转(或逐位逻辑非)操作。
如上文所描述的,根据实施例,校验和更新器132包括1的补码加法器。在另一实施例中,字段更新器116和校验和更新器132共享1的补码加法器。在实施例中,校验和更新器132包括硬件状态机,其被配置为使用加法器电路和位反转电路来根据方法200和/或等式1计算NewChecksum。在另一实施例中,校验和更新器132包括处理器,其执行机器可读指令并且被配置为根据方法200和/或等式1计算NewChecksum。
尽管结合正在被更新的一个字段162在更新校验和166的上下文中对图1A和图2进行描述,但是可以结合正在被更新的分组的多个字段来类似地更新校验和166。例如,在实施例中,字段更新器116被配置为通过将相应的更新值加到字段的相应旧值以生成字段的相应新值,来更新分组中的多个字段。在另一实施例中,分组处理器108包括多个相应的字段更新器116,每个字段更新器116被配置为通过将相应更新值加到相应字段的相应旧值以生成字段的相应新值,来更新分组中的相应字段。
在其中分组的多个字段正在被更新的一些实施例中,校验和更新器132被配置为使用诸如上文所描述的技术之类的技术来重复地更新校验和166。
在其中分组的多个字段正在被更新的另一实施例中,校验和更新器132被配置为计算与正在被更新的多个字段相对应的相应更新值的各个16位字的相应的1的补码和。例如,根据实施例,校验和更新器132被配置为以与上文结合图2所讨论的方式类似的方式,来计算与正在被更新的多个字段相对应的Vsum,1,Vsum,2,...。然后,新校验和值(NewChecksum)根据以下公式计算:
NewChecksum=~(~OldChecksum+Vsum,1+Vsum,2+...)。等式2
图3A是根据实施例的示例网络300的框图,该示例网络300包括发送节点308和接收节点312之间的示例布置中的中间节点304。在实施例中,中间节点304与图1A的网络设备100相同或相似。在图3A的实施例中,中间节点304是与发送节点308分开的网络设备。作为说明性示例,在实施例中,发送节点308是发起定时分组316的服务器或另一网络设备的一部分。发送节点308生成分组316,以便包括校验和166和包括时间戳的字段162。中间节点304是交换和/或路由设备,其经由第一端口从发送节点308接收分组316,确定要发送修改的分组316'所经由的第二端口,以及将修改的分组316'转发到第二端口。在实施例中,中间节点304包括确定要发送分组316'所经由的第二端口的转发引擎112(图1A)。
中间节点304还通过向字段162的旧值124加上更新值120,来更新字段162中的时间戳,该更新值120与定时分组316在中间节点304处理定时分组316时所经受的时间延迟相对应。例如,根据实施例,中间节点304包括字段更新器116(图1A),该更新器更新字段162中的时间戳。在图3A中,更新之后的字段162被示为字段162'。中间节点304还使用诸如先前所描述的技术之类的技术来更新校验和166,以使得校验和根据字段162中的时间戳的更新而保持有效。例如,根据实施例,中间节点304包括校验和更新器132(图1A),其使用更新值120而不使用字段162的旧值124来更新字段166中的校验和。在图3A中,更新之后的字段166被示为字段166'。
在一些实施例中,诸如上文所描述的技术之类的校验和技术还可以用于不是诸如桥或路由器之类的转发设备之类的设备中。例如,图3B是根据实施例的包括发送节点354和接收节点358的示例网络350的框图。根据实施例,发送节点354是诸如计算机、服务器等之类的端点设备,并且发送节点354不包括转发引擎112。发送节点354生成定时分组362,并且将该定时分组发送到接收节点358。
发送节点354包括耦合到分组处理器370的分组发生器366。在实施例中,发送节点354包括网络接口设备,其被配置为经由网络链路发送和接收分组,并且分组处理器362是网络接口设备的部件。分组生成器366生成定时分组362以便包括校验和166和包括时间戳的字段162。在实施例中,分组生成器366是生成定时分组362的中央处理单元(CPU)或另一控制器,并且分组处理器370是硬件设备,其在发送节点354将修改的分组362'发送到接收节点358之前,更新字段162中的时间戳以使时间戳更准确。例如,根据实施例,分组处理器370包括字段更新器116(图1A),其更新字段162中的时间戳。字段更新器116向字段162的旧值124加上更新值120,该更新值120与分组生成器366生成定时分组362的时间与发送节点354发送定时分组362的时间之间的时间延迟相对应。在图3B中,更新之后的字段162被示为字段162'。
分组处理器370还使用诸如先前所描述的技术之类的技术,来更新校验和166,以使得校验和根据字段162中的时间戳的更新而保持有效。例如,根据实施例,分组处理器370包括校验和更新器132(图1A),其使用更新值120而不使用字段162的旧值124更新校验和166。在图3B中,更新之后的字段166被示为字段166'。
尽管在包括时间戳信息的字段162的上下文中对图3A和图3B进行描述,字段162在其他实施例中包括其他合适类型的信息,诸如时间延迟信息(例如,与时间延迟字段相对应的字段162)、跳数(例如,字段162与跳数字段或TTL字段相对应)等。
进一步,尽管上文所讨论的实施例涉及更新校验和字段,但是在其他实施例中更新其他类型的错误检测信息。
图4是根据实施例的、用于更新分组中的字段的示例方法400的流程图。根据各种实施例,方法400由诸如桥接器、路由器、端点设备的网络接口等之类的合适网络设备来实现。例如,根据各种实施例,方法400由图1A的网络设备100、图3A的中间网络节点304或者图3B的发送节点354来实现。
在框404处,网络设备接收具有分组,该分组具有i)要由网络设备更新的第一字段,以及ii)包括与分组相对应的当前错误检测信息的第二字段。例如,网络设备100(图1A)经由端口104中的一个端口接收分组150,该分组150包括字段162和校验和166。作为另一示例,网络设备100的分组处理器108(图1A)接收分组150。作为另一示例,分组处理器370(图3B)接收分组362。在实施例中,第一字段是字段162(图1B、图3A、图3B),而第二字段是校验和166(图1B、图3A、图3B)。在其他实施例中,第一字段是不同于字段162的分组的另一合适字段,和/或第二字段与不同于校验和的其他合适错误检测信息相对应。
在框408处,网络设备确定要被加到第一字段的当前值、以生成第一字段的新值的更新值。例如,根据实施例,第一字段包括时间延迟信息,并且更新值对应于附加延迟时间,该附加延迟时间与网络设备对分组的处理相对应。作为另一示例,根据另一实施例,第一字段包括跳数信息,并且更新值是1,其与递增跳数信息相对应。在实施例中,在框408处使用的更新值是更新值12(图1A)。
在框412处,网络设备使用第二字段的当前值(例如,旧校验和值140)和要被加到第一字段(例如,字段162)的当前值的更新值(例如,更新值120),来生成第二字段的新错误检测信息。在实施例中,框412包括在不使用第一字段的当前值的情况下(例如,在不使用旧字段值124(图1A)的情况下),生成新错误检测信息。在实施例中,框412包括执行方法200(图2)和/或使用等式1。在实施例中,在网络设备读取分组中的第一字段的当前值之前,执行框412。
在框416处,网络设备修改第二字段(例如,校验和166)以包括在框412处生成的新错误检测信息。在实施例中,在网络设备读取分组中的第一字段的当前值之前,执行框416。
在框420处,网络设备修改第一字段(例如,字段162)以包括新值(例如,新字段值128),该新值通过将更新值(例如,更新值120)加到第一字段的当前值(例如,旧字段值124)而被计算。在实施例中,使用在框412处使用的加法技术(例如,1的补码加法或另一合适加法技术)来计算新值,以生成新误差检测信息。在实施例中,网络设备在框416处修改第二字段之后执行框420。
实施例1:一种装置,包括逻辑电路,其被配置为:确定要被加到分组的第一字段的当前值以更新分组中的第一字段的更新值,该分组还具有第二字段,其包括与分组的内容相对应的当前错误检测信息,并且使用i)来自分组的第二字段的当前错误检测信息和ii)更新值,而不使用来自分组的第一字段来生成新错误检测信息;以及分组修改电路,其被配置为:修改分组的第二字段以便包括新错误检测信息,并且修改分组的第一字段以便包括新值。
实施例2:根据实施例1所述的装置,其中更新值是包括多个位的第一更新值;该逻辑电路被配置为将第一更新值划分成多个字,每个字包括多个位中的相应位组;该逻辑电路包括加法器电路,其被配置为使多个字相加以生成第二更新值;并且逻辑电路被配置为使用第二更新值生成在第二字段中的新错误检测信息。
实施例3:根据实施例2所述的装置,其中逻辑电路被配置为对第二字段中的错误检测信息的当前值执行逻辑运算以生成中间值;并且加法器电路被配置为将第二更新值加到中间值。
实施方式4:根据实施例3所述的装置,其中中间值是第一中间值;并且加法器电路被配置为将第二更新值加到第一中间值以生成第二中间值;并且逻辑电路被配置为对第二中间值执行逻辑运算以生成新错误检测信息。
实施例5:根据实施例2至4中的任一项所述的装置,其中加法器电路被配置为执行1的补码加法;并且逻辑电路被配置为使用1的补码加法将更新值加到第一字段的当前值。
实施例6:根据实施例1至5中的任一项所述的装置,还包括第一解析器电路,其被配置为从分组的第一字段提取当前值;以及第二解析器电路,其被配置为从分组的第二字段提取当前错误检测信息;其中逻辑电路被配置为在第一解析器电路从第一字段提取当前值之前生成新错误检测信息。
实施例7:根据实施例6所述的装置,其中第二解析器电路包括报头解析器电路,其被配置为从分组的报头部分中的多个字段提取信息,其包括从分组的报头部分中的第二字段提取当前错误检测信息;并且第一解析器电路被配置为从分组的有效载荷部分中的第一字段提取当前值。
实施例8:根据实施例1至7中的任一实施例所述的装置,其中分组修改电路包括报头修改电路,其被配置为修改分组的报头部分中的一个或多个字段,其包括修改第二字段以包括新错误检测信息;以及与报头修改电路分开的附加分组修改电路,其被配置为修改分组的有效载荷部分中的第一字段。
实施例9:根据实施例1至8中的任一项所述的装置,其中第一字段包括时间延迟信息;要被加到第一字段的当前值的更新值对应于与分组的处理相对应的附加时间延迟;并且第二字段包括与分组的内容相对应的校验和信息。
实施例10:根据实施例1至8中的任一实施例所述的装置,其中第一字段包括跳数信息;要被加到第一字段的当前值的更新值是1;并且第二字段包括与分组的内容相对应的校验和信息。
实施例11:一种方法,包括:在网络设备处接收具有分组,该分组具有i)要由网络设备更新的第一字段,以及ii)第二字段,其包括与分组的内容相对应的当前错误检测信息,该内容包括第一字段;在网络设备处确定要被加到第一字段的当前值以生成第一字段的新值的更新值;使用当前错误检测信息和更新值,而不使用第一字段的当前值在网络设备处生成新错误检测信息;在网络设备处修改第二字段以包括新错误检测信息;以及在网络设备处修改第一字段以包括新值。
实施例12:根据实施例11所述的方法,其中更新值是包括多个位的第一更新值;以及生成新错误检测信息包括:将第一更新值划分成多个字,每个字包括多个位中的相应位组;将多个字相加以生成与多个字的和相对应的第二更新值;以及使用第二更新值生成在第二字段中的新错误检测信息。
实施例13:根据实施例12所述的方法,其中生成新错误检测信息包括:对第二字段中的错误检测信息的当前值执行逻辑运算以生成第一中间值;将第二更新值加到第一中间值以生成第二中间值;以及使用第二中间值生成在第二字段中的新错误检测信息。
实施例14:根据实施例13所述的方法,其中对错误检测信息的当前值执行逻辑运算包括:反转错误检测信息的当前值的每一位以生成第一中间值。
实施例15:根据实施例14所述的方法,其中生成新错误检测信息还包括:对第二中间值执行逻辑运算以生成第三中间值,以及使用第三中间值生成在第二字段中的新错误检测信息。
实施例16:根据实施例15所述的方法,其中对错误检测信息的当前值执行逻辑运算包括:反转错误检测信息的当前值的每一位;以及对第二中间值执行逻辑运算包括:反转第二中间值的每一位。
实施例17:根据实施例12至16中的任一项所述的方法,其中将多个字相加以生成第二更新值包括:使用1的补码加法来将多个字相加;并且该方法还包括:使用1的补码加法将更新值加到第一字段的当前值以生成第一字段的新值。
实施例18:根据实施例11至17中的任一项所述的方法,其中在不使用第一字段的当前值的情况下生成新错误检测信息包括:在网络设备首次读取第一字段的当前值之前,生成新错误检测信息。
实施例19:根据实施例11至18中的任一项所述的方法,其中第一字段包括时间延迟信息;要被加到第一字段的当前值的更新值对应于与分组的处理相对应的附加时间延迟;并且第二字段包括与分组的内容相对应的校验和信息。
实施例20:根据实施例11至18中的任一项所述的方法,其中第一字段包括跳数信息;要被加到第一字段的当前值的更新值是1;并且第二字段包括与分组的内容相对应的校验和信息。
上文所描述的各种框、操作和技术中的至少一些可以利用硬件、执行固件指令的处理器、执行软件指令的处理器或其任何合适组合来实现。当利用执行软件或固件指令的处理器来实现时,软件或固件指令可以被存储在任何计算机可读存储器(诸如磁盘、光盘或其他存储介质上,RAM或ROM或闪存)中,在处理器的存储器、硬盘驱动器、光盘驱动器、磁带驱动器等中。软件或固件指令可以包括机器可读指令,当该指令由一个或多个处理器执行时,使得一个或多个处理器执行各种动作。
当以硬件实现时,硬件可以包括以下一项或多项:分立部件、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)等。
虽然已经参照仅旨在说明而非限制本发明的特定示例,对本发明进行了描述,但是可以在不背离本发明的范围的情况下,对所公开的实施例进行改变、增加和/或删除。

Claims (20)

1.一种用于更新分组中的错误检测信息的装置,包括:
逻辑电路,其被配置为:
确定要被加到分组的第一字段的当前值以更新所述分组中的所述第一字段的更新值,所述分组还具有第二字段,所述第二字段包括对应于所述分组的内容的当前错误检测信息,以及
使用i)来自所述分组的所述第二字段的所述当前错误检测信息和ii)所述更新值,而不使用来自所述分组的所述第一字段的所述当前值,来生成新错误检测信息;以及
分组修改电路,其被配置为:
修改所述分组的所述第二字段以包括所述新错误检测信息,以及
修改所述分组的所述第一字段以包括所述新值。
2.根据权利要求1所述的装置,其中:
所述更新值是包括多个位的第一更新值;
所述逻辑电路被配置为将所述第一更新值划分成多个字,每个字包括来自所述多个位中的相应位组;
所述逻辑电路包括加法器电路,所述加法器电路被配置为将所述多个字相加以生成第二更新值;以及
所述逻辑电路被配置为使用所述第二更新值生成在所述第二字段中的所述新错误检测信息。
3.根据权利要求2所述的装置,其中:
所述逻辑电路被配置为对所述第二字段中的所述错误检测信息的当前值执行逻辑运算以生成中间值;以及
所述加法器电路被配置为将所述第二更新值加到所述中间值。
4.根据权利要求3所述的装置,其中:
所述中间值是第一中间值;以及
所述加法器电路被配置为将所述第二更新值加到所述第一中间值以生成第二中间值;以及
所述逻辑电路被配置为对所述第二中间值执行所述逻辑运算以生成所述新错误检测信息。
5.根据权利要求2所述的装置,其中:
所述加法器电路被配置为执行1的补码加法;以及
所述逻辑电路被配置为使用1的补码加法,将所述更新值加到所述第一字段的所述当前值。
6.根据权利要求1所述的装置,还包括:
第一解析器电路,其被配置为从所述分组的所述第一字段提取所述当前值;以及
第二解析器电路,其被配置为从所述分组的所述第二字段提取所述当前错误检测信息;
其中所述逻辑电路被配置为在所述第一解析器电路从所述第一字段提取所述当前值之前,生成所述新错误检测信息。
7.根据权利要求6所述的装置,其中:
所述第二解析器电路包括报头解析器电路,所述报头解析器电路被配置为从所述分组的报头部分中的多个字段提取信息,包括从所述分组的所述报头部分中的所述第二字段提取所述当前错误检测信息;以及
所述第一解析器电路被配置为从所述分组的有效载荷部分中的所述第一字段提取所述当前值。
8.根据权利要求1所述的装置,其中所述分组修改电路包括:
报头修改电路,其被配置为修改所述分组的报头部分中的一个或多个字段,包括修改所述第二字段以包括所述新错误检测信息;以及
与所述报头修改电路分开的附加分组修改电路,其被配置为修改所述分组的有效载荷部分中的所述第一字段。
9.根据权利要求1所述的装置,其中:
所述第一字段包括时间延迟信息;
要加到所述第一字段的所述当前值的所述更新值对应于与所述分组的处理相对应的附加时间延迟;以及
所述第二字段包括对应于所述分组的内容的校验和信息。
10.根据权利要求1所述的装置,其中:
所述第一字段包括跳数信息;
要加到所述第一字段的所述当前值的所述更新值是1;以及
所述第二字段包括对应于所述分组的内容的校验和信息。
11.一种用于更新分组中的错误检测信息的方法,包括:
在网络设备处接收分组,该分组具有i)第一字段,所述第一字段要由所述网络设备更新;以及ii)第二字段,所述第二字段包括对应于所述分组的内容的当前错误检测信息,所述内容包括所述第一字段;
在所述网络设备处确定要被加到所述第一字段的当前值以生成所述第一字段的新值的更新值;
在所述网络设备处,使用所述当前错误检测信息和所述更新值,而不使用所述第一字段的所述当前值,生成新错误检测信息;
在所述网络设备处修改所述第二字段以包括所述新错误检测信息;以及
在所述网络设备处修改所述第一字段以包括所述新值。
12.根据权利要求11所述的方法,其中:
所述更新值是包括多个位的第一更新值;以及
生成所述新错误检测信息包括:
将所述第一更新值划分成多个字,每个字包括来自所述多个位中的相应位组,
将所述多个字相加以生成对应于所述多个字的和的第二更新值,以及
使用所述第二更新值生成在所述第二字段中的所述新错误检测信息。
13.根据权利要求12所述的方法,其中生成所述新错误检测信息包括:
对所述第二字段中的所述错误检测信息的当前值执行逻辑运算以生成第一中间值;
将所述第二更新值加到所述第一中间值以生成第二中间值;以及
使用所述第二中间值生成在所述第二字段中的所述新错误检测信息。
14.根据权利要求13所述的方法,其中对所述错误检测信息的所述当前值执行所述逻辑运算包括:
反转所述错误检测信息的所述当前值的每一位,以生成所述第一中间值。
15.根据权利要求13所述的方法,其中生成所述新错误检测信息还包括:
对所述第二中间值执行所述逻辑运算,以生成第三中间值,以及
使用所述第三中间值,生成在所述第二字段中的所述新错误检测信息。
16.根据权利要求15所述的方法,其中
对所述错误检测信息的所述当前值执行所述逻辑运算包括:反转所述错误检测信息的所述当前值的每一位;以及
对所述第二中间值执行所述逻辑运算包括:反转所述第二中间值的每一位。
17.根据权利要求12所述的方法,其中
将所述多个字相加以生成所述第二更新值包括:使用1的补码加法将所述多个字相加;以及
所述方法还包括:使用1的补码加法将所述更新值加到所述第一字段的所述当前值,以生成所述第一字段的所述新值。
18.根据权利要求11所述的方法,其中在不使用所述第一字段的所述当前值的情况下生成所述新错误检测信息包括:
在所述网络设备首次读取所述第一字段的所述当前值之前,生成所述新错误检测信息。
19.根据权利要求11所述的方法,其中:
所述第一字段包括时间延迟信息;
要加到所述第一字段的所述当前值的所述更新值对应于与所述分组的处理相对应的附加时间延迟;以及
所述第二字段包括对应于所述分组的内容的校验和信息。
20.根据权利要求11所述的方法,其中:
所述第一字段包括跳数信息;
要加到所述第一字段的所述当前值的所述更新值是1;以及
所述第二字段包括对应于所述分组的内容的校验和信息。
CN201810169266.7A 2017-02-28 2018-02-28 用于更新分组中的错误检测信息的方法和装置 Active CN108512718B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762464735P 2017-02-28 2017-02-28
US62/464,735 2017-02-28
US15/900,470 US10651974B2 (en) 2017-02-28 2018-02-20 Method and apparatus for updating error detection information in packets
US15/900,470 2018-02-20

Publications (2)

Publication Number Publication Date
CN108512718A CN108512718A (zh) 2018-09-07
CN108512718B true CN108512718B (zh) 2023-01-17

Family

ID=63247034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810169266.7A Active CN108512718B (zh) 2017-02-28 2018-02-28 用于更新分组中的错误检测信息的方法和装置

Country Status (2)

Country Link
US (1) US10651974B2 (zh)
CN (1) CN108512718B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768299A (en) * 1996-01-26 1998-06-16 Unisys Corporation Derived generation system for parity bits with bi-directional, crossed-fields utilizing stored flip-bit feature
CN1581764A (zh) * 2003-08-14 2005-02-16 国际商业机器公司 检测和避开网络内高数据讹误路径的方法、系统和产品
CN1625155A (zh) * 2003-12-02 2005-06-08 三星电子株式会社 互联网协议分组错误处理设备及其方法和计算机可读介质
CN1965540A (zh) * 2004-06-30 2007-05-16 思科技术公司 用于检测对于协议定义的补充头部的支持的方法和装置
EP2712100A1 (en) * 2012-09-19 2014-03-26 Alcatel Lucent Method for switching from a one-way into a two-way signalling mode as a protection scheme for the distribution of time and frequency over a packet switched network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793976A (en) 1996-04-01 1998-08-11 Gte Laboratories Incorporated Method and apparatus for performance monitoring in electronic communications networks
US8868914B2 (en) 1999-07-02 2014-10-21 Steven W. Teppler System and methods for distributing trusted time
JP3994614B2 (ja) 2000-03-13 2007-10-24 株式会社日立製作所 パケット交換機、ネットワーク監視システム及びネットワーク監視方法
GB0103903D0 (en) 2001-02-16 2001-04-04 Radioscape Ltd An open digital interface between sdr baseband processors and rf
US7756956B2 (en) 2002-11-14 2010-07-13 Canon Development Americas, Inc. Mimic support address resolution
US20040213278A1 (en) 2003-04-24 2004-10-28 Broadcom Corporation System, method, and computer program product for in-place, lightweight Ack promotion in a cable modem environment
US7441179B2 (en) * 2003-10-23 2008-10-21 Intel Corporation Determining a checksum from packet data
US20100165849A1 (en) 2008-12-29 2010-07-01 Martin Eisenberg Failure Detection in IP Networks Using Long Packets
US8238335B2 (en) 2009-02-13 2012-08-07 Avaya Inc. Multi-route transmission of packets within a network
CN102783079B (zh) 2010-03-02 2015-09-02 维特赛半导体公司 基于包的分布式时间戳引擎
US8948037B1 (en) 2011-07-01 2015-02-03 Marvell Israel (M.I.S.L) Ltd. Checksum trailer in timing protocols
US9197691B2 (en) 2011-10-04 2015-11-24 Google Technology Holdings LLC System and method for latency measurement at each network element participating as an RTP relay in a telecommunication network
CN106031094B (zh) 2014-01-02 2020-01-21 马维尔国际贸易有限公司 分布式计数器的准确测量
US10148796B2 (en) * 2015-10-20 2018-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Checksum friendly timestamp update

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768299A (en) * 1996-01-26 1998-06-16 Unisys Corporation Derived generation system for parity bits with bi-directional, crossed-fields utilizing stored flip-bit feature
CN1581764A (zh) * 2003-08-14 2005-02-16 国际商业机器公司 检测和避开网络内高数据讹误路径的方法、系统和产品
CN1625155A (zh) * 2003-12-02 2005-06-08 三星电子株式会社 互联网协议分组错误处理设备及其方法和计算机可读介质
CN1965540A (zh) * 2004-06-30 2007-05-16 思科技术公司 用于检测对于协议定义的补充头部的支持的方法和装置
EP2712100A1 (en) * 2012-09-19 2014-03-26 Alcatel Lucent Method for switching from a one-way into a two-way signalling mode as a protection scheme for the distribution of time and frequency over a packet switched network

Also Published As

Publication number Publication date
CN108512718A (zh) 2018-09-07
US10651974B2 (en) 2020-05-12
US20180248656A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US9578141B2 (en) Packet flow modification
CN107667510B (zh) 恶意软件和恶意应用的检测方法和装置
US9264333B1 (en) Checksum trailer in timing protocols
US20120051236A1 (en) Mechanisms for Discovering Path Maximum Transmission Unit
US10148796B2 (en) Checksum friendly timestamp update
EP3607696A1 (en) Digital signature systems and methods for network path trace
US11082316B2 (en) Performance measurement in a packet-switched communication network
CN110730143B (zh) 一种分片数据包处理方法及装置
US7453879B1 (en) Method and apparatus for determining the landing zone of a TCP packet
EP3203699A1 (en) Method for man-in-the-middle processing for tcp without protocol stack
US10176068B2 (en) Methods, systems, and computer readable media for token based message capture
CN109479015B (zh) 网络设备及其延迟监测方法
US20090154361A1 (en) Method and system for using protocol checksums to convey data
CN108512718B (zh) 用于更新分组中的错误检测信息的方法和装置
Yang Hybrid single-packet IP traceback with low storage and high accuracy
Lu et al. On the correspondency between TCP acknowledgment packet and data packet
Sutter et al. Fpga-based tcp/ip checksum offloading engine for 100 gbps networks
JP5887324B2 (ja) 中継装置および中継方法
US10904147B1 (en) Boundary condition check using associative memory
CN113812119B (zh) 用于性能测量的网络节点
US9553795B2 (en) Port switching method, analysis device, and recording medium
CN102404210B (zh) 一种用于增量计算网络报文校验和的方法和装置
US10191826B2 (en) Methods, systems, and computer readable media for providing an anticipated data integrity check
Nguyen et al. An Implementation of the SACK-Based Conservative Loss Recovery Algorithm for TCP in ns-3
CN116738329A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200426

Address after: Singapore City

Applicant after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Applicant before: Kaiwei international Co.

Effective date of registration: 20200426

Address after: Ford street, Grand Cayman, Cayman Islands

Applicant after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Applicant before: Marvell International Ltd.

Effective date of registration: 20200426

Address after: Hamilton, Bermuda

Applicant after: Marvell International Ltd.

Address before: Saint Michael

Applicant before: MARVELL WORLD TRADE Ltd.

GR01 Patent grant
GR01 Patent grant