CN107431665B - 网络节点处的流量管理方法和分组交换网络中的网络节点 - Google Patents

网络节点处的流量管理方法和分组交换网络中的网络节点 Download PDF

Info

Publication number
CN107431665B
CN107431665B CN201680019477.1A CN201680019477A CN107431665B CN 107431665 B CN107431665 B CN 107431665B CN 201680019477 A CN201680019477 A CN 201680019477A CN 107431665 B CN107431665 B CN 107431665B
Authority
CN
China
Prior art keywords
packet
value
traffic
trt
time
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
CN201680019477.1A
Other languages
English (en)
Other versions
CN107431665A (zh
Inventor
C·芒然
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN107431665A publication Critical patent/CN107431665A/zh
Application granted granted Critical
Publication of CN107431665B publication Critical patent/CN107431665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • 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/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提出了一种用于分组交换网络中的网络节处点的流量管理的方法。所述方法包括:针对当前分组执行流量整形,所述当前分组属于一分组流并且被存储在与所述分组流相关联的存储器队列中,所述流量整形包括:如果当前分组的理论接收时间TRT值小于或等于时间计数器值,则通过一出站端口输出所述当前分组。所述分组的TRT值通过对分组流的传入分组执行流量监管来确定。

Description

网络节点处的流量管理方法和分组交换网络中的网络节点
技术领域
本公开涉及分组交换网络节点中的分组流处理领域,特别是基于以太网的网络中的网络节点处的以太网帧处理。
背景技术
分组交换网络(特别是以太网)在数据通信以外的领域被越来越多地使用。
具体来说,已知多个工业网络使用以太网的定制版本或从其派生的协议。另外,由PROFIBUS和PROFINET International(PI)组织发布为“Profibus”和“Profinet”的工业网络规范提供了在自动化应用的工业网络中使用基于以太网的技术的可能性。
这些技术带来的演进主要集中在这些网络的复原能力:在不影响数据发送速率的情况下防止单一故障。诸如由国际电工委员会标准化为IEC 62439-3Clause 5的高可用性无缝冗余(HSR)、由IEC标准化为IEC 62439-3Clause 4的并行冗余协议(PRP)以及由IEC标准化为IEC 62439-2的介质冗余协议的标准已经开发出来,使得它们可以在基于以太网的工业网络中使用。
发明内容
[技术问题]
然而,工业网络具有特定的约束,如对数据传输实施严格的时间特性,这不能利用标准以太网来实现。具体来说,在目前可用的以太网规范中,没有恰当地解决传输需要严格限制的等待时间和/或抖动的控制/命令消息以及严格的无损传输。
这些特性可以通过应用以下各项来实施:用于确保网络资源不被超额认购的网络资源(缓冲区和带宽)保留方案、用于确保根据所保留的资源发射业务的流量整形(trafficshaping)和调度机制,以及用于确保不存在干扰资源保留/流量整形均衡的故障或行为不端的业务源的流量监管(traffic policing)方案。
在电信网络中实现了流量监管技术以在特定网络接口(如链接不同运营商网络的那些接口)处实施业务合同。业务合同(在现有技术中,也称为“服务级协议”或SLA)通常包括适用于要在两个终端之间通过服务网络传输的一个或更多个数据流的一组业务参数。由网络提供的服务例如可以涉及中央控制器对自动机的控制、以一定的传输速率传递视频数据等。一般来说,针对通过源与目的地之间的网络运送的任何数据流,可以指定一业务合同,作为与通过该网络传输的数据流有关的一组要求(例如,传输速率、传输时间、抖动、分组大小等)。与通过网络的流相关联的遵照合同的数据传输将需要履行在该合同中限定的要求。这些要求通常根据由数据通信网络所提供的服务类型来限定。
美国专利No.6 724 726 B1描述了一种使网络的可变长度的分组流符合业务合同(traffic contract)的流量监管方法。
至于涉及的以太网,题名为“Virtual Bridged Local Area Networks”的用于局域网和城域网的IEEE标准802.1Q–2005包括条款8.6.5(“流分类和计量”)和条款8.6.7(队列管理)中的帧计量框架。然而,该框架没有指定任何特定的计量算法,而是仅仅涉及在城域以太网论坛技术规范MEF 10中描述的计量算法以及IETF RFC 2309中指定的队列管理算法(包括随机早期决策(RED)算法和加权随机早期检测(WRED)算法)。
帧计量是在IEEE 802.1Q标准中引入的,以便提供用于设定和使用由帧的S-和C-VLAN标签中的DEI(丢弃合格性指示)所指示的“丢弃合格”参数的框架。
该标准规范被保持最小,以便允许不同目标市场的实现灵活性和适应性,如城域以太网论坛(MEF)已指定了所谓的带宽配置文件的城域网的互连。
IEEE 802.1Q-2005标准条款8.6.5指定了可选入站(ingress)计量表的使用,其作用是设定与帧相关联的丢弃合格参数。由给定计量表处理的所有帧都来自相同的接收端口,并且基于包括目的地址(DA)、源地址(SA)、VLAN标识符(VID)及优先级的参数的任何组合针对计量表的不同应用的帧分类是可能的。在桥接队列之前和所有过滤功能(活动拓扑实施、入站VID、过滤数据库(FDB)以及出站VID)之后应用计量。尽管没有指定计量算法,但引用了MEF算法。通过使用DEI位可以进行双色(绿色和黄色)方案,用被保留给总是丢弃的帧的第三种颜色(红色)扩展。
关于队列管理,IEEE 802.1Q-2005标准条款8.6.7宽松地规定了如何利用由帧携带的颜色指示:丢弃合格帧可具有比非丢弃合格帧高的丢弃概率。实现者自由选择队列管理方案,举例来说,如具有不同颜色阈值的尾部丢弃、随机早期检测或加权随机早期检测。
题名为“Ethernet Services Attributes Phase 3”并且日期为2013年10月的城域以太网论坛(MEF)技术规范MEF 10.3包括称为“带宽配置文件”的监管算法,该监管算法基于帧“着色”方案。
根据MEF方案,服务帧的颜色是由服务帧在计量表处的抵达时间相对于先前帧的历史抵达时间而确定的属性。在这方面,颜色是与其优先级不同的服务框架的属性,其被附加至服务框架并根据其内容确定。
然而,MEF技术规范仅提供业务计量算法,以供验证针对用于传入的服务帧的服务合同的合规性或不合规性。MEF技术规范没有规定流量监管算法或流量整形算法,使得其用于确保符合数据传输的严格时间特性和数据丢失特性的效率(特别是在工业网络中使用的背景下)受限。换言之,MEF技术规范可能不足以提供用于确保符合服务合同中限定的要求的手段。
因此,需要提供一种致力于解决本领域常规技术的上述缺陷和缺点的改进的数据流量管理方案和实现其的网络节点。
本主题公开的一个目的是,提供一种改进的数据流量管理方案和实现其的网络节点。
本主题公开的另一目的是,提供一种用于减轻常规数据业务控制方案的上述缺陷和缺点的改进的流量管理方案和实现其的网络节点。
本主题公开的又一目的是,提供一种用于确保符合有关在网络中传输数据的业务配置文件要求的改进的流量管理方案和实现其的网络节点。
为实现这些目的和其它优点并且根据本主题公开的目的,如在此具体实施和广泛描述的,在本主题公开的一个方面,提出了一种用于分组交换网络中的网络节点处的流量管理的方法,所述网络节点包括用于输出属于一分组流的分组的至少一个出站端口以及用于接收所述分组流的传入分组的一个或多个入站端口。所述方法包括:针对属于所述分组流并且被存储在与所述分组流相关联的存储器队列中的当前分组执行流量整形,所述流量整形包括,如果所述当前分组的理论接收时间TRT值小于或等于时间计数器值,则通过所述出站端口输出所述当前分组。根据该提议方法,所述分组的所述TRT值通过对所述分组流的传入分组执行流量监管来如下地确定:当所述分组流中的、在所述当前分组之前接收到的先前分组未被流量监管丢弃时,利用所述先前分组的大小和与所述流相关联的传输速率值,并且在先前分组的TRT值大于先前分组的实际接收时间ART值,利用先前分组的TRT值,否则利用先前分组的ART值;或者在先前分组被流量监管丢弃时,利用先前分组的TRT值。
在网络传输时间和丢失敏感控制和命令流的情况下,可以有利地应用入站流量监管和出站流量整形两者,以便保证消息以安全(没有任何丢失)且及时(保证带宽和最小抖动)的方式传输。另外,入站监管允许处理和减轻网络节点的错误操作:复制帧(排队错误)、过快传输速率(整形错误)、较长的帧(标记/填充错误)、在错误传输队列中转发(切换错误)、过大桥接器(bridge)/交换机(switch)延迟(硬件/软件默认)、“混串音(babbling)”节点(故障源或交换机)。
所提议方法有利地提供了一种流量整形方案和流量监管方案,它们通过在流量整形阶段使用已经由流量监管方案确定的TRT值而彼此协作。这样,所提议方法提供了流量整形和监管的协同操作。
在一个或更多个实施方式中,所提议方法还可以提供的是,所述流量监管包括丢弃属于所述分组流的、大小超出与所述分组流相关联的所述存储器队列中的可用空间的接收分组。
在所提议方法的一个或更多个实施方式中,所述流量监管按流量监管循环的迭代来执行,所述流量监管循环的迭代在所述时间计数器值递增了至少一个时间单位时执行。
另外,所述流量整形也可以按流量整形循环的迭代来执行,所述流量整形循环的迭代在所述时间计数器值更新时执行。在一个或更多个实施方式中,这样的更新可以包括递增所述时间计数器,并且所述流量整形循环的迭代可以在所述时间计数器值递增了至少一个时间单位时执行。在其它实施方式中,这样的更新可以包括将用于流量整形的所述时间计数器值移位达用于所述流量整形循环的下一次迭代的偏移量,并且所述流量整形循环的迭代可以在所述时间计数器值被移位了一时间偏移量时执行。
将所述流量监管和/或流量整形操作为通过上述时间计数器驱动的循环有利地利用用于所述流量监管和流量整形的单个时间基准,例如,通过相同的时间计数器,或者通过基于相同时间基准并且偏移了一时间偏移量(在所述流量整形时间计数器与所述流量监管时间计数器之间)的相应时间计数器。所述流量监管方案通常在入站端口执行,而所述流量整形方案通常在出站端口执行,这创造了在入站端口和出站端口两处使用相同时间基准的机会。该公共时间基准还可以有利地被设计为由网络节点级的所有端口使用,但也由分组交换网络中的多个网络节点使用。
所述流量整形和流量监管的公共参数的使用还降低了这些功能实现的复杂性,这有益于设计实现其的网络节点。
在所提议方法的一个或更多个实施方式中,当先前分组的TRT值
Figure GDA0001422427340000051
大于先前分组的ART值
Figure GDA0001422427340000052
时,所述分组的TRT值
Figure GDA0001422427340000053
可以被确定为:
Figure GDA0001422427340000054
Figure GDA0001422427340000055
其中,
Figure GDA0001422427340000056
是先前分组的TRT值,
Figure GDA0001422427340000057
是先前分组的大小,而Ri是与所述流相关联的传输速率值。另外,当先前分组的TRT值
Figure GDA0001422427340000058
小于或等于先前分组的ART值
Figure GDA0001422427340000059
时,所述分组的TRT值
Figure GDA00014224273400000510
可以被确定为:
Figure GDA00014224273400000511
Figure GDA00014224273400000512
其中,
Figure GDA00014224273400000513
是先前分组的ART值,
Figure GDA00014224273400000514
是先前分组的大小,而Ri是与所述流相关联的传输速率值。另外,在先前分组已经被流量监管丢弃时,所述分组的TRT值
Figure GDA00014224273400000515
可以被确定为:
Figure GDA00014224273400000516
其中,
Figure GDA00014224273400000517
是先前分组的TRT值。
在所提议方法的一个或更多个实施方式中,利用与在一个或多个入站端口中的一个入站端口处的先前分组的接收相对应的时间计数器值来确定先前分组的ART值。
在所提议方法的一个或更多个实施方式中,属于不同流的分组与相应TRT值一起存储在分别与所述流关联的存储器队列中,并且,所述方法还包括:在所述存储器队列中的、具有相应最小TRT值的头分组(head packet)当中根据其TRT值选择当前分组。有利的是,所述分组可以根据其TRT值是所述存储器队列的头分组的相应TRT值中的最小值来选择。
所提议解决方案的实施方式有利地提供了对时间和丢失敏感的流的联合监管和调度,其可以基于单个时间基准和理论上的每个流安排,通过切换队列来进行复用。由所述监管功能实施的流抖动或突发容许被直接结合至为出站端口中的流队列保留的可用缓冲区的数量。
根据另一方面,一种分组交换网络中的网络节点包括:处理器;能够在工作上联接至所述处理器的存储器;用于输出属于一分组流的分组的至少一个出站端口;以及用于接收所述分组流的传入分组的一个或多个入站端口,其中,所述网络节点被配置成执行根据本主题公开的所提议方法的用于流量管理的方法。
根据又一方面,一种编码有可执行指令的非暂时性计算机可读介质,该可执行指令在被执行时,使包括能够在工作上与存储器联接的处理器的网络节点执行根据本主题公开的所提议方法的用于流量管理的方法。
根据又一方面,一种计算机程序产品包括以有形方式具体实施在计算机可读介质中的计算机程序代码,所述计算机程序代码包括指令,当所述指令被提供给计算机系统并执行时,使所述计算机执行根据本主题公开的所提议方法的用于流量管理的方法,和数据集,该数据集例如通过压缩或编码来表示一计算机程序。
应当清楚,本发明可以以多种方式来实现和使用,包括但不限于作为处理、装置、系统、设备以及作为用于现在已知和以后开发的应用的方法。本文所公开系统的这些和其它独特特征根据下面的描述和附图将变得更容易清楚。
附图说明
图1是例示根据一个或更多个实施方式的示例性工业网络的示意图。
图2是例示根据一个或更多个实施方式的网络节点的示例性功能的框图。
图3是例示根据一个或更多个实施方式的网络节点的出站端口的示例性功能的框图。
图4是例示根据一个或更多个实施方式的示例性流量监管处理的流程图。
图5是例示根据一个或更多个实施方式的示例性流量整形处理的流程图。
图6是例示根据一个或更多个实施方式的示例性流量整形处理的流程图。
图7a例示了根据一个或更多个实施方式的网络节点处的接收和传输操作。
图7b例示了根据一个或更多个实施方式的网络节点处的接收和传输操作。
具体实施方式
为简单和清楚例示起见,附图示出了一般构造方式,并且可以省略公知特征和技术的描述和细节,以避免不必要地模糊对所描述本发明实施方式的讨论。另外,图中部件不必按比例绘制。例如,图中的一些部件的尺度以相对于其它部件夸大,以帮助改进对本发明实施方式的理解。某些图可以按理想化方式示出,以便于帮助理解,如在结构被示出具有直线、锐角,和/或平行平面等时,其在真实世界条件下很可能会显著地不太对称和有序。不同图中的相同标号指示相同部件,而相似标号可以但不必指示相似部件。
另外,应当明白,本文的教导可以以多种形式具体实施,并且本文所公开的任何特定结构和/或功能仅仅是代表性的。具体来说,本领域技术人员应当清楚,本文所公开的方面可以独立于任何其它方面来实现,并且可以以各种方式组合多个方面。
下面,参照根据一个或更多个示例性实施方式的方法、系统以及计算机程序的功能、引擎、框图以及流程图例示,对本公开进行描述。各个所述功能、引擎、框图的框以及流程图例示可以按硬件、软件、固件、中间件、微代码或其任何合适组合来实现。如果按软件来实现,则功能、引擎、框图的框和/或流程图例示可以由计算机程序指令或软件代码来实现,其可以通过计算机可读介质来存储或传输,或者加载到通用计算机、专用计算机或者用于生成一机器的其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行的计算机程序指令或软件代码创建用于实现本文所述功能的手段。
计算机可读介质的实施方式包括但不限于计算机存储介质和包括便于从一个地点向另一地点传递计算机程序的任何介质的通信介质两者。如本文所使用的,“计算机存储介质”可以是可通过计算机或处理器存取的任何物理介质。另外,术语“存储器”和“计算机存储介质”包括任何类型的数据存储装置,诸如硬盘驱动器、闪速驱动器或其它闪速存储器装置(例如,存储器钥、存储器棒、钥匙驱动器)、CD-ROM或其它光学存储部、DVD、磁盘存储部或其它磁存储装置、存储器芯片、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、智能卡,或者可以被用于承载或存储采用可以通过计算机处理器读取的指令或数据结构形式的程序代码的任何其它介质,或其组合,但不限于此。而且,各种形式的计算机可读介质可以向计算机传输或运送指令,包括路由器、网关、服务器或其它传输装置,有线(同轴电缆、光纤、双绞线、DSL电缆)或无线(红外线、无线电、蜂窝、微波)。该指令可以包括来自任何计算机编程语言的代码,包括但不限于汇编语言、C、C++、VisualBasic、SQL、PHP及JAVA。
除非另外加以具体规定,应当清楚,贯穿下列描述讨论,利用诸如“处理(processing)”、“计算(computing)”、“计算(calculating)”、“确定(determining)”等的术语是指计算机或计算系统,或者类型电子计算装置的动作和处理,其操纵表示该计算系统的寄存器或存储器内的物理(如电子)量的数据并将其变换成类似地表示为该计算系统的存储器、寄存器或其它这种信息存储、传输或显示装置内的物理量的其它数据。
术语“包括(comprise)”、“包括(include)”、“具有(have)”及其任何变体旨在覆盖非排它性的包含,使得包括部件列表的处理、方法、物品或装置不必局限于这些部件,而是可以包括未明确列出的或这种处理、方法、物品,或装置所固有的其它组件。
另外,单词“示例性”在此被用于意指“用作示例、实例或例示”。本文中描述为“示例性”的任何实施方式或设计不必被解释为比其它实施方式或设计优选或有利。
在下面的描述和权利要求书中,可以使用术语“联接(couple)”和“连接”以及它们的衍生物。在特定实施方式中,“连接”可以被用于指示两个或更多个部件彼此直接物理或电接触。“联接”可能意味着两个或多个部件处于直接物理或电接触。然而,“联接”也可能意味着两个或更多个部件彼此未直接接触,但仍然彼此协作或或交互作用。
如本文所使用的,术语分组(packet)可以包括可以在节点或站点之间或跨网络路由或传输的数据单元。如本文所使用的,术语分组可以包括帧、协议数据单元或其它数据单元。一分组可以包括一组比特,例如,其可以包括一个或更多个地址字段、控制字段以及数据。数据块可以是任何数据单元或信息比特。
应当明白,本主题公开的实施方式可以被用于多种应用中。尽管本发明不限于此,但本文所公开的用于流量管理的方法可以被用于许多装置中,如在分组交换网络的任何网络节点中,举例来说,如以太网交换机、以太网桥接器或以太网路由器。为清楚起见,下面的描述集中于以太网网络。然而,本发明的技术特征不限于此。
图1例示了示例性的基于以太网的工业网络10,工业网络10包括以太网服务提供商网络12,客户设备(CE)装置13a-13c利用标准以太网接口(诸如,10Mbps、100Mbps、1Gbps或10Gbps以太网接口),通过相应的以太网用户-网络接口(UNI)14a-14c连接至以太网服务提供商网络12。以太网服务由包括多个网络节点11a-11c的以太网服务提供商网络12提供给CE装置13a-13c,在这些网络节点中可以使用本主题公开的实施方式。
网络节点11a-11c可以被配置为以太网提供商边缘交换机,并且可以利用网络连接15a-15c按环形拓扑彼此连接。以太网服务提供商网络例如可以是以太网城域网(MAN)或者以太网广域网(WAN),并且可以包括任何其它网络节点(图中未示出),举例来说,诸如交换机或桥接器。
相关领域的普通技术人员应当清楚,任何合适的网络拓扑(举例来说,如树形拓扑或网格拓扑)可以被用于代替仅作为示例给出的网络12的环形拓扑。
在一个或更多个实施方式中,网络12可以工作以使得其可以向用户或者工业网络背景下的应用(例如,自动化控制、视频传递、软件更新/升级等)提供相应的服务质量(QoS)级别,QoS级别包括分组丢失特性和传输时间特性。从用户/应用的角度来看,由网络12提供的QoS级别可以解释为所谓的“带宽配置文件(bandwidth profile)”,其定义QoS参数和/或业务参数(例如,最大传输延迟、最大延迟变化(抖动)等)。
如本文所使用的,术语分组流或流可以包括共享一个或更多个公共参数的一组分组,举例来说,诸如地址、源和/或目的地、电路标识符、标识符、运输协议的类型、VLAN、VID、一对地址(例如,SA和DA)或其组合。
可以为由所述网络服务的每个流或者为由所述网络服务的一组流提供带宽配置文件。
根据本主题公开的实施方式,边缘网络节点11a-11c之一实现用于实施带宽配置文件的流量管理功能。
图2例示了被配置成使用根据本主题公开的实施方式的流量管理特征的示例性网络节点20。
网络节点20包括:控制引擎21、交换引擎25、复用引擎26、流量监管引擎27、流量整形引擎28、多个端口22a-22d、时间基准引擎29以及存储器23。
在图2所示的架构中,交换引擎25、复用引擎26、流量监管引擎27、流量整形引擎28、多个端口22a-22d、时间基准引擎29以及存储器23全部能够通过控制引擎21在工作上彼此联接。
在一个实施方式中,端口22a-22d中的每一个都包括以太网接口,从而联接至以太网链路,并且能够传输和接收分组。另外,端口22a之一(称为“出站”端口)可以被配置用于传输传出分组,而多个其它端口22b、22c、22d(称为“入站”端口)可以被配置用于接收传入分组。
在一个实施方式中,交换引擎25处理一个或更多个入站端口处的接收分组以将所述分组引导至出站端口之一以输出。具体来说,交换引擎可以被配置成识别每个接收分组所属的分组流,并将接收分组引导至分配给分组流标识符的出站端口。
在一个实施方式中,不同的分组流(例如,具有不同标识符的分组流)可以在相应的入站端口上接收,并且可以被复用引擎26复用以通过同一出站端口输出。
流量监管引擎提供如下所述在分组接收时工作的流量监管功能27。流量整形引擎28提供如下所述针对分组传输工作的流量整形功能。在本主题公开的实施方式中,流量监管功能和流量整形功能以协作方式工作,其中,流量整形功能使用存储在存储器23中的用于传输的分组的理论接收时间值,该理论接收时间值由流量监管功能确定。
时间基准引擎29可以为由流量监管引擎27和/或流量整形引擎28所运行的各种处理提供时间基准。在一个或更多个实施方式中,这有利地允许针对在网络节点20中执行的流量监管和流量整形使用相同时间基准。例如,网络节点20可以被配置成使得节点的所有链路和端口22a-22d使用相同时间基准。在一些实施方式中,时间基准引擎可以根据实现来实现每时间单位递增的时间计数器,并且联接至基准时钟装置(例如,石英装置),其值被流量监管引擎27和/或流量整形引擎28用作当前时间值。在一些实施方式中,根据实现,时间计数器值T可以每比特传输时间递增一个或多个时间单位,考虑到网络节点20支持的二进制传输速率,比特传输时间与一个比特的持续时间相对应。例如,与100Mbps以太网链路相对应的比特传输时间将等于10ns。
控制引擎21包括处理器,其可以是任何合适的微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理芯片,和/或状态机,或其组合。根据各种实施方式,计算机中一个或更多个可以被配置为具有用于提供并行计算的多个处理器的多处理器计算机。控制引擎21还可以包括能够存储计算机程序指令或软件代码的计算机存储介质(诸如但不限于存储器23)或者可以与能够存储计算机程序指令或软件代码的计算机存储介质通信,所述计算机程序指令或软件代码在被处理器执行时,使处理器执行本文所述的要素。另外,存储器23可以是联接至控制引擎21的任何类型的数据存储计算机存储介质,并且可与一个或更多个端口22a-22d一起工作,以便于管理与其相关联地存储的数据分组。
应当清楚,参照图2示出和描述的网络节点20仅仅作为示例提供。许多其它架构、操作环境,以及配置都是可能的。节点的其它实施方式可以包括更少或更多数量的组件,并且可以并入参照图2所示的网络节点组件描述的一些或全部功能。因此,尽管控制引擎21、交换引擎25、复用引擎26、流量监管引擎27、流量整形引擎28、多个端口22a-22d、时间基准引擎29及存储器23被例示为网络节点20的一部分,但对组件21-29的位置和控制未加以限制。具体来说,在其它实施方式中,组件21-28可以是不同实体或计算系统的一部分。
可以为每个分组流Fi提供带宽配置文件,带宽配置文件包括传输速率Ri,其表示流Fi的分组应当被所述网络所服务的最大速率。传输速率Ri可以以每秒比特(bps)来表达。网络节点可以被配置用于,通过利用信令的节点的自动配置方案和/或通过用于手动配置每个节点的管理工具来使用与分组流相关联的带宽配置文件。
当在一个或多个入站端口上接收到属于同一流的多个分组或帧时,除了或者作为其它处理的替代方案,所接收的分组可以由交换引擎25处理,以使所述分组被引导至出站端口22d,应当从该端口22d输出属于该流的分组。
在本主题公开的一个或更多个实施方式中,可以针对在出站端口22d处管理的每个分组流而在存储器23中分配被管理为队列的存储器空间(例如利用先入先出(FIFO)队列管理算法)。
然后,在由网络节点的交换引擎处理之后和/或在针对接收分组执行其它类型分组处理之后,可以将属于分组流Fi并且在一个或多个入站端口上接收到的分组
Figure GDA0001422427340000111
放置在针对该分组流Fi分配并与针对流Fi的出站端口相关联的队列Qi中。
图3例示了网络节点(如图2的网络节点20)中的出站端口30,具有K个存储器队列Qi,每个都与一分组流Fi相关联,其中,K是大于零的整数。
图3示出了三个存储器队列Q1、Qi及QK31a-31c,其分别与分组流F1、Fi及FK相关联。与出站端口30相关联的K个存储器队列可以在针对出站端口分配的存储器缓冲区中加以分配。每个队列Qi31a-31c的大小Size_Qi可以以比特表示,并且可以利用队列31a-31c中的可用空间的大小Free_Qi来测量队列的占用率。优选地选择队列的相应大小,使得所有大小的总和
Figure GDA0001422427340000112
不超出在出站端口30处分配的存储器缓冲区的容量。利用上述参数,每个队列Qi31a-31c在Free_Qi=0时被视为是满的,而在Free_Qi=Size_Qi时被视为是空的。
在图3所示的示例出站端口30中,第一存储器队列Q1仅存储用于通过出站端口30传输的一个分组
Figure GDA0001422427340000113
而第i个存储器队列Qi存储三个分组
Figure GDA0001422427340000114
Figure GDA0001422427340000115
并且第K个存储器队列QK存储两个分组
Figure GDA0001422427340000121
Figure GDA0001422427340000122
在一个或更多个实施方式中,针对在出站端口30处的存储器队列中入队的每一个分组计算理论接收时间TRT值。分组的TRT值可以利用以下各项来确定:该分组所属于的流的先前接收分组的大小、与该流相关联的传输速率值Ri以及该流的先前接收分组的TRT值或实际接收时间ART值,如下所述。
在一个或更多个实施方式中,存储器队列(Qi)i=1…K被管理为FIFO队列,并且相应流(Fi)i=1…K的分组根据它们抵达该节点的次序,以有序的方式存储在对应队列中,使得序列号(利用图3上的索引n)被分配给每个分组。
对于例如图3上所示的第i个存储器队列Qi,分组
Figure GDA0001422427340000123
(与其对应的TRT值
Figure GDA0001422427340000124
一起存储)处于该队列Qi的前端,并且将在分组
Figure GDA0001422427340000125
之前入队,分组
Figure GDA0001422427340000126
本身在这个队列Qi中随后的分组
Figure GDA0001422427340000127
之前入队。
传输速率Ri参数(也与流Fi相关联)可以被选择为对应于预期在对应队列Qi中接收到流Fi的分组的速率,并因此可以被选择成表示队列Qi中的分组接收的理论速率。
如果属于同一流Fi的分组
Figure GDA0001422427340000128
以略高于该理论速率Ri的节奏抵达队列Qi,该队列Qi将缓慢填满,从而对于该流Fi来说,将存在抖动状态。同样地,如果属于同一流Fi的分组
Figure GDA0001422427340000129
以比该理论速率Ri高得多的节奏抵达队列Qi,那么该队列Qi将很快填满,从而对于该流Fi来说,将存在突发状态。
在一个或更多个实施方式中,可以根据流Fi被允许的突发或抖动容许,来确定对应流Fi的每个队列Qi的大小Size_Qi
在一个或更多个实施方式中,可以利用如本文所述的流量监管方案来选择分组以通过出站端口30传输。
一旦选择了要通过出站端口30传输的分组,就将所选分组从其队列中去除,根据实现,其关联TRT值被一起去除。当一分组出队时,其关联TRT值可以从存储其的存储器中删除。然后,将该分组放置在传输缓冲区32中,使得其可以通过出站端口30在该端口所联接的链路上输出。传输缓冲区32由流量整形引擎管理,以基于如下所述的相应队列的头分组中的最小理论接收时间,在队列间执行复用功能。
应当清楚,参照图3示出和描述的出站端口30仅作为示例提供。许多其它架构、操作环境及配置都是可能的。端口的其它实施方式可以包括更少或更多数量的组件,并且可以并入参照图3所示的端口组件描述的一些或全部功能。
分组接收时的流量监管操作
参照图4,下面将描述分组接收时的流量监管。
在接收(41)到流Fi的分组
Figure GDA0001422427340000131
时,确定(42)所接收的分组
Figure GDA0001422427340000132
的大小
Figure GDA0001422427340000133
作为在该分组
Figure GDA0001422427340000134
抵达的入站端口处的分组接收处理的一部分,或者在该接收处理之后。
例如,在入站端口处接收的分组的比特被存储在分配给该端口的存储缓冲区中,以计算循环冗余校验并检测接收分组中的错误。当检测到接收到该分组的最后一个比特时,该分组被视为完整接收到,并且可以确定其可变大小
Figure GDA0001422427340000135
确定分组
Figure GDA0001422427340000136
的实际接收时间
Figure GDA0001422427340000137
在一个或更多个实施方式中,优选的是,在检测到接收到分组
Figure GDA0001422427340000138
的最后比特时,通过在存储器中存储当前时间计数器值来确定值
Figure GDA0001422427340000139
如参照图2所述的。另选的是,可以在检测到接收到分组
Figure GDA00014224273400001310
的任何部分时存储ART值,例如,检测到接收到分组
Figure GDA00014224273400001311
的第一比特。
如果与流Fi相关联的队列Qi中的可用空间Size_Qi大于或等于接收分组
Figure GDA00014224273400001312
的大小
Figure GDA00014224273400001313
(43),则在与流Fi相关联的队列Qi中仍然存在可用于存储接收分组
Figure GDA00014224273400001314
的空间,并且该分组在队列Qi中入队(44)。然后,基于入队的分组
Figure GDA00014224273400001315
的大小
Figure GDA00014224273400001316
更新(45)与流Fi相关联的队列Qi中的可用空间Size_Qi
已经基于针对流Fi定义的传输速率Ri,利用与流
Figure GDA00014224273400001317
中的先前接收分组相关的信息,确定了接收分组
Figure GDA00014224273400001318
的理论接收时间
Figure GDA00014224273400001319
在一个或更多个实施方式中,在接收到分组
Figure GDA00014224273400001320
之前,接收分组
Figure GDA00014224273400001321
的理论接收时间
Figure GDA00014224273400001322
值可能已经被存储在分配给输出该流Fi的分组的出站端口的存储器队列中。
从存储器检索接收分组
Figure GDA00014224273400001323
的理论接收时间
Figure GDA00014224273400001324
值和实际接收时间
Figure GDA00014224273400001325
值,并进行比较(47)。如果分组
Figure GDA00014224273400001326
的理论接收时间
Figure GDA00014224273400001327
大于该分组
Figure GDA00014224273400001328
的实际接收时间
Figure GDA00014224273400001329
则该分组在理论抵达时间之前抵达。如上所述,这表示分组流Fi的抖动或者突发状态。在这种情况下,基于分组
Figure GDA00014224273400001330
的理论接收时间
Figure GDA00014224273400001331
针对流Fi定义的传输速率Ri以及接收分组的大小
Figure GDA00014224273400001332
确定(48)流Fi的要接收的下一个分组
Figure GDA00014224273400001333
的理论接收时间
Figure GDA00014224273400001334
并且存储在存储器中以用于流的下一个接收分组
Figure GDA00014224273400001335
例如,流Fi的要接收的下一个分组
Figure GDA00014224273400001336
的理论接收时间
Figure GDA00014224273400001337
如下确定:
Figure GDA00014224273400001338
由于与流Fi相关联的队列Qi中仍然存在可用空间,因而
Figure GDA00014224273400001339
分组仍然存储在队列Qi中,可能连同针对该流中的下一个分组确定的理论接收时间
Figure GDA00014224273400001340
存储在队列Qi中。
与此相反,仍假定与流Fi相关联的队列Qi中的可用空间Size_Qi大于或等于接收分组
Figure GDA0001422427340000141
的大小
Figure GDA0001422427340000142
如果分组
Figure GDA0001422427340000143
的理论接收时间
Figure GDA0001422427340000144
小于或等于该分组
Figure GDA0001422427340000145
的实际接收时间,则该分组按其理论抵达时间或之后抵达。在这种情况下,基于分组
Figure GDA0001422427340000146
的实际接收时间
Figure GDA0001422427340000147
针对流Fi定义的传输速率Ri以及接收分组的大小
Figure GDA0001422427340000148
确定(49)流Fi的要接收的下一个分组
Figure GDA0001422427340000149
的理论接收时间
Figure GDA00014224273400001410
并且存储在存储器中以用于该流的下一个接收分组
Figure GDA00014224273400001411
例如,流Fi的要接收的下一个分组
Figure GDA00014224273400001412
的理论接收时间
Figure GDA00014224273400001413
如下确定:
Figure GDA00014224273400001414
由于与流Fi相关联的队列Qi中仍然存在可用空间,因而该
Figure GDA00014224273400001415
分组仍然存储在队列Qi中,可能连同针对该流中的下一个分组确定的理论接收时间
Figure GDA00014224273400001416
存储在队列Qi中。
如果与流Fi相关联的队列Qi中的可用空间Size_Qi小于接收分组
Figure GDA00014224273400001417
的大小
Figure GDA00014224273400001418
则丢弃(50)该接收分组,并且将流Fi的要接收的下一个分组
Figure GDA00014224273400001419
的理论接收时间
Figure GDA00014224273400001420
确定(51)为等于分组
Figure GDA00014224273400001421
的理论接收时间
Figure GDA00014224273400001422
Figure GDA00014224273400001423
然后将流Fi的要接收的下一个分组
Figure GDA00014224273400001424
的理论接收时间
Figure GDA00014224273400001425
存储(52)在存储器中,以用于流的下一个接收分组
Figure GDA00014224273400001426
在接收到分组流的下一个分组时,如果这样的下一个分组未被流量监管丢弃,则该下一个分组的理论接收时间
Figure GDA00014224273400001427
值可以与也将入队的该下一个分组相关联地复制在队列中。根据该实现,可以使用存储器缓冲区来存储在每次接收到分组时确定的TRT值。在该下一个分组未被流量监管丢弃的情况下,一旦该下一个数据分组及其TRT值入队,就可以用基于下一个分组确定的新的TRT
Figure GDA00014224273400001428
值来更新该下一个分组的理论接收时间
Figure GDA00014224273400001429
值。因此,每次在与其流相对应的存储器队列中入队最新接收到的分组时,可以更新TRT存储器缓冲区。
在一个或更多个实施方式中,上述流量监管操作可以作为连续循环的重复迭代的一部分来执行,其中,每个循环迭代随着测试来启动,所述测试用于确定是否已被接收(40)到分组。如果已经接收到分组
Figure GDA00014224273400001430
则执行上述操作,并且循环的迭代随着存储计算值
Figure GDA00014224273400001431
而结束,如图4上所示。如果没有接收到分组,则循环执行另一个分组接收测试。
另外,该循环可以与驱动上述流量监管操作的基准时间同步。例如,可以控制该循环,使得一旦提供基准时间值的时间计数器递增,就执行该循环的新迭代,如图4所示。根据该实现,可以将该循环设计成,使得一旦时间计数器值递增了一个或多个时间单位,就执行新的迭代。
当前已处理分组
Figure GDA0001422427340000151
的TRT值
Figure GDA0001422427340000152
可以利用与上面参照在流Fi的一序列接收分组中的当前已处理分组
Figure GDA0001422427340000153
之前的一分组
Figure GDA0001422427340000154
描述的操作相同的操作来确定,即,基于流的先前接收分组
Figure GDA0001422427340000155
的大小
Figure GDA0001422427340000156
与该流相关联的传输速率值Ri以及如果该流的先前接收分组的TRT值
Figure GDA0001422427340000157
小于该流的先前接收分组的实际接收时间ART值
Figure GDA0001422427340000158
则利用
Figure GDA0001422427340000159
值,否则利用
Figure GDA00014224273400001510
值。
这例如可以是在这些操作作为属于该流的每个接收分组的循环的一部分来执行时的情况。对于这种循环的第一次迭代,即,对于与一分组流相对应的第一接收接收分组,可以选择与第一接收分组的接收相对应的时间基准值,作为这种分组的理论接收时间。然后,可以利用上述流量监管操作来处理同一流的接下来接收到的分组。
针对分组传输的流量整形操作
参照图5,下面将描述用于传输分组的流量整形操作。
如上所述,并且在图3上示出,属于一分组流的分组可连同它们各自的理论接收时间值在出站端口处存储在可能被管理为FIFO队列的存储器队列中。
以下的流量整形操作旨在控制在相应存储器队列中入队的分组通过出站端口的传输。
针对按接收次序存储分组的存储器队列Qi(50),头分组(即,存储在该流中的最早接收分组)被认为用于传输(55),并且其理论接收时间与当前时间计数器值进行比较(51)。
如果该存储器队列的头分组的TRT值小于或等于当前时间计数器值,则选择该分组通过出站端口传输(52)。
然后从队列中去除该分组(53),并且输出,并根据所输出的分组大小更新队列的可用空间值(54)。
至于流量监管操作,在一个或更多个实施方式中,上述流量整形操作可以作为连续循环的重复迭代的一部分来执行,其中,每个循环迭代随着测试来启动,所述测试用于确定存储器队列Qi是否是空的(50)。如果队列Qi不为空,则执行上述操作,并且循环的迭代随着头分组的传输而结束,如图5所示。如果该队列Qi为空,则该循环执行另一队列空虚测试。
优选地,如图5所示,在进行至下一迭代之前,该循环处理可以等待(56)所输出分组被完全发送。例如,当分组的最后比特已经在一出站端口所联接至的链路上输出时,可以认为该分组从出站端口发送。
另外,该循环可以与驱动上述流量整形操作的基准时间同步。例如,可以控制该循环,使得一旦提供基准时间值的时间计数器被更新,就执行该循环的新迭代(55),如图5所示。时间计数器更新可以包括递增一个或更多个时间单位。根据实现,可以将该循环设计成使得一旦时间计数器值递增了一个或多个时间单位,就执行新的迭代。
而且,时间基准(T)可以与用于流量监管的时间基准公用,或者基于用于流量监管的时间基准。在这点上,在一个或更多个实施方式中,可以实现时间偏移,以在与用于流量监管的时间基准相比,偏移用于流量整形的时间基准。具体来说,这种时间偏移的值可以预先确定或者动态确定。在一个或更多个实施方式中,时间偏移的值可以根据在流量监管中使用的分组接收方案来确定。举例来说,如上所述,在检测到接收到分组
Figure GDA0001422427340000161
的第一位时存储ART值的实施方式中,可以计算用于更新时间基准T的时间偏移,使得可以基于针对分组
Figure GDA0001422427340000162
计算的TRT的移位的值,来触发根据本文所公开的流量整形方案的分组
Figure GDA0001422427340000163
的传输。
图6例示了根据本主题公开的另一实施方式的用于传输分组的流量整形操作。
如图3上所示,可以在一出站端口处管理多个存储器队列,每个都对应于一相应分组流。在这种情况下,针对一出站端口执行的流量整形循环的迭代可以随着关于该出站端口是否为空的确定来启动,即,是否具有在出站端口处管理的不为空的至少一个存储器队列。
如果该出站端口不为空,即,如果存在其中按接收次序存储分组的一个或多个存储器队列(Qi)i=1…K(如图3所示),则将队列的头分组的相应TRT值(即,对于每个队列,该队列中存储的流的最早的接收分组)彼此进行比较,并选择最小值
Figure GDA0001422427340000164
Figure GDA0001422427340000165
i=1…K(61)。然后,将该最小TRT值与当前时间计数器值进行比较(62)。
如果最小TRT值小于或等于当前时间计数器值,则选择对应的头分组通过出站端口传输(63)。
然后,从队列中去除该分组(64),并且输出,并根据输出的分组的大小更新队列的可用空间值(65)。
如果出站端口为空,则该循环执行另一出站端口空虚测试。
优选地,如图6所示,在进行至下一迭代之前,该循环处理可以等待(67)输出的分组被完全发送。例如,当分组的最后比特已经在出站端口所联接至的链路上输出时,可以认为分组从该出站端口发送。
另外,该循环可以与驱动上述流量整形操作的基准时间同步。例如,可以控制该循环,使得一旦提供基准时间值的时间计数器被更新,就执行该循环的新迭代(66)。时间计数器更新可以包括递增一个或更多个时间单位。根据实现,可以将该循环设计成使得一旦时间计数器值递增了一个或多个时间单位,就执行新的迭代。
如上所述,在一个或更多个实施方式中,被用于业务的整形时间基准(T)可以与用于流量监管的时间基准公用,或者基于用于流量监管的时间基准。在这点上,在一个或更多个实施方式中,可以实现时间偏移,以与用于流量监管的时间基准相比,偏移用于流量整形的时间基准。具体来说,这种时间偏移的值可以预先确定或者动态确定。在一个或更多个实施方式中,时间偏移的值可以根据在流量监管中使用的分组接收方案来确定。举例来说,如上所述,在检测到接收到分组
Figure GDA0001422427340000171
的第一比特时存储ART值的实施方式中,可以计算用于更新时间基准T的时间偏移,使得可以基于针对分组
Figure GDA0001422427340000172
计算的TRT的移位值,来触发根据本文所公开的流量整形方案的分组
Figure GDA0001422427340000173
的传输。
图7a和图7b例示了根据所提议方法的实施方式的在网络节点处的接收和传输操作。
图7a例示了在网络节点处的分组接收和传输,其中,在检测到接收到接收分组的最后比特时存储该接收分组的ART值,而图7b例示了在网络节点处的分组接收和传输,其中,在检测到接收到接收分组的第一比特时存储该接收分组的ART值。
图7a和图7b各自示出了由网络节点连续接收一分组流Fi的三个分组
Figure GDA0001422427340000174
Figure GDA0001422427340000175
具有相应大小
Figure GDA0001422427340000176
Figure GDA0001422427340000177
第一接收分组在等于其理论接收时间
Figure GDA0001422427340000178
的实际接收时间
Figure GDA0001422427340000179
接收到。假定第一接收分组
Figure GDA00014224273400001710
可以入队以供传输,下一个分组
Figure GDA00014224273400001711
的TRT被计算为
Figure GDA00014224273400001712
并存储在存储器中。如该图所示,该下一个分组
Figure GDA0001422427340000181
由该网络节点比该分组的TRT值
Figure GDA0001422427340000182
早得多地接收到。假定该下一个分组
Figure GDA0001422427340000183
可以入队以供传输,则随后的分组
Figure GDA0001422427340000184
的TRT被计算为
Figure GDA0001422427340000185
Figure GDA0001422427340000186
该随后分组
Figure GDA0001422427340000187
由网络节点在其理论接收时间
Figure GDA0001422427340000188
后接收到。假定该下一个分组
Figure GDA0001422427340000189
可以入队以供传输,该流Fi的该随后分组
Figure GDA00014224273400001810
的TRT被计算为
Figure GDA00014224273400001811
如上所述,流量监管功能(针对接收分组)和流量整形功能(针对传输分组)可以共享当前时间基准。当使用递增了时间单位的时间计数器来实现该时间基准时,可以考虑在单个时间单位内发生的事件为瞬时的,如该图中针对分组接收结束及其传输开始所示的。相关领域的普通技术人员应当清楚,这种例示仅是代表性的,并且接收分组的、包括接收处理本身在内的各种处理将导致处理时间延迟,这些延迟未在该图上表示。
参照图7a,关于由网络节点接连接收到的分组流Fi的分组
Figure GDA00014224273400001812
Figure GDA00014224273400001813
的传输,假定这些接收分组都未被网络节点的流量监管功能丢弃,则第一接收分组在被接收到时准立即传输,因为时间基准值T在其被考虑用于发送时大于或等于其TRT值
Figure GDA00014224273400001814
对于下一个分组
Figure GDA00014224273400001815
来说不是这样,其比其理论接收时间
Figure GDA00014224273400001816
早得多地被网络节点接收。然后,流量整形功能将等待直到该时间基准值等于或大于该理论接收时间值
Figure GDA00014224273400001817
为止,使得
Figure GDA00014224273400001818
的传输将被延迟直到理论接收时间值
Figure GDA00014224273400001819
之后的时间。对于随后的分组
Figure GDA00014224273400001820
同样的情况不再适用,因为其在其理论接收时间值
Figure GDA00014224273400001821
之后被接收到。流量整形功能未施加延迟,并且只要其接收和处理完成就可以执行分组的传输。
参考图7b,关于分组的传输,除了针对每个分组的传输而确定的偏移以外,由网络节点接连接收的分组流Fi的每一个分组
Figure GDA00014224273400001822
Figure GDA00014224273400001823
的传输与图7a所示传输方案类似。第一接收分组按与其被移位了偏移量的TRT值
Figure GDA00014224273400001824
相对应的时间发送,因为针对该分组确定的被移位了偏移量offset(n)的时间基准值T在其被考虑用于发送时大于或等于其TRT值
Figure GDA00014224273400001825
对于下一个分组
Figure GDA00014224273400001826
来说不是这样,其比其理论接收时间
Figure GDA00014224273400001827
早得多地被网络节点接收。然后,流量整形功能将等待直到该时间基准值等于或大于被移位了针对该分组确定的偏移量offset(n+1)的理论接收时间值
Figure GDA00014224273400001828
为止,使得
Figure GDA00014224273400001829
的传输将延迟直到被移位达该偏移量offset(n+1)的理论接收时间值
Figure GDA00014224273400001830
之后的时间。对于随后的分组
Figure GDA00014224273400001831
同样的情况不再适用,其在其理论接收时间值
Figure GDA0001422427340000191
之后被接收到。流量整形功能未施加延迟,并且其接收和处理一完成,就可以执行分组的传输,经受针对该随后分组
Figure GDA0001422427340000192
确定的偏移量offset(n+2)。
虽然已经关于优选实施方式对本发明进行了描述,但本领域技术人员将容易地清楚,在不脱离如由所附权利要求书限定的本发明的精神或范围的情况下,可以对本发明进行各种改变和/或修改。
尽管已经在某些优选实施方式背景下公开了本发明,但应当明白,可以在多种其它实施方式中实现该系统、装置及方法的某些优点、特征以及方面。另外,预期本文所述各个方面和特征可以单独实践、组合在一起或者彼此替代,并且可以进行所述特征和方面的各种组合和子组合并且仍落入本发明的范围内。而且,上述系统和装置不需要包括优选实施方式中描述的所有模块和功能。
本文所述信息和信号可以利用多种不同技术(technology)和工艺(technique)中的任一种来表示。例如,数据、指令、命令、信息、信号、比特、符号以及芯片(chips)可以通过电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子,或其任何组合来表示。
根据该实施方式,本文所述任何方法的某些动作、事件或功能可以以不同顺序执行,可以一起添加、合并或排除(例如,不是所有描述的动作或事件都必需用于该方法的实践)。此外,在某些实施方式中,动作或事件可以同时执行而不是顺序执行。

Claims (14)

1.一种用于分组交换网络中的网络节点处的流量管理的方法,所述网络节点包括用于输出属于一分组流的分组的至少一个出站端口以及用于接收所述分组流的传入分组的一个或多个入站端口,所述方法包括:针对当前分组执行流量整形,所述当前分组属于所述分组流并且被存储在与所述分组流相关联的存储器队列中,所述流量整形包括:
如果所述当前分组的理论接收时间TRT值小于或等于时间计数器值,则通过所述出站端口输出所述当前分组;
其中,通过对所述分组流的传入分组执行流量监管,利用以下项来确定所述当前分组的TRT值:
(a)当所述分组流中的、在所述当前分组之前接收到的先前分组未被流量监管丢弃时,利用(i)所述先前分组的大小和(ii)与所述分组流相关联的传输速率值,并且在所述先前分组的TRT值大于所述先前分组的实际接收时间ART值的情况下利用(iii-1)所述先前分组的TRT值,或者
在所述先前分组的TRT值不大于所述先前分组的ART值的情况下,利用(iii-2)所述先前分组的ART值;或者
(b)在所述先前分组被流量监管丢弃时,利用所述先前分组的TRT值;
所述时间计数器值被用于协调流量监管和流量整形的操作的时间参考。
2.根据权利要求1所述的用于流量管理的方法,其中,所述流量监管包括丢弃属于所述分组流的、大小超出与所述分组流相关联的所述存储器队列中的可用空间的接收分组。
3.根据权利要求1或2所述的用于流量管理的方法,其中,所述流量监管按照流量监管循环的迭代来执行,所述流量监管循环的迭代在所述时间计数器值递增了至少一个时间单位时执行。
4.根据权利要求1或2所述的用于流量管理的方法,其中,所述流量整形按照流量整形循环的迭代来执行,所述流量整形循环的迭代在所述时间计数器值被更新时执行。
5.根据权利要求4所述的用于流量管理的方法,其中,所述流量整形按照流量整形循环的迭代来执行,所述流量整形循环的迭代在所述时间计数器值递增了至少一个时间单位时执行。
6.根据权利要求4所述的用于流量管理的方法,其中,所述流量整形按照流量整形循环的迭代来执行,所述流量整形循环的迭代在所述时间计数器值移位了一时间偏移量时执行。
7.根据权利要求1或2所述的用于流量管理的方法,其中,当所述先前分组的TRT值
Figure FDA0002746974760000021
大于所述先前分组的ART值
Figure FDA0002746974760000022
时,所述当前分组的TRT值
Figure FDA0002746974760000023
被确定为:
Figure FDA0002746974760000024
其中,
Figure FDA0002746974760000025
是所述先前分组的TRT值,
Figure FDA0002746974760000026
是所述先前分组的大小,而Ri是与所述分组流相关联的传输速率值。
8.根据权利要求1或2所述的用于流量管理的方法,其中,当所述先前分组的TRT值
Figure FDA0002746974760000027
小于或等于所述先前分组的ART值
Figure FDA0002746974760000028
时,所述当前分组的TRT值
Figure FDA0002746974760000029
被确定为:
Figure FDA00027469747600000210
其中,
Figure FDA00027469747600000211
是所述先前分组的ART值,
Figure FDA00027469747600000212
是所述先前分组的大小,而Ri是与所述分组流相关联的传输速率值。
9.根据权利要求1或2所述的用于流量管理的方法,其中,在所述先前分组被流量监管丢弃时,所述当前分组的TRT值
Figure FDA00027469747600000213
被确定为:
Figure FDA00027469747600000214
其中,
Figure FDA00027469747600000215
是所述先前分组的TRT值。
10.根据权利要求1或2所述的用于流量管理的方法,其中,利用与在所述一个或多个入站端口中的一个入站端口处的所述先前分组的接收相对应的所述时间计数器的值来确定所述先前分组的ART值。
11.根据权利要求1或2所述的用于流量管理的方法,其中,属于不同分组流的分组与相应的TRT值一起存储在分别与所述分组流相关联的存储器队列中,所述方法还包括:
在所述存储器队列中的具有相应最小TRT值的头分组当中,根据其TRT值选择所述当前分组。
12.根据权利要求11所述的用于流量管理的方法,其中,根据其TRT值是所述存储器队列的头分组的相应TRT值中的最小值来选择所述当前分组。
13.一种分组交换网络中的网络节点,所述网络节点包括:处理器;能够在工作上联接至所述处理器的存储器;用于输出属于一分组流的分组的至少一个出站端口;以及用于接收所述分组流的传入分组的一个或多个入站端口,其中,所述网络节点被配置成执行根据权利要求1至12中任一项所述的用于流量管理的方法。
14.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质被编码有可执行指令,当所述可执行指令被执行时,使得包括能够在工作上与存储器联接的处理器的网络节点执行根据权利要求1至12中任一项所述的用于流量管理的方法。
CN201680019477.1A 2015-03-31 2016-03-15 网络节点处的流量管理方法和分组交换网络中的网络节点 Active CN107431665B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15305482.0A EP3076616B1 (en) 2015-03-31 2015-03-31 Method for data traffic management and network node for implementing the same
EP15305482.0 2015-03-31
PCT/JP2016/058881 WO2016158541A1 (en) 2015-03-31 2016-03-15 Method for traffic management at network node, and network node in packet-switched network

Publications (2)

Publication Number Publication Date
CN107431665A CN107431665A (zh) 2017-12-01
CN107431665B true CN107431665B (zh) 2021-05-11

Family

ID=52946492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680019477.1A Active CN107431665B (zh) 2015-03-31 2016-03-15 网络节点处的流量管理方法和分组交换网络中的网络节点

Country Status (7)

Country Link
US (1) US10367743B2 (zh)
EP (1) EP3076616B1 (zh)
JP (1) JP6756070B2 (zh)
KR (1) KR101990235B1 (zh)
CN (1) CN107431665B (zh)
TW (1) TWI627843B (zh)
WO (1) WO2016158541A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277279B2 (en) * 2016-12-12 2022-03-15 Johnson Controls Tyco IP Holdings LLP Systems and methods for incorporating a single-port ethernet device in a media protocol ring
US10419350B2 (en) * 2017-10-06 2019-09-17 Hewlett Packard Enterprise Development Lp Packet admission
EP3503485B1 (en) * 2017-12-22 2023-01-25 Marelli Europe S.p.A. Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product
CN109120542A (zh) * 2018-08-20 2019-01-01 国云科技股份有限公司 一种基于边缘计算的流量管理系统及其实现方法
US10805223B1 (en) * 2019-04-10 2020-10-13 Dell Products L.P. Systems and methods for handling data congestion for shared buffer switches with dynamic thresholding
CN113162790B (zh) * 2020-01-22 2023-10-03 华为技术有限公司 调整服务等级的方法、装置、设备及存储介质
DE102021119053A1 (de) 2021-07-22 2023-01-26 Dspace Gmbh Verfahren und System zur verzögerten zyklischen Weiterleitung von Nachrichten
WO2024142182A1 (ja) * 2022-12-26 2024-07-04 日本電信電話株式会社 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383186A (en) * 1993-05-04 1995-01-17 The Regents Of The University Of Michigan Apparatus and method for synchronous traffic bandwidth on a token ring network
JP2737735B2 (ja) * 1995-12-28 1998-04-08 日本電気株式会社 ポリシング制御装置
KR100251985B1 (ko) * 1996-06-29 2000-04-15 김영환 고속 처리가 가능한 휘도신호 계산장치 및 그 방법
EP1006742A1 (en) * 1998-12-04 2000-06-07 TELEFONAKTIEBOLAGET L M ERICSSON (publ) DSP platform for digital cellular mobile radio communication systems
FR2800222B1 (fr) * 1999-10-26 2001-11-23 Mitsubishi Electric Inf Tech Procede de mise en conformite a un contrat de trafic d'un flux de paquets d'un reseau de transport de paquets a longueur variable
DE60038600T2 (de) * 2000-01-05 2008-07-24 Mitsubishi Electric Information Technology Centre Europe B.V. Netzwerk-Datenübertragungs-Zuteilungsverfahren und -vorrichtungen zum Bestimmen einer Paketübertragungspriorität zwichen einer Vielzahl von Datenströmen
US6987732B2 (en) * 2000-12-15 2006-01-17 Tellabs San Jose, Inc. Apparatus and methods for scheduling packets in a broadband data stream
JP2003333087A (ja) * 2002-05-10 2003-11-21 Furukawa Electric Co Ltd:The 帯域制御方法およびその帯域制御装置
US20030223442A1 (en) * 2002-05-29 2003-12-04 Huang Anguo T. Buffer memory reservation
DE10344765A1 (de) * 2003-09-26 2005-04-14 Siemens Ag Verfahren zum Übertragen von Kontrolldaten
JP4391346B2 (ja) * 2004-07-12 2009-12-24 古河電気工業株式会社 通信制御方法、通信制御装置、制御プログラム及び記録媒体
US20070237074A1 (en) * 2006-04-06 2007-10-11 Curry David S Configuration of congestion thresholds for a network traffic management system
CN1972177B (zh) * 2006-11-29 2010-04-21 北京邮电大学 基于终端反馈的联合混合自动请求重传和调度算法的方法
WO2009130218A1 (en) * 2008-04-24 2009-10-29 Xelerated Ab A traffic manager and a method for a traffic manager
CN102960033B (zh) * 2009-08-24 2015-12-09 英特尔公司 低功率且快速的应用服务传输
US8767727B2 (en) * 2009-12-02 2014-07-01 Vss Monitoring, Inc. System, apparatus, and method for modifying captured data packets
CN101969403B (zh) * 2010-10-25 2013-01-02 武汉烽火网络有限责任公司 一种基于E-Model的去抖缓冲区管理方法

Also Published As

Publication number Publication date
JP2018500851A (ja) 2018-01-11
EP3076616A1 (en) 2016-10-05
TW201640864A (zh) 2016-11-16
KR101990235B1 (ko) 2019-06-17
WO2016158541A1 (en) 2016-10-06
JP6756070B2 (ja) 2020-09-16
US20180048575A1 (en) 2018-02-15
US10367743B2 (en) 2019-07-30
EP3076616B1 (en) 2017-04-12
KR20170130601A (ko) 2017-11-28
TWI627843B (zh) 2018-06-21
CN107431665A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107431665B (zh) 网络节点处的流量管理方法和分组交换网络中的网络节点
US11784920B2 (en) Algorithms for use of load information from neighboring nodes in adaptive routing
JP2018500851A5 (zh)
CN102132535B (zh) 在通信网中传输数据分组的方法和交换装置
US20110019572A1 (en) Method and apparatus for shared shaping
TWI665896B (zh) 用以傳輸通訊訊號訊框之方法、實體及程式
US8462815B2 (en) Accurate measurement of packet size in cut-through mode
CN114631290B (zh) 数据分组的传输
US10819535B2 (en) Method for data packet transmission and/or reception
KR20190084315A (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
JP2006506845A (ja) ルータにおけるパケットに対し論理リンクを選択する方法
TWI756666B (zh) 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體
KR101590740B1 (ko) 네트워크 통신 장치 및 전송 프레임의 우선적 대역 제한 방법
EP4099649A1 (en) Integrated scheduler for iec/ieee 60802 end-stations
WO2024016327A1 (zh) 报文传输
Arenas et al. Design and implementation of packet switching capabilities on 10GbE MAC core
CN117356080A (zh) 在分组交换网络中实现的用于调度以太网帧的传输的方法
WO2007072538A1 (ja) キュースケジューリング装置、キュースケジューリング方法、情報中継装置
EP2403194B1 (en) Method and apparatus for aggregated packet switching
Grebe Standardize Your IP Traffic with TMOIP

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