专利名称:一种带宽管理方法及装置的制作方法
技术领域:
本发明涉及到网络数据传输领域,特别涉及一种带宽管理方法及装置。
技术背景1、 P2P应用现状。P2P (Peer-to-Peer,点对点)技术,即点对点通信技术,它打破了传统的 客户端/服务器(C/S)模式,网络中的每台主机的地位是对等的,它们充当客 户端获取资源的同时,也作为服务器对外提供服务。P2P的出现,使得网络带宽的消耗急剧上增。基于P2P协议的软件也是层 出不穷,典型的有迅雷、BitTorrent、比特彗星(BitComet)、电驴(eMule)、 eDonkey、 Poco、酉告狗(Kugoo) 、 FlashGet、 Skype、 PPStream、 PPLive、百宝、 PP点点通、百度下吧、百兆、沸点、Recool、 QQLive、屁屁狗等。据不完全 统计,P2P数据流量已经占因特网总流量的60%以上。P2P的出现,严重影响 了网络的运行效率以及服务质量,冲击着其他的网络应用。2、 现有的应用数据流识别技术。传统的识别技术往往是通过报文的三层头以及四层头来区分不同的应用, 三层头即IP头,比如源IP、目的IP;四层头即TCP (Transmission Control Protocol,传输控制协议)或UDP (User Datagram Protocol,用户数据才艮协议) 头,可以是源端口、目的端口、以及协议类型。但随着互联网技术的不断发展, 该技术已远远不能满足现有的应用需求,也因此催生了许多新兴的识别技术, 应用最为广泛的就是深度包检测技术。该技术对数据报文应用层数据的有效载 荷所封装的内容进行分析,从而达到区分不同应用的目的。深度包检测技术建立在对不同类型应用的报文的应用层数据进行充分分析的基础上,通过对不同类型的应用在通信过程中的报文进行分析,找出其应 用层数据有效载荷中足以标识该类应用的某种共同特征,提取出报文的特征码(比如TCP/UDP报文有效数据的前两个字节都为0x31 0x01等),从而建立不 同类型应用的特征库。在特征库的基础上,通过对数据报文的应用层数据的有 效载荷进行特征库匹配,如果某数据报文匹配了某类应用的特征码,则认为该 报文属于该类应用。传统的P2P技术通常釆用固定端口通信的方式进行数据传输,通过数据报 文的TCP或UDP头部中的端口信息就可以简单的识别出该类P2P数据流。但 随着P2P技术的发展,为了逃避网络对P2P的封杀,P2P不再采用固定的通信 端口,而是釆用随机端口等技术,因此传统的端口识别技术已无法应付现有的 P2P技术,深度包检测技术成了对P2P进行识别的唯一可行且可靠的技术了 。深度包检测技术对数据报文的识别精度依赖于特征库的正确性以及完整 性,该技术最主要的不足就是性能消耗大,其中以深度包检测技术为J^出的数 据流识别技术主要有如下两种1 )基于数据报文的识别技术。这种技术需要对每个数据报文都进行深度 包检测,以确定该^JL属于哪类应用软件。该技术虽然实现简单,但其不足在于性能低下、识别的应用数量有限。 因为有些应用软件通信报文的特征码仅仅存在于通信最初的若干个数据报文 里,并不是所有的报文都具有该特征码,对于这类应用,基于数据报文的识别 技术是无能为力的。2)基于连接的识别技术。由(源IP、源端口、目的IP、目的端口、协议 号)五元组确定一条连接,将某条特定连接所产生的所有数据才艮文看作一个有 机整体,如果其中某个或某些数据报文匹配某应用软件通信报文的特征码,那 么就认为这条连接属于该应用软件,并且这条连接所产生的所有数据才艮文都属 于该应用软件。比如P2P中应用比较多的BitTorrent,采用随机端口技术,数据传输基于TCP协议。通过对该P2P通信过程中报文的有效数据载荷进行分析,发现该 P2P通信在建立一条新的连接时,该连接的最初TCP交互报文里,有一个固定 的特征,即TCP的有效数据载荷的前20个字节为"13 42 69 74 54 6F 72 72 65 6E 74 20 70 72 6F 74 6F 63 6F 6C",即第一个字节为"0x13",紧跟其后的19 个字节为"BitTorrent protocol"字符串。基于这个特征,便可以识别出该应用 是P2P应用,即在一个连接创建的最初报文中,对报文的有效数据载荷进行特 征码匹配,如果报文的有效数据载荷的前20个字节为"13 42 69 74 54 6F 72 72 65 6E 74 20 70 72 6F 74 6F 63 6F 6C,,,就可以将该连4妄识别为BitTorrent应用, 这条连接所产生的报文都属于该P2P应用。虽然该方案考虑了数据报文之间的逻辑关系,只对连接创建的最初若干个 报文进行特征码匹配检测,大大减少匹配检测的次数,在一定程度上提高了系 统的性能;并且增加了可识别的应用的数量。但是其不足在于如果连接的数 量太多,仍会进行频繁的特征码匹配检测,其系统开销也是非常可观的。因此 这种技术只适合于小规模的网络,如小企业网络、小型网吧。3、现有的带宽管理技术。1) 传统带宽管理方法。传统的带宽管理,不对报文进行区分,对所有^=艮文都采用先来先服务的策 略进行处理。由于P2P独特的技术,使得基于P2P的应用软件抢占带宽的能力 为其他应用程序所不及。例如,在一个网络中,如果使用迅雷等P2P软件下载 文件,那么该终端就会持续占用大量带宽资源,导致其他的正常网络应用(如 网络游戏、QQ聊天、Web访问等)出现停顿、速度慢、掉线等现象。因此,传统的带宽管理方式已不再适合当今P2P泛滥的网络现状。2) 基于流的带宽管理技术。该技术是应P2P技术而产生的,所以主要是针对P2P进行带宽管理。该技 术需要通过对各P2P软件在通信过程中的报文进行分析,提取其特征码,然后 采用现有的"基于数据报文的识别技术"跟"基于连接的识别技术"将P2P数据流从其他应用中区分出来,接着对P2P数据流釆用对应的方式进行区分管理。现有的较为普遍的基于流的带宽管理技术大抵可以分为如下两类a) 、禁止P2P应用数据流,将识别出来的P2P数据报文全部丢弃,采用"一 刀切"的做法。该方案虽然实现简单,可以大大提高网络其他业务的服务质量; 但其不足在于网络带宽得不到很好的利用。网吧等还将为此失去客户。b) 、管制P2P应用数据流。在该方案中通常将数据流划分为两类P2P数 据流和其他数据流,不同数据流分配不同的带宽。但数据流的带宽是固定的,不同数据流之间的带宽是不能共享的,即如果分配给某个数据流10M的带宽, 不管这10M带宽是否空闲,其他数据流都不能使用。虽然该方案采用了管制 而非阻断的方式,在保留P2P的情况下,能够减少P2P对网络造成的影响。但 是其不足在于带宽利用率较低;而且网络的服务质量依赖于数据流的带宽取 值以及实际网络应用情况。发明内容本发明提供一种带宽管理方法及装置,用以解决现有技术中对不同应用的 数据流进行带宽控制的问题。本发明提供了一种带宽管理方法,包括如下步骤 识别输入的数据流类型;根据数据流类型,在数据传输线路上相应的虛拟线路通道上传输数据流; 根据数据流类型,对数据传输线路上虚拟线路通道的带宽进行管理。 本发明还提供了一种带宽管理装置,包括 应用识别器,用于识别输入的数据流类型;虚拟线路通道分配模块,用于根据数据流类型,在数据传输线路上相应的 虚拟线路通道上传输数据流;虚拟线路通道带宽调整器,用于根据数据流类型,对数据传输线路上虛拟线路通道的带宽进行管理。本发明有益效果如下本发明首先识别出输入的数据流类型;然后#4居数据流类型在相应的虚拟 线路通道上传输数据流;并且根据数据流类型,对数据传输线路上虚拟线路通 道的带宽进行管理。由于本发明中能够按类对数据流做出区别,并对分配给各 类数据流所使用的带宽进行管理,实现了按数据流类型来进行带宽管理,从而 克服了现有技术中不能有效地对传输的数据流进行带宽管理的不足,能够提高 计算机网络的服务质量和运行效率,特别是针对企业、网吧等网络应用环境, 可以明显提高网络的服务质量。
图1为本发明实施例中所述带宽管理方法实施流程示意图; 图2为本发明实施例中所述带宽管理装置结构示意图; 图3为本发明实施例中所述应用识别器的识别流程实施示意图; 图4为本发明实施例中所述虚拟线路通道带宽调整器调整带宽实施流程示 意图。
具体实施方式
下面结合附图对本发明的具体实施方式
进行说明。图1为带宽管理方法实施流程示意图,如图所示,可以包括如下步骤步骤IOI、识别输入的数据流类型;本步骤实施中,数据流类型可以根据业务优先级、对网络带宽实时性的要 求、对带宽的抢占能力三者之一或者其组合来进行划分。例如可以将所有应 用分类为1、对网络带宽实时性要求较高的网络游戏等;2、对网络带宽实时 性要求不是非常高的应用,如QQ、 MSN、 Web访问以及其他应用等;3、对 带宽抢占能力4交强的应用,如P2P应用等。下面以P2P数据流的识别为例说明本步骤的实施,当网络主机开启P2P 应用程序后,由于P2P应用程序会在本地选择一个端口对外提供服务,充当服 务器,因此基于这个端口就可能产生大量的连接,根据这一特征,识别时可以 通过改进基于连接的识别技术,由(源IP、源端口 ) 二元组确定一个P2P连接 集合,采用基于连接集合的识别技术,则只要该连接集合中有一条连接符合P2P 的特征,就可以标记该集合为P2P连接集合。进一步的,当该连接集合的首条 连接建立时,还可以从该连接最初的数据报文(实施中一般取最初的20个报 文即可)中寻找P2P应用数据流的特征码,(特征码的提取可以通过对该应用 软件通信过程中的报文进行抓包分析),其中特征码可以是TCP\UDP报文的源 端口 、目的端口以及TCP/UDP报文有效数据中某字段的固定特征三者之一或 者其组合,如果特征匹配,那么就能识别出该连接集合为P2P连接集合,同时, 属于该连接集合的后续连接便无须再验证,这可以大大减少了识别次数,极大 地提高了系统的性能。为避免(源IP、源端口 )连接集合数量过多而影响系统性能,可以对非 P2P数据流的识别仍采用现有的基于连接的识别技术。步骤102、根据数据流类型,在数据传输线路上相应的虚拟线路通道上传 输数据流;本步骤实施中,以步骤101中划分的三种类型为例,设在数据传输线路上 划分为三个虚拟线路通道A、 B、 C,且网络游戏等对应虚拟线i 各通道A; QQ、 MSN、 Web访问以及其他应用等对应虚拟线路通道B,并可设定将无法识别的 应用数据流报文都送往虚拟线路通道B; P2P应用对应虚拟线路通道C。实施中,虛拟线路通道是从物理的数据传输线路上抽象出来的,物理的数 据传输线路负责传输全部数据报文,对报文的类型并不进行区分。而虛拟线路 通道目的是将一个物理数据线路抽象成多个虚拟线路,不同的虚拟线路用于负 责传输不同类型的数据报文。虚拟线路通道的个数可以根据具体的网络应用环 境来确定, 一个虚拟线路通道一般负责接收同一类型的应用数据流报文,不同虚拟线路通道的处理相互独立,互不影响。步骤103、根据数据流类型确定数据传输线路上的虚拟线路通道的带宽分 配优先级;本步骤实施时,仍旧以步骤101划分为例,由于网络游戏等应用对带宽实 时性要求较高,因此将该类应用对应的虚拟线路通道A设为最高优先级;而实 时性要求不太高的QQ、 MSN、 Web访问以及其他应用等对应虛拟线路通道B 设为中等优先级;而将抢占带宽资源能力较强的P2P应用对应的虚拟线路通道 C设为低优先级的应用。然后可以根据优先级为A、 B、 C虚拟线路通道分别 指定通道带宽,并可按需要设定虚拟线路通道A不进行限速,虚拟线路通道B、 C则需根据设定的通道带宽,在通道内部将通道带宽公平合理的分配给每一个 用户。本步骤在根据数据流类型确定数据传输线路上的虚拟线路通道的带宽分 配优先级时,还可以按以下方式实施首先通过确定传输线路上的虚拟线路通道的带宽分配优先级,然后根据数 据流类型确定数据流在相应带宽分配优先级的虚拟线路通道上传输;再根据虚 拟线路通道的带宽分配优先级,对数据传输线路上虛拟线路通道的带宽进行管 理。比如,首先确定虛拟线路通道A、 B、 C的带宽分配优先级为高、中、低, 假设此时设定需要优先考虑下载问题,则可将P2P这类数据流类型定为优先级 高,并根据该优先级将其在优先级为高的虚拟线路通道A中传输;显然,如将 P2P类应用定为优先级低,则此时应将其通过优先级为低的虚拟线路通道C传 输。步骤104、根据确定的优先级,对数据传输线路上虚拟线路通道的带宽进 行管理。其中,根据确定的优先级,对数据传输线路上虚拟线路通道的带宽进行管 理时,可以包括如下步骤将有富余带宽的虛拟线路通道上的富余带宽调整至带宽紧张的虛拟线路通道;和/或,当数据传输线路上的虚拟线路通道无富余带宽时,根据优先级在虛拟线路 通道之间进行带宽调整。本步骤中,为了有效提高全局带宽的利用率,不同虛拟线路通道的带宽可 以是动态的、共享的。即当某虚拟线路通道带宽空闲时,可以将空闲带宽暂时 借给其他通道使用,并且当高优先级虚拟线路通道带宽紧张时,可以从低优先 级的通道借用带宽以满足自身的带宽需求。虚拟线路通道带宽的调整可以遵循以下MJ'J:1、 任一时刻,各虚拟线路通道的带宽总和不超过系统总带宽。2、 当某虚拟线路通道带宽紧张时,如果系统或其他虚拟线路通道有富余 带宽,则该虚拟线路通道可以从系统或者其他有富余带宽的虚拟线路通道中借 用带宽。3、 当某虚拟线路通道带宽紧张时,如果系统已无富余带宽,则从比其优 先级低的虚拟线路通道借用带宽。进一步的,如果有多个虚拟线路通道符合要 求,则根据优先级高低借用最低优先级虚拟线路通道的带宽。4、 任何情况下,优先保证高优先级虚拟线路通道带宽需求。 系统有富余带宽的意思是,假设数据传输线路总带宽为10Mbps,如果分配给虚拟线路通道A、 B、 C分别为5Mbps、 3Mbps、 2Mbps;该情况下各虚 拟线路通道的带宽总和等于系统总带宽,如果实际使用分别为4Mbps、 2Mbps、 2Mbps,实际使用共为8Mbps,那么就说系统有富余带宽2Mbps。在各虚拟线 路通道的带宽总和小于系统总带宽时,如分配给虚拟线路通道A、 B、 C分别 为3Mbps、 3Mbps、 2Mbps,如果实际使用分别为3Mbps、 3Mbps、 2Mbps, 实际使用仍旧共为8Mbps,那么系统也有富余带宽2Mbps。换言之,系统的富 余带宽以其实际使用的带宽来进行判断。则实施中,当根据优先级进行带宽调整时,不管系统有无富余带宽,都可页以在虛拟线路通道之间进行带宽调整,当然在系统有富余带宽时,也可以从系 统的富余带宽中调整。如果数据传输线路的带宽在最初就全部都分配给所有的虚拟线路通道,即所有虚拟线路通道的带宽之和等于数据传输线路带宽的情况下当系统有富余带宽的时候,带宽紧张的虚拟线路通道可以从带宽富余的虚 拟线路通道借用带宽;当系统无富余带宽的时候,可以设定优先满足高优先级的虛拟线路通道的 带宽需求,即高优先级的虚拟线路通道可以借用低优先级的虚拟线路通道,而 此时低优先级的虚拟线路通道带宽可能也是紧张的;举个例子数据传输线路的带宽为10Mbps,将该线路虚拟成3个虚拟线 路通道A、 B、 C,并假定优先级A〉B〉C,在分配给A通道带宽为2Mbps, B 通道带宽为5Mbps, C通道带宽为3Mbps后,可以看出2+5+3=10,即线路带 宽全部分配给虚拟线i 各通道了 。假设某一时刻,虚拟线路通道A带宽紧张。此时,如果数据传输线路实际 使用带宽为5Mbps,则认为系统还有5Mbps的剩余带宽,然后可以查看是哪个 虚拟线路通道有剩余带宽,如果发现虚拟线路通道B实际使用带宽只有 3Mbps,即虚拟线路通道B有剩余带宽,此时可以从虛拟线路通道B借用1Mbps 带宽。借用完后,虛拟线路通道A带宽变成3Mbps,虚拟线路通道B带宽变 成4Mbps,虚拟线路通道C带宽不变,为3Mbps。下面以对含P2P应用的带宽管理为例进行说明,在数据流类型包括P2P 应用数据流时;识别输入的数据流类型具体是根据TCPMJDP报文的源端口、 目的端口、 TCP/UDP报文有效数据中某字段的固定特征其中之一或者其组合 识别出输入数据流中的P2P应用数据流;;根据数据流类型确定传输P2P应用数据流的虛拟线路通道的带宽分配优 先级与传输其他类型数据流的虚拟线路通道的优先级关系;在传输P2P应用数据流的虚拟线路通道上传输相应的P2P应用数据流时,根据传输P2P应用数据流的虚拟线路通道的带宽分配优先级与传输其他类型 数据流的虚拟线路通道的优先级关系,将有富余带宽的虚拟线路通道上的富余带宽调整至带宽紧张的传输P2P应用数据流的虚拟线^^通道;和/或,当数据 传输线路上的虚拟线路通道无富余带宽时,根据优先级在虚拟线路通道之间进 行带宽调整。需要说明的是,上述实施例说明了根据优先级进行带宽管理的实施方式, 事实上,在根据数据流类型在数据传输线路上相应的虚拟线路通道上传输数据 流后,还可以直接根据数据流类型对数据传输线路上虚拟线路通道的带宽进行 自己所需的管理。因为,当对数据流进行分类识别,并进行分类传输后,对传 输通道进行何种管理都是本领域技术人员容易了解的,例如当需要加强对游 戏类别数据流的管理控制时,可简单的将传输该类的数据流的虚拟线路通道关 闭等等诸如此类的管理方法。本发明还提供了一种带宽管理装置,下面结合附图对本装置的具体实施方 式进行说明。图2为带宽管理装置结构示意图,如图所示,管理装置中包括 应用识别器201,用于识别输入的数据流类型;虚拟线路通道分配模块202,用于根据数据流类型,在数据传输线路上相 应的虚拟线路通道上传输数据流;虛拟线路通道带宽调整器203,用于根据数据流类型,对数据传输线路上 虚拟线路通道的带宽进行管理。所述虚拟线路通道带宽调整器包括第一优先级确定单元与第一带宽调整 器单元,或者是,与所述虚拟线路通道分配模块相连的第二优先级确定单元与 第二带宽调整器单元。当虚拟线路通道带宽调整器包括第一优先级确定单元与第一带宽调整器 单元时,第一优先级确定单元根据数据流类型确定数据传输线路上的虚拟线 路通道的带宽分配优先级;第一带宽调整器单元根据所述第一优先级确定单元确定的优先级,对数据传输线路上虚拟线路通道的带宽进行管理;当虚拟线路通道带宽调整器包括与所述虛拟线路通道分配模块相连的第 二优先级确定单元与第二带宽调整器单元时,第二优先级确定单元确定传输线 路上的虛拟线路通道的带宽分配优先级;此种方式下,虛拟线路通道分配模块 还可以进一步用于根据数据流类型确定数据流在相应带宽分配优先级的虛拟 线路通道上传输,所述带宽分配优先级由所述第二优先级确定单元确定;然 后第二带宽调整器单元根据所述第二优先级确定单元确定的虚拟线路通道的带宽分配优先级,对数据传输线路上虚拟线路通道的带宽进行管理。在第一带宽调整器单元还可以包括第一分配子单元和/或第二分配子单元, 其中第一分配子单元,用于将有富余带宽的虚拟线路通道上的富余带宽调整至 带宽紧张的虚拟线路通道;第二分配子单元,用于在当数据传输线路上的虚拟线路通道无富余带宽 时,根据优先级在虚拟线路通道之间进行带宽调整;在第二带宽调整器单元还可以包括第三分配子单元和/或第四分配子单元,其中第三分配子单元,用于将有富余带宽的虚拟线路通道上的富余带宽调整至 带宽紧张的虚拟线路通道;第四分配子单元,用于在当数据传输线路上的虚拟线路通道无富余带宽 时,根据优先级在虚拟线路通道之间进行带宽调整。管理装置中还可以进一步包括数据流类型划分^t块,用于才艮据业务优先 级、对网络带宽实时性的要求、对带宽的抢占能力三者之一或者其组合划分数 据流类型。实施中,管理装置中应用识别器还可以进一步用于根据业务优先级、对网 络带宽实时性的要求、对带宽的抢占能力三者之一或者其组合确定数据流类型 中包括P2P应用萄:据流时,识别出输入数据流类型中的P2P应用数据流,所述识别时根据TCPMJDP报文的源端口、目的端口、 TCP/UDP报文有效数据中某 字段的固定特征其中之一或者其组合进行识别;所述优先级确定模块进一步用于根据数据流类型确定传输P2P应用数据 流的虚拟线路通道的带宽分配优先级与传输其他类型数据流的虚拟线路通道 的优先级关系;所述虚拟线路通道带宽调整器进一步用于在传输P2P应用数据流的虚拟 线路通道上传输相应的P2P应用数据流时,根据传输P2P应用数据流的虚拟线 路通道的带宽分配优先级与传输其他类型数据流的虚拟线路通道的优先级关 系,将有富余带宽的虚拟线路通道上的富余带宽调整至带宽紧张的传输P2P应 用数据流的虚拟线路通道;和/或,当数据传输线路上的虚拟线路通道无富余带 宽时,根据优先级在虚拟线路通道之间进行带宽调整。具体实施中,管理装置可以应用于路由器,或者其他具有路由作用的其他 设备。此外,也可以应用在透明模式的带宽管理设备中,只需将带宽管理装置 串接在一对网络接口之间,网络流量从带宽管理装置一个网络接口流入,从其 另一个网络接口流出即可,反之亦然。在管理装置中,可以根据网络的实际应用环境定义应用的优先级种类,然 后根据优先级种类设定虚拟线路通道的个数,每个虚拟线路通道对应一个应用 优先级,为每个虚拟线路通道定义一个通道带宽,各个虚拟线路通道的带宽之 和等于出口总带宽。当然实施中也可以通过其他参数对应用进行分类,从而定 义对应的虛拟线路通道。实施中,应用识别器识别输入的应用凝:据流4艮文,并将其送入相对应的虚 拟线路通道。对于接收到的报文,虚拟线路通道可以结合自身带宽使用情况以 及通道内该用户带宽使用情况决定是否转发该报文。同时,虚拟线路通道带宽 调整器可以定期轮询、或者根据需要查询各虛拟线路通道的带宽使用情况,动 态调整各虛拟线路通道的带宽,从而在保证高优先级虛拟线路通道有充足带宽 的前提下,最大化网络总带宽的利用率。下面再对各个功能部分的具体实施方式
进行说明,实施中将以数据流中含有P2P应用数据流为例进行说明,并以之为例来阐述对含P2P应用数据流下的带宽管理。1、应用识别器。应用识别器主要负责识别输入的应用数据流报文,然后由虚拟线路通道分 配模块根据识别结果将报文送往相对应的虚拟线路通道。应用识别器的关键是对数据流类型的识别,下面以P2P应用数据流的识别 为例进行说明。当网络主机开启P2P应用程序后,会在本地选择一个端口对外提供服务, 充当服务器。因此基于这个端口就可能产生大量的连接。根据这一特征,通过 改进基于连接的识别^^支术可以进行识别,首先由源IP、源端口构成的二元组确 定一个P2P连接集合,采用基于连接集合的识别技术,只要该连接集合中有一 条连接符合P2P的特征,即某连接产生的某些报文匹配了 P2P软件通信过程的 特征码,就可以识别出该集合为P2P连接集合。进一步的,当该连接集合的首 条连接建立时,从该连接最初的数据报文(一般取最初的20个报文即可)中 寻找P2P应用数据流的特征码,(特征码的提取可以通过对该应用软件通信过 程中的报文进行抓包分析),其中特征码可以是TCP/UDP( Transmission Control Protocol/ User Datagram Protocol,传输控制协议/用户数据报协议)报文的源端 口 、目的端口以及TCP/UDP ^J艮文有效数据中某字^a的固定特征三者之一或者 其组合,如果特征匹配,那么就可以识别出该连接集合为P2P连接集合,属于 该连接集合的后续连接便无须再验证便作为P2P连接,可以减少了识别次数, 极大地提高了系统的性能。为避免源IP、源端口的二元组识别连接集合数量过多而影响系统性能,可 以对非P2P数据流的识别仍采用基于连接的识别技术。应用识别器所能识别的应用数据流的种类跟收集的应用数据流特征种类 紧密相关, 一般情况下,应用识别器无法识别所有的应用数据流,对于无法识别的应用数据流,实施中可以送往一个预先设定的虚拟线路通道。图3为应用 识别器的识别流程实施示意图,其中,连接是指由(源IP,源端口,目的IP, 目的端口,协议号)五元组确定的一个会话连接,连接集合是指由(源IP,源 端口 ) 二元组确定的一个会话连接集合,则如图所示,可以包括如下步骤步骤301、数据流报文到达;步骤302、根据报文的五元组信息(源IP、源端口、目的IP、目的端口、 协议号)判断该报文所属的连接是否是已经创建的,是则转入步骤306,否则 转入步骤303;步骤303、根据报文的五元组信息(源IP、源端口 、目的IP、目的端口 、 协议号)新建一条连接,并将该连接已检查的报文个数置零;判断一条新建的连接属于哪种应用类型时,为了提高效率,只需要对该连 接的最初几个报文(比如可以是20个)进行特征码匹配,由这些最初报文所 匹配的类型来确定该连接所有报文所属的类型。所以本步骤中,当一条连接新 建时,可以采用将该连接已检查的报文个数置零的方式,以便后续对已检测报 文个数进行计数;为了更好的理解本实施方式,当某条连接新建时,将其已检查的报文个数 置零。当该连接后续报文到来时,将会进入步骤306以下的流程;通过连接新 建时的置零,以及下述步骤中310的将该连接已检查的报文个数力口一,这样当 该连接后续报文到来时,该连接已检查的报文个数就会逐个递增,结合步骤 308,就可以在该连接已检查的报文个数达到指定阀值时,停止特征码的匹配。 显然,在该连接已检查的报文个数达到指定阀值前,该连接还可能因为已经被 识别出属于哪种应用而停止特征码的匹配。步骤304、判断是否存在与该新建连接对应的P2P (源IP,源端口 )连接 集合,是则转入步骤305,否则转入步骤310;步骤305、将该连接打上P2P标识,将数据报文送往对应的P2P虚拟线路 通道传输;本步骤中,将该连接打上P2P标识,其目的在于如果连^^妄已经打上标识, 即代表该连接已经被识别出来属于P2P应用类型,该连接后续的报文直接送入 该连接所标识的通道,而无需再匹配特征码,该种打上标识的具体实施方式
是 为了避免让该连接的后续报文进来后却继续走特征码匹配的路径。步骤306、判断该连接是否已经打上虛拟线路通道标识,是则转入步骤307, 否则转入步骤308;本步骤需要说明的是,连接所属的通道标识可能产生于步骤305、309、314、315;步骤307、将数据流送往与该连接的虛拟线路通道标识所对应的虚拟线路 通道传输;步骤308、判断该连接已被检查的报文是否小于指定的阀值,是则转入步 骤310,否则转入步骤309;本步骤中, 一般只需对新建连接的最初20个数据报文进行特征码匹配, 此时则可将阀值设为20。步骤309、将数据流送往默认的虚拟线路通道传输,该虚拟线路通道可以 是预先设置专门用于传输该类检查报文个数大于20,却未打上通道标识的连接 的后续数据报文;实施中,也可以设定一些数据流类型在一个专用的虚拟线路通道传输,如 可设定该通道为"未知类型通道",那么也可设定本步骤中出现的,某连接的 最初20个报文无法匹配任何现有的已知的应用的特征码的话,默认为该连接 所属的应用类型未知,其后续(20个以后)所有的报文类型均是未知,并用未 知类型的虛拟线路通道传输;显然也可用专门的用于传输该类已检查的报文个 数大于20,却未打上标识的连接的后续数据报文的虚拟线路通道来传输。步骤310、对报文进行特征库匹配,将该连接已检查的报文个数+l;本步骤的特征可以采用报文的源端口 、目的端口以及TCP/UDP报文有效 数据中某字段的固定特征等;步骤311、判断数据包是否匹配特征库,是则转入步骤313,否则转入步 骤312;步骤312、将数据流送往默认的虛拟线路通道传输,该虚拟通道可以是预 先设置专门用于传输该类不匹配特征库类型的数据流的;与步骤309相同,为了使虚拟线路通道数目减少,也可将这类某个连接最 初20个报文里,无法匹配特征码的报文也在"未知类型通道"进行传输。步骤313、判断是否是P2P数据流,是则转入步骤314,否则转入步骤315;步骤314、将数据流送往对应的P2P虛拟线路通道传输,根据匹配的特征 库类型,给连接打上相应的虛拟线路通道标识,同时根据该连接的五元组信息 生成一个"源IP、源端口"的P2P连接集合;步骤315、将数据流送往对应的虚拟线路通道传输,根据匹配的特征库类 型,给该连接打上相应的虚拟线路通道标识。2、虛拟线路通道与虛拟线路通道分配模块。虚拟线路通道是从物理上的数据线路上虛拟出来实现的,物理数据线路负 责传输全部数据报文,但其对报文的类型并不进行区分。利用虚拟的线路通道 可以将一个物理数据线路抽象成多个虛拟线路,使不同的虛拟线路来传输不同 类型的数据报文。虛拟线路通道的个数可以根据具体的网络应用环境来确定,实施时可以设 定一个虚拟线路通道传输同一类型的应用数据流报文,不同虚拟线路通道的处 理相互独立,互不影响。假设将所有tt据流应用分为三类,并设定三种优先级,分别在三个虚拟线 路通道A、 B、 C上传输,则可以使优先级确定模块来假定如网络游戏等对实 时性要求较高的为最高优先级,对应虚拟线路通道A来传输;如QQ、 MSN、 Web访问以及其他应用等实时性要求不高的应用为中等优先级,对应虚拟线路 通道B来传输,P2P应用为低优先级,对应虚拟线路通道C来传输。本例中还 假定应用识别器无法识别的应用数据流报文,也交由虚拟线路通道B传输。实施中可以为虚拟线路通道A、 B、 C分别指定通道带宽。例如可以设定虛拟线 路通道A不进行限速、虚拟线路通道B、 C根据设定的通道将带宽公平分配给 每一个用户。另一种实现方式可以是,首先确定传输线路上的虛拟线路通道的带宽分配 优先级,然后根据数据流类型确定数据流在相应带宽分配优先级的虛拟线路通 道上传输;再根据虚拟线路通道的带宽分配优先级,对数据传输线路上虚拟线 路通道的带宽进行管理。比如,首先确定虚拟线路通道A、 B、 C的带宽分配优先级为高、中、低, 假设此时设定需要优先考虑下载问题,则可将P2P这类数据流类型定为优先级 高,并根据该优先级将其在优先级为高的虛拟线路通道A中传输;显然,如将 P2P类应用定为优先级低,则此时应将其通过优先级为低的虛拟线路通道C传 输。当虚拟线路通道设定好后,虚拟线路通道分配模块便可以根据数据流类 型,在数据传输线路上的虚拟线路通道上传输相应的数据流了 。 3、虚拟线路通道带宽调整器。为了有效提高全局带宽的利用率,不同虚拟线路通道的带宽必须是动态 的、可以共享的。即当某虚拟线路通道带宽空闲时,可以将空闲带宽暂时借给 其他通道使用,并且当高优先级虛拟线路通道带宽紧张时,可以从低优先级的 通道借用带宽以满足自身的带宽需求。首先可以为每个虛拟线路通道指定一个通道带宽,这样可以为通道带宽调 整器提供一个调整的基准。然后带宽调整器通过定期检查虛拟线路通道的带宽 使用情况,动态调整通道带宽,图4为虚拟线路通道带宽调整器调整带宽实施 流程示意图,如图所示,带宽调整实施流程可以包括以下步骤步骤401 、按虚拟线路通道优先级遍历虚拟线路通道;步骤402、是否还有其他未遍历的虚拟线路通道,否则转入步骤409,是 则转入步骤403;步骤403 、进入该未遍历的虚拟线路通道;步骤404、判断该虚拟线路通道是否带宽紧张,是则转入步骤405,否则 转入步骤402;步骤405、判断系统是否有富余带宽,是则转入步骤406,否则转入步骤407;步骤406、从富余带宽中调配带宽至该虚拟线路通道,转入步骤402; 步骤407、判断是否有优先级更低的虚拟线路通道,是则转入步骤408, 否则转入步骤402;步骤408、从低优先级的虚拟线路通道调配带宽至该虚拟线路通道,转入 步骤402;步骤409、结束带宽调整。实施中,虚拟线路通道带宽调整器对带宽的调整可以遵循以下规则1、 任一时刻,各虚拟线路通道的带宽总和不超过系统总带宽。2、 当某虚拟线路通道带宽紧张时,如果系统有富余带宽,则该虚拟线路 通道可以从有富余带宽的虚拟线路通道中借用带宽。3、 当某虚拟线路通道带宽紧张时,如果系统已无富余带宽,则从比其优 先级低的虚拟线路通道借用带宽。进一步的,如果有多个虛拟线路通道符合要 求,则可按优先级高低借用低优先级虚拟线路通道的带宽。4、 一般情况下尽量优先保证高优先级虛拟线路通道带宽需求。 从上述实施可以看出,本发明通过识别输入的数据流类型;然后根据数据流类型在数据传输线路上的虛拟线路通道上传输相应的数据流;并且根据数据 流类型,对数据传输线路上虚拟线路通道的带宽进行管理。由于本发明中能够 按类对数据流作出区別,并对分配给各类数据流所使用的带宽进行管理,实现 了按数据流类型来进行带宽管理,从而克服了现有技术中不能有效地对传输的 数据流进行带宽管理的不足,能够提高计算机网络的服务质量和运行效率,特 别是针对企业、网吧等网络应用环境,可以明显提高网络的服务质量。例如,在企业、网吧等网络应用环境在网络出口设备(如路由器)上采用本方案后,如果需要对P2P的应用进行限制的话,就可以在保留P2P的同时, 优先保证了重点应用的带宽需求。即使在P2P泛滥的情况下,通过优先级调整 P2P与其它类型数据流的带宽调配,也依然能够保证游戏不卡、QQ不掉、访 问网页速度快等应用的优势。并且当网络中重点应用的带宽需求不高时,通过 提高对P2P应用的带宽调整,使得P2P又能充分利用带宽,大大提高了网络的 服务质量以及运行效率。明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种带宽管理方法,其特征在于,包括如下步骤识别输入的数据流类型;根据数据流类型,在数据传输线路上相应的虚拟线路通道上传输数据流;根据数据流类型,对数据传输线路上虚拟线路通道的带宽进行管理。
2、 如权利要求1所述的方法,其特征在于,所述根据数据流类型,对数 据传输线路上虚拟线路通道的带宽进行管理,具体为根据数据流类型确定数据传输线路上的虚拟线路通道的带宽分配优先级; 根据确定的优先级,对数据传输线路上虚拟线路通道的带宽进行管理。
3、 如权利要求l所述的方法,其特征在于,进一步包括 确定传输线路上的虚拟线路通道的带宽分配优先级; 所述根据数据流类型,在数据传输线路上相应的虛拟线路通道上传输数据流,具体为根据数据流类型确定数据流在相应带宽分配优先级的虚拟线路通 道上传输;所述根据数据流类型,对数据传输线路上虛拟线路通道的带宽进行管理, 具体为根据虚拟线路通道的带宽分配优先级,对数据传输线路上虚拟线路通 道的带宽进行管理。
4、 如权利要求2或3所述的方法,其特征在于,所述根据确定的优先级, 对虚拟线路通道的带宽进行管理,具体为将有富余带宽的虚拟线路通道上的富余带宽调整至带宽紧张的虚拟线路 通道;和/或,当数据传输线路上的虛拟线路通道无富余带宽时,根据优先级在虚拟线路 通道之间进行带宽调整。
5、 如权利要求1所述的方法,其特征在于,所述识别输入的数据流类型 之前还包括根据业务优先级、对网络带宽实时性的要求、对带宽的抢占能力 三者之一或者其组合划分数据流类型。
6、 如权利要求5所述的方法,其特征在于,所述数据流类型包括P2P应 用数据流;所述识别输入的数据流类型具体包括根据TCPXUDP报文的源端 口、目的端口、 TCP/UDP报文有效数据中某字段的固定特征其中之一或者其 组合识别出输入数据流中的P2P应用数据流。
7、 一种带宽管理装置,其特征在于,包括 应用识别器,用于识别输入的数据流类型;虚拟线路通道分配^t块,用于根据数据流类型,在数据传输线路上相应的 虚拟线路通道上传输数据流;虚拟线路通道带宽调整器,用于根据数据流类型,对数据传输线路上虚拟 线路通道的带宽进行管理。
8、 如权利要求7所述的管理装置,其特征在于,所述虚拟线路通道带宽 调整器包括第一优先级确定单元与第一带宽调整器单元,或,与所述虚拟线 路通道分配模块相连的第二优先级确定单元与第二带宽调整器单元,其中第一优先级确定单元,用于根据数据流类型确定数据传输线路上的虚拟线 路通道的带宽分配优先级;第一带宽调整器单元,用于根据所述第一优先级确定单元确定的优先级, 对数据传输线路上虚拟线路通道的带宽进行管理;第二优先级确定单元,用于确定传输线路上的虚拟线路通道的带宽分配优 先级;所述虚拟线路通道分配模块进一步用于根据数据流类型确定数据流在相 应带宽分配优先级的虚拟线路通道上传输,所述带宽分配优先级由所述第二优 先级确定单元确定;第二带宽调整器单元,用于根据所述第二优先级确定单元确定的虛拟线路 通道的带宽分配优先级,对数据传输线路上虛拟线路通道的带宽进行管理。
9、 如权利要求8所述的管理装置,其特征在于,所述第一带宽调整器单 元包括第一分配子单元和/或第二分配子单元,或,所述第二带宽调整器单元包括第三分配子单元和/或第四分配子单元,其中第一分配子单元,用于将有富余带宽的虛拟线路通道上的富余带宽调整至 带宽紧张的虚拟线路通道;第二分配子单元,用于在当数据传输线路上的虚拟线路通道无富余带宽 时,根据优先级在虚拟线路通道之间进行带宽调整;第三分配子单元,用于将有富余带宽的虚拟线路通道上的富余带宽调整至 带宽紧张的虚拟线路通道;第四分配子单元,用于在当数据传输线路上的虚拟线路通道无富余带宽 时,根据优先级在虛拟线路通道之间进行带宽调整。
10、 如权利要求7至9任一所述的管理装置,其特征在于,进一步包括 数据流类型划分模块,用于根据业务优先级、对网络带宽实时性的要求、对带 宽的抢占能力三者之一或者其组合划分数据流类型。
11、 如权利要求10所述的管理装置,其特征在于,所述应用识别器进一 步用于根据业务优先级、对网络带宽实时性的要求、对带宽的抢占能力三者之 一或者其组合确定数据流类型中包括P2P应用数据流时,识别出输入数据流类 型中的P2P应用数据流,所述识别时根据TCPMJDP报文的源端口、目的端口、 TCP/UDP报文有效数据中某字段的固定特征其中之一或者其组合进行识别。
全文摘要
本发明公开了一种带宽管理方法及装置,包括识别输入的数据流类型;根据数据流类型,在数据传输线路上相应的虚拟线路通道上传输数据流;根据数据流类型,对数据传输线路上虚拟线路通道的带宽进行管理。使用本发明能够实现按数据流类型来进行带宽管理,能够提高计算机网络的服务质量和运行效率,特别是针对企业、网吧等网络应用环境,可以明显提高网络的服务质量。
文档编号H04L29/06GK101257454SQ20081010248
公开日2008年9月3日 申请日期2008年3月21日 优先权日2008年3月21日
发明者魏逢一 申请人:北京星网锐捷网络技术有限公司