CN101208892A - 网络协议单元完整性的确定 - Google Patents

网络协议单元完整性的确定 Download PDF

Info

Publication number
CN101208892A
CN101208892A CNA2006800197193A CN200680019719A CN101208892A CN 101208892 A CN101208892 A CN 101208892A CN A2006800197193 A CNA2006800197193 A CN A2006800197193A CN 200680019719 A CN200680019719 A CN 200680019719A CN 101208892 A CN101208892 A CN 101208892A
Authority
CN
China
Prior art keywords
content
border
crc
network protocol
protocol unit
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
CNA2006800197193A
Other languages
English (en)
Other versions
CN101208892B (zh
Inventor
S·金
F·贝瑞
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101208892A publication Critical patent/CN101208892A/zh
Application granted granted Critical
Publication of CN101208892B publication Critical patent/CN101208892B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Abstract

推测网络协议单元的净荷的内容边界并对该内容执行循环冗余校验(CRC)的技术。对该内容的CRC确认可以在诸如网络接口等计算逻辑内执行。可以使得网络协议单元对诸如主机系统等其他计算逻辑可用。该主机系统可以确定是否对该网络协议单元执行另一CRC确认操作。

Description

网络协议单元完整性的确定
领域
在此公开的主题涉及对网络协议单元完整性的确定。
相关技术
计算机之间基于网络的通信速度正在提高。然而网络速度的提升尚未被完全利用,这部分是由于与计算机内的数据传输和协议处理相关联的等待时间引起的。至少一种类型的协议处理包括循环冗余校验(CRC)。需要能够加快计算机内的数据传输和协议处理速度的技术。
附图简述
图1A描绘了在其中可以使用本发明的某些实施例的合适系统。
图1B描绘了网络协议单元的示例。
图2A根据本发明一个实施例描绘了网络接口各部分的一个示例性实现。
图2B描绘了可以在本发明一个实施例内使用的主机存储器的内容的一个示例性实现。
图3描绘了能够用于对一部分内容执行CRC确认的进程的流程图,该内容的边界被推测性地确定并且该内容位于网络协议单元内。
图4描绘了能够用于对先前可能已经进行过推测性CRC确定的网络协议单元的内容执行CRC确认的进程的流程图,
注意,在不同附图中使用相同的标号来指示相同或类似的元素。
详细描述
本说明书通篇对“一个实施例”或“某个实施例”的引用指的是结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因而,在本说明书通篇各处出现的短语“在一个实施例中”或“在某一实施例中”不必都指代同一实施例。此外,在一个或多个实施例中,可组合这些特定的特征、结构或特性。
图1A在计算机系统100内描绘了在其中可以使用本发明的某些实施例的合适系统。计算机系统100可以包括主机系统102、总线116和网络接口118。
主机系统102可以在任何计算环境中使用,这些计算环境包括但不限于个人计算机、服务器、交换机、路由器、个人数字助理和/或移动电话。主机系统102的一个实施例包括芯片组105、处理器110、主机存储器112和存储114。芯片组105可以提供处理器110、主机存储器112、存储114、总线116以及图形适配器之间的相互通信,上述图形适配器可用于传输图形和信息以供在显示设备上显示(两者都未示出)。例如,芯片组105可以包括能够提供与存储114的相互通信的存储适配器(未示出)。例如,存储适配器能够遵守以下任何协议来与存储114通信:小型计算机系统接口(SCSI)、光纤通道(FC)和/或串行高级技术附件(S-ATA)。在某些实施例中,芯片组105可包括用以对主机存储器内的信息执行直接存储器访问(DMA)的直接存储器访问引擎。
处理器110可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、多核、或者任何其他微处理器或中央处理单元。
主机存储器112可以被实现为易失性存储设备,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储114可以被实现为非易失性存储设备,诸如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备和/或网络可访问存储设备。
总线116可以提供至少是在主机系统102和网络接口118以及其他外围设备之间的相互通信。总线116可以支持串行或并行通信。总线116可以支持节点对节点或者节点对多节点通信。总线116例如可以与在可从美国俄勒冈州波特兰市的PCI Special Interest Group(PCI特殊利益集团)获得的Peripheral ComponentInterconnect(PCI)Local Bus Specification,Revision2.2,December 18,1998(于1998年12月18日发布的外围部件互连(PCI)本地总线规范版本2.2)(及其修订)中描述的外围部件互连(PCI);在PCI Special Interest Group的PCI Express BaseSpecification of the Revision 1.0a(PCI Express基础规范版本1.0a)(及其修订)中描述的PCI Express;在可从前述美国俄勒冈州波特兰市的PCI Special InterestGroup获得的PCI-X Specification Rev.1.0a,July 24,2000(于2000年7月2日发布的PCI-X规范版本1.0a)(及其修订)中描述的PCI-x;和/或通用串行总线(USB)(及其相关标准)以及其他互连标准相兼容。
网络接口118能够在主机系统102和网络120之间提供遵守由网络120支持的协议的相互通信。网络接口118可以使用总线116与主机系统102通信。在一个实施例中,网络接口118可以被集成到芯片组105中。
网络120可以是任何网络,诸如因特网、内联网、局域网(LAN)、存储区域网(SAN)、广域网(WAN)或无线网络。网络120可以使用以太网标准(在IEEE 802.3及其相关标准中描述)或任何通信标准与网络接口118交换话务。
在某些实施例中,计算机系统100可以利用RDMA协议。RDMA协议可以使用TCP/IP之上的被称为MPA的层来从TCP/IP网络协议单元的入站流中恢复帧边界并提供对所恢复的帧的CRC确认。例如,RDMA可以是在能从RDMA Consortium(RDMA联盟)获得的“An RDMA Protocol Specification″(version 1.0)(2002)”(RDMA协议规范(版本1.0)(2002))中所描述的。例如,TCP/IP协议是至少在为Defense Advanced Projects Research Agency(国防先进技术研究计划署)(RFC793,1981年9月出版)准备的题为“Transmission Control Protocol:DARPA InternetProgram Protocol Specification”(传输控制协议:DARPA因特网程序协议规范)的出版物中所描述的。例如,MPA可以是至少在来自IETF working forum RemoteDirect Data Placement Work Group(IETF工作论坛,远程直接数据放置工作小组)(2004年2月)的“Marker PDU Aligned Framing for TCP Specification”(针对TCP规范的标记PDU对齐成帧)及其修订(以下称为“MPA规范”)中所描述的。在此使用的“网络协议单元”可以包括根据任何协议规范形成的带有报头和净荷部分的任何分组或帧或其他格式的信息。
根据本发明的一个实施例,网络接口可以推测性地确定在网络协议单元内接收到的内容的边界并且对一部分该推测性地定位的内容执行CRC确认。在某些实施例中,该内容可以包括MPA帧。当然,也可以推测性地确定其他类型的净荷、分组和帧的边界。如果内容的定位被正确地推测,则主机系统就能够在无需进一步确认(例如,CRC或其他的比特奇偶校验处理)的情况下使用该内容。藉此,主机系统内的处理周期就可用于执行除CRC确认或其他比特奇偶校验处理以外的操作。同样还能够避免由于为CRC操作或其他比特奇偶校验处理而将网络协议单元排队所造成的网络协议单元可用性的延迟,从而可以缩短对网络协议单元可用性的等待时间。
计算机系统100可以被实现为以下各项的任一项或组合:使用主板互连的微芯片或集成电路、硬连线逻辑、由存储器设备存储并由处理器执行的软件、固件、专用集成电路(ASIC)、和/或现场可编程门阵列(FPGA)。术语“逻辑”作为示例可以包括软件或硬件,和/或软件和硬件的组合。
图1B描绘了遵守TCP/IP协议的网络协议单元的示例,并且每个网络协议单元都在TCP净荷部分内载有MPA帧。例如,在某些实施例中,每个网络协议单元可以包括IP和TCP报头部分以及封装在TCP净荷部分内的MPA帧。MPA帧可以包括MPA长度字段、MPA帧内容、以及相关联的MPA CRC字段。TCP净荷部分(和MPA帧)如图所示大小可变。在示出的实施例中,MPA帧边界与TCP净荷部分的边界相匹配,然而MPA帧边界也可以不与TCP净荷部分的边界相匹配。对于更多的MPA帧封装示例,参见MPA规范。
图2A根据本发明的一个实施例描绘了网络接口的各部分的示例性实现。例如,网络接口至少可以包括收发机202、内容标识器204、CRC逻辑206、CRC累加器208、网络协议单元(NPU)状态寄存器210、以及总线接口212。虽然没有详细描述,但是网络接口可以包括能够将网络协议单元传送至网络的逻辑。
收发机202可以包括媒体访问控制(MAC)和物理层接口(PHY)(皆未示出),它们能够以遵守适用的协议(诸如在IEEE 802.3及其相关标准中描述的以太网,虽然也可以使用其他的协议)的任何速率从网络接收网络协议单元并向网络发送网络协议单元。例如,收发机202可以使用物理线路和/或无线技术接收来自网络120的网络协议单元并向网络发送网络协议单元。
内容标识器204可以从收发机202中接收网络协议单元并将其边界被推测性地确定并定位在每个网络协议单元的净荷部分内的内容提供给CRC逻辑206。例如,当网络协议单元遵守TCP/IP时,内容标识器204可以根据TCP/IP规范来确定TCP净荷位置。在某些实施例中,内容标识器204可以推测内容的边界与TCP净荷的边界相同。例如,在某些实施例中,其边界被推测性地确定的内容可以包括MPA帧。当然,也能够推测其他类型的帧、分组或其他信息的边界。内容标识器204可以将其边界被推测性地确定的至少一部分内容提供给CRC逻辑206并且指示CRC确认何时开始和停止。
CRC逻辑206可以对内容标识器204(或另一源)提供的内容执行CRC确认操作。例如,提供的内容可以包括MPA CRC字段、MPA长度字段和MPA帧内容的组合、或者整个MPA帧。CRC逻辑206可以将CRC确认操作的中间结果存储在CRC累加器208中并且使用来自CRC累加器208的中间结果来确定所提供内容的CRC确认。在某些实施例中,CRC累加器208可以存储对内容执行的CRC计算的中间和最终版本。例如,CRC确认可以包括根据MPA规范的CRC32c值的计算。CRC逻辑206可以指示对所提供内容的CRC确认操作是有效还是无效。
网络协议单元(NPU)状态寄存器210可以指示对其边界被推测性地确定的网络协议单元内容的CRC确认操作是有效还是无效。寄存器210内的CRC有效/无效结果可以作为元数据被传送至主机计算机(或其他目的地)。元数据可以被存储在主机存储器中与相关联网络协议单元相同的区域内,也可以被存储在主机存储器的另一区域内。
总线接口212可以提供与总线的相互通信。该总线可包括但不限于类似于总线116(图1A)的总线。例如,总线可以在网络接口和主机系统之间提供相互通信。总线接口212可以遵守该总线所支持的标准(但是也可以使用其他的互连标准)。例如,总线接口212可以包括并利用直接存储器访问(DMA)引擎(未示出)来对从主机存储器和/或主机存储到网络接口和/或从网络接口到主机存储器和/或主机存储的信息执行直接存储器访问。例如,总线接口212至少可用于将网络协议单元和元数据传送至主机系统。
图2B描绘了可在本发明一个实施例中使用的由主机系统利用的主机存储器的内容的示例性实现。例如,主机存储器可以存储操作系统(OS)250、堆栈252、设备驱动程序254、目的地缓冲器256和应用程序258。例如,主机系统至少可以接收来自网络接口的网络协议单元和元数据。元数据可以指示对网络协议单元的一部分内容所执行的CRC确认操作提供的是有效还是无效的结果,其中上述内容的边界是被推测性地确定的。
OS 250的合适实施例包括但不限于与LinuxTM或Microsoft Windows兼容的操作系统。
堆栈252至少可以对从网络中接收的网络协议单元和/或要传送给网络的信息(它们都依照RDMA、TCP/IP和/或MPA协议规范)执行协议处理。例如,在某些实施例中,堆栈252可以对从网络中接收的网络协议单元的净荷部分执行CRC确认操作。在某些实施例中,堆栈252可以被集成到OS 250中。
设备驱动程序254可以是用于网络接口的设备驱动程序。设备驱动程序254至少可以协同在主机系统和网络接口之间的网络协议单元(或其部分)以及其他信息的传输。
目的地缓冲器256可以存储由网络接口例如从网络中接收的数据(例如,网络协议单元(或其部分))。
应用程序258可以是至少利用接收自网络或向网络传输的数据的一个或多个逻辑。应用程序包括但不限于,例如web浏览器、输入/输出过滤器、电子邮件服务应用程序、文件服务应用程序或数据库应用程序。
图3描绘了能够由网络接口或其他逻辑使用以对一部分内容执行CRC确认的进程的流程图,该内容的边界被推测性地确定,并且该内容被定位在网络协议单元内。例如,该内容可包括MPA帧(或其他信息)。图3的进程300可以由能够从网络中接收网络协议单元并向另一计算逻辑(诸如,主机系统)提供网络协议单元的任何计算逻辑来执行。
在框302,进程300可以初始化CRC累加器值。CRC累加器值可以表示在对其边界被推测性地确定的一部分内容执行CRC之前的CRC的值。例如,被初始化的累加器值可以是表示依照MPA规范的初始化值的0xFFFFFFFF,虽然也可以在初始化时使用其他的值。
在框304,进程300可以定位网络协议单元的净荷部分的边界。例如,网络协议单元可以包括TCP报头和TCP净荷部分,并且该净荷部分可以是TCP净荷部分。在框304,进程300可以确定TCP报头的大小并且基于该确定,定位TCP净荷部分的开始。例如,在某些实施例中,TCP报头的长度可以在四十(40)至六十(60)字节之间变化,虽然也可以使用其他的大小。例如,TCP报头内的一个或多个比特可以指示TCP报头的长度。基于该指示,可以确定该TCP报头的长度以及TCP净荷的开始。例如,从所确定的TCP净荷的开始到网络协议单元的结尾的那一部分可以是TCP净荷。
在框306,进程300可以对来自网络协议单元的净荷部分的带有被推测的边界的一部分内容执行CRC计算。例如,在某些实施例中,进程300可以推测包括MPA长度字段、MPA帧内容、以及MPA CRC字段的组合在内的MPA帧的边界与TCP净荷的边界相同。在某些实施例中,对其执行CRC计算的该部分内容可以仅仅是MPA CRC字段、MPA长度字段和MPA帧内容的组合、或者整个MPA帧。例如,MPA长度字段和MPA CRC字段可以在MPA帧内具有已知的大小和位置。例如,MPA CRC字段可以是MPA帧的最后四个字节。
CRC计算的结果可以在CRC累加器内提供。CRC计算可以按字节或字执行。例如,一种合适的CRC计算方案例如可以在MPA规范中描述,虽然也可以使用其他的CRC计算方案。
在框308,进程300可以确定对其边界被推测的部分内容的CRC计算是否成功。例如,当在CRC计算中使用MPA CRC字段或整个MPA帧(包括MPA CRC字段)时,CRC计算的结果可以指示有效CRC是与期望质量相匹配的结果。例如,当在CRC计算中使用了将MPA CRC字段排除在外的MPA帧时,CRC计算的结果在该结果与被排除的MPA CRC字段相匹配的情况下可以指示有效CRC。如果得到有效CRC,则框308之后是框310。如果没有得到有效CRC,则则框308之后是框312。在框312,网络协议单元状态可以被指示为CRC无效。在框310和312之后则是框314。
在框314,进程300可以将网络协议单元状态传送给主机。例如,可以将带有与网络协议单元相关联的元数据的网络协议单元传送给主机。元数据可以指示对其边界被推测性地确定的部分内容执行的CRC是有效还是无效。
图4描绘了可由协议处理堆栈用来对先前可能已经对其进行过CRC确认的网络协议单元的一部分内容执行CRC确认的进程的流程图。例如,进程400可以由堆栈152利用,虽然其他逻辑也可以利用进程400。图4的进程400可以由任何计算逻辑执行。
在框402,进程400可以确定网络协议单元的净荷部分的内容的边界被正确推测。例如,网络接口或其他计算逻辑可能已经推测了网络协议单元的净荷部分的内容的边界。例如,净荷部分的内容可以与一MPA帧相对应。
例如,框402可以确定网络协议单元的净荷部分的内容的边界。例如,当该内容是MPA帧时,框402可以确定(1)TCP净荷的开头是否与MPA帧的开头相匹配,以及(2)TCP净荷的结尾是否与该MPA帧的结尾相匹配。如果(1)或(2)中的任一个为假,则内容的边界没有被正确地推测,并且在框402之后是框404。如果(1)和(2)都为真,则内容的边界被正确地推测,并且在框402之后是框406。例如,框406可以跟随内容边界被正确推测的条件。
例如,在框402,进程400可以根据TCP/IP规范来计算TCP净荷的边界。例如,在框402,进程400可以根据MPA规范和MPA状态信息来计算MPA帧的边界。MPA状态信息可以包括与在其中传输网络协议单元的会话有关的信息。例如,MPA状态可以指示MPA帧的TCP序列号以及MPA帧的帧边界。例如,会话可以与RDMA连接相对应。例如,MPA状态可以根据MPA规范来计算。
例如,TCP净荷可能在发送者发送未对准(或被压缩的)MPA帧或者在向网络接口转发该分组之前执行了重新分段由此导致MPA帧对准丧失的情况下不与MPA帧的边界相匹配。
在框404,进程400可以对网络协议单元的净荷内的内容的一部分正确边界计算CRC。例如,MPA帧的正确边界可能已经在框402被确定。例如,CRC确认可以包括使用与在图3的框302中所描述的技术相类似的CRC计算技术。
在框406,进程400可以确定对所关注内容应用的CRC是否与有效CRC相对应。所关注内容可以与执行了CRC的那部分内容相对应。例如,如果主机确定MPA帧的边界与TCP净荷的边界相对应(正像在框402所确定的那样),则对被正确推测的边界的有效CRC的指示可以与有关该内容的有效CRC相对应。例如,对于在框404执行的CRC计算而言,有关该关注内容的有效CRC可以按在框308所描述的方式相类似的方式来确定。如果有关该关注内容的CRC无效,则框406之后是框408。如果有关该关注内容的CRC有效,则框406之后是框410。
在框408,进程400可以对该内容执行差错恢复。例如,可以对MPA帧执行差错恢复。例如,差错恢复可以包括根据MPA规范的MPA差错恢复方案。在框410,进程400可以提供CRC有效内容以供应用程序或其他协议处理层使用。例如,内容可以包括MPA帧。
本发明的实施例可以被实现为以下各项中的任一项或组合:使用主板互连的微芯片或集成电路、硬连线逻辑、由存储器设备存储并由处理器执行的软件、固件、专用集成电路(ASIC)、和/或现场可编程门阵列(FPGA)。
附图和以上描述给出了本发明的示例。虽然被描绘成多个离散的功能项,但是本领域普通技术人员应该认识到,这些元素的一个或多个也可以被组合成单个功能元素。可选地,某些元素也可以被分成多个功能元素。来自一个实施例的元素可被添加至另一实施例。例如,在此描述的各进程的次序可以被改变并且不限于在此描述的方式。然而本发明的范围决不受到这些特定示例的限制。无论是在说明书中显式还是隐式给出的各种变化,诸如结构、尺寸和使用材料上的差异都是可能的。本发明的范围至少与所附权利要求给出的一样宽。

Claims (23)

1.一种方法,包括:
在第一计算逻辑处接收来自网络的网络协议单元;
在所述第一计算逻辑处,推测所述网络协议单元的内容的边界;
在所述第一计算逻辑处,对具有所推测的边界的一部分所述内容执行循环冗余校验(CRC)确认;以及
在所述第一计算逻辑处,提供所述内容的所述CRC是有效还是无效的指示。
2.如权利要求1所述的方法,其特征在于,所述推测边界包括:
将所述内容的边界设置为所述网络协议单元的净荷部分的边界。
3.如权利要求1所述的方法,其特征在于,所述内容的所述部分包括MPA CRC字段。
4.如权利要求1所述的方法,其特征在于,所述内容的所述部分包括MPA长度字段和MPA帧内容的组合。
5.如权利要求1所述的方法,其特征在于,还包括:
在第二计算逻辑处,接收来自所述第一计算逻辑的所述网络协议单元和所述指示;以及
在所述第二计算逻辑处,响应于所推测的边界被正确确定以及所述CRC有效的指示来选择性地提供所述内容。
6.如权利要求1所述的方法,其特征在于,还包括:
在第二计算逻辑处,接收来自所述第一计算逻辑的所述网络协议单元和所述指示;以及
在所述第二计算逻辑处,响应于所述推测性边界被正确确定以及所述CRC无效的指示来对所述内容选择性地执行MPA差错恢复。
7.如权利要求1所述的方法,其特征在于,还包括:
在第二计算逻辑处,接收来自所述第一计算逻辑的所述网络协议单元和所述指示;以及
在所述第二计算逻辑处,响应于所述内容的边界被不正确地推测来使用所述内容的正确边界选择性地执行CRC确认。
8.一种方法,包括:
接收网络协议单元以及对带有被推测的边界的内容的循环冗余校验(CRC)确认是有效还是无效的指示;以及
确定所述内容的边界是否被正确地推测。
9.如权利要求8所述的方法,其特征在于,所推测的边界包括所述网络协议单元的净荷部分的边界。
10.如权利要求8所述的方法,其特征在于,还包括:
响应于所述内容的边界被不正确地推测来使用所述内容的正确边界选择性地执行另一CRC确认。
11.如权利要求8所述的方法,其特征在于,还包括:
响应于所推测的边界被正确确定以及所述CRC有效的所述指示来选择性地提供所述内容。
12.如权利要求8所述的方法,其特征在于,还包括:
响应于所述CRC无效的所述指示来选择性地执行MPA差错恢复。
13.一种包括其上存储的指令的计算机可读介质,所述指令在被机器执行时会使得所述机器:
在第一计算逻辑处,接收来自网络的网络协议单元;
在所述第一计算逻辑处,推测所述网络协议单元的内容的边界;
在所述第一计算逻辑处,对具有所推测的边界的一部分所述内容执行循环冗余校验(CRC)确认;以及
在所述第一计算逻辑处,提供所述内容的所述CRC是有效还是无效的指示。
14.如权利要求13所述的计算机可读介质,其特征在于,所述用于推测的指令包括用于执行以下动作的指令:
将所述内容的边界设置为所述网络协议单元的净荷部分的边界。
15.如权利要求13所述的计算机可读介质,其特征在于,所述内容的所述部分包括MPA CRC字段。
16.如权利要求13所述的计算机可读介质,其特征在于,所述内容的所述部分包括MPA长度字段和MPA帧内容的组合。
17.一种包括其上存储的指令的计算机可读介质,所述指令在被机器执行时会使得所述机器:
接收网络协议单元以及对带有被推测的边界的内容的循环冗余校验(CRC)确认是有效还是无效的指示;以及
确定所述内容的边界是否被正确地推测。
18.如权利要求17所述的计算机可读介质,其特征在于,所推测的边界包括所述网络协议单元的净荷部分的边界。
19.如权利要求17所述的计算机可读介质,其特征在于,还包括其上存储的指令,所述指令在被机器执行时会使得所述机器:
响应于所述内容的边界被不正确地推测来使用所述内容的正确边界选择性地执行另一CRC确认。
20.如权利要求17所述的计算机可读介质,其特征在于,还包括其上存储的指令,所述指令在被机器执行时会使得所述机器:
响应于所推测的边界被正确确定以及所述CRC有效的所述指示来选择性地提供所述内容。
21.如权利要求17所述的计算机可读介质,其特征在于,还包括其上存储的指令,所述指令在被机器执行时会使得所述机器:
响应于所述CRC无效的所述指示来选择性地执行MPA差错恢复。
22.一种系统,包括:
包括处理器和存储器设备的主机系统;
总线;以及
把所述主机系统通信耦合至所述总线的芯片组,
其中所述芯片组包括网络接口,并且其中所述网络接口包括用于执行以下动作的逻辑:
接收来自网络的网络协议单元;
推测所述网络协议单元的内容的边界;
对具有所推测边界的一部分所述内容执行循环冗余校验(CRC)确认;
以及
提供所述内容的CRC是有效还是无效的指示。
23.如权利要求22所述的系统,其特征在于,所述主机系统包括用于执行以下动作的逻辑:
接收所述网络协议单元以及对带有所推测边界的内容的所述CRC确认是有效还是无效的指示;以及
确定所述内容的边界是否被正确地推测。
CN2006800197193A 2005-05-03 2006-04-28 网络协议单元完整性的确定 Expired - Fee Related CN101208892B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/121,669 US20060253768A1 (en) 2005-05-03 2005-05-03 Techniques to speculatively determine network protocol unit integrity
US11/121,669 2005-05-03
PCT/US2006/016647 WO2006119199A1 (en) 2005-05-03 2006-04-28 Determination of network protocol unit integrity

Publications (2)

Publication Number Publication Date
CN101208892A true CN101208892A (zh) 2008-06-25
CN101208892B CN101208892B (zh) 2011-04-27

Family

ID=36689546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800197193A Expired - Fee Related CN101208892B (zh) 2005-05-03 2006-04-28 网络协议单元完整性的确定

Country Status (4)

Country Link
US (1) US20060253768A1 (zh)
EP (1) EP1878152A1 (zh)
CN (1) CN101208892B (zh)
WO (1) WO2006119199A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9936419B2 (en) * 2012-05-18 2018-04-03 Nokia Solutions And Networks Oy Network nodes and methods for transmitting low-latency data in a radio communications system
US20220082286A1 (en) * 2020-09-11 2022-03-17 Johnson Controls Tyco IP Holdings LLP Control system for an hvac system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4712215A (en) * 1985-12-02 1987-12-08 Advanced Micro Devices, Inc. CRC calculation machine for separate calculation of checkbits for the header packet and data packet
US4720830A (en) * 1985-12-02 1988-01-19 Advanced Micro Devices, Inc. CRC calculation apparatus having reduced output bus size
US5072449A (en) * 1989-12-21 1991-12-10 Stratacom, Inc. Packet framing using cyclic redundancy checking
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5131012A (en) * 1990-09-18 1992-07-14 At&T Bell Laboratories Synchronization for cylic redundancy check based, broadband communications network
JP2996750B2 (ja) * 1991-02-13 2000-01-11 株式会社東芝 ディジタル無線通信装置
EP0606016B1 (en) * 1993-01-07 2002-10-09 Kabushiki Kaisha Toshiba Data communication system using an adaptive hybrid ARQ scheme
US5497457A (en) * 1994-10-17 1996-03-05 International Business Machines Corporation Redundant arrays of independent libraries of dismountable media with parity logging
US5646947A (en) * 1995-03-27 1997-07-08 Westinghouse Electric Corporation Mobile telephone single channel per carrier superframe lock subsystem
US5570370A (en) * 1995-04-28 1996-10-29 Industrial Technology Research Institute Frame timing acquisition method and system for cordless TDMA systems
US5991308A (en) * 1995-08-25 1999-11-23 Terayon Communication Systems, Inc. Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
US6081570A (en) * 1997-09-02 2000-06-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Parallel integrated frame synchronizer chip
CA2262774A1 (en) * 1998-03-06 1999-09-06 Lucent Technologies Inc. Simple data link (sdl) protocol
US6804257B1 (en) * 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams
US6885679B1 (en) * 2000-09-29 2005-04-26 Nortel Networks Limited System and method for layer 2 frame delineation recovery
US20030233609A1 (en) * 2002-06-18 2003-12-18 Ikonomopoulos Gus P. Parallel error checking for multiple packets
US6992987B2 (en) * 2003-05-01 2006-01-31 Genesis Microchip Inc. Enumeration method for the link clock rate and the pixel/audio clock rate
US7383483B2 (en) * 2003-12-11 2008-06-03 International Business Machines Corporation Data transfer error checking

Also Published As

Publication number Publication date
CN101208892B (zh) 2011-04-27
US20060253768A1 (en) 2006-11-09
EP1878152A1 (en) 2008-01-16
WO2006119199A1 (en) 2006-11-09

Similar Documents

Publication Publication Date Title
US7596144B2 (en) System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration
CN100544310C (zh) 为通过网络的数据传输管理存储器的方法、系统和程序
US7577707B2 (en) Method, system, and program for executing data transfer requests
US6738821B1 (en) Ethernet storage protocol networks
US7809870B2 (en) Method and system for interlocking data integrity for network adapters
US8099470B2 (en) Remote direct memory access for iSCSI
US7251704B2 (en) Store and forward switch device, system and method
CN100520758C (zh) 提高tcp重发处理速度
US9003053B2 (en) Message acceleration
US9239808B2 (en) Serial interface for FPGA prototyping
US7031904B1 (en) Methods for implementing an ethernet storage protocol in computer networks
EP1899830B1 (en) Automated serial protocol target port transport layer retry mechanism
US9325519B2 (en) Distributed proxy for bi-directional network connectivity over point-to-point connection
US20060274787A1 (en) Adaptive cache design for MPT/MTT tables and TCP context
KR20190108188A (ko) 탄성 패브릭 어댑터 - 무접속의 신뢰할 수 있는 데이터그램
CN1997977A (zh) 降低与失序rdma发送消息的传送相关的写操作的数量
CN100416532C (zh) 用于优化pci-express通信的系统
JP6189898B2 (ja) アクティブメッセージによるrmaapiのサポート
CN101197839A (zh) 图像处理设备及其控制方法和接口设备
US20110055422A1 (en) Trivial file transfer protocol (tftp) file segment and file address options
US8798085B2 (en) Techniques to process network protocol units
CN101208892B (zh) 网络协议单元完整性的确定
US7526574B2 (en) Method for communicating data transfer requests between data transfer protocols
US7231581B2 (en) Communicating using a partial block in a frame
EP1049292A2 (en) System and method for network monitoring

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110427

Termination date: 20190428

CF01 Termination of patent right due to non-payment of annual fee