CN114600434A - 通过带内信令区分服务的系统和方法 - Google Patents

通过带内信令区分服务的系统和方法 Download PDF

Info

Publication number
CN114600434A
CN114600434A CN202080074367.1A CN202080074367A CN114600434A CN 114600434 A CN114600434 A CN 114600434A CN 202080074367 A CN202080074367 A CN 202080074367A CN 114600434 A CN114600434 A CN 114600434A
Authority
CN
China
Prior art keywords
packets
class
router
traffic
hop
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
Application number
CN202080074367.1A
Other languages
English (en)
Inventor
韩琳
瞿颖珍
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN114600434A publication Critical patent/CN114600434A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0925Management thereof using policies
    • 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/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/528Minimum bandwidth guarantee
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/623Weighted service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • H04W28/0263Traffic management, e.g. flow control or congestion control per individual bearer or channel involving mapping traffic to individual bearers or channels, e.g. traffic flow template [TFT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control

Abstract

一种装置包括:网络接口,用于连接到网络;数据库,用于存储针对多种类别的数据包的流量整形方案的流量整形参数;数据库加载电路,用于从所述网络接口在数据包中接收到的带内通信中获取所述流量整形参数,并将所述流量整形参数加载到所述数据库中;一个或多个流量整形器:用于访问所述数据库中的所述流量整形参数,并根据所述流量整形参数将所述流量整形方案应用于所述网络接口接收到的所述多种类别的数据包。

Description

通过带内信令区分服务的系统和方法
技术领域
本发明涉及在网络中提供差异化服务的技术。
背景技术
互联网协议(Internet Protocol,IP)是互联网开放系统互连(Open SystemInterconnection,OSI)模型第3层使用最广泛的技术。在OSI模型的第4层,传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)是IP网络使用最广泛的协议。互联网协议的设计基于端到端原则。网络基础设施在任何单个网元或传输介质上都被认为本质上是不可靠的,并且在链路和节点的可用性方面是动态的。不存在跟踪或维护网络状态的中央监控或性能测量设施。为了降低网络复杂性,网络中的智能设备可以位于终端节点中。
发明内容
根据本发明的一方面,提供了一种装置。所述装置包括:网络接口,用于连接到网络;数据库,用于存储针对所述网络接口接收到的多种类别的数据包的流量整形方案的流量整形参数;数据库加载电路,用于从所述网络接口在数据包中接收到的带内通信中获取所述流量整形参数,并将所述流量整形参数加载到所述数据库中;一个或多个流量整形器,用于访问所述数据库中的所述流量整形参数,并根据所述流量整形参数将所述流量整形方案应用于所述网络接口接收到的所述多种类别的数据包。
可选地,在任一上述方面中,所述一个或多个流量整形器包括出口整形器,所述出口整形器用于向与所述多种类别的数据包关联的多个队列发送一种类别的数据包。
可选地,在任一上述方面中,所述多个队列包括由加权公平排队调度器管理的两个或两个以上队列和由优先级调度器管理的优先级队列。
可选地,在任一上述方面中,所述一个或多个流量整形器包括入口整形器,所述入口整形器用于指示将标记为第一类别的数据包重新标记为一个或多个其它类别。
可选地,在任一上述方面中,所述流量整形方案是针对所述多种类别的数据包的单速率三色标记(single rate Three Color Marker,srTCM)方案。
可选地,在任一上述方面中,所述流量整形方案是双速率三色标记(two rateThree Color Marker,trTCM)方案。
可选地,在任一上述方面中,所述流量整形参数包括承诺信息速率(CommittedInformation Rate,CIR)、承诺突发尺寸(Committed Burst Size,CBS)和超出突发尺寸(Exceeded Burst Size,EBS)。
可选地,在任一上述方面中,所述流量整形器用于将属于所述第一类别的数据包重新标记为属于第二类别,或者将属于所述第一类别的数据包放置在至少所述第二类别的队列中。
可选地,在任一上述方面中,所述带内通信位于IPv6数据包的逐跳扩展头中。
根据本发明的另一方面,提供了一种操作网络设备的方法。所述方法包括:通过所述网络设备的网络接口接收第一数据包;从在所述第一数据包中接收到的带内通信中获取针对多种类别的数据包的流量整形方案的流量整形参数;将所述流量整形参数存储在所述网络设备中的数据库中。所述方法还包括:通过所述网络设备的所述网络接口接收多个数据包;识别所述多个数据包的对应类别;根据所述识别出的类别,使用根据存储在所述数据库中的所述流量整形参数配置的一个或多个流量整形器对所述网络设备中的流量进行整形。
可选地,在任一上述方面中,所述对所述网络设备中的流量进行整形包括向与所述多种类别的数据包关联的多个队列发送一种类别的数据包。
可选地,在任一上述方面中,所述方法还包括:从加权公平队列调度方案和严格优先级调度方案中的所述多个队列中选择数据包。
可选地,在任一上述方面中,所述对所述网络设备中的流量进行整形包括将标记为属于第一类别的数据包重新标记为属于至少第二类别。
可选地,在任一上述方面中,根据所述识别出的类别,使用一个或多个流量整形器对所述网络设备中的流量进行整形包括应用针对所述多种类别的数据包的单速率三色标记(single rate Three Color Marker,srTCM)方案。
可选地,在任一上述方面中,根据所述识别出的类别,使用一个或多个流量整形器对所述网络设备中的流量进行整形包括应用针对所述多种类别的数据包的双速率三色标记(tworate Three Color Marker,trTCM)方案。
可选地,在任一上述方面中,所述获取流量整形方案的流量整形参数包括获取承诺信息速率(Committed Information Rate,CIR)、承诺突发尺寸(Committed Burst Size,CBS)和超出突发尺寸(Exceeded Burst Size,EBS)。
可选地,在任一上述方面中,流量整形包括以下步骤中的至少一个:将标记为属于第一类别的数据包重新标记为属于第二类别和将属于所述第一类别的数据包放置在至少所述第二类别的队列中。
可选地,在任一上述方面中,所述获取流量整形参数包括读取IPv6数据包的逐跳扩展头。
根据本公开的又一方面,提供了一种系统。所述系统包括耦合到网络的多个网络设备。所述多个联网设备中的每个网络设备包括:网络接口,用于连接到所述网络;数据库,用于存储针对所述网络接口接收到的多种类别的数据包的流量整形方案的流量整形参数;数据库加载电路,用于从所述网络接口在数据包中接收到的带内通信中获取所述流量整形参数;一个或多个流量整形器,用于访问所述数据库中的所述流量整形参数,并根据所述流量整形参数将所述流量整形方案应用于所述网络接口接收到的所述多种类别的数据包。
可选地,在任一上述方面中,所述一个或多个流量整形器包括出口整形器,所述出口整形器用于向与所述多种类别的数据包关联的多个队列发送一种类别的数据包。
可选地,在任一上述方面中,所述多个队列包括由加权轮询(Weighted RoundRobin,WRR)调度器管理的两个或两个以上队列和由优先级调度器管理的优先级队列。
可选地,在任一上述方面中,所述一个或多个流量整形器包括入口整形器,所述入口整形器用于指示将标记为第一类别的数据包重新标记为一个或多个其它类别。
可选地,在任一上述方面中,所述流量整形方案是针对所述多种类别的数据包的单速率三色标记(single rate Three Color Marker,srTCM)方案。
可选地,在任一上述方面中,所述流量整形方案是双速率三色标记(two rateThree Color Marker,trTCM)方案。
可选地,在任一上述方面中,所述流量整形参数包括承诺信息速率(CommittedInformation Rate,CIR)、承诺突发尺寸(Committed Burst Size,CBS)和超出突发尺寸(Exceeded Burst Size,EBS)。
可选地,在任一上述方面中,所述流量整形器用于将属于所述第一类别的数据包重新标记为属于第二类别,或者将属于所述第一类别的数据包放置在至少所述第二类别的队列中。
可选地,在任一上述方面中,所述带内通信位于IPv6数据包的逐跳扩展头中。
根据本发明的又一方面,提供了一种方法。所述方法包括:从在网络设备侧接收到的带内信令中获取多种类别的数据包的流量整形参数;在所述网络设备侧接收多个数据包。所述方法还包括:识别所述多种类别的数据包中的每个数据包的对应类别;根据所述多种类别的数据包的所述流量整形参数,对所述多个数据包进行整形,使得至少第一类别的数据包分布在所述第一类别的队列和第二类别的队列之间。
根据本发明的又一方面,提供了一种操作网络设备的方法。所述方法包括:通过所述网络设备的网络接口接收第一IPv6数据包;从所述第一IPv6数据包的逐跳扩展头中获取针对多种类别的数据包的流量整形方案的流量整形参数;将所述流量整形参数存储在所述网络设备中的数据库中。所述方法还包括:通过所述网络设备的所述网络接口接收多个IPv6数据包;根据所述多个IPv6数据包的头中的差分服务编码点(DifferentiatedServices Code Point,DSCP)字段识别所述多个IPv6数据包的对应类别;根据所述识别出的类别,使用根据存储在所述数据库中的所述流量整形参数配置的一个或多个流量整形器对所述网络设备中的流量进行整形。
提供本发明内容是为了以简化的形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容的目的并不是确定请求保护的主题的关键特征或基本特征,也不是用于帮助确定请求保护的主题的范围。请求保护的主题不限于解决背景技术中所指出的任何或所有缺点的实现方式。
附图说明
本发明的各个方面通过举例说明且不受附图的限制,附图中相似的附图标记表示元件。
图1为本发明一个实施例提供的网络的示意图。
图2示出了本发明一个实施例提供的与差异化服务建立连接的方法。
图3示出了本发明一个实施例提供的检查具有差异化服务的连接的状态的方法。
图4示出了本发明一个实施例提供的建立具有差异化服务的连接的方法。
图5示出了本发明一个实施例提供的检查具有差异化服务的连接的状态的方法。
图6示出了本发明一个实施例提供的建立具有差异化服务的连接的方法。
图7示出了本发明一个实施例提供的检查具有差异化服务的连接的状态的方法。
图8示出了本发明一个实施例提供的通过流量整形提供差异化服务的方法。
图9A示出了根据本发明一个实施例配置的网络设备。
图9B示出了本发明一个实施例提供的网络设备的操作的一个示例。
图10示出了本发明一个实施例提供的网络设备的操作的一个示例。
图11示出了本发明一个实施例提供的方法的一个示例。
具体实施方式
下面参考附图描述本发明,这些附图一般涉及网络、网络中的网络设备及其配置和操作。
在一些网络中,不同的数据包可以具有不同的QoS要求。数据包可以分为不同类别,其中的每个类别都有对应的QoS要求。在一些情况下,通过数据路径上的每个网络设备的单独配置,网络设备可以用于为这些数据包提供差异化服务。例如,网络设备可以单独加载支持差异化服务的合适软件或固件,并且可以通过来自管理员的配置命令(例如,通过来自管理员设备的指向单个设备进行配置的配置命令)进行配置。然而,这种单独配置可能并不理想。根据当前技术的一个示例,带内通信用于高效配置网络中的网络设备以不需要单独配置的方式在网络中提供端到端差异化服务。术语“带内通信”或“带内信令”通常指通过网络发送或接收管理流量,例如常规网络流量(例如,在数据包中发送管理流量,其中,这些数据包沿着相同的数据路径传输,这些数据路径包括与常规网络流量包括相同的端口)。这与带外通信相反,带外通信可以将专用通信信道用于与正常网络流量分开的管理流量。这种带内通信可以提供在IPv6数据包的扩展头中,IPv6数据包由网络设备(例如,由数据路径上的多个路由器)接收。从带内通信中获取的配置信息(例如,路由器要使用的流量整形参数)可以加载到网络设备中的数据库中,并可以用于配置流量整形器根据需要对数据流量进行整形。带内通信还可以指示网络设备何时可以或不能遵守基于类别的QoS要求。由网络设备实现的流量整形可以通过读取头信息来识别与数据包关联的类别,然后可以应用之前加载到路由器中的数据库中的流量整形参数(例如,从带内通信信息中获取并加载到数据库中)所示的流量整形。不同的流可以映射到一个类别,而该类别的QoS要求(和对应的流量整形参数)可以通过组合该类别对应的各个流的QoS要求来确定。
应当理解,本发明的当前实施例可以通过许多不同的形式实现,并且权利要求书的范围不应被理解为限于本文阐述的实施例。相反,提供这些实施例是为了使本发明透彻和完整,并且向本领域技术人员充分传达发明性实施例概念。事实上,本发明的目的是覆盖这些实施例的替代物、修改和等同物,这些包括在由所附权利要求书限定的本发明的范围和精神内。此外,在以下对本发明当前实施例的详细描述中,为了提供透彻的理解,阐述了许多具体细节。但是,本领域普通技术人员很清楚,可以在没有提供这些具体细节的情况下实施本发明的当前实施例。
图1为本发明一个实施例提供的网络100的示意图。网络100包括设备110和设备120以及将设备110与设备120耦合的路由器130和路由器140。设备110和设备120可以经由路由器130和路由器140相互发送互联网协议(例如第六版互联网协议(Intemet Protocolversion 6,IPv6))数据包(虽然本文档中使用的是IPv6数据包的示例,但是应当理解,当前技术不限于任何特定协议)。在一些实施例中,网络100包括设备110和设备120之间的更多路由器。然而,为了简洁起见,图1中仅示出了两个路由器。设备110和设备120可以是个人计算机、服务器、路由器、智能手机、笔记本电脑等。设备110和设备120可以是网络100中的边缘设备并可以用作网络100中的入口模块和出口模块。可以认为设备110和设备120、路由器130和路由器140以及通过网络交换数据包的类似设备是网络设备。
图2示出了本发明一个实施例提供的通过带内信令根据网络100建立连接的方法。
在操作210中,设备110向路由器130发送包括传输控制协议(Transfer ControlProtocol,TCP)同步(Synchronize,SYN)段151的第一IPv6数据包150。第一IPv6数据包150用于建立设备110到设备120的连接,第一IPv6数据包的目的IPv6地址是设备120的IPv6地址。连接可以根据IPv6数据包中的一些信息确定。在一个示例中,当数据包具有相同的源IP地址和相同的目的IP地址,并且还具有相同的源端口、相同的目的端口和协议号时,认为这些数据包属于相同的连接。连接可以称为路径。第一IPv6数据包150还包括逐跳扩展头152。逐跳扩展头152可以在IPv6头153和TCP SYN段151之间,并携带上行连接的一个或多个基于类别的QoS要求154。
在一些示例中,数据包可以分为不同的类别,QoS要求可以包括一个或多个所用类别对应的基于类别的QoS要求,使得服务信息的差异化在这些头中发送。基于类别的QoS要求可以包括根据所需的不同服务水平用于流量整形的流量整形参数。上行连接指设备110到设备120的连接。在一些实施例中,当携带逐跳扩展头的IPv6数据包由源节点和目的节点之间的多个路由器接收时,每个路由器都会检查逐跳扩展头(例如,解析IPv6数据包并从逐跳扩展头中读取值)。例如,逐跳扩展头的内容被路由器读取,因此一些动作可以根据逐跳扩展头中携带的指令执行。例如,一些信息可以被添加或更新到逐跳扩展头中。IPv6数据包的源节点和目的节点也可以检查逐跳扩展头。在一些示例中,网络设备可以根据提供在逐跳扩展头中的信息执行一些配置,以满足一个或多个基于类别的QoS要求。例如,网络设备可以根据接收到的流量整形参数执行流量整形器的内部配置,以确保每个类别的数据包都得到适当处理,以满足所需QoS。
逐跳扩展头的一个示例可以是RFC 2460中定义的逐跳选项头。RFC 2460的全部内容通过引用结合在本申请中。根据RFC 2460,任何包括逐跳选项头的IPv6数据包都需要由接收IPv6数据包的每个路由器(例如,连接上的所有路由器、设备110和设备120)检查。具体地,逐跳选项头用于携带可选信息,这些可选信息必须由数据包的发送路径上的每个节点检查。逐跳选项头由IPv6头中的值为0的下一个头标识,逐跳选项头的格式如表1所示。
表1
下一个头 Hdr Ext Len 选项
表1所示的逐跳扩展头的下一个头是8比特选择器,该选择器标识紧跟逐跳选项头之后的头的类型。下一个头可以使用与IPv4协议字段[RFC-1700以下]相同的值。Hdr ExtLen是8比特无符号整数,指示逐跳选项头的长度,以8个八位字节为单位,不包括前8个八位字节。选项是可变长度字段,使得完整逐跳选项头的长度是8个八位字节的整数倍。选项包括一个或多个TLV编码的选项。
除了RFC 2460中定义的逐跳选项头之外,还可以进一步定义逐跳扩展头的一些其它示例。
基于类别的QoS要求154包括上行连接的一些参数的值。这些参数可以包括与两个或两个以上数据包类别的上行连接的QoS关联的信息。QoS参数可以与为类别指定的带宽和延迟有关。在一个示例中,带宽可以指低带宽值和高带宽值之间的范围。基于类别的QoS要求154可以指示第一IPv6数据包用于为指定的每个类别建立具有QoS保证的上行连接。例如,第一类别的数据包的具有QoS保证的上行连接的带宽不小于基于类别的QoS要求中包括的一个值,例如5Mb/s,而且第二类别的数据包的具有QoS保证的上行连接的延迟不小于基于类别的QoS要求中包括的另一个值。
在操作220中,路由器130接收第一IPv6数据包150,并在逐跳扩展头152中获取基于类别的QoS要求154。路由器130确定其转发上行连接的数据包的能力是否满足(或是否可以被配置为满足)指定类别对应的基于类别的QoS要求154,并可以相应地执行适当的配置以确保满足每个类别对应的QoS要求。如果该能力满足基于类别的QoS要求154,则路由器130配置其硬件(例如,使用基于类别的QoS要求154中的流量整形参数),使得路由器130根据不同类别对应的基于类别的QoS要求154转发上行连接的数据包(例如,对一种具有低延迟要求的类别中的数据包进行优先级排序)。路由器130还可以通过设置逐跳扩展头152来指示路由器130满足(被配置为满足)指定类别对应的基于类别的QoS要求,从而修改第一IPv6数据包150。例如,路由器130可以更新逐跳扩展头152中的第一建立状态155来指示路由器130满足基于类别的QoS要求,其中,建立状态155位于逐跳扩展头152中的第一建立状态字段中。如果路由器130不满足基于类别的QoS要求,则路由器130可以通过设置逐跳扩展头152来指示路由器130不满足基于类别的QoS要求,从而修改第一IPv6数据包150。例如,路由器130可以更新逐跳扩展头152中的第一建立状态155来指示路由器130不满足基于类别的QoS要求。
根据QoS实现方法,第一建立状态字段还可以包括QoS配置状态的额外信息。额外信息可以包括用作QoS配置数据库参考的有限大小的数据(映射索引)。通过使用参考,IP转发程序或硬件可以快速检索QoS配置状态的更多细节,例如,分类ID、调度器ID、队列ID等,以在保证质量的情况下加快IP转发。
在操作230中,路由器130根据第一IPv6数据包150的目的IP地址向路由器140发送修改后的第一IPv6数据包150。
在操作240中,路由器140从路由器130接收第一IPv6数据包150,并在逐跳扩展头152中获取基于类别的QoS要求154。与路由器130类似,路由器140确定其转发上行连接的数据包的能力是否满足指示类别对应的基于类别的QoS要求154。如果路由器140的能力满足基于类别的QoS要求154,则路由器140根据基于类别的QoS要求配置其硬件(例如,根据流量整形参数配置流量整形),使得路由器140根据不同类别对应的基于类别的QoS要求154转发上行连接的数据包(例如,对一种具有低延迟要求的类别中的数据包进行优先级排序)。路由器140还可以通过设置第一IPv6数据包中的逐跳扩展头来指示路由器140满足(被配置为满足)第一QoS要求,从而修改第一IPv6数据包150。例如,路由器140可以更新逐跳扩展头中的第二建立状态156来指示路由器140满足基于类别的QoS要求,其中,第二建立状态156位于逐跳扩展头中的第二建立状态字段中。如果路由器140不满足基于类别的QoS要求154,则路由器140可以通过设置逐跳扩展头152来指示路由器140不满足基于类别的QoS要求,从而修改第一IPv6数据包150。例如,路由器140可以更新逐跳扩展头152中的建立状态来指示路由器140不满足基于类别的QoS要求154。在一些实施例中,第一建立状态字段和第二建立状态字段是逐跳扩展头中的两个不同字段。在一些实施例中,第一建立状态字段和第二建立状态字段指逐跳扩展头中包括两个或两个以上建立状态的同一字段。
在操作250中,路由器140根据第一IPv6数据包的目的IP地址向设备120发送路由器140修改后的第一IPv6数据包。
在操作260中,设备120从路由器140接收第一IPv6数据包150,并确定上行连接上的每个路由器被配置为满足逐跳扩展头152中指定的各个类别对应的基于类别的QoS要求154。
在操作270中,设备120向设备110发送包括TCP(同步确认)SYN-ACK段161的第二IPv6数据包160,其中,第二IPv6数据包的目的IP地址是设备110的IP地址。第二IPv6数据包还包括目的扩展头162,其中携带指示上行连接上的每个路由器满足指定类别对应的基于类别的QoS要求154的信息。在一个示例中,该信息可以包括第一建立状态155和第二建立状态156。目的扩展头162可以在TCP SYN-ACK段161和IPv6头163之间。在一些实施例中,可以认为目的扩展头162是IPv6头163的一部分。在一些实施例中,IPv6数据包中的目的扩展头只需要由一个或多个目的节点检查。目的扩展头的一个示例可以是RFC 2460中定义的目的选项头。目的选项头用于携带只需要由数据包的一个或多个目的节点检查的可选信息。目的选项头由前一个头中的值为60的下一个头标识,目的选项头的格式与表1所示的相同,包括字段“下一个头”、“Hdr Ext Len”和“选项”。
目的选项头的下一个头是8比特选择器,该选择器标识紧跟目的选项头之后的头的类型。下一个头使用与IPv4协议字段[RFC-1700以下]相同的值。Hdr Ext Len是8比特无符号整数,指示目的选项头的长度,以8个八位字节为单位,不包括前8个八位字节。选项是可变长度字段,使得完整目的选项头的长度是8个八位字节的整数倍。选项包括一个或多个TLV编码的选项。
在操作280中,设备110接收第二IPv6数据包160,并从目的扩展头162中获取指示上行连接上的每个路由器满足基于类别的QoS要求154的信息。根据指示上行连接上的每个路由器满足指定类别对应的基于类别的QoS要求154的信息,设备110确定上行连接满足指定类别对应的基于类别的QoS要求154。
在操作290中,为了完成TCP中定义的三次握手,设备110还向设备120发送包括TCP确认(Acknowledge,ACK)171的第三IPv6数据包170。然后,建立具有QoS保证的上行连接。
图3示出了本发明一个实施例提供的在数据通信期间通过带内信令检查具有差异化QoS保证的连接的状态的方法。例如,图3中的方法可以用于检查图2所示的建立的具有基于端到端类别的QoS要求的上行连接。
在操作310中,设备110可以在上行连接建立之后向设备140发送上行连接(例如,根据操作210至操作290建立的连接)的IPv6数据包。与第一IPv6数据包150类似,IPv6数据包中的一些或每个包括逐跳扩展头。设备110发送的IPv6数据包中的IPv6数据包180包括数据载荷181、携带基于类别的QoS要求154的逐跳扩展头182和IPv6头183。逐跳扩展头182可以是RFC 2460中定义的逐跳选项头。数据载荷181可以是包括视频和音频的TCP数据段等。
在操作320中,路由器130接收IPv6数据包中的IPv6数据包180,并确定路由器130是否满足基于类别的QoS要求154(例如,不同类别对应的延迟要求和/或带宽要求,例如,通过流量整形方案实现)。当路由器130满足基于类别的QoS要求154时,第一转发状态184由路由器130设置(例如更新)来指示路由器130满足基于类别的QoS要求154。当路由器130不满足基于类别的QoS要求154时,第一转发状态184由路由器130设置(例如更新)来指示路由器130不满足基于类别的QoS要求154。
在操作330中,路由器130向路由器140发送修改后的IPv6数据包180。当路由器130满足基于类别的QoS要求154时,路由器130根据基于类别的QoS要求154向路由器140发送修改后的IPv6数据包180(具有QoS保证)。当路由器130不满足基于类别的QoS要求154时,路由器130向路由器140发送修改后的IPv6数据包180(不具有QoS保证)。在一些实施例中,当路由器130不满足基于类别的QoS要求154时,路由器130甚至可以停止向路由器140发送修改后的IPv6数据包180。
在操作340中,路由器140从路由器130接收上行连接的IPv6数据包180,并且路由器140确定路由器140是否满足基于类别的QoS要求154。此外,路由器140通过设置逐跳扩展头182中的第二转发状态185来修改IPv6数据包180。逐跳扩展头182的一个示例可以是RFC2460中定义的逐跳选项头。当路由器140满足基于类别的QoS要求154时,第二转发状态185指示路由器140满足基于类别的QoS要求154。当路由器140不满足基于类别的QoS要求154时,第二转发状态185指示路由器140不满足基于类别的QoS要求154。
在操作350中,路由器140向设备120发送路由器140修改后的IPv6数据包180。当路由器140满足基于类别的QoS要求154时,路由器140根据基于类别的QoS要求154向设备120发送修改后的IPv6数据包180(具有QoS保证)。当路由器140不满足基于类别的QoS要求154时,路由器140向设备120发送修改后的IPv6数据包180(不具有QoS保证)。
在操作360中,设备120从路由器140接收IPv6数据包180,并从逐跳扩展头182中获取第一转发状态184和第二转发状态185。
在操作370中,设备120向设备110发送包括TCP ACK 191的IPv6数据包190,其中,IPv6数据包190包括TCP ACK 191和IPv6头193之间的目的扩展头192中的第一转发状态184和第二转发状态185。IPv6数据包190可以经由路由器140和路由器130发送到设备110或经由其它路由器发送。其它路由器可以只包括路由器130和路由器140中的一个,或者不包括路由器130和路由器140。
在操作380中,设备110接收包括TCP ACK 191的IPv6数据包190,并从目的扩展头192中获取第一转发状态184和第二转发状态185。因此,设备110确定上行连接是否满足基于类别的QoS要求154。如果上行连接满足基于类别的QoS要求154,则设备110可以继续具有QoS保证(例如包括端到端服务差异化)的上行连接。如果上行连接不满足基于类别的QoS要求154,则设备110可以停止上行连接或者继续上行连接,但不期望上行连接满足基于类别的QoS要求154。
在一些实施例中,IPv6数据包150不包括TCP SYN 151,而是包括UDP段。UDP段封装有开放系统互连(Open Systems Interconnection,OSI)模型的应用层(第7层)设置的信息。该信息用于请求建立设备110到设备120的上行连接。在设备120接收到IPv6数据包150之后,设备120的应用层获取该信息,因此发送IPv6数据包160以推动上行连接建立。在IPv6数据包160中,TCP SYN-ACK 161被UDP段替换,UDP段包括应用层设置的信息,该信息用于建立上行连接。在上行连接建立之后,IPv6数据包180中的数据载荷181可以是UDP数据段。此外,在IPv6数据包190中,TCPACK 191被UDP段替换。
图4示出了通过带内信令建立具有端到端基于类别的QoS保证的连接的方法。虽然图2中的示例一般涉及设备110到设备120的上行通信对应的基于端到端类别的QoS,但是图4中的示例一般涉及设备120到设备110的下行通信对应的基于端到端类别的QoS。
在操作410中,设备110向设备120发送包括TCP SYN 511的IPv6数据包510。第一IPv6数据包的目的IPv6地址是设备120的IPv6地址。IPv6数据包510还包括目的扩展头512和IPv6头513。目的扩展头512包括设备120到设备110的下行连接对应的基于类别的QoS要求514。根据标准定义,目的扩展头512只需要由IPv6数据包的一个或多个目的节点检查。在本实施例中,目的扩展头512只需要由设备120检查。因此,路由器130和路由器140等中间节点不会改变或删除目的扩展头中包括的基于类别的QoS要求514。基于类别的QoS要求514包括下行QoS路径的一些参数的值。这些参数可以包括与下行路径的QoS关联的信息,例如带宽、突发和延迟中的一个或多个。
在操作420中,设备120接收IPv6数据包510,并且设备120获取下行连接对应的基于类别的QoS要求514。QoS要求514可以包括不同类别的数据包的不同QoS要求。
在操作430中,设备120向设备110发送包括TCP SYN-ACK段521的IPv6数据包520。IPv6数据包520的目的IP地址是设备110的IPv6地址。IPv6数据包520还包括逐跳扩展头522,例如,IPv6头523和RFC 2460中定义的逐跳选项头。根据标准定义,逐跳扩展头522需要由转发IPv6数据包的每个路由器和设备检查。逐跳扩展头522包括下行连接对应的基于类别的QoS要求514′。基于类别的QoS要求514′是由设备120根据基于类别的QoS要求514和网络资源情况确定的要求。例如,基于类别的QoS要求514′可以与基于类别的QoS要求514完全相同,或者可以基本上与基于类别的QoS要求514相同或接近。
在操作440中,路由器140接收IPv6数据包520,并确定路由器140是否满足基于类别的QoS要求514′。例如,路由器140确定其是否可以被配置为满足逐跳扩展头522中的多种类别的指示数据包中每种类别对应的基于类别的QoS要求514′的状态。当路由器140可以被配置为满足基于类别的QoS要求514′的状态时,路由器140根据基于类别的QoS要求514′配置一些硬件,并存储QoS配置状态和下行连接之间的映射。路由器140可以通过设置逐跳扩展头522中的建立状态525来指示路由器140已经被配置为满足基于类别的QoS要求514′,从而修改IPv6数据包520。设置建立状态525可以指更新逐跳扩展头522中已经存在的建立状态525,或者将建立状态525添加到逐跳扩展头522中。在一些实施例中,建立状态525可以位于逐跳扩展头522中的第一建立状态字段中。当路由器140没有被配置为满足基于类别的QoS要求514′的状态或配置失败时,路由器140设置逐跳扩展头522中的建立状态525来指示路由器140尚未被配置为满足基于类别的QoS要求。当路由器140被配置为满足基于类别的QoS要求514′的状态时,建立状态525还可以包括第一转发信息。第一转发信息可以包括用作QoS配置数据库参考的有限大小的数据(映射索引)。通过路由器140在IP数据转发程序中使用转发信息,路由器140可以快速检索QoS配置状态的更多详细内容,例如分类ID、调度器ID、队列ID等,以在保证质量的情况下加快IP转发(例如转发连接的IPv6数据包)。
在操作450中,路由器140向路由器130发送修改后的IPv6数据包520。
在操作460中,路由器130从路由器130接收IPv6数据包520,并确定路由器130是否可以满足(被配置为满足)逐跳扩展头522中的多种类别的指定数据包对应的基于类别的QoS要求514′的状态。当路由器130可以被配置为满足基于类别的QoS要求514′时,路由器130根据基于类别的QoS要求514′的参数配置一些硬件,并存储QoS配置状态和下行连接之间的映射。路由器130还可以通过设置逐跳扩展头522中的建立状态526来指示路由器130已经被配置为满足基于类别的QoS要求,从而修改IPv6数据包520。设置逐跳扩展头522中的建立状态526可以指更新逐跳扩展头522中的建立状态526或将建立状态526添加到逐跳扩展头522中。建立状态526可以包括在第二建立状态字段中。当路由器130被配置为满足基于类别的QoS要求514′的状态时,建立状态526还可以包括第二转发信息。第二转发信息可以包括用作QoS配置数据库参考的有限大小的数据(映射索引)。当路由器130没有被配置为满足基于类别的QoS要求514′的状态或配置失败时,路由器130通过设置建立状态526来指示路由器130尚未被配置为满足基于类别的QoS要求514′,从而修改IPv6数据包520。在一些实施例中,第一建立状态字段和第二建立状态字段指逐跳扩展头中包括两个或两个以上建立状态的同一字段。在一些实施例中,第一建立状态字段和第二建立状态字段是逐跳扩展头522中的两个不同字段。
在操作470中,路由器130向设备110发送路由器130修改后的IPv6数据包520。
在操作480中,设备110接收IPv6数据包520,并从逐跳扩展头522中获取建立状态525和建立状态526。
在操作490中,在设备110确定建立状态525和建立状态526指示路由器130和路由器140满足基于类别的QoS要求514′之后,设备110可以向设备120发送包括TCPACK 531的IPv6数据包530。在TCPACK 531由设备120接收到之后,完成TCP三次握手,并建立设备120到设备110的具有差异化QoS保证的连接(TCP连接)。
在建立状态525和建立状态526指示一个或多个路由器130和140不满足基于类别的QoS要求514′的情况下,设备110可以具有不同的选择。例如,设备110可以向设备120发送IPv6数据包530,以建立不具有基于类别的QoS保证(例如,不区分类别之间的服务)的下行连接。又如,设备110可以停止与设备120建立下行连接,并开始检查为什么一些路由器不满足基于类别的QoS要求514′。再如,设备110可以调整基于类别的QoS要求514′,并启动根据调整后的基于类别的QoS要求建立具有QoS保证的新下行连接的新程序。
图5示出了本发明一个实施例的在数据通信期间通过带内信令检查具有基于类别的QoS保证的连接的状态的方法。虽然图3中的示例一般涉及检查设备110到设备120的(例如,如图2所示建立的)上行通信对应的端到端基于类别的QoS,但是图5中的示例一般涉及检查设备120到设备110的(例如,如图4所示建立的)下行通信对应的端到端基于类别的QoS。
在操作610中,在满足基于类别的QoS要求的下行连接(具有QoS保证)(例如根据操作410至操作490建立的连接)建立之后,设备120可以向设备110发送下行连接的IPv6数据包。每个数据包都包括TCP数据段。设备120发送的IPv6数据包中的IPv6数据包540包括数据载荷541、逐跳扩展头542和IPv6头543。数据载荷541可以是包括视频和音频的TCP数据段。
在一些实施例中,逐跳扩展头542包括转发状态544,转发状态544包括建立状态525中的第一转发信息和建立状态526中的第二转发信息。
在其它一些实施例中,逐跳扩展头542不包括第一转发信息和第二转发信息。然后,接收IPv6数据包540的路由器根据IPv6数据包540的5元组确定IPv6数据包540是否属于下行连接。该5元组包括IPv6数据包540的源IP地址、源端口号、目的IP地址、目的端口号和传输协议编号或标识符。源IP地址、目的IP地址和传输协议号或标识符可以携带在IPv6头543中;源端口号和目的端口号可以携带在数据载荷541中的TCP头中。在确定IPv6数据包540属于下行连接之后,路由器根据映射到下行连接的转发状态转发IPv6数据包540,其中,根据转发状态的转发满足下行连接对应的基于类别的QoS要求。
在操作620中,路由器140接收IPv6数据包540,并确定路由器140是否满足下行连接对应的基于类别的QoS要求,例如基于类别的QoS要求514′。当路由器140满足基于类别的QoS要求时,第一转发状态545由路由器140修改(例如更新)来指示路由器140满足基于类别的QoS要求。当路由器140不满足基于类别的QoS要求时,第一转发状态545由路由器140修改(例如更新)来指示路由器140不满足基于类别的QoS要求514′。在一个示例中,当逐跳扩展头542包括第一转发信息时,路由器140确定其是否具有映射到第一转发信息的配置转发状态。如果路由器140具有配置转发状态,则路由器140满足基于类别的QoS要求。在另一个示例中,当路由器140具有映射到IPv6数据包540所属的下行连接的转发状态时,路由器140满足基于类别的QoS要求。
在操作630中,路由器140向路由器130发送修改后的IPv6数据包540。当路由器140满足基于类别的QoS要求时,路由器140根据基于类别的QoS要求(例如,使用根据流量整形参数配置的流量整形)向路由器130发送修改后的IPv6数据包540。当路由器140不满足基于类别的QoS要求时,路由器140向路由器130发送修改后的IPv6数据包540(不具有基于类别的QoS)。在一些实施例中,当路由器140不满足基于类别的QoS要求时,路由器140甚至可以停止向路由器130发送修改后的IPv6数据包540。
在操作640中,在路由器130从路由器140接收下行连接的IPv6数据包540之后,路由器130确定路由器130是否满足基于类别的QoS要求514′。此外,路由器130通过设置逐跳扩展头542中的第二转发状态546来修改IPv6数据包540。当路由器130满足基于类别的QoS要求时,第二转发状态546指示路由器130满足基于类别的QoS要求。当路由器130不满足基于类别的QoS要求时,第二转发状态546指示路由器130不满足基于类别的QoS要求。在操作650中,路由器130向设备110发送路由器130修改后的IPv6数据包540。当路由器130满足基于类别的QoS要求时,路由器130根据基于类别的QoS要求向设备120发送修改后的IPv6数据包540。
在操作660中,设备110从路由器130接收IPv6数据包540,并从逐跳扩展头542中获取第一转发状态545和第二转发状态546。
在操作670中,设备110向设备120发送包括TCP ACK 551的IPv6数据包550。IPv6数据包550还包括TCP ACK 551和IPv6报头553之间的目的扩展头552中的第一转发状态545和第二转发状态546。IPv6数据包550可以经由路由器130和路由器140发送到设备120或经由其它路由器发送。其它路由器可以只包括路由器130和路由器140中的一个,或者不包括路由器130和路由器140。
在操作680中,设备120接收包括TCP ACK 55的IPv6数据包550,因此根据第一转发状态545和第二转发状态546确定下行连接是否满足基于类别的QoS要求。在一个示例中,当路由器130和路由器140都满足基于类别的QoS要求时,下行连接满足基于类别的QoS要求;否则,下行连接不满足基于类别的QoS要求。如果下行连接满足基于类别的QoS要求,则设备120可以继续下行连接。如果下行连接不满足基于类别的QoS要求,则设备120可以停止下行连接或继续下行连接,但不期望下行连接满足基于类别的QoS要求154。
在下行连接建立之后,IPv6数据包540中的数据载荷541可以是UDP数据段。此外,在IPv6数据包550中,TCPACK 551被UDP段替换。
图6示出了本发明一个实施例提供的通过带内信令建立具有基于类别的QoS的连接的方法。例如,图6中的方法可以用于建立具有设备110和设备120之间的上行通信和下行通信对应的端到端基于类别的QoS要求的连接。
在操作705中,设备110向路由器130发送包括TCP SYN段811的IPv6数据包810。IPv6数据包810用于建立设备110到设备120的连接,IPv6数据包810的目的IPv6地址是设备120的IPv6地址。IPv6数据包810还包括逐跳扩展头812。逐跳扩展头812可以在IPv6头813和TCP SYN段811之间,并携带上行连接对应的基于类别的QoS要求814(例如,用于实现基于类别的流量整形方案的流量整形参数)。上行连接指设备110到设备120的连接。逐跳扩展头812可以是RFC 2460中定义的逐跳扩展头。根据RFC 2460,任何包括逐跳扩展头812的IPv6数据包都需要由接收IPv6数据包的每个路由器(例如,连接上的所有路由器、设备110和设备120)检查。基于类别的QoS要求814包括上行连接的一些参数的值。这些参数可以包括与上行连接的QoS关联的信息,例如一个或多个类别的数据包的带宽、突发和延迟中的一个或多个。基于类别的QoS要求814可以指示IPv6数据包810用于建立具有基于类别的QoS保证的上行连接。例如,具有QoS保证的上行连接的带宽不小于基于类别的QoS要求中包括的值。
在操作710中,路由器130接收IPv6数据包810,并在逐跳扩展头812中获取基于类别的QoS要求814。路由器130确定其转发上行连接的数据包的能力是否满足基于类别的QoS要求814。如果该能力满足基于类别的QoS要求814,则路由器130根据基于类别的QoS要求配置其硬件,使得路由器130根据基于类别的QoS要求814转发上行连接的数据包(例如,根据QoS要求的流量整形参数814配置流量整形器)。路由器130还可以通过在IPv6数据包810的逐跳扩展头812中设置第一信息来修改IPv6数据包810,其中,第一信息指示路由器满足第一QoS要求。例如,路由器130可以更新逐跳扩展头812中的第一建立状态815来指示路由器130满足基于类别的QoS要求,其中,建立状态815位于逐跳扩展头812中的第一建立状态字段中。如果路由器130不满足基于类别的QoS要求,则路由器130更新逐跳扩展头812中的第一建立状态815来指示路由器130不满足基于类别的QoS要求。
在操作715中,路由器130根据IPv6数据包810的目的IP地址向路由器140发送修改后的IPv6数据包810。
在操作720中,路由器140从路由器130接收IPv6数据包810,并在逐跳扩展头812中获取基于类别的QoS要求814。与路由器130类似,路由器140确定其转发上行连接的数据包的能力是否满足基于类别的QoS要求814。如果路由器140的能力满足基于类别的QoS要求814,则路由器140根据基于类别的QoS要求配置其硬件,使得路由器140根据基于类别的QoS要求814(例如,使用根据QoS要求814的流量整形参数配置的流量整形方案)转发上行连接的数据包。路由器140还可以通过在IPv6数据包810的逐跳扩展头812中设置第二信息来修改IPv6数据包810,其中,第二信息指示路由器140满足基于类别的QoS要求814。例如,路由器140可以更新逐跳扩展头中的第二建立状态816来指示路由器140满足基于类别的QoS要求814,其中,第二建立状态816位于逐跳扩展头中的第二建立状态字段中。如果路由器140不满足基于类别的QoS要求814,则路由器140更新逐跳扩展头812中的建立状态来指示路由器140不满足基于类别的QoS要求814。在一些实施例中,第一建立状态字段和第二建立状态字段是逐跳扩展头中的两个不同字段。在一些实施例中,第一建立状态字段和第二建立状态字段指逐跳扩展头812中包括两个或两个以上建立状态的相同字段。
在操作725中,路由器140根据IPv6数据包810的目的IP地址向设备120发送路由器140修改后的IPv6数据包810。
在操作730中,设备120从路由器140接收IPv6数据包810,并根据逐跳扩展头中的第一信息和第二信息确定上行连接上的每个路由器满足基于类别的QoS要求814。
在操作735中,设备120向设备110发送包括TCP SYN-ACK段821的IPv6数据包820。IPv6数据包820的目的IP地址可以是设备110的IP地址。IPv6数据包820还包括目的扩展头822,目的扩展头822携带指示路由器130满足QoS要求814的第三信息(例如第一建立状态155)和指示路由器140满足QoS要求814的第四信息(例如第二建立状态156)。目的扩展头822可以在TCP SYN-ACK段821和IPv6头823之间。此外,IPv6数据包820包括逐跳扩展头824。逐跳扩展头824包括设备120到设备110的下行连接对应的基于类别的QoS要求825。IPv6数据包820根据其目的IP地址发送。
在操作740中,路由器141接收IPv6数据包820,并在逐跳扩展头824中获取基于类别的QoS要求825(例如流量整形参数)。路由器141确定其转发下行连接的数据包的能力是否满足基于类别的QoS要求825。如果其能力满足基于类别的QoS要求825,则路由器141根据基于类别的QoS要求825转发下行连接的数据包。路由器141还可以通过设置IPv6数据包820中的逐跳扩展头824来指示路由器141满足基于类别的QoS要求825,从而修改IPv6数据包820。如果路由器141不满足基于类别的QoS要求825,则路由器141设置逐跳扩展头824来指示路由器130不满足基于类别的QoS要求。在一些实施例中,上述设置可以指设置逐跳扩展头824中的建立状态826。
在操作745中,路由器141根据IPv6数据包820的目的IP地址向路由器131发送路由器141修改后的IPv6数据包820。
在操作750中,路由器131接收IPv6数据包820,并在逐跳扩展头824中获取基于类别的QoS要求825。路由器131确定其转发下行连接的数据包的能力是否满足基于类别的QoS要求825。如果其能力满足基于类别的QoS要求825,则路由器131根据基于类别的QoS要求825转发下行连接的数据包。路由器131还可以通过设置IPv6数据包820中的逐跳扩展头824来指示路由器131满足基于类别的QoS要求825,从而修改IPv6数据包820。如果路由器131不满足基于类别的QoS要求825,则路由器141设置逐跳扩展头824来指示路由器130不满足基于类别的QoS要求。在一些实施例中,上述设置可以指设置逐跳扩展头824中的建立状态。
在操作755中,路由器131向设备110发送路由器131修改后的IPv6数据包820。
在操作760中,设备110从目的扩展头822获取第三信息和第四信息。根据获取到的信息,路由器131确定上行连接上的所有路由器都满足基于类别的QoS要求。因此,如果三次握手完成,则上行连接可以建立。此外,根据逐跳扩展头824,设备110可以确定下行连接上的所有路由器是否都满足基于类别的QoS要求825。
在操作765中,设备110向设备120发送包括TCPACK段831的IPv6数据包830。IPv6数据包830是在设备110确定下行连接上的所有路由器都满足基于类别的QoS要求825之后发送的。因此,IPv6数据包830包括TCPACK段831和IPv6报头833之间的目的扩展头832,其中,设置目的扩展头832来指示下行连接上的所有路由器都满足基于类别的QoS要求825。例如,设置目的扩展头832来指示路由器131和路由器141满足基于类别的QoS要求825。
在操作770中,设备120从设备110接收IPv6数据包830。TCPACK段831指示建立了基于类别的QoS的上行连接。此外,目的扩展头832指示也建立了具有基于类QoS的下行连接。虽然在本示例中,上行连接和下行连接经过不同的网络设备(上行连接经过路由器130和路由器140,下行连接经过路由器141和路由器131),但是这种方法也可以用于上行连接和下行连接使用相同路由器(例如,下行连接与上行连接一样经过路由器140和路由器130的下行连接)的情况下。
图7示出了本发明一个实施例的在数据通信期间通过带内信令检查具有基于类别的QoS的连接的状态的方法。图7中的示例一般涉及检查设备120和设备110之间的(例如,如图6所示建立的)上行通信和下行通信对应的端到端基于类别的QoS。
在设备110到设备120的经由路由器130和路由器140的上行连接以及设备120到设备110的经由路由器141和路由器131的下行连接建立之后,设备110和设备120可以经由连接发送数据。在数据传输期间,可以检查这两种连接的状态。
在操作905中,路由器110向路由器120发送上行连接的IPv6数据包840。IPv6数据包840包括TCP数据段841、逐跳扩展头842和IPv6报头843,其中,逐跳扩展头842包括基于类别的QoS要求814。
在操作910中,路由器130接收IPv6数据包840,并确定路由器130是否满足基于类别的QoS要求814。当路由器130满足基于类别的QoS要求814时,修改逐跳扩展头842来指示路由器130满足基于类别的QoS要求814。当路由器130不满足基于类别的QoS要求154时,修改逐跳扩展头842来指示路由器130不满足基于类别的QoS要求814。
在操作915中,路由器130向路由器140发送路由器130修改后的IPv6数据包840。
在操作920中,路由器140接收IPv6数据包840,并确定路由器140是否满足基于类别的QoS要求814。当路由器140满足基于类别的QoS要求814时,修改逐跳扩展头842来指示路由器140满足基于类别的QoS要求814。当路由器140不满足基于类别的QoS要求814时,修改逐跳扩展头842来指示路由器140不满足基于类别的QoS要求814。
在操作925中,路由器140向设备120发送路由器140修改后的IPv6数据包840。
在操作930中,设备120从路由器140接收IPv6数据包840,并根据逐跳扩展头842中的第一信息和第二信息确定上行连接上的每个路由器都满足基于类别的QoS要求814。
在操作935中,设备120向设备110发送IPv6数据包850。sIPv6数据包850包括TCP数据段851、逐跳扩展头852、目的扩展头853和IPv6头854。设置目的扩展头853来指示上行连接上的所有路由器是否都满足基于类别的QoS要求814。逐跳扩展头852包括基于类别的QoS要求825。
在操作940中,路由器141接收IPv6数据包850,并确定路由器141是否满足基于类别的QoS要求825。当路由器141满足基于类别的QoS要求825时,修改逐跳扩展头852来指示路由器141满足基于类别的QoS要求825。当路由器141不满足基于类别的QoS要求825时,修改逐跳扩展头852来指示路由器141不满足基于类别的QoS要求825。
在操作945中,路由器141向路由器131发送路由器141修改后的IPv6数据包850。
在操作950中,路由器131确定路由器131是否满足基于类别的QoS要求825。当路由器131满足基于类别的QoS要求825时,修改逐跳扩展头852来指示路由器131满足基于类别的QoS要求825。当路由器131不满足基于类别的QoS要求825时,修改逐跳扩展头852来指示路由器131不满足基于类别的QoS要求825。
在操作955中,路由器131向设备110发送路由器131修改后的IPv6数据包850。
在操作957中,设备110根据目的扩展头853确定上行连接是否满足基于类别的QoS要求814。
在操作960中,设备110向设备120发送包括TCP ACK 861的IPv6数据包860。IPv6数据包860还包括目的扩展头862和IPv6头863,其中,设置目的扩展头862来指示下行连接上的所有路由器是否都满足基于类别的QoS要求825。
在操作965中,设备120接收IPv6数据包860,并确定下行连接是否满足基于类别的QoS要求825。
当网络用于端到端差异化服务(例如,通过任一上述示例或以其它方式描述的带内信令)时,数据包可以根据它们的类别进行不同管理(例如,路由器可以通过数据包的不同排队方式或其它方式对不同类别的数据包进行不同管理)。数据包可以分为不同的类别,并可以通过各种方式相应地识别。例如,IPv6数据包在IPv6头中包括差分服务编码点(Differentiated Services Code Point,DSCP)字段,该字段可以用于指示数据包属于哪种类别。根据当前技术的各个方面,数据包的DSCP值可以在网络的入口路由器上选择。合适的DSCP值可以从符合标准的一列DSCP值(例如,在IETF RFC 4594中提供,IETF RFC 4594的全部内容通过引用结合在本申请中)中选择或通过其它方式选择。在一些实施例中,可以使用不属于标准的一个或多个DSCP值。例如,根据当前技术的第一DSCP值(可以或可以不在IETF RFC 4594中列出)可以指示延迟保证服务(Latency Guaranteed Service,LGS)。根据当前技术的第二DSCP值(可以或可以不在IETF RFC 4594中列出)可以指示带宽保证服务(Bandwidth Guaranteed Service,BGS)。根据当前技术的第三DSCP值(可以或可以不在IETF RFC 4594中列出)可以指示尽力而为服务(BestEfforts Service,BES)。当前技术的各个方面可以使用这些DSCP值中的一个或多个或其它值(例如,只使用IETF RFC 4594中的DSCP值或使用指示数据包所属类别的一些其它系统)来实现。
图8示出了设备110作为网络100的入口路由器操作以根据包括至少三种类别(例如LGS、BGS和BES)的归类方案对数据包进行归类的一个示例。在操作1000中,设备110通过在数据包的IPv6头中设置合适的DSCP值对数据包进行归类。对数据包1004、数据包1006和数据包1008进行归类。数据包1004、数据包1006和数据包1008都包括头1010和载荷1012,每个数据包在其头中包括不同的DSCP值。例如,设备110将数据包1004归类为LGS数据包,并在数据包1004的头1010中设置LGS DSCP值1014。设备110将数据包1006归类为BGS数据包,并在数据包1006的头1010中设置BGS DSCP值1016。设备110将数据包1008归类为BES数据包,并在数据包1008的头1010中设置BES DSCP值1018。
在操作1002中,将数据包1004、数据包1006、数据包1008从设备110发送到路由器130。
在操作1020中,路由器130接收数据包1004、数据包1006、数据包1008,并读取每个数据包中包括相应DSCP值的头(例如,解析数据包以识别头)。这些DSCP值指示数据包1004、数据包1006、数据包1008的类别。路由器130根据数据包1004、数据包1006、数据包1008的类别(例如,根据实现通过流量整形参数配置的差异化服务的流量整形方案)处理这些数据包。例如,在读取数据包1004的头1010中的LGS DSCP值1014之后,路由器130可以对数据包1004进行优先级排序(例如,将其放置在专用队列中)。在取数据包1006的头1010中的BGSDSCP值1016之后,路由器130可以设置数据包1006的优先级低于数据包1004的优先级(例如,放置在优先级较低的不同队列中)。在读取数据包1008的头1010中的BES DSCP值1018之后,路由器130可以设置数据包1008的优先级最低(可以是默认优先级),并可以将其放置在低优先级队列中。
在操作1022中,将数据包1004、数据包1006、数据包1008从路由器130发送到路由器140。
在操作1024中,路由器140接收数据包1004、数据包1006、数据包1008,并读取每个数据包中包括相应DSCP值的头(例如,解析数据包以获取头)。这些DSCP值指示数据包1004、数据包1006、数据包1008的类别。路由器140根据数据包1004、数据包1006、数据包1008的类别(例如,根据实现通过流量整形参数配置的差异化服务的流量整形方案)处理这些数据包。例如,在读取数据包1004的头1010中的LGS DSCP值1014之后,路由器140可以对数据包1004进行优先级排序(例如,将其放置在专用队列中)。在取数据包1006的头1010中的BGSDSCP值1016之后,路由器140可以设置数据包1006的优先级低于数据包1004的优先级(例如,放置在优先级较低的不同队列中)。在读取数据包1008的头1010中的BES DSCP值1018之后,路由器140可以设置数据包1008的优先级最低(可以是默认优先级),并可以将其放置在低优先级队列中。
在操作1026中,将数据包1004、数据包1006、数据包1008从路由器140发送到设备120。
在操作1028中,设备120接收数据包1004、数据包1006、数据包1008,并读取每个数据包中包括相应DSCP值的头。这些DSCP值指示数据包1004、数据包1006、数据包1008的类别。设备120根据数据包1004、数据包1006、数据包1008的类别(例如,根据之前配置的差分服务)处理这些数据包。例如,在读取数据包1004的头1010中的LGS DSCP值1014之后,路由器140可以对数据包1004进行优先级排序(例如,将其放置在专用队列中)。在取数据包1006的头1010中的BGS DSCP值1016之后,路由器140可以设置数据包1006的优先级低于数据包1004的优先级(例如,放置在优先级较低的不同队列中)。在读取数据包1008的头1010中的BES DSCP值1018之后,路由器140可以设置数据包1008的优先级最低(可以是默认优先级),并可以将其放置在低优先级队列中。设备120在本示例中被配置为出口设备,数据包1004、数据包1006、数据包1008可以通过设备120从网络100发送出去。应当理解,由于通过网络100在每个步骤中对不同的数据包进行不同处理,数据包1004可以通过网络100快速地从设备110发送到设备120(符合保证延迟要求),数据包1006可以通过网络100不那么快速地从设备110发送到设备120(符合保证带宽要求),而数据包1008可以通过网络以相对较慢的速度从设备110发送到设备120(符合尽力而为要求),使得即使数据包1004、数据包1006、数据包1008一起从设备110开始,它们也可以在不同的时间到达设备120(并离开网络100)。
图9A为本发明一个实施例提供的网络设备1040的示意图。在一些实施例中,网络设备1040可以指路由器130或路由器140。在一些实施例中,网络设备1040可以指路由器131或路由器141。在一些实施例中,网络设备1040可以指设备110(例如,被配置为网络100的入口路由器)。在一些实施例中,网络设备1040可以指设备120(例如,被配置为网络100的出口路由器)。如图9A所示,网络设备1040可以包括处理器1050、耦合到处理器1050的存储器1060、收发器(Tx/Rx)1070和耦合到Tx/Rx 1070的端口1080。端口1080用于通过网络进行通信,并且可以认为端口1080形成网络接口(可以包括用于有线网络中电线连接的物理接口和/或可以包括用于无线网络中无线通信的物理接口)。处理器1050可以实现为通用处理器,或者可以是一个或多个专用集成电路(application specific integrated circuit,ASIC)和/或数字信号处理器(digital signal processor,DSP)的一部分。处理器1050可以指单个处理器,也可以指多个处理器。存储器1060可以包括临时存储内容的高速缓存,例如随机存取存储器(random-access memory,RAM)。另外,存储器1060可以包括长期存储器,例如只读存储器(read-only memory,ROM)。在一个实施例中,存储器1060可以包括多个软件模块,例如入口模块1061(接收模块)、修改模块1062和出口模块1063(发送模块)。通过执行软件模块中的指令,处理器1050可以执行多个操作。在一些实施例中,当模块用于执行一个操作时,可以表示处理器1050用于执行模块中的指令以执行该操作。通过执行存储器1060中的指令,处理器1050可以全部或部分执行路由器130、路由器140、设备110、设备120和/或网络100的其它组件中的一个或多个执行的所有操作。网络设备1040可以指任何能够根据IP数据包的目的IP地址路由这些数据包的设备。
存储器1060还包括数据库1066,数据库1066可以包括用于网络设备1040的配置和操作的信息。例如,数据库1066可以包括关于一个或多个类别的数据包的基于类别的QoS要求的数据以及与这些要求关联的参数。例如,数据库1066可以包括用于配置入口模块1061和出口模块1063来实现一个或多个流量整形方案的流量整形参数,以实现一类数据包所需的QoS。数据库1066中的数据可以从带内通信信息(例如上述带内信令)获取,使得网络设备1040和网络100的任何其它路由器可以用于实现不同类别的数据包的不同QoS。在本示例中,示出了数据库1066包括4个数据库:LGS/BGS流DB 1072、入口整形器DB 1073、出口整形器DB 1074和加权公平排队(Weighted Fair Queuing,WFQ)DB 1075。在其它示例中,不同数量的数据库可以用于实现当前技术的各个方面。存储器1060还包括加载器模块1078,加载器模块1078用于根据带内通信将数据加载到数据库1066中(例如,加载到LGS/BGS流DB1072、入口整形器DB 1073、出口整形器DB 1074和WFQ DB 1075中的一个或多个中)。数据可以加载来初始化数据库1066,并且可以通过加载不同的参数值适当更新,以反映不同的流量整形方案。存储器1060中的加载器模块1078在加载到处理器1050中时,可以使得处理器1050的电路执行数据库加载功能(例如,被配置为数据库加载电路,以从网络接口在数据包中接收到的带内通信中获取流量整形参数)。因此,数据库加载电路的一个示例可以是软件或固件配置来执行数据库加载的处理器。在其它示例中,数据库加载电路可以是专用电路、可编程逻辑器件(programmable logic device,PLD)或这些组件中的一个或多个的某种组合。
入口模块1061用于接收用于建立第一连接的第一IPv6数据包,其中,第一IPv6数据包在第一IPv6数据包的逐跳扩展头中包括第一连接对应的基于第一类别的QoS要求。修改模块1062用于通过在第一IPv6数据包的逐跳扩展头中设置第一信息来修改第一IPv6数据包,其中,第一信息指示路由器满足第一QoS要求。出口模块1063用于根据修改后的第一IPv6数据包的目的IP地址向第二路由器发送修改后的第一IPv6数据包。
入口模块1061还可以用于从第二路由器接收用于建立第一连接的第二IPv6数据包,其中,第二IPv6数据包在第二IPv6数据包的目的扩展头中携带第二信息,第二信息指示包括第一路由器的多个路由器满足第一QoS要求。出口模块1063还可以用于根据第二IPv6数据包的目的IP地址向下一跳发送第二IPv6数据包。例如,网络设备1040中的路由表可以根据第二IPv6数据包的目的IP地址将数据包从入口模块1061(或其实例)路由到出口模块1063(或其实例)。
此外,入口模块1061不仅接收用于建立连接的数据包,还可以用于接收该连接的数据包。例如,入口模块1061用于接收第一连接的IPv6数据包。相应地,修改模块1062用于通过在IPv6数据包的逐跳扩展头中设置第三信息来修改IPv6数据包,其中,第三信息指示修改后的IPv6数据包是根据第一QoS要求发送的。出口模块1063用于根据IPv6数据包的目的IP地址向下一跳发送修改后的IPv6数据包。
在一些实施例中,用于建立第一连接的第一IPv6数据包可以指IPv6数据包150,用于建立第一连接的第二IPv6数据包可以指IPv6数据包160,第一连接的IPv6数据包可以指IPv6数据包180。
在一些实施例中,用于建立第一连接的第一IPv6数据包可以指IPv6数据包520,用于建立第一连接的第二IPv6数据包可以指IPv6数据包530,第一连接的IPv6数据包可以指IPv6数据包540。在一些实施例中,用于建立第一连接的第一IPv6数据包可以指IPv6数据包810,用于建立第一连接的第二IPv6数据包可以指IPv6数据包820,第一连接的IPv6数据包可以指IPv6数据包840。
图9B示出了在网络的入口路由器(例如,图9A中配置为入口路由器的网络设备1040)处对数据包进行处理的方式的一个示例。在本示例中,LGS数据包可以归类在专用类别中,该专用类别可以添加到之前的现有标准(例如,由因特网地址分配组织(IntemetAssigned Numbers Authority,IANA)分配的新DSCP值)中,或者可以映射到RFC 4594中指定的EF类别(例如,为了支持向后兼容性),使得DSCP类别符合RFC 4594的标准(在其它示例中,可以使用不符合本标准的类别)。流量整形使用单速率三色标记(single rate ThreeColor Marker,srTCM)方案(例如,如RFC2697详述,RFC2697的全部内容通过引用结合在本申请中)。srTCM方案可以根据承诺信息速率(Committed Information Rate,CIR)(以bps为单位)、承诺突发大小(committed Burst Size,CBS)和超出突发尺寸(Exceeded Burstsize,EBS)(以字节为单位)等流量整形参数进行详述,对应的值(流量整形参数值)可以加载和存储在路由器的数据库中(例如,通过带内信令获取)。可选地,可以使用双速率TCM方案(例如,RFC4115中详述的trTCM方案,RFC4115的全部内容通过引用结合在本申请中)。trTCM方案可以根据CIR、峰值流量速率(Peak Information Rate,PIR)、CBS和EBS进行详述。在一些情况下,可以只需要CIR来详述流量整形方案。
将网络设备1040(例如,通过端口1080和Tx/Rx 1070中的一个)接收到的数据包发送到入口整形器模块1130,入口整形器模块1130可以是入口模块1061的一部分,或者可以对应于根据存储在数据库1066中的配置信息配置(例如,通过存储在数据库1066中的流量整形参数配置)的入口模块1061。入口整形器模块1130包括分类器1132。分类器1132检查数据包是否具有带内信令信息(例如,如前所示的逐跳扩展头中的基于类别的QoS要求)。如果提供了带内信令信息,则读取带内信令信息以识别QoS要求。这些要求可以根据数据库(例如,LGS类别和BGS类的“LGS/BGS流DB 1072”)检查,以确定所需服务是否可用(例如,可以检查服务水平协议(Service Level Agreement,SLA)以确定QoS要求是否符合SLA)。如果服务可用,分类器可以检查是否有足够的可用资源。如果资源不足,则可以更新带内信令以指示服务被拒绝,并相应地对数据包进行归类。如果有足够的资源,则QoS参数可以在一个或多个数据库中(例如,在LGS/BGS流DB 1072、入口整形器DB 1073、出口整形器DB 1074和/或WFQ DB 1075中的一个或多个中)更新。
分类器1132根据分类规则(例如,来自LGS/BGS流DB 1072)将数据包发送到合适的标记器1134至标记器1139。分类规则可以包括在预期服务由于准入控制、资源限制或其它原因被拒绝的情况下,应该使用哪种类别。标记器1134至标记器1139将数据包头中的DSCP比特设置为对应的DSCP值。例如,LGS标记器1134(可以是EF标记器)将数据包头中的DSCP比特设置为指示数据包属于EF类别,AF41标记器1135将数据包头中的DSCP比特设置为指示数据包属于AF41类别,AF31标记器1136将数据包头中的DSCP比特设置为指示数据包属于AF31类别,AF21标记器1137将数据包头中的DSCP比特设置为指示数据包属于AF21类别,AF11标记器1138将数据包头中的DSCP比特设置为指示数据包属于AF11类别,BE标记1139将数据包头中的DSCP比特设置为指示数据包属于BE类别。将LGS数据包发送到入口流量整形器1142(入口整形器),入口流量整形器1142可以根据流量整形规则(例如,根据srTCM方案、trTCM方案或漏桶方案)执行流量整形。例如,入口整形器1142可以测量LGS类别速率,并根据从数据库(例如入口整形器DB 1073)中获取的规则使用不同的颜色标记数据包。例如,入口整形器1142可以用于将某些LGS数据包(绿色数据包)发送到加入器1144,其中,重新加入带有不同标记的数据包。入口整形器1142可以向AF41标记器1135发送某些LGS数据包(黄色数据包),以将这些LGS数据包重新标记为AF41数据包。入口整形器1142可以向一个或多个优先级较低的标记器(例如,如图所示的AF31标记器1136)发送某些LGS数据包(红色数据包),以将LGS数据包重新标记为较低级别的数据包(例如,AF31数据包)。在一些情况下,红色数据包可能会被丢弃。数据包从标记器1135至标记器1139发送到加入器1144,其中,这些数据包与来自入口整形器1142的LGS数据包一起重新加入,并发送到转发模块1146。数据包可以通过合适的代码标记有“不同的颜色”,该代码可以是添加在IP数据包的DS字段中的代码,如RFC2697(单速率)和RFC2698(双速率)所述,它们描述了设置数据包的DS字段将颜色标记为绿色、黄色或红色。RFC2698的全部内容也通过引用结合在本申请中。重新标记可以使用更新后的代码替换这种代码,以反映不同的颜色。如RFC2697所述,数据包的“颜色”是描述数据包分类的一种方式,可以使用DS字段中的代码等来实现。
转发模块1146可以根据数据包的目的地址(例如,根据路由表)将数据包转发给合适的路由器输出接口。
出口整形模块1148从转发模块1146接收数据包,并执行出口流量整形。出口整形器模块1148可以是出口模块1063的一部分,或者可以对应于根据存储在数据库1066中的配置信息配置的出口模块1063。分类器1150检查接收到的数据包的DSCP值,并根据各个数据包头中的DSCP比特指示的类别将数据包发送到出口流量整形器1151(出口整形器)以及队列1153至队列1157。例如,向出口整形器1151发送数据包头中的DSCP比特被设置为指示LGS类别的值的数据包,向AF4x队列1153发送数据包头中的DSCP比特被设置为指示AF41类别的值的数据包,向AF3x队列1154发送数据包头中的DSCP比特被设置为指示AF31类别的值的数据包,向AF2x队列1155发送数据包头中的DSCP比特被设置为指示AF21类别的值的数据包,向AFlx队列1156发送数据包头中的DSCP比特被设置为指示AF11类别的值的数据包,向BE队列1157发送数据包头中的DSCP比特被设置为指示BE类别的值的数据包。出口整形器1151可以根据流量整形规则(例如,根据srTCM方案、trTCM方案或漏桶方案)执行流量整形。出口整形器1151可以测量LGS类别速率,并根据从数据库(例如出口整形器DB 1074)中获取的规则使用不同的颜色标记数据包。例如,出口整形器1151可以向LGS队列1152发送一些数据包(绿色数据包)。出口整形器1151可以向其中一个优先级较低的队列(例如AF4x队列1153)发送一些数据包(黄色数据包)。这是可配置的,在一些情况下,黄色数据包可以发送到不同的队列,还可以被丢弃。出口整形器1151可以向其中一个优先级较低的队列(例如AF3x队列1154)发送一些数据包(红色数据包)。这是可配置的,在一些情况下,红色数据包可以发送到不同的队列,还可以被丢弃。
LGS队列1152中的数据包直接发送到优先级调度器1160,使得对来自EF队列1152(绿色数据包)的数据包进行优先级排序,以实现低延迟。数据包从优先级调度器1160发送到其中一个端口1080。来自队列1153至队列1157的数据包通过合适的加权公平排队方案(例如,所示示例中的加权轮询方案)来选择。加权轮询(Weighted Round Robin,WRR)调度器1162通过采用WRR方案从队列1153至队列1157中选择数据包(例如,根据合适的WRR调度方案)来管理队列1153至队列1157,并向优先级调度器1160发送数据包。优先级调度器1160根据优先级调度数据包(例如先发送的LGS数据包)。
虽然图9B中的示例示出了入口和出口侧的流量整形,但在其它示例中,流量整形可以只发生在一侧。例如,入口流量整形可以发生在入口路由器侧,而数据路径上的后续路由器可以只执行出口流量整形。
虽然图9B中的示例涉及使用新的LGS类别或将EF类别用于LGS,但是根据当前技术,其它实现方式也是可能的。例如,AF41类别可以用于具有优先级较高的EF类别数据包的LGS。
图10示出了网络设备1040用于将新定义的类别或AF41类别用于LGS(而不是像图9B中的示例那样使用EF类别)的一个示例。图10中的示例类似于图9B中的示例。区别在于,这里不是将入口整形器1142应用于来自LGS标记器1134的LGS数据包,而是可以将LGS数据包映射到AF41类别,使得入口整形器1142应用于来自LGS标记器1135的LGS数据包(例如,根据类别速率和入口整形器DB 1073中的规则)。一些LGS数据包(绿色数据包)可以直接发送到加入器1144。一些数据包(黄色数据包和红色数据包)可以发送到较低级别的标记器(例如AF31标记1136)以重新标记,然后发送到加入器1144。在本示例中,EF数据包绕过入口整形器1142。
在出口整形器模块1148中,EF数据包绕过出口整形器1151并通过EF队列1152到达第一优先级调度器1160,而LGS数据包到达出口整形器1151。出口整形器1151相应地将这些LGS数据包发送到不同的队列(例如,根据类别速率和出口整形器DB 1074中的规则)。一些LGS数据包(绿色数据包)发送到LGS队列1153,而其它数据包(黄色数据包和红色数据包)发送到较低级别的队列(例如,AF3x队列1154或AF2x队列1155)。来自LGS队列1153的数据包发送到第二优先级调度器1161。来自队列1153至队列1157的数据包由WRR调度器1162管理(例如,根据合适的WRR算法),并发送到第二优先级调度器1161(根据优先级调度数据包(例如先发送的LGS数据包)),然后发送到优先级调度器1160(根据优先级调度数据包(例如先发送的EF数据包))。
虽然图9B和图10中所示的示例涉及网络设备1040用作网络100的入口路由器并执行分类功能,但是网络100的其它组件可以使用上述分类(DSCP值)来确定不同数据包的合适处理方式(例如,对某些数据包进行优先级排序)。例如,路由器130、路由器140(和任何其它路由器)和设备120可以通过带内信令(例如,如图2至图7中的一个或多个所示)配置对不同类别的数据包进行不同处理,以满足不同基于类别的QoS要求。这可以通过路由器和/或其它组件中的合适流量整形器(入口整形器和/或出口整形器)来实现。这些(根据通过带内信令接收并存储在一个或多个数据库中的要求配置的)流量整形器可以使用TCM方案或其它流量整形算法,在通过网络的数据路径上的每个组件处适当地对数据包进行优先级排序。
图11示出了操作网络设备的方法的一个示例。所述方法包括:通过网络设备的网络接口接收第一数据包1200;从在所述第一数据包中接收的带内通信中获取针对多种类别的数据包的流量整形方案的流量整形参数1202;将所述流量整形参数存储在所述网络设备中的数据库中1204。所述方法还包括:通过所述网络设备的所述网络接口接收多个数据包1206;识别所述多个数据包的对应类别1208;根据所述识别出的类别,使用一个或多个流量整形器对所述网络设备中的流量进行整形1210,其中,所述一个或多个流量整形器是根据所述数据库中的所述流量整形参数。
本文描述的技术可以使用硬件、软件或硬件和软件两者的组合来实现。所使用的软件存储在上述一个或多个处理器可读存储设备中,以配置一个或多个处理器,从而执行本文描述的功能。所述处理器可读存储设备可以包括计算机可读介质,例如易失性和非易失性介质、可移动和不可移动介质。例如但不限于,计算机可读介质可以包括计算机可读存储介质和通信介质。计算机可读存储介质可以使用任何方法或技术来实现,以存储计算机可读指令、数据结构、程序模块或其它数据等信息。计算机可读存储介质的示例包括RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用磁盘(digital versatile disk,DVD)或其它光盘存储器、磁盒、磁带、磁盘存储器或其它磁存储设备,或任何其它可以用于存储所需信息并能被计算机访问的介质。一种或多种计算机可读介质不包括传播信号、已调制信号或瞬时信号。
通信介质通常在传播数据信号、已调制数据信号或瞬时数据信号(例如,载波或其它传输机制)中体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息发送介质。术语“已调制数据信号”指的是一种信号,其一个或多个特征被设置或改变,以将信息编码到该信号中。例如但不限于,通信介质包括有线网络或直接有线连接等有线介质以及RF等无线介质和其它无线介质。上文各项的组合也包含在计算机可读介质的范围内。
在替代实施例中,部分或全部软件可以由专用硬件逻辑组件替换。例如但不限于,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(Field-programmableGate Array,FPGA)、专用集成电路(Application-specific Integrated Circuit,ASIC)、特殊应用标准产品(Application-specific Standard Product,ASSP)、片上系统(System-on-a-chip,SOC)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、专用计算机等。在一个实施例中,实现一个或多个实施例的软件(存储在存储设备中)用于配置一个或多个处理器。所述一个或多个处理器可以与一个或多个计算机可读介质/存储设备、外围设备和/或通信接口进行通信。
应当理解,本发明的主题可以通过许多不同的方式体现,并且不应解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本主题透彻和完整,并将本发明充分传达给本领域技术人员。实际上,本主题的目的是涵盖这些实施例的替代物、修改和等同物,这些包括在由所附权利要求书限定的本主题的范围和精神内。而且,在本发明主题的详细描述中,阐述了许多具体细节以便提供本发明主题的透彻理解。然而,本领域普通技术人员很清楚,可以在没有这些具体细节的情况下实践本发明主题。
本文结合本发明实施例提供的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或方框图中的方框的组合可以由计算机程序指令实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以生产机器,使得通过计算机或其它可编程指令执行装置的处理器执行的指令产生用于实现流程图和/或方框图中详述的功能/动作的机制。
出于说明和描述的目的,呈现了本发明的描述,但本发明的描述并不是穷尽的或限于所公开形式的本发明。在不脱离本发明的范围和精神的情况下,本领域普通技术人员将清楚多种修改和改变。选择和描述本发明的各个方面以便更好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解本发明和适合预期特定用途的各种修改。
出于本文档的目的,与所公开技术关联的每个过程可以由一个或多个计算设备连续地执行。过程中的每个步骤可以由与其它步骤中使用的相同或不同的计算设备执行,并且每个步骤不必由单个计算设备执行。
虽然已经参考本发明的具体特征和实施例描述了本发明,但是显然可以在不脱离本发明的情况下对本发明进行各种修改和组合。因此,说明书和附图仅被视为所附权利要求书限定的对本发明的说明,并且设想说明书和附图覆盖落入本发明范围内的任何和全部修改、变化、组合或等同物。虽然已经以结构特征和/或方法动作专用的语言描述了本主题,但应当理解,所附权利要求书中限定的本主题不必局限于上文描述的具体特征或动作。相反,公开上文描述的具体特征和动作作为实现权利要求述的示例性方式。

Claims (44)

1.一种装置,其特征在于,所述装置包括:
网络接口,用于连接到网络;
数据库,用于存储针对所述网络接口接收到的多种类别的数据包的流量整形方案的流量整形参数;
数据库加载电路,用于从所述网络接口在数据包中接收到的带内通信中获取所述流量整形参数,并将所述流量整形参数加载到所述数据库中;
一个或多个流量整形器,用于访问所述数据库中的所述流量整形参数,并根据所述流量整形参数将所述流量整形方案应用于所述网络接口接收到的所述多种类别的数据包。
2.根据权利要求1所述的装置,其特征在于,所述一个或多个流量整形器包括出口整形器,所述出口整形器用于向与所述多种类别的数据包关联的多个队列发送一种类别的数据包。
3.根据权利要求2所述的装置,其特征在于,所述多个队列包括由加权公平排队调度器管理的两个或两个以上队列和由优先级调度器管理的至少一个优先级队列。
4.根据权利要求1至3中任一项所述的装置,其特征在于,所述一个或多个流量整形器包括入口整形器,所述入口整形器用于指示将标记为第一类别的数据包重新标记为一个或多个其它类别。
5.根据权利要求1至4中任一项所述的装置,其特征在于,所述流量整形方案是针对所述多种类别的数据包的单速率三色标记(single rate Three Color Marker,srTCM)方案。
6.根据权利要求1至4中任一项所述的装置,其特征在于,所述流量整形方案是双速率三色标记(two rate Three Color Marker,trTCM)方案。
7.根据权利要求1至4中任一项所述的装置,其特征在于,所述流量整形方案是漏桶方案。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述流量整形参数包括承诺信息速率(Committed Information Rate,CIR)、承诺突发尺寸(Committed Burst Size,CBS)和超出突发尺寸(Exceeded Burst Size,EBS)。
9.根据权利要求1至8中任一项所述的装置,其特征在于,所述流量整形器用于将属于所述第一类别的数据包重新标记为属于第二类别,或者将属于所述第一类别的数据包放置在至少所述第二类别的队列中。
10.根据权利要求1至9中任一项所述的装置,其特征在于,所述带内通信位于IPv6数据包的逐跳扩展头中。
11.根据权利要求1至10中任一项所述的装置,其特征在于,所述多种类别包括延迟保证服务(Latency Guaranteed Service,LGS)类别和带宽保证服务(Bandwidth GuaranteedService,BGS)类别中的至少一个,所述LGS类别具有LGS数字服务码点(Digital ServicesCode Point,DSCP),所述BGS类别具有BGS DSCP。
12.根据权利要求11所述的装置,其特征在于,所述LGS类别的数据包被放入最高优先级队列或第二最高优先级队列中。
13.根据权利要求12所述的装置,其特征在于,所述BGS类别的数据包被放入优先级低于包括所述LGS类别的数据包的任何队列的一个或多个队列中。
14.根据权利要求13所述的装置,其特征在于,所述多种类别的数据包包括其它类别,所述其它类别的数据包被放入优先级较低的一个或多个队列中。
15.一种操作网络设备的方法,其特征在于,所述方法包括:
通过所述网络设备的网络接口接收第一数据包;
从在所述第一数据包中接收到的带内通信中获取针对多种类别的数据包的流量整形方案的流量整形参数;
将所述流量整形参数存储在所述网络设备中的数据库中;
通过所述网络设备的所述网络接口接收多个数据包;
识别所述多个数据包的对应类别;
根据所述识别出的类别,使用根据存储在所述数据库中的所述流量整形参数配置的一个或多个流量整形器对所述网络设备中的流量进行整形。
16.根据权利要求15所述的方法,其特征在于,所述对所述网络设备中的流量进行整形包括向与所述多种类别的数据包关联的多个队列发送一种类别的数据包。
17.根据权利要求15或16所述的方法,其特征在于,所述方法还包括:从通过加权公平队列调度方案和严格优先级调度方案管理的所述多个队列中选择数据包。
18.根据权利要求15至17中任一项所述的方法,其特征在于,所述对所述网络设备中的流量进行整形包括将标记为属于第一类别的数据包重新标记为属于至少第二类别。
19.根据权利要求15至18中任一项所述的方法,其特征在于,根据所述识别出的类别,使用一个或多个流量整形器对所述网络设备中的流量进行整形包括应用针对所述多种类别的数据包的单速率三色标记(single rate Three Color Marker,srTCM)方案。
20.根据权利要求15至18中任一项所述的方法,其特征在于,根据所述识别出的类别,使用一个或多个流量整形器对所述网络设备中的流量进行整形包括应用针对所述多种类别的数据包的双速率三色标记(two rate Three Color Marker,trTCM)方案。
21.根据权利要求15至18中任一项所述的方法,其特征在于,根据所述识别出的类别,使用一个或多个流量整形器对所述网络设备中的流量进行整形包括应用针对所述多种类别的数据包的漏桶方案。
22.根据权利要求19至21中任一项所述的方法,其特征在于,所述获取流量整形方案的流量整形参数包括从所述带内通信中获取服务类型和关联服务参数,其中,服务类型包括承诺信息速率(Committed Information Rate,CIR)、承诺突发尺寸(Committed BurstSize,CBS)和超出突发尺寸(Exceeded Burst Size,EBS)中的至少一个。
23.根据权利要求15至22中任一项所述的方法,其特征在于,所述方法还包括:在所述从所述带内通信中获取服务类型和关联参数之后,检查所述服务类型和关联参数是否可以由所述网络设备提供。
24.根据权利要求23所述的方法,其特征在于,所述网络设备是数据路径上的多个网络设备中的一个网络设备,所述方法包括:在所述数据路径上的每个网络设备侧,检查可以提供具有关联参数的指定服务类型。
25.根据权利要求15所述的方法,其特征在于,所述多种类别包括延迟保证服务(Latency Guaranteed Service,LGS)类别和带宽保证服务(Bandwidth GuaranteedService,BGS)类别中的至少一个,所述LGS类别具有LGS数字服务码点(Digital ServicesCode Point,DSCP),所述BGS类别具有BGSDSCP;所述根据所述识别出的类别对所述网络设备中的流量进行整形包括将所述LGS类别的数据包放置最高优先级队列或第二最高优先级队列中。
26.根据权利要求25所述的方法,其特征在于,所述方法还包括:将所述BGS类别的数据包放置在优先级低于包括所述LGS类别的数据包的任何队列的一个或多个队列中。
27.根据权利要求26所述的方法,其特征在于,所述方法还包括:将其它类别的数据包放置在优先级较低的一个或多个队列中。
28.根据权利要求15至27中任一项所述的方法,其特征在于,所述获取流量整形参数包括读取IPv6数据包的逐跳扩展头。
29.一种系统,其特征在于,所述系统包括:
耦合到网络的多个网络设备,其中,所述多个网络设备中的每个网络设备包括:
网络接口,用于连接到所述网络;
数据库,用于存储针对所述网络接口接收到的多种类别的数据包的流量整形方案的流量整形参数;
数据库加载电路,用于从所述网络接口在数据包中接收到的带内通信中获取所述流量整形参数;
一个或多个流量整形器,用于访问所述数据库中的所述流量整形参数,并根据所述流量整形参数将所述流量整形方案应用于所述网络接口接收到的所述多种类别的数据包。
30.根据权利要求29所述的系统,其特征在于,所述一个或多个流量整形器包括出口整形器,所述出口整形器用于向与所述多种类别的数据包关联的多个队列发送一种类别的数据包。
31.根据权利要求30所述的系统,其特征在于,所述多个队列包括由加权公平排队调度器管理的两个或两个以上队列和由优先级调度器管理的优先级队列。
32.根据权利要求29至31中任一项所述的系统,其特征在于,所述一个或多个流量整形器包括入口整形器,所述入口整形器用于指示将标记为第一类别的数据包重新标记为一个或多个其它类别。
33.根据权利要求29至32中任一项所述的系统,其特征在于,所述流量整形方案是针对所述多种类别的数据包的单速率三色标记(single rate Three Color Marker,srTCM)方案。
34.根据权利要求29至32中任一项所述的系统,其特征在于,所述流量整形方案是双速率三色标记(two rate Three Color Marker,trTCM)方案。
35.根据权利要求29至32中任一项所述的系统,其特征在于,所述流量整形方案是漏桶方案。
36.根据权利要求33至35中任一项所述的系统,其特征在于,所述流量整形参数包括承诺信息速率(Committed Information Rate,CIR)、承诺突发尺寸(Committed Burst Size,CBS)和超出突发尺寸(Exceeded Burst Size,EBS)。
37.根据权利要求29至36中任一项所述的系统,其特征在于,所述流量整形器用于将属于所述第一类别的数据包重新标记为属于第二类别,或者将属于所述第一类别的数据包放置在至少所述第二类别的队列中。
38.根据权利要求29至37中任一项所述的系统,其特征在于,所述带内通信位于IPv6数据包的逐跳扩展头中。
39.根据权利要求29至38中任一项所述的系统,其特征在于,所述多种类别包括延迟保证服务(Latency Guaranteed Service,LGS)类别和带宽保证服务(Bandwidth GuaranteedService,BGS)类别中的至少一个,所述LGS类别具有LGS数字服务码点(Digital ServicesCode Point,DSCP),所述BGS类别具有BGSDSCP。
40.根据权利要求39所述的系统,其特征在于,所述LGS类别的数据包被放入最高优先级队列或第二最高优先级队列中。
41.根据权利要求40所述的系统,其特征在于,所述BGS类别的数据包被放入优先级低于包括所述LGS类别的数据包的任何队列的一个或多个队列中。
42.根据权利要求41所述的系统,其特征在于,所述多种类别的数据包包括其它类别,所述其它类别的数据包被放入优先级较低的一个或多个队列中。
43.一种方法,其特征在于,所述方法包括:
根据在网络设备侧接收到的带内信令获取多种类别的数据包的流量整形参数;
在所述网络设备侧接收多个数据包;
识别所述多种类别的数据包中的每个数据包的对应类别;
根据所述多种类别的数据包的所述流量整形参数,对所述多个数据包进行整形,使得至少第一类别的数据包分布在所述第一类别的队列和第二类别的队列之间。
44.一种操作网络设备的方法,其特征在于,所述方法包括:
通过所述网络设备的网络接口接收第一IPv6数据包;
从所述第一IPv6数据包的逐跳扩展头中获取针对多种类别的数据包的流量整形方案的流量整形参数;
将所述流量整形参数存储在所述网络设备中的数据库中;
通过所述网络设备的所述网络接口接收多个IPv6数据包;
根据所述多个IPv6数据包的头中的差分服务编码点(Differentiated Services CodePoint,DSCP)字段识别所述多个IPv6数据包的对应类别;
根据所述识别出的类别,使用根据存储在所述数据库中的所述流量整形参数配置的一个或多个流量整形器对所述网络设备中的流量进行整形。
CN202080074367.1A 2019-10-22 2020-06-09 通过带内信令区分服务的系统和方法 Pending CN114600434A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962924593P 2019-10-22 2019-10-22
US62/924,593 2019-10-22
US202063032593P 2020-05-30 2020-05-30
US63/032,593 2020-05-30
PCT/US2020/036826 WO2021080652A1 (en) 2019-10-22 2020-06-09 Systems and methods for differentiation of service using in-band signaling

Publications (1)

Publication Number Publication Date
CN114600434A true CN114600434A (zh) 2022-06-07

Family

ID=71899941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080074367.1A Pending CN114600434A (zh) 2019-10-22 2020-06-09 通过带内信令区分服务的系统和方法

Country Status (4)

Country Link
US (1) US20220150759A1 (zh)
EP (1) EP4042643A1 (zh)
CN (1) CN114600434A (zh)
WO (1) WO2021080652A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179486A (zh) * 2006-11-10 2008-05-14 中兴通讯股份有限公司 一种计算机网络数据包转发的car队列管理方法
US20080112318A1 (en) * 2006-11-13 2008-05-15 Rejean Groleau Traffic shaping and scheduling in a network
CN101510846A (zh) * 2009-03-30 2009-08-19 北京邮电大学 基于区分服务网络和IPv6扩展头实现自治QoS的系统和方法
JP2011024027A (ja) * 2009-07-16 2011-02-03 Fujitsu Ltd パケット送信制御装置、ハードウェア回路およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002076029A1 (en) * 2001-03-20 2002-09-26 Worldcom, Inc. System, method and apparatus that isolate virtual private network (vpn) and best effort traffic to resist denial of service attacks
US20030174650A1 (en) * 2002-03-15 2003-09-18 Broadcom Corporation Weighted fair queuing (WFQ) shaper
US7385985B2 (en) * 2003-12-31 2008-06-10 Alcatel Lucent Parallel data link layer controllers in a network switching device
US10541985B2 (en) * 2014-12-19 2020-01-21 Nokia Solutions And Networks Oy Coordinated packet delivery of encrypted session
US10211987B2 (en) * 2015-04-27 2019-02-19 Cisco Technology, Inc. Transport mechanism for carrying in-band metadata for network path proof of transit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179486A (zh) * 2006-11-10 2008-05-14 中兴通讯股份有限公司 一种计算机网络数据包转发的car队列管理方法
US20080112318A1 (en) * 2006-11-13 2008-05-15 Rejean Groleau Traffic shaping and scheduling in a network
CN101510846A (zh) * 2009-03-30 2009-08-19 北京邮电大学 基于区分服务网络和IPv6扩展头实现自治QoS的系统和方法
JP2011024027A (ja) * 2009-07-16 2011-02-03 Fujitsu Ltd パケット送信制御装置、ハードウェア回路およびプログラム

Also Published As

Publication number Publication date
WO2021080652A1 (en) 2021-04-29
US20220150759A1 (en) 2022-05-12
EP4042643A1 (en) 2022-08-17

Similar Documents

Publication Publication Date Title
CN111770028B (zh) 用于计算机网络的方法和网络设备
US8588238B2 (en) Method and apparatus for self-learning of VPNS from combinations of unidirectional tunnels in MPLS/VPN networks
US20200296023A1 (en) Real-time application-driven synthetic probing
US9413611B2 (en) Generating and enforcing a holistic quality of service policy in a network
US7817615B1 (en) Cross-network quality-of-service verification
CN102804705B (zh) 用于处理网络通信的技术
US8531945B2 (en) Method and apparatus to support deep packet inspection in a mobile network
US9113356B2 (en) Control of data flows over transport networks
US20070201499A1 (en) Device, system and/or method for managing packet congestion in a packet switching network
WO2014166402A1 (en) System and method for providing a software defined protocol stack
US20080165679A1 (en) Method to mitigate fraudulent usage of QoS from mobile terminals using uplink packet marking
CA2773885A1 (en) Quality of service in packet networks
US10715453B2 (en) Method and network node for congestion management in a wireless communications network
US6839327B1 (en) Method and apparatus for maintaining consistent per-hop forwarding behavior in a network using network-wide per-hop behavior definitions
US7957394B1 (en) Automatic network switch configuration to support quality of service
EP2663037A1 (en) Multi-level Bearer Profiling in Transport Networks
JP2020502872A (ja) Diameterメッセージの優先度ルーティングのための方法、システム、およびコンピュータ読取可能媒体
EP3443713B1 (en) Qos/qoe enforcement driven sub-service flow management in 5g system
US20230142425A1 (en) Virtual dual queue core stateless active queue management (agm) for communication networks
US11115334B1 (en) Optimized network latency using in-band telemetry
CN114600434A (zh) 通过带内信令区分服务的系统和方法
CN115460651A (zh) 数据传输方法及装置、可读存储介质、终端
EP4277233A1 (en) Dynamic qos mapping in a home network
US20170155548A1 (en) Arrangements and methods performed by a wireless communication network and a router for facilitating routing of data packets in the network
Carthern et al. QoS

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