专利名称:网络流量控制系统和网络流量控制方法
技术领域:
本发明涉及网络技术领域,具体而言,涉及一种网络流量控制系统和一种网络流量控制方法。
背景技术:
随着互联网技术的发展,P2P (Point to Point,点对点)技术发展迅速,应用越来越丰富。P2P在繁荣互联网的同时,也消耗了大量的互联网带宽。目前P2P流量目前在网络上的占比已经超过50%,部分网络由于P2P下载泛滥,直接影响了 HTTP网页浏览、电子邮件收发等日常网络应用,引发用户对运营商的不满。运营商通过扩充网络容量来应对互联网流量的迅速上涨,但花费巨大投资建立起来的网络还是会因为P2P引起的网络拥塞而使网络可用性降低,影响了电信的服务质量。由于互联网P2P流量的迅速增长,大量的运营商网络带宽被侵占,造成网络拥塞,使正常的互联网应用业务收到严重影响。为保证网络传输质量,运营商开始尝试控制P2P带宽的方法在运营商的链路上放置深度包检测设备,识别P2P协议,设置控制阈值,当流量超过阈值采用丢包的方式对P2P的带宽进行控制。现有技术方案的缺陷在于(I)TCP (Transmission Control Protocol,传输控制协议)协议栈或 P2P 客户端会检测到网络丢包,启动报文重传,从而造成后续的报文突发;(2)此方法仅减少了链路出口的P2P带宽,但入口 P2P的带宽未得到控制。因此,需要一种新的技术方案,可以在减少出口带宽的同时减少入口带宽,从而缓解流量对网络造成的压力。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以在减少出口带宽的同时减少入口带宽,从而缓解流量对网络造成的压力。有鉴于此,本发明提出了一种网络流量控制系统,包括检测单元,对点对点流量进行检测及统计;判断单元,在检测到所述流量超过阈值时,判断是否采取丢弃数据包处理;确定单元,接收所述判断单元的判断结果,在所述判断结果为是时,确定将被丢弃的数据包的协议类型;第一处理单元,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。在该技术方案中,当点对点流量超过阈值时,判断流量数据包的类型,如果数据包类型为传输控制协议,则进行丢包,从而减少接收端的带宽,但是发送端的带宽没有得到控制。又由于传输控制协议栈或P2P客户端会检测到丢弃的数据包,并可能对传输控制协议类型的网络丢包进行报文重传,因此本方案在进行丢包的同时,向发送端发送缓冲区拥塞的报文,从而使得发送端认为接收端拥堵,主动降低报文发送速率,使得在减少出口带宽的同时,减少入口带宽,对传输控制协议重传的突发速率也有一定的抑制效果。
在上述技术方案中,优选地,还包括第二处理单元,在判断所述将被丢弃的数据包的协议类型为用户数据包协议时,采取所述丢弃数据包处理。在该技术方案中,由于用户数据包协议类型的发送端不受接收端的控制,因此,不必发报文给发送端。所以在流量超过阈值时,可以直接将协议类型为用户数据包的协议进行丢包处理,而不必采取其他措施。在上述技术方案中,优选地,还包括转发单元,接收所述判断单元的判断结果,在所述判断结果为否时,转发所述数据包。在该技术方案中,如果判断单元判断还不需要采取丢包处理时,则将数据包通过路由器等进行转发。在上述技术方案中,优选地,所述检测单元的检测算法包括CAR算法。在该技术方案中,可以采用CAR算法对点对点流量进行检测。在上述技术方案中,优选地,所述表示缓冲区拥塞的报文包括TCP窗口为O的通知报文。在该技术方案中,可以通过TCP窗口的大小来反映接收端能供给发送端的缓冲区的大小,这样在缓冲区大小变化的过程中,就会形成一个滑动窗口。通过调整TCP的窗口大小可以调节通信双方的工作节奏,当TCP窗口为O时,则表示接收端不能再为发送端提供缓冲区,从而使发送端的发送速率降低,达到减少入口带宽的目的。根据本发明的又一方面,还提供了一种网络流量控制方法,包括步骤202,对点对点流量进行检测及统计;步骤204,在检测到所述流量超过阈值时,判断是否采取丢弃数据包处理;步骤208,接收所述判断单元的判断结果,在所述判断结果为是时,确定将被丢弃的数据包的协议类型;步骤210,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。在该技术方案中,当点对点流量超过阈值时,判断流量数据包的类型,如果数据包类型为传输控制协议,则进行丢包,从而减少接收端的带宽,但是发送端的带宽没有得到控制。又由于传输控制协议栈或P2P客户端会检测到丢弃的数据包,并可能对传输控制协议类型的网络丢包进行报文重传,因此本方案在进行丢包的同时,向发送端发送缓冲区拥塞的报文,从而使得发送端认为接收端拥堵,主动降低报文发送速率,使得在减少出口带宽的同时,减少入口带宽,对传输控制协议重传的突发速率也有一定的抑制效果。在上述技术方案中,优选地,所述步骤210还包括在判断所述将被丢弃的数据包的协议类型为用户数据包协议时,采取所述丢弃数据包处理。在该技术方案中,由于用户数据包协议类型的发送端不受接收端的控制,因此,不必发报文给发送端。所以在流量超过阈值时,可以直接将协议类型为用户数据包的协议进行丢包处理,而不必采取其他措施。在上述技术方案中,优选地,所述步骤208还包括转发单元,接收所述判断单元的判断结果,在所述判断结果为否时,转发所述数据包。在该技术方案中,如果判断单元判断还不需要采取丢包处理时,则将数据包通过路由器等进行转发。在上述技术方案中,优选地,所述检测单元的检测算法包括CAR算法。在该技术方案中,可以采用CAR算法对点对点流量进行检测。
在上述技术方案中,优选地,所述表示缓冲区拥塞的报文包括TCP窗口为O的通知报文。在该技术方案中,可以通过TCP窗口的大小来反映接收端能供给发送端的缓冲区的大小,这样在缓冲区大小变化的过程中,就会形成一个滑动窗口。通过调整TCP的窗口大小可以调节通信双方的工作节奏,当TCP窗口为O时,则表示接收端不能再为发送端提供缓冲区,从而使发送端的发送速率降低,达到减少入口带宽的目的。通过以上技术方案,在点对点流量超过阈值时,可以采取丢包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文,使得发送端的发送速率降低。这样在降低出口带宽的同时降低网络的入口带宽,从而缓解流量对网络造成的压力。
图I示出了根据本发明的实施例的网络流量控制系统的框图;图2示出了根据本发明的实施例的网络流量控制方法的流程图;图3示出了根据本发明的实施例的网络流量控制方法的具体流程图;图4示出了根据本发明的实施例的网络流量控制方法的整体流程图;图5示出了根据本发明的实施例的缓冲区可接收的数据序列号的示意图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。图I示出了根据本发明的实施例的网络流量控制系统的框图。如图I所示,本发明的实施例的网络流量控制系统100包括检测单元102,对点对点流量进行检测及统计;判断单元104,在检测到所述流量超过阈值时,判断是否采取丢弃数据包处理;确定单元106,接收所述判断单元104的判断结果,在所述判断结果为是时,确定将被丢弃的数据包的协议类型;第一处理单元108,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。在该技术方案中,当点对点流量超过阈值时,判断流量数据包的类型,如果数据包类型为传输控制协议,则进行丢包,从而减少接收端的带宽,但是发送端的带宽没有得到控制。又由于传输控制协议栈或P2P客户端会检测到丢弃的数据包,并可能对传输控制协议类型的网络丢包进行报文重传,因此本方案在进行丢包的同时,向发送端发送缓冲区拥塞的报文,从而使得发送端认为接收端拥堵,主动降低报文发送速率,使得在减少出口带宽的同时,减少入口带宽,对传输控制协议重传的突发速率也有一定的抑制效果。在上述技术方案中,优选地,还包括第二处理单元110,在判断所述将被丢弃的数据包的协议类型为用户数据包协议时,采取所述丢弃数据包处理。
在该技术方案中,由于用户数据包协议类型的发送端不受接收端的控制,因此,不必发报文给发送端。所以在流量超过阈值时,可以直接将协议类型为用户数据包的协议进行丢包处理,而不必采取其他措施。在上述技术方案中,优选地,还包括转发单元112,接收所述判断单元的判断结果,在所述判断结果为否时,转发所述数据包。在该技术方案中,如果判断单元判断还不需要采取丢包处理时,则将数据包通过路由器等进行转发。在上述技术方案中,优选地,所述检测单元的检测算法包括CAR算法。在该技术方案中,可以采用CAR算法对点对点流量进行检测。在上述技术方案中,优选地,所述表示缓冲区拥塞的报文包括TCP窗口为O的通知报文。在该技术方案中,可以通过TCP窗口的大小来反映接收端能供给发送端的缓冲区的大小,这样在缓冲区大小变化的过程中,就会形成一个滑动窗口。通过调整TCP的窗口大小可以调节通信双方的工作节奏,当TCP窗口为O时,则表示接收端不能再为发送端提供缓冲区,从而使发送端的发送速率降低,达到减少入口带宽的目的。图2示出了根据本发明的实施例的网络流量控制方法的流程图。如图2所示,本发明的实施例的网络流量控制方法,包括步骤202,对点对点流量进行检测及统计;步骤204,在检测到所述流量超过阈值时,判断是否采取丢弃数据包处理;步骤208,接收所述判断单元的判断结果,在所述判断结果为是时,确定将被丢弃的数据包的协议类型;步骤210,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。在该技术方案中,当点对点流量超过阈值时,判断流量数据包的类型,如果数据包类型为传输控制协议,则进行丢包,从而减少接收端的带宽,但是发送端的带宽没有得到控制。又由于传输控制协议栈或P2P客户端会检测到丢弃的数据包,并可能对传输控制协议类型的网络丢包进行报文重传,因此本方案在进行丢包的同时,向发送端发送缓冲区拥塞的报文,从而使得发送端认为接收端拥堵,主动降低报文发送速率,使得在减少出口带宽的同时,减少入口带宽,对传输控制协议重传的突发速率也有一定的抑制效果。在上述技术方案中,优选地,所述步骤210还包括在判断所述将被丢弃的数据包的协议类型为用户数据包协议时,采取所述丢弃数据包处理。在该技术方案中,由于用户数据包协议类型的发送端不受接收端的控制,因此,不必发报文给发送端。所以在流量超过阈值时,可以直接将协议类型为用户数据包的协议进行丢包处理,而不必采取其他措施。在上述技术方案中,优选地,所述步骤208还包括转发单元,接收所述判断单元的判断结果,在所述判断结果为否时,转发所述数据包。在该技术方案中,如果判断单元判断还不需要采取丢包处理时,则将数据包通过路由器等进行转发。在上述技术方案中,优选地,所述检测单元的检测算法包括CAR算法。在该技术方案中,可以采用CAR算法对点对点流量进行检测。在上述技术方案中,优选地,所述表示缓冲区拥塞的报文包括TCP窗口为O的通知报文。在该技术方案中,可以通过TCP窗口的大小来反映接收端能供给发送端的缓冲区的大小,这样在缓冲区大小变化的过程中,就会形成一个滑动窗口。通过调整TCP的窗口大小可以调节通信双方的工作节奏,当TCP窗口为O时,则表示接收端不能再为发送端提供缓冲区,从而使发送端的发送速率降低,达到减少入口带宽的目的。图3示出了根据本发明的实施例的网络流量控制方法的具体流程图。如图3所示,本发明的实施例的网络流量控制方法的具体流程如下步骤302,数据包处理进入流量控制CAR算法判决。步骤304,判断是否采取丢包处理。如果判断结果为是,进入步骤308,如果判断结果为否,进入步骤306。 步骤306,需要采取丢包处理,判断丢包处理的数据包的协议类型是否是TCP协议。如果判断结果为是,进入步骤308,如果判断结果为否,进入步骤310。步骤308,向发送端发送窗口为O报文。可以通过TCP窗口的大小来反映接收端能供给发送端的缓冲区的大小,这样在缓冲区大小变化的过程中,就会形成一个滑动窗口。通过调整TCP的窗口大小可以调节通信双方的工作节奏,当TCP窗口为O时,则表示接收端不能再为发送端提供缓冲区,从而使发送端的发送速率降低,达到减少入口带宽的目的。步骤310,进行丢包处理。图4示出了根据本发明的实施例的网络流量控制方法的整体流程图。如图4所示,本发明的实施例的网络流量控制方法的整体流程如下步骤402,在运营商网络接入层或骨干部署DPI (Deep PacketInspection,深度包检测)设备。步骤404,通过传统CAR算法对P2P的流量进行检测和控制。步骤406,对CAR算法判定需要丢包的TCP流发送窗口为O的确认报文。其中,TCP使用滑动窗口来进行流量控制,在发送端发送数据的速度很快而接收端接收速度却很慢的情形下,通过调整TCP的窗口大小调节通信双方的工作节奏。所谓滑动窗口,能够会意成接收端所能供给的缓冲区大小,TCP利用一个滑动的窗口来告诉发送端对它所发送的数据能供给多大的缓冲区。由于窗口由16位bit所定义,因而接收端TCP能最大供给65535个字节的缓冲。如图5所示,能够利用窗口大小和第一个数据的序列号计算出最大可接收的数据序列号。图5表示,接收端TCP可最大供给65519个字节的缓冲。步骤408,继续对P2P流量进行监控。以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,在使用丢包方法进行流量控制算法的基础上,通过模拟收包端向发包端发送缓冲区拥塞报文,使P2P报文发送端认为接收端拥塞,主动降低报文发送速率,从而在减少了出口带宽的同时减少了入口带宽,同时对TCP重传的突发速率也有一定的抑制效果。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络流量控制系统,其特征在于,包括 检测单元,对点对点流量进行检测及统计; 判断单元,在检测到所述流量超过阈值时,判断是否采取丢弃数据包处理; 确定单元,接收所述判断单元的判断结果,在所述判断结果为是时,确定将被丢弃的数据包的协议类型; 第一处理单元,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。
2.根据权利要求I所述的网络流量控制系统,其特征在于,还包括 第二处理单元,在判断所述将被丢弃的数据包的协议类型为用户数据包协议时,采取所述丢弃数据包处理。
3.根据权利要求2所述的网络流量控制系统,其特征在于,还包括 转发单元,接收所述判断单元的判断结果,在所述判断结果为否时,转发所述数据包。
4.根据权利要求3所述的网络流量控制系统,其特征在于,所述检测单元的检测算法包括CAR算法。
5.根据权利要求I至4中任一项所述的网络流量控制系统,其特征在于,所述表示缓冲区拥塞的报文包括TCP窗口为O的通知报文。
6.一种网络流量控制方法,其特征在于,包括 步骤202,对点对点流量进行检测及统计; 步骤204,在检测到所述流量超过阈值时,判断是否采取丢弃数据包处理; 步骤208,接收所述判断单元的判断结果,在所述判断结果为是时,确定将被丢弃的数据包的协议类型; 步骤210,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。
7.根据权利要求6所述的网络流量控制方法,其特征在于,所述步骤210还包括 在判断所述将被丢弃的数据包的协议类型为用户数据包协议时,采取所述丢弃数据包处理。
8.根据权利要求7所述的网络流量控制方法,其特征在于,所述步骤208还包括 转发单元,接收所述判断单元的判断结果,在所述判断结果为否时,转发所述数据包。
9.根据权利要求8所述的网络流量控制方法,其特征在于,所述检测单元的检测算法包括CAR算法。
10.根据权利要求6至9中任一项所述的网络流量控制方法,其特征在于,所述表示缓冲区拥塞的报文包括TCP窗口为O的通知报文。
全文摘要
本发明提出了一种网络流量控制系统,包括检测单元,对点对点流量进行检测及统计;判断单元,在检测到流量超过阈值时,判断是否采取丢弃数据包处理;确定单元,接收判断单元的判断结果,在判断结果为是时,确定将被丢弃的数据包的协议类型;第一处理单元,在判断所述数据包的协议类型为传输控制协议时,采取所述丢弃数据包处理,同时控制接收端向发送端发送表示缓冲区拥塞的报文。相应地,本发明还提供了一种网络流量控制方法。通过本发明的技术方案,当流量超过阈值时,在对其进行丢包处理的同时,向发送端发送缓冲区拥塞的报文,从而使得发送端认为接收端拥堵,主动降低报文发送速率,使得在减少出口带宽的同时,减少入口带宽。
文档编号H04L12/801GK102946360SQ20121050894
公开日2013年2月27日 申请日期2012年12月3日 优先权日2012年12月3日
发明者李双彬 申请人:深圳中兴网信科技有限公司