CN115603843A - 出站分组的准确加时间戳 - Google Patents
出站分组的准确加时间戳 Download PDFInfo
- Publication number
- CN115603843A CN115603843A CN202210626232.2A CN202210626232A CN115603843A CN 115603843 A CN115603843 A CN 115603843A CN 202210626232 A CN202210626232 A CN 202210626232A CN 115603843 A CN115603843 A CN 115603843A
- Authority
- CN
- China
- Prior art keywords
- network device
- time stamping
- pipeline
- condition
- packets
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/067—Details of the timestamp structure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及出站分组的准确加时间戳。一种网络设备,包括端口、传输管线和加时间戳电路。所述端口被配置用于连接到网络。所述传输管线包括多个管线级并且被配置为处理分组以及经由所述端口将所述分组发送至所述网络。加时间戳电路被配置为:暂时中止传输管线中的至少给定分组的至少一些处理;验证位于加时间戳电路下游的具有可变处理延迟的管线级是否满足空置条件;以及仅当管线级满足空置条件时,对给定分组加时间戳并且恢复对给定分组的处理。
Description
技术领域
本发明总体上涉及分组通信,并且具体涉及用于网络设备中的出站分组的准确加时间戳的方法和系统。
背景技术
在各种应用中,网络设备对其接收、发送或转发的分组加时间戳。例如,在将网络节点同步到公共时基的时间同步协议中使用加时间戳。这种协议的常见示例是IEEE标准1588-2002和1588-2008中定义的精确时间协议(PTP)及其后续版本。
发明内容
本文描述的本发明的实施例提供一种网络设备,包括端口、传输管线和加时间戳电路。所述端口被配置用于连接到网络。所述传输管线包括多个管线级,并且被配置为处理分组以及经由所述端口将所述分组发送至所述网络。加时间戳电路被配置为:暂时中止传输管线中的至少给定分组的至少一些处理;验证位于加时间戳电路下游的具有可变处理延迟的管线级是否满足空置条件;以及仅当管线级满足空置条件时,对给定分组加时间戳并恢复对给定分组的处理。
在一些实施例中,具有可变处理延迟的管线级是具有可变占用级别的缓冲区。
在一些实施例中,加时间戳电路被配置为支持:(i)正常模式,在所述正常模式中,不管所述管线级是否满足所述空置条件而对分组加时间戳;和(ii)高准确度模式,在所述高准确度模式中,仅当所述管线级满足所述空置条件时,对分组加时间戳。在示例实施例中,加时间戳电路被配置为仅将所述高准确度模式应用于选定的分组。在另一实施例中,加时间戳电路被配置为仅将所述高准确度模式应用于时间同步分组。在又一实施例中,加时间戳电路被配置为仅在所述端口不受到来自所述网络的背压时应用所述高准确度模式。
在实施例中,加时间戳电路被配置为自适应地修改所述空置条件的严格性。在所公开的实施例中,加时间戳电路被配置为通过自适应地修改空置条件来调整加时间戳电路的加时间戳准确度直至达到目标准确度。在示例实施例中,加时间戳电路被配置为:当给定分组与第一应用相关联时,应用具有第一严格性的第一空置条件;以及当给定分组与第二应用相关联时,应用具有第二严格性的第二空置条件。
在另一实施例中,加时间戳电路被配置为将具有不同的第一和第二严格程度的第一和第二空置条件应用于同一应用的不同的第一和第二给定分组。在又一实施例中,加时间戳电路被配置为响应于检测到端口受到来自网络的背压而应用经修改的空置条件。在又一实施例中,加时间戳电路被配置为根据连接到端口的网络链路的链路速度来设置空置条件。
在实施例中,加时间戳电路被配置为通过从管线级接收状态指示来验证管线级是否满足空置条件。在示例实施例中,加时间戳电路被配置为通过在所述传输管线中的处理被中止时等待一持续时间来验证所述管线级是否满足所述空置条件。
在公开的实施例中,加时间戳电路被配置为将所述管线级的空置程度报告给所述网络设备的处理器。在实施例中,加时间戳电路被配置为应用故障保护机制,该故障保护机制限制中止传输管线中的处理的最大程度。
在一些实施例中,所述传输管线和所述加时间戳电路被配置为处理用于多个主机的分组。在示例实施例中,加时间戳电路被配置为将空置条件的第一设置应用于主机中的第一主机,并且将空置条件的不同于第一设置的第二设置应用于主机中的第二主机。在另一实施例中,加时间戳电路被配置为针对所述主机中的第一主机执行所述空置条件的第一类型验证,并且针对所述主机中的第二主机执行所述空置条件的不同于所述第一类型的第二类型验证。
在又一实施例中,给定分组源自主机之中的给定主机,并且加时间戳电路被配置为暂时停顿源自除了给定主机之外的主机的分组的处理,以便使管线级能够满足用于对给定分组加时间戳的空置条件。在又一实施例中,加时间戳电路被配置为禁止中止源自主机之中的给定主机的至少一些分组。
在实施例中,加时间戳电路被配置为将时间戳插入到给定分组中,并且具有可变处理延迟的管线级是被配置为对包括所插入的时间戳的给定分组进行加密的加密引擎。
根据本发明的实施例,还另外提供了一种网络设备中的方法。所述方法包括:使用所述网络设备中的传输管线,处理分组并且将所述分组发送至网络,所述传输管线包括多个处理级。使用所述网络设备中的加时间戳电路,(i)暂时中止所述传输管线中的至少给定分组的至少一些处理,验证位于所述加时间戳电路下游的具有可变处理延迟的管线级是否满足空置条件,以及(iii)仅当所述管线级满足所述空置条件时,对所述给定分组加时间戳并且恢复对所述给定分组的处理。
附图说明
从下面结合附图对本发明实施例的详细描述,将更充分地理解本发明,其中:
图1是示意性地示出了根据本发明的实施例的以高精度对出口分组加时间戳的网络设备的框图;
图2是示意性地示出了根据本发明的实施例的用于出口分组的准确加时间戳的方法的流程图;以及
图3是示出了根据本发明的实施例的在加时间戳准确度与空置条件严格性之间的示例关系的曲线图。
具体实施方式
概述
本文描述的本发明的实施例提供了用于网络设备中的出站(出口)分组的精确加时间戳的方法和装置。本文描述的实施例主要涉及网络适配器中的实施,但所公开的技术也适用于网络交换机和需要准确加时间戳的其他类型的网络设备。
通常,网络设备包括处理分组并且经由出口端口将它们传输到网络的传输(TX)管线。为了利用出口时间准确地对分组加时间戳,期望在管线的尽可能靠近出口端口的点处对分组加时间戳。然而,在许多实际实现方式中,一个或更多个处理级仍然保持在加时间戳点的下游,即在加时间戳点与出口端口之间。
如果这些中间处理级的延时是固定的,则这些中间处理级不太成问题,因为这个延时可以在时间戳中被校准和补偿。另一方面,具有可变延时的中间处理级是有问题的,因为它们向时间戳添加可变抖动并且降低它们的准确度。例如,2021年5月10日提交的美国专利申请17/315,396中解决了涉及时间戳中的时间抖动的估计的方面,其公开内容以引用方式并入本文。
例如,位于加时间戳点和出口端口之间的任何缓冲区或队列将向时间戳添加可变延时,因为缓冲区或队列的延时根据其占用级别而改变。为了清楚和简洁起见,以下描述指的是“缓冲区”。然而,在本公开的上下文中并且在权利要求中,术语“缓冲区”广泛地指暂时地存储分组、分组的部分、或与分组相关联的描述符、指针或元数据的各种类型的存储器、寄存器或数据结构。例如,各个队列在本文中也被视为缓冲区。缓冲区的使用可具有任何合适的生产者/消费者语义(例如,写入到缓冲区中的实体可以是从缓冲区读取的相同实体,或不同实体;缓冲区可具有多个生产者和/或多个消费者;将项目写入到缓冲区中的顺序可与从缓冲区读出的顺序相同,或不同顺序;等等)。
管线中的其他类型的处理级也可具有可变的处理延迟,且因此可影响加时间戳准确度。这样的处理级的示例包括但不限于诸如IPsec引擎和MACsec引擎之类的加密引擎。下面的描述通过示例的方式主要指的是缓冲区,但所公开的技术可应用于各种其他类型的处理级。术语“管线级”和“处理级”在此可互换地使用。
在本发明的一些实施例中,网络设备包括加时间戳电路,即使TX管线包括位于加时间戳点下游的缓冲区,加时间戳电路也以高准确度对出口分组加时间戳。(术语“在加时间戳点的下游”和“在加时间戳电路的下游”在本文中可互换地使用。)
在一些实施例中,为了准确地对给定分组加时间戳,加时间戳电路确保在加时间戳的时间,位于加时间戳点下游的缓冲区足够空。以此方式,加时间戳电路为给定分组基本上清除了管线中的低抖动路径。加时间戳电路可以验证关于缓冲区的各个空置条件,例如,缓冲区是完全空的、缓冲区的占用级别低于阈值等。空置条件通常为使得当满足时,缓冲区的延时抖动足够小从而实现所要求的加时间戳准确度。
在一些实施例中,加时间戳电路通过暂时中止管线中的处理的至少一部分(例如,中止缓冲区上游的处理,至少给定分组和可能的所有分组)来主动地使缓冲区排空和变空。然后,加时间戳电路验证缓冲区是否满足空置条件。仅当缓冲区满足空置条件时,加时间戳电路才对给定分组加时间戳并恢复管线处理。
加时间戳电路可以使用各种技术(直接或间接地)来评估缓冲区是否满足空置条件。在一些实施例中,加时间戳电路从缓冲区接收明确的填充状态指示。在其他实施例中,在管线处理被时,加时间戳电路等待定义的持续时间。也可以使用这两种技术的组合。
如可了解的,管线中的处理的中止可导致性能的一些下降,例如平均传输延时和吞吐量。因此,在一些实施例中,加时间戳电路选择性地应用所公开的技术,即,仅应用于选定的分组。例如,高准确度的加时间戳可仅应用于时间同步分组,例如,PTP分组。
减少可能由所公开的技术引起的性能的可能下降的另一方式是自适应地修改空置条件的严格性以匹配特定需要。例如,一些分组类型或应用可能需要比其他分组类型或应用更高准确度的加时间戳,并且因此需要更严格的空置条件。对于其他分组类型或应用,更宽松的空置条件可能就足够了。由于性能下降通常随着空置条件的严格性而增长,因此这种自适应方法可以在加时间戳准确度和通信性能之间实现更好的折衷。
即使在存在具有大延时抖动的缓冲区(例如,几百纳秒或几微秒的数量级上)的情况下,本文描述的方法和装置也实现高度准确的加时间戳(例如,在几纳秒的数量级上)。
本文描述了所公开的技术的各种实现选项和使用情况。还解决了其中网络设备服务于多个主机的多主机配置的方面。
系统描述
图1是示意性地示出了根据本发明的实施例的以高准确度对出口分组加时间戳的网络设备20的框图。在本示例中,网络设备20是网络适配器,例如,以太网NIC、InfinibandTM主机通道适配器(HCA)、数据处理单元(DPU-也称为“智能NIC”)、支持网络的图形处理单元(GPU)、现场可编程门阵列(FPGA)等。可替代地,网络设备20可以包括网络交换机或路由器、或能够进行网络通信的任何其他合适类型的设备。
网络设备20(在本示例中是网络适配器)包括用于连接到主机23的主机接口22、用于连接到网络28的至少一个端口24、用于处理出口(出站分组)的传输(TX)管线32、用于运行管理网络设备20的软件的处理器36以及加时间戳电路48。管线32包括多个处理级40和缓冲区44。为了清楚起见,已经从图中省略了网络设备20的与所公开的技术无关的其他可能元件,例如,用于从网络接收分组的接收(RX)管线。
TX管线32经由主机接口22接收分组以用于传输到网络28。管线32使用处理级40来处理分组,在本示例中为表示为级(STAGE)#1-级#4的四个级。可由级40应用的操作可包括例如将分组封装在VLAN隧道报头中、使用IPSec加密分组、以及计算分组的以太网帧校验序列(FCS)并将该FCS附加到分组,仅举几例。在级#2与级#3之间,分组在缓冲区44中缓冲。在级#4之后,分组经由端口24(也称为出口端口)被传输到网络28。
在一些实施例中,加时间戳电路48利用当前时间(例如,一天中的时间、用于将网络28的各个元件同步到公共时基的网络时间、或任何其他合适的时间)对管线32中的至少一些分组加时间戳。应用于给定分组的时间戳旨在表示分组的出口时间,即分组离开网络设备的确切时间。加时间戳电路48可以从集成时钟(例如,PTP硬件时钟(PHC))或者从任何其他合适的源获得当前时间。
在本示例中,加时间戳电路48在分组穿过管线32的级#2时对分组加时间戳。管线的这个级被称为“加时间戳点”。注意,缓冲区44位于加时间戳点的下游,即在加时间戳点与出口端口24之间。因此,缓冲区44的占用级别影响加时间戳点和出口端口24之间的延时,这进而影响时间戳的准确度。下文详细描述用于减轻此不期望作用的技术。
图1中所示的网络设备20的配置是纯粹为了概念清晰而描述的示例配置。在替代实施例中可以使用任何其他合适的配置。例如,管线32可包括任何合适类型的任何其他合适数量的处理级。管线32可包括多于一个的缓冲区44,其在加时间戳点的上游或下游。这样的缓冲区可以具有任何合适的类型和大小。加时间戳点可以位于管线的任何其他合适的级。当网络设备是交换机或路由器时,与网络适配器相反,主机接口22可以不存在。相反,网络设备可从另一源(例如,从入口端口)接收分组以进行传输。
网络设备20的各种元件可使用合适的硬件(诸如,在一个或更多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)中)、使用软件或使用硬件和软件元件的组合来实现。在一些实施例中,处理器36包括通用处理器,所述通用处理器被编程为软件以执行本文所描述的功能。软件可以例如通过网络以电子形式下载到处理器,或者它可以替代地或附加地被提供和/或存储在非暂时性有形介质上,诸如磁性、光学或电子存储器。
准确加时间戳技术
如上所述,由于缓冲区44位于加时间戳点(级#2)和出端口24之间,所以加时间戳点与实际分组出口之间的延时取决于缓冲区的占用级别。在示例的实际实现方式中,此延时可以在100nS(针对空缓冲区)与2μS(针对满缓冲区)之间变化。在一些应用中,例如对于PTP分组的加时间戳,这种幅度的抖动是不可接受的。
在一些实施例中,加时间戳电路48通过确保对于需要被准确加时间戳的给定分组,缓冲区44在分组被加时间戳并在管线32中向下游发送时足够空,来克服缓冲区44的延时抖动。
在一些实施例中,当准备对给定分组加时间戳时,加时间戳电路48暂时中止管线32中的至少一些处理以排空缓冲区44。通常,处理在缓冲区44上游的处理级40中中止,并且处理在缓冲区44下游的处理级40中正常继续。在示例性实现方式中,加时间戳电路48中止管线中紧接在其之前的级(图1的示例中的级#2)的操作。结果,先前级的输出在管线中(例如,在各级之间的缓冲区中)累积。在极端情况下,缓冲空间可能耗尽,且管线的在缓冲区44上游的整个部分可能停顿。然而,这样的事件通常非常罕见。然而,更一般地,电路48可使用导致缓冲区44排空的任何合适形式的中止。
在一个实施例中,电路48仅中止要被加时间戳的给定分组的处理。在其他实施例中,中止所有未决分组的处理。在其他实施例中,中止对所选的分组子集的处理。例如,在它们不应被中止的意义上,一些分组类型可以被定义为关键的。非限制性示例是自主车辆网络中的“关键任务”分组。在这样的情况下,电路48可以仅中止未被定义为关键的分组的处理。
在中止分组处理之后,加时间戳电路48验证缓冲区是否满足关于缓冲区44定义的“空置条件”。空置条件通常被定义为使得当满足时,缓冲区44的延时抖动足够小从而实现所要求的加时间戳准确度。
在各个实施例中,加时间戳电路48可以验证各种空置条件。在一个实施例中,空置条件要求缓冲区44是完全空的。其他可能的空置条件可以要求缓冲区44的占用级别低于某个阈值、缓冲区44保持少于阈值数量的分组、缓冲区44保持少于阈值数据大小等。各种空置条件的阈值可以是固定的(例如,预定义的)或自适应的。
如上所述,在一些实施例中,空置条件可以是自适应的,例如,通过调整阈值或以任何其他适合的方式。自适应空置条件的一个示例场景涉及在以太网中使用停顿(PAUSE)帧(有时也称为XON/XOFF的机制)。通常,响应于从链路伙伴接收到PAUSE帧,预期网络设备20延迟其传输,暂时增加分组在加时间戳点和线路上的出口之间经历的延迟。在一些实施例中,加时间戳电路48可以通过放松空置条件来对延迟的增加作出反应,以便确保被加时间戳的分组不会受到下游较大延迟的影响。
用于自适应空置条件的另一示例涉及运行时调谐。在一些实施例中,来自加时间戳点下游的管线级中的一个或更多个可测量分组在从加时间戳点到它们的出口的管线中花的典型的或最大时间量。在实施例中,加时间戳电路48可以(例如,在运行时连续地)调谐空置条件,以确保在必要的最小时间量内阻塞管线。
在其他实施例中,加时间戳电路48可以将具有不同严格程度的不同空置条件应用于要求不同加时间戳准确度水平的不同分组。下面参照图3进一步阐述该类型的实施例。
在其他实施例中,取决于连接到端口24的网络链路的链路速度,加时间戳电路48可以应用不同的空置条件。例如,加时间戳电路48可以在10GbE链路上使用某种空置条件,在25GbE链路上使用不同的空置条件,并且在200GbE链路上使用另一种空置条件。
在各个实施例中,加时间戳电路48可以使用各种技术来评估缓冲区44是否满足空置条件。在一些实施例中,加时间戳电路48从缓冲区接收明确的填充状态指示。在其他实施例中,加时间戳电路48在管线中的处理被中止时等待某个持续时间。这个持续时间可以是固定的(例如,预定义的)或自适应的。还可以使用这两种技术的组合(明确的缓冲区状态指示加上等待时间)。所有这些技术在此被视为自适应空置条件的方式。
当缓冲区44满足空置条件时,可以安全地假设加时间戳点与出口端口之间的延时抖动较小。因此,在验证缓冲区44满足空置条件时,加时间戳电路48对给定的分组加时间戳,并且恢复管线32的正常处理。
在一些实施例中,除了验证空置条件之外,加时间戳电路48还将缓冲区44的空置程度报告给处理器36和/或主机23。
在一些实施例中,加时间戳电路48选择性地应用所公开的技术,即,仅应用于选定的分组。换言之,加时间戳电路48可以支持两种模式:正常模式和高准确度模式,在正常模式中,无论缓冲区44是否满足空置条件,分组都被加时间戳,而在高准确度模式中,仅当缓冲区44满足空置条件时,分组才被加时间戳。加时间戳电路可以仅将高准确度模式应用于选定的分组,例如,仅应用于PTP分组或其他时间同步分组。
在一些实施例中,加时间戳电路48可以基于识别哪些分组需要高准确度加时间戳和哪些分组不需要高准确度加时间戳的外部指示(例如,来自在处理器36中运行的可信软件)在模式之间进行选择。例如,加时间戳电路可以接收区分PTP分组和其他分组的指示。例如,处理器36可通过设置与分组相关联的元数据中的合适位来提供给定分组的指示。这种元数据可与分组一起穿过管线32。可替代地,可以使用元数据或其他形式中的任何其他合适形式的指示。进一步可替代地,加时间戳电路可以自主地识别需要高准确度加时间戳的分组。
可能影响加时间戳准确度的另一个因素是来自网络28的背压。换言之,即使缓冲区44满足空置条件,如果网络由于拥塞而向网络设备20施加背压,则分组仍可能停顿或受到高延时。因此,在一些实施例中,加时间戳电路48仅在端口44未受到来自网络的背压时应用高准确度模式。考虑背压的另一种可能的方式是如果存在背压则修改空置条件。例如,在存在来自网络的背压的情况下,电路48可以在对高准确度分组加时间戳之前等待延长的时间段。延长等待时间段增加了尽管背压但缓冲区44仍足够空的可能性。
在一些实施例中,当中止分组处理以便准确地对给定分组加时间戳时,加时间戳电路48应用限制管线32中的处理的暂时中止的程度的故障保护机制。这样的机制防止暂时中止引起过度的性能下降。电路48可以各种方式和使用各种标准来限制中止的程度。在示例实施例中,加时间戳电路48被配置有(固定的或自适应的)超时,即,允许分组处理中止的最大时间长度。在另一实施例中,电路48被配置有(固定的或自适应的)最大数据大小,其处理被允许中止。最大数据大小可例如用分组的数量或位的数量来表示。还可以使用考虑时间和数据大小两者的混合标准。在一些实施例中,故障保护机制是可配置的。将最大超时或数据大小配置成无穷大等同于停用故障保护机制。
如果故障保护机制在准备对给定分组加时间戳时(例如,超过最大超时和/或最大数据大小)触发,则加时间戳电路48可采取任何合适的动作。例如,电路48可以恢复到正常准确度的加时间戳,即,对给定分组加时间戳,而不管是否满足空置条件。作为另一示例,电路48可放弃给定分组的传输,并向处理器36和/或主机23发出错误消息。
图2是示意性地示出了根据本发明的实施例的在网络设备20中对出口分组准确加时间戳的方法的流程图。该方法开始于网络设备20的TX管线32在TX处理步骤50接收和处理出口分组。作为管线中分组处理的一部分,出口分组在缓冲区44中缓冲。
在分组选择步骤54,加时间戳电路48选择要被高准确度加时间戳的分组。选定的分组可包括例如PTP分组。在中止步骤58,加时间戳电路48指示管线32中止在缓冲区44上游针对至少所选的分组执行的至少一些处理。由任何管线级40执行的任何种类的管线操作都可以被中止,例如,封装、加密、FCS计算等。
在空置验证步骤62,加时间戳电路48验证缓冲区44是否满足特定空置条件。空置条件可以被预定义或者可以动态地改变。一旦发现缓冲区44满足空置条件,在加时间戳步骤66,加时间戳电路48就对选定的分组加时间戳。然后,在恢复步骤70,加时间戳电路48恢复管线32的正常操作。
图2的流程是纯粹为了概念清晰而描述的示例流程。在替代实施例中,任何其他适合的流程可以用于实施所公开的技术。
图3是示出了根据本发明的实施例的在加时间戳准确度与空置条件严格性之间的示例关系的定性图表。图3的水平轴表示空置条件的严格性,越大的值对应于更严格的条件(例如,缓冲区完全空的要求,或更长的等待时间),越小的值对应于更宽松的条件。竖直轴表示加时间戳准确度,越大的值对应于更差的准确度(并因此时间戳中较高的时间抖动),而越小的值对应于更好的准确度(并因此较低的时间抖动)。
曲线图80示出了加时间戳准确度对空置条件的严格性的定性相关性。如所看到的,放宽空置条件导致更高的抖动,反之亦然。然而,典型地,存在对可实现的准确度的约束,即使空置条件变得非常严格。例如,一旦空置条件严格到足以以非常高的可能性排空缓冲区,进一步收紧该条件将在准确度上提供很少或没有额外的改进。
在各个实施例中,网络设备20可使用上述相关性来减少性能下降。在一些实施例中,加时间戳电路48可以调适空置条件以匹配某个分组或应用实际要求的加时间戳准确度。以这种方式,网络设备仅在实际需要而不总是需要时强制执行严格的空置条件,从而使性能下降最小化。
例如,在一些实施例中,当对与不同应用相关联的分组加时间戳时,加时间戳电路48可以应用在严格程度上不同的不同空置条件。另外地或可替代地,当对与给定应用相关联的不同分组加时间戳时,加时间戳电路48可以应用在严格程度上不同的不同空置条件。在一些实施例中,加时间戳电路可以接收指示空置条件所要求的严格程度的指示(例如,在与分组一起行进的元数据中)。在其他实施例中,加时间戳电路可以自主地决定所要求的严格性,例如,通过自主地识别与给定分组相关联的应用。
在一些实施例中,通过自适应地修改空置条件,加时间戳电路48调整加时间戳准确度,直至达到所期望的目标准确度。
具有可变延迟的处理级的准确加时间戳
以上描述主要涉及缓冲区,其具有可变占用级别并且因此具有可变延迟。然而,所公开的技术不限于缓冲区,且可与具有可变处理延迟的各个其他处理级一起使用。可变延迟处理级的非限制性示例是加密引擎。通常,尽管不是必须的,但对分组数据进行操作的处理级(与仅对分组报头进行操作相反)更可能具有大的延迟变化。
当可变延迟处理级位于TX管线32中加时间戳点下游时,加时间戳电路48可应用所公开的技术,类似于将其应用于缓冲区的方式。
在示例实施例中,当准备准确地对给定分组加时间戳时,加时间戳电路48暂时中止可变延迟级上游的TX管线中的至少一些分组的至少一些处理。然后,电路48检查可变延迟处理级是否满足空置条件。空置条件通常被设置为使得可变延迟处理级完成所有先前分组的处理,并且将因此以最小的已知延迟来延迟给定分组。
可以使用上述空置条件中的任一个,以及用于验证是否满足空置条件的上述技术中的任一个。
在示例实施例中,管线32中的每个可变延迟处理级被配置为当其完成处理并变为空闲时输出“完成”信号。加时间戳电路48验证空置条件的一种可能的方式是等待直到下游可变延迟级的所有“完成”输出都被设置。在其他实施例中,电路48可以仅检查“完成”信号的子集,或以任何其他方式使用“完成”信号,可能结合其他信息。
所公开的技术的另一优点是能够将时间戳插入到分组中,并且然后对包括时间戳的分组进行加密,并且仍然实现高的加时间戳准确度。由于加密级往往具有较大的延迟变化,在没有所公开的技术的情况下实现这个目标是不可能的,或者至少是高度挑战性的。
多主机的使用情况
在图1的实施例中,网络设备20服务于单个主机23。然而,在替代实施例中,网络设备20(在此示例中的网络适配器)可以服务于可以彼此独立地操作的多个主机23。具体地,网络设备可将所公开的加时间戳技术应用于源自多个不同主机的出口分组。
在一些实施例中,网络设备20中的加时间戳电路48对于不同的主机进行不同地操作。例如,加时间戳电路48可以针对不同的主机评估不同的空置条件(例如,每个主机可以具有其自身的空置条件),和/或针对不同的主机不同地验证空置条件。在示例实施例中,加时间戳电路48可以针对一个主机验证缓冲区44是空的,并且还等待定义的持续时间。对于第二主机,加时间戳电路48可验证缓冲区44为90%空,而不等待任何额外持续时间。对于第三主机,加时间戳电路48可完全停用高准确度的加时间戳。可替代地,可以使用任何其他适合的操作模式。
在一些实施例中,加时间戳电路48可以将优先级赋予选定主机而非其他主机,以便保证对源自该主机的分组进行高准确度加时间戳。例如,加时间戳电路48可以暂时停顿来自除了所选主机之外的所有主机的传输,并且在中止期间对来自选定主机的分组加时间戳。作为另一示例,电路48可以由于其他主机的准确加时间戳而禁止中止选定主机的(一些或全部)分组。这样的选择性操作对于其他主机可以是透明的。例如,当多主机配置中的主机之一用作PTP大师或以其他方式在网络中起到一些关键性作用时,该特征是有用的。
应当理解,上述实施例是以示例的方式引用的,并且本发明不限于在上文中具体示出和描述的内容。相反,本发明的范围包括在上文中描述的各种特征的组合和子组合,以及在阅读以上描述时本领域技术人员会想到的并且在现有技术中未公开的其变化和修改。通过引用结合在本专利申请中的文献被认为是本申请的组成部分,除了在这些并入的文献中以与本说明书中明确或隐含的定义相冲突的方式定义任何术语的程度上,仅应当考虑本说明书中的定义。
Claims (28)
1.一种网络设备,包括:
端口,用于连接到网络;
传输管线,其包括多个管线级并且被配置为处理分组以及经由所述端口将所述分组发送至所述网络;以及
加时间戳电路,被配置为:
暂时中止所述传输管线中的至少给定分组的至少一些处理;
验证位于所述加时间戳电路下游的具有可变处理延迟的管线级是否满足空置条件;以及
仅当所述管线级满足所述空置条件时,对所述给定分组加时间戳并且恢复对所述给定分组的处理。
2.根据权利要求1所述的网络设备,其中具有所述可变处理延迟的所述管线级是具有可变占用级别的缓冲区。
3.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为支持:(i)正常模式,在所述正常模式中,不管所述管线级是否满足所述空置条件而对分组加时间戳;和(ii)高准确度模式,在所述高准确度模式中,仅当所述管线级满足所述空置条件时,对分组加时间戳。
4.根据权利要求3所述的网络设备,其中所述加时间戳电路被配置为仅将所述高准确度模式应用于选定的分组。
5.根据权利要求3所述的网络设备,其中所述加时间戳电路被配置为仅将所述高准确度模式应用于时间同步分组。
6.根据权利要求3所述的网络设备,其中所述加时间戳电路被配置为仅在所述端口不受到来自所述网络的背压时应用所述高准确度模式。
7.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为自适应地修改所述空置条件的严格性。
8.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为通过自适应地修改所述空置条件来调整所述加时间戳电路的加时间戳准确度直至达到目标准确度。
9.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为:当所述给定分组与第一应用相关联时,应用具有第一严格性的第一空置条件;以及当所述给定分组与第二应用相关联时,应用具有第二严格性的第二空置条件。
10.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为将具有不同的第一和第二严格程度的第一空置条件和第二空置条件应用于同一应用的不同的第一和第二给定分组。
11.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为响应于检测到所述端口受到来自所述网络的背压而应用经修改的空置条件。
12.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为根据连接至所述端口的网络链路的链路速度来设置所述空置条件。
13.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为通过从所述管线级接收状态指示来验证所述管线级是否满足所述空置条件。
14.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为通过在所述传输管线中的处理被中止时等待一持续时间来验证所述管线级是否满足所述空置条件。
15.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为将所述管线级的空置程度报告给所述网络设备的处理器。
16.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为应用限制中止所述传输管线中的处理的最大程度的故障保护机制。
17.根据权利要求1所述的网络设备,其中所述传输管线和所述加时间戳电路被配置为处理用于多个主机的分组。
18.根据权利要求17所述的网络设备,其中所述加时间戳电路被配置为将所述空置条件的第一设置应用于所述主机之中的第一主机,并且将所述空置条件的不同于所述第一设置的第二设置应用于所述主机之中的第二主机。
19.根据权利要求17所述的网络设备,其中所述加时间戳电路被配置为针对所述主机中的第一主机执行所述空置条件的第一类型验证,并且针对所述主机中的第二主机执行所述空置条件的不同于所述第一类型的第二类型验证。
20.根据权利要求17所述的网络设备,其中所述给定分组源自所述主机之中的给定主机,并且其中所述加时间戳电路被配置为暂时停顿源自除了所述给定主机之外的所述主机的分组的处理,以便使所述管线级能够满足用于对所述给定分组加时间戳的所述空置条件。
21.根据权利要求17所述的网络设备,其中所述加时间戳电路被配置为禁止中止源自所述主机之中的给定主机的至少一些所述分组。
22.根据权利要求1所述的网络设备,其中所述加时间戳电路被配置为将时间戳插入到所述给定分组中,并且其中具有所述可变处理延迟的所述管线级是被配置为对包括所插入的时间戳的所述给定分组进行加密的加密引擎。
23.一种网络设备中的方法,所述方法包括:
使用所述网络设备中的传输管线,处理分组并且将所述分组发送至网络,所述传输管线包括多个处理级;以及
使用所述网络设备中的加时间戳电路:
暂时中止所述传输管线中的至少给定分组的至少一些处理;
验证位于所述加时间戳电路下游的具有可变处理延迟的管线级是否满足空置条件;以及
仅当所述管线级满足所述空置条件时,对所述给定分组加时间戳并且恢复对所述给定分组的所述处理。
24.根据权利要求23所述的方法,其中具有所述可变处理延迟的所述管线级是具有可变占用级别的缓冲区。
25.根据权利要求23所述的方法,包括以(i)正常模式和(ii)高准确度模式操作所述加时间戳电路,在所述正常模式中,不管所述管线级是否满足所述空置条件而对分组加时间戳,在所述高准确度模式中,仅当所述管线级满足所述空置条件时,对分组加时间戳。
26.根据权利要求23所述的方法,包括自适应地修改所述空置条件的严格性。
27.根据权利要求23所述的方法,包括通过自适应地修改所述空置条件来调整所述加时间戳电路的加时间戳准确度直至达到目标准确度。
28.根据权利要求23所述的方法,其中验证所述管线级是否满足所述空置条件包括:在所述传输管线中的所述处理被中止时等待一持续时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/359,667 US11711158B2 (en) | 2021-06-28 | 2021-06-28 | Accurate time-stamping of outbound packets |
US17/359,667 | 2021-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115603843A true CN115603843A (zh) | 2023-01-13 |
Family
ID=84492284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210626232.2A Pending CN115603843A (zh) | 2021-06-28 | 2022-06-02 | 出站分组的准确加时间戳 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11711158B2 (zh) |
CN (1) | CN115603843A (zh) |
DE (1) | DE102022206443A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022168409A (ja) * | 2021-04-26 | 2022-11-08 | キヤノン株式会社 | 通信装置、通信装置の制御方法およびプログラム |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5307459A (en) | 1992-07-28 | 1994-04-26 | 3Com Corporation | Network adapter with host indication optimization |
US5530874A (en) | 1993-02-02 | 1996-06-25 | 3Com Corporation | Network adapter with an indication signal mask and an interrupt signal mask |
US6072796A (en) | 1995-06-14 | 2000-06-06 | Avid Technology, Inc. | Apparatus and method for accessing memory in a TDM network |
JP3929553B2 (ja) | 1997-06-11 | 2007-06-13 | 株式会社フィリップスエレクトロニクスジャパン | データ放送受信機の受信制御方法 |
US6570884B1 (en) | 1999-11-05 | 2003-05-27 | 3Com Corporation | Receive filtering for communication interface |
US6564267B1 (en) | 1999-11-22 | 2003-05-13 | Intel Corporation | Network adapter with large frame transfer emulation |
US6816492B1 (en) | 2000-07-31 | 2004-11-09 | Cisco Technology, Inc. | Resequencing packets at output ports without errors using packet timestamps and timestamp floors |
US6954432B1 (en) | 2000-10-04 | 2005-10-11 | Motorola, Inc. | Method and apparatus for improving perceived signal quality of transmitted information in a full duplex wireless communication system |
US8051212B2 (en) | 2001-04-11 | 2011-11-01 | Mellanox Technologies Ltd. | Network interface adapter with shared data send resources |
EP1265124B1 (de) | 2001-06-07 | 2004-05-19 | Siemens Aktiengesellschaft | Verfahren zum Übermitteln von Zeitinformation über ein Datenpaketnetz |
US7224669B2 (en) | 2002-01-22 | 2007-05-29 | Mellandx Technologies Ltd. | Static flow rate control |
US7535913B2 (en) | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
US7245627B2 (en) | 2002-04-23 | 2007-07-17 | Mellanox Technologies Ltd. | Sharing a network interface card among multiple hosts |
US7468979B2 (en) | 2002-12-20 | 2008-12-23 | Force10 Networks, Inc. | Layer-1 packet filtering |
US7668141B2 (en) * | 2004-07-06 | 2010-02-23 | Motorola, Inc. | Method and apparatus for managing packet data loss in a wireless network |
US7583664B2 (en) | 2004-12-28 | 2009-09-01 | Michael Ho | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
JP2007042145A (ja) | 2006-11-16 | 2007-02-15 | Fujitsu Ltd | 稼動監視装置及び稼動監視システム |
US8068429B2 (en) | 2007-05-31 | 2011-11-29 | Ixia | Transmit scheduling |
US8370675B2 (en) | 2009-01-28 | 2013-02-05 | Mellanox Technologies Ltd. | Precise clock synchronization |
WO2010117359A1 (en) | 2009-04-07 | 2010-10-14 | Cisco Technology, Inc. | Transmit-side scaler and method for processing outgoing information packets using thread-based queues |
JPWO2011046056A1 (ja) | 2009-10-14 | 2013-03-07 | 日本電気株式会社 | パケット通信の伝送制御方法及びパケット通信システム |
US8792491B2 (en) | 2010-08-12 | 2014-07-29 | Citrix Systems, Inc. | Systems and methods for multi-level quality of service classification in an intermediary device |
US9406336B2 (en) | 2010-08-26 | 2016-08-02 | Blast Motion Inc. | Multi-sensor event detection system |
GB2492098B (en) * | 2011-06-21 | 2014-08-06 | Canon Kk | Method and apparatus for regenerating a pixel clock signal |
FR2979719B1 (fr) | 2011-09-02 | 2014-07-25 | Thales Sa | Systeme de communications permettant la transmission de signaux entre des equipements terminaux raccordes a des equipements intermediaires relies a un reseau ethernet |
US9397960B2 (en) | 2011-11-08 | 2016-07-19 | Mellanox Technologies Ltd. | Packet steering |
US9390056B1 (en) | 2011-12-19 | 2016-07-12 | Chelsio Communications, Inc. | Method for efficient routing in a network interface card |
KR102031268B1 (ko) * | 2012-01-04 | 2019-10-11 | 마벨 월드 트레이드 리미티드 | 시간-인식 디바이스들 사이에 시간 정보를 통신하는 방법 및 장치 |
JP2015511074A (ja) | 2012-03-23 | 2015-04-13 | 日本電気株式会社 | 通信のためのシステム及び方法 |
WO2014052972A1 (en) * | 2012-09-28 | 2014-04-03 | Vitesse Semiconductor Corporation | High accuracy 1588 timestamping over high speed multi lane distribution physical code sublayers |
US9450846B1 (en) | 2012-10-17 | 2016-09-20 | Cisco Technology, Inc. | System and method for tracking packets in a network environment |
US9817742B2 (en) | 2013-06-25 | 2017-11-14 | Dell International L.L.C. | Detecting hardware and software problems in remote systems |
US9541947B2 (en) | 2013-08-07 | 2017-01-10 | General Electric Company | Time protocol based timing system for time-of-flight instruments |
US9667446B2 (en) | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
US20160295426A1 (en) | 2015-03-30 | 2016-10-06 | Nokia Solutions And Networks Oy | Method and system for communication networks |
US10027601B2 (en) | 2015-06-03 | 2018-07-17 | Mellanox Technologies, Ltd. | Flow-based packet modification |
US10284383B2 (en) | 2015-08-31 | 2019-05-07 | Mellanox Technologies, Ltd. | Aggregation protocol |
US9928844B2 (en) * | 2015-10-30 | 2018-03-27 | Intel Corporation | Method and system of audio quality and latency adjustment for audio processing by using audio feedback |
US11418632B2 (en) | 2015-12-15 | 2022-08-16 | Intel Corporation | High speed flexible packet classification using network processors |
US10582258B2 (en) * | 2015-12-26 | 2020-03-03 | Intel Corporation | Method and system of rendering late or early audio-video frames |
US9985904B2 (en) | 2015-12-29 | 2018-05-29 | Amazon Technolgies, Inc. | Reliable, out-of-order transmission of packets |
US10187400B1 (en) | 2016-02-23 | 2019-01-22 | Area 1 Security, Inc. | Packet filters in security appliances with modes and intervals |
US10908941B2 (en) | 2016-03-11 | 2021-02-02 | Tektronix Texas, Llc | Timestamping data received by monitoring system in NFV |
EP3223190B1 (en) | 2016-03-23 | 2018-09-26 | Honeywell International Inc. | System for occupancy detection |
US10320952B2 (en) | 2016-05-16 | 2019-06-11 | Mellanox Technologies Tlv Ltd. | System-wide synchronized switch-over of multicast flows |
JP6820586B2 (ja) | 2016-08-31 | 2021-01-27 | 株式会社メディアリンクス | 時刻同期システム |
US10231253B2 (en) | 2016-11-02 | 2019-03-12 | Cisco Technology, Inc. | Per-packet, time slotted channel hopping (TSCH), meta-timeslot |
US20180191629A1 (en) | 2016-12-30 | 2018-07-05 | Intel Corporation | Time-based flexible packet scheduling |
US10218781B2 (en) * | 2017-04-19 | 2019-02-26 | Cisco Technology, Inc. | Controlling latency in multi-layer fog networks |
US10727966B1 (en) | 2017-08-30 | 2020-07-28 | Amazon Technologies, Inc. | Time synchronization with distributed grand master |
KR20190033284A (ko) | 2017-09-21 | 2019-03-29 | 삼성전자주식회사 | PCIe P2P 접속된 스토리지 장치들 사이의 데이터 전송 방법 및 시스템 |
US11025456B2 (en) | 2018-01-12 | 2021-06-01 | Apple Inc. | Time domain resource allocation for mobile communication |
US11277455B2 (en) | 2018-06-07 | 2022-03-15 | Mellanox Technologies, Ltd. | Streaming system |
US10956336B2 (en) | 2018-07-20 | 2021-03-23 | International Business Machines Corporation | Efficient silent data transmission between computer servers |
US11689440B2 (en) | 2019-02-06 | 2023-06-27 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for transmit time timestamping |
US11296807B2 (en) | 2019-06-25 | 2022-04-05 | Intel Corporation | Techniques to operate a time division multiplexing(TDM) media access control (MAC) |
US11379405B2 (en) | 2019-09-17 | 2022-07-05 | Vmware, Inc. | Internet small computer interface systems extension for remote direct memory access (RDMA) for distributed hyper-converged storage systems |
-
2021
- 2021-06-28 US US17/359,667 patent/US11711158B2/en active Active
-
2022
- 2022-06-02 CN CN202210626232.2A patent/CN115603843A/zh active Pending
- 2022-06-27 DE DE102022206443.7A patent/DE102022206443A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220416925A1 (en) | 2022-12-29 |
US11711158B2 (en) | 2023-07-25 |
DE102022206443A1 (de) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10742555B1 (en) | Network congestion detection and resolution | |
US9166917B2 (en) | Link layer preemption | |
US10129151B2 (en) | Traffic management implementation method and apparatus, and network device | |
US7706277B2 (en) | Selective flow control | |
TWI543568B (zh) | 用於分封交換網路的系統及其方法、在分封交換網路中用於接收資料包的交換機中的方法 | |
US7606151B2 (en) | Power reduction in switch architectures | |
US11425050B2 (en) | Method and apparatus for correcting a packet delay variation | |
CN111800351B (zh) | 由交换机进行的拥塞通知分组生成 | |
US20110142052A1 (en) | Method for transferring data packets in a communication network and switching device | |
CN110784415B (zh) | 一种ecn快速响应的方法及装置 | |
US10728134B2 (en) | Methods, systems, and computer readable media for measuring delivery latency in a frame-preemption-capable network | |
US20120327950A1 (en) | Method for Transmitting Data Packets | |
US7295639B1 (en) | Distributed adaptive channel bonding control for improved tolerance of inter-channel skew | |
US7385925B2 (en) | Data flow control method for simultaneous packet reception | |
US8514700B2 (en) | MLPPP occupancy based round robin | |
EP3320635A1 (en) | Minimum latency link layer metaframing and error correction | |
US10666568B2 (en) | Timing transport method in a communication network | |
CN115603843A (zh) | 出站分组的准确加时间戳 | |
JP2021190901A (ja) | 通信システム、通信方法およびプログラム | |
JP5702708B2 (ja) | パケット制御方法及びパケット制御装置 | |
US9344375B2 (en) | Method for transmitting data packets between two communication modules and communication module for transmitting data packets, as well as communication module for receiving data packets | |
US8837473B2 (en) | Single timestamp engine for generating timing information for inclusion in packets complying with multiple networking protocols | |
CN113162871A (zh) | 数据传输方法、数据传输电路和人工智能芯片 | |
EP2974109B1 (en) | Systems and methods to explicitly realign packets | |
JP2015126499A (ja) | 送信装置、受信装置、パケット送信方法、及びパケット受信方法 |
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 |