CN117319301A - 网络拥塞控制方法及装置 - Google Patents
网络拥塞控制方法及装置 Download PDFInfo
- Publication number
- CN117319301A CN117319301A CN202210726633.5A CN202210726633A CN117319301A CN 117319301 A CN117319301 A CN 117319301A CN 202210726633 A CN202210726633 A CN 202210726633A CN 117319301 A CN117319301 A CN 117319301A
- Authority
- CN
- China
- Prior art keywords
- packet loss
- network
- tcp
- data transmission
- transmission rate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 155
- 238000012545 processing Methods 0.000 claims abstract description 135
- 238000004590 computer program Methods 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种网络拥塞控制方法及装置,该网络拥塞控制方法应用于一园区网的入口设备,入口设备用于与运营商网络连接,所述方法包括:获取入口设备与运营商网络之间的实时带宽;若入口设备与运营商网络之间的实时带宽所表征的数据传输速率大于预设的***阈值所表征的数据传输速率,则对来自运营商网络的TCP报文进行丢包处理,其中,***阈值依据园区网与运营商网络的签约带宽获得。本申请通过在园区网的入口设备对来自运营商网络的TCP报文进行丢包处理,以减少入口设备的吞吐量,避免入口设备与运营商网络之间的实时带宽大于签约带宽导致园区网网络拥塞,提升园区网的独立性和可控性,减少园区网对运营商网络的依赖。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络拥塞控制方法及装置。
背景技术
园区网是指为企业或组织建立的办公局域网,以实现数字化办公、生产及运营,例如,校园网、社区网、企事业单位网等等。随着园区业务的逐渐丰富,园区网承载了更多的流量,当园区网在单位时间内的传输流量超过园区网与运营商的签约带宽所限定的传输流量时,园区网会发生网络拥塞,进而影响园区网内用户的正常工作。
发明内容
鉴于以上内容,有必要提供一种网络拥塞控制方法及装置,在园区网的数据传输速率超过预设数据传输速率时,通过园区网对来自运营商网络的传输控制协议TCP报文进行丢包处理,以降低园区网的数据传输速率,避免园区网发生网络拥塞。
第一方面,本申请实施例提供了一种网络拥塞控制方法,应用于一园区网的入口设备,所述入口设备用于与运营商网络连接,所述方法包括:获取所述入口设备与所述运营商网络之间的实时带宽;若所述入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,则对来自所述运营商网络的TCP报文进行丢包处理,其中,所述***阈值依据所述园区网与所述运营商网络的签约带宽获得。采用上述技术方案,在园区网与运营商网络之间的实时带宽所表征的数据传输速率大于预设的***阈值所表征的数据传输速率,园区网侧主动对来自运营商网络的TCP报文进行丢包处理,通过对TCP报文丢包处理以降低园区网与运营商网络之间的吞吐量,从而使园区网与运营商网络之间的实时带宽所表征的数据传输速率在预设的***阈值所表征的数据传输速率范围内,避免园区网因带宽受限导致网络拥塞,同时通过园区网主动对TCP报文进行丢包,以园区网的独立性和可控性,减少园区网对运营商网络的依赖。
在上述第一方面的一种可能的实现中,所述对来自所述运营商网络的TCP报文进行丢包处理,包括:获取所述TCP报文的优先级信息;依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理。采用上述技术方案,可以对不同优先级信息的TCP报文采取不同的丢包处理方式,例如对优先级较高的TCP不做丢包处理,仅对优先级较低的TCP报文做丢包处理。在带宽受限的场景下,为园区网内不同用户提供不同需求的服务。
在上述第一方面的一种可能的实现中,所述获取所述TCP报文的优先级信息,包括:获取所述TCP报文的报文标识,其中,所述报文标识用于唯一标识所述TCP报文;依据所述报文标识确定所述TCP报文的优先级信息。
采用上述技术方案,通过报文标识来标识TCP报文,并通过报文标识确定每个TCP报文的优先级信息,以便依据优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理。其中报文标识可为IP地址、MAC地址。
在上述第一方面的一种可能的实现中,所述依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理,包括:依据所述优先级信息确定来自所述运营商网络的TCP报文中的待处理报文;对所述待处理报文进行丢包处理,其中,所述待处理报文的优先级低于所述来自所述运营商网络的所有TCP报文中其他TCP报文的优先级。
采用上述技术方案,园区网的入口设备仅对优先级低的TCP报文进行丢包处理,将优先级高的TCP报文直接向对应的客户端进行转发,且由于优先级高的TCP报文对应高优先用户,通过对高优先级用户的TCP报文直接转发,以保证在带宽受限的场景下高优先级用户的使用体验。
在上述第一方面的一种可能的实现中,所述待处理报文包括多种TCP报文,所述对所述待处理报文进行丢包处理包括:依据所述待处理报文的优先级信息确定所述待处理报文中每种TCP报文的丢包参数;依据所述丢包参数对所述待处理报文中对应的所述TCP报文进行丢包处理。
采用上述技术方案,依据优先级信息对应的丢包参数对对应的TCP报文进行丢包处理,以实现待处理报文中多种TCP报文的差异化处理。
进一步地,其中丢包参数可为丢包率或丢包个数,不同优先级信息的TCP报文对应不同的丢包参数。
在上述第一方面的一种可能的实现中,所述依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理包括:依据所述优先级信息确定来自所述运营商网络的TCP报文的丢包参数;依据所述丢包参数对来自所述运营商网络的TCP报文进行丢包处理,其中,不同的优先级信息对应不同的丢包参数。
采用上述技术方案,对来自运营商网络的所有TCP报文均进行丢包处理,由于不同的优先级信息对应不同的丢包参数,通过不同的丢包参数对不同优先级信息的TCP报文进行丢包处理,以实现对来自运营商网络的TCP报文进行差异化丢包处理。
在上述第一方面的一种可能的实现中,所述入口设备中存储有丢包滑动窗口,所述依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理包括:依据所述丢包滑动窗口对来自所述运营商网络的TCP报文进行差异化丢包处理。
采用上述技术方案,通过入口设备中预先设定的丢包滑动窗口对来自所述运营商网络的TCP报文进行差异化丢包处理。
在上述第一方面的一种可能的实现中,所述依据所述丢包滑动窗口对所述TCP报文进行丢包处理包括:接收来自所述运营商网络的所述丢包滑动窗口大小的TCP报文;依据预设的丢包参数对所述丢包滑动窗口大小的TCP报文进行丢包处理;若在所述丢包处理之后,所述入口设备和所述运营商网络的实时带宽所表征的数据传输速率大于或等于所述***阈值所表征的数据传输速率,逐步增大所述丢包参数,并依据增大后的丢包参数对接收来自所述运营商网络的丢包滑动窗口大小的TCP报文进行丢包处理,直到所述入口设备和所述运营商网络的实时带宽所表征的数据传输速率小于所述***阈值所表征的数据传输速率。
采用上述技术方案,在对来自所述运营商网络的所述丢包滑动窗口大小的TCP报文进行丢包过程中,通过逐步增大丢包参数,以实现快速将入口设备和所述运营商网络的实时带宽所表征的数据传输速率降低至小于所述***阈值所表征的数据传输速率。
在上述第一方面的一种可能的实现中,若所述入口设备和所述运营商网络之间的实时带宽所表征的数据传输速率由大于或等于所述***阈值所表征的数据传输速率变更为小于所述***阈值所表征的数据传输速率,所述方法还包括:逐步减小所述丢包参数,依据减小后的所述丢包参数对接收的丢包滑动窗口大小的TCP报文进行丢包,直至所述丢包参数为0,则不再对来自所述运营商网络的TCP报文进行丢包处理。
采用上述技术方案,在所述入口设备和所述运营商网络之间的实时带宽所表征的数据传输速率由大于或等于所述***阈值所表征的数据传输速率变更为小于所述***阈值所表征的数据传输速率,通过逐步减小所述丢包参数,并依据减小后的丢包参数进行丢包。
在上述第一方面的一种可能的实现中,所述方法还包括:依据所述入口设备和所述运营商网络之间的实时带宽所表征的数据传输速率与所述***阈值所表征的数据传输速率的关系调整所述丢包参数;依据调整后的所述丢包参数对来自所述运营商网络的TCP报文进行丢包处理。
在上述第一方面的一种可能的实现中,所述若所述入口设备的实时带宽所表征的数据传输速率大于预设的***阈值所表征的数据传输速率,对来自所述运营商网络的TCP报文进行丢包处理包括:若所述***阈值越大,则所述***阈值所表征的数据传输速率越小,则当实际带宽大于或等于***阈值时,对来自所述运营商网络的所述TCP报文进行丢包处理;若所述***阈值越大,则所述***阈值所表征的数据传输速率越小,则当所述签约带宽与所述实际带宽的差值的绝对值小于或等于所述***阈值时,对来自所述运营商网络的所述TCP报文进行丢包处理。
具体地,当所述***阈值越大,所述***阈值所表征的数据传输速率越小时,所述入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,为:所述实际带宽大于或等于所述***阈值。
当所述***阈值越大,所述***阈值所表征的数据传输速率越小时,所述入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,为:所述签约带宽与所述实际带宽的差值的绝对值小于或等于所述***阈值。在上述第一方面的一种可能的实现中,所述入口设备的包转发性能所表征的数据传输速率大于所述签约带宽所表征的数据传输速率。
第二方面,本申请实施例提供一种入口设备,入口设备包括接收入口模块、流量检测模块、反压控制模块、滑动丢包模块、转发模块、出口转发模块。
其中,接收入口模块用于接收来自运营商网络发送的数据,流量检测模块用于检测入口设备预设时间内的传输的数据量,以获取入口设备与运营商网络之间的实时带宽;若入口设备的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率,转发模块用于将来自运营商网络发送的数据向出口转发模块转发,出口转发模块用于转发转发模块发送的数据;若入口设备的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,反压控制模块和滑动丢包模块配合,以对来自运营商网络的TCP报文进行丢包处理,并将丢包处理后的TCP报文向出口转发模块转发,以便出口转发模块转发接收到的数据。
第三方面,本申请实施例提供一种入口设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或至少一个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面任一项所述的网络拥塞控制方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面中任一项所述的网络拥塞控制方法。
第五方面,本申请实施例提供一种园区网,包括入口设备,所述入口设备用于执行第一方面任一项的网络拥塞控制方法。
应当理解地,第二方面至第五方面中任一种设计所带来的技术效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为一种***网的***架构示意图。
图2为本申请实施例提供的网络拥塞控制方法的流程示意图。
图3为本申请实施例提供的丢包处理方法的流程示意图。
图4为本申请实施例提供的丢包滑动窗口丢包处理的示意图。
图5为本申请实施例提供的入口设备的丢包参数随时间变化的示意图。
图6为本申请实施例提供的入口设备的状态机的示意图。
图7为本申请实施例提供的入口设备的模块示意图。
图8为本申请实施例的入口设备的硬件示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于标识作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“多个”是指两个或多于两个,“和/或”包括关联的所列项目中的一个或多个的任何和所有组合。
首先,介绍本申请实施例所涉及的技术术语:
1、带宽(Max net bitrate)
带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。其中签约带宽是用户(例如园区网,园区网为与运营商网络进行签约的用户)与运营商所签订的宽带业务协议中所规定的从运营商的接入设备到用户设备之间的理论最高可达速率。
2、吞吐量(throughput)
吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。
3、TCP拥塞控制
TCP拥塞控制是传输控制协议(Transmission Control Protocol,TCP)避免网络拥塞的算法,是一种拥塞控制措施。TCP拥塞控制使用基于线增积减模式的多样化网络拥塞控制方法(包括慢启动和拥塞窗口等模式)来控制拥塞。
为了便于理解,下面结合附图对本申请实施例中的技术方案进行描述。
首先结合图1介绍一种***网的架构示意图。如图1所示,***网包括园区网和运营商网络。运营商网络包括出口设备210,运营商网络通过出口设备210与园区网进行通信。例如运营商网络通过出口设备210向园区网发送下行数据。其中,出口设备210可为路由器、交换机等设备。
园区网包括入口设备110、交换机130及客户端150。
园区网通过入口设备110与运营商网络连接。入口设备110可为边缘交换机、接入交换机等设备。入口设备110用于实现园区网与运营商网络之间的通信。例如,园区网通过入口设备110接收运营商网络发送的下行数据或向运营商网络发送上行数据。其中,图1中园区网的入口设备110直接与运营商网络的出口设备210连接并进行通信。可以理解,在其他实施例中,园区网的入口设备110可通过其他转发设备或转发网络与运营商网络的出口设备210连接,如此,园区网通过其他转发设备或转发网络与运营商网络进行通信。
如图1所示,客户端150包括客户端1、客户端2、客户端3和客户端4。可以理解,本申请仅以图1为例,但并不以此为限。客户端150可以为移动终端、笔记本电脑、台式机等。
可以理解,当运营商网络通与园区网进行通信时,运营商网络通过出口设备210向园区网的入口设备111发送来自运营商网络的下行数据。入口设备110将下行数据转发给对应的交换机130,并由交换机130转发给园区网的客户端150。入口设备110还接收交换机130转发自客户端150发送的上行数据,并将该上行数据转发给运营商网络的出口设备210,运营商网络的出口设备210接收来自园区网的上行数据。
显然,当园区网内客户端150的业务量需求变大时,将导致在单位时间,园区网的入口设备110与出口设备210之间传输的数据量超过园区网与运营商的签约带宽所限定的最大数据量,进而导致园区网发生网络拥塞。网络拥塞会导致园区网的网络传输性能下降,影响园区网的所有业务的正常运行。
针对上述问题,本申请提供一种网络拥塞控制方法,通过检测园区网的入口设备110与运营商网络之间的实时带宽。当入口设备110和运营商网络之间的实时带宽所表征的数据传输速度达到预设数据传输速率时,入口设备110对来自运营商网络的TCP报文进行丢包处理。通过对TCP报文进行丢包处理,以对园区网的入口设备110的整体流量进行反向控制,从而减少园区网的入口设备110的吞吐量,保证园区网的入口设备110与运营商网络之间的实时带宽始终保持在园区网与运营商的签约带宽范围内,避免园区网发生网络拥塞。
具体地,运营商网络和园区网之间通常通过滑动窗口机制实现报文的传输。当入口设备110对来自运营商网络的TCP报文进行丢包处理时,会导致运营商网络接收园区网发送的TCP报文的确认消息变少。如此,运营商网络将依据TCP拥塞控制减小TCP报文的发送窗口,从而运营商网络和园区网之间的传输的数据变少,园区网的入口设备110的吞吐量变小,进而使园区网与运营商网络之间的实时带宽变小,使园区网的入口设备110与运营商网络的实时带宽始终保持在园区网与运营商的签约带宽内。
请参见图2,为本申请实施例提供的一种网络拥塞控制方法的流程示意图。该网络拥塞控制方法可应用于园区网的入口设备。下面以网络拥塞控制方法应用于图1中的园区网的入口设备110为例进行详细说明。
S201、获取入口设备110与运营商网络之间的实时带宽。
具体地,可通过检测入口设备110在预设时间内的传输的数据量,并依据传输的数据量和预设时间计算实时带宽。示例性地,园区网的入口设备110在3秒内传输的数据量为300MB,则入口设备110和运营商网络之间的实际带宽为300MB/3s=100Mb/s。
可以理解,在本申请实施例中,实时带宽也可称为入口设备110的吞吐量。实时带宽可表征入口设备110和运营商网络之间的数据传输速率。传输的数据量包括入口设备110接收来自运营商网络的下行数据和入口设备110向运营商网络转发的上行数据。
S202、若入口设备110和运营商网络之间的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,对来自运营商网络的TCP报文进行丢包处理。
其中,***阈值是依据园区网与运营商网络的签约带宽获得。示例性地,若签约带宽为100Mb/s,***阈值可为90Mb/s。
可以理解,通过限定入口设备110和运营商网络之间的实时带宽所表征的数据传输速率与***阈值所表征的数据传输速率的关系,以确定实时带宽与签约带宽的关系。当入口设备110和运营商网络之间的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率时,表明入口设备110与运营商网络之间的实时带宽接近入口设备110与运营商网络之间的签约带宽,园区网存在网络拥塞的风险。当入口设备110和运营商网络之间的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率时,表明入口设备110与运营商网络之间的实时带宽与入口设备110与运营商网络之间的签约带宽之间具有较大的未使用带宽,无需对入口设备110与运营商网络之间传输的数据进行处理。
例如,若签约带宽为100Mb/s,***阈值可为90Mb/s,当入口设备110与运营商网络之间的实时带宽为92Mb/s时,其大于***阈值,表明入口设备110与运营商网络之间的实时带宽接近入口设备110与运营商网络之间的签约带宽。为了避免园区网与运营商网络之间的实时带宽超过签约带宽,在入口设备110侧对来自运营商网络发送的下行数据中的TCP报文进行丢包处理,以降低入口设备110与运营商网络之间的实时带宽,保证入口设备110与运营商网络之间的实时带宽在入口设备110与运营商网络之间的签约带宽的范围内,避免园区网发生网络拥塞。
可以理解,***阈值所表征的数据传输速率可为签约带宽所表征的数据传输速率的90%~95%。该***阈值既可保证园区网的带宽利用率,又可以避免园区网的实时带宽超过签约带宽,导致园区网发生网络拥塞。当然,在其他实施例中,***阈值可以依据园区网与运营商网络的网络状态确定。
可以理解,在一些实施例中,若***阈值越大,则***阈值所表征的数据传输速率越大。例如,***阈值为带宽阈值,用于指示园区网已使用的带宽的阈值,则步骤S202的具体实现方式可以是,当实际带宽大于或等于***阈值时,对来自运营商网络的TCP报文进行丢包处理。示例性地,签约带宽为100Mb/s,***阈值为90Mb/s,当实时带宽大于或等于90Mb/s,对来自运营商网络的TCP报文进行丢包处理。
在一些实施例中,若***阈值越大,则***阈值所表征的数据传输速率越小。例如,***阈值为未使用的带宽阈值,用于指示园区网未使用的带宽的阈值。则步骤S202的具体实现方式可以是,当签约带宽与实际带宽的差值的绝对值小于或等于***阈值时,对来自运营商网络的TCP报文进行丢包处理。示例性地,签约带宽为100Mb/s,***阈值为10Mb/s,当实时带宽为91Mb/s,签约带宽与实际带宽的差值的绝对值为9Mb/s且小于***阈值,则对来自运营商网络的TCP报文进行丢包处理。
综上,当***阈值越大,***阈值所表征的数据传输速率越小时,入口设备110与运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,为:实际带宽大于或等于***阈值。当***阈值越大,***阈值所表征的数据传输速率越小时,入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,为:签约带宽与所述实际带宽的差值的绝对值小于或等于***阈值。
可以理解,在一些实施例中,当园区网的入口设备110的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率时,为保证园区网内业务可正常进行,入口设备110的包转发性能所表征的数据传输速率为大于签约带宽所表征的数据传输速率。其中,包转发性能用于指示入口设备110的数据转发能力。
在一实施例中,请参见图3,对来自运营商网络的TCP报文进行丢包处理具体包括:
S301、获取来自运营商网络的TCP报文的优先级信息。
其中,优先级信息用于指示多个不同的TCP报文的优先级别或者重要程度。
可以理解,园区网与运营商网络之间传输的数据包括TCP报文和非TCP报文(例如UDP报文)。需要说明的是,本申请实施例中的入口设备110仅对接收到的TCP报文进行处理,其他非TCP报文会直接向对应的客户端转发,不做丢包处理。
可以理解,由于入口设备110接收的来自运营商网络的多个TCP报文对应不同的客户端,即入口设备110是将TCP报文向对应的客户端进行转发。如此,可通过客户端的优先级信息确定每个客户端对应的TCP报文的优先级信息。示例性地,优先级信息包括低优先级和高优先级。以图1为例,假设园区网中的客户端2、客户端3及客户端4为低优先级,客户端1为高优先级,则客户端1对应的TCP报文的优先级大于客户端2、客户端3及客户端4对应的TCP报文的优先级。
在一些实施例中,S301中获取来自运营商网络的TCP报文的优先级信息,包括:
获取来自运营商网络的TCP报文的报文标识;
依据报文标识确定对应的TCP报文的优先级信息。
具体地,入口设备110接收运营商网络发送的多个TCP报文,接着获取每个TCP报文对应的报文标识,并依据报文标识确定每个TCP报文对应的优先级。
可以理解,在本申请实施例中,报文标识用于标识TCP报文或用户使用的客户端,如此可通过报文标识建立TCP报文与客户端之间的关联关系。
可以理解,报文标识可为IP地址或MAC地址。其中,若报文标识为IP地址,则该IP地址可为客户端的IP地址。当然,报文标识还可为其他参数,例如用户自定义的参数或TCP报文中目的地端口号,在此不作具体限定,仅需确保该参数可唯一标识TCP报文和用户使用的客户端即可。
在一些实施例中,入口设备110中存储有第一对应关系。第一对应关系包括报文标识以及每个报文标识对应的优先级信息。对应地,依据报文标识确定对应的TCP报文的优先级信息包括:
依据报文标识和第一对应关系确定TCP报文的优先级信息。
具体地,入口设备110将该报文标识与第一对应关系中的报文标识进行匹配,以获得该TCP报文对应的优先级信息。
在其他实施例中,入口设备110还可通过其他方式获取对应TCP报文的优先级信息,例如通过机器学习算法训练识别模型,向识别模型识别输入TCP报文,识别模型输出TCP报文的优先级信息。
S302、依据优先级信息对TCP报文进行差异化丢包处理。
可以理解,园区网被多个用户共同使用时,不同用户通过园区网执行不同类型的业务、或不同用户具有不同的用户身份,导致不同用户具有不同的优先级,从而使多个用户使用的客户端具有不同优先级。如此,可依据优先级信息对多个TCP报文进行差异化丢包处理,即可依据用户的优先级或用户执行业务的重要程度对相关用户的TCP报文采用不同的处理方式。例如,在带宽受限的情况下,对非重要用户的TCP报文进行丢包,对重要用户的TCP报文不进行丢包,从而使园区网与运营商网络之间的实时带宽在入口设备110与运营商网络之间的签约带宽的范围内,避免园区网发生网络拥塞。另外,通过对重要用户对应的TCP报文不执行丢包或对重要用户执行丢包的丢包率小于对普通用户执行丢包的丢包率,从而可在园区网带宽受限的场景下保证重要用户(或优先级较高的用户)的使用体验。
例如,请参见图1,假设客户端2、客户端3及客户端4的优先级相等,且客户端1对应的TCP报文的优先级大于客户端2、客户端3及客户端4对应的TCP报文的优先级,则入口设备110仅对客户端2、客户端3及客户端4对应的TCP报文进行丢包处理,对客户端1的TCP报文不进行丢包处理。
下面结合实施例1及实施例2详细介绍S302。
实施例1:
在实施例1中,S302中,依据优先级信息对TCP报文进行差异化丢包处理,包括:
依据优先级信息确定该TCP报文中的待处理报文,对待处理报文进行丢包处理。其中,待处理报文的优先级低于来自运营商网络的TCP报文中其余TCP报文的优先级。
具体地,入口设备110依据优先级信息将来自运营商网络的TCP报文分为待处理报文和正常处理报文。待处理报文的优先级低于正常处理报文的优先级。入口设备110对待处理报文进行丢包处理,并正常转发正常处理报文。如此,入口设备110通过对不同优先级信息对应的TCP报文进行不同的丢包处理方式,以实现对TCP报文进行差异化丢包处理。
示例性地,入口设备110接收来自运营商网络的70个TCP报文:报文1至报文70。接着,入口设备110获取70个TCP报文的优先级信息之后判定:报文1至报文10的优先级高于报文11至报文70的优先级,则入口设备110将报文1至报文10正常转发至对应的客户端,并依据预设的丢包参数(例如丢包参数为丢包率)对报文11至报文70进行丢包处理。
可以理解,在另外的实施例中,若待处理报文包括多个TCP报文,多个TCP报文具有多个优先级信息,且入口设备110中存储有待处理报文的优先级信息与丢包参数之间的第二对应关系。则,对待处理报文进行丢包处理可包括:
依据待处理报文的优先级信息和第二对应关系确定待处理报文的丢包参数;
依据丢包参数对待处理中的多个TCP报文进行丢包处理。
具体地,待处理报文中多个TCP报文具有不同的优先级,入口设备110可依据不同优先级的TCP报文设置不同的丢包率,并依据丢包率对对应的TCP报文进行丢包处理。示例性地,待处理报文包括60个TCP报文:TCP报文11至TCP报文70,其中,TCP报文11至TCP报文30的优先级最高,TCP报文31至TCP报文50的优先级次之,TCP报文51至TCP报文70的优先级最低。入口设备110依据优先级信息和第二对应关系确定TCP报文11至TCP报文30的丢包率为10%,TCP报文31至TCP报文的丢包率为15%,TCP报文51至TCP报文70的丢包率为20%,接着依据丢包率对对应的TCP报文进行丢包处理。
其中,丢包参数可为丢包率。当然,在其他实施例中,丢包参数还可为丢包个数。
可以理解,丢包参数可为用户预先设置在入口设备110中。当然,在其他实施例中,可以依据园区网与运营商网络的网络状态确定丢包参数。
实施例2:
在实施例2中,入口设备110接收来自运营商网络的TCP报文包括多种TCP报文,例如每种TCP报文对应一个客户端。则,S302中依据优先级信息对来自运营商网络的TCP报文进行差异化丢包处理,包括:
依据优先级信息确定TCP报文的丢包参数;
依据丢包参数对来自运营商网络的TCP报文进行丢包处理;
其中,不同优先级信息的TCP报文具有不同的丢包参数。
具体地,入口设备110对来自运营商网络的所有的TCP报文均进行丢包处理,且对不同优先级信息的TCP报文进行不同的丢包处理。即入口设备110依据优先级信息获取每种TCP报文对应的丢包参数,由于不同优先级的TCP报文具有不同的丢包参数,入口设备110依据丢包参数对对应的种类的多个TCP报文进行丢包处理。
示例性地,丢包参数为丢包率,入口设备接收来自运营商网络发送的60个TCP报文:TCP报文11至TCP报文70,其中,TCP报文11至TCP报文30的优先级最高,TCP报文31至TCP报文50的优先级次之,TCP报文51至TCP报文70的优先级最低,入口设备依据优先级信息确定TCP报文11至TCP报文30的丢包率为10%,TCP报文31至TCP报文的丢包率为15%,TCP报文51至TCP报文70的丢包率为20%,入口设备110依据丢包率对对应的TCP报文进行丢包处理。当然,在其他实施例中,若入口设备依据优先级信息确定TCP报文11至TCP报文30的丢包率为0%,TCP报文31至TCP报文的丢包率为15%,TCP报文51至TCP报文70的丢包率为20%,则入口设备对TCP报文11至TCP报文30不做丢包处理。
可以理解,在一些实施例中,入口设备110中预设有丢包滑动窗口。其中丢包滑动窗口的大小可由用户预先设置,也可依据园区网的网络状态(例如实时网速)确定。对应地,入口设备110可依据丢包滑动窗口对来自运营商网络的TCP报文进行丢包处理。具体地,实施例1及实施例2中,依据丢包参数对来自运营商网络的TCP报文进行丢包处理,包括:
依据丢包参数和丢包滑动窗口对来自运营商网络的TCP报文进行丢包处理。
示例性地,请参见图4,假设丢包滑动窗口的大小为10个TCP报文,丢包参数为丢包个数,丢包个数为3个。因此,当入口设备110接收到来自运营商网络的10个TCP报文时,会根据丢包滑动窗口和丢包参数(3个)随机丢弃其中3个TCP报文(如图4中黑色方框所示)。
当然,在其他实施例中,若入口设备110仅对来自运营商网络的TCP报文中的待处理报文进行丢包,则入口设备110每次接收丢包滑动窗口大小的待处理报文,依据丢包滑动窗口大小的待处理报文进行丢包处理。示例性地,丢包滑动窗口的大小为10个TCP报文,丢包参数为丢包个数,丢包个数为3个,入口设备110接收到来自运营商网络的50个TCP报文,其每次接收10个待处理报文,并对待处理报文进行丢包处理,即随机丢弃待处理报文中的3个TCP报文。
可以理解,请再次参阅图2,入口设备110对来自运营商网络的TCP报文进行预设时间的丢包处理之后,或对来自运营商网络的预设大小(例如10MB)的TCP报文进行丢包处理之后,网络拥塞控制方法还包括:
获取入口设备110与运营商网络之间的实时带宽;
若入口设备110的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,则对后续接收的来自运营商网络的TCP报文进行丢包处理,并检测丢包处理后的入口设备110与运营商网络之间的实时带宽;若入口设备110的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,则对后续接收的来自运营商网络的TCP报文进行丢包处理,依次循环,直至入口设备110与运营商网络之间的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率。即,不再对后续接收的来自运营商网络的TCP报文做丢包处理。
可以理解,在一些实施例中,依据丢包参数对来自运营商网络的TCP报文进行丢包处理包括:
接收来自运营商网络的丢包滑动窗口大小的TCP报文;
依据丢包参数对丢包滑动窗口大小的TCP报文进行丢包处理;
若入口设备110和运营商网络之间的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,逐步增大丢包参数,并依据增大后的丢包参数对接收的丢包滑动窗口大小的TCP报文进行丢包,直到入口设备110和运营商网络之间的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率。
可以理解,若来自运营商网络的TCP报文的丢包参数为固定不变的,则入口设备110依据该丢包参数对来自运营商网络的TCP报文进行丢包处理之后,入口设备110再次获取入口设备110与运营商网络之间的实时带宽。若入口设备110确定该实时带宽所表征的数据传输速率仍然大于***阈值所表征的数据传输速率,则入口设备110可通过逐步增大丢包处理对应的丢包参数,并依据增大后的丢包参数对对新接收的TCP报文进行丢包处理,以实现对入口设备110与运营商网络之间的快速增大的实时带宽进行快速调整。
另外,入口设备110通过逐步增大丢包处理对应的丢包参数,可实现将入口设备110和运营商网络之间的实时带宽所表征的数据传输速率快速降低至小于***阈值所表征的数据传输速率。
示例性地,假设丢包滑动窗口为20个TCP报文,丢包参数为丢包个数,且丢包个数为4个。若入口设备110接收到来自运营商网络的20个TCP报文,入口设备110丢弃20个TCP报文中的4个TCP报文之后,获取入口设备110与运营商网络的实时带宽。若实时带宽所表征的数据传输速率仍大于或等于***阈值所表征的数据传输速率,则将丢包个数增加为8个,然后接收到来自运营商网络的20个TCP报文,入口设备110丢弃20个TCP报文中的8个TCP报文之后,再次获取入口设备110与外部网络的实时带宽。若实时带宽所表征的数据传输速率仍大于或等于***阈值所表征的数据传输速率,则继续增大丢包个数,直到实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率。如此,在对接收到的TCP报文进行丢包以降低入口设备110与运营商网络之间的实时带宽时,通过逐步增大丢包参数,以实现快速降低实时带宽,避免园区网的实时带宽超过签约带宽。
在本申请实施例中,入口设备110可通过倍增法逐步增大丢包参数。示例性地,假设丢包参数为丢包个数drop,当初次获取入口设备110与运营商网络的实时带宽时,drop=0,step=1。其中,step为入口设备110初次检测入口设备110与运营商网络之间的实时带宽。当入口设备110与运营商网络之间的实时带宽所表征的数据传输速率大于***阈值所表征的数据传输速率时,入口设备110可依据以下倍增代码实现丢包个数依次增大:
threshold=drop;
drop=drop+step;
step=step*2;
其中,threshold可为入口设备100预设的丢包参数,丢包参数可为丢包率或丢包个数。
然后,入口设备110依据逐步增大的丢包个数对来自运营商网络的丢包滑动窗口的TCP报文进行丢包处理,直到入口设备110检测到入口设备与运营商网络之间的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率。
当然,在其他实施例中,入口设备110可采取其他增大丢包参数的方法,本申请对此不作限制。
可以理解,在其他实施例中,在入口设备110与运营商网络之间的实时带宽所表征的数据传输速率由大于或等于***阈值所表征的数据传输速率变更为小于***阈值所表征的数据传输速率时,网络拥塞控制方法还包括:
逐步减小丢包参数,并依据减小后的丢包参数对丢包滑动窗口的TCP报文进行丢包处理,直到丢包参数变为0。
示例性地,入口设备110可通过二分法逐步减小丢包参数,即通过将丢包参数除以2,以得到原来丢包参数的一半,并依据减小后的丢包参数对丢包滑动窗口的TCP报文进行丢包处理,直至丢包参数减小为0,则此时对来自运营商网络的所有TCP报文均不作丢包处理。
可以理解,入口设备110可以采用其他丢包参数减小的方法,本申请对此不作限制。
可以理解,在上述实施例中,通过逐步增大丢包参数,直至丢包参数增大至目标丢包参数时,当依据目标丢包参数对来自运营商网络的TCP报文进行丢包处理且入口设备110和运营商网络之间的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率之后,通过逐步减小丢包参数,并依据减小后的丢包参数进行丢包处理,并检测丢包处理后的实时带宽与***阈值所表征的数据传输速率的关系,若入口设备110和运营商网络之间的实时带宽所表征的数据传输速率仍小于***阈值所表征的数据传输速率,则再次减小丢包参数,并依据减小后的丢包参数进行丢包处理,依次循环,直至丢包参数为0,则停止丢包处理或若入口设备110和运营商网络之间的实时带宽所表征的数据传输速率大于***阈值所表征的数据传输速率,则逐步增大丢包参数,并依据增大后的丢包参数进行丢包处理。
在一些实施例中,若依据减小后的丢包参数对来自运营商网络的丢包滑动窗口的TCP报文进行丢包处理之后,入口设备110与运营商网络之间的实时带宽所表征的数据传输速率再次变更为大于***阈值所表征的数据传输速率,则入口设备110逐步增大丢包参数,然后依据增大后的丢包参数对来自运营商网络的TCP报文进行丢包处理,然后再依据入口设备110与运营商网络之间的实时带宽所表征的数据传输速率与***阈值所表征的数据传输速率的关系增大或减小丢包参数,例如,入口设备110与运营商网络之间的实时带宽所表征的数据传输速率再大于***阈值所表征的数据传输速率,则增大丢包参数,入口设备110与运营商网络之间的实时带宽所表征的数据传输速率再小于***阈值所表征的数据传输速率,则减小参数,直至丢包参数为0,入口设备110不再对来自运营商网络的TCP报文进行丢包处理。
示例性地,请参见图5,图5为入口设备110的丢包参数随时间变化示意图。图6中纵坐标为丢包个数,横纵坐标为时间,在时间为A之前,入口设备110与运营商网络的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率,入口设备110直接向客户端150转发来自运营商网络的TCP报文,在时间A之后,入口设备110与运营商网络的实时带宽所表征的数据传输速率大于***阈值所表征的数据传输速率,入口设备100对来自运营商网络的TCP报文进行丢包处理,且逐步增大丢包参数,当到达时间B时,入口设备110与运营商网络的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率,入口设备110逐步减小丢包参数,并依据减小后的丢包参数对来自运营商网络的TCP报文进行丢包处理,当到达时间C时,入口设备110与运营商网络的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率,入口设备110逐步增大丢包参数,并依据增大后的丢包对来自运营商网络的TCP报文进行丢包处理,然后依据入口设备110与运营商网络的实时带宽所表征的数据传输速率与***阈值所表征的数据传输速率的关系调整丢包参数,并依据调整后的丢包参数对来自运营商网络的TCP报文进行丢包处理,然后入口设备110重复以上步骤,直至丢包参数为0,入口设备110对来自运营商网络的TCP报文不再进行丢包处理。
请参见6,为本申请实施例提供的入口设备110的状态机。如图6所示,入口设备110包括四种状态:空闲态(idle)、拥塞态(congest)、恢复态(recover)及探测态(probe)。
其中,如上所述,当入口设备110与运营商网络之间的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率,入口设备110处于空闲态。例如,图6中时间A之前的入口设备110的状态为空闲态。
当入口设备110与运营商网络之间的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,入口设备110处于拥塞态。例如,图6中时间A之后、时间B之前的入口设备110的状态,时间C之后、时间D之前的入口设备的状态均为拥塞态。
当入口设备110与运营商网络之间的实时带宽所表征的数据传输速率由大于或等于***阈值所表征的数据传输速率变更为小于***阈值所表征的数据传输速率,入口设备110处于恢复态。例如,图6中时间B之后、时间C之前的入口设备110的状态为恢复态。
当入口设备110与运营商网络之间在拥塞态和恢复态之间来回切换(例如上述实施例中,依据入口设备110与运营商网络的实时带宽所表征的数据传输速率与***阈值所表征的数据传输速率的关系调整丢包参数,并依据丢包参数对来自运营商网络的TCP报文进行丢包处理),直至找到状态平衡点(例如找到目标丢包参数)时,入口设备110处于探测状态。例如,图6中时间D之后的入口设备110的状态此时,入口设备110持续检测入口设备110与运营商网络之间的实时带宽,当实时带宽变小时,降低丢包参数,当丢包参数为0时,入口设备110由恢复态切换至空闲态。
请参见图7,图7为入口设备110的模块示意图。入口设备110包括接收入口模块、流量检测模块、反压控制模块、滑窗丢包模块、转发模块、出口转发模块。
其中,接收入口模块用于接收来自运营商网络发送的数据。
流量检测模块用于检测入口设备110预设时间内的传输的数据量(包括入口设备110接收来自运营商网络的下行数据和入口设备110向运营商网络转发的上行数据),以获取入口设备110与运营商网络之间的实时带宽。
转发模块用于当若入口设备110的实时带宽所表征的数据传输速率小于***阈值所表征的数据传输速率时,将来自运营商网络发送的数据向出口转发模块转发。
出口转发模块用于将接收到转发模块发送的数据向对应的客户端150转发。
若入口设备110的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,反压控制模块和滑窗丢包模块配合,以对来自运营商网络的TCP报文进行丢包处理,并将丢包处理后的TCP报文向出口转发模块转发,以便出口转发模块将接收到的数据向对应的客户端150转发。具体地,若入口设备110的实时带宽所表征的数据传输速率大于或等于***阈值所表征的数据传输速率,反压控制模块用于确定丢包参数(确定丢包参数的方法参见上述实施例),滑窗丢包模块用于依据丢包参数和预设的丢包滑动窗口对来自运营商网络的TCP报文进行丢包处理,并将丢包处理后TCP报文向出口转发模块发送。
出口转发模块还用于将滑动丢包模块丢包处理后的TCP报文向对应的客户端150转发。
可理解地,图7仅作为入口设备110的一种示例,而非限定。入口设备110可以有比图7所示的更多或更少的模块。
接下来请参考图8,图8为本申请实施例提供的入口设备110的结构图。如图8所示,入口设备110包括:处理器10、发送器20、接收器30、存储器40和端口50。存储器40、发送器20和接收器30和处理器10可以通过总线进行连接。当然,在实际运用中,存储器40、发送器20和接收器30和处理器10之间可以不是总线结构,而可以是其它结构,例如星型结构,本申请不作具体限定。
可选的,处理器10具体可以是中央处理器、特定应用集成电路(ApplicationSpecific Integrated Circuit,ASIC),一个或多个用于控制程序执行的集成电路,使用现场可编程门阵列(Field Programmable Gate Array,FPGA)开发的硬件电路,基带处理器等。
可选的,处理器10可以包括至少一个处理核心。
可选的,存储器40可以包括只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)和磁盘存储器。存储器40用于存储处理器10运行时所需的数据。存储器40的数量为一个或多个。
可选的,端口50的数量为一个或多个,用于与上层或下层的入口设备110连接。如果入口设备110为连接主机或服务器的入口设备110,如接入交换机或边缘交换机,端口50还用于与主机或服务器连接。
可选的,发送器20和接收器30在物理上可以相互独立也可以集成在一起。发送器20可以通过端口50将数据发送给园区网的转发设备或园区网的客户端。接收器30可以通过端口50接收来自运营商网络发送的数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。这些计算机程序代码可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在入口设备上运行时,使得入口设备执行上述相关方法步骤实现上述实施例中的网络拥塞控制方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在入口设备上运行时,使得入口设备执行上述相关步骤,以实现上述实施例中的网络拥塞控制方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的网络拥塞控制方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其他的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是一个物理模块或多个物理模块,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种网络拥塞控制方法,其特征在于,应用于园区网的入口设备,所述入口设备用于与运营商网络连接,所述网络拥塞控制方法包括:
获取所述入口设备与所述运营商网络之间的实时带宽;
若所述入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,则对来自所述运营商网络的传输控制协议TCP报文进行丢包处理,其中,所述***阈值依据所述园区网与所述运营商网络的签约带宽获得。
2.如权利要求1所述的网络拥塞控制方法,其特征在于,所述对来自所述运营商网络的TCP报文进行丢包处理,包括:
获取所述TCP报文的优先级信息;
依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理。
3.如权利要求2所述的网络拥塞控制方法,其特征在于,所述获取所述TCP报文的优先级信息包括:
获取所述TCP报文的报文标识,其中,所述报文标识用于标识所述TCP报文;
依据所述报文标识确定所述TCP报文的优先级信息。
4.如权利要求2或3所述的网络拥塞控制方法,其特征在于,所述依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理,包括:
依据所述优先级信息确定来自所述运营商网络的TCP报文中的待处理报文;
对所述待处理报文进行丢包处理,其中,所述待处理报文的优先级低于所述来自所述运营商网络的所有TCP报文中其他TCP报文的优先级。
5.如权利要求4所述的网络拥塞控制方法,其特征在于,所述待处理报文包括多种TCP报文,所述对所述待处理报文进行丢包处理,包括:
依据所述待处理报文的优先级信息确定所述待处理报文中每种TCP报文的丢包参数;
依据所述丢包参数对所述待处理报文中对应的所述TCP报文进行丢包处理。
6.如权利要求2所述的网络拥塞控制方法,其特征在于,所述依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理,包括:
依据所述优先级信息确定来自所述运营商网络的TCP报文的丢包参数;
依据所述丢包参数对来自所述运营商网络的TCP报文进行丢包处理,其中,不同的优先级信息对应不同的丢包参数。
7.如权利要求2至6中任一项所述的网络拥塞控制方法,其特征在于,所述入口设备中存储有丢包滑动窗口,所述依据所述优先级信息对来自所述运营商网络的TCP报文进行差异化丢包处理,包括:
依据所述丢包滑动窗口对来自所述运营商网络的TCP报文进行差异化丢包处理。
8.如权利要求7所述的网络拥塞控制方法,其特征在于,所述依据所述丢包滑动窗口对所述TCP报文进行丢包处理,包括:
接收来自所述运营商网络的所述丢包滑动窗口大小的TCP报文;
依据预设的丢包参数对所述丢包滑动窗口大小的TCP报文进行丢包处理;
若在所述丢包处理之后,所述入口设备和所述运营商网络的实时带宽所表征的数据传输速率大于或等于所述***阈值所表征的数据传输速率,逐步增大所述丢包参数,并依据增大后的丢包参数对接收来自所述运营商网络的丢包滑动窗口大小的TCP报文进行丢包处理,直到所述入口设备和所述运营商网络的实时带宽所表征的数据传输速率小于所述***阈值所表征的数据传输速率。
9.如权利要求8所述的网络拥塞控制方法,其特征在于,若所述入口设备和所述运营商网络之间的实时带宽所表征的数据传输速率由大于或等于所述***阈值所表征的数据传输速率变更为小于所述***阈值所表征的数据传输速率,所述方法还包括:
逐步减小所述丢包参数,依据减小后的所述丢包参数对接收的丢包滑动窗口大小的TCP报文进行丢包,直至所述丢包参数为0。
10.如权利要求9所述的网络拥塞控制方法,其特征在于,所述方法还包括:
依据所述入口设备和所述运营商网络之间的实时带宽所表征的数据传输速率与所述***阈值所表征的数据传输速率的关系调整所述丢包参数;
依据调整后的所述丢包参数对来自所述运营商网络的TCP报文进行丢包处理。
11.如权利要求1至10中任一项所述的网络拥塞控制方法,其特征在于,当所述***阈值越大,所述***阈值所表征的数据传输速率越大时,所述入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,为:
所述实际带宽大于或等于所述***阈值。
12.如权利要求1至10中任一项所述的网络拥塞控制方法,其特征在于,当所述***阈值越大,所述***阈值所表征的数据传输速率越小时,所述入口设备与所述运营商网络之间的实时带宽所表征的数据传输速率大于或等于预设的***阈值所表征的数据传输速率,为:
所述签约带宽与所述实际带宽的差值的绝对值小于或等于所述***阈值。
13.如权利要求1至12中任一项所述的网络拥塞控制方法,其特征在于,所述入口设备的包转发性能所表征的数据传输速率大于所述签约带宽所表征的数据传输速率。
14.一种入口设备,其特征在于,所述入口设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至13中任一项所述的网络拥塞控制方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时,实现如权利要求1至13中任一项所述的网络拥塞控制方法。
16.一种园区网,其特征在于,所述园区网包括入口设备,所述入口设备用于执行如权利要求1至13中任一项所述的网络拥塞控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210726633.5A CN117319301A (zh) | 2022-06-23 | 2022-06-23 | 网络拥塞控制方法及装置 |
PCT/CN2023/100424 WO2023246616A1 (zh) | 2022-06-23 | 2023-06-15 | 网络拥塞控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210726633.5A CN117319301A (zh) | 2022-06-23 | 2022-06-23 | 网络拥塞控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117319301A true CN117319301A (zh) | 2023-12-29 |
Family
ID=89241320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210726633.5A Pending CN117319301A (zh) | 2022-06-23 | 2022-06-23 | 网络拥塞控制方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117319301A (zh) |
WO (1) | WO2023246616A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104552B (zh) * | 2011-04-02 | 2014-02-12 | 杭州华三通信技术有限公司 | 基于明确拥塞通知机制的报文控制方法及设备 |
CN103414650B (zh) * | 2013-07-29 | 2016-12-07 | 上海华为技术有限公司 | 一种避免拥塞的路由方法和装置 |
US20210328930A1 (en) * | 2020-01-28 | 2021-10-21 | Intel Corporation | Predictive queue depth |
CN113973085B (zh) * | 2020-07-22 | 2023-10-20 | 华为技术有限公司 | 一种拥塞控制方法和装置 |
CN114640631A (zh) * | 2020-12-15 | 2022-06-17 | 华为技术有限公司 | 拥塞控制方法及网络设备 |
-
2022
- 2022-06-23 CN CN202210726633.5A patent/CN117319301A/zh active Pending
-
2023
- 2023-06-15 WO PCT/CN2023/100424 patent/WO2023246616A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023246616A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8213347B2 (en) | Scalable IP-services enabled multicast forwarding with efficient resource utilization | |
EP1844596B1 (en) | Method and system for mitigating denial of service in a communication network | |
US9276852B2 (en) | Communication system, forwarding node, received packet process method, and program | |
US8879388B2 (en) | Method and system for intrusion detection and prevention based on packet type recognition in a network | |
US8804529B2 (en) | Backward congestion notification | |
US10728154B2 (en) | Flow table processing method and apparatus | |
CN106330742B (zh) | 一种流量控制的方法及网络控制器 | |
KR20130023094A (ko) | 동적 대역폭 재할당 | |
US20220286409A1 (en) | Method and apparatus for configuring quality of service policy for service, and computing device | |
WO2020083272A1 (zh) | 处理策略的生成方法、***及存储介质 | |
CN107547442B (zh) | 数据传输缓存队列分配方法及装置 | |
CN110278152B (zh) | 一种建立快速转发表的方法及装置 | |
EP2608460B1 (en) | Method and device for sending messages | |
CN104160735B (zh) | 发报文处理方法、转发器、报文处理设备、报文处理*** | |
CN111386683A (zh) | 基于实时传输网络拥塞状况来加速或减速数据传输网络协议的***和方法 | |
CN112787952B (zh) | 一种业务流量调整方法及装置 | |
US9537764B2 (en) | Communication apparatus, control apparatus, communication system, communication method, method for controlling communication apparatus, and program | |
WO2017000861A1 (zh) | 交换机虚拟局域网中mac地址的学习方法及装置 | |
CN115766605A (zh) | 网络拥塞控制方法、装置及*** | |
CN111262792B (zh) | 报文转发方法、装置、网络设备及存储介质 | |
CN114095448A (zh) | 一种拥塞流的处理方法及设备 | |
WO2023116611A1 (zh) | 一种队列控制的方法及装置 | |
CN113037691A (zh) | 报文处理方法、装置及*** | |
CN117319301A (zh) | 网络拥塞控制方法及装置 | |
CN113660198A (zh) | 一种网关安全通道自适应方法、管理单元和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |