CN102413056B - 网络流量控制方法、装置及出口网关设备 - Google Patents

网络流量控制方法、装置及出口网关设备 Download PDF

Info

Publication number
CN102413056B
CN102413056B CN201110432358.8A CN201110432358A CN102413056B CN 102413056 B CN102413056 B CN 102413056B CN 201110432358 A CN201110432358 A CN 201110432358A CN 102413056 B CN102413056 B CN 102413056B
Authority
CN
China
Prior art keywords
message
message flow
flow
application
congestion level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110432358.8A
Other languages
English (en)
Other versions
CN102413056A (zh
Inventor
钟志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201110432358.8A priority Critical patent/CN102413056B/zh
Publication of CN102413056A publication Critical patent/CN102413056A/zh
Application granted granted Critical
Publication of CN102413056B publication Critical patent/CN102413056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络流量控制方法、装置及出口网关设备,该方法包括步骤:出口网关设备针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别;以及根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。采用本发明技术方案,解决了现有技术对网络流量进行控制时,控制效果较差且用户的网络体验较差的问题。

Description

网络流量控制方法、装置及出口网关设备
技术领域
本发明涉及网络流量控制技术领域,尤其涉及一种网络流量控制方法、装置及出口网关设备。
背景技术
局域网的出口网关设备负责将局域网内的用户连接到网络侧,并进行协议转换、路由选择、数据交换等处理。局域网中的用户和网络侧进行报文交互时会占用一定的网络带宽,产生一定的网络流量,为了防止某些用户占用较多的网络带宽,影响局域网内的其他用户与网络侧的报文交互,出口网关设备一般会对用户的网络流量进行控制。
现有技术中,出口网关设备一般采用下述两种方法对网络流量进行控制:
(1)直接限制下行报文传输速率,具体的:当想要对某一应用的下行网络流量进行控制时,出口网关设备对该应用的下行网络流量进行监测,若监测到该应用的下行网络流量超过了设定流量,则对待发送给用户的、该应用的下行报文进行丢包处理,该应用对应的网络侧设备感测到丢包后,会降低该应用的下行报文的报文传输速率,从而降低了该应用的下行网络流量;当想要对某一用户的下行网络流量进行控制时,出口网关设备对该用户的下行网络流量进行监测,若监测到该用户的上行网络流量超过了设定流量,则对待发送给该用户的下行报文进行丢包处理,向该用户传输下行报文的网络侧设备感测到丢包后,会降低向该用户传输下行报文的传输速率,从而降低了该用户的下行网络流量。
由上可见,上述方法主要根据网络设备对丢包的敏感性来降低下行报文传输速率,从而降低下行网络流量,若网络设备对丢包十分不敏感,那么即使出口网关设备对待发送给用户的下行报文进行了丢包处理,网络侧的网络设备也不会降低下行报文的传输速率,从而不仅不能实现网络流量的控制,也浪费了较多的网络带宽。其中,点对点(P2P,Point to Point)是一种平等的数据共享方式,用户在下载数据的同时也在上传数据,默认情况下,P2P应用会充分利用所有的可用带宽,某些P2P应用对应的网络设备就可能对丢包十分不敏感,例如,出口网关设备想要将P2P应用的下行网络流量限定在1兆位/秒(Mbps),而P2P应用对应的真实的下行网络流量为3Mbps,出口网关设备此时对待发送给用户的、P2P应用的下行报文进行丢包处理,但是P2P应用对应的网络设备对丢包十分不敏感,依然按照原来的下行报文传输速率传输下行报文,也就是说P2P应用对应的网络设备和出口网关之间的下行网络流量依然为3Mbps,但是出口网关设备对下行报文进行丢包处理后,和用户之间的、P2P应用对应的下行网络流量只为1Mbps,因此浪费了较多的网络带宽。
(2)通过限制上行报文传输速率来间接限制下行报文传输速率:某些应用的上行网络流量和下行网络流量之间可能存在一定的比例(例如针对P2P应用,用户在下载的同时也需要进行上传,下行和上传的速率存在一定的比例),一旦该应用的上行报文传输速率降低,则该应用对应的网络设备会降低该应用的下行报文传输速率,基于该机制,出口网关设备在对应用的下行网络流量进行控制时,可以根据预设的上行网络流量和下行网络流量之间的比例,降低该应用的上行报文传输速率,从而使该应用对应的网络设备降低该应用的下行报文传输速率,以实现对该应用的下行网络流量进行控制的目的;也可以使用该机制对用户的下行网络流量进行控制,用户的上行网络流量和下行网络流量之间存在一定的比例,出口网关设备在对用户的下行网络流量进行控制时,可以根据预设的上行网络流量和下行网络流量之间的比例,降低该用户的上行报文传输速率,从而使向该用户发送下行报文的网络设备降低下行报文传输速率,以实现对该用户的下行网络流量进行控制的目的。例如,用户的上行网络流量和下行网络流量之间的比例为1∶10,若出口网关设备想要将局域网内的用户的下行网络流量限制为1Mbps,则可以将该用户的上行网络流量限制为100千位/秒(kbps)。
由上可见,在上述方法中,出口网关设备根据预设的上行网络流量和下行网络流量之间的比例,对某些应用的下行网络流量或某些用户的下行网络流量进行控制,虽然解决了第(1)种方法浪费网络带宽的问题,但是上述预设的上行网络流量和下行网络流量之间的比例一般为经验值,不同应用的上行网络流量和下行网络流量之间的比例可能不同,不同用户的上行网络流量和下行网络流量之间的比例也可能不同,因此出口网关设备使用固定的上行网络流量和下行网络流量之间的比例,并不能保证对所有应用以及所有用户的下行网络流量进行控制,因此控制网络流量的效果较差,使得用户的网络体验比较差。
发明内容
本发明实施例提供一种网络流量控制方法、装置及出口网关设备,用以解决现有技术对网络流量进行控制时,控制效果较差且用户的网络体验较差的问题。
本发明实施例技术方案如下:
一种网络流量控制方法,该方法包括步骤:出口网关设备针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别;以及根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。
一种网络流量控制装置,包括:拥塞级别确定单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别;报文流处理单元,用于根据拥塞级别确定单元确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。
一种出口网关设备,包括上述网络流量控制装置。
本发明实施例技术方案中,出口网关设备针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别,以及根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。由上可见,本发明实施例技术方案不再使用固定的上行网络流量和下行网络流量之间的比例来对上行网络流量进行控制,从而实现控制下行网络流量的目的,而是根据应用连接的第一方向报文流实时的拥塞级别,来对第二方向报文流的报文进行处理,以实现控制第一方向报文流的网络流量的目的,因此控制网络流量的效果较好,用户的网络体验也较好。
附图说明
图1为本发明实施例一中,网络流量控制方法流程示意图;
图2为本发明实施例二中,确定下行报文流的拥塞级别的方法流程示意图;
图3为本发明实施例三中,网络流量控制装置结构示意图。
具体实施方式
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
实施例一
如图1所示,为本发明实施例中,网络流量控制方法流程示意图,其具体处理过程如下:
步骤11,出口网关设备针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别。
局域网中的用户与网络侧的网络设备之间可能有多个应用,每个应用对应至少一个应用连接,本发明实施例一中,出口网关设备可以在用户的应用连接中选择出需要进行流量控制的应用连接,后续对这些应用连接进行网络流量控制即可,而不需要针对用户所有应用的应用连接均进行网络流量控制,因此避免了用户某些必要应用的报文传输速率也会被限制的问题,提升了用户的网络体验。
本发明实施例一中,上述第一方向可以但不限于为下行方向或上行方向,当为上行方向时,则该应用连接的第一方向报文流为该应用连接的上行报文流,若为下行方向时,则该应用连接的第一方向报文流为该应用连接的下行报文流。当需要对应用连接的下行报文流的网络流量(也可以称为该应用连接的下行网络流量)进行控制时,出口网关设备获得该应用连接的下行报文流当前的拥塞级别;当需要对应用连接的上行报文流的网络流量(也可以称为该应用连接的上行网络流量)进行控制时,出口网关设备获得该应用连接的上行报文流当前的拥塞级别。
每个应用连接对应两个方向的报文流,分别为上行报文流和下行报文流,上行报文流为用户向网络侧的网络设备发送的报文流,下行报文流为网络侧的网络设备向用户发送的报文流,每个方向的报文流均对应一对5元组,包含协议号、源互联网协议(IP,Internet Protocol)地址、源端口、目标IP地址、目标端口,一个应用连接的上行报文流的协议号和下行报文流的协议号相同,但是源IP地址、源端口、目标IP地址、目标端口均相反。
本发明实施例一中,确定拥塞级别的触发条件可以但不限于为到达了规定的确定时间点,预先规定若干个确定时间点,到达每个规定的确定时间点时,出口网关设备就会确认满足了确定拥塞级别的触发条件,因此会确定该应用连接的第一方向报文流当前的拥塞级别;确定拥塞级别的触发条件也可以为接收到该应用连接的第一方向报文流的报文,每接收到该应用连接的第一方向报文流的报文,出口网关设备就会确认满足了确定拥塞级别的触发条件,因此会确定该应用连接的第一方向报文流当前的拥塞级别。
报文流的拥塞级别表征了报文流的拥塞程度,其中,拥塞级别的值与拥塞程度之间的关系可以为下述:
拥塞级别的值越高,表明报文流越拥塞,例如拥塞级别为5级时报文流的拥塞程度要比拥塞级别为1级时报文流的拥塞程度高;或
拥塞级别的值越低,表明报文流越拥塞,例如拥塞级别为1级时报文流的拥塞程度要比拥塞级别为5级时报文流的拥塞程度高。
步骤12,根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量。
其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。当需要对应用连接的下行报文流的网络流量(也可以称为该应用连接的下行网络流量)进行控制时,出口网关设备根据下行报文流当前的拥塞级别,对该应用连接的上行报文流进行处理,以控制下行网络流量;当需要对应用连接的上行报文流的网络流量(也可以称为该应用连接的上行网络流量)进行控制时,出口网关设备根据上行报文流当前的拥塞级别,对该应用连接的下行报文流进行处理,以控制上行网络流量。
根据第一方向报文流当前的拥塞级别,对应用连接的第二方向报文流进行处理时,可以但不限于采用下述方式进行处理:
在需要转发该应用连接的第二方向报文流中的报文时,根据确定出的第一方向报文流当前的拥塞级别,确定该应用连接的第二方向报文流对应的周期转发数据量,其中周期转发数据量表示允许在一个转发周期内转发的最大数据量,周期转发数据量可以但不限于为周期转发字节数,出口网关设备预先设置每个拥塞级别分别对应的周期转发数据量,本发明实施例一中,出口网关设备可以将预设的转发数据量阈值除以第一方向报文流当前的拥塞级别,将得到的值作为该应用连接的第二方向报文流对应的周期转发数据量。在确定出该应用连接的第二方向报文流对应的周期转发数据量后,出口网关设备判断在当前转发周期内转发第二方向报文流的报文对应的转发数据量是否大于确定出的周期转发数据量,若判断结果为否,则转发该报文,否则直接丢弃该报文。
由背景技术部分介绍的“通过限制上行报文传输速率来间接限制下行报文传输速率”的原理可知,应用的上行网络流量和下行网络流量之间可能存在一定的比例,应用的上行网络流量和下行网络流量之间也可能存在一定的比例,若想要对应用或用户的下行网络流量进行控制,则可以通过控制应用或用户的上行网络流量来实现。与上述原理一致,应用连接的上行网络流量和下行网络流量也存在一定的比例,当需要对应用连接的上行网络流量进行控制时,可以通过控制该应用连接的下行网络流量来实现,当需要对应用连接的下行网络流量进行控制时,可以通过控制该应用连接的上行网络流量来实现。本发明实施例一中,若需要对应用连接的第一方向报文流的网络流量进行控制,则出口网关设备根据第一方向报文流当前的拥塞级别,来确定第二方向报文流的报文传输速率(即第二方向报文流对应的周期转发数据量),然后根据确定出的第二方向报文流的报文传输速率来对第二方向报文流进行限速处理,从而降低了第一方向报文流的报文传输速率(若第一方向报文流为下行报文流,则网络侧的网络设备主动降低向用户发送该应用连接的下行报文的速率,若第一方向报文流为上行报文流,则用户主动降低向网络侧的网络设备发送该应用连接的上行报文的速率),实现了对第一方向报文流的网络流量进行控制的目的。
具体实现方式为:预先设置每个拥塞级别分别对应的周期转发字节数,例如拥塞级别的值越大,表明报文流越拥塞,设置拥塞级别1级对应的周期转发字节数为300字节(Bytes),拥塞级别3级对应的周期转发字节数为100Bytes,转发周期为1秒,在需要转发该应用连接的第二方向报文流中的报文时,若该应用连接的第一方向报文流当前的拥塞级别为0级,即第一方向报文流不拥塞,则出口网关设备直接转发该报文,若该应用连接的第一方向报文流当前的拥塞级别不为0级,则出口网关设备根据第一方向报文流当前的拥塞级别,确定该应用连接的第二方向报文流对应的周期转发字节数(其中可以但不限于将预设的转发字节数阈值除以第一方向报文流当前的拥塞级别,将得到的值作为该应用连接的第二方向报文流对应的周期转发字节数),在第二方向报文流的报文的流数据结构中新增记录两个字段:时间戳和当前转发周期内的实际转发字节数。如果当前时间与需要转发的报文中的时间戳对应的时间之间的时间长度不大于转发周期1秒,则判断当前转发周期内的实际转发字节数是否小于第二方向报文流对应的周期转发字节数,若判断结果为是,则出口网关设备直接转发该报文,并将流数据结构中的当前转发周期内的实际转发字节数加上该报文的报文长度,若判断结果为否,则直接丢弃该报文;如果当前时间与需要转发的报文中的时间戳对应的时间之间的时间长度大于转发周期1秒,则在第二方向报文流的报文的流数据结构中,将时间戳设置为当前时间,将当前转发周期内的实际转发字节数设置为0Bytes,开始在新的转发周期内对第二方向报文流的网络流量进行控制。
本发明实施例一种,出口网关设备传输报文时可以但不限于基于传输控制协议(TCP,Transmission Control Protocol)、用户数据包协议(UDP,UserDatagram Protocol)、IP、控制报文协议(ICMP,Internet Control Message Protocol)等协议来传输报文。
当出口网关设备传输基于TCP传输报文时,还可以但不限于采用下述方式对应用连接的第二方向报文流进行处理:
出口网关设备在需要转发该应用连接的第二方向报文流中的报文时,首先根据确定出的第一方向报文流当前的拥塞级别,确定需要转发的该报文的确认应答(ACK,ACKnowledgement)窗口大小,ACK窗口大小表明了该报文的发送方的数据缓存大小(若第二方向报文流为下行报文流,则该报文的发送方为网络侧的网络设备,若第二方向报文流为上行报文流,则该报文的发送方为用户),ACK窗口的大小会影响该报文的接收方向该报文的发送方发送报文的速率(若第二方向报文流为下行报文流,则该报文的接收方为用户,ACK窗口的大小会影响用户向网络侧的网络设备发送上行报文的速率;若第二方向报文流为上行报文流,则该报文的接收方为网络侧的网络设备,ACK窗口的大小会影响网络侧的网络设备向用户发送下行报文的速率),本发明实施例一中,出口网关设备可以将预设的ACK窗口阈值除以第一方向报文流当前的拥塞级别,将得到的值作为需要转发的该报文的ACK窗口的大小。出口网关设备确定出需要转发的该报文的ACK窗口大小后,基于确定出的ACK窗口大小确定需要转发的该报文的报文校验和,并转发携带有确定出的报文校验和的该报文。
若第一方向报文流的拥塞级别表明第一方向报文流不拥塞(例如拥塞级别为0级),则出口网关设备可以不执行确定ACK窗口大小以及确定报文校验和的步骤,直接转发该报文;若第一方向报文流的拥塞级别表明第一方向报文流拥塞(例如拥塞级别大于0级),则出口网关设备根据第一方向报文流的拥塞级别修订ACK窗口的大小,第一方向报文流越拥塞,修订后的ACK窗口越小,第一方向报文流的报文传输速率也就越小,从而实现了对第一方向报文流的网络流量进行控制的目的。
由上可见,利用上述方法对第二方向报文流进行处理时,出口网关设备不需要对第二方向报文流的报文进行丢包处理,只需要修订第二方向报文流中报文的ACK窗口大小,从而能够有效地避免因为对报文进行丢包处理带来的浪费网络带宽的问题。
下面详细介绍如何确定应用连接的第一方向报文流当前的拥塞级别。
出口网关设备需要确定应用连接的第一方向报文流当前的拥塞级别时,可以但不限于首先确定应用连接的第一方向报文流的满载度,然后根据确定出的该第一方向报文流的满载度,确定该第一方向报文流当前的拥塞级别。
报文流的满载度表征了报文流的满载程度,其中,满载度的值与满载程度之间的关系可以为下述:
满载度的值越高,表明报文流的满载程度越高,例如报文流在满载度为5时的满载程度要比在满载度为1时的满载程度高;或
满载度的值越低,表明报文流的满载程度越高,例如报文流在满载度为1时的满载程度要比在满载度为5时的满载程度高。
其中,出口网关设备确定第一方向报文流的满载度的方式可以但不限于包括下述三种:
第一种方式,基于令牌数量确定满载度:出口网关设备进行报文转发时,可以基于同步方式进行转发,报文在出口网关设备中不进行缓存,出口网关设备预先设置各报文群组,每个报文群组对应若干个应用的应用连接的报文流,并为每个报文群组分别分配一定数量的令牌,出口网关设备获得需转发的报文后,在该报文所属的报文群组对应的令牌中,根据该报文的报文长度为该报文分配相应的令牌,并根据分配的令牌转发该报文。本发明实施例一中,出口网关设备在需要确定应用连接的第一方向报文流的满载度时,首先确定该应用连接的第一方向报文流所属的报文群组当前的剩余令牌数量,然后根据确定出的剩余令牌数量以及该报文群组的最大令牌数量,确定该第一方向报文流的满载度,确定出的剩余令牌数量越少,第一方向报文流的满载程度越高。其中,可以但不限于通过下述方式确定该第一方向报文流的满载度:
(最大令牌数量-剩余令牌数量)/最大令牌数量
第二种方式,基于队列长度确定满载度:出口网关设备进行报文转发时,可以基于异步方式进行转发,出口网关设备预先设置各缓存队列,每个缓存队列对应若干个应用的应用连接的报文流,出口网关设备启动一个进程用于获得需转发的报文,该进程获得需转发的报文后,根据报文的优先级、发送报文的用户的用户属性以及报文所属的应用,将该报文放入对应的缓存队列中,出口网关设备启动另一个进程用于转发报文,该进程从缓存队列中依次提取出各报文后进行转发。本发明实施例一中,出口网关设备在需要确定应用连接的第一方向报文流的满载度时,首先获得该应用连接的第一方向报文流对应的缓存队列当前的队列长度,然后根据获得的队列长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度,缓存队列当前的队列长度越长,第一方向报文流的满载程度越高。其中,可以但不限于通过下述方式确定该第一方向报文流的满载度:
当前的队列长度/最大队列长度
第三种方式,基于报文传输速率确定满载度:不管出口网关设备基于同步方式进行报文转发,还是基于异步方式进行报文转发,都可以基于报文传输速率确定满载度,出口网关设备首先获得应用连接的第一方向报文流当前的报文传输速率,然后根据获得的报文传输速率以及第一方向报文流的限定传输速率,确定该第一方向报文流的满载度,第一方向报文流当前的报文传输速率越大,第一方向报文流的满载程度越高。其中,可以但不限于通过下述方式确定该第一方向报文流的满载度:
当前的报文传输速率/限定传输速率
确定出第一方向报文流的满载度之后,出口网关设备可以直接在预先设置的满载度和拥塞级别之间的对应关系中,根据第一方向报文流的满载度查找第一方向报文流当前的拥塞级别。
此外,本发明实施例一还提出,可以结合报文流的满载度和时间来综合确定第一方向报文流的拥塞级别,具体的:出口网关设备获得若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则出口网关设备确定该应用连接的第一方向报文流的满载度,并统计当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,若当前时间未位于当前确定周期内,则根据统计得到的、当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,确定该第一方向报文流当前的拥塞级别。其中,可以但不限于在当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数为0时,将该第一方向报文流的当前拥塞级别减一(需要在保证拥塞级别不小于0的前提下减一,如果第一方向报文流的当前拥塞级别为0,则可以不执行将拥塞级别减一的处理),在当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数不为0时,将该第一方向报文流的当前拥塞级别加一,
具体实现方式为:在第一方向报文流的报文的流数据结构中新增记录三个字段:时间戳、拥塞次数及拥塞级别,均初始化为0,其中,拥塞次数统计当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,时间戳记录确定周期开始时间点。在满足确定拥塞级别的触发条件时,出口网关设备判断当前时间与应用连接的第一方向报文流的时间戳对应的时间之间的时间长度是否小于预设的确定周期,若判断出不小于预设的确定周期,则出口网关设备从第一方向报文流的报文的流数据结构中获得该第一方向报文流的拥塞次数,即在当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,在获得的拥塞次数为0时,将该第一方向报文流当前的拥塞级别减一,在获得的拥塞次数不为0时,将该第一方向报文流当前的拥塞级别加一,然后在该第一方向报文流的报文的流数据结构中,将时间戳设置为当前时间,将拥塞次数初始化为0,出口网关设备确定该第一方向报文流的满载度,然后在该第一方向报文流的满载度大于预先设定的满载度阈值时,在该第一方向报文流的报文的流数据结构中,将拥塞次数加一;若判断出小于预设的确定周期,则出口网关设备确定该第一方向报文流的满载度,然后在该第一方向报文流的满载度大于预先设定的满载度阈值时,在该第一方向报文流的报文的流数据结构中,将拥塞次数加一。
本发明实施例一中,确定拥塞级别的触发条件可以为接收到第一方向报文流的报文,确定第一方向报文流的满载度时可以采用上述基于队列长度确定满载度的方式,此时出口网关设备若判断出当前时间与第一方向报文流的时间戳对应的时间之间的时间长度不小于预设的确定周期,则在根据获得的拥塞次数将该第一方向报文流当前的拥塞级别加一或减一,并设置时间戳和拥塞次数后,可以先将接收到的该报文放入对应的缓存队列中,然后根据缓存队列的长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度,出口网关设备若判断出当前时间与第一方向报文流的时间戳对应的时间之间的时间长度小于预设的确定周期,则可以先将接收到的该报文放入对应的缓存队列中,然后根据缓存队列的长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度。
由上述处理过程可知,本发明实施例技术方案中,出口网关设备针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别,以及根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。由上可见,本发明实施例技术方案不再使用固定的上行网络流量和下行网络流量之间的比例来对上行网络流量进行控制,从而实现控制下行网络流量的目的,而是根据应用连接的第一方向报文流实时的拥塞级别,来对第二方向报文流的报文进行处理,以实现控制第一方向报文流的网络流量的目的,因此控制网络流量的效果较好,用户的网络体验也较好。
下面给出更为具体的实施方式。
实施例二
出口网关设备想要对某应用连接的下行网络流量进行控制,确定拥塞级别的触发条件为接收到下行报文流的报文,结合下行报文流的满载度和时间来综合确定下行报文流的拥塞级别,确定下行报文流的满载度时采用上述基于队列长度确定满载度的方式,则如图2所示,为本发明实施例二中确定下行报文流的拥塞级别的方法流程示意图,其具体处理流程如下:
步骤21,出口网关设备接收到应用连接的下行报文流的报文;
步骤22,出口网关设备判断当前时间与该下行报文流的时间戳对应的时间之间的时间长度是否小于预设的确定周期,若判断结果为否,则转至步骤23,若判断结果为是,则转至步骤28;
步骤23,出口网关设备从下行报文流的报文的流数据结构中获得该下行报文流的拥塞次数,即在当前确定周期内该下行报文流的满载度大于满载度阈值的次数;
步骤24,出口网关设备判断获得的拥塞次数是否为0,若判断结果为是,则转至步骤26,若判断结果为否,则转至步骤25;
步骤25,出口网关设备将该下行报文流当前的拥塞级别加一,然后转至步骤27;
步骤26,出口网关设备将该下行报文流当前的拥塞级别减一,然后转至步骤27;
步骤27,出口网关设备在该下行报文流的报文的流数据结构中,将时间戳设置为当前时间,将拥塞次数初始化为0,然后转至步骤28;
步骤28,出口网关设备确定该下行报文流的满载度;
步骤29,出口网关设备判断确定出的满载度是否大于预先设定的满载度阈值,若判断结果为是,则转至步骤210,若判断结果为否,则转至步骤211;
步骤210,出口网关设备在该下行报文流的报文的流数据结构中,将拥塞次数加一;
步骤211,结束处理流程。
实施例三
与本发明实施例一提出的网络流量控制方法对应,本发明实施例三提出一种网络流量控制装置,其结构如图3所示,包括:
拥塞级别确定单元31,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别;
报文流处理单元32,用于根据拥塞级别确定单元31确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向。
较佳地,拥塞级别确定单元31具体包括:
第一满载度确定子单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流的满载度;
第一拥塞级别确定子单元,用于根据第一满载度确定子单元确定出的该第一方向报文流的满载度,确定该第一方向报文流当前的拥塞级别。
更佳地,第一满载度确定子单元,具体用于确定该应用连接的第一方向报文流所属的报文群组当前的剩余令牌数量,并根据确定出的剩余令牌数量以及该报文群组的最大令牌数量,确定该第一方向报文流的满载度。
更佳地,第一满载度确定子单元,具体用于获得该应用连接的第一方向报文流对应的缓存队列当前的队列长度,并根据获得的队列长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度。
更佳地,第一满载度确定子单元,具体用于获得该应用连接的第一方向报文流当前的报文传输速率,并根据获得的报文传输速率以及第一方向报文流的限定传输速率,确定该第一方向报文流的满载度。
较佳地,拥塞级别确定单元31具体包括:
第二满载度确定子单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则确定该应用连接的第一方向报文流的满载度;
次数统计子单元,用于统计当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数;
第二拥塞级别确定子单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间未位于当前确定周期内,则根据次数统计子单元统计得到的、当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,确定该第一方向报文流当前的拥塞级别。
更佳地,第二满载度确定子单元,具体用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则确定该应用连接的第一方向报文流所属的报文群组当前的剩余令牌数量,并根据确定出的剩余令牌数量以及该报文群组的最大令牌数量,确定该第一方向报文流的满载度。
更佳地,第二满载度确定子单元,具体用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则获得该应用连接的第一方向报文流对应的缓存队列当前的队列长度,并根据获得的队列长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度。
更佳地,第二满载度确定子单元,具体用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则获得该应用连接的第一方向报文流当前的报文传输速率,并根据获得的报文传输速率以及第一方向报文流的限定传输速率,确定该第一方向报文流的满载度。
较佳地,报文流处理单元32具体包括:
周期转发数据量确定子单元,用于在需要转发该应用连接的第二方向报文流中的报文时,根据拥塞级别确定单元31确定出的拥塞级别,确定该应用连接的第二方向报文流对应的周期转发数据量;
周期转发数据量判断子单元,用于判断在当前转发周期内转发第二方向报文流的报文对应的转发数据量是否大于周期转发数据量确定子单元确定出的周期转发数据量;
第一报文流处理子单元,用于在周期转发数据量判断子单元的判断结果为否时,转发该报文,否则丢弃该报文。
较佳地,所述网络流量控制装置基于TCP传输报文;
报文流处理单元32具体包括:
窗口大小确定子单元,用于在需要转发该应用连接的第二方向报文流中的报文时,根据拥塞级别确定单元31确定出的拥塞级别,确定需要转发的该报文的ACK窗口的大小;
报文校验和确定子单元,用于基于窗口大小确定子单元确定出的ACK窗口的大小,确定需要转发的该报文的报文校验和;
第二报文流处理子单元,用于转发携带有报文校验和确定子单元确定出的报文校验和的该报文。
本发明实施例三还提供一种出口网关设备,至少包括上述网络流量控制装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (17)

1.一种网络流量控制方法,其特征在于,包括:
出口网关设备针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别;以及
根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向;
其中,确定该应用连接的第一方向报文流当前的拥塞级别,具体包括:
确定该应用连接的第一方向报文流的满载度;
根据确定出的该第一方向报文流的满载度,确定该第一方向报文流当前的拥塞级别;
或者,
确定该应用连接的第一方向报文流当前的拥塞级别,具体包括:
若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则确定该应用连接的第一方向报文流的满载度,并统计当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数;
若当前时间未位于当前确定周期内,则根据统计得到的、当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,确定该第一方向报文流当前的拥塞级别。
2.如权利要求1所述的方法,其特征在于,确定拥塞级别的触发条件为:
到达了规定的确定时间点;或
接收到该应用连接的第一方向报文流的报文。
3.如权利要求1所述的方法,其特征在于,确定该应用连接的第一方向报文流的满载度,具体包括:
确定该应用连接的第一方向报文流所属的报文群组当前的剩余令牌数量;
根据确定出的剩余令牌数量以及该报文群组的最大令牌数量,确定该第一方向报文流的满载度。
4.如权利要求1所述的方法,其特征在于,确定该应用连接的第一方向报文流的满载度,具体包括:
获得该应用连接的第一方向报文流对应的缓存队列当前的队列长度;
根据获得的队列长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度。
5.如权利要求1所述的方法,其特征在于,确定该应用连接的第一方向报文流的满载度,具体包括:
获得该应用连接的第一方向报文流当前的报文传输速率;
根据获得的报文传输速率以及第一方向报文流的限定传输速率,确定该第一方向报文流的满载度。
6.如权利要求1所述的方法,其特征在于,根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,具体包括:
在需要转发该应用连接的第二方向报文流中的报文时,根据确定出的拥塞级别,确定该应用连接的第二方向报文流对应的周期转发数据量;
判断在当前转发周期内转发第二方向报文流的报文对应的转发数据量是否大于确定出的周期转发数据量;
若判断结果为否,则转发该报文,否则丢弃该报文。
7.如权利要求1所述的方法,其特征在于,出口网关设备基于传输控制协议TCP传输报文;
根据确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,具体包括:
在需要转发该应用连接的第二方向报文流中的报文时,根据确定出的拥塞级别,确定需要转发的该报文的确认应答ACK窗口的大小;
基于确定出的ACK窗口的大小,确定需要转发的该报文的报文校验和;并
转发携带有确定出的报文校验和的该报文。
8.一种网络流量控制装置,其特征在于,包括:
拥塞级别确定单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流当前的拥塞级别;
报文流处理单元,用于根据拥塞级别确定单元确定出的拥塞级别,对该应用连接的第二方向报文流进行处理,以控制所述第一方向报文流的网络流量,其中,所述第一方向为下行方向时,第二方向为上行方向,第一方向为上行方向时,第二方向为下行方向;
其中,拥塞级别确定单元具体包括:
第一满载度确定子单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,确定该应用连接的第一方向报文流的满载度;
第一拥塞级别确定子单元,用于根据第一满载度确定子单元确定出的该第一方向报文流的满载度,确定该第一方向报文流当前的拥塞级别;
或者,
拥塞级别确定单元具体包括:
第二满载度确定子单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则确定该应用连接的第一方向报文流的满载度;
次数统计子单元,用于统计当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数;
第二拥塞级别确定子单元,用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间未位于当前确定周期内,则根据次数统计子单元统计得到的、当前确定周期内该第一方向报文流的满载度大于满载度阈值的次数,确定该第一方向报文流当前的拥塞级别。
9.如权利要求8所述的装置,其特征在于,第一满载度确定子单元,具体用于确定该应用连接的第一方向报文流所属的报文群组当前的剩余令牌数量,并根据确定出的剩余令牌数量以及该报文群组的最大令牌数量,确定该第一方向报文流的满载度。
10.如权利要求8所述的装置,其特征在于,第一满载度确定子单元,具体用于获得该应用连接的第一方向报文流对应的缓存队列当前的队列长度,并根据获得的队列长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度。
11.如权利要求8所述的装置,其特征在于,第一满载度确定子单元,具体用于获得该应用连接的第一方向报文流当前的报文传输速率,并根据获得的报文传输速率以及第一方向报文流的限定传输速率,确定该第一方向报文流的满载度。
12.如权利要求8所述的装置,其特征在于,第二满载度确定子单元,具体用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则确定该应用连接的第一方向报文流所属的报文群组当前的剩余令牌数量,并根据确定出的剩余令牌数量以及该报文群组的最大令牌数量,确定该第一方向报文流的满载度。
13.如权利要求8所述的装置,其特征在于,第二满载度确定子单元,具体用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则获得该应用连接的第一方向报文流对应的缓存队列当前的队列长度,并根据获得的队列长度以及该缓存队列的最大队列长度,确定该第一方向报文流的满载度。
14.如权利要求8所述的装置,其特征在于,第二满载度确定子单元,具体用于针对需要进行流量控制的应用连接,在满足确定拥塞级别的触发条件时,若当前时间位于该应用连接的第一方向报文流的当前确定周期内,则获得该应用连接的第一方向报文流当前的报文传输速率,并根据获得的报文传输速率以及第一方向报文流的限定传输速率,确定该第一方向报文流的满载度。
15.如权利要求8所述的装置,其特征在于,报文流处理单元具体包括:
周期转发数据量确定子单元,用于在需要转发该应用连接的第二方向报文流中的报文时,根据拥塞级别确定单元确定出的拥塞级别,确定该应用连接的第二方向报文流对应的周期转发数据量;
周期转发数据量判断子单元,用于判断在当前转发周期内转发第二方向报文流的报文对应的转发数据量是否大于周期转发数据量确定子单元确定出的周期转发数据量;
第一报文流处理子单元,用于在周期转发数据量判断子单元的判断结果为否时,转发该报文,否则丢弃该报文。
16.如权利要求8所述的装置,其特征在于,所述网络流量控制装置基于传输控制协议TCP传输报文;
报文流处理单元具体包括:
窗口大小确定子单元,用于在需要转发该应用连接的第二方向报文流中的报文时,根据拥塞级别确定单元确定出的拥塞级别,确定需要转发的该报文的确认应答ACK窗口的大小;
报文校验和确定子单元,用于基于窗口大小确定子单元确定出的ACK窗口的大小,确定需要转发的该报文的报文校验和;
第二报文流处理子单元,用于转发携带有报文校验和确定子单元确定出的报文校验和的该报文。
17.一种出口网关设备,其特征在于,包括权利要求8~16任一权利要求所述的网络流量控制装置。
CN201110432358.8A 2011-12-21 2011-12-21 网络流量控制方法、装置及出口网关设备 Active CN102413056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110432358.8A CN102413056B (zh) 2011-12-21 2011-12-21 网络流量控制方法、装置及出口网关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110432358.8A CN102413056B (zh) 2011-12-21 2011-12-21 网络流量控制方法、装置及出口网关设备

Publications (2)

Publication Number Publication Date
CN102413056A CN102413056A (zh) 2012-04-11
CN102413056B true CN102413056B (zh) 2014-10-29

Family

ID=45914915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110432358.8A Active CN102413056B (zh) 2011-12-21 2011-12-21 网络流量控制方法、装置及出口网关设备

Country Status (1)

Country Link
CN (1) CN102413056B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638406A (zh) * 2012-04-16 2012-08-15 北京星网锐捷网络技术有限公司 流量控制方法、装置及网络设备
CN102780610B (zh) * 2012-05-21 2015-01-07 上海斐讯数据通信技术有限公司 网关QoS保障方法及分组交换网络系统
CN103152797B (zh) * 2013-01-28 2016-05-25 北京傲天动联技术股份有限公司 一种低速率用户接入控制方法
CN105208608A (zh) * 2014-06-18 2015-12-30 中国电信股份有限公司 对用户访问速度进行控制的方法、系统与策略管理平台
CN105704052A (zh) * 2014-11-27 2016-06-22 华为技术有限公司 一种量化的拥塞通告消息生成方法及装置
CN106470167B (zh) * 2015-08-17 2020-09-01 阿里巴巴集团控股有限公司 网络传输速度的控制方法和装置
CN106533959B (zh) * 2016-12-23 2019-07-19 锐捷网络股份有限公司 一种交换设备出口端速率的确定方法及交换设备
CN113660173B (zh) * 2021-08-16 2024-04-26 抖音视界有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN115022717B (zh) * 2022-05-31 2023-11-07 北京字跳网络技术有限公司 一种数据下载方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004260445A (ja) * 2003-02-25 2004-09-16 Ntt Docomo Inc ネットワーク機器管理システム及びその方法並びにネットワーク機器設定制御装置、ネットワーク機器
CN101711041A (zh) * 2009-12-09 2010-05-19 华为技术有限公司 拥塞控制方法、操作维护中心设备和基站
CN101827033A (zh) * 2010-04-30 2010-09-08 北京搜狗科技发展有限公司 一种网络流量控制方法、装置及局域网系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004260445A (ja) * 2003-02-25 2004-09-16 Ntt Docomo Inc ネットワーク機器管理システム及びその方法並びにネットワーク機器設定制御装置、ネットワーク機器
CN101711041A (zh) * 2009-12-09 2010-05-19 华为技术有限公司 拥塞控制方法、操作维护中心设备和基站
CN101827033A (zh) * 2010-04-30 2010-09-08 北京搜狗科技发展有限公司 一种网络流量控制方法、装置及局域网系统

Also Published As

Publication number Publication date
CN102413056A (zh) 2012-04-11

Similar Documents

Publication Publication Date Title
CN102413056B (zh) 网络流量控制方法、装置及出口网关设备
CN109787921B (zh) Cdn带宽调度方法、采集及调度服务器和存储介质
JP6319608B2 (ja) 伝送制御方法、装置およびシステム
CN102404182B (zh) 传输控制方法及装置
CN106330756B (zh) 一种数据传输方法和设备
Lu et al. SDN-based TCP congestion control in data center networks
CN107637032A (zh) 用于调整数据流的系统和方法
CN105493510B (zh) 数据通讯系统与方法
JP2009022058A5 (zh)
CN104283605B (zh) 基于udp协议的卫星网络数据传输方法及装置
CN106789229A (zh) 一种面向工业sdn的中间件、系统及其实现方法
CN115460156A (zh) 一种数据中心无损网络拥塞控制方法、装置、设备及介质
JP2007013449A (ja) シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
JP4698645B2 (ja) フロー制御装置およびフロー制御方法
CN102014058B (zh) 一种上行流量的调度方法及装置
US9130843B2 (en) Method and apparatus for improving HTTP adaptive streaming performance using TCP modifications at content source
Arumaithurai et al. Nf-tcp: Network friendly tcp
WO2017101875A1 (zh) 一种基于iSCSI协议的传输速率控制方法和装置
CN102404208B (zh) 一种互联网拥塞控制方法
Park et al. Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach
JP6757736B2 (ja) パケット送信タイミングの動的調整方法
JP5954961B2 (ja) 通信パスを決定するためのデバイス及び方法
Bagnulo et al. Design, implementation and validation of a receiver-driven less-than-best-effort transport
JP2006087010A (ja) 通信路制御装置およびそれを用いたネットワークシステム
XIA et al. Congestion Control for Content-Centric Networking Based on Protocol-Oblivious Forwarding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant