流量控制方法、装置及网络设备的制作方法

文档序号:7897081阅读:272来源:国知局
专利名称:流量控制方法、装置及网络设备的制作方法
技术领域
本发明涉及网络通信技术,尤其涉及一种流量控制方法、装置及网络设备。
背景技术
点对点(Peer to Peer ;简称为P2P)应用是一种基于P2P技术的应用。在P2P 系统中,每个客户端在下载数据的同时又会不断的上传数据,这可以减轻运营商服务器 的负担,同时用户也可获得流畅的服务,因此,基于P2P技术的应用层出不穷,例如 PPLIVE、QQLIVE等软件都属于应用P2P技术的软件。目前多数P2P应用使用用户数据 包协议(UserDatagram Protocol ;简称为UDP)进行数据传输,其中具有相同源网际协 议(Internet Protocol ;简称为IP)地址、目的IP地址、IP协议、UDP源端口禾PUDP目 的端口的报文流为数据流。随着P2P应用越来越普遍,P2P应用消耗了大量的网络带宽,若不对该P2P应 用中的流量进行控制,将会严重影响整个网络的正常使用。现有的流量控制方法主要 是由网络出口设备对接收到的流量进行限速控制输出流量,以通过对输出流量的控制 来达到控制输入流量的目的。以图1所示的网络拓扑结构为例,内网PC向网络出口 设备发送的数据流为数据流fl,网络出口设备处理后发送给互联网服务提供商(Internet ServiceProvider ;简称为ISP)网络的数据流为数据流f2,通过ISP网络发送给内网的数 据流为数据流f3,网络出口设备处理后发送给PC的数据流为数据流f4。对于网络出口 设备而言,无法直接控制数据流fl和数据流f3,因此,网络出口设备通过直接对数据流 G和数据流f4进行限速达到流量控制的目的。对于数据流f3过大出现拥塞的情况,网 络出口设备是通过控制数据流f2和数据流f4来影响数据流f3,该效果一般较差,因为对 于P2P应用而言,由于处理前后流量的相关性不大,因此,很难通过数据流G和数据流 f4的大小来影响数据流f3,因此,上述流控方法很难有效控制P2P流量对线路带宽的消 耗,仍会导致网络拥塞,降低了网络带宽的利用率。另外,通过控制P2P的连接数也是一种常见的流控方法。由于P2P应用的数据 流都是从外部客户端获取的,为了得到较快的速率,P2P应用都会尽可能要求连接更多的 外部客户端,因此,通过控制P2P的连接数具有一定的流控效果,但是流控效果较差, 由于P2P连接有时只需很少的连接就可以达到很大的流量。另外,现有技术也有将上述两种方法结合使用来进行流量控制,但是每种方法 的缺陷依然存在,流控效果仍然较差。

发明内容
本发明提供一种流量控制方法、装置及网络设备,用以提高流量控制的效果, 减轻网络拥塞,提高网络带宽利用率。本发明提供一种流量控制方法,包括获取网络设备的输入数据流量和输出数据流量;
5
根据所述输入数据流量、所述输出数据流量和至少一个预设门限值,获取所述 网络设备的流控级别;执行所述流控级别对应的流量控制操作,以进行流量控制。本发明提供一种流量控制装置,包括流量获取模块,用于获取网络设备的输入数据流量和输出数据流量;级别获取模块,用于根据所述输入数据流量、所述输出数据流量和至少一个预 设门限值,获取所述网络设备的流控级别;执行模块,用于执行所述流控级别对应的流量控制操作,以进行流量控制。本发明提供一种网络设备,包括本发明提供的任一流量控制装置。本发明的流量控制方法、装置及网络设备,通过获取输入网络设备的数据流量 和网络设备输出的数据流量;根据输入数据流量、输出数据流量和至少一个预设门限 值,可获取网络设备当前的流控级别,然后,执行与流控级别相应的流量控制操作以进 行流量控制。与现有技术相比,本发明根据流控级别可以动态执行流量控制操作以进行 流量控制,其流量控制效果较高,减轻了网络堵塞,提高了网络带宽的利用率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。图1为现有技术一种网络拓扑结构示意图;图2为本发明实施例一提供的流量控制方法的流程图;图3为本发明实施例二提供的流量控制方法的流程图;图4为本发明实施例三提供的流量控制装置的结构示意图;图5为本发明实施例四提供的流量控制装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施 例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实 施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护 的范围。图2为本发明实施例一提供的流量控制方法的流程图。如图2所示,本实施例 的方法包括步骤21、获取网络设备的输入数据流量和输出数据流量;其中,网络设备主要是指位于网络边缘的网络出口设备,主要负责对流入网络 设备所在网络的数据流和流出网络的数据流进行流量控制;通常,网络设备通过预先设 置的允许流量阈值,进行流量控制。具体的,网络设备接收由外部流入网络的数据流 量,即输入数据流量,并根据允许流量阈值对该输入数据流量进行流量控制,然后输出经过流量控制后的数据流,即输出数据流量。在本实施例中,网络设备获取输入数据流 量和输出数据流量。步骤22、根据输入数据流量、输出数据流量和至少一个预设门限值,获取网络 设备的流控级别;通常,网络设备的输入数据流量和输出数据流量越接近,说明网络状态越好, 带宽利用率越高;而如果输入数据流量远大于输出数据流量,说明网络发生拥塞,带宽 利用率会降低。其中,输入数据流量和输出数据流量的大小关系可表示出是否需要进行 流量控制,以及进行流量控制的程度。其中,输入数据流量和输出数据流量的大小关系可以用输入数据流量和输出数 据流量的差值表示,也可以用输入数据流量和输出数据流量的比值来表示。基于上述, 为了判断输入数据流量和输出数据流量的大小关系,在本实施例的网络设备上预先设置 了至少一个门限值,通过将差值或比值和至少一个门限值进行比较,可以将当前输入数 据流量和输出数据流量的大小关系进行分级,以便于更清楚的了解当前网络状态和带宽 利用率,同时获取需要进行流量控制的程度,即流控级别。其中,根据表示输入数据流 量和输出数据流量大小的方式至少一个门限值的设定方式会不同。例如当采用差值形 式时,预设门限值为一具体的数据流量值,具有数据流量的单位;当采用比值时,预设 门限值也是一比值,没有单位。步骤23、执行流控级别对应的流量控制操作,以进行流量控制。当网络设备获取到流控级别时,通过执行与流控级别相适应的流量控制操作, 以对输入数据流量进行控制。例如当获取到流控级别较高,即差值或比值较大时,可 以采取多种流控策略同时进行流量控制;当获取到的流控级别较低,即差值或比值较小 时,说明输入数据流量和输出数据流量比较接近,此时,可以采用简单的流控策略(例 如丢包处理)进行流量控制。其中,流量控制操作可由各种流控策略构成,例如可以包括普通的限速操作 (即丢包处理方式)、阻断连接数操作等。本实施例的流量控制方法,通过获取输入数据流量和输出数据流量的大小关 系,并通过将输入数据流量和输出数据流量的大小关系与预设门限值进行比较,获取流 控级别,针对不同的流控级别采取不同的流量控制操作;而随着流量控制的进行,获取 的输入数据流量和输出数据流量的大小关系实际上反应了当前流量控制的效果,即采用 本实施例技术方案可以根据流量控制的效果动态调整流量控制操作,例如当流控效果 较好时,可以执行较简单的流量控制操作;尤其当流控效果较差时,可以执行较大程度 的流量控制操作;与现有技术相比,提高了流量控制的效果,可以使输入数据流量和输 出数据流量近似相等,减轻了网络拥塞,提高了网络带宽的利用率。在此说明,上述实施例提供的流量控制方法可应用于任何需要进行流量控制的 场景,尤其适用于存在P2P应用的网络环境。在P2P系统中,通常网内客户端会通过网 络出口设备向网外的多个资源服务器发送请求报文以请求建立连接并获取资源,因此, 在P2P系统中,输入数据流量通常是指与内网客户端建立连接的多个资源服务器提供的 资源数据流,输出数据流量是指经过网络出口设备进行流量控制之后发送给请求客户端 的资源数据流,通常经网络出口设备发送给请求客户端的资源数据流小于资源服务器提供的资源数据流。其中,当网络设备上预先设置有一个门限值时,通过该门限值可以将网络设备 的流控状态划分为两个等级;当网络设备上预先设置有两个门限值时,通过两个门限值 可以将网络设备的流控状态划分为三个等级;依此类推,当网络设备上设置的门限值越 多,将网络设备的流控状态划分的等级就越多,也就是将流控状态划分的越细,所进行 的流量控制就越精确,流量控制效果就越好,也就越能减轻网络拥塞、提高网络带宽利 用率。对于具体将流控状态划分为几个等级,可以结合实际网络状态进行适应性设置, 本实施例对此不做限定。基于上述实施例,以下将以网络设备上设置有两个门限值为例,对步骤22进行 详细说明。具体的,网络设备上设置有第一预设门限值和第二预设门限值,其中第一预 设门限值大于0且小于预设第二门限值。当网络设备获取输入数据流量和输出数据流量 之后,进一步获取输入数据流量和输出数据流量的差值;网络设备将获取的差值与第一 预设门限值和第二预设门限值进行比较;当差值等于0时,说明输入数据流量和输出数 据流量相等,数据流量未出现丢包现象,网络设备允许任何输入数据流量通过,即网络 设备可以不必进行流量控制操作;当差值大于0,且小于或等于第一预设门限值时,确 定流控级别为第一流控级别;当差值大于第一预设门限值且小于或等于第二预设门限值 时,确定流控级别为第二流控级别;当差值大于第二预设门限时,确定流控级别为第三 流控级别。其中,随着流控级别的增高,所需进行流量控制的程度越来越高。在本实施 例以及后续各实施例中均以获取输入数据流量和输出数据流量的差值为例进行说明。基于上述实施例,且以P2P系统为例,本实施例提供一种步骤23的具体实施方 式。该实施方式包括当流控级别为第一流控级别时,网络设备对输入数据流量进行 丢包处理,即将大于允许流量阈值的流量直接丢弃,以进行流量控制;当流控级别为第 二流控级别时,网络设备对输入数据流量进行丢包处理,并执行第一阻断连接的操作, 以进行流量控制;当流控级别为第三流控级别时,网络设备对输入数据流量进行丢包处 理,并执行第一阻断连接的操作,以及执行第二阻断连接的操作,以进行流量控制。其 中,第一阻断连接的操作主要是指根据连接总数对已建立连接的阻断操作;第二阻断连 接的操作主要是指在第一阻断连接的操作未能达到流量控制目的时,对欲建立连接进行 的阻断和/或对已建立连接进行的进一步阻断。基于上述可知,在本实施例中,随着流控级别的增高,网络设备所进行的流量 控制操作逐渐增加,以尽快达到流量控制的目的,提高流量控制的效果。其中,网络设 备在各流控级别下进行的丢包处理,实际上是一种普通的限速方式,即将接收的输入数 据流量和允许流量阈值进行比较,将大于允许流量阈值的输入数据流量丢弃,以进行流 控。其中,当流控级别为第二流控级别时,说明网络设备仅进行普通的丢包处理已经无 法达到控制输入数据流量的目的,因此,在本实施例中,网络设备继续执行第一阻断连 接的操作,通过减少连接数(在P2P系统中,主要是指通过减少与内网客户端连接的资源 服务器进而减少资源数据流)来限制输入数据流量,以快速将输入数据流量控制到网络 设备的允许流量阈值以内。其中,当流控级别处于第三流控级别时,说明当前网络拥塞 情况很严重,网络设备进行丢包处理以及执行第一阻断连接操作可能仍然无法有效控制 输入数据流量。这是因为在类似P2P系统的各种系统中,以P2P系统为例,通常P2P应用软件为了保证速率,会不断的与外网的P2P节点建立新的连接,尤其当外面可提供资 源的P2P节点很多时,大量新的连接会不断建立,且新建立连接所提供的数据流量甚至 会超过流量控制的速度。针对上述问题,在本实施例中,网络设备进一步通过执行第二 阻断连接的操作,以进行流量控制。其中,第二阻断连接的操作可以是对欲建立连接的 阻断操作,也可以是对已建立连接的进一步阻断操作,还可以是结合欲建立连接和已建 立连接进行的阻断操作。其中,在第一阻断连接的操作中,网络设备对已建立连接的阻 断程度较低,通常会考虑P2P客户端的使用情况,即在保证P2P客户端的使用流畅度的情 况下对已建立连接进行阻断。而在第二阻断连接的操作中,网络设备对已建立连接的阻 断程度较高,通常是以实现流量控制为目标,可能会无法保证客户端的使用流畅度。本实施例的流量控制方法,针对不同流控级别,即当前网络拥塞的状态执行不 同级别的流量控制操作,可以保证在任何拥塞状态下均能快速的将输入数据流量限制到 网络设备的允许流量阈值范围,提高了流量控制的效果,尤其适用于P2P系统。进一步,结合P2P系统,内网P2P节点通过向外网P2P节点发送建立连接的请求 报文,以实现连接的建立;且每条连接建立时,网络设备均会作相应信息的记录,即记 录连接建立信息,例如已建立连接的数量、每条连接的内网P2P节点和外网P2P节点的信 息等。基于P2P系统的上述属性,在上述实施例中,网络设备执行第一阻断连接的操作 的一种实施方式如下网络设备通过预先设定连接总数,以备进行流量控制所需;网络 设备根据记录的连接建立信息中的已建立连接的数量,判断已建立连接的数量是否大于 预设连接总数;若判断结果为是,说明可能是由于已建立连接的数量过多导致的网络拥 塞,因此,网络设备可以对超出连接总数的已建立连接进行随机阻断;具体的,网络设 备可以通过关闭超出连接总数的已建立连接所使用的端口来阻断已建立连接,也可以通 过向外网P2P节点发送请求断开连接的请求报文,还可以以丢弃该连接后续所有报文的 方式阻断该连接;另外,对于基于TCP协议的连接,网络设备也可以发送复位连接的报 文来使连接断开,或者回应目的不可达的ICMP报文(让对方以为本端网络设备不存在) 从而断开连接。若判断结果为否,说明此时的连接数量并未超过总连接数,但可能由于 每条连接的输入数据流量很大,造成发生网络拥塞,因此,网络设备根据其进行丢包处 理操作时对各条连接进行的丢包量,对已建立连接进行排序,然后从丢包量最大的已建 立连接开始对已建立连接进行阻断;其中,所使用的具体阻断方式可采用上述任意一种 阻断方式或其组合。在此说明,由于当前流控级别为第二流控级别,网络拥塞还未达到 很严重的情况,因此,在可以考虑客户端的使用流畅度对已建立连接进行适当阻断。进一步,当已建立连接的数量超过连接总数时,若网络设备在阻断所有超出连 接总数的已建立连接之后,还未将输入数据流量控制到网络设备的允许流量阈值范围, 网络设备可以继续执行对未超过连接总数的已建立连接进行阻断,其阻断顺序、阻断程 度和具体进行阻断的方式均可采用上述已建立连接的数量未超过连接总数的情况进行, 在此不再赘述。在此说明,对已建立连接的阻断操作(即第一阻断连接的操作)可以是以达到网 络设备允许流量阈值为目标,也可以预先设定允许阻断的最大连接条数(可以考虑客户 端的使用状况),当阻断的已建立连接的数量达到这个最大连接条数时停止继续对已建立 连接进行阻断。通常预先设定允许阻断的最大连接条数优先作为对已建立连接的阻断操作的目标,在该情况下,有可能在对已建立连接的阻断操作结束时仍未将输入数据流量 限制在网络设备允许流量阈值范围内,则可以执行第二阻断连接的操作,即阻断连接的 操作并不仅仅限于在流控级别为第三流控级别时执行。基于上述实施例,本实施例提供一种网络设备执行第二阻断连接的操作的一种 实施方式,具体的,网络设备通过丢弃内网P2P节点向外网P2P节点发送的建立连接的请 求报文,以阻断欲建立连接;该第二阻断连接的实施方式通过阻止新连接的建立,以加 快流量控制的速度。进一步,本实施例还提供一种网络设备执行第二阻断连接的操作的 实施方式,该第二阻断连接的实施方式实际上是一种对已建立连接的进一步阻断操作, 具体的,当网络设备执行第一阻断连接的操作未能达到流量控制的目的时,网络设备将 当前已建立连接的输入数据流量从小到大依次进行累加,阻断使获取的输入数据流量之 和大于允许流量阈值的已建立连接;更为具体的网络设备可以将当前已建立连接的输 入数据流量按照从小到大的顺序进行排序,然后,按照从小到大的顺序将当前已建立连 接的输入数据流量依次进行累加直到输入数据流量之和大于允许流量阈值为止,然后将 最后累加的输入数据流量对应的连接以及排序在该连接之后的其他连接阻断。该方式 不受总连接数的限制,主要以流量控制为目的,未考虑客户端的使用状态,可以快速将 输入数据流量控制到允许流量阈值范围,提高了流量控制的速度,提高了流量控制的效 果,快速解决了网络拥塞问题。在此需要说明,在上所述的“当前已建立连接”是指在采用根据输入数据流量 之和进行已建立连接的阻断操作时,还存在的连接。由于在执行该操作之前,已经执行 过根据总连接数进行已建立连接的阻断操作,且在执行各种流量控制操作的过程中,新 的连接仍然在建立,因此,在整个流量控制过程中已建立连接的数量是动态变化的。进一步,网络设备执行第二阻断连接的操作还可以同时包括上述对欲建立连接 的阻断操作和对已建立连接的进一步阻断操作,具体的网络设备在执行第一阻断连接 的操作未能将输入数据流量限制到允许流量阈值范围时,可以先执行对欲建立连接的阻 断操作;其中,由于网络设备不可能无限制的对欲建立连接进行阻断,因此,网络设备 可以预先设定对欲建立连接的最大阻断数量;当网络设备对欲建立连接的阻断数量达 到预先设定的最大阻断数量时,仍然未能将输入数据流量限制到允许流量阈值范围,此 时,网络设备可以将当前已建立连接的输入数据流量从小到大依次进行累加,阻断使获 取的输入数据流量之和大于允许流量阈值的已建立连接,以通过对已建立连接的进一步 阻断来达到流量控制的目的。图3为本发明实施例二提供的流量控制方法的流程图。本实施例可基于上述实 施例实现,相同之处不再赘述,如图3所示,本实施例的方法包括步骤31、获取网络设备的输入数据流量和输出数据流量的差值;步骤32、根据第一预设门限值、第二预设门限值和差值,获取网络设备的流控 级别;步骤33、执行流控级别对应的流量控制操作,以进行流量控制;步骤34、检测输入数据流量,并判断输入数据流量是否处于小于预设允许流量 阈值与预设稳定系数的乘积的状态且持续了预设稳定时间;若判断结果为是,则执行步 骤35;反之,则转去执行步骤33,即继续执行当前的流量控制操作进行流量控制。
10
其中,稳定系数大于0且小于或等于1。通常网络设备要求进行流量控制之后的 输入数据流量不超过允许流量阈值,因此,稳定系数优选为大于0且小于1。步骤35、根据进行流量控制之前的流控级别,调整当前的流量控制操作,以进 行流量控制。其中,当前的流量控制操作是指进行流量控制之前的流控级别所对应的流量控 制操作。具体的,在实际实施过程中,网络设备一般会实时或不断的检测输入数据流量 和输出数据流量,并获取其差值,将差值与预设门限值进行比较,获取流控级别,然后 再根据流控级别执行相应地流量控制操作,即网络设备会实时或不断的通过执行上述步 骤31-步骤33来修正流量控制操作,保证对流量控制的效果。相对于上一次流量控制过 程,当执行步骤31-步骤33进行流量控制时,由于上一次的流量控制会使得输入数据流 量得到限制,会使流控级别降低,因此,在该次流量控制过程中所执行的流量控制操作 可能会与上一次不同,可能会执行低流控级别对应的流量控制操作;而对于下一次的流 量控制过程,可能会因为流量控制操作的变化,又会使流控级别变高而执行高流控级别 对应的流量控制操作。即为了提高了流控效果,在流量控制过程中可能出现流控级别频 繁变化而频繁调整流量控制操作的情况,为了避免对流量控制操作的频繁调整,本实施 例通过步骤34和步骤35提供了一种对流量控制操作进行调整的实施方式。其中,本实施例的流量控制方法,在实现流量控制,且提高流量控制效果,减 轻网络阻塞的基础上,网络设备通过其上预先设置稳定系数和稳定时间这两个参数判断 进行流量控制之后流量控制效果的保持时间,根据流量控制效果的保持时间来进行流量 控制操作的调整,可以避免出现因频繁调整流量控制操作而出现的流量忽高忽低的情 况。进一步,本实施例提供一种步骤35的具体实施方式
,具体如下其中,在网络 设备上存储有流控级别和流量控制操作的映射关系,因此,网络设备可以根据当前执行 的流量控制操作获知进行流量控制之前的流控级别。另外,网络设备在获取流控级别时 可以临时存储该流控级别,因此,网络设备也可以从存储空间中获取进行流量控制之前 的流控级别。当网络设备获取到该流控级别时,判断该流控级别是第一流控级别、第二 流控级别还是第三流控级别,并根据判断结果进行流量控制操作的调整。当判断出该流控级别为第一流控级别时,根据步骤34的判断结果可以说明,经 过对输入数据流量进行丢包处理已经解决了网络拥塞现象,且该现象说明当前网络基本 稳定,因此,当网络状态稳定时,可以禁止执行对输入数据流量的丢包操作,即允许放 行所有的输入数据流量。其中,当前网络的稳定程度与稳定时间的大小有关;预设稳定 时间越长,说明当前网络状态越稳定。当判断出该流控级别为第二流控级别时,根据步骤34的判断结果可以说明,经 过对输入数据流量进行丢包处理以及执行第一阻断连接的操作已经解决了网络堵塞的问 题,且当前网络基本稳定,尤其当设置的稳定时间较大时,说明当前网络比较稳定。因 此,可以禁止执行第一阻断连接的操作,以降低对流量控制的程度。具体的,与第一阻 断连接的操作相反,网络设备停止继续对已建立连接的端口进行关闭,或者停止向已建 立连接的外网的P2P节点发送断开连接的请求报文等,以使P2P节点可以进行正常连接。
当判断出该流控级别为第三流控级别时,根据步骤34的判断结果可以说明,经 过对输入数据流量进行丢包处理、执行第一阻断连接的操作以及执行第二阻断连接的操 作(包括对新建立连接的阻止和/或对已建立连接的进一步阻断等操作)等已经解决了网 络堵塞的问题,且当前网络基本稳定,尤其当设置的稳定时间较大时,说明当前网络已 经比较稳定。此时,网络设备可以通过禁止执行第一阻断连接的操作,以降低对流量控 制的程度。具体的,与第一阻断连接的操作相反,网络设备停止继续对已建立连接的端 口进行关闭,或者停止向已建立连接的外网的P2P节点发送断开连接的请求报文等,以 使P2P节点可以进行正常连接。其中,由于输入数据流量已经达到允许流量阈值范围, 网络设备已经停止根据输入数据流量之和大于允许流量阈值来对已建立连接的进一步阻 断操作。进一步,网络设备继续检测禁止执行第一阻断连接的操作之后的输入数据流 量,以判断输入数据流量是否处于小于预设允许流量阈值与预设稳定系数的乘积的状态 且持续了预设稳定时间;若判断结果为是,则禁止执行第二阻断连接的操作;反之,网 络设备可以继续执行禁止执行第一阻断连接之后的流量控制操作,即继续对欲建立连接 进行阻断,以进行流量控制。其中,在本实施方式中,禁止执行第二阻断连接的操作与 执行第二阻断连接的操作相反,即不再丢弃内网P2P节点发往外网P2P节点的建立连接的 请求报文,以使P2P节点正常建立连接。进一步,若因输入数据流量大于或等于预设允 许流量阈值与预设稳定系数的乘积而使判断结果为否时,为了加速流量控制的操作,网 络设备还可以再次执行第一阻断连接的操作。通过上述各种实施方式,延缓了调整流量控制操作的时间,既保证了流量控制 效果,又降低了调整流量控制操作的频繁度,避免了出现流量忽高忽低的现象,进一步 提高了流量控制的效果。在此说明,上述各实施例中,第一阻断连接的操作和第二阻断连接的操作的实 现方案仅为一种优选方案,并不限于此。其中,结合实际网络状况,现有技术中的各种 流控方法的适应性变更或组合均可作为本发明各实施例中第一阻断连接操作和第二阻断 连接操作的实现方案。在此说明,上述实施例的技术方案可以在网络出口设备上实施,且可由网络出 口设备来执行,既提高了流量控制的效果,又保证了流量控制的实时性,且在网络出口 设备上实施,无需部署额外设备,部署简单易于实施。图4为本发明实施例三提供的流量控制装置的结构示意图。如图4所示,本实 施例的装置包括流量获取模块41、级别获取模块42和执行模块43。其中,流量获取模块41,用于获取网络设备的输入数据流量和输出数据流量; 级别获取模块42,与流量获取模块41连接,用于根据输入数据流量、输出数据流量和至 少一个预设门限值,获取网络设备的流控级别;执行模块43,与级别获取模块42连接, 用于执行流控级别对应的流量控制操作,以进行流量控制。上述各个功能模块可用于执行上述方法实施例提供的的流量控制方法的流程, 其具体工作原理详见方法实施例的描述,在此不再赘述。本实施例的流量控制装置,具体通过流量获取模块、级别获取模块和执行模 块,可以获取输入流量控制装置的数据流量和流量控制装置输出的数据流量;根据输入数据流量、输出数据流量的大小关系和至少一个预设门限值,可获取流量控制装置当前 的流控级别,然后,执行与流控级别相应的流量控制操作以进行流量控制。与现有技术 相比,采用本实施例的流量控制装置可以根据流控级别可以动态执行流量控制操作以进 行流量控制,其流量控制效果较高,减轻了网络堵塞,提高了网络带宽的利用率。图5为本发明实施例四提供的流量控制装置的结构示意图。本实施例基于上述 实施例实现,如图5所示,本实施例装置中的级别获取模块42包括获取子模块420、 比较子模块421、第一确定子模块422、第二确定子模块423和第三确定子模块424。其中,获取子模块420,与流量获取模块41连接,用于获取输入数据流量和输 出数据流量的差值;比较子模块421,与获取子模块420连接,用于将差值与至少一个预 设门限值中的第一预设门限值和至少一个预设门限值中的第二预设门限值进行比较;第 一确定子模块422,与比较子模块421连接,用于在差值大于0且小于或等于第一预设门 限值时,确定流控级别为第一流控级别;第二确定子模块423,与比较子模块421连接, 用于在差值大于第一预设门限值且小于或等于第二预设门限值时,确定流控级别为第二 流控级别;第三确定子模块424,与比较子模块421连接,用于在差值大于第二预设门限 值时,确定流控级别为第三流控级别。上述级别获取模块中的各功能子模块可用于执行上述方法实施例中预先设定两 个门限值时的方法流程,其工作原理详见上述方法流程,在此不再赘述。进一步,本实施例装置中的执行模块43包括第一流控子模块431、第二流控 子模块432和第三流控子模块433。其中,第一流控子模块431,与第一确定子模块422连接,用于在流控级别为 第一流控级别时,对输入数据流量进行丢包处理,以进行流量控制;第二流控子模块 432,与第二确定子模块423连接,用于在流控级别为第二流控级别时,对输入数据流量 进行丢包处理,并执行第一阻断连接的操作,以进行流量控制;第三流控子模块433, 与第三确定子模块424连接,用于在流控级别为第三流控级别时,对输入数据流量进行 丢包处理,并执行第一阻断连接的操作,以及执行第二阻断连接的操作,以进行流量控 制。其中,上述执行模块的各功能子模块可用于执行上述方法实施例中在预设两个 门限值时的方法流程,其具体工作原理可详见上述方法实施例的流程,具体不再赘述。更进一步,本实施例的第二流控子模块包括第一丢包单元、判断单元、第一 阻断单元和第二阻断单元。其中,第一丢包单元,用于对输入数据流量进行丢包处理; 判断单元,用于根据记录的连接建立信息,判断已建立连接的数量是否大于预设连接总 数;第一阻断单元,用于在判断单元的判断结果为是时,对超出连接总数的已建立连接 进行随机阻断;第二阻断单元,用于在判断单元的判断结果为否时,根据第一丢包单元 的丢包量对已建立连接进行排序,从丢包量最大的已建立连接开始对已建立连接进行阻 断。在该实施例中,第一阻断连接的操作主要是指根据连接总数对已建立连接的阻断操 作,且该阻断操作通常会考虑客户端的网络使用状况。本实施例的第三流控子模块包括第二丢包单元、丢弃单元和第三阻断单元。 其中,第二丢包单元,用于对输入数据流量进行丢包处理;丢弃单元,用于丢弃客户端 发送的新建立连接的请求报文,以阻断欲建立连接;第三阻断单元,用于将当前已建立连接的输入数据流量从小到大依次进行累加,阻断使获取的输入数据流量之和大于预设 允许流量阈值的已建立连接。其中,本实施例的第三流控子单元可以只包括第二丢包单元和丢弃单元,以执 行对欲建立连接的阻断操作;本实施例的第三流控子模块也可以仅包括第三阻断单元, 以执行对已建立连接的进一步阻断操作;另外,本实施例的第三流控子模块还可以同时 包括上述各功能单元,以结合对欲建立连接和对已建立连接的阻断以实现流量控制。在 该实施例中第二阻断连接的操作主要是指对欲建立连接的阻断和/或对已建立连接的进 一步阻断;其中,对已建立连接的进一步阻断通常是以流量控制为目的进行的。具体的,上述各功能单元可用执行上述方法实施例在预设两个门限值时执行第 一阻断连接的操作和执行第二阻断连接的操作的方法流程,其具体工作原理详见方法实 施例,在此不再赘述。基于上述实施例,如图5所示,本实施例的装置还包括检测模块44、判断模 块45和调整模块46。其中,检测模块44,与执行模块43连接,用于在执行模块43进行流量控制之 后,检测输入数据流量;判断模块45,与检测模块44连接,用于判断输入数据流量是 否处于小于预设允许流量阈值与预设稳定系数的乘积的状态且持续了预设稳定时间,所 述稳定系数大于0且小于或等于1;调整模块46,与判断模块45连接,用于在判断结果 为是时,根据进行流量控制之前的流控级别,调整当前的流量控制操作,以进行流量控 制。其中,当预设两个门限值时,本实施例的调整模块46具体可由以下结构实现, 但并不限于此。调整模块46包括第一禁止子模块461,用于在进行流量控制之前的流 控级别为第一流控级别时,禁止对输入数据进行丢包处理;第二禁止子模块462,用于 在进行流量控制之前的流控级别为第二流控级别时,禁止执行第一阻断连接的操作;第 三禁止子模块463,用于在进行流量控制之前的流控级别为第三流控级别时,禁止执行第 一阻断连接的操作,并继续检测禁止执行第一阻断连接的操作之后的输入数据流量是否 处于小于允许流量阈值与稳定系数的乘积的状态且持续了稳定时间,并在判断结果为是 时,禁止执行第二阻断连接的操作。上述各功能模块和功能子模块可用于执行上述方法实施例中对流量控制操作进 行调整的方法流程,其具体工作原理详见方法实施例,在此不再赘述。本实施例的流量控制装置,在实现流量控制,且提高流量控制效果,减轻网络 阻塞的基础上,通过其上预先设置稳定系数和稳定时间这两个参数判断进行流量控制之 后流量控制效果的保持时间,根据流量控制效果的保持时间来进行流量控制操作的调 整,可以避免出现因频繁调整流量控制操作而出现的流量忽高忽低的情况。本发明实施例五提供一种网络设备,包括上述实施例提供的流量控制装置。本 实施例的网络设备可为各种网络结构中的出口设备,尤其适用于存在P2P应用的网络 中,可用于进行流量控制。本实施例的网络设备,包括上述实施例提供的流量控制装置,可用于执行上述 方法实施例提供的流量控制方法的流程,可以根据流控级别动态执行流量控制操作以进 行流量控制,其流量控制效果较高,减轻了网络堵塞,提高了网络带宽的利用率。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以 通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等 同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方 案的精神和范围。
权利要求
1.一种流量控制方法,其特征在于,包括 获取网络设备的输入数据流量和输出数据流量;根据所述输入数据流量、所述输出数据流量和至少一个预设门限值,获取所述网络 设备的流控级别;执行所述流控级别对应的流量控制操作,以进行流量控制。
2.根据权利要求1所述的流量控制方法,其特征在于,所述根据所述输入数据流量、 所述输出数据流量和至少一个预设门限值,获取所述网络设备的流控级别包括获取所述输入数据流量和所述输出数据流量的差值;将所述差值与所述至少一个预设门限值中的第一预设门限值和所述至少一个预设门 限值中的第二预设门限值进行比较;若所述差值大于O且小于或等于所述第一预设门限值,确定所述流控级别为第一流 控级别;若所述差值大于所述第一预设门限值且小于或等于所述第二预设门限值,确定所述 流控级别第二流控级别;若所述差值大于所述第二预设门限值,确定所述流控级别为第三流控级别。
3.根据权利要求2所述的流量控制方法,其特征在于,所述执行所述流控级别对应的 流量控制操作,以进行流量控制包括若所述流控级别为第一流控级别,对所述输入数据流量进行丢包处理,以进行流量 控制;若所述流控级别为第二流控级别,对所述输入数据流量进行丢包处理,并执行第一 阻断连接的操作,以进行流量控制;若所述流控级别为第三流控级别,对所述输入数据流量进行丢包处理,并执行第一 阻断连接的操作,以及执行第二阻断连接的操作,以进行流量控制。
4.根据权利要求3所述的流量控制方法,其特征在于,所述执行第一阻断连接的操作 包括根据记录的连接建立信息,判断已建立连接的数量是否大于预设连接总数; 若判断结果为是,对超出所述连接总数的已建立连接进行随机阻断; 若判断结果为否,根据所述丢包处理的丢包量对所述已建立连接进行排序,从丢包 量最大的已建立连接开始对所述已建立连接进行阻断; 所述执行第二阻断连接的操作包括丢弃客户端发送的建立连接的请求报文,以阻断欲建立连接;和/或 将当前已建立连接的输入数据流量从小到大依次进行累加,阻断使获取的输入数据 流量之和大于预设允许流量阈值的已建立连接。
5.根据权利要求2或3或4所述的流量控制方法,其特征在于,在执行所述流控级别 对应的流量控制操作,以进行流量控制之后还包括检测所述输入数据流量,并判断所述输入数据流量是否处于小于预设允许流量阈值 与预设稳定系数的乘积的状态且持续了预设稳定时间,所述稳定系数大于O且小于或等 于1 ;若判断结果为是,根据进行流量控制之前的所述流控级别,调整当前的流量控制操作,以进行流量控制。
6.根据权利要求5所述的流量控制方法,其特征在于,根据进行流量控制之前的所述 流控级别,调整当前的流量控制操作,以进行流量控制包括若进行流量控制之前的所述流控级别为第一流控级别,禁止对所述输入数据进行丢 包处理;若进行流量控制之前的所述流控级别为第二流控级别,禁止执行第一阻断连接的操作;若进行流量控制之前的所述流控级别为第三流控级别,禁止执行第一阻断连接的操 作,并继续检测禁止执行第一阻断连接的操作之后的输入数据流量是否处于小于所述允 许流量阈值与所述稳定系数的乘积的状态且持续了所述稳定时间;若判断结果为是,禁 止执行第二阻断连接的操作。
7.—种流量控制装置,其特征在于,包括流量获取模块,用于获取网络设备的输入数据流量和输出数据流量; 级别获取模块,用于根据所述输入数据流量、所述输出数据流量和至少一个预设门 限值,获取所述网络设备的流控级别;执行模块,用于执行所述流控级别对应的流量控制操作,以进行流量控制。
8.根据权利要求7所述的流量控制装置,其特征在于,所述级别获取模块包括 获取子模块,用于获取所述输入数据流量和所述输出数据流量的差值;比较子模块,用于将所述差值与所述至少一个预设门限值中的第一预设门限值和所 述至少一个预设门限值中的第二预设门限值进行比较;第一确定子模块,用于在所述差值大于O且小于或等于所述第一预设门限值时,确 定所述流控级别为第一流控级别;第二确定子模块,用于在所述差值大于所述第一预设门限值且小于或等于所述第二 预设门限值时,确定所述流控级别为第二流控级别;第三确定子模块,用于在所述差值大于所述第二预设门限值时,确定所述流控级别 为第三流控级别。
9.根据权利要求8所述的流量控制装置,其特征在于,所述执行模块包括第一流控子模块,用于在所述流控级别为第一流控级别时,对所述输入数据流量进 行丢包处理,以进行流量控制;第二流控子模块,用于在所述流控级别为第二流控级别时,对所述输入数据流量进 行丢包处理,并执行第一阻断连接的操作,以进行流量控制;第三流控子模块,用于在所述流控级别为第三流控级别时,对所述输入数据流量进 行丢包处理,并执行第一阻断连接的操作,以及执行第二阻断连接的操作,以进行流量 控制。
10.根据权利要求9所述的流量控制装置,其特征在于,所述第二流控子模块包括 第一丢包单元,用于对所述输入数据流量进行丢包处理;判断单元,用于根据记录的连接建立信息,判断已建立连接的数量是否大于预设连 接总数;第一阻断单元,用于在所述判断单元的判断结果为是时,对超出所述连接总数的已建立连接进行随机阻断;第二阻断单元,用于在所述判断单元的判断结果为否时,根据所述第一丢包单元的 丢包量对所述已建立连接进行排序,从丢包量最大的已建立连接开始对所述已建立连接 进行阻断;所述第三流控子模块包括第二丢包单元,用于对所述输入数据流量进行丢包处理; 丢弃单元,用于丢弃客户端发送的新建立连接的请求报文,以阻断欲建立连接; 第三阻断单元,用于将当前已建立连接的输入数据流量从小到大依次进行累加,阻 断使获取的输入数据流量之和大于预设允许流量阈值的已建立连接。
11.根据权利要求8或9或10所述的流量控制装置,其特征在于,还包括 检测模块,用于在所述执行模块进行流量控制之后,检测所述输入数据流量;判断模块,用于判断所述输入数据流量是否处于小于预设允许流量阈值与预设稳定 系数的乘积的状态且持续了预设稳定时间,所述稳定系数大于0且小于或等于1 ;调整模块,用于在所述判断结果为是时,根据进行流量控制之前的所述流控级别, 调整当前的流量控制操作,以进行流量控制。
12.根据权利要求11所述的流量控制装置,其特征在于,所述调整模块包括第一禁止子模块,用于在进行流量控制之前的所述流控级别为第一流控级别时,禁 止对所述输入数据进行丢包处理;第二禁止子模块,用于在进行流量控制之前的所述流控级别为第二流控级别时,禁 止执行第一阻断连接的操作;第三禁止子模块,用于在进行流量控制之前的所述流控级别为第三流控级别时,禁 止执行第一阻断连接的操作,并继续检测禁止执行第一阻断连接的操作之后的输入数据 流量是否处于小于所述允许流量阈值与所述稳定系数的乘积的状态且持续了所述稳定时 间,并在判断结果为是时,禁止执行第二阻断连接的操作。
13.—种包括权利要求7-12任一项所述的流量控制装置的网络设备。
全文摘要
本发明提供一种流量控制方法、装置及网络设备。该方法包括获取网络设备的输入数据流量和输出数据流量;根据输入数据流量、输出数据流量和至少一个预设门限值,获取网络设备的流控级别;执行流控级别对应的流量控制操作,以进行流量控制。本发明的流量控制方法、装置及网络设备,可以执行与流控级别相应的流量控制操作以进行流量控制,与现有技术相比,本发明根据流控级别可以动态执行流量控制操作以进行流量控制,其流量控制效果较高,减轻了网络堵塞,提高了网络带宽的利用率。
文档编号H04L12/56GK102025640SQ20101060637
公开日2011年4月20日 申请日期2010年12月24日 优先权日2010年12月24日
发明者刘登峰 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1