CN102959911B - 一种设备和方法 - Google Patents

一种设备和方法 Download PDF

Info

Publication number
CN102959911B
CN102959911B CN201180033540.4A CN201180033540A CN102959911B CN 102959911 B CN102959911 B CN 102959911B CN 201180033540 A CN201180033540 A CN 201180033540A CN 102959911 B CN102959911 B CN 102959911B
Authority
CN
China
Prior art keywords
data
packet
stream
data packet
network
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
CN201180033540.4A
Other languages
English (en)
Other versions
CN102959911A (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.)
Hewlett Packard Development Co LP
Original Assignee
Cray UK 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 Cray UK Ltd filed Critical Cray UK Ltd
Publication of CN102959911A publication Critical patent/CN102959911A/zh
Application granted granted Critical
Publication of CN102959911B publication Critical patent/CN102959911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • H04L2012/5648Packet discarding, e.g. EPD, PTD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种在数据包网络中控制数据包拥塞的方法,所述方法包括步骤:确定在数据网络的节点导致数据包拥塞的参考数据流条件;识别具有与所述参考数据流条件实质上相同的数据流状态的数据包流;以及对于这种识别的数据包流:造成从所述识别数据包流中丢弃的数据包;允许从所述识别数据包流中一预定数量的数据包前行;以及来自所述识别数据包流的丢弃数据包跟随所述预定数量的数据包,直到未丢弃的数据包传递到所述网络的出口端。

Description

一种设备和方法
技术领域
本发明通常涉及一种以太网以及通过网络传输数据的方法。特别地,本发明是关于网络分配和通过网络的有效传输,确认当前或未来以太网标准。
背景技术
协议层
概念上,为了区分功能,以太网络分为许多虚拟层。最常见和标准的模型是开放***互连(OSI)参考模型。详细描述OSI参考模型的文章是HubertZimmermann撰写的《OSI参考模型-构建开放***互联的ISO模型》(“OSIReferenceModel–TheISOModelofArchitectureforOpenSystems”),IEEE通讯汇刊com-28卷1980年第4期(IEEETransactionsonCommunications,Vol.COM-28,NO.4,April1980)。上述OSI参考模型包括以下网络***功能不同的7层:
1、物理层,负责物理信道连接。由那些涉及发送和接收信号(典型的线路驱动器和线路接收器)的元件,信号编码/解码器和时钟组成。
2、数据链路层,提供服务允许终端站设备之间通过底层的物理介质直接通讯。该层提供组帧,为物理层将设备信息分离成离散的传输或帧。封装更高层的包数据协议。它给识别源和目的装置提供寻址。它提供错误检测以保证受损数据不会传往更高层。
3、网络层,负责网际通信,通过网络在终端站之间发送信息包。它必须适应多重数据传输技术和拓扑使用各种协议,最常见的是网际协议InternetProtocol(IP)。所述网络层通常被认为是不安全的,但是会实现由源向目的准确传输数据的“尽力服务”。
4、传输层,负责端到端通信,防护传输时产生的问题例如中断的数据、错误和由低层介质导致的分类错误影响上面各层。该层为应用提供无错、有序的、可靠的信息传递服务,处理终端站之间的数据处理传递过程。传输控制协议(TCP)和用户数据包协议(UDP)是最常见的传输层协议。
5、会话层,负责建立应用之间的通信连接,处理认证和连接控制。
6、表示层,保证各机器不同的数据表示得到解析。
7、应用层,提供允许用户应用通过网络通信的一般功能。
网络通信受制于拥塞。所述拥塞出现在当网络交换元件接收来自一个或多个入端口的数据包时,以及路由所接收的数据至出端口,其不能够以从全部入口端到达的速率传输所述数据。在一个多级网络中,两处区域会发生拥塞,即拥塞出现在网络内部以及出现在网络出口边缘。
当少量或静态配置路由将无关数据包流导向至相同的内部网络链上时,拥塞会产生于网络内部。
在所述网络出口边缘,当连接至所述网络的客户端或服务器不能将所述数据传输在其到达处维持完整连接速度时,会产生拥塞。网络出口边缘处产生的拥塞更普遍,然而当不止一个客户端在完整的链接速度下,向单个运行在相同链接速度的出口端尝试发送数据时,会被视为“终端拥塞”。
在网络数据传输中,当一个源生成数据发送至多个目的地时,产生多址通信操作。incast实现多址通信的相反功能,且当出现incast操作时,多个源向单个目标发送数据。incast会产生终端拥塞。沿着TCP通信可产生终端拥塞的其它源,未基于TCP协议的其它通信干扰TCP通信的。接收节点上的以太网适配器可能与传送至该节点的数据包的速率不匹配且会通过发送IEEE802.3暂停帧限制数据传输速率。接收机可以采取或许可以基于UDP协议或另一个协议的无关数据包。
incast产生终端拥塞,此处所述的由incast产生的拥塞是出现在,例如,大量客户端和服务器通信的中央数据或其他大型计算平台中已认可的问题。一个由incast引起拥塞的实例可发生在,当尝试改进一个客户端申请向其中每个维持大量数据文件端口的多个分立服务器签发一组条状文件读取请求的性能时。所述分立服务器可整体并行运行且具有在单个服务器能够恢复所述数据所需时间的几分之一内返回全部数据文件的潜能。通常所述服务器已经忙于为其他客户端运行数据处理且会采取可变化的返回数据时间量。在这种情况下,所述客户端会在单独时间内接收每个分立部分以及将其再次确认为单个数据文件。然而,有时所述服务器未忙于其他运行和会全部响应于较多或较少的相同时间量。当这种情况发生时,在全部服务器中会出现incast情况,会在相同时间内以全链接速率返回它们的数据部分。因而,由于在同样的全链接速率下接收每一个数据部分,所述网络链接陷入困境。如所预测的,所述由incast引起的拥塞问题主要出现在包括大量并行数据库或大量并行文件***的情况中。
TCP用于下层通信传输层的大量应用。执行多种不同的TCP,然而其每一个共享基本原则,即从运行在一个具有操作***的计算机上的第一应用向一个应用提供可靠的字节序列流,可能是或不是不同于第一应用的应用,运行在不同计算机上,可以使用或未使用与其他计算机不同的操作***。TCP管理通过网络传输的IP数据包的规模以及还通过跟踪传输的数据包管理两个通信客户之间的数据流。必要时,TCP会重排具有错误顺序数据包且还会管理丢失数据的重试进程,即意味着如果数据包未被接收,会采取所述丢失数据包的再传输以尝试并确保全部数据的有效传递。利用测量通过两个通信应用之间网络获得的明显的端到端带宽,TCP还尝试传送最佳的网络性能可能性,以及随后当签发IP数据包进入所述网络时匹配这种明显带宽。TCP尝试传递最可能的带宽在不恶化所述网络且对其他数据包流导致不必要的拥塞。存在大量脚本,包括引起拥塞的incast以及其他形式的终端拥塞,其无法工作却通常表现出较好的传递性能。
TCP是全双工协议,意味着数据包可在TCP连接的两个终端之间的任一方向传送。在一个方向传输的数据包的接收识别借助于数据包在其他方向上的传输。正常情况下,传送进网络全部TCP数据包和IP数据包应该被识别,尽管通常情况下一个识别可用于多数TCP/IP数据包被成功接收的信号。用于返回识别的时间通常称为循环时间(RTT)。所述RTT依赖于不同因素可发生变化,不同因素包括但不限于网络规模、网络中的拥塞、其间存在数据传输的两个终端之间的可获取带宽以及所设置的TCP接收机方式。例如,可预测到,从世界一侧的客户端浏览器向世界另一侧的万维浏览器发送数据包较之运行在相同机房或数据中心的客户端和服务器会需要大量RTT。类似地,如果由于网络拥塞致使数据包在网络中缓冲,所述RTT会显著增加。
图1是典型地连接到网络的客户端服务器配置的简明示例,其具有通过以太网连接3连接至网络4的客户端2。相反,以太网连接5将服务器6与网络4连接。在这个实例中,以太网连接3,5是将计算机2,6连接到网络的物理层。图2描述了在客户端2和服务器6之间以TCP方式通信的数据包的流动。其示出了正常的从发送TCP端口到接收TCP端口的未拥塞的TCP数据流动。在图2中,所示出的每个数据包采取离散时间T通过所述网络。TCP识别,识别接收到的数据包,随即通过所述网络返回。在这个实施例中,所述数据传输进程完成较好。从数据包从第一终端发出到被相同的第一终端相应识别的RTT,在该实施例中,对高性能***是较低的数微秒间隔然而在数据中央环境中或许典型地为更高的数十微秒。
TCP接收机利用接收窗口管理从所述网络接收的IP数据包。所述接收TCP进程具有一些缓冲空间以在接收机中重组数据包并管理来自发报机的数据包流动。所述TCP接收窗显示所述接收机可能愿意接收的字节数以及是应发送的未识别数据的上限。注意这是一个提示并不是一个硬性限制。由于包含在所发送的全部TCP报头中,它能随着时间发生变化。一旦填满主机缓冲,通常通知为0以防止更多的数据被传输。类似于网络中的其他缓冲,主机接收缓冲会充满且导致所述接收数据包的一部分减少。展示所述发报机的所述窗口尺寸降低了窗口溢出的可能性。在接收识别前,一个TCP发报机允许发送大量配置数据进入网络。如果不止一个发报机向所述TCP接收机传输数据,其中每一个发报机借助于TCP接收机会在展示该发报机的窗口尺寸基础上传输。TCP是一种点对点通信协议。如果是多级发报机对单个接收机,然后每个发报机在所述接收机中具有一个单独的接收窗口,但是它们共享一组缓冲。尽管它们必须共享相同的连至所述接收机的以太连接。在所述网络中未缓冲数据的同时,这种以太连接不能采用来自多个发报机的数据。每个发报机能够在其连接的全带宽下向所述网络添加数据,但是在仅单个接收连接的带宽下数据从所述网络中泄漏。网络中的所述缓冲必须吸收多余数据。图3示出了一个网络***,其中会增加这种签发。参考图3,可看出网络***10包括通过以太链接22连接至以太网络24的客户端20,相应地各自通过以太链接26a,26b,26c连接到服务器28a,28b,28c。每个以太链接26a,26b,26c具有相同的全链接速率能力。在这种情况中,客户端20运行一个客户应用(未示出),向运行在服务器28a,28b和28c上的所述服务器应用(未示出)签发一个文件读取请求,服务器28a,28b和28c中的每一个控制一个与所述文件读取请求相关的大型数据文件端口。在这种情形中,服务器28a,28b和28c未忙于其他操作和所有响应,在相同时间内和全链接速率下返回它们的所述数据部分,因而在更多或更少的相同时间量内导致由incast引起的拥塞的出现。图4描述了如此的能够导致由incast引起的拥塞的网络操作实施例。
如图4所看到的,三个独立的TCP数据流36a,36b,36c相应于连至网络24的三个独立链接26a,26b,26c设置。TCP数据流36a,36b,36c中的每一个尝试向单个的与链接22相关的网络目标连接32传输数据40a,40b,40c。在这个实施例中,所述服务器28a,28b和28c中的每一个在全链接速率下传输数据包40a,40b,40c。所述目标连接无法立即处理数据汇流且因而可视作传输数据包存储开始出现在接收端口。由图4可看出,每个通过所述网络的连续数据包的传输滞后随着时间而增加,在一个网络连接中习惯发送2个数据包。在这个实施例中,每三个进入所述网络的数据包中仅有一个数据包能够从所述网络流出。有效的2个数据包必须在网络缓冲中等待直到流出连接可以向所述接收机发送它们。通过所述发报机进入所述网络的较之通过接收机从所述网络中流出的数据包更多的所需时间越长,所述网络缓冲会变得更满。最终会要求所述发报机停止发送数据包直到所述接收机能够答复确认。当这种情况发生时,已经装满数据包的全部网络缓冲能够流到连接至所述接收机的链接上,因为它们不再被所述发报机所填充。如果所述TCP窗口大小设定为一个较大值,然后所述发报机会向所述网络注入较之所述网络缓冲可控制数据的更多数据。这依赖于所述网络中的缓冲器的相关大小而不是所述TCP窗口大小。当这种状况出现时,所述网络缓冲会溢出且数据包会丢失,导致所述发报机重发送它们的数据,增加了数据滞后。当较之从所述网络流出,更多数据包注入所述网络时,对于由每个发报机签发数据的RTT随着每个传输的新数据包而增加。不考虑干扰,如果由incast事件产生的终端拥塞问题持续时间足够长,所述网络24中的控制未送达数据包的缓冲(未示出)最终会溢出,导致所述数据包的一部分丢失,相反会导致TCP超时和随即重发送。
容易理解的是,这个实施例仅描述了三个发报机同时向单个端口传输的情形,如果包括十数个或上百个发报机所述问题会很快恶化,因而导致极高的RTT值。例如,如果100个发报机向一个接收机发送,那么所述传输滞后平均会是正常的100倍,原因在于每个发报机必须与其他99个发报机共享所述接收机链接。RTT=(正向滞后+返回滞后)。如果我们期望所述返回滞后与所述未拥塞传输滞后相同,那么所述RTT较之正常的1+1会是100+1。这种情况是正常值的50.5倍。
许多网络在与交换元件连接的链接上没有数据流控制。它们依赖的拥塞是暂时的且当所述暂时拥塞发生时所处理的内部缓冲足够大。然而,最终如果所述拥塞持续时间足够长,所述缓冲会溢出且数据会丢失。为了丢弃或删除不能包含在所述缓冲器中的数据包,开发不同策略。最简单的机制是到达后丢弃所述数据包,导致所述缓冲溢出。然而,当这种机制易于执行时,通常不会为TCP或其他应用带来最好的性能。用于形成更大间隔以及缓解溢出的一个变化机制包括丢弃接下来将被采用的源自所述缓冲的所述数据包。然而,目前用于形成间隔的最成功机制中的一个认为是随机丢弃数据包;这包括当所述缓冲危险地接近填满时,从所述缓冲中随机选择要丢弃的数据包以形成间隔。
TCP/IP协议是一个可靠协议,通常能够在发送和接收之间恢复数据包的临时丢失。利用出现在全部TCP数据包的开始部分的TCP报头中的序列号检测这种丢失。所述发报机每次向所述网络发送一个数据包,所述TCP报头中的序列号被升级从而识别字节流中的数据载荷的位置。所述发报机会依次发送所述数据,除非其确定必须重新发送所述数据流的一部分。所述接收机通常期望以正确顺序接收所述数据。由于网络缓冲溢出或着或许由于网络错误,偶尔会丢失一个数据包。在这种情况下,所接收到的序列号会显示一个或多个遗失的数据包。其他一些偶然情况,网络会重组数据包顺序。这可能会引起一些数据包利用不同的路径穿过所述网络被传递。通常期望网络尝试以相同顺序向一个目标传递数据包,它们进入所述网络一旦它们从相同的源进入,然而这通常无法被确保。如果数据包被重新排序,那么序列外的数据包可能会在其正常次序位置后不久到达。所述接收机确认其所接收的数据包。如果数据包以正确顺序被接收,那么不必确认每一个所接收的数据包且单个确认就可以作为许多数据包的接收信号。通过确认最后数据包的序列号实现这种情况,这意味着最后数据包之前的全部数据包的成功接收。如果一个数据未按顺序到达,那么所述接收TCP进程需要发送一个对于最后数据包是正确顺序的确认,即便其已经为那个数据包发送了一个确认。每个接收到的随后数据包,当从正确顺序中遗失一个数据包时,会导致对最后正确顺序的数据包复确认。如果所述遗失数据包到达,那么一个用于最终正确顺序数据包的识别应该由所述接收机发送。当所述发报机接收到一个或多个复确认以及其已经发送了多个数据包时,可以确认数据包已经丢失在任一个网络中,因为在交换元件之一的一个错误或从缓冲中丢弃在的所述数据包。那么就可以决定在确认数据包后重发送。直接响应于所述复确认,可快速进行遗失数据包的重发送,防止带宽的严重损失。事实上,在遗失数据包后,所述接收机必须在所述发报机可能重发送所述遗失数据包之前接收2或3个多余数据包。
TCP能够用于从所述发送和所述接收之间的数据包偶然遗失中恢复的一个替代机制是超时(Timeout)机制。当发报机要求为一个或多个数据包接收已经发送出的确认且所述确认未到达时,会实现这种情形。不要求所述接收机确认每个独立数据包的接收,然而其应该在一个已知的作为超时的合理时间期限内给出回应。如果确认未出现在传输终端,那么无论一些或多个数据包都会丢失,当向接收机传输或所述确认在返回途中丢失时,所述接收机必须假定所述数据丢失且必须在超时期限届满前重发送所述数据。超时持续不能设定太小,如所述数据和确认的值会被所述网络拥塞延迟。所述TCP超时通常利用运行在SmoothedRoundTripTime(SRTT)的Jacobson’s算法计算且在RTT值之间估算偏移,这是从独立的RTT模型中计算。其通常为:
Timeout=u*SRTT+q*Deviation
其中u=1以及q=4
对于较大值RTT的效果好,或许TCP通信形成于因特网上且所述RTT为十数或上百微秒。然而操作***通常在计时器驱动暂停上强加一个较低限制且较小值可能是5或10ms。网络中的拥塞可快速出现且同样快速的再次消失。当没有网络拥塞或具有数个拥塞时,可形成样本RTT。带宽上的超时效应是严重的且甚至危害到高带宽链接。例如如果数据中心对于局域TCP连接采用10ms超时且所述链接采用40Gbps以太网链接运行,那么在超时期间丢失50M字节的数据传输。甚至一个非常小的超时速率能产生急剧的带宽损失。
发明内容
因此需要主动删除在网络中造成由incast产生的终端拥塞的数据包且同时允许可控TCP重试的机制和相关方法,可能减少网络拥塞和TCP超时。本发明的目标是消除或减轻前述问题中的至少一个。
根据本发明的一方面,提供一种在数据包网络中控制数据包拥塞的方法,所述方法包括确定参考数据流状况的步骤,数据网络的一个节点导致数据包拥塞,识别具有实质上与参考数据流状态相同的数据流状态的数据包流,以及对于这种识别的数据包流造成从所述识别数据包流中丢弃的数据包,允许从所述识别数据包流中一预定数量的数据包继续,以及来自所述识别数据包流的丢弃数据包跟随所述预定数量的数据包,直到未丢弃的数据包传递到所述网络的出口端。
根据本发明的另一方面,提供一个用于在数据包网络中控制数据包拥塞的数据包流控制器,所述控制器包括一个可操作参考单元以确定在数据包网络的一个节点上导致数据包拥塞的参考数据流状态,一个可操作以识别实质上具有与所述参考数据包流状态相同的数据流状态的探测器,以及一个可操作控制单元,用于这种识别数据包流,以产生一个从所述识别数据包流中丢弃的数据包,允许一源自所述识别数据包流的预定数量数据包继续,以及在所述预定数量数据包后从所述识别数据包流中丢弃数据包,直到未丢弃的数据包传递到所述网络的出口端。
这种技术能够避免拥塞,通过使得网络利用可控数据包的重发送。
所述参考数据流状态可与数据包流的目标信息相关,以及所述数据流状态可与所述识别数据包流的目标信息相关。数据包流的目标信息探测可以快速探测出网络中的潜在拥塞。
对于所述数据包流相关的,数据包流识别还包括识别源和目标信息,由于源数据还可以提供有用的潜在拥塞指示。
在相关的数据包流进入以太网络之前执行数据包流识别,或着在数据包流在以太网络的网络交换机中等待时执行。
这种技术尤其应用在识别incast数据包流中。这种方法可进一步的包括为所述网络确定数据量阈值,以及识别致使阈值超出的数据包流,如此所述数据包流变为所述识别数据包流。当控制进入的数据包流时,采用数据量阈值能够使得全部的网络拥塞被计入。
根据一实施例,在控制数据包网络中的数据包拥塞方法中的数据包网络传递以太数据包。进而,所述数据包可以是TCP/IP数据流的一部分。
根据一实施例,数据包网络利用一个用于控制数据包网络中的数据包拥塞的控制器传递以太数据包。进而,所述数据包可以是TCP/IP数据流的一部分。一个识别数据包流可以是incast数据流。
这种方法还包括向进入数据包流分配一个优先权值,以及当识别所述数据包流时利用优先权值。在这种方式中,优先于较低的优先权数据包流,可以保持较高的优先权数据包流。
附图说明
通过下面的描述以及仅借助于实施例,和参考下图,会更容易理解本发明的这些和那些特性。
图1是具有单个服务器的客户服务网络***;
图2是图1网络***中的TCP数据流示意图。
图3是具有多个服务器的客户服务网络***;
图4是图3网络***中的TCP数据流示意图。
图5是描述本发明的方法特性的流程图。
图6是根据本发明的TCPHash缓存的图表。
图7是依赖于本发明的主动丢弃机制阶段的TCPHash缓存状态转换的示意图。
图8是本发明的另一方面的方法特性之一部分的流程图。
具体实施方式
参考图3-4所示出的网络***10的以太网络24的TCP层中,当网络终端拥塞伴随着incast事件出现时,执行一个主动丢弃机制以起到选择数据包的主动丢弃的作用。
有许多种可探测由incast操作引起的终端拥塞的方式。在这个实施例中,逻辑应用识别什么数据包被路由到网络24的最终出口端。对于以太网24,到达所述网络的数据包的媒体访问控制(MAC)地址转变为表示它们所路由到的出口端的压缩值。例如,每个48字节MAC地址被转变为16字节网络路由值,其中对于必须路由到特定出口端的全部MAC地址的所述网络路由值是相同的。由于其较小,所述网络中的逻辑比较所述网络中的数据包的网络路由值且更便于在所述网络中比较而不是48字节宽的未压缩MAC地址。由于所述网络路由值用于将全部数据包导向特定的网络出口端,数据包的流入具有相同的可产生导致终端拥塞增加的状态的网络路由值。当数据包等待连接到输出时,由于它们穿过网络中的单独交换元件,可产生所述逻辑比较。所述主动丢弃机制会利用逻辑比较值以及探测具有相同路由值,可导致终端拥塞增加的数据包流入,且起到incast事件出现的第一指示。所述网络路由值用于将数据包导向正确的网络出口端。通过观测从不同的入口端采用相同的内部连接的,具有与当前数据包相同网络路由的其他数据包,所述网络路由用于探测终端拥塞。所述网络路由产生利用所述入口端上接收到的以太报头中的所述目标MAC地址。如果当前帧包括利用IP源和目标地址以及TCP报头中的端口号的TCP封装,就计算所述TCPHash值。TCP帧封装进相应地封装进以太帧的IP帧。
TCP数据流与源和目标IP地址以及源和目标16字节端口地址相一致。当前有两种有效IP标准,Ipv4和Ipv6。Ipv4利用32字节IP地址值以及Ipv6利用128字节地址值。方便起见,每一个这些大型地址值利用例如循环冗余码校验(CRC)被压缩撤回为易于存储和管理的相应的小哈希值。然而注意到这种压缩不是本发明实施例所要求的。在本发明的第一实施例中,128字节地址值利用CRC压缩为相应的称为TCPHash的16字节哈希值。所述TCPHash允许在不必太多存储和比较逻辑的情况下识别多个不同数据流。这种优化明显减少了所需形成执行的全部逻辑。数据包分析逻辑要求识别TCP数据包以及抽取所述IP和端口字段。当从外部以太网接收帧且即将进入内部网络时出现这种情形。这会产生TCP有效标志以及TCPHash。
数据流起到产生incast问题作用的最佳位置是所述incasting数据包进入所述网络的位置。然而通常在网络中探测到终端拥塞且所述探测可能靠近出口端。可专有化的网络可使用额外确认管理数据流。这些确认较之数据流数列可携带更多信息。它们可用于为这种特定的数据流指示所探测到的进入网络的终端拥塞以及这能够通过全部路径返回网络入口端以及用于影响关于处理incast事件的决定。
所述网络具有称为流动渠道(FC)的机制,跟随从源到目标穿过所述网络的全部TCP数据包流流动以及能够对于给定的数据流测量当前在网络中缓冲的全部数据量。当数据流是以太源和目标MAC地址对时,单独FC与数据流相关。它们不必具有相同的IP地址或IP端口号。终端拥塞使得全部内部缓冲数据迅速增加。如果一个预定阈在所述网络中缓冲的数据预定阈值是超出的,这会被FC探测到,所述主动丢弃机制会报告且产生incast事件出现的第二指示。
在这个阶段,当终端拥塞已经探测到且相当多的数据在网络中缓冲,第一缓冲进入所述网络,在这种情况下是最接近流入数据所发送到的入口端的缓冲,也未至出现丢弃数据包的危险境地的界限。拥塞应该迅速通过,数据包的丢弃才不会出现。因而,第一缓冲由阈值界限提供从而表明其接近溢出且数据包可能丢失。这个阈值界限会有助于防止所述主动丢弃机制的不必要激活,然而如果所述阈值界限超出所述主动丢弃机制,会收到Incast事件出现的第三指示。
在收到第三指示前,所述主动丢弃机制被激活且执行识别会被主动丢弃的数据包或多个数据包的作用。所述以太网中的所述数据包被分配一个8级优先权。优先权值是IEEE802.1Q标准的一部分。所述主动丢弃机制采用分配给每个数据包的所述优先权级以决定是否主动丢弃那个数据包。
当全部状态表明需要一个防止缓冲溢出以及促使所述TCP发报机开始数据包的重发送的丢弃时,开始数据包的主动丢弃。通过对一个特定的TCP数据流丢弃一个数据包执行这种丢弃以及那么使得少量数据包从所述相同TCP数据流中通过。这应该使得所述TCP接收机产生复确认且相应地这应该使得所述TCP发报机重发送所述丢弃数据包。
当所述TCP数据流为开放时,有许多种不同的TCP执行或单独TCP执行会表现出对于控制设置的不同依赖以及探测到的初始RTT值。在这个实施例中,执行所述TCP以至于如果仅一个数据包从到达所述接收机的正常期望数据包顺序中丢失,那么在所述网络中少量重组数据包且未签发重试请求。所接收到的不具有未缺失数据包的数据包越多,所述数据包丢失的可能性越大以及必须要求所述发报机重发送所述缺失数据包。要求所述TCP接收机产生复确认以及因而欺骗所述TCP发报机认为出现一个网络错误且使其在无需等待超时期限的情况下重发送所述丢弃数据包。
所述机制丢弃特定TCP数据流的全部数据包直到incast条件视为消失。正如已确定的FC机制测量在网络中缓冲的未完成数据的数量。一旦所述主动丢弃开始,在网络中缓冲的数据仅是那些已经允许经过所述主动丢弃机制的数据包。在丢弃单个数据包后,当最终接收到允许经过所述主动丢弃机制的数据包时,TCP进程接收机上仅会产生复确认。当这个最终数据包在外部以太网上传输时,所述FC测量到的内部未完成数据值会归零。
图5更详细的描述了该方法。在该方法中,识别拥塞数据流(步骤A),以及从这个数据流中释放一个数据包(步骤B)。从所述识别数据流中发送数据包的可编程数字(步骤C)。释放从这个数据流中余下的任何数据包直到所述数据流不含有还未发送的数据包(步骤D)。随着所述识别数据流的间隙,对于识别数据流在一个可编程期限内发送数据包(步骤E)。
典型地,网络***较之图3和4所示出的更复杂。例如,对于那些利用一个链接的多个不同TCP数据流是普遍的。尽管经受incast的出口端发送的所有都会受到所述incast事件恶劣影响,在任意入口端上接收的无关数据包应被删除,入口端接收发送向不应被影响的出口端的帧,所提供的数据包发送向被所述incast影响的端口。所述拥塞发生在所述数据包离开网络时而不是进入网络时。基于这种原因,具有利用单个链接进入所述网络的多级TCP数据流的网络***,其具有提供在网络中以管理包含在incast事件中的数据流的较小关联TCPHash值缓存。在这种情况,具有16个输入的缓存大小是足够的,然而容易理解到可以使用具有32个或更多输入的缓存。
在这个实施例中的TCPHash缓存的执行查看缓存,其中每个缓存输入具有四个字段,如图6所示,各自显示为16字节TCPHash值;6字节FC#,8字节Outstanding数据流以及5字节状态,尽管这仅是示例性的且其他这些字段外的同样有效。
从TCP数据流的IP报头中计算出的TCPHash值会放进缓存的16字节TCPHash值字段。
具有称为数据流渠道(FC)机制的网络跟随通过源至目标之间的内部网络的全部以太数据包流的数据流。FC#会被放进缓存的所述6字节FC#字段中。
所述FCs利用Outstanding数据流值能够直接测量仍在所述网络中的数据。Outstanding数据流值是减去传出所述网络数据量的通过网络接收的数据量。因此当数据包在入口端进入所述网络时,所述Outstanding数据流值增加以及随着数据包离开所述网络,通过识别从目标出口端返回的确认减少。Outstanding数据流值放进所述缓存的所述8字节Outstanding数据流字段中。
缓存输入的所述5字节状态字段用于记录与相同缓存输入的TCPHash值字段中的TCPHash值相关的TCP数据流的所述主动丢弃机制中的阶段。所述主动丢弃机制的所述阶段编码为5个状态,其中的2个是与用于计数在所述主动丢弃顺序开始时丢弃单个数据包后应通过的数据包数量的计数值相关的。随着所述主动丢弃机制穿过不同阶段移动,分配给TCPHash值缓冲输入的状态是暂时的。图7示出了所述状态转换的示意图。所述四个单独的状态是:
Free这表明所述TCPHash入口允许分配。
GenDuplicate这个状态表示具有特定有效TCPHash值的数据包正遭受拥塞且主动数据包丢弃已经开始。这个状态包括允许从外部网络进入所述内部网络的数据包的可编程数的计数值。如果对该数据流不再从外部网络接收数据包,还包括超时字节以提供一种能够返回Free状态且释放所述TCPHash入口的路径。所述超时字节设定为一个可编程定时信号且当发送数据包时被清除。当维持所述可编程计时信号时,如果已经设置所述超时字节,会产生向Free状态的跳跃。当大量数据包正等待进入所述内部网络时,由于仅开始丢弃进程,这不是通常所需要的。
Dropping这表示具有匹配与这个状态相关的所述缓冲入口的TCPHash值的有效TCPHash值的全部数据包会被丢弃。
WaitReuse这表示所述主动丢弃机制等待计时信号以及最终会重设所述缓存状态入口至Free。提供这个延迟以对于接收机给予TCP连接足够的时间从而处理顺序外的数据包以及产生一个或多个复确认,将它们返回所述传输TCP进程且在其他丢弃顺序再次开始之前为它重发送丢弃数据包。确保所述第一重发送数据包未被丢弃是重要的,由于其可能导致TCP超时。
图8描述了利用TCPHash入口和值的方法步骤。在步骤H中,在遭受终端拥塞的内部网络中拥塞TCP数据包被识别。例如,所述数据包应是:有效TCP数据包,遭受超出可配置阈的内部终端拥塞,源自处于溢出危险的缓冲,促使incast主动数据包丢弃的以太优先权,未加载的有效TCPHash缓存入口,以及能够加载进入TCPHash缓存的至少一个空闲入口。
在步骤I中,用于识别数据包的所述TCPHash值加载进入TCPHash入口,以及删除所述数据包。然后发送来自所述识别数据流的数据包的可编程数(步骤J)。如果在预定时间期限内未到达数据包,那么所述TCPHash入口被标记为Free。
接下来发送数据包,所述状态设置为释放,以及释放来自所述识别数据流的所述数据包。释放数据包如果其匹配所述TCPHash值,以及当所述数据包从所述数据包缓冲中采取或提供给数据包缓冲时产生这种比较(步骤K)。一旦注入所述内部网络的未被主动删除的全部所述数据包在所述内部网络出口端从内部网络向外部网络传递,那么所述状态设定为WaitReuse,以及来自所述识别数据流的数据包能够在可编程时间期限内被发送(步骤L)。当所述时间期限耗尽时,所述缓存入口标记为空闲(步骤M)。
当满足识别incast数据包流的全部条件时,在新数据包从所述外部网络到达之前,逻辑寻找执行分配的空闲入口和在发现空闲入口,已经确定的加载从与TCP数据流逻辑相关的IP报头中计算出的所述TCPHash值的所述16字节TCPHash值字段包含在incast事件中。探测incast事件条件的逻辑以及TCPHash关联缓存管理一个数据包的第一丢弃进程,允许一些通过以及对这个数据流持续丢弃全部数据包直到内部网络中的全部拥塞消失。在TCPHash缓存Hash值字段入口的全部入口被确认是否匹配之前,比较进入所述网络的每个随后数据包的TCPHash值。如果发生匹配,那么所述状态字段状况确定所述主动丢弃机制处于什么阶段且因而确定施加于所述数据包的作用。
如果所述主动丢弃机制已经被激活,当从Free移为GenDuplicate时,在一个数据包已经丢弃后,缓冲入口中由T所述GenDuplicate状态表现的所述阶段用于不算入数据包数量。数据包的可编程数允许通过-所述可编程数依赖于应用在连接至所述外部以太网的主机上的TCP栈。所述可编程数应足够大从而欺骗TCP进程使其重发送数据包。典型地是依赖于所使用的TCP版本以及初始RTT大小的2或3个数据包。所述TCP进程会看到数据包缺失(因为当加载TCPHash入口时,丢弃一个数据包)以及那么必须接收足够的后续数据包从而使得所述发报机重发送数据包。如果重排所述数据包,那么所述缺失(丢弃)数据包会在数据包流的间隔后即刻到达。由传输TCP进程发送的数据包的实际数量无法控制,因此对于丢弃顺序可以开始但是不能结束因为足够的数据包跟随以开始所述丢弃状态未被发送。实际上这是不可能的,因为在数据包等待进入所述内部网络的情况下,必须初始化丢弃顺序的所述条件之一必须具有近似溢出的缓冲。通过配置寄存器控制计数数量。当可配置超时脉冲发生时所述GenDuplicate会超时,因为在所述超时持续耗尽前所述发报机不发送其他数据包。如果发送其他数据包,超时字节会被重设。如果其他可配置超时脉冲出现在下一个数据包到达之前,那么所述状态会退回Free,为其他数据流释放TCPHash入口。在不从所述发报机TCP进程接收任何数据包的情况下,具有一个超时字节确保产生至少2个超时脉冲。为所述TCPHash缓存的全部入口产生仅一个超时脉冲。如果仅一个脉冲被计数,那么单独的TCPHash入口的实际超时会非常短,如果在超时脉冲产生之前出现被负载的情形。当没有数据包到达时,在所述状态返回Free之前,需要2个脉冲中的最小值以确保至少一个完整的超时期限。
当所需数据包数量已经计入所述内部网络时,所述状态会从GenDuplicate转换为Dropping。当所述缓存入口处于Dropping状态时,伴随有效匹配TCPHash值的全部数据包会被丢弃,这包括采取自数据包缓冲的具有有效匹配TCPHash值全部数据包。在所述TCPHash之前还检查从所述以太MAC到达的全部新数据包以及如果它们匹配Dropping状态中入口,它们还会在被放进数据包缓冲之前被丢弃。
在所述FC#字段和所述OutstandingFlow值是否必须调整之前,从所述目标出口端返回的所述内部网络确认用于调整已测试的所述数据流渠道值。这些内部确认是专有的且仅作为所述内部网络连接协议的一部分出现。它们是利用价值非常小的连接且可于任何时间在正常数据包之间或其他无关数据包中间发送。可改变不止一个TCPHash缓存入口的所述OutstandingFlow值,如果它们具有相同的FC#字段值但具有不同的TCPHash值。
当关于这个数据流的全部网络数据从所述内部网络中流出时,TCPHash连接入口的状态从“Dropping”到”Waitreuse”移动。Outstanding网络数据的数量通过所采用的内部网络确认发出信号。所产生的所采用内部网络确认每当到达最终出口端数据包头将所述数据包从所述内部网络放入外部以太网。利用所述6字节数据流渠道数字段以及所述8字节outstanding数据流值管理所述状态机的控制,且在下面详细描述。
在这个实施例中,所述WaitReuse态具有三个内部状态用于计数可编程脉冲延迟。当存在重传输TCP帧抵达的可能性时,这个态表示用于防止TCP数据流直接输入其他主动TCPHash丢弃顺序的所述主动丢弃机制的一个阶段。当所述分配时间耗尽,所述TCPHash缓存输入设定为“Free”态以及可重分配至其他TCP数据流。所述WaitReuse期限应设定为足够大从而允许所述接收TCP进程产生复确认,将其返回至所述TCP进程并为所述传输TCP进程重发送所述丢弃数据包。在再发送数据包已具有进入所述内部网络的可能性之前,这会阻止由整体主动丢弃顺序引起的TCP超时的在相同TCP数据流上的再启动。
每当数据包允许在所述GenDuplicate态下通过所述网络,缓存的所述6字节Flow渠道数(FC#)字段和8字节OutstandingFlow值字段各自加载所述FC#和OutstandingFlow值。当数据包注入所述网络时,所述FC#被加载所述分配的数据流渠道且所述OutstandingFlow加载从所述数据流渠道获取的当前值。那么,每当从所述网络接收确认时;所述确认的数据流渠道是匹配的,在全部的TCPHash缓存输入FC#字段且处于Dropping态的全部输入通过利用所述确认接收的增量会减少它们的Flow差值。如果所述减少的结果导致所述数据流差异为零或从正向负变化,那么所述态会从Dropping向WaitReuse态移动。当全部终端拥塞数据包时出现这种转变,在所述网络中等待,已经传递到所述目标。对于主机这是第一条件,经受所述incast,当释放额外数据包具有释放所述重试数据包的风险时,签发重试请求以及及时标记所述端点。同时,全部网络拥塞数据包会从所述缓冲中移除。这种方法消除了在相反方向上监测所述TCP数据流的必要。
这种机制,当正确配置时会显著降低TCP超时的可能性时以及相应带宽的惨重损失。相反地,在接收到所述返回的复确认后,所述TCP发报机无延迟的重发送数据包。通过要求发送进所述网络的额外数据包,所述TCP重发送数据包还会降低性能,然而通过带宽损失的影响可能为少于数据中央环境中的TCP超时的至少2重等级。
所述机制不要求任何深度报文检测且不需要任何相反方向上的TCP数据流检测,甚至可能不用于相同的端口。其不需要任何对于标准TCP协议的改变。所述方法可用于单个交换元件或可用于交换元件的整个网络的更好执行版本。
这种机制不会引起不相关的网络拥塞。主动丢弃操作不包括多点通信/广播操作。
在不脱离本发明精神的情况下,可实现此处描述实施例的各种变化。例如,具有压缩数值的多种方式,尽管循环冗余校验(CRC)可给出较好结果,然而可使用任何合适的压缩技术。所述16字节hash值允许在不需太多逻辑以存储和比较数值的情况下识别多种不同的数据流。然而,可预测到具有其他字节数的hash值也是合适的。只要形成所述TCP数据流的存储表示,所述方法不依赖压缩且在没有压缩的所有情形中工作。
在一个多级网络中,终端拥塞的探测可基于任何用于所述网络的交换元件做出。如果它们与所传输的数据包具有相同的网络路由,那么存在真实的终端拥塞。如果所述网络能够管理单独数据流,那么与这些数据流相关的表格可使用相同的转换值以识别每个数据流。这些表格的每个输入与所述数据流的目标和源相比必须匹配。如果所述表格是联合使用的,那么它是允许它们额外探测与目标相比且不与源相比的其他匹配的简单延伸。

Claims (15)

1.一种在数据包网络中控制数据包拥塞的方法,所述方法包括步骤:
确定在数据包网络的节点导致数据包拥塞的参考数据流条件;
识别具有与所述参考数据流条件相同的数据流条件的数据包流;
以及对于识别出的数据包流:
造成从所述识别出的数据包流中丢弃的数据包;
允许源自所述识别出的数据包流中一预定数量数据包前行;
以及在所述预定数量数据包后从所述识别出的数据包流中丢弃数据包,直到未丢弃的数据包传递到所述网络的出口端。
2.如权利要求1所述的方法,其中所述参考数据流条件与数据包流的目标信息相关,以及所述数据流条件与所述识别出的数据包流的目标信息相关。
3.如权利要求1所述的方法,其中识别数据包流包括识别与所述数据包流相关的源和目标信息。
4.如前述权利要求中任一项所述的方法,其中在相关的所述数据包流进入所述网络时执行数据包流的识别。
5.如权利要求1-3中任一项所述的方法,其中在数据包流在所述网络的交换机中等待时执行数据包流的识别。
6.前述权利要求1-3中任一项所述的方法,其中所述识别出的数据包流是incast数据流。
7.前述权利要求1-3中任一项所述的方法,进一步包括为所述网络确定数据量阈值,以及识别导致阈值溢出的数据包流,以至于所述数据包流变为所述识别出的数据包流。
8.前述权利要求中1-3任一项所述的方法,进一步包括为进入数据包流分配优先权值,以及在识别所述数据包流时利用优先权值。
9.一种用于在数据包网络中控制数据包拥塞的数据包流控制器,所述控制器包括:
可操作参考单元,确定在数据包网络的一个节点上导致数据包拥塞的参考数据流条件;
可操作探测器,识别具有与所述参考数据流条件相同的数据流条件的数据包流;
以及可操作控制单元,用于识别出的数据包流,以:
产生从所述识别出的数据包流中丢弃的数据包;
允许源自所述识别出的数据包流的预定数量数据包前行;
以及在所述预定数量数据包后从所述识别出的数据包流中丢弃数据包,直到未丢弃的数据包传递到所述网络的出口端。
10.如权利要求9所述的控制器,其中所述参考数据流条件与数据包流的目标信息相关,以及所述数据流条件与所述识别出的数据包流的目标信息相关。
11.如权利要求9所述的控制器,其中操作所述探测器以识别用于相关所述数据包流的源和目标信息。
12.如权利要求9-11中任一项所述的控制器,其中在相关的所述数据包流进入所述网络时,操作所述探测器以识别数据包流。
13.如权利要求9-11中任一项所述的控制器,其中在数据包流在所述网络的交换机中等待时,操作所述探测器以识别数据包流。
14.如权利要求9-11中任一项所述的控制器,其中可操作控制单元以确定用于所述网络的数据量阈值,以及识别数据包流导致阈值溢出,以至于所述包流变为所述识别出的数据包流。
15.如权利要求9-11中任一项所述的控制器,其中可操作所述控制单元从而为进入数据包流分配优先权值,以及在识别所述数据包流时利用优先权值。
CN201180033540.4A 2010-07-07 2011-07-07 一种设备和方法 Active CN102959911B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1011442.9 2010-07-07
GB1011442.9A GB2481971B (en) 2010-07-07 2010-07-07 Apparatus & method
PCT/GB2011/051272 WO2012004600A1 (en) 2010-07-07 2011-07-07 Apparatus & method

Publications (2)

Publication Number Publication Date
CN102959911A CN102959911A (zh) 2013-03-06
CN102959911B true CN102959911B (zh) 2015-11-25

Family

ID=42712044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180033540.4A Active CN102959911B (zh) 2010-07-07 2011-07-07 一种设备和方法

Country Status (5)

Country Link
US (1) US9843525B2 (zh)
EP (1) EP2591577B1 (zh)
CN (1) CN102959911B (zh)
GB (1) GB2481971B (zh)
WO (1) WO2012004600A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264432B1 (en) 2011-09-22 2016-02-16 F5 Networks, Inc. Automatic proxy device configuration
WO2013066301A1 (en) * 2011-10-31 2013-05-10 Hewlett-Packard Development Company, L.P. Reducing tcp timeouts due to incast collapse at a network switch
US20140040477A1 (en) * 2012-07-31 2014-02-06 F5 Networks, Inc. Connection mesh in mirroring asymmetric clustered multiprocessor systems
US10182010B1 (en) * 2012-08-20 2019-01-15 Amazon Technologies, Inc. Flow collision avoidance
US10187309B1 (en) * 2012-08-20 2019-01-22 Amazon Technologies, Inc. Congestion mitigation in networks using flow-based hashing
CN102984552B (zh) * 2012-10-23 2016-06-22 深圳市深信服电子科技有限公司 基于远程应用的流量控制方法及装置
US9282041B2 (en) * 2013-07-16 2016-03-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Congestion profiling of computer network devices
WO2015067306A1 (en) 2013-11-06 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Method and device for controlling processing load of a network node
US9961585B2 (en) * 2014-05-16 2018-05-01 Nokia Solutions And Networks Oy Network-side buffer management
US9614765B2 (en) 2014-08-26 2017-04-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Quantized congestion notification (QCN) proxy function in data center bridging capabilities exchange (DCBX) protocol
US9800508B2 (en) * 2015-01-09 2017-10-24 Dell Products L.P. System and method of flow shaping to reduce impact of incast communications
US10122640B2 (en) * 2015-01-26 2018-11-06 LiveQoS Inc. Minimal buffer network arbiter
US10135747B2 (en) * 2016-05-20 2018-11-20 Cisco Technology, Inc. Weighted fair queueing using severity-based window in reliable packet delivery network
US10986027B1 (en) * 2018-03-27 2021-04-20 Akamai Technologies, Inc. Efficient congestion control in a tunneled network
US11962434B2 (en) 2022-07-08 2024-04-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for capturing dropped packets at a switching fabric emulator

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1345499A (zh) * 1999-03-23 2002-04-17 艾利森电话股份有限公司 在ip网络中丢弃业务以优化语音信号的质量
US7359321B1 (en) * 2002-01-17 2008-04-15 Juniper Networks, Inc. Systems and methods for selectively performing explicit congestion notification
US7570652B1 (en) * 2002-09-03 2009-08-04 At&T Corp. Systems and methods for handling frame discard indication within cell-based data communication networks
CN101616097A (zh) * 2009-07-31 2009-12-30 中兴通讯股份有限公司 一种网络处理器输出端口队列的管理方法及***
CN101711468A (zh) * 2007-03-12 2010-05-19 思杰***有限公司 用于在tcp拥塞控制中提供服务质量优先的***和方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490251B2 (en) * 1997-04-14 2002-12-03 Nortel Networks Limited Method and apparatus for communicating congestion information among different protocol layers between networks
EP1232610B1 (en) * 1999-10-22 2009-01-07 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communications network
US6877043B2 (en) * 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
WO2002003597A1 (en) * 2000-06-30 2002-01-10 Kanad Ghose System and method for fast, reliable byte stream transport
US6950393B1 (en) * 2000-11-22 2005-09-27 P-Cube, Ltd. Method and apparatus for process flow random early discard in service aware networking systems
US7002980B1 (en) * 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US6996062B1 (en) * 2001-02-28 2006-02-07 3Com Corporation Policy-based weighted random early detection method for avoiding congestion in internet traffic
US7206282B1 (en) * 2001-05-29 2007-04-17 F5 Networks, Inc. Method and apparatus to balance flow loads in a multipurpose networking device
GB2372172B (en) * 2001-05-31 2002-12-24 Ericsson Telefon Ab L M Congestion handling in a packet data network
US7212534B2 (en) * 2001-07-23 2007-05-01 Broadcom Corporation Flow based congestion control
US8125902B2 (en) * 2001-09-27 2012-02-28 Hyperchip Inc. Method and system for congestion avoidance in packet switching devices
US7376125B1 (en) * 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7564792B2 (en) * 2003-11-05 2009-07-21 Juniper Networks, Inc. Transparent optimization for transmission control protocol flow control
US7586847B2 (en) * 2004-03-31 2009-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for network imposed packet data flow control
US7706261B2 (en) * 2004-08-27 2010-04-27 Jinshen Sun Queue-based active queue management process
US7613116B1 (en) * 2004-09-29 2009-11-03 Marvell Israel (M.I.S.L.) Ltd. Method and apparatus for preventing head of line blocking among ethernet switches
US8045454B2 (en) * 2005-09-12 2011-10-25 Cisco Technology, Inc. Multimedia data flow dropping
US7724660B2 (en) * 2005-12-13 2010-05-25 Alcatel Lucent Communication traffic congestion management systems and methods
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US20070237074A1 (en) * 2006-04-06 2007-10-11 Curry David S Configuration of congestion thresholds for a network traffic management system
US8184549B2 (en) * 2006-06-30 2012-05-22 Embarq Holdings Company, LLP System and method for selecting network egress
US8000242B2 (en) * 2006-07-06 2011-08-16 Alcatel Lucent Reducing packet loss for a packet data service during congestion in a transport network
US8630256B2 (en) * 2006-12-05 2014-01-14 Qualcomm Incorporated Method and system for reducing backhaul utilization during base station handoff in wireless networks
GB0701668D0 (en) * 2007-01-29 2007-03-07 Tang Bob Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgenTCP nextgenFTP nextgenUDPs
US7796510B2 (en) * 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US7760642B2 (en) * 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US7706266B2 (en) * 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
US20100020687A1 (en) * 2008-07-25 2010-01-28 At&T Corp. Proactive Surge Protection
US8670324B2 (en) * 2008-07-30 2014-03-11 Fimax Technology Limited Fair weighted network congestion avoidance
US8194543B2 (en) * 2008-12-18 2012-06-05 Intel Mobile Communications GmbH Methods of data traffic shaping, apparatus and wireless device
CN102484609B (zh) * 2009-01-16 2015-04-15 主线网络控股有限公司 在具有高延时及封包遗失率的网络中使用传输控制协议来最大化带宽利用率
US8971184B2 (en) * 2009-06-08 2015-03-03 Arris Enterprises, Inc. Latency based random early discard for network packets
US8897132B2 (en) * 2010-03-31 2014-11-25 Blue Coat Systems, Inc. Enhanced random early discard for networked devices
US9602439B2 (en) * 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1345499A (zh) * 1999-03-23 2002-04-17 艾利森电话股份有限公司 在ip网络中丢弃业务以优化语音信号的质量
US7359321B1 (en) * 2002-01-17 2008-04-15 Juniper Networks, Inc. Systems and methods for selectively performing explicit congestion notification
US7570652B1 (en) * 2002-09-03 2009-08-04 At&T Corp. Systems and methods for handling frame discard indication within cell-based data communication networks
CN101711468A (zh) * 2007-03-12 2010-05-19 思杰***有限公司 用于在tcp拥塞控制中提供服务质量优先的***和方法
CN101616097A (zh) * 2009-07-31 2009-12-30 中兴通讯股份有限公司 一种网络处理器输出端口队列的管理方法及***

Also Published As

Publication number Publication date
GB2481971A (en) 2012-01-18
US20130215750A1 (en) 2013-08-22
EP2591577A1 (en) 2013-05-15
EP2591577B1 (en) 2015-02-25
US9843525B2 (en) 2017-12-12
GB2481971B (en) 2016-12-21
WO2012004600A1 (en) 2012-01-12
GB201011442D0 (en) 2010-08-25
CN102959911A (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
CN102959911B (zh) 一种设备和方法
CN102084627B (zh) 通过网络传输数据的方法
CN1836418B (zh) 分组重新排序之后改进传输层性能的方法和***
US9426083B2 (en) Consistency checking for credit-based control of data communications
US7821939B2 (en) Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
Bu et al. Fixed point approximations for TCP behavior in an AQM network
CN103957156A (zh) 通过网络传输数据的方法
CN103840917A (zh) 一种基于网络编码的多路并行传输方案
US8130761B2 (en) Method and system for providing confirmed delivery of ethernet packets
CN100596114C (zh) 一种基于信誉的流量控制***、装置和方法
CN106062726A (zh) 用于数据中心交换机的流感知缓冲区管理
CN101379781A (zh) 通信方法、通信***、节点及程序
CN104052574A (zh) 在网络控制器和交换机之间控制数据的传输的方法和***
CN103348647A (zh) 在无线网络中改进传输控制协议性能的机制
AU2005215043A1 (en) Systems and methods for parallel communication
CN103814563A (zh) 数据通信装置、数据发送方法以及计算机***
CN202841192U (zh) 一种支持广域网的高速、可靠的单向传输***
KR20170130601A (ko) 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드
Xia et al. Analysis on packet resequencing for reliable network protocols
CN103262452A (zh) 发送装置、接收装置、通信装置、通信***以及发送方法
CN101883047B (zh) 多网络接口设备的数据并发传输方法
Zou et al. Improving TCP robustness over asymmetry with reordering marking and coding in data centers
CN113438182B (zh) 一种基于信用的流量控制***和流量控制方法
CN101124754A (zh) 用于并行通信的***和方法
US7242685B1 (en) System and method for initiating multilink fragment reassembly

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: KELEI UK CO., LTD.

Free format text: FORMER OWNER: GNODAL LTD.

Effective date: 20140410

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140410

Address after: Redding

Applicant after: CRAY UK LIMITED

Address before: Bristol

Applicant before: Gnodal Ltd

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201202

Address after: American Texas

Patentee after: HEWLETT-PACKARD DEVELOPMENT Co.,L.P.

Address before: British lightning

Patentee before: GNODAL Ltd.