一种网络数据传输速率控制设备及方法

文档序号:7763341阅读:461来源:国知局
专利名称:一种网络数据传输速率控制设备及方法
技术领域
本发明涉及计算机网络领域,尤其涉及对网络数据的传输速率进行控制的网络数 据传输速率控制设备及方法。
背景技术
在传统基于TCP/IP协议的网络通信中,诸如路由器之类的网络数据转发设备通 常采用FIFO(先进先出)、尽最大努力传输的处理机制来传输IP数据包。在早期网络数据 量和关键业务数据不多的时候,这种处理机制并没有体现出非常大的缺点,网络数据转发 设备简单地把数据报丢弃来处理拥塞。但是随着计算机网络的发展、要传输数据量的急剧 增长,以及多媒体和VOIP数据等对延时要求高的应用的增加,网络数据转发设备简单丢弃 数据包的处理方法已经不再适合当前的网络。单纯的增加网络带宽也不能从根本上解决问 题。因此,网络的开发者们提出了服务质量QoS (quality of service)的概念,即针对各种 不同网络应用需求,提供不同服务质量的网络服务功能。提供QoS能力将是对未来IP网络 的基本要求。目前已经存在各种满足QoS要求的处理方式,例如在诸如Linux之类的操作系统 中,通过将要发送的数据包进行重新入队排列,然后通过一系列算法运算之后重新出队,从 而达到对不同的QoS需求提供不同的网络服务质量的功能。在当前Linux操作系统中,这些 算法包括pfif0_fast、令牌桶过滤器(TBF)、随机公平(SFQ)、分层令牌桶(HTB)等等。对 于实际的网络应用,可以通过使用一个算法或者综合使用多个算法达到其要求。然而,系统 管理员通常需要对Linux操作系统进行很繁琐的配置以便获得令人满意的网络服务质量。 这在网络环境日趋复杂的情况下变得尤其困难。例如,在一种常见的网络环境中,例如在办公室环境中,多个网络数据终端共享一 个网络带宽,而随着P2P技术的出现,部分进行P2P通信的数据终端通常占用了大部分的网 络带宽,从而导致其它网络数据终端无法正常进行网络数据传输。如果利用现有的网络数 据传输速率控制方式进行流量控制,以便保证每个网络数据终端能以正常的网络带宽进行 数据传输时,就需要针对每一个网络数据终端进行限流规则配置。图1中示出了一种在现 有技术中常用的针对每个网络数据终端的限流方式,由于每个网络数据终端都具有一个I P地址,通过为每个IP地址设置一种流量控制规则,可以达到限流的要求。但是会随使共享 网络带宽的网络数据终端的数目的增加,这种方式需要配置的规则数目也相应增加,从而 导致对网络数据传输的管理工作变得难以维护。因此,需要一种新的网络数据传输速率控制设备和方法,可以方便且高效地对网 络数据传输速率进行控制,以便于共享网络带宽的多个网络数据终端可以正常传输速率进 行网络数据传输,同时还方便系统管理员进行配置和维护。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网络数据传输速率控制设备及方法。根据本发明的一个方面,提供了一种网络数据传输速率控制方法,包括步骤获取 要传输的I P数据包;根据该I P数据包的源或者目的I P地址来获取与该I P数据包相 关联的流量控制信息,所述流量控制信息具有基于所述源或者目的IP地址的标识值以及 指示允许传输数据大小的容许值;根据所述相关联的流量控制信息中的容许值和所述IP 数据包的大小来确定是否允许传输所述要传输的IP数据包;如果允许传输该IP数据包,则 根据该IP数据包的大小来更新所述相关联的流量控制信息中的容许值,并且传输该IP数 据包;以及如果不允许传输该IP数据包,则缓存该IP数据包以便稍后重试传输所述IP数 据包或者丢弃所述IP数据包。可选地,在根据本发明的网络数据传输速率控制方法中,根据要传输的IP数据包 和与相同流量控制信息相关联的前一个要传输的IP数据包的时间间隔,来更新流量控制 信息中的容许值,其中该流量控制信息中的容许值随着所述时间间隔的增大而线性增大, 但不超过最大容许值。因此,与每个IP数据包相关联的流量控制信息中的容许值的大小取决于要传输 的IP数据包的大小和传输频率,并且不会超过最大容许值。因此,可以利用容许值的大小 来控制与每个IP相关的流量传输速率,并且可以限定每个IP最大的瞬时传输速率,这在多 个网络通信终端共享网络带宽的情况下尤其有效。另外,流量控制信息的标识值可以基于所述IP数据包的源或者目的IP地址和相 应的子网掩码,这样,每个流量控制信息可以对应于一个IP网段,从而使得根据本发明的 网络数据传输速率控制方法可以针对每个网段进行流量控制,使得本发明可以很好适用于 复杂的网络应用环境。根据本发明的另一个方面,提供了 一种网络数据传输速率控制设备,包括IP数据 包存储器,存储要传输的IP数据包;流量控制信息存储器,存储流量控制信息,所述流量控 制信息具有基于IP数据包的源或者目的IP地址的标识值以及指示允许传输数据大小的容 许值;传输控制器,适于从所述IP数据包存储器获取所述要传输的IP数据包,从所述流量 控制信息存储器获取与所述要传输的IP数据包相关联的流量控制信息,并且根据所述相 关联的流量控制信息中的容许值和所述要传输的IP数据包的大小来确定是否允许传输所 述要传输的IP数据包。该网络数据传输速率控制设备还包括流量控制信息存取装置,适于在传输控制器 的控制下存取所述流量控制信息存储器中的流量控制信息,以及在传输控制器允许传输所 述要传输的IP数据包时,根据要传输的IP数据包的大小来更新所述相关联的流量控制信 息中的容许值。另外,该网络数据传输速率控制设备还包括适于传输所述要传输的IP数据包的 IP数据包传输装置以及适于丢弃所述要传输的IP数据包的IP数据包丢弃装置。可选地,在根据本发明的网络数据传输速率控制设备中,流量控制信息存取装置 适于根据所述要传输的IP数据包和同样与所述流量控制信息相关联的前一个要传输的IP 数据包的时间间隔,来更新所述流量控制信息中的容许值,其中所述流量控制信息中的容 许值随着所述时间间隔的增大而线性增大,但不超过最大容许值。另外可选地,流量控制信息的标识值可以基于IP数据包的源或者目的IP地址和相应的子网掩码,这样,每个流量控制信息可以对应于一个IP网段,从而使得根据本发明 的网络数据传输速率控制设备可以针对每个网段进行流量控制,使得本发明可以很好适用 于复杂的网络应用环境。根据本发明的还有一个方面,提供了一种网络数据传输速率控制系统,包括一个 或者多个数据传输端,发送和接收IP数据包;以及根据本发明的网络数据传输速率控制设 备,对这些数据传输端所发送和接收的IP数据包进行传输速率控制。根据本发明的传输速率控制方式,可以方便且高效地对网络数据传输速率进行控 制,以便于共享网络带宽的多个网络数据终端可以正常传输速率进行网络数据传输,同时 还方便系统管理员进行配置和维护。


通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图1示出了现有技术中对网络数据传输速率进行控制的方式的示意图;图2示意性地示出了根据本发明实施例的网络数据传输速率控制系统的示意图;图3示意性地示出了图2中的网络数据传输速率控制设备的框图;以及图4示意性地示出了根据本发明一个实施例的网络数据传输速率控制方法的流 程图。
具体实施例下面结合附图和具体的实施方式对本发明作进一步的描述。图2示意性地示出了 根据本发明实施例的网络数据传输速率控制系统200的示意图。如图2所示,网络数据传 输速率控制系统200包括一个或者多个数据传输端210_1,210_2,. . .,210_n,这些数据传 输端可以是基于IP协议进行网络数据传输的任何设备,例如传统的台式计算机、笔记本, 手持设备等等。这些数据传输端需要进行网络通信以执行各种网络应用。这些数据传输端 (210_1,210_2,···,210_n)经由网络数据传输速率控制设备220来访问外部网络230并且 共享网络带宽。因此,网络数据传输速率控制设备220可以控制每个数据传输端的可用网 络带宽,即网络传输速率。根据网络通信的特点,网络数据传输速率控制设备220除了控制 每个数据传输端向外部网络发送数据的数据发送速率之外,还控制每个数据传输端从外部 网络接收数据的数据接收速率。在网络数据传输速率控制系统200中,各个数据传输端Q10_1,210_2,. . .,210_ η)基于IP协议进行网络数据传输,也就是说,以IP数据包进行网络数据传输。由于每个 IP数据包均具有源IP地址和目的IP地址,因此,网络数据传输速率控制设备220可以通过 基于源IP地址或者目的IP地址来控制数据传输速率,从而实现针对每个数据传输端的速 率控制。图3示意性地示出了图2中的网络数据传输速率控制设备220的框图。如图3所 示,网络数据传输速率控制设备220包括数据包存储器221、流量控制信息存储器223、传输 控制器225、流量控制信息存取装置227、数据包传输装置228以及数据包丢弃装置229。
数据包存储器221存储网络数据传输速率控制设备220要进行传输的数据包,如 各个数据传输端要发送的IP数据包或者从外部发送到各个数据传输端的IP数据包。由于 网络数据传输速率控制设备220要同时为多个数据传输端服务,因此,通常在收到这些数 据包时,首先将这些数据包缓存到数据包存储器221中,并且随后逐个处理这些数据包。可 选地,这些数据包以队列的方式存储在数据包存储器221中。流量控制信息存储器223存储多个流量控制信息,每个流量控制信息包括标识信 息以及容许值。标识信息标识相应流量控制信息,并且建立流量控制信息和适用该流量控 制信息的数据包之间的关联。也就是说,可以根据数据包的源IP地址或者目的IP地址从 流量控制信息存储器223中查找到流量控制信息,即标识信息基于数据包的源IP地址或者 目的IP地址。根据一个实施方式,该标识信息可以就是数据包的源IP地址或者目的IP地 址。根据进一步的实施方式,可以将标识信息构造为对数据包的源IP地址或者目的IP地 址进行哈希计算后获得的哈希值,将流量控制信息以列表方式存储在流量控制信息存储器 223中,并且每个流量控制信息的标识值指示离列表头的距离。利用这种方式,可以通过为 每个要传输的数据包的源IP地址或者目的IP地址计算哈希值,并且通过查找处于离流量 控制信息列表头部的距离为该哈希值的流量控制信息来查找到与该流量控制信息相关联 的流量控制信息。这种处理方式可以快速地基于源或者目的IP地址来查找相关联的流量 控制信息。另外,标识信息除了基于数据包的源IP地址或者目的IP地址之外,还可以基于 数据包的源IP地址或者目的IP地址以及相应的子网掩码。例如,可以利用首先利用子网 掩码获取数据包的源IP或者目的IP网段,并随后基于该IP网络来构造标识信息。也就是 说,标识信息适于建立流量控制信息和适用该流量控制信息的处于同一个子网中的数据包 之间的关联,这适用于大型网络应用,其中需要对每个子网的网络流量进行控制。每个流量控制信息中的容许值反映了与该流量控制信息相关联的数据包能被允 许进行传输的总量,该容许值越大,允许进行传输的数据包的总量越多。可选地,该容许值 并不恰好等于允许传输的数据总量,而是和该数据总量之间存在一定比例关系。而数据总 量并非意指数据包的总数量,由于每个数据包的大小不同,这里的数据总量意指总的可以 传输的数据量(例如以字节为单位的值)。由于本发明要控制的并非网络数据的传输量,而是网络数据的传输速率,为此,在 本发明中,每个流量控制信息中的容许值一方面随着时间的流逝而增大,另一方面又随着 相关联数据包的传输而降低,从而可以利用该容许值来控制网络数据的传输速率。另外,为 了应对某个数据传输端突然产生大量的传输量而阻塞其他数据传输端的正常网络通信,容 许值不会一直增大,而是具有某个最大容许值,以便可以对某个数据传输端的突然增大的 传输量进行限制。传输控制器225从数据包存储器获取要传输的IP数据包,并经由流量控制信息存 取装置227从流量控制信息存储器223获取与要传输的IP数据包相关联的流量控制信息, 并且根据该相关联的流量控制信息中的容许值和要传输的IP数据包的大小来确定是否允 许传输该IP数据包。如果容许值所对应的允许进行传输的数据总量小于IP数据包的大小,则拒绝该 IP数据包的传输,此时,可以将该IP数据包重新存储到数据包存储器221中以进行重新尝 试,或者将该IP数据包发送到数据包丢弃装置2 来丢弃该IP数据包。可选地,传输控制器225在尝试传输该IP数据包预定次数(例如为2次或者3次)之后,才由数据包丢弃装 置2 来丢弃该IP数据包。相反,如果容许值所对应的允许进行传输的数据总量大于IP数据包的大小,则允 许传输。此时将该IP数据包发送到数据包传输装置来传输该IP数据包,同时经由流量控 制信息存取装置227来更新相关联流量控制信息中的容许值,以便从中减去与所传输的IP 数据包的大小相对应的值。如上所述,流量控制信息存储装置227存取流量控制信息存储器223中的流量控 制信息。例如在传输控制器225的控制下,获取与某个IP数据包相关联的流量控制信息 (如上参考流量控制信息存储器223所述),并且,在传输控制器225允许传输IP数据包时, 根据所要传输的IP数据包的大小来更新相关联的流量控制信息中的容许值。另外,如上所述,流量控制信息中的容许值一方面随着时间的流逝而增大,另一方 面又随着相关联数据包的传输而降低。因此,当传输控制器225需要读取流量控制信息时, 流量控制信息存储装置227首先更新所读取的流量控制信息中的容许值,并随后将更新后 的流量控制信息发送给传输控制器225,从而使得传输控制器225基于正确的容许值来控 制传输速率。可选地,可以将容许值的增加量设置为与当前要传输的IP数据包和所处理 的、与该流量控制信息相关联的前一个要传输的IP数据包之间的时间间隔成正比,同时将 容许值设置为不超过最大容许值。另外,当传输控制器225需要读取与某个IP数据包相关联的流量控制信息时,如 果流量控制信息存取装置227未能从流量控制信息存储器223中获取相关联的流量控制信 息,则流量控制信息存取装置227在该流量控制信息存储器223中创建新的流量控制信息, 其标识信息对应于该IP数据包的源IP或者目的IP地址,并且具有设置为最大容许值的容 许值。随后流量控制信息存取装置227将该新创建的流量控制信息返回给传输控制器225。图4示意性地示出了根据本发明一个实施例的网络数据传输速率控制方法400的 流程图,该方法适于在如上所述的网络数据传输速率控制设备220中执行。如图4所示,该 方法始于步骤S410,其中获取要传输的IP数据包,可选地,IP数据包存储在数据包存储器 221的数据包队列中,因此,步骤S410从数据包队列中获取要传输的IP数据包。随后在步 骤S420中,根据要传输的IP数据包的源或者目的IP地址来从流量控制信息存储器230中 获取与该IP数据包相关联的流量控制信息,如上所述,该流量控制信息具有基于源或者目 的IP地址的标识值以及指示允许传输数据大小的容许值。随后,在步骤S430中,根据相关 联的流量控制信息中的容许值和IP数据包的大小来判断是否允许传输该IP数据包。如果 允许传输该IP数据包,则在步骤S440中,根据要传输的IP数据包的大小来更新相关联的 流量控制信息中的容许值,并且在步骤S450中传输该IP数据包。相反,如果步骤S430中确定不允许传输该IP数据包,则在步骤S460中,缓存该IP 数据包以便稍后重新尝试,或者直接丢弃该IP数据包。可选地,在步骤S460中,可以将IP 数据包存储回到数据包队列中以便进行重新尝试。而且根据本发明的网络数据传输速率控 制方法还包括在重新尝试传输该IP数据包预定次数(例如2次或者3次)之后,才丢弃该 IP数据包。可选地,在步骤S420中,在获取与IP数据包相关联的流量控制信息时,还根据要 传输的IP数据包和先前处理的、与同一流量控制信息相关联的前一个要传输的IP数据包之间的时间间隔来更新该相关联流量控制信息中的容许值,其中流量控制信息中的容许值 随着所述时间间隔的增大而线性增大,但不超过最大容许值。另外,如果在步骤S420中,未能获取到与IP数据包相关联的流量控制信息,则可 以创建与该IP数据包相关联的流量控制信息,所创建的流量控制信息的标识值基于该IP 数据包的源或者目的IP地址,且所述容许值被设置为最大容许值。应当注意的是,在本发明的网络数据传输速率控制设备的各个部件中,根据其要 实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各 个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部 件进一步分解为更多的子部件。 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网络数据传输速率控制 设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描 述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。 这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号 的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其 他形式提供。 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这 样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。
权利要求
1.一种网络数据传输速率控制方法,包括步骤获取要传输的IP数据包;根据所述要传输的IP数据包的源或者目的IP地址来获取与所述IP数据包相关联的 流量控制信息,所述流量控制信息具有基于所述源或者目的IP地址的标识值以及指示允 许传输数据大小的容许值;根据所述相关联的流量控制信息中的容许值和所述IP数据包的大小来确定是否允许 传输所述IP数据包;如果允许传输所述IP数据包,则根据所述IP数据包的大小来更新所述相关联的流量 控制信息中的容许值,并且传输所述IP数据包;以及如果不允许传输所述IP数据包,则缓存所述IP数据包以便稍后重试传输所述IP数据 包或者丢弃所述IP数据包。
2.如权利要求1所述的网络数据传输速率控制方法,还包括步骤根据所述要传输的IP数据包和同样与所述流量控制信息相关联的前一个要传输的IP 数据包的时间间隔,来更新所述流量控制信息中的容许值,其中所述流量控制信息中的容 许值随着所述时间间隔的增大而线性增大,但不超过最大容许值。
3.如权利要求2所述的网络数据传输速率控制方法,其中在所述获取与所述IP数据包 相关联的流量控制信息的步骤中,如果不存在所述流量控制信息,则还包括步骤创建与所述IP数据包相关联的流量控制信息,所创建的流量控制信息的标识值基于 所述IP数据包的源或者目的IP地址,且所述容许值被设置为最大容许值。
4.如权利要求1-3中任一个所述的网络数据传输速率控制方法,其中从IP数据包队列 中获取所述要传输的IP数据包,而且如果不允许传输所述要传输的IP数据包,则将所述要 传输的IP数据包存储回到所述IP数据包队列中以便稍后重试传输所述IP数据包。
5.如权利要求4所述的网络数据传输速率控制方法,还包括步骤在重试传输所述IP 数据包预定次数之后,丢弃所述IP数据包。
6.如权利要求1-3中任一个所述的网络数据传输速率控制方法,其中所述流量控制信 息的标识值基于所述IP数据包的源或者目的IP地址和相应的子网掩码。
7.如权利要求1-3中任一个所述的网络数据传输速率控制方法,其中所述流量控制信 息的标识值基于所述IP数据包的源IP地址。
8.如权利要求1-3中任一个所述的网络数据传输速率控制方法,其中所述流量控制信 息的标识值基于所述IP数据包的目的IP地址。
9.一种网络数据传输速率控制设备,包括IP数据包存储器,存储要传输的IP数据包;流量控制信息存储器,存储流量控制信息,所述流量控制信息具有基于IP数据包的源 或者目的IP地址的标识值以及指示允许传输数据大小的容许值;传输控制器,适于从所述IP数据包存储器获取所述要传输的IP数据包,从所述流量控 制信息存储器获取与所述要传输的IP数据包相关联的流量控制信息,并且根据所述相关 联的流量控制信息中的容许值和所述要传输的IP数据包的大小来确定是否允许传输所述 要传输的IP数据包;流量控制信息存取装置,适于在所述传输控制器的控制下存取所述流量控制信息存储器中的流量控制信息,以及在所述传输控制器允许传输所述要传输的IP数据包时,根据所 述要传输的IP数据包的大小来更新所述相关联的流量控制信息中的容许值;数据包传输装置,适于传输所述要传输的IP数据包;以及数据包丢弃装置,适于丢弃所述要传输的IP数据包。
10.如权利要求9所述的网络数据传输速率控制设备,其中所述流量控制信息存取装 置适于根据所述要传输的IP数据包和同样与所述流量控制信息相关联的前一个要传 输的 IP数据包的时间间隔,来更新所述流量控制信息中的容许值,其中所述流量控制信息中的 容许值随着所述时间间隔的增大而线性增大,但不超过最大容许值。
11.如权利要求10所述的网络数据传输速率控制设备,其中在所述传输控制器未能从 所述流量控制信息存储器获取与所述要传输的IP数据包相关联的流量控制信息时,所述 流量控制信息存取装置适于创建与所述要传输的IP数据包相关联的流量控制信息,所创 建的流量控制信息的标识值基于所述IP数据包的源或者目的IP地址,且所述容许值被设 置为最大容许值。
12.如权利要求9-11中任一个所述的网络数据传输速率控制设备,其中所述IP数据包 存储器具有IP数据包队列,所述要传输的IP数据包存储在所述IP数据包队列中,而且如 果所述传输控制器不允许传输所述要传输的IP数据包,则将所述要传输的IP数据包存储 回到所述IP数据包队列中以便稍后重试传输所述IP数据包。
13.如权利要求12所述的网络数据传输速率控制设备,其中所述传输控制器在重试传 输所述要传输的IP数据包预定次数之后,由所述IP数据包丢弃装置丢弃所述IP数据包。
14.如权利要求9-11中任一个所述的网络数据传输速率控制设备,其中所述流量控制 信息的标识值基于所述IP数据包的源或者目的IP地址和相应的子网掩码。
15.如权利要求9-11中任一个所述的网络数据传输速率控制设备,其中所述流量控制 信息的标识值基于所述IP数据包的源IP地址。
16.如权利要求9-11中任一个所述的网络数据传输速率控制设备,其中所述流量控制 信息的标识值基于所述IP数据包的目的IP地址。
17.—种网络数据传输速率控制系统,包括一个或者多个数据传输端,发送和接收IP数据包;以及根据权利要求9-16中的任一个所述的网络数据传输速率控制设备,对所述一个或者 多个数据传输端所发送和接收的IP数据包进行传输速率控制。
全文摘要
本发明公开了一种网络数据传输速率控制方法,包括步骤获取要传输的IP数据包;根据该IP数据包的源或者目的IP地址来获取与IP数据包相关联的流量控制信息;根据相关联流量控制信息中的容许值和IP数据包的大小来确定是否允许传输IP数据包;如果允许传输IP数据包,则根据IP数据包的大小来更新所述相关联的流量控制信息中的容许值,并且传输IP数据包;以及如果不允许传输该IP数据包,则缓存该IP数据包以便稍后重试传输该IP数据包或者丢弃该IP数据包。本发明还公开了执行该方法的网络数据传输速率控制设备。
文档编号H04L12/56GK102075412SQ20101052244
公开日2011年5月25日 申请日期2010年10月22日 优先权日2010年10月22日
发明者史文锋, 段小华 申请人:北京神州绿盟信息安全科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1