精确控制网络带宽的方法和系统的制作方法

文档序号:9931230阅读:567来源:国知局
精确控制网络带宽的方法和系统的制作方法【
技术领域
】[0001]本发明涉及网络数据处理
技术领域
,具体地说,涉及一种可以精确控制网络带宽的方法和系统。【
背景技术
】[0002]为了对某个应用程序(如测试软件A)进行精确的网络性能测试,通常要将其安装在某个主机(如PC机)上,为该主机的IP网络带宽设置为一个固定带宽,如lOOKB/s。如果所述测试软件A为一个设计可以连接1000人访问的应用程序,在进行测试时,要测试实际能有多少人来访问该软件。然而,在运行测试软件A的同时,所述PC主机上仍然还运行着其他的应用程序,例如,此时正在运行迅雷下载应用程序,迅雷下载应用程序正在下载电影。如果迅雷下载应用程序下载电影时占用了99KB的网络带宽,测试软件A仅有IKB的网络带宽可以使用。而该测试软件A有大量用户需要登陆测试软件A进行测试,假设一个用户大约占用IKB的带宽进行通信,可以得知,目前测试软件A只能与一个用户进行通信,因为该台主机的网络带宽几乎被迅雷全部占用,因而导致其它大量用户不能登陆测试软件A进行测试。[0003]在对某个应用程序进行网络测试时,如果PC主机上的其他应用程序占用大部分、甚至80%以上的网络带宽,则会导致其它应用程序受网络总带宽的限制不能进行网络连接,从而严重影响了正常的网络测试。因而,这就提出了一个要解决的技术问题:即在进行网络测试时,需要对主机上的应用程序限制其使用的带宽。[0004]为解决上述技术问题,目前业界设计出了可以精确控制网络带宽的硬件设备,但是目前这种设备昂贵,动辄几十万、上百万元人民币,不适合普及应用。另一种解决方案是,在Iinux系统中,通过使用iptables(linux防火墙)过滤具有指定应用程序特征码的应用程序数据包,通过识别特征码来识别用于限制带宽的应用程序,然后再使用tc(流量控制)来对过滤出来的应用程序分配指定的带宽。虽然这种方法提供了一种分配带宽的方案,但是,采用iptablesQinux防火墙)来识别应用程序时,极其占用系统资源,并且对应用程序的识别率不高。另外,应用程序的特征码随时在更新,因而还需要不断更新特征码库,否则更不能准确识别。【
发明内容】[0005]本发明要解决的技术问题在于,针对现有技术的不足,提供一种精确控制网络带宽的方法和系统,可以精确控制网络测试过程中每一种进行网络连接的应用程序的网络带宽,保证网络测试的正常进行。[0006]为了解决上述技术问题,根据本发明的一个方面,本发明提供了一种精确控制网络带宽的方法,其中,包括以下步骤:[0007]在主机系统内核检测每一个实时接收到的数据包是否包含配置文件中与应用程序相对应的特征码,如果所述数据包中包含配置文件中的特征码,在所述数据包中增加第一标记,所述第一标记与所述特征码对应的应用程序相对应;[0008]启动防火墙,根据所述第一标记和特定防火墙规则,过滤当前进行网络通信的数据包,并在过滤通过后的数据包中增加第二标记;和[0009]流量控制器根据所述第二标记与应用程序和网络带宽的对应关系,为当前进行网络连接的应用程序设置相应的网络带宽。[0010]优选地,所述的配置文件通过以下步骤获得:[0011]在主机系统内核抓取主机系统内安装的同一种应用程序的多个数据包;[0012]分析所述多个数据包的数据信息,得到所述多个数据包中的相同数据信息;[0013]将所述相同的数据信息确定为所述应用程序的特征码;和[0014]将所述特征码和对应的应用程序写入所述配置文件。[0015]或者,所述的配置文件还可以通过以下步骤获得:[0016]根据主机系统内安装的每一种应用程序,在应用程序发布商的特征码库中获取相应的特征码;[0017]将所述特征码和对应的应用程序写入所述配置文件。[0018]优选地,在上述精确控制网络带宽的方法中,过滤当前进行网络通信的数据包之前包括:[0019]所述防火墙接收正在进行网络通信的数据包;[0020]检测所述数据包,判断所述数据包的数据信息中是否包括第一标记;[0021]如果所述数据信息中包括所述第一标记,根据所述第一标记,获得与所述第一标记对应的应用程序的特定防火墙规则。[0022]优选地,所述特定防火墙规则为预设的与应用程序相对应的防火墙规则,或通过以下步骤获得:[0023]根据所述第一标记,确定应用程序;[0024]根据所述应用程序,设置用于过滤所述应用程序数据包的规则。[0025]优选地,所述主机系统内核为Iinux内核。[0026]为了解决上述技术问题,根据本发明的另一个方面,本发明提供了一种精确控制网络带宽的系统,其中,包括:[0027]包检测模块,设置于主机系统内核,用于检测每一个实时接收到的数据包是否包含配置文件中的特征码,在包含所述配置文件中的特征码的数据包中增加第一标记,所述第一标记与所述特征码对应的应用程序相对应;[0028]防火墙模块,与所述包检测模块相连接,用于根据所述第一标记和特定防火墙规贝1J,过滤当前进行网络通信的数据包,并在过滤通过后的数据包中增加第二标记;和[0029]流量控制器,与所述防火墙模块相连接,用于根据所述第二标记与应用程序和网络带宽的对应关系,为当前进行网络连接的应用程序设置相应的网络带宽。[0030]优选地,所述的包检测模块包括:[0031]抓包单元,用于抓取主机系统接收到的数据包;[0032]特征码匹配单元,与所述抓包单元相连接,用于将所述数据包的数据信息与所述配置文件中的特征码进行匹配,确定所述数据包中是否包含所述配置文件中的特征码;和[0033]第一标记单元,与所述特征码匹配单元相连接,用于在数据包中包含所述配置文件中的特征码时,在所述数据包的特定位置增加第一标记,所述第一标记与所述特征码对应的应用程序相对应。[0034]优选地,所述的包检测模块还包括:[0035]数据包分析单元,与所述抓包单元相连接,用于比较所述抓包单元抓取的同一种应用程序的多个数据包的数据信息,得到所述多个数据包中的相同数据信息;和[0036]配置文件生成单元,将所述相同的数据信息确定为所述应用程序的特征码,将所述特征码和对应的应用程序写入配置文件。[0037]优选地,所述防火墙模块包括:[0038]规则设定单元,用于根据所述第一标记和主机内安装的应用程序设定特定防火墙规则;[0039]过滤单元,根据所述特定防火墙规则对经过包检测模块检测过的数据包进行过滤,并确定出符合所述特定防火墙规则的数据包;和[0040]第二标记单元,用于在符合所述特定防火墙规则的数据包中增加第二标记。[0041]本发明通过在主机系统内核来检测、识别数据包,并在数据包中增加对应于应用程序的标记,减少了对系统资源的占用,而且减少了防火墙在进行过滤时对数据包的识别负担,提高了过滤效率。本发明结合流量控制,实现了对每一个应用程序进行网络带宽的精确控制。与现有技术相比,在不需要昂贵的硬件设备的情况下,也可以做到精确控制每一种进行网络连接的应用程序的网络带宽,保证网络测试的正常进行,并且提高了数据包的识别率,降低了对系统资源的占用。不但提高了网络带宽利用率,并且还可以彻底封锁所有垃圾、流氓恶意应用程序。【附图说明】[0042]通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1