CN115484215A - 带内遥测数据的低延时传送 - Google Patents
带内遥测数据的低延时传送 Download PDFInfo
- Publication number
- CN115484215A CN115484215A CN202210555184.2A CN202210555184A CN115484215A CN 115484215 A CN115484215 A CN 115484215A CN 202210555184 A CN202210555184 A CN 202210555184A CN 115484215 A CN115484215 A CN 115484215A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- queue
- probe
- 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.)
- Granted
Links
- 238000012546 transfer Methods 0.000 title abstract description 7
- 239000000523 sample Substances 0.000 claims abstract description 136
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000011144 upstream manufacturing Methods 0.000 claims description 4
- 238000002347 injection Methods 0.000 claims description 3
- 239000007924 injection Substances 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 9
- 239000003607 modifier Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 101000767160 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Intracellular protein transport protein USO1 Proteins 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- 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/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/065—Generation of reports related to network devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及带内遥测数据的低延时传送。一种网络设备包括处理电路和多个端口。端口连接到通信网络。所述处理电路被配置为:经由输入端口接收寻址到公共输出端口的数据分组和探测分组;将数据分组存储在第一队列中并将探测分组存储在第二队列中,第一队列和第二队列都由输出端口服务;基于数据分组在网络设备内经过的处理路径而产生指示网络设备状态的遥测数据;以第一优先级调度来自第一队列的数据分组的传输,并且以高于第一优先级的第二优先级调度来自第二队列的探测分组的传输;以及修改被调度的探测分组以便携带遥测数据。
Description
技术领域
本文所描述的实施例一般涉及数据通信,并且具体地涉及用于带内遥测数据的低延时传送的方法和系统。
背景技术
在带内遥测中,网络设备在沿网络路径经过的分组中报告其状态。
用于带内遥测的方法在本领域中是已知的。例如,Yuliang Li等人的一篇题为“HPCC:高精度拥塞控制(High Precision Congestion Control)”的论文,SIGCOMM'19:关于数据通信ACM特别兴趣小组的论文集,2019年8月,第44-58页,描述了高精度拥塞控制(HPCC)方法,其利用网络内遥测(INT)来获得精确的链路负载信息并精确控制流量。
2020年7月29日,互联网工程任务组(IETF)在题为“HPCC++:增强型高精度拥塞控制(Enhanced High Precision Congestion Control),draft-pan-tsvwg-hpccplus-01”的规范草案中也描述了HPCC。
在题为“Swift:延迟对数据中心中的拥塞控制简单且有效(Delay is Simple andEffective for Congestion Control in the Datacenter)”的论文中,SIGCOMM'20:关于计算机通信的应用、技术、架构和协议的数据通信ACM特别兴趣小组的年度会议论文集,2020年7月,第514-528页,Gautam Kumar等人报告Google数据中心中使用Swift拥塞控制的经验。Swift通过使用增加多重性减少(AIMD)控制来实现端到端延迟,并在极端拥塞下步调一致。
美国专利10,938,722描述了一种带内遥测拥塞通知系统,该系统包括生成和传输分组的源设备。多个交换设备中的每一个接收每个分组,在每个分组中提供带内遥测信息,并且将每个分组传输到目的地设备。当目的地设备接收到分组的第一子集时,它使用在分组的每一个第一子集中包括的带内遥测信息来确定遥测信息基线。在确定遥测信息基线之后,当目的地设备接收到分组的第二子集时,它使用在分组的每一个第二子集中包括的带内遥测信息来确定与指示拥塞的遥测信息基线的偏离,并且作为响应,生成拥塞通知并且经由多个交换设备将拥塞通知发送到源设备。
发明内容
本文描述的实施例提供了一种网络设备,包括处理电路和多个端口。多个端口中的探针被配置为连接到通信网络。所述处理电路被配置为:经由多个端口中的输入端口接收被寻址到多个端口中的公共输出端口的数据分组和探测分组;将数据分组存储在第一队列中并将探测分组存储在与第一队列不同的第二队列中,第一队列和第二队列都由输出端口服务;基于数据分组在网络设备内经过的处理路径而产生指示网络设备状态的遥测数据;以第一优先级调度来自第一队列的数据分组的传输,并且以高于第一优先级的第二优先级调度来自第二队列的探测分组的传输;以及修改被调度的探测分组中的一个或更多个,以便携带至少部分遥测数据。
在一些实施例中,处理电路被配置为在第二队列中仅存储探测分组而不存储数据分组。在其他实施例中,处理电路被配置为通过监控从列表中选择的一个或更多个性能属性来产生遥测数据,该列表包括:数据分组的入口时间戳、数据分组的出口时间戳、第一队列的占用率、第一队列的拥塞状态、通过输出端口传输的数据量以及通过输出端口的传输速率。在又一些实施例中,处理电路被配置为将所产生的遥测数据存储在一个或更多个寄存器中,并且基于存储在一个或更多个寄存器中的遥测数据修改探测分组。
在一个实施例中,数据分组和探测分组源自网络设备上游的源节点并寻址到网络设备下游的目的地节点,并且处理电路被配置为将产生的遥测数据添加到经过从源节点到目的地节点的网络路径的探测分组。在另一个实施例中,处理电路被配置为产生遥测数据以便由源节点用于控制将数据注入通信网络的速率。在又一实施例中,处理电路被配置为预先提供遥测收集指令,并且基于遥测收集指令产生遥测数据。
在一些实施例中,处理电路被配置为基于在接收的探测分组中的一个或更多个中携带的遥测指令而产生遥测数据。在其他实施例中,处理电路被配置为通过在向输出端口传输的同时给定探测分组来修改探测分组中的一个或更多个中的给定探测分组。在又一些实施例中,处理电路被配置为通过将遥测数据添加到给定分组的报头部分或有效载荷部分来修改探测分组中的一个或更多个中的给定探测分组。
根据本文描述的实施例,另外提供了一种方法,包括:在包括用于连接到通信网络的多个端口的网络设备中,经由所述多个端口中的输入端口接收被寻址到所述多个端口中的公共输出端口的数据分组和探测分组。数据分组存储在第一队列中,并且探测分组存储在不同于第一队列的第二队列中,第一队列和第二队列均由输出端口服务。指示网络设备状态的遥测数据是基于数据分组在网络设备内经过的处理路径产生的。以第一优先级调度来自第一队列的数据分组的传输,并且以高于第一优先级的第二优先级调度来自第二队列的探测分组的传输。被调度的探测分组中的一个或更多个被修改以便携带至少部分遥测数据。
根据本文描述的实施例,另外提供了一种方法,包括:在使用端口连接到通信网络的网络设备中,经由输入端口接收被寻址到公共输出端口的数据分组和探测分组。数据分组存储在数据队列中,并且探测分组存储在探测队列中,其中两个队列均由输出端口服务。报告网络设备状态的遥测数据是基于数据分组在网络设备中从输入端口到输出端口经过的处理路径产生的。传输来自数据队列的数据分组和来自探测队列的探测分组,使得探测分组以比数据分组更高的优先级经由输出端口传输。被调度的探测分组中的一个或更多个被修改以携带至少部分遥测数据。
附图说明
这些和其他实施例将通过以下结合附图对其实施例的详细描述得到更充分的理解,在附图中:
图1是示意性地示出根据本文描述的实施例的支持带内遥测数据的低延时传送的通信系统的框图;
图2是示意性地示出根据本文描述的实施例的实现带内遥测数据的低延时传送的网络设备的框图;以及
图3是示意性地示出根据本文描述的实施例的用于带内遥测数据的低延时传送的方法的流程图。
具体实施方式
概述
本文描述的实施例提供了用于传送带内遥测数据的改进方法和系统。
通常需要高速通信网络来以超低延时传送高带宽流量。例如,高速网络用于采用资源分解和/或异构计算的数据中心、高速I/O介质(例如非易失性内存标准(NVMe))上的存储以及大型机器学习(ML)处理。
在基于高速网络的应用程序中,网络本身可能会成为性能瓶颈,例如,由于拥塞。
由网络设备收集的遥测数据可用于各种目的,例如,用于分析网络性能和解决网络瓶颈,例如由网络拥塞引起的。
在传统的带内遥测方法(例如,如上面引用的HPCC方法中使用的)中,遥测数据被携带在发送方节点发送到目标节点的探测分组中。探测分组携带沿着从发送方节点到目标节点的路径经过的、由网络设备累积收集的遥测数据。在使用遥测数据进行拥塞控制时,目标节点将源自探测分组中的遥测数据的信息发送回发送方节点。基于反馈信息,发送方节点可以调整向网络中注入数据的速率,例如,以缓解拥塞。
通常,探测分组在网络中经过相同的路径,并与数据分组存储在相同的队列中。例如,上面引用的HPCC++草案中的指南指出,HPCC++可以使用探测分组来查询带内遥测信息,因此,探测分组应该与数据分组采用相同的路由路径和QoS队列。因此,当队列填满或变得拥塞时,与数据分组一起排队的探测分组可能会以长延迟传输。因此,反馈遥测数据可能会被发送方节点以较长的延时接收,这会阻止发送方节点对拥塞事件快速做出反应。
在所公开的技术中,探测分组携带与数据分组在网络设备内经过的处理路径相关的遥测数据。此外,探测分组与数据分组分开在专用队列中排队。服务探测分组的队列比服务数据分组的队列具有更高的优先级,因此网络设备以最小的延迟传输探测分组。
考虑包括处理电路和多个端口的网络设备的实施例。这些端口被配置为连接到通信网络。处理电路被配置为:经由多个端口中的输入端口接收被寻址到多个端口中的公共输出端口的数据分组和探测分组;将数据分组存储在第一队列中并将探测分组存储在与第一队列不同的第二队列中,其中第一队列和第二队列均由输出端口服务。处理电路还被配置为:基于数据分组在网络设备内经过的处理路径产生指示网络设备状态的遥测数据;以第一优先级调度来自第一队列的数据分组的传输并且以高于第一优先级的第二优先级调度来自第二队列的探测分组的传输;以及修改被调度的探测分组中的一个或更多个,以携带至少部分遥测数据。
在一些实施例中,处理电路被配置为在第二队列中仅存储探测分组而不存储数据分组,例如,用于最小化传输探测分组的延迟。
处理电路可以以任何合适的方式产生遥测数据,例如,通过监控从包括以下内容的列表中选择的一个或更多个性能属性:数据分组的入口时间戳、数据分组的出口时间戳、第一队列的占用率、第一队列的拥塞状态、经由输出端口传输的数据量以及经由输出端口的传输速率。
在一些实施例中,处理电路通过最初将遥测数据存储在一个或更多个寄存器中并且稍后基于存储在一个或更多个寄存器中的遥测数据修改探测分组来将遥测数据添加到探测分组。
在一些实施例中,数据分组和探测分组源自网络设备上游的源节点并被寻址到网络设备下游的目的地节点,并且处理电路被配置为将产生的遥测数据添加到经过从源节点到目的地节点的网络路径的探测分组。在一个实施例中,处理电路被配置为产生遥测数据以便由源节点用于控制将数据注入通信网络的速率。
可以以任何合适的方式提供用于收集遥测数据的指令。例如,在一个实施例中,处理电路基于预先提供的遥测收集指令产生遥测数据。在另一个实施例中,处理电路被配置为基于在所接收的探测分组中的一个或更多个中携带的遥测指令来产生遥测数据。
在一些实施例中,处理电路在给定分组朝向输出端口发送的同时修改给定探测分组。例如,处理电路可以将遥测数据添加到给定分组的报头部分或有效载荷部分。
在所公开的技术中,探测分组在与数据分组不同的队列中排队,并且以比数据分组更高的优先级被调度向网络的传输。因此,存储数据分组的拥塞队列不会延迟探测分组的传输。与探测分组只能携带与探测分组在其中排队的队列相关的遥测数据的传统遥测方案不同,在所公开的实施例中,探测分组携带与在其他队列中排队的数据分组相关的遥测数据。
系统描述
图1是示意性地示出根据本文描述的实施例的支持带内遥测数据的低延时传送的通信系统20的框图。
在通信系统20中,计算节点24通过包括多个互连网络设备32的通信网络28相互通信。在图1的示例中,计算节点24A用作源节点,其通过通信网络28将数据发送到用作目的地节点的计算节点24B。为简洁起见,“计算节点”也简称为“节点”。
网络设备32可以包括接收和转发分组的任何合适类型的网络设备,例如网络交换机或路由器。在图1的示例中,网络设备32包括网络交换机,并且从源节点24A发送到目的地节点24B的流量经过通信网络中的路径,包括表示为SW_1…SW_N的N个交换机。
通信系统20可用于基于高带宽超低延时网络的各种应用,例如用于数据中心、高性能计算(HPC)、高速远程存储、机器学习(ML)训练、分布式计算等。
在一些公开的实施例中,交换机32捕获可以报告返回源节点24A的带内遥测数据。除了数据分组36之外,源节点24A还向目的地节点24B发送专用探测分组40,用于携带由沿从源节点到目的地节点的路径的交换机SW_1…SW_N产生的带内遥测信息。接收数据分组36或探测分组40的交换机32将数据分组或探测分组转发到朝向目的地节点24B的合适的输出端口。
源节点24A可以以任何合适的方式调度探测分组到网络的传输。例如,源节点可以以数据分组和探测分组之间的预定平均比率向目的地节点发送数据分组和探测分组。在一些实施例中,源节点在往返时间(RTT)时段期间发送至少一个探测分组。作为另一示例,源节点可以在预设超时已经到期之后发送探测分组。
在一些实施例中,交换机32处理探测分组的方式不同于处理数据分组。在一些实施例中,交换机32识别接收到的探测分组,并将在交换机内捕获的遥测数据添加到探测分组。在图1的示例中,源节点24A向目的地节点24B发送最初不携带遥测数据的探测分组40A,并且沿到目的地节点的路径的交换机累积地添加到如本文所述的遥测数据到探测分组。
在图1中描绘的示例中,第一交换机SW_1将表示为INT_1的遥测数据添加到探测分组40A以产生更新的探测分组40B,第n个交换机SW_n(1<n<N)进一步将表示为INT_n的遥测数据添加到探测分组40A以产生更新的探测分组40C,并且最后的交换机SW_N进一步将表示为INT_N的遥测数据添加到探测分组40A以产生探测分组40D。探测分组40D因此包含由沿路径的各个交换机SW_1…SW_N贡献的遥测数据INT_1…INT_N。最后的交换机SW_N将探测分组40D转发到目的地节点24B。
尽管在本示例中,沿路径的所有交换机都将遥测数据贡献给探测分组,但这不是强制性的。在替代实施例中,沿路径的交换机的部分子集可以报告指示它们在探测分组中的状态的遥测数据。
在一些实施例中,响应于接收到探测分组,例如探测分组40D,目的地节点24B通过通信网络28将反馈分组44发送返回源节点24A。与数据分组和探测分组从源节点到目的地节点所经过的路径相比,反馈分组可以经过通信网络中的相同或不同路径。反馈分组44可以包括例如在探测分组40D中包含的原始遥测数据。或者,反馈分组可以包括从探测分组40D中的遥测数据导出的数据。例如,目的地节点从原始遥测数据导出适合源节点24A使用的反馈数据,其中反馈数据具有比原始遥测数据小得多的体积。
源节点24A可以以各种方式在接收到反馈分组44时采取行动。在示例实施例中,源节点基于一个或更多个反馈分组中报告的反馈数据来调整其向目的地节点的传输速率。
支持带内遥测数据的低延时传送的网络设备
图2是示意性地示出根据本文描述的实施例的实现带内遥测数据的低延时传送的网络设备的框图。
例如,图2的网络设备可以用作图1的网络设备32。在该示例中,假设图2的网络设备32用作网络交换机。
在图2中,交换机32包括处理电路50和多个端口54。交换机32的端口54使用合适的物理链路52连接到通信网络28(例如,连接到其他交换机或节点的端口)。在图2的示例中,端口54中的端口54A和端口54B分别用作输入端口和输出端口,用于从通信网络接收分组和向通信网络发送分组。在本示例中,源自源节点24A并且被寻址到目的地节点24B的数据分组和探测分组经由输入端口54A从通信网络接收并且经由输出端口54B被发送回通信网络。
处理电路50经由输入端口54A接收数据分组和探测分组,并将接收到的分组存储在存储器缓冲区58(例如,共享存储器缓冲区)中。解析器62基于分组的一个或更多个报头解析每个接收到的分组,并为该分组产生对应的分组描述符。基于嵌入在分组报头中的分类信息,解析器62区分数据分组和探测分组。在一个实施例中,解析器在它们各自的分组描述符中标记探测分组。
策略引擎66对至少部分分组执行各种处理,例如验证分组有效载荷中的数据的正确性、分组分类和优先级以及路由。策略引擎通常会检查分组报头(中或分组的描述符中)的某些字段,以用于分组分类和路由。报头字段包含寻址信息,例如源地址和目的地地址以及端口号,以及使用的底层网络协议。
排队系统70排队等待传输的已处理分组。在一些实施例中,对于一个或更多个输出端口(例如,端口54B),排队系统70分别包括具有不同各自优先级的多个队列。在图2中,排队系统70包括用于输出端口54B的用于存储数据分组的数据队列72和用于存储探测分组的单独探测队列74,其中探测队列被分配比数据队列更高的优先级。在一些实施例中,探测队列74仅存储探测分组而不存储数据分组。
调度器78调度排队分组向分组被寻址到的相应端口54的传输。在本示例中,调度器78调度来自数据队列72的数据分组的传输和调度来自探测队列74的探测分组的传输,两者都朝向输出端口54B,其中探测分组以比数据分组更高的优先级被调度传输。
分组修改器82修改经由输出端口54B传输的分组。其他端口54可以具有与修改器82类似的其他相应的分组修改器(未示出)。在一些实施例中,分组修改器82修改经由输出端口54B传输的探测分组,以便携带由交换机基于在数据队列72中排队的数据分组所经过的处理路径而收集的遥测数据。
在一些实施例中,处理电路50包括遥测代理84,其被配置为基于如上所述的数据分组经过的处理路径来收集遥测数据。在一些实施例中,遥测代理根据预先提供给交换机的遥测收集指令86来收集遥测数据。替代地或附加地,遥测代理根据一个或更多个探测分组中携带的收集指令来收集遥测数据。遥测代理84可以通过访问沿着输入端口54A和分组修改器82之间的交换机中的处理路径的任何合适的处理元件来收集遥测数据。
遥测代理84可以收集任何合适类型的遥测数据,例如,指示各种性能属性的遥测数据,例如数据分组的入口时间戳、数据分组的出口时间戳、数据队列的占用率、数据队列的拥塞状态,经由输出端口传输的数据量以及经由输出端口的传输速率。
在一些实施例中,遥测代理84将由交换机收集的遥测数据存储在一个或更多个遥测寄存器88中。当探测分组经由输出端口54B传输时,分组修改器82从相关遥测寄存器读取遥测数据并添加遥测数据到探测分组。使用遥测寄存器,与在一个队列中排队的分组(例如,在数据队列72中排队的数据分组)有关的遥测数据可以添加到在另一队列中排队的分组(例如,在探测队列74中排队的探测分组)。
图1中的通信系统20的配置和图2中的网络设备32的配置是示例配置,其被选择纯粹是为了概念清晰。在替代实施例中,也可以使用任何其他合适的通信系统和网络设备配置。网络设备32的不同元件可以在硬件中实现,例如使用一个或更多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在替代实施例中,网络设备32的一些元件,例如处理电路50,可以在合适的处理器上执行的软件中实现,或者使用硬件和软件元件的组合来实现。
对于理解本申请的原理不是必需的元件,例如各种接口、寻址电路、定时和排序电路以及调试电路,为清楚起见已经从图1和图2中省略。
在一些实施例中,处理电路50可以包括通用处理器,其在软件中被编程以执行这里描述的网络设备功能。软件可以例如通过网络以电子形式下载到处理器,或者它可以替代地或附加地被提供和/或存储在诸如磁性、光学或电子存储器的非暂时有形介质上。
存储器缓冲区58可以包括任何合适类型的存储器,例如随机存取存储器(RAM)。
在本专利申请的上下文和权利要求书中,术语“处理电路”指的是网络设备32的除端口54之外的所有元件。在图2的示例中,处理电路50包括存储器缓冲区58、解析器62、策略引擎66、排队系统70、调度器78、分组修改器82、遥测代理84和遥测寄存器88。
用于低延时传送带内遥测数据的方法
图3是示意性地示出根据本文描述的实施例的用于低延时传送带内遥测数据的方法的流程图。
该方法将被描述为由网络设备32的处理电路50执行。该方法包括接收部分100A和传输部分100B。
接收部分(100A)开始于分组接收步骤104,处理电路50经由输入端口54A接收分组。解析器62解析分组的一个或更多个报头并识别分组的类型,例如,接收的分组是包括数据分组还是探测分组。在查询步骤108,处理电路(例如,使用策略引擎66)例如基于解析结果,检查接收的分组是包括数据分组还是探测分组。当在步骤108分组包括探测分组时,在探测分组排队步骤112,处理电路将探测分组排队在具有高优先级的探测队列74。当在步骤108分组包括数据分组时,在遥测数据收集步骤116,遥测代理84收集沿着分组在网络设备内经过的处理路径的遥测数据,并且在数据分组排队步骤120,遥测代理84将数据分组排队在数据队列72中,数据队列72具有低于探测队列的优先级的正常优先级。在步骤112或120之后,该方法(部分100A)循环回到步骤104以接收后续分组。
传输部分(100B)开始于调度步骤150,其中处理电路50调度(例如,使用调度器78)来自数据队列72的数据分组和来自探测队列74的探测分组经由输出端口54B的传输。调度器经由输出端口54B传输优先级高于数据分组的探测分组。因此,即使当数据队列填满,导致传输排队的数据分组延迟时,探测分组也被快速传输,而不会像数据分组那样受到长时间的延迟。
在分组修改步骤154,分组修改器82修改一个或更多个探测分组,以便携带由遥测代理例如在如上所述的步骤116收集的遥测数据。在步骤154之后,该方法(部分100B)循环回到步骤150以调度后续排队分组的传输。
上述实施例是作为示例给出的,也可以使用其他合适的实施例。
应当理解,上述实施例是作为示例引用的,并且所附权利要求不限于上文已经具体示出和描述的内容。相反,该范围包括上文描述的各种特征的组合和子组合,以及本领域技术人员在阅读上述描述后会想到的并且在现有技术中未公开的变化和修改。通过引用并入本专利申请的文件应被视为本申请的组成部分,除非在这些并入的文件中以与本说明书中明确或隐含的定义相冲突的方式定义了任何术语,仅应考虑本说明书中的定义。
Claims (21)
1.一种网络设备,包括:
多个端口,其被配置为连接到通信网络;以及
处理电路,其被配置为:
经由所述多个端口中的输入端口接收被寻址到所述多个端口中的公共输出端口的数据分组和探测分组;
将所述数据分组存储在第一队列中并将所述探测分组存储在与所述第一队列不同的第二队列中,其中所述第一队列和所述第二队列都由所述输出端口服务;
基于所述数据分组在网络设备内经过的处理路径而产生指示所述网络设备的状态的遥测数据;
以第一优先级调度来自所述第一队列的所述数据分组的传输,并且以高于所述第一优先级的第二优先级调度来自所述第二队列的所述探测分组的传输;以及
修改被调度的探测分组中的一个或更多个,以便携带至少部分的所述遥测数据。
2.根据权利要求1所述的网络设备,其中所述处理电路被配置为在所述第二队列中仅存储探测分组而不存储数据分组。
3.根据权利要求1所述的网络设备,其中所述处理电路被配置为通过监控从列表中选择的一个或更多个性能属性来产生所述遥测数据,所述列表包括:所述数据分组的入口时间戳、所述数据分组的出口时间戳、所述第一队列的占用率、所述第一队列的拥塞状态、经由所述输出端口传输的数据量以及经由所述输出端口的传输速率。
4.根据权利要求1所述的网络设备,其中所述处理电路被配置为将所产生的遥测数据存储在一个或更多个寄存器中,并且基于存储在所述一个或更多个寄存器中的所述遥测数据修改所述探测分组。
5.根据权利要求1所述的网络设备,其中所述数据分组和所述探测分组源自所述网络设备上游的源节点并被寻址到所述网络设备下游的目的地节点,并且其中所述处理电路被配置为将所产生的遥测数据添加到经过从所述源节点到所述目的地节点的网络路径的所述探测分组。
6.根据权利要求5所述的网络设备,其中所述处理电路被配置为产生所述遥测数据以便由所述源节点用于控制将数据注入所述通信网络的速率。
7.根据权利要求1所述的网络设备,其中所述处理电路被配置为预先提供遥测收集指令,并且基于所述遥测收集指令产生所述遥测数据。
8.根据权利要求1所述的网络设备,其中所述处理电路被配置为基于在接收的探测分组中的一个或更多个中携带的遥测指令而产生所述遥测数据。
9.根据权利要求1所述的网络设备,其中所述处理电路被配置为通过在向所述输出端口传输的同时修改给定探测分组来修改所述探测分组中的所述一个或更多个中的给定探测分组。
10.根据权利要求1所述的网络设备,其中所述处理电路被配置为通过将所述遥测数据添加到给定分组的报头部分或有效载荷部分来修改所述探测分组中的所述一个或更多个中的给定探测分组。
11.一种方法,包括:
在包括用于连接到通信网络的多个端口的网络设备中,
经由所述多个端口中的输入端口接收被寻址到所述多个端口中的公共输出端口的数据分组和探测分组;
将所述数据分组存储在第一队列中,并且将所述探测分组存储在与所述第一队列不同的第二队列中,其中所述第一队列和所述第二队列都由所述输出端口服务;
基于所述数据分组在所述网络设备内经过的处理路径而产生指示所述网络设备的状态的遥测数据;
以第一优先级调度来自所述第一队列的所述数据分组的传输,并且以高于所述第一优先级的第二优先级调度来自所述第二队列的所述探测分组的传输;以及
修改被调度的探测分组中的一个或更多个,以便携带至少部分的所述遥测数据。
12.根据权利要求11所述的方法,其中将所述探测分组存储在第二队列中包括:在所述第二队列中仅存储探测分组而不存储数据分组。
13.根据权利要求11所述的方法,其中产生所述遥测数据包括:通过监控从列表中选择的一个或更多个性能属性来产生所述遥测数据,所述列表包括:所述数据分组的入口时间戳、所述数据分组的出口时间戳、所述第一队列的占用率、所述第一队列的拥塞状态、经由所述输出端口传输的数据量以及经由所述输出端口的传输速率。
14.根据权利要求11所述的方法,包括将所产生的遥测数据存储在一个或更多个寄存器中,并且其中修改所述探测分组包括:基于存储在所述一个或更多个寄存器中的所述遥测数据修改所述探测分组。
15.根据权利要求11所述的方法,其中所述数据分组和所述探测分组源自所述网络设备上游的源节点并被寻址到所述网络设备下游的目的地节点,并且包括将所产生的遥测数据添加到经过从所述源节点到所述目的地节点的网络路径的所述探测分组。
16.根据权利要求15所述的方法,其中产生所述遥测数据包括:产生所述遥测数据以便由所述源节点用于控制将数据注入所述通信网络的速率。
17.根据权利要求11所述的方法,包括向所述网络设备预先提供遥测收集指令,并且其中产生所述遥测数据包括:基于所述遥测收集指令产生所述遥测数据。
18.根据权利要求11所述的方法,其中产生所述遥测数据包括:基于在接收的探测分组中的一个或更多个中携带的遥测指令而产生所述遥测数据。
19.根据权利要求11所述的方法,其中修改所述探测分组包括:通过在向所述输出端口传输的同时修改给定探测分组来修改所述探测分组中的所述一个或更多个中的给定探测分组。
20.根据权利要求11所述的方法,其中修改所述探测分组包括:通过将所述遥测数据添加到给定分组的报头部分或有效载荷部分来修改所述探测分组中的所述一个或更多个中的给定探测分组。
21.一种方法,包括:
在使用端口连接到通信网络的网络设备中,
经由输入端口接收被寻址到公共输出端口的数据分组和探测分组;
将所述数据分组存储在数据队列中,并且将所述探测分组存储在探测队列中,其中两个队列均由所述输出端口服务;
基于所述数据分组在网络设备中从所述输入端口到所述输出端口经过的处理路径来产生报告所述网络设备的状态的遥测数据;
调度来自所述数据队列的所述数据分组和来自所述探测队列的所述探测分组的传输,使得所述探测分组以比所述数据分组更高的优先级经由所述输出端口而被传输;以及
修改被调度的探测分组中的一个或更多个以携带至少部分的所述遥测数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/348,801 | 2021-06-16 | ||
US17/348,801 US11558310B2 (en) | 2021-06-16 | 2021-06-16 | Low-latency delivery of in-band telemetry data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115484215A true CN115484215A (zh) | 2022-12-16 |
CN115484215B CN115484215B (zh) | 2024-05-28 |
Family
ID=84283921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210555184.2A Active CN115484215B (zh) | 2021-06-16 | 2022-05-20 | 带内遥测数据的低延时传送 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11558310B2 (zh) |
CN (1) | CN115484215B (zh) |
DE (1) | DE102022206017A1 (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100254364A1 (en) * | 2010-06-16 | 2010-10-07 | Ping Yi | Rate-adaptive method for wireless mesh network |
US20110261696A1 (en) * | 2010-04-22 | 2011-10-27 | International Business Machines Corporation | Network data congestion management probe system |
CN103516622A (zh) * | 2012-05-24 | 2014-01-15 | 马维尔国际贸易有限公司 | 网络交换机中的灵活队列 |
CN104579962A (zh) * | 2015-01-23 | 2015-04-29 | 盛科网络(苏州)有限公司 | 一种区分不同报文的QoS策略的方法及装置 |
CN105357138A (zh) * | 2015-09-30 | 2016-02-24 | 四川大学 | 一种基于低优先级的自适应可靠传输方法 |
US20180034740A1 (en) * | 2015-02-11 | 2018-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Ethernet congestion control and prevention |
CN107852371A (zh) * | 2015-08-06 | 2018-03-27 | 英国电讯有限公司 | 数据分组网络 |
CN108259383A (zh) * | 2016-12-29 | 2018-07-06 | 北京华为数字技术有限公司 | 一种数据的传输方法和网络设备 |
CN108307434A (zh) * | 2017-01-12 | 2018-07-20 | 马维尔以色列(M.I.S.L.)有限公司 | 用于流控制的方法和设备 |
CN110546926A (zh) * | 2017-03-02 | 2019-12-06 | 瑞典爱立信有限公司 | 减少时间敏感分组的分组延迟变化 |
US20210006513A1 (en) * | 2019-07-02 | 2021-01-07 | Mellanox Technologies Tlv Ltd. | Transaction based scheduling |
CN112702330A (zh) * | 2020-12-21 | 2021-04-23 | 网络通信与安全紫金山实验室 | 面向Overlay网络的轻量级带内网络遥测方法、装置及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10938722B2 (en) | 2018-10-12 | 2021-03-02 | Dell Products L.P. | In-band telemetry congestion control system |
US10999206B2 (en) | 2019-06-27 | 2021-05-04 | Google Llc | Congestion control for low latency datacenter networks |
US11425014B2 (en) * | 2020-03-31 | 2022-08-23 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Scalable in-band telemetry metadata extraction |
JP2021189462A (ja) * | 2020-05-25 | 2021-12-13 | 株式会社日立製作所 | ストレージ装置 |
US11356319B2 (en) * | 2020-09-11 | 2022-06-07 | Arista Networks, Inc. | Distinguishing network vs server issues when diagnosing application performance problems |
US20220210075A1 (en) * | 2020-12-26 | 2022-06-30 | Intel Corporation | Selective congestion notification by a network interface device |
US12015534B2 (en) * | 2021-01-22 | 2024-06-18 | Arista Networks, Inc. | Method and system for congestion detection and validation in a network |
US20220124035A1 (en) * | 2021-05-05 | 2022-04-21 | Intel Corporation | Switch-originated congestion messages |
-
2021
- 2021-06-16 US US17/348,801 patent/US11558310B2/en active Active
-
2022
- 2022-05-20 CN CN202210555184.2A patent/CN115484215B/zh active Active
- 2022-06-14 DE DE102022206017.2A patent/DE102022206017A1/de active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110261696A1 (en) * | 2010-04-22 | 2011-10-27 | International Business Machines Corporation | Network data congestion management probe system |
US20100254364A1 (en) * | 2010-06-16 | 2010-10-07 | Ping Yi | Rate-adaptive method for wireless mesh network |
CN103516622A (zh) * | 2012-05-24 | 2014-01-15 | 马维尔国际贸易有限公司 | 网络交换机中的灵活队列 |
CN104579962A (zh) * | 2015-01-23 | 2015-04-29 | 盛科网络(苏州)有限公司 | 一种区分不同报文的QoS策略的方法及装置 |
US20180034740A1 (en) * | 2015-02-11 | 2018-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Ethernet congestion control and prevention |
CN107852371A (zh) * | 2015-08-06 | 2018-03-27 | 英国电讯有限公司 | 数据分组网络 |
CN105357138A (zh) * | 2015-09-30 | 2016-02-24 | 四川大学 | 一种基于低优先级的自适应可靠传输方法 |
CN108259383A (zh) * | 2016-12-29 | 2018-07-06 | 北京华为数字技术有限公司 | 一种数据的传输方法和网络设备 |
CN108307434A (zh) * | 2017-01-12 | 2018-07-20 | 马维尔以色列(M.I.S.L.)有限公司 | 用于流控制的方法和设备 |
CN110546926A (zh) * | 2017-03-02 | 2019-12-06 | 瑞典爱立信有限公司 | 减少时间敏感分组的分组延迟变化 |
US20210006513A1 (en) * | 2019-07-02 | 2021-01-07 | Mellanox Technologies Tlv Ltd. | Transaction based scheduling |
CN112702330A (zh) * | 2020-12-21 | 2021-04-23 | 网络通信与安全紫金山实验室 | 面向Overlay网络的轻量级带内网络遥测方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
MADHU BABU SIKHA; MANIVASAKAN R: "A two-queue finite-buffer polling model with limited service and state-dependent service times", 《2014 IEEE INTERNATIONAL CONFERENCE ON ELECTRONICS, COMPUTING AND COMMUNICATION TECHNOLOGIES (CONECCT)》, 17 February 2014 (2014-02-17) * |
张敏;邱恭安;张士兵;: "基于优先公平调度的网络链路状态测量方法", 数字技术与应用, no. 12 * |
董薇;陶桦;: "结合距离与队列积压的无线mesh网络拥塞感知路由协议", 计算机应用研究, no. 11, 15 November 2017 (2017-11-15) * |
Also Published As
Publication number | Publication date |
---|---|
US20220407814A1 (en) | 2022-12-22 |
DE102022206017A1 (de) | 2022-12-22 |
CN115484215B (zh) | 2024-05-28 |
US11558310B2 (en) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kohler et al. | The Click modular router | |
Alizadeh et al. | Data center transport mechanisms: Congestion control theory and IEEE standardization | |
Wei et al. | NS-2 TCP-Linux: an NS-2 TCP implementation with congestion control algorithms from Linux | |
US7248564B1 (en) | Method for determining network congestion and link capacities | |
CN111431822A (zh) | 一种确定性时延业务智能调度与控制实施方法 | |
US11924681B2 (en) | Adaptive in-band network telemetry for full network coverage | |
US20090003225A1 (en) | Method and apparatus for probing of a communication network | |
CN108667898B (zh) | 网元和用于提供网元中的缓冲器内容的快照的方法 | |
JP2003258871A (ja) | トラフィックおよびサービス・レベル・アグリーメントに基づいた自動ルータ構成 | |
WO2000072169A1 (en) | Congestion management in distributed computer system | |
Konda et al. | RAPID: Shrinking the congestion-control timescale | |
CN115484215B (zh) | 带内遥测数据的低延时传送 | |
Thapliyal et al. | LE-SBCC: loss-event oriented source-based multicast congestion control | |
Dijkstra et al. | Modeling active queue management algorithms using stochastic Petri nets | |
Pereira et al. | Semantically reliable multicast protocols | |
Gilbert et al. | Congestion control and periodic behavior | |
Gadallah et al. | A seven-dimensional state flow traffic modelling for multi-controller Software-Defined Networks considering multiple switches | |
Halepoto et al. | Enhancing SCTP Performance through the Selection of Appropriate Retransmission Policies | |
van Foreest et al. | A versatile model for asymmetric TCP sources | |
KR102082486B1 (ko) | 데이터 송수신 방법 | |
Zhang et al. | Second-order rate-control based transport protocols | |
van Foreest et al. | Performance analysis of heterogeneous interacting TCP sources | |
Sharma et al. | Performance analysis of routers with TCP and UDP connections with priority and RED control | |
Sup et al. | Acknowledge-Based Non-Congestion Estimation: An Indirect Queue Management Approach For Concurrent Tcp And Udp-Like Flows | |
Fan | Measuring Named Data Networks |
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 |