网络流拥塞管理装置及其方法制造方法及图纸

技术编号:38703950 阅读:14 留言:0更新日期:2023-09-08 14:44
本发明专利技术提出一种网络流拥塞管理装置及其方法。网络流拥塞管理方法包括:区别复数封包的一连接;监控每一不同的该连接的一缓冲器用量;及对当前监控的该连接执行一拥塞检查程序,其中在该拥塞检查程序中,于当前监控的该连接的该缓冲器用量超过一阈值时,触发一拥塞处理程序。处理程序。处理程序。

【技术实现步骤摘要】
网络流拥塞管理装置及其方法


[0001]本专利技术是有关于一种网络传输技术,特别是指一种网络流拥塞管理装置及其方法。

技术介绍

[0002]在家用网关(residential gateway,RG)中,通常存在一个或多个局域网络(LAN)端口和单个广域网(WAN)端口。所有因特网存取流量都需要经过连接到服务提供商(ISP)的边缘路由器的WAN端口。
[0003]在典型的家用网关设置中,许多LAN侧主机(笔记本电脑、智能电视、智能手机、平板计算机、IoT)可以连接到家用网关。家用网关应设计为,能对于所有活动的TCP连接,以低延迟和高吞吐量的方式转发流量。许多连接到家用网关的LAN侧主机会并行向家用网关发出传输请求。通常,传输数据量相对较小(小于1518字节)。基于成本考虑,家用网关中可用的封包缓冲区通常是有限的(小于1GB)。在这种情况下,家用网关上的WAN端口可能成为瓶颈链路(bottleneck link)。来自LAN侧主机的许多传输请求和有限的封包缓冲区(在典型的家用网关中,封包缓冲区的大小是固定的)可能会增加流量延迟并导致家用网关中的有效流量吞吐量崩溃。此为RFC 8257文件中提到的TCP INCAST问题。
[0004]为了完全填满TCP传输管道,现有的TCP拥塞避免策略(例如TCP RENO、TCP TAHOE、TCP CUBIC要求每个TCP发送方增加其传输速率和拥塞窗口大小(慢启动然后进入拥塞避免阶段)直到封包被丢弃(借由TCP超时、丢失或重复的TCP ACK来检测)(RFC 5681文件)。在家用网关的WAN端口成为瓶颈链路的情况下,增加TCP发送速率和拥塞窗口大小不会因为封包重传率的增加而增加端到端吞吐量。对于某些TCP连接,TCP超时可能在数百毫秒的范围内。TCP管道中的一些传输中的封包可能需要在封包丢失或超时的情况下重新传输,从而导致高流量延迟、低有效吞吐量和带宽利用率。
[0005]TCP流是独立的数据流,每个TCP流将尝试增加其传输速率和拥塞窗口大小以填满发送方和接收方之间的TCP管道。家用网关中的有限缓冲区可能会被家用网关上的第一个TCP流设置占用。家用网关需要智能缓冲区分配方案,以确保在所有活动的TCP连接之间公平分配封包缓冲区,从而为经过家用网关的所有活动的TCP连接提供合理的延迟和吞吐量性能。

技术实现思路

[0006]本专利技术一实施例提出一种网络流拥塞管理方法,包括:接收复数封包;识别每一封包是否属于一预定协议;区别属于预定协议的所述这些封包的一连接;监控每一不同的连接的一缓冲器用量;及对当前监控的连接执行一拥塞检查程序,其中在拥塞检查程序中,于当前监控的连接的缓冲器用量超过一阈值时,触发一拥塞处理程序。
[0007]本专利技术一实施例提出一种网络流拥塞管理装置,包括:一接收端口、一缓冲器池、一管理电路及一输出端口。接收端口配置为接收复数封包。缓冲器池配置为储存封包。管理
电路配置为识别每一封包是否属于预定协议,区别属于预定协议的所述这些封包的一连接,监控属于预定协议的所述这些封包的每一不同的连接的一缓冲器用量,并对当前监控的连接执行一拥塞检查程序,其中在拥塞检查程序中,于当前监控的连接的缓冲器用量超过一阈值时,触发一拥塞处理程序。输出端口配置为将所述这些缓冲器中储存的封包输出。
[0008]根据本专利技术一些实施例的网络流拥塞管理装置及方法,可公平地将缓冲资源分配给每个网络流,并可使传送队列不过长,不但可避免缓冲资源被流量大的网络流占用之外,还可减少流量延迟和数据包重传次数。
附图说明
[0009][图1]是为本专利技术一实施例的网络流拥塞管理装置的示意图。
[0010][图2]是为本专利技术一实施例的网络流拥塞管理方法的流程图。
[0011][图3]是为本专利技术一实施例的网络流拥塞管理装置的细部示意图。
[0012][图4]是为本专利技术一实施例的网络流拥塞管理方法的细部流程图(一)。
[0013][图5]是为本专利技术一实施例的拥塞管理表的示意图。
[0014][图6]是为本专利技术一实施例的网络流拥塞管理方法的细部流程图(二)。
[0015][图7]是为本专利技术一实施例的网络流拥塞管理装置的另一示意图。
具体实施方式
[0016]参照图1,是为本专利技术一实施例的网络流拥塞管理装置1的示意图。网络流拥塞管理装置1包括接收端口10、输出端口20、缓冲器池30及管理电路40。缓冲器池30包括复数缓冲器(图未示),用于缓存封包。缓冲器池30是位于瞬时内存中。所述瞬时内存可以是瞬时计算机可读取媒体,例如静态随机存取内存(SRAM)、动态随机存取内存(DRAM)等。在此,接收端口10与输出端口20均以一个为例,然而本专利技术并非以此数量为限,接收端口10可为一个或多个,输出端口20亦可为一个或多个,视实际应用需求可进行适当调整。
[0017]管理电路40执行有网络流拥塞管理方法,用以管理缓冲器池30中的缓冲器的资源分配。参照图2,是为本专利技术一实施例的网络流拥塞管理方法的流程图。首先,在步骤S410中,从接收端口10接收复数封包。接着,进入步骤S420,以识别每一封包是否属于预定协议。于此,所述预定协议为传输控制协议(TCP)。若封包属于预定协议(例如TCP),则进入步骤S430以区别属于预定协议的封包的连接。在步骤S440中,监控每一不同的连接的缓冲器用量及总缓冲器用量。在步骤S450中,对当前监控的连接执行一拥塞检查程序。步骤S460为拥塞检查程序,是于当前监控的连接的缓冲器用量超过一阈值时,触发一拥塞处理程序。拥塞处理程序用以改善拥塞情形(详如后述)。借此,管理电路40可对于每个连接的网络流个别确认是否占用过多个缓冲器,借以公平地分配缓冲资源。若封包不属于预定协议,不执行步骤S430

S460,也就是说,该封包直接被略过(bypass)而直接进入缓冲器池30储存,以等待输出(如图1所示)。
[0018]参照图3,是为本专利技术一实施例的网络流拥塞管理装置1的细部示意图。在此,为了容易观看,省略前述缓冲器池30。管理电路40包括转发引擎41、拥塞管理单元42、输出管理器43及拥塞管理表44。转发引擎41、拥塞管理单元42及输出管理器43可透过微处理器、可规划逻辑组件(ComplexProgrammable Logic Device,CPLD)、可程序化门阵列(Field

Programmable Gate Array,FPGA)、逻辑电路、模拟电路、数字电路和/或任何基于操作指令操作信号(模拟和/或数字)的处理组件来实现。拥塞管理表44可储存于瞬时内存或非瞬时内存,其可内建于拥塞管理单元42或外接于拥塞管理单元42。
[0019]转发引擎41自接收端口10接收封包,并提取封包的标头信息并储存至与该封包关联的元数据块中。转发引擎41并且根据封包与标头信息进行转发决策,即决定是否转发该封包。若接受转发,则将封包连同其关联的元数据块送至拥塞管理单元42。拥塞管理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络流拥塞管理方法,包括:接收复数封包;识别每一该封包是否属于一预定协议;区别属于该预定协议的所述这些封包的一连接;监控每一不同的该连接的一缓冲器用量;及对当前监控的该连接执行一拥塞检查程序,其中在该拥塞检查程序中,于当前监控的该连接的该缓冲器用量超过一阈值时,触发一拥塞处理程序。2.如权利要求1所述的网络流拥塞管理方法,更包括:依据对应于当前监控的该连接的一缓冲器剩余量及一拥塞指示阈值,决定是否执行该拥塞检查程序。3.如权利要求1所述的网络流拥塞管理方法,其中该阈值为一标记阈值,该拥塞处理程序为于对应当前监控的该连接的该封包设置一明确拥塞通知(ECE)旗标。4.如权利要求3所述的网络流拥塞管理方法,其中该明确拥塞通知旗标被加入至一传输控制协议(TCP)确认(ACK)封包,该传输控制协议确认封包被传送回一传送端。5.如权利要求4所述的网络流拥塞管理方法,其中该传送端的一拥塞窗口依据该传输控制协议确认封包的该明确拥塞通知旗标而缩小。6.如权利要求3所述的网络流拥塞管理方法,其中该标记阈值随着所述这些连接的数量增加而动态地降低。7.如权利要求1所述的网络流拥塞管理方法,其中该阈值为一丢弃阈值,该拥塞处理程序为丢弃对应当前监控的该连接的该封包。8.如权利要求1所述的网络流拥塞管理方法,更包括:检查各该封包的一FIN旗标及一RST旗标,于该FIN旗标或该RST旗标被设置时,取消监控对应该连接的该缓冲器用量。9.如权利要求1所述的网络流拥塞管理方法,其中不属于该预定协议的该封包直接被略过而储存至一缓冲器池以等待输出。10.一种网络流拥塞管理装置,包...

【专利技术属性】
技术研发人员:姜东君陈晓强
申请(专利权)人:瑞昱新加坡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1