CN101924781B - 终端设备及其QoS实施方法以及流分类器 - Google Patents
终端设备及其QoS实施方法以及流分类器 Download PDFInfo
- Publication number
- CN101924781B CN101924781B CN200910145816.2A CN200910145816A CN101924781B CN 101924781 B CN101924781 B CN 101924781B CN 200910145816 A CN200910145816 A CN 200910145816A CN 101924781 B CN101924781 B CN 101924781B
- Authority
- CN
- China
- Prior art keywords
- flow
- policy
- data flow
- qos
- network
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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/10—Flow control; Congestion control
-
- 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/20—Traffic policing
-
- 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/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了终端设备及其QoS实施方法以及流分类器。一种连接到网络的终端设备,包括:QoS单元,该QoS单元包括:流分类器,该流分类器对要通过所述网络传输的数据流进行分类,并输出指示所述数据流的类别的分类结果;策略数据库,该策略数据库对于一个或多个类别中的每个类别,存储与该类别相对应的策略;以及策略实施单元,该策略实施单元接收来自所述流分类器的分类结果,搜索所述策略数据库以找出与该分类结果中指示的所述数据流的类别相对应的策略,至少基于找出的策略确定要向所述数据流应用的处理,并向所述数据流应用所确定的处理。流分类器可使用流特性信息和流上下文信息。QoS单元还可包括接收用户输入的策略调节单元。策略实施单元可利用覆盖技术。
Description
技术领域
本发明涉及计算机网络,更具体而言涉及一种实施QoS(Quality ofService,服务质量)的终端设备以及在终端设备处实施QoS的方法,以及一种流分类器。
背景技术
当今的因特网只提供尽力服务(Best Effort Service)。分组被尽可能快地处理。这对于满足传统因特网服务(例如邮件服务)的要求来说已经足够了。这类服务对于服务质量没有特殊要求。例如,只要在几分钟内或者甚至几小时内接收到邮件,用户就满意了。
随着因特网发展成信息基础设施,越来越多的商业服务被构建于其上。一些新的服务有着严格的服务质量要求,其中主要包括端到端延迟、分组丢失率、端到端带宽、以及抖动。例如,VoIP(基于因特网协议的语音通讯)服务对于端到端延迟和分组丢失率有严格的要求。来自一方的语音分组必须在几百毫秒(通常是200ms)内被递送到另一方。分组丢失率必须被限制到小于1%。不幸的是,因特网的尽力服务无法保证这些参数。因特网的端到端延迟从几毫秒到几秒不等。因特网分组丢失率也表现出很大的变化,并且长距离分组递送经常会违反所述的1%要求。有研究表明,美国和欧洲之间的分组丢失率在繁忙时为3.6%至16.9%不等。
网络应用以不同的速率生成流量并且要求网络能够以它们生成流量的速率来传送流量。如果有无限的网络资源(转发能力)可用,则所有的应用流量都可以按应用所需的速率来传送,而没有延迟和分组丢失。
但是,因特网无法提供无限的容量来传送流量。因特网是一种典型的分组交换网络,其中包括遍布全世界的网络设备(例如,路由器)。路由器利用接口以网状方式与彼此互连,并且它们被连接到因特网的所有终端设备所共享。某个终端设备所发送的数据被一系列路由器转发,然后数据到达目的地的终端设备。
在分组交换网络中,所有的通信数据,无论其内容、类型或结构如何,都被分成适当大小的块,即所谓的分组(packet)。当分组到达路由器时,每个路由器独立于所有其他路由器,以先进先出(FIFO)的方式来对分组进行路由。当流量到达路由器的速率超过了该路由器能够转发流量的速率时,就会发生拥塞。
路由器平等地对待每个分组,无论该分组来自何处,也无论它携带着什么内容。每个路由器具有一个队列来缓冲传出的分组,以防分组突发到达并超过传出链路的容量。在队列为空的情况下,所有传入分组都在到达之后立即被转发。在队列中有一些分组排队的半满情况下,发生拥塞,并且队列中的一个分组只有在排在它前面的另一个分组被转发之后才会被服务。因此,分组被延迟了。当队列全满时,队列中的分组仍以先进先出的方式被服务。此时到达的分组将被丢弃。于是发生了分组丢失。
如果通信路径内的所有路由器都是空的,则通信就会享受到良好的服务质量,延迟达到最低限度,带宽很高,并且没有分组丢失(此处忽略传输中的分组损坏)。不幸的是,网络使用量总是会超过路由器的能力。路由器总是进入繁忙状态,而队列则会作为半满的队列或全满的队列工作。
QoS是这样一组技术,它使得网络管理员能够通过最优地使用网络资源来管理拥塞对应用流量的影响。由于传统的因特网服务模型无法满足新服务所要求的QoS,所以已经提出了许多方案,其中一些已经被部署来提供商业服务,例如资源预留协议(RSVP)、综合服务(intserv)和区分服务(diffserv),等等。
所有这些方案都拥有一个共同的基本想法,即将网络资源优先分配给某些流量。为此,路由器在每个接口上采用优先级队列,并且:
1、必须执行分组分类来将分组分到不同的流(flow)中;
2、然后将来自每个流的流量导向转发接口上的相应队列;
3、根据某种算法来为每个接口上的队列服务。
虽然存在许多终端设备,但它们的网络流可以被分类成一些类别(class),例如视频、音频和文件共享,等等。每个类别具有不同的QoS要求。由于网络流可以被分类,因此,诸如路由器和网关之类的网络设备可以根据流的类别来对待它们。
在传统的实现在网络设备处的流量调节器中,流分类器通过查看流中的分组来对流量流分类,并给出分类结果。策略数据库存储各种流量类别的相应策略设置。策略实施单元根据流的类别和该类别的策略设置来处理流。它为这些类别维护一些队列。各个输入分组将被放到用于它的流类别的队列中。高优先级队列中的分组将被先转发。低优先级中队列中的分组将被后转发,甚至被丢弃。注意,在本发明中,“流量调节器”和“QoS单元”可互换使用,都可用来指实施QoS的整个功能模块。
存在多种流分类方法。一些是基于简单的规则的。还有一些是基于复杂的算法的,并且要求强大的硬件。它们的分类准确度仍是个大问题。
两种传统的流分类器包括基于静态信息的分类器和基于特性信息的分类器。
基于静态信息的分类器基于分组信息来对流量流进行分类,所述分组信息主要包括分组头部中的IP地址、端口号和协议。分组头部中的静态信息提供分类器所需的静态信息。标准数据库存储从静态信息到服务的映射,例如端口号80和TCP协议将被映射到HTTP服务。
基于特性信息的分类器基于流特性信息来对流量流进行分类,所述流特性信息主要包括协议、分组长度、分组速率、分组到达间隔时间、流持续时间。流特性信息提供分类器所需的信息。该信息可通过查看并分析流中的分组来获取。流特性信息数据库存储各种服务(例如VoIP服务和HTTP服务)的特性信息。
然而,当前的web已经是多媒体服务平台,例如www.youtube.com。端口80被用于传送多媒体数据和中继各种数据(http代理)。在这种情形下基于静态信息的分类器会出错。此外,也可以使用其他端口来提供web服务,例如用8080或任何其他端口。基于静态信息的分类器在这种情形下也无法工作。
至于基于特性信息的分类器,实际的VoIP使能进行VAD(语音活动检测),然而语音流不会严格匹配规则。分组长度、流速率和到达间隔时间在会话期间将会变化。这将提高分类算法的复杂度并且降低准确度。另外,基于特性信息的分类器还有效率不高的缺点,因为它在作出判决之前需要查看相当多的分组。
另外,在传统的实现在网络设备处的流量调节器中,策略实施单元是在网络层实现的。根据分组的流优先级,分组被放到不同的队列中。优先级较高的队列中的分组将比优先级较低的队列中的分组更早被转发。
覆盖(overlay)技术给出了一个改进QoS的新方向。覆盖网络是一种构建在另一网络上的网络,覆盖层则是应用层和TCP/IP层之间的(虚拟)层。覆盖技术不是在网络设备上预留网络资源,而是改变流量路径以避开拥塞的网络设备。
基于覆盖的方案是特定于应用的。换言之,每个覆盖应用构建其自己的覆盖网络,并且覆盖网络仅为其自己的应用服务。例如,Skype VoIP应用的覆盖只能被Skype客户端使用,诸如MSN messenger之类的其他应用则无法受益于Skype的覆盖网络。
另外,覆盖应用避免了分类问题,因为在其网络上除了其自己的流量之外没有别的流量。
随着覆盖网络的出现,QoS可由终端设备来控制。但是,由于传统的QoS方案在网络侧工作,所以其无法充分利用覆盖网络的优点。
此外,QoS是终端用户所关注的问题。传统的方案以预定的方式来提供QoS。当在会话期间QoS不能满足用户的要求时,用户无法改变QoS。这样几乎无法实现真正良好的用户体验。
发明内容
为解决上述及其他问题,本发明提供了一种基于终端设备的QoS方案。该方案充当一个平台,以比因特网尽力服务更好的QoS来承载多种网络服务。首先在终端设备处对流进行分类。然后,经过分类的流在终端设备处被排队在不同的优先级队列中。最后,考虑流的QoS要求和优先级,属于某个流的分组被经由覆盖网络递送。
本发明的方案也包括流分类和QoS排队。但是这些功能都是在终端设备处实现的。因此,在部署该方案时不需要涉及网络设备。
除了QoS排队之外,本发明的方案还采用了覆盖技术,以提供更好的QoS,因为在网络路由器发生拥塞时,终端设备处的QoS排队是无法解决问题的。
当网络应用正在运行时,用户可以调整应用的优先级,并且也可以调整QoS要求。利用这种反馈,本发明相应地改变了QoS调度和覆盖路径,以满足用户的要求。
由于QoS是在终端设备处执行的,所以应用上下文信息可以很容易被用于提高分类准确度。并且这样也便于用户向QoS单元作出反馈。
换言之,由于数据流量是由终端设备处的网络应用生成的,并且在终端设备上运行的应用是与终端用户交互的接口,所以这给出了在终端设备处实现QoS的至少两个理由。首先,这可以大大提高流分类的准确度。其次,用户可以直接与应用交互以向QoS功能单元反馈信息。然后,QoS单元可与网络设备合作,以动态地要求网络资源来满足用户要求。随着覆盖技术的出现,即使没有网络设备的帮助,用户流量也可获得更好的QoS。
根据本发明的一个方面,提供了一种连接到网络的终端设备,包括:QoS单元,该QoS单元包括:流分类器,该流分类器对要通过所述网络传输的数据流进行分类,并输出指示所述数据流的类别的分类结果;策略数据库,该策略数据库对于一个或多个类别中的每个类别,存储与该类别相对应的策略;以及策略实施单元,该策略实施单元接收来自所述流分类器的分类结果,搜索所述策略数据库以找出与该分类结果中指示的所述数据流的类别相对应的策略,至少基于找出的策略确定要向所述数据流应用的处理,并向所述数据流应用所确定的处理。
在一个实施例中,所述策略数据库中存储的每个策略包括优先级和QoS要求;并且所述策略实施单元基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
在另一个实施例中,所述流分类器包括:流信息数据库,该流信息数据库对于流特性信息和流上下文信息的每种组合,存储着与该组合相对应的流类别;以及流分类单元,该流分类单元获取所述数据流的流特性信息和流上下文信息,搜索所述流信息数据库以找出与所述数据流的流特性信息和流上下文信息的组合相对应的流类别,并输出指示与所述数据流的流特性信息和流上下文信息的组合相对应的流类别的分类结果。
在另一个实施例中,所述流特性信息包括以下各项中的任何一种或多种:网络协议、分组长度、分组到达速率、分组到达间隔时间、以及流的持续时间;并且所述流上下文信息包括以下各项中的任何一种或多种:生成流的应用的名称、生成流的应用的网络特征。
在另一个实施例中,所述策略数据库是面向应用策略数据库;并且所述QoS单元还包括策略调节单元,其接收关于与特定类别相对应的策略的用户输入,并且更新所述面向应用策略数据库以使其包括所述与特定类别相对应的策略。
在另一个实施例中,所述策略数据库中存储的每个策略包括优先级和QoS要求;并且所述策略实施单元基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理,该处理包括以下各项中的任一种或多种:覆盖层转发、覆盖层多路径、直接IP路径。
在另一个实施例中,所述策略实施单元基于找出的策略中包括的QoS要求、与所述终端设备要通过所述网络传输的其他数据流的类别相对应的策略和所述网络的状况来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
根据本发明的另一个方面,提供了一种流分类器,包括:流信息数据库,该流信息数据库对于流特性信息和流上下文信息的每种组合,存储着与该组合相对应的流类别;以及流分类单元,该流分类单元获取数据流的流特性信息和流上下文信息,搜索所述流信息数据库以找出与所述数据流的流特性信息和流上下文信息的组合相对应的流类别,并输出指示与所述数据流的流特性信息和流上下文信息的组合相对应的流类别的分类结果。
根据本发明的另一个方面,提供了一种用于在连接到网络的终端设备处实施QoS的方法,该终端设备包括对于一个或多个类别中的每个类别存储着与该类别相对应的策略的策略数据库,该方法包括以下步骤:对要通过所述网络传输的数据流进行分类以确定所述数据流的类别;搜索所述策略数据库以找出与所述数据流的类别相对应的策略;至少基于找出的策略确定要向所述数据流应用的处理;以及向所述数据流应用所确定的处理。
本发明至少提供了以下优点:
1、提出了一种方法来在终端设备上实现因特网QoS,从而避免了网络设备的部署和更新问题。
2、提供了一个框架,使用一个覆盖网络为各种网络设备服务。
3、给出了一个基于终端设备应用上下文信息的新的流量分类方法。该方案降低了分类复杂度,并且提高了准确度。
4、向QoS方案引入了用户反馈机制,这可以带来更好的用户体验。
5、提出了面向应用的数据库的概念,从而给出了更细的QoS控制粒度。
附图说明
图1示出了根据本发明的计算机网络的示意图。
图2示出了根据本发明第一实施例的终端设备的框图。
图3示出了根据本发明的第一实施例的终端设备中的QoS单元实施QoS的方法。
图4示出了根据本发明第二实施例的终端设备的框图。
图5示出了根据第二实施例的QoS单元中的流分类器所进行的流分类方法的流程。
图6A-6C示出了流分类器对流进行分类的三种示例性情形。
图7示出了根据本发明第三实施例的终端设备的框图。
图8示出了根据第三实施例的QoS单元中的策略调节单元所进行的策略调节方法的流程。
图9示出了策略调节单元更新面向应用策略数据库的一个示例的示意图。
图10示出了根据本发明第四实施例的终端设备的框图。
图11以分层形式示出了根据本发明的终端设备的框架。
图12是利用覆盖技术的策略实施单元200a的更详细示意图。
图13示出了QoS单元中的策略实施单元所进行的策略实施的流程图。
图14示出了覆盖层转发的示例。
图15示出了覆盖层多路径的示例。
具体实施方式
在描述本发明的实施例之前,将说明本发明中出现的一些术语的含义。
终端设备(end device):能够连接到网络并处于网络边缘的设备。终端设备与终端用户交互。终端设备例如可以是诸如桌面型个人计算机(PC)、膝上型笔记本计算机(laptop)、平板PC之类的PC、诸如移动电话、个人数字助理(PDA)之类的移动设备,以及其他各种具有联网能力的电子设备,等等。连接到因特网的终端设备也可被称为主机(host),这是因为他们容宿(运行)着诸如web浏览器或电子邮件收取程序之类的因特网应用。
网络设备(network device):在计算机网络中作为媒介来传递数据的设备。常见的网络设备的示例可包括:网关、路由器、网桥、交换机、集线器、转发器(repeater),等等。
流(flow):也可称为数据流(data flow)或者网络流(networkflow)。流是与终端设备和提供服务的另一终端之间的服务相关联的一系列分组,例如在下载文件时从ftp服务器到终端设备的数据分组。属于一个流的分组具有相同的传输协议、IP地址和端口号。但具有相同协议、IP地址和端口号的分组可能不属于同一流。
策略(policy):本发明中所说的“策略”例如可包括与某一流类别相对应的优先级以及QoS要求(带宽、延迟等等)。
下面参考附图来具体描述本发明的一些实施例。
图1示出了根据本发明的计算机网络的示意图。如图1所示,该计算机网络包括多个终端设备A1、A2、A3等等,以及多个网络设备(例如路由器)B1、B2、B3、B4、B5等等。
与传统的计算机网络不同,在根据本发明的计算机网络中,终端设备A1、A2、A3等等是QoS设备,而传统上作为主要QoS设备的网络设备B1、B2、B3、B4、B5等等则作为辅助QoS设备或者非QoS设备。
QoS设备是QoS方案中的主要单元。这些设备在有或者没有其他种类的设备的情况下实现QoS。辅助QoS设备不是QoS方案中必需的。但是有了它们的帮助,QoS的效果可以更好。
根据本发明,终端设备将执行所有QoS相关操作,即流分类和QoS实施(策略实施)。
下面详细描述每个终端设备的配置。
图2示出了根据本发明第一实施例的终端设备1的框图。如图2所示,与传统的终端设备不同,根据本发明的终端设备1包括QoS单元(也可称为流量调节器)10。本领域的技术人员将会明白,终端设备1当然还可包括具有联网能力的终端设备中常见的其他组件。为简单起见,这里只示出了QoS单元10。
QoS单元10包括流分类器100、策略实施单元200和策略数据库300。
流分类器100对要通过网络发送的数据流进行分类,并向策略实施单元200输出指示该数据流的类别的分类结果。
策略数据库300存储着与一个或多个流类别相对应的策略。与某个流类别相对应的策略可包括与该流类别相对应的优先级和QoS要求。
策略实施单元200接收来自流分类器100的分类结果,搜索策略数据库300以找出与该分类结果中指示的数据流的类别相对应的策略,基于找出的策略确定或者选择要向数据流应用的处理,并向数据流应用所确定的处理。在一种实现方式中,在确定要应用的处理时,除了基于与流类别相对应的策略外,还可以综合考虑终端设备上的其他应用(其他数据流)的优先级和QoS要求,以及当前的网络状况,等等。网络状况例如包括接入带宽以及该终端设备与通信对方之间的带宽、延迟等等。
在一种实现方式中,策略实施单元200基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且基于找出的策略中包括的优先级和QoS要求、终端设备要通过网络传输的其他数据流的优先级和QoS要求以及网络状况来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
图3示出了根据本发明的第一实施例的终端设备1中的QoS单元10实施QoS的方法。
如图3所示,在步骤S101中,流分类器100对要通过网络传输的数据流进行分类以确定数据流的类别。
在步骤S102中,策略实施单元200搜索策略数据库300以找出与数据流的类别相对应的策略,基于找出的策略确定要向数据流应用的处理,并且向数据流应用所确定的处理。
如前所述,传统的因特网QoS方案主要依赖于诸如路由器和交换机之类的网络设备。这些方案难以部署和升级。本发明则充分利用终端设备来提供更好的QoS。从而,在不与网络设备合作的情况下即可以提供很好的QoS。在与网络设备合作(换言之,与现有的QoS协议合作)的情况下(在下文中将更详细描述),则可以提供比现有方案更好的QoS。
图4示出了根据本发明第二实施例的终端设备1a的框图。如图4所示,根据本实施例的终端设备1a中的QoS单元10a所包括的流分类器是如图4所示的流分类器100a。
如图4所示,流分类器100a包括上下文信息辅助分类单元101和流信息数据库102。流信息数据库102中存储着从流特性信息和流上下文信息的各种组合到相应的流类别(服务类型)的映射。上下文信息辅助分类单元101获取数据流的流特性信息和流上下文信息,搜索流信息数据库102以找出与数据流的流特性信息和流上下文信息相对应的流类别,并输出指示出流类别的分类结果。
也就是说,流分类器100a使用两种信息,即流特性信息和流上下文信息。
流特性信息是一种网络层信息,它主要包括流的网络协议(TCP或UDP,等等)、分组长度、分组到达速率、分组到达间隔时间(即,从第n分组到达到第(n+1)分组到达之间的时间)、以及流的持续时间。流特性信息一般是静态的,并且可以由人工设置。流特性信息可通过查看并分析流中的分组来获取。
上下文信息是一种应用层信息,它提供了生成流的应用的名称、以及该应用的网络特征,例如当前使用的IP地址和端口号。在一种示例中,应用上下文信息可包括应用的简档以及该应用所使用的端口号。应用简档描述了应用的网络使用情况。流上下文信息例如可从终端设备上的操作系统获得。
利用静态的流特性信息和从操作系统获得的流上下文信息,通过在流信息数据库102中查找匹配,上下文信息辅助分类单元101可以很容易地判断流的类型。
终端设备1a中的QoS单元10a实施QoS的方法的大体流程与图3所示的方法类似。下面参考图5来详细描述QoS单元10a中的流分类器100a所进行的流分类方法的流程。
在步骤S201中,上下文信息辅助分类单元101获取数据流的流特性信息。
在步骤S202中,上下文信息辅助分类单元101获取数据流的流上下文信息。
在步骤S203中,上下文信息辅助分类单元101在流信息数据库102中查找与数据流的流特性信息和流上下文信息相对应的流类别,从而确定该数据流的类别。
图6A-6C示出了流分类器100a对流进行分类的三种示例性情形。
如图6A所示,firefox是web浏览器。一系列大分组(1448字节)表示大文件下载。大文件可能是视频流或者文件下载。因此,基于协议、分组长度和生成流的应用,可以较为准确地确定流是视频流或者大文件下载。
如图6B所示,当捕捉到由firefox生成的流时,可以执行DPI(深度分组检查)来获得进一步的信息。如图所示,通过执行DPI以获得进一步的信息(URL),可以更加准确地确定该数据流是web视频服务。
可见,由于web被用作多媒体平台,所以不易判断http流量携带的是文本、音频还是视频。基于终端设备的分类器通过DPI可以很容易解决此问题。分类器可以查明http请求是否包含某些关键字,例如web侧域名,或者“flv”后缀,等等,从而来更准确地确定流的类别。
如图6C所示,Skype是一种VoIP软件。它可能具有三种流,即文本消息流、音频流和视频流。这三种流具有不同的流量模型。根据本发明,在结合上下文信息的情况下,通过查看应用所使用的端口上的若干个分组,分类器就可以很容易地确定这些流的类别。
如前所述,在传统的流分类器中,流分类的准确度不高。与之不同,根据本发明的流分类器通过不仅考虑流特性还考虑生成流的应用(上下文),从而提高了流分类的准确度。
并且,由于流分类是在终端设备处实现的,所以应用层信息可以很容易获取,这也使得流分类器可以很容易地获知并利用应用上下文。
应当注意,根据本发明的流分类器并不仅限于终端设备。如果网络设备能够获得应用上下文信息,则它也可以通过利用本发明的流分类器来提高分类准确度。
图7示出了根据本发明第三实施例的终端设备1b的框图。如图7所示,根据本实施例的终端设备1b的QoS单元10b还包括策略调节单元400,并且其中的策略数据库具体而言是面向应用策略数据库(Application-Oriented Policy Database)300a。
策略调节单元400接收关于与特定类别相对应的策略的用户输入(反馈),并且更新面向应用策略数据库300a以使其包括与特定类别相对应的策略。面向应用的策略数据库300a中存储着每个运行的网络应用的优先级设置等等。然后,策略实施单元200在面对有关流时则改变要实施的策略。这样,流的QoS相应地改变。
应当注意,虽然图7中示出的第三实施例中结合了第二实施例中的流分类器,但这并不是必须的。也可以在第一实施例的配置的基础上添加第三实施例的策略调节单元和包括面向应用策略数据库。
下面参考图8来描述QoS单元10b中的策略调节单元400所进行的策略调节方法的流程。
在步骤S301中,策略调节单元400接收关于与特定类别相对应的策略的用户输入。在步骤S302中,策略调节单元400将用户输入映射到QoS。在步骤S303中,策略调节单元400更新面向应用策略数据库300a以使其包括与特定类别相对应的策略。
图9示出了策略调节单元400更新面向应用策略数据库300a的一个示例的示意图。如图所示,面向应用策略数据库300a存储不同网络服务的策略(QoS要求、优先级等等)。面向应用策略数据库300a可为每个应用或每种应用存储策略设置。策略设置是预先定义的,并且可由用户实时改变。例如,默认的web视频具有某些QoS参数,并且优先级为10。
假定用户当前正在观看的web视频使用本地IP地址x和本地端口y,当在会话期间用户例如因为该web视频的QoS不够好而希望将该web视频流的优先级升高时,用户可通过简单的鼠标操作或者较为复杂的软件配置等等,来向QoS单元做出反馈,以指示策略改变。
策略调节单元400监视用户输入,将用户输入映射到应用或流的QoS,并且相应地改变面向应用策略数据库300a。如图所示,新的条目被创建在数据库中,该条目指定(ip=x,端口=y)和更高的优先级12。策略实施单元200随后将给予该特定的web视频更多的使用网络的机会。
如前所述,在现有技术中,当网络接入带宽被完全占用时,用户无法为运行中的应用分配网络带宽。然而QoS是一个与用户体验相关的概念。QoS的好坏应当由用户来判断。为此,根据本发明的基于终端设备的方案通过设置一个动态策略调节装置,为用户提供了向QoS单元作出反馈的机会,使得用户能够为每个应用甚至每个进程改变策略设置,并且在用户的网络接入成为瓶颈时,用户也可以告知QoS单元哪个或哪些流是更重要的。基于用户的反馈,QoS单元可以调整QoS机制以为某一个或多个流提高或降低QoS。
图10示出了根据本发明第四实施例的终端设备1c的框图。如图10所示,根据本实施例的终端设备1c中的QoS单元10c所包括的策略实施单元200a利用了覆盖技术。
图10中示出了策略实施单元200a的内部结构。如图所示,策略实施单元200a包括优先级队列单元201、处理确定单元202和覆盖处理器203。如前所述,在传统的网络中,端到端QoS受到路由路径上的网络设备的很大影响。通过使用覆盖技术,终端设备可以在某种程度上自己控制QoS。
如前所述,与一个流类别相对应的策略包括优先级和QoS要求。这里的QoS要求是该类流需要的QoS。
对于一个数据流,在流分类器确定其类别之后,处理确定单元202根据策略数据库中存储的与该类别相对应的策略中包括的优先级和QoS要求,来计算实际会为该数据流提供的QoS,然后覆盖处理器203执行相应的处理。
对于一个数据流来说,它获得的实际QoS主要取决于它自己的优先级和更高(和同等)优先级的数据流的QoS要求。为了满足更高优先级的数据流的QoS,低优先级的流所要求的QoS可能不会被满足,比如带宽会被降低。在同优先级的数据流之间,如果更高优先级的流已被满足,则这些同优先级的数据流之间的QoS调整可通过一种机制来解决。一种示例性机制是这样的:在存在若干个相同优先级的数据流,而网络资源(主要是接入带宽)只能满足其中一部分流而不能满足所有该优先级的流的情况下,该机制将会选出一部分流来满足他们的要求的QoS,同时使网络资源(接入带宽)使用率最高。没被选中的那些流,就只能享受尽力而为的服务(best effort)了。
可见,对某个流的实际QoS要求的确定通常综合考虑了该流的优先级和QoS要求以及同时存在的其他流的优先级和QoS要求。
然后,覆盖处理器203根据处理确定单元202所确定的实际QoS要求,以及本终端设备与该数据流所涉及的通信对端之间的网络状况(带宽、延迟、分组丢失率等等),来采用覆盖技术保证该实际QoS要求。
图11以分层形式示出了根据本发明的终端设备的框架。图12是工作在覆盖层的策略实施单元200a的更详细示意图。
如图所示,终端设备中的策略实施单元200a使用覆盖技术来实现流的不同QoS要求。覆盖技术主要包括覆盖层转发(overlay redirect)和覆盖层多路径(overlay multipath),其中覆盖层转发利用覆盖中继(relay)来避开发生拥塞的网络设备以减小延迟和分组丢失。覆盖层多路径可用来提高端到端带宽并且减小延迟和分组丢失。
不同的QoS要求可被映射到不同的处理。如图12所示,当分组离开某个优先级队列时,可根据分组的QoS要求,根据某种算法确定要向这些分组的流应用的处理,例如使用覆盖层转发或者覆盖层多路径或者直接IP路径等等,来递送分组。例如,视频流媒体经由覆盖层多路径来递送。VoIP经由覆盖层转发来递送。某些其他网络服务由直接IP路径来传送。
图13示出了QoS单元10c中的策略实施单元200a所进行的策略实施的流程图。
如图13所示,在步骤S401中,优先级队列单元201将经过分类的流放入其中相应的优先级队列。
在步骤S402中,处理确定单元202为各个优先级队列中的流确定相应的处理。如前所述,处理的确定可基于各个流相应的策略、其他流的优先级和QoS要求、以及网络状况等等。可执行的处理包括覆盖层转发、覆盖层多路径、直接IP路径,等等。
在步骤403中,覆盖处理器203将所确定的处理应用到相应的流。
图14示出了覆盖层转发的示例。如图14所示,终端设备A1正在向终端设备A2发送分组。路由路径是从路由器B1到路由器B2再到路由器B3,最后到达终端设备A2(图中的实线)。当在网络设备B2处发生拥塞时,延迟和分组丢失中的主要部分都是由B2导致的。覆盖方案使用覆盖层中继设备来改变路由路径。如图所示,中继设备可以是另一个终端设备A3。此时,路由路径改为图中的虚线所示,即,A1→B1→B4→中继A3→B5→B3→A2。该方法减小了在从终端设备A1到A2的传输过程中的端到端延迟并且也减少了分组丢失。
图15示出了覆盖层多路径的示例。如图所示,由虚线指示的两条路径被同时使用。在最佳情况下,端到端带宽可以是这两条路径的端到端带宽的总和。从而,覆盖可用于增大端到端带宽。
如上所述,根据本发明,使用了覆盖网络技术,从而终端设备能够控制网络设备的QoS。
本发明的QoS实施单元工作在覆盖层,而现有的QoS实施单元工作在网络层。它们之间没有冲突,因此终端设备可与网络设备合作以获得更好的QoS。换言之,本发明的方法可以利用现有的QoS协议来获得更好的QoS。
另外,如上所述,现有技术中的覆盖网络是特定于应用的。每种应用构建其自己的覆盖网络,所构建的覆盖网络仅为该种应用服务。与之不同,根据本发明的覆盖处理器则可为终端设备上的所有应用所共享,可以处理所有应用的流。
应当注意,上述第四实施例是在第三实施例上作出修改的,但第一实施例和第二实施例的QoS单元同样可以包括根据第四实施例的工作在覆盖层的策略实施单元。
虽然已经描述了本发明的一些具体实施例,但是本领域的技术人员将会明白,可以对本发明进行多种修改、组合和替换,并且本发明包含落在所附权利要求书的范围内的这种修改、组合和替换。
Claims (13)
1.一种连接到网络的终端设备,包括:
QoS单元,该QoS单元包括:
流分类器,该流分类器对要通过所述网络传输的数据流进行分类,并输出指示所述数据流的类别的分类结果;
面向应用策略数据库,该策略数据库对于一个或多个类别中的每个类别,存储与该类别相对应的策略;以及
策略实施单元,该策略实施单元接收来自所述流分类器的分类结果,搜索所述策略数据库以找出与该分类结果中指示的所述数据流的类别相对应的策略,至少基于找出的策略确定要向所述数据流应用的处理,并向所述数据流应用所确定的处理;
策略调节单元,其接收关于与特定类别相对应的策略的用户输入,并且更新所述面向应用策略数据库以使其包括所述与特定类别相对应的策略。
2.如权利要求1所述的终端设备,其中
所述策略数据库中存储的每个策略包括优先级和QoS要求;并且
所述策略实施单元基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
3.如权利要求1所述的终端设备,其中
所述流分类器包括:
流信息数据库,该流信息数据库对于流特性信息和流上下文信息的每种组合,存储着与该组合相对应的流类别;以及
流分类单元,该流分类单元获取所述数据流的流特性信息和流上下文信息,搜索所述流信息数据库以找出与所述数据流的流特性信息和流上下文信息的组合相对应的流类别,并输出指示与所述数据流的流特性信息和流上下文信息的组合相对应的流类别的分类结果。
4.如权利要求3所述的终端设备,其中,
所述流特性信息包括以下各项中的任何一种或多种:网络协议、分组长度、分组到达速率、分组到达间隔时间、以及流的持续时间;并且
所述流上下文信息包括以下各项中的任何一种或多种:生成流的应用的名称、生成流的应用的网络特征。
5.如权利要求1所述的终端设备,其中
所述策略数据库中存储的每个策略包括优先级和QoS要求;并且
所述策略实施单元基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理,该处理包括以下各项中的任一种或多种:覆盖层转发、覆盖层多路径、直接IP路径。
6.如权利要求2或5所述的终端设备,其中
所述策略实施单元基于找出的策略中包括的QoS要求和优先级、与所述终端设备要通过所述网络传输的其他数据流的类别相对应的策略中包括的QoS要求和优先级以及所述网络的状况来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
7.一种用于在连接到网络的终端设备处实施QoS的方法,该终端设备包括对于一个或多个类别中的每个类别存储着与该类别相对应的策略的面向应用策略数据库,该方法包括以下步骤:
接收关于与特定类别相对应的策略的用户输入,以及
更新所述面向应用策略数据库以使其包括所述与特定类别相对应的策略;
对要通过所述网络传输的数据流进行分类以确定所述数据流的类别;
搜索所述策略数据库以找出与所述数据流的类别相对应的策略;
至少基于找出的策略确定要向所述数据流应用的处理;以及
向所述数据流应用所确定的处理。
8.如权利要求7所述的方法,其中
所述策略数据库中存储的每个策略包括优先级和QoS要求;并且
至少基于找出的策略确定要向所述数据流应用的处理的步骤包括基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
9.如权利要求7所述的方法,其中,
所述终端设备还包括流信息数据库,该流信息数据库对于流特性信息和流上下文信息每种组合存储着与该组合相对应的流类别并且
对数据流进行分类的步骤包括:
获取所述数据流的流特性信息;
获取所述数据流的流上下文信息;
搜索所述流信息数据库以找出与所述数据流的流特性信息和流上下文信息的组合相对应的流类别来作为所述数据流的类别。
10.如权利要求9所述的方法,其中,
所述流特性信息包括以下各项中的任何一种或多种:网络协议、分组长度、分组到达速率、分组到达间隔时间、以及流的持续时间;并且
所述流上下文信息包括以下各项中的任何一种或多种:生成流的应用的名称、生成流的应用的网络特征。
11.如权利要求7所述的方法,其中
向所述数据流应用所确定的处理的步骤是在覆盖层执行的。
12.如权利要求11所述的方法,其中,
所述策略数据库中存储的每个策略包括优先级和QoS要求;并且
至少基于找出的策略确定要向所述数据流应用的处理的步骤包括基于找出的策略中包括的优先级来将所述数据流放入优先级队列,并且至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理,该处理包括以下各项中的任一种或多种:覆盖层转发、覆盖层多路径、直接IP路径。
13.如权利要求8或12所述的方法,其中
至少基于找出的策略中包括的QoS要求来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理的步骤包括基于找出的策略中包括的QoS要求和优先级、与所述终端设备要通过所述网络传输的其他数据流的类别相对应的策略中包括的QoS要求和优先级以及所述网络的状况来确定在所述数据流离开所述优先级队列时要向所述数据流应用的处理。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910145816.2A CN101924781B (zh) | 2009-06-15 | 2009-06-15 | 终端设备及其QoS实施方法以及流分类器 |
PCT/CN2010/000841 WO2010145196A1 (zh) | 2009-06-15 | 2010-06-12 | 终端设备及其QoS实施方法以及流分类器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910145816.2A CN101924781B (zh) | 2009-06-15 | 2009-06-15 | 终端设备及其QoS实施方法以及流分类器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101924781A CN101924781A (zh) | 2010-12-22 |
CN101924781B true CN101924781B (zh) | 2014-08-13 |
Family
ID=43339425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910145816.2A Expired - Fee Related CN101924781B (zh) | 2009-06-15 | 2009-06-15 | 终端设备及其QoS实施方法以及流分类器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101924781B (zh) |
WO (1) | WO2010145196A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347860B (zh) * | 2011-10-18 | 2014-12-24 | 北京星网锐捷网络技术有限公司 | 网络应用质量的度量方法和装置 |
CN108924110A (zh) * | 2012-06-12 | 2018-11-30 | 华为技术有限公司 | 数据包的处理方法和系统及设备 |
US9094459B2 (en) | 2012-07-16 | 2015-07-28 | International Business Machines Corporation | Flow based overlay network |
CN104580066A (zh) * | 2013-10-11 | 2015-04-29 | 镇江和邦通信技术有限公司 | 基于OpenFlow网络的企业级多媒体通信的QoS实现方法 |
CN105471859B (zh) * | 2015-11-20 | 2019-02-26 | 中铁工程装备集团有限公司 | 一种基于流粒度的访问控制方法 |
CN108093048B (zh) * | 2017-12-19 | 2021-04-02 | 北京盖娅互娱网络科技股份有限公司 | 一种用于获取应用交互数据的方法与装置 |
CN108881058B (zh) * | 2018-05-22 | 2021-10-29 | 安徽师范大学 | 一种网络流到QoS类的软聚集方法 |
US10855604B2 (en) * | 2018-11-27 | 2020-12-01 | Xaxar Inc. | Systems and methods of data flow classification |
CN111541622A (zh) * | 2020-04-17 | 2020-08-14 | 西安万像电子科技有限公司 | 数据传输方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906907A (zh) * | 2003-12-22 | 2007-01-31 | 韩国电子通信研究院 | 用于提高服务质量的无线因特网终端和分组传送方法 |
WO2008031467A1 (en) * | 2006-05-29 | 2008-03-20 | Nokia Siemens Networks Gmbh & Co. Kg | MANAGING QoS IN AN UNIFIED WAY |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI352525B (en) * | 2006-04-03 | 2011-11-11 | Realtek Semiconductor Corp | Network system capable of dynamically controlling |
-
2009
- 2009-06-15 CN CN200910145816.2A patent/CN101924781B/zh not_active Expired - Fee Related
-
2010
- 2010-06-12 WO PCT/CN2010/000841 patent/WO2010145196A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906907A (zh) * | 2003-12-22 | 2007-01-31 | 韩国电子通信研究院 | 用于提高服务质量的无线因特网终端和分组传送方法 |
WO2008031467A1 (en) * | 2006-05-29 | 2008-03-20 | Nokia Siemens Networks Gmbh & Co. Kg | MANAGING QoS IN AN UNIFIED WAY |
Non-Patent Citations (2)
Title |
---|
Roel Ocampo et al.Towards Context-Based Flow Classification.《Autonomic and Autonomous Systems, 2006. ICAS "06. 2006 International Conference on 》.2006, * |
Towards Context-Based Flow Classification;Roel Ocampo et al;《Autonomic and Autonomous Systems, 2006. ICAS "06. 2006 International Conference on 》;20060718;1-9 * |
Also Published As
Publication number | Publication date |
---|---|
WO2010145196A1 (zh) | 2010-12-23 |
CN101924781A (zh) | 2010-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101924781B (zh) | 终端设备及其QoS实施方法以及流分类器 | |
US10243865B2 (en) | Combined hardware/software forwarding mechanism and method | |
JP4619584B2 (ja) | パケット交換網のルータにおいてパケットをスケジュール設定するための方法 | |
US9225659B2 (en) | Method and apparatus for scheduling a heterogeneous communication flow | |
US9935871B2 (en) | Prioritizing local and network traffic | |
EP2772028B1 (en) | Control system, gateway and method for selectively delaying network data flows | |
US8681614B1 (en) | Quality of service for inbound network traffic flows | |
US7050447B2 (en) | Multi-level expedited forwarding per hop behavior | |
CN100409638C (zh) | 用于管理包分段的方法和装置 | |
JP5659125B2 (ja) | 中継装置、中継方法 | |
CA2552153C (en) | Packet communication network and packet communication method | |
US8284789B2 (en) | Methods and apparatus for providing dynamic data flow queues | |
US10637792B2 (en) | Real-time analysis of quality of service for multimedia traffic in a local area network | |
EP3094053A1 (en) | Predictive egress packet classification for quality of service | |
EP2985963A1 (en) | Packet scheduling networking device | |
US9942161B1 (en) | Methods and systems for configuring and updating session-based quality of service for multimedia traffic in a local area network | |
Yaghmaee et al. | A model for differentiated service support in wireless multimedia sensor networks | |
EP1341350B1 (en) | A method for congestion detection for IP flows over a wireless network | |
Lee et al. | Avoiding congestion collapse on the Internet using TCP tunnels | |
Ram et al. | Admission control by implicit signaling in support of voice over IP over ADSL | |
Kingston | Dynamic precedence for military ip networks | |
Banu et al. | Performance Enhancement Architecture of VoIP Applications in Multiprotocol Label Switching Networks | |
Mohammed et al. | Effects of Dynamic Scheduling of Internet Traffics on Multimedia Application Performance | |
Cahyono et al. | Triple play quality of service analysis in IP network | |
Mohammadi et al. | A framework for a distributed protocol set to provide better quality of service for multimedia delivery on IP networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140813 Termination date: 20170615 |
|
CF01 | Termination of patent right due to non-payment of annual fee |