CN104205942B - 多跳错误恢复 - Google Patents

多跳错误恢复 Download PDF

Info

Publication number
CN104205942B
CN104205942B CN201380004571.6A CN201380004571A CN104205942B CN 104205942 B CN104205942 B CN 104205942B CN 201380004571 A CN201380004571 A CN 201380004571A CN 104205942 B CN104205942 B CN 104205942B
Authority
CN
China
Prior art keywords
interchanger
stream
grouping
switch
stone
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
CN201380004571.6A
Other languages
English (en)
Other versions
CN104205942A (zh
Inventor
R·帕尔曼
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN104205942A publication Critical patent/CN104205942A/zh
Application granted granted Critical
Publication of CN104205942B publication Critical patent/CN104205942B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling

Abstract

涉及对使用“垫脚石”交换机的逐跳分组转发技术的使用的方法、装置和网络架构。该网络架构包括使用穿插在非垫脚石交换机中的垫脚石交换机,非垫脚石交换机为诸如包括如交换机、路由器、转发器等网络元件的常规网络交换机。垫脚石交换机被配置成以带有错误恢复的逐跳方式将分组作为沿垫脚石交换机之间的隧穿子路径的复用流进行路由,这不同于使用任意路径或沿(一般)较长的基于流的路径将分组从源路由至目的地的常规路由。因此,来自源端点的分组经由连接各对垫脚石交换机的多条子路径路由至目的地端点,其中每条子路径经过一个或多个常规交换机并且组成逐跳路线中的逻辑跳跃。

Description

多跳错误恢复
技术领域
本发明的领域一般涉及计算机联网,且更具体但不排他地涉及使用带有错误恢复的多跳转发来支持增强网络性能的网络架构和网络交换机。
背景信息
自从引入微处理器以来,计算机系统已变得越来越快。近似根据摩尔定律(基于公司共同创设者戈登摩尔在1965年预测集成电路上晶体管数目每两年翻一倍的出版物),增速已经以相当均匀的速率急速上升了近三十年。同时,存储器和非易失性存储两者的尺寸已稳步增加,从而使得许多当今的个人计算机相比仅10-15年以前的超级计算机更加强大。另外,网络通信速度同样也可见巨大增加。
处理器速度、存储器、存储以及网络带宽技术的增长造成了对于具有日益增长的能力的网络的扩建和部署。最近,基于云的服务的引入,如Amazon(例如,亚马逊弹性计算云(EC2)以及简单存储服务(S3))和微软(例如,Azure和Office365)所提供的那些服务,已经造成了对于公共网络基础设施的附加网络扩建,并造成了对大容量数据中心的增加部署以支持使用私有网络基础设施的这些服务。另外,在不久的将来,新一代(即,4G)移动网络数据服务预计会显著地影响陆线网络的利用。这些以及其他考虑的结果是在可预见的将来,计算机网络的利用预期会继续高速增长。
图1描绘了采用经由链路104通信地耦合至彼此的标记为1-36的多个交换机102的常规计算机网络架构100。源计算机106经由因特网服务提供商(ISP)网络108耦合至交换机14。在网络另一侧,包括电子邮件服务器的目的地计算机110经由电子邮件服务提供商(ESP)网络112连接至交换机20。
每个交换机1-35包括路由表或转发表,其用于基于各种准则将分组路由/转发至下一跳,该准则通常包括目的地地址。在诸如网际协议(IP)等各种路由协议下,数据被划分成多个分组,这些分组沿诸如源计算机106和目的地计算机110所描绘的源端点与目的地端点之间的路径路由。一般而言,给定分组经过的分组可以在一定程度上是任意的,这是为何因特网如此稳健的部分原因。由于端点之间的分组可沿不同路径行进,因此当网络交换机停机或离线时,其他交换机的路由表被更新以沿不包括该交换机的路径路由分组。
图1进一步示出包括交换机14、15、22、23、16、17、18和19之间的跳跃的示例性路由路径。当然,后续分组可沿不同路线路由,取决于正在源计算机106与目的地计算机110之间传送的话务的分类、以及实时网络工作条件和由各个网络交换机处置的话务。
在计算机网络中,分组可能由于各种原因而丢失,这些原因包括比特错误、拥塞、或交换机故障。当分组在源与其目的地之间的路径上丢失时,其通常需要从源重传。这具有两个问题。首先,由于从源到目的地的路径相当长,源要花费长时间来发现分组已丢失。第二,该分组在丢弃之前所作的进展浪费了带宽。
在具有许多比特错误的有损耗链路上,有时完成逐跳可靠性。这意味着当第一交换机S1正向邻交换机S2转发时,S1和S2运行可靠协议,其中S1保持每个分组直至其被S2确认为被成功接收而无错误,重传丢失或丢弃的分组。此类协议的示例是高级数据链路控制(HDLC)或数字数据通信消息协议(DDCMP)。这要求更复杂和昂贵的交换机,因为其要求更多缓冲器供S1保持分组直至接收到来自S2的确认。
避免由于链路上的比特错误而引起的分组丢失的另一办法是使用纠错码,从而倘若没有过多比特错误则分组可被重构。这在额外校验和比特与计算两方面具有很多开销,并且仍有可能存在比纠错码能处置的更多的错误。
网络拥塞目前以两种方式之一来解决:丢弃分组或在传入端口上实现回压(通常在每服务类的基础上)。如前所述,丢弃分组的问题在于已朝着目的地行进了数跳的分组必须再次从源重传,从而带宽量被浪费了。另外,源发现分组已丢弃的端到端延迟可能较长,这是因为需要从目的地传达关于分组是否已被接收的信息。结果,源在重发分组之前将通常采用超时,如果在超时期满之前没有接收到ACK则重发分组。
进行传统方式的回压(例如,Infiniband或数据中心桥接)的问题在于拥塞会延伸;单个较慢资源(例如,目的地)可使其分组占用交换机中的所有缓冲器,并且由于交换机不被允许丢弃那些分组,该交换机必须拒绝接收(该类的)任何更多分组,即使那些新分组可能并不是朝向拥塞资源行进。这进而可导致毗邻交换机中的缓冲器变满,等等。
附图简述
通过参考与附图一起进行的下面的详细描述,本发明的前述的方面和许多伴随的优点,将变得更加轻松地被理解,其中,在各个视图中,相同参考编号表示相同部件,除非另作说明:
图1是示出其中多个交换机经由各种链路互连的常规计算机网络的网络示图;
图2是示出采用穿插在常规网络交换机元件中的多个垫脚石(stepping stone)交换机的计算机网络的网络示图;
图2a是示出图2的网络示图仅描绘有垫脚石交换机、连同各对垫脚石交换机之间连接的隧穿虚拟链路时的视图的网络示图;
图2b是示出包括两个分层级别的网络架构的视图的网络示图,其示出图2a的网络示图重叠在图2的网络示图上;
图3示出常规计算机网络中在源和目的地计算机之间的一对路由路径;
图4示出源和目的地计算机之间采用垫脚石交换机的逐跳路由路径;
图5a示出源和目的地计算机之间包括各对垫脚石交换机之间的两条隧穿子路径的路由路径;
图5b-5d示出在经由图5a的路由路径中的交换机转发分组时的分组格式和报头配置;
图6是示出根据一个实施例的在经由逐跳技术转发分组时由垫脚石交换机和常规交换机执行的操作和逻辑的流程图;
图7a是示出在一对垫脚石交换机之间的隧穿子路径上复用分组流的示图;
图7b示出与图7a中的垫脚石交换机相对应的分组流以及相关联的源和目的地缓冲器;
图7c描绘图7a的垫脚石交换机之间的隧穿子路径;
图8示出根据一个实施例的垫脚石隧道报头;
图8a示出根据一个实施例的用于分组拒绝的垫脚石隧道报头;
图9示出包括多个被配置为垫脚石交换机装置的交换线路卡的示例性交换机;以及
图10示出被配置为垫脚石交换机装置的示例性交换线路卡。
详细描述
本文描述了使用带有错误恢复的逐跳转发来增强网络性能的方法和装置的实施例。在以下描述中,阐述了许多具体细节以提供对本发明的实施例的透彻理解。然而,相关领域内技术人员将理解本发明可省去一个或多个特定细节而实现,或通过其它方法、组件、材料等实现。在其它例子中,公知的结构、材料或操作不被示出或详细说明以避免对本发明某些方面产生混淆。
说明书中对"一个实施例"、"实施例"的引用意味着结合该实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。如此,在整个说明书中的不同位置出现短语“在一个实施例中”或“在实施例中”不一定都是指同一个实施例。此外,在一个或多个实施例中,特定特征、结构或特性可以以任何合适的方式组合起来。
根据本文所公开的实施例的一方面,经由使用穿插在常规网络交换机中的“垫脚石”交换机来促进增强的网络性能。垫脚石交换机被配置成以逐跳方式将分组作为垫脚石交换机之间的流进行转发,这不同于使用任意路径或沿(一般)较长的基于流的路径将分组从源路由至目的地的常规转发。(如本文在该详细描述中所使用的,没有大写的“hop(跳跃/跳)”对应于该术语的常规网络使用,而有大写的“Hop”对应于垫脚石交换机之间逻辑跳跃)。因此,来自源端点的分组经由多个垫脚石交换机路由至目的地端点,其中各对垫脚石之间的流通常经过一个或多个常规交换机并且构成Hop。
基本概念是具有配置有用于某个数目的流的充分资源的一些交换机(即,垫脚石),从而它们可保持分组并且如果需要则重传它们,直至它们被下一个垫脚石确认。并非所有流都需要利用垫脚石服务,并且不使用垫脚石服务的那些流可根据传统联网来处置,即要么通过尽力型(例如,如果需要则丢弃,并且如果要求可靠性,则从源或逐跳地重传)要么通过连同相同类中的其他流进行回压。
在一些实施例中,垫脚石交换机的配置类似于常规交换机,除了垫脚石交换机具有显著更多的缓冲器资源(以及用于创建和复用分组流、创建子路径Hop、以及扩充转发表的附加逻辑,如以下详述的)。由于采用垫脚石之间的流以使得一对垫脚石交换机之间的给定流的分组经由包括一个或多个中间常规交换机的子路径来路由,因此这些中间交换机可用较少缓冲器资源来实现。例如,在一些实施例中,经由给定中间交换机路由的大多数或所有话务(从该交换机的观点而言)看上去是在两个垫脚石之间(即,垫脚石看上去是源和目的地端点)。因此,沿流路线的一个或多个常规交换机必须维持的缓冲器数目减少(相比于常规网络架构),从而减少了丢弃分组的发生以及在中间交换机采用回压的需要。
图2示出网络200,其示出采用经由多条链路206通信地链接的网络交换机202(标记为1-28)和垫脚石交换机204(标记为1-5,黑底上的白色数字)的混合的示例性网络架构。一般而言,每个交换机202可包括常规网络元件,诸如配置成执行与图1的交换机102所执行的类似的常规路由/转发操作的交换机或路由器。除了支持常规路由/转发操作以外,每个垫脚石交换机204被配置成支持附加路由/转发操作并且包括附加缓冲器资源(相对于交换机202而言)。
根据一方面,网络200包括具有两个分层级别的网络,一个分层级别由交换机202和垫脚石交换机204占用,而另一个分层级别仅由垫脚石交换机204占用。例如,图2a示出由垫脚石交换机204占用的较高分层级别,垫脚石交换机204经由隧穿虚拟链路208彼此连接。同时,图2b示出包括图2a的垫脚石交换机204和隧穿虚拟链路208重叠在图2中所示的网络200配置之上的分层级别,注意,垫脚石交换机可既用作常规交换机又用作垫脚石交换机,并且因此垫脚石交换机占用两个分层级别。
图3和4分别示出使用常规网络和采用垫脚石交换机办法的网络从源端点向目的地端点路由分组的比较。图3的网络110a和图4的网络200的所示网络部分具有类似交换机和链路配置(不考虑垫脚石方面);在网络200下,图3的常规交换机29、30和31分别由垫脚石交换机SS3、SS4和SS5取代。对于每个网络,分组从源计算机S发送给目的地计算机D。(为简化起见,源计算机S与交换机29之间以及交换机19与目的地计算机D之间的任何网络基础设施未示出。)
假定网络110a是IP网络且实现TCP(传输控制协议)确认分组递送,在图3中所示的常规办法下,第一分组使用TCP/IP协议沿包括交换机29、14、15、16、17、18和19的路径发送。如图所示,交换机18和19之间的跳跃具有X,指示分组已丢弃或丢失。在TCP/IP下,每个分组的成功传输通过从目的地向源返回确认消息(即ACK分组)来确认。如果在预定超时时段内没有接收到给定分组的ACK消息,则源计算机的网络接口和/或网络软件假定该分组已丢弃,并且重传该分组。重传的分组可能沿与丢失的分组相同的路径行进,或者其可能在不同路径上行进。图3示出了使用不同路径的示例,其中丢弃分组的副本沿包括交换机19、22、30、20、31、28和19的第二路径(以虚线示出)重发,随之该第二分组被转发给目的地计算机D。
作为比较,网络架构200下在源计算机S与目的地计算机D之间的分组路由采用垫脚石办法。更详细而言,源计算机S与目的地计算机D之间的路由路径包括分别位于垫脚石SS3与SS4之间、以及垫脚石SS4与SS5之间的两条子路径400和402。子路径400包括从垫脚石SS3至交换机19、随后至交换机22、并且至垫脚石SS4的路由路径。子路径402包括从垫脚石SS4至交换机20、随后至垫脚石SS5的路由路径。每条子路径400和402还包括垫脚石端点之间的虚拟隧道。一旦分组抵达垫脚石SS5,则其沿下一跳转发至交换机19,交换机19随后将该分组转发至目的地计算机D。
详述垫脚石服务的各个方面的示例在图5a、5b和5c中描绘,且由网络交换机实现的相应操作和逻辑在图6的流程图600中示出。如图5a中所示,源计算机S与目的地计算机D之间的路由路径500包括耦合在源计算机S和交换机1、交换机2、垫脚石SS1、交换机3、交换机4、垫脚石SS2、交换机5、垫脚石SS3、交换机6、和目的地计算机D之间的链路。
参照图5B和流程图600,传输过程始于从源计算机S向交换机1传送分组502。如框602中所描绘的,将分组从前一跳或起始点(在此情形中为源计算机S,其作为源端点操作)转发至下一跳(交换机1)。如分组细节中所示,分组502的原始配置包括原始网络转发协议报头504继之以分组有效载荷506,报头504包括原始源地址(即,源计算机S的地址)和原始目的地地址(即,目的地计算机D的地址)。将理解,该示例中所示的分组格式被一般化以应用于多种类型的网络协议,并且实际分组的配置将遵循用于给定网络所采用的任何适用协议的格式化。作为示例而非限定,原始协议报头可包括IP报头、以太网报头、Infiniband报头等。另外,尽管仅示出单个报头,但原始网络协议报头504可包括多个协议报头(例如,TCP报头和IP报头)。此外,未示出较低级报头,诸如MAC(媒体接入信道)报头,但是应注意,联网领域的技术人员将理解此类报头的使用。
在判决框604中,确定当前交换机(交换机1)是否为垫脚石交换机。(根据该示例,该网络中的交换机可以是常规(即,非垫脚石)交换机或垫脚石交换机)。由于交换机1是常规交换机,因此对判决框604的回答为“否”,并且流程图前进至框606,其中执行常规转发操作。如众所周知的,此举包括使用适用的查找值(诸如分组分类结果,例如使用目的地地址过滤器或对IP报头的5元组散列)在该交换机的转发表中执行查找以标识用于沿将到达目的地地址所标识的端点的路线将该分组转发给下一跳的端口。另外,如果交换机1是边缘交换机,则其可进一步配置成对分组502进行分类(未示出分类操作),以使得其被分类到采用垫脚石服务的话务类。在一些实施例中,边缘交换机的转发表包括偏好采用垫脚石服务的路线的转发规则和/或过滤器。在其他实施例中,边缘交换机可以不知晓垫脚石服务的存在。
更详细而言,在所示实施例中,网络是所管理网络,其被配置成通过对适用话务类使用垫脚石交换机来促进对所管理流的使用。在此示例中,假定分组502属于所管理话务类,并且由交换机1执行的转发表查找标识出优选垫脚石路线可经由交换机2到达。因此,分组602从经由链路耦合到交换机2的交换机1中的端口转发出去,并且流程图逻辑返回框602,导致分组502被转发给交换机2。取决于适用的协议,交换机1可以或者可以不对原始分组报头504作出一些改变(诸如递减IP分组的存活时间(TTL)倒计数);然而,原始源和目的地地址将保持不变。
继续到分组502抵达交换机2,流程图逻辑再次流经判决框604和框606,导致分组502从交换机2转发给垫脚石交换机SS1,并且分组的原始源和目的地地址保持不变,如图5b的顶部所描绘的。同前,交换机2的转发表被配置成经由垫脚石转发对应于某些分类(包括分组502的话务类)的分组。结果,耦合至交换机2与垫脚石SS1之间的链路的适用端口在框606中被交换机2选择用于转发该分组。
此时,分组502在垫脚石交换机SS1处被接收,并且流程图逻辑已返回到判决框604。这次,对该判决框的回答为“是”,且该逻辑前进至框608,其中检查分组报头以确定该分组是否已从垫脚石转发,其结果在判决框610中示出。在一个实施例中,确定分组已经由垫脚石转发涉及以下逻辑。首先,确定分组的目的地地址是否对应于垫脚石的地址。如果为“是”,则检查协议类型字段(针对支持原型字段的转发协议)以确定协议类型是否为垫脚石隧道。如果是,则该分组已由垫脚石转发,并且检查源地址以标识经由其接收该分组的虚拟端口。本领域技术人员将认识到,所有分组将在物理端口上接收和发出,一些或所有物理端口可取决于它们是否被用于使用垫脚石子路径来发送或接收分组而与虚拟端口相关联。
返回到判决框610和图5b中垫脚石SS1处的分组格式描绘,对判决框610的回答为“否”,并且该逻辑前进至框612,其中在垫脚石SS2的转发表中进行查找以确定下一跳,用于沿基于当前目的地地址的转发路径将该分组转发给下一跳。在图5a中所示的示例中,分组沿垫脚石SS1和SS2之间的垫脚石子路径501转发。如以上所讨论的,垫脚石端口是与垫脚石交换机上的物理端口相关联的虚拟端口。如判决框614所描绘的,如果分组将经由垫脚石子路径转发给另一垫脚石,则转发表查找将标识该分组会经由垫脚石虚拟端口转发,从而导致“是”判决并且该逻辑前进至框616。
经由垫脚石子路径的转发经由使用垫脚石隧道报头来采用可靠协议,垫脚石隧道报头在一个实施例中如下生成并格式化。如框616中所示和图5B中的分组508所描绘的,垫脚石交换机SS1前置垫脚石隧道报头510,包括转发协议报头511和隧道报头信息512。转发协议报头511包括与正用于在网络中转发该分组的转发协议相对应的报头。在本示例中,这是IP报头,但不限于此。转发协议报头包括与当前垫脚石和下一垫脚石相对应的源和目的地地址,如由垫脚石SS1源地址和垫脚石SS2目的地地址所描绘的。在一些实施例中,转发协议报头还包括标识协议类型为垫脚石(SS)隧道的协议类型字段。
隧道报头信息512包括具有任选值的多个字段(即,字段值可为空)。在一个实施例中,每个转发的分组包含隧道流序列号,连同一个或多个任选的垫脚石隧道报头字段。以下提供关于隧道流序列号和其他字段的使用的更多细节。在一个实施例中,转发协议报头511包括前置报头,而隧道报头信息512包括新分组508的有效载荷的一部分,如经更新的有效载荷514所描绘的。如图所示,经更新的分组有效载荷514一般通过向原始分组502的数据内容前置隧道报头信息512来生成。
返回框616,在生成并前置垫脚石隧道报头以形成新分组508之后,当前垫脚石交换机(例如,SS1)执行转发表查找以确定采用哪个虚拟端口来转发新分组,从而其将到达对应于下一垫脚石(例如,SS2)的地址的新分组目的地地址。
在一个实施例中,下一跳可根据指派给该分组的隧穿流来选择。如图5a中所示,垫脚石SS1和SS2之间存在多条可能的子路径路线。例如,除了所选路线SS1→3→4→SS2以外,其他可能路线包括SS1→7→8→SS2、SS1→3→8→SS2、以及SS1→9→4→SS2。此外,有可能实现更长路线,诸如SSl→9→3→4→SS2、SS1→3→9→4→SS2等。
如以下更详细地讨论的,在一些实施例中,对应于给定的一对垫脚石交换机之间的大多数或所有分组的流可经由单条路径来复用。任选地,对应于不同服务类的流可在不同路径上复用。作为又一选项,可基于实时话务条件来创建或动态地重配置流路径。
在一些实例中,分组可在没有先前分类的情况下抵达第一垫脚石交换机。在一个实施例中,未分类分组由第一垫脚石基于一个或多个报头字段值进行分类。例如,分组可被分类成使用相关联的服务类级别、或者作为与分类相关联的流的一部分进行转发。这种分类通常可应用于跨路由路径中的所有交换机或仅垫脚石交换机的转发操作。另外,还可在各对垫脚石交换机之间实现第二级分组分类,如以下更详细地描述的。例如,分组可分类成各对垫脚石交换机之间的(子)流。
在确定虚拟(输出)端口之后,该分组随后根据框602经由与所标识的虚拟端口相关联的物理输出端口转发至下一跳(交换机3)。继续到判决框604以及图5b中关于交换机3所示出的分组508配置,判决框604的结果为“否”,因为交换机3不是垫脚石交换机。同前,该分组随后在框606中以常规方式被转发。从交换机3(以及其他非垫脚石交换机)的观点而言,分组508看起来是具有正常转发协议报头(例如,在该示例中为正常IP报头)、具有源地址和目的地地址连同各种其他字段(出于清楚而未示出)的常规分组。分组508中的其余数据(从常规交换机的角度而言)看起来是分组有效载荷,并且因此隧道报头信息512被简单地忽略。在本示例中,下一跳是交换机4,其以与交换机3类似的方式处理分组508,导致分组508被转发给垫脚石SS2,垫脚石SS2是垫脚石子路径501的目的地端点。
返回到判决框604并使分组配置前进至图5c顶部,分组转发序列的当前进展现在对应于垫脚石SS2从交换机4接收分组518。这导致对判决框604的“是”回答、以及对判决框610的“是”回答,因为转发协议报头511将垫脚石SS2标识为目的地地址且协议路线是垫脚石隧道。结果,该流程图逻辑前进至框618,其中从该分组剥去垫脚石报头(即,垫脚石报头510)。该逻辑随后前进至框612,其中确定用于下一跳的转发端口。按照与分组抵达垫脚石SS1时类似的方式,该分组的转发路径的下一部分是经由垫脚石子路径503,如图5a中所示。该子路径具有分别对应于垫脚石SS2和SS3的源和目的地端点。
同前,在框616中,通过前置垫脚石报头518来形成新分组516,垫脚石报头518包括具有对应于垫脚石交换机SS2和SS3的源和目的地地址的转发协议报头519、以及隧道报头信息520,并且标识用于下一跳(在该实例中为交换机5)的虚拟端口。分组516随后被转发给交换机5,交换机5检查转发协议报头519并将其识别为常规IP报头,导致该分组被转发给对应于分组516的目的地地址的垫脚石SS3。
继续到图5d顶部和判决框604,在此阶段,由垫脚石SS3接收分组516。同前,垫脚石SS3检查转发协议报头519并将分组516标识为经由虚拟端口接收自前一垫脚石。结果,该流程图逻辑前进至框618,其剥去垫脚石隧道报头518,留下原始分组502。该逻辑随后前进至框612,以基于该分组的原始目的地地址(或者另行基于考虑该目的地地址的分组分类)执行在垫脚石SS3的转发表中查找下一跳。这次,下一跳不涉及垫脚石子路径的一部分,并且因此交换石SS3简单地以常规方式经由所标识的物理端口转发原始分组502以到达交换机6,如框620中的操作所描绘的。
此时,原始分组502到达交换机6,交换机6随后以常规方式将该分组转发给目的地计算机D,从而完成转发序列。从目的地计算机D的观点而言,原始分组502已简单地以常规方式转发,并且计算机D的联网逻辑不知晓或甚至没考虑实际路由路径包括了一个或多个垫脚石子路径。
流管理、复用和隧穿
根据一些实施例的附加方面,提供垫脚石交换机上的资源以促进垫脚石交换机对之间的隧穿子路径上的流管理和话务复用。图7a-7c中示出说明针对垫脚石子路径实现的流管理、复用和隧穿的各方面的示例性配置。图7a描绘了垫脚石SS1与SS2之间的子路径,其经过一个或多个之间交换机700,如交换机1和2所描绘的。垫脚石SS1包括5个流队列缓冲器FQ1-FQ5,并且垫脚石SS2包括6个流队列缓冲器FQ1-FQ6。如图7b中所示,垫脚石SS1与SS2之间存在数个所管理流,其中相应的分组被缓冲在所描绘的流队列缓冲器中,并且其中线段的宽度被用于表示该流所消耗的相对带宽部分。每个所管理流由线末端的缓冲器标识,例如流FQ1-FQ1、FQ1-FQ2、FQ3-FQ3等。还应注意,发送垫脚石上的流队列与接收垫脚石上的流队列之间不需要1:1关系。
如图7c中所示,垫脚石SS1与SS2之间的各个流作为单个流隧穿通过中间交换机1和2。可任选地,这些流可使用多个隧道来传送,这些隧道各自隧穿一组流。作为又一选项,所选流可使用经过其他中间交换机(未示出)的路线在一对垫脚石之间隧穿。
在一个实施例中,利用垫脚石的流按以下方式操作。分组使用包含诸如“当前垫脚石SS1”、“下一垫脚石SS2”和(那两个垫脚石SS1-SS2之间的流的)序列号之类的信息的报头从一个垫脚石隧穿至另一个垫脚石,如上所述。可任选地,报头可包括该流的流Id和相关联序列号。在一些实施例中,每个垫脚石保持某个数目的缓冲器用于流,潜在地具有正使用该垫脚石的服务的每个流(S(源)-D(目的地))都具有缓冲器池的粒度。出于简化起见,将其描述为每一(S,D)对都具有单独池,但是潜在地数个流可一起成块地进入一个池,其缺点在于如果该池的所有缓冲器都充满了,则该流的更多分组不能被该垫脚石接受。在一些实施例中,如果垫脚石不具有用于新流(或新类的流)的资源,则其针对某个流(新流,或者基于优先级或某个其他准则为现有流)放弃垫脚石服务。
垫脚石SS2针对使用从SS1到SS2的垫脚石服务的每个流类保持缓冲器池。1和2之间的中间交换机不知晓所有流在SS1与SS2之间复用。中间交换机可使用任一种传统技术;它们可丢弃分组(在此情形中,垫脚石服务将仍是有益的,因为重传将来自先前垫脚石而非完全来自源端点的),或者它们可以对SS1-SS2流进行回压,这相比于传统回压将是有益的,因为将存在便宜的(非垫脚石)中间交换机能为垫脚石流保留缓冲器池的少数足够的流。
利用该技术,在SS1-SS2垫脚石链路上复用的较慢流不会妨碍共享SS1-SS2链路的其他流的进度。由于垫脚石SS1和SS2具有足够的缓冲器资源来保持用于(使用其服务的)大量流类的缓冲器,因此它们可针对这些流类中的每一者采用个体流管理技术。例如,在一个实施例中,实现基于信用的流控制方案,其中源垫脚石交换机(例如,SS1)不向目的地垫脚石(例如,SS2)发送该流类的分组,除非SS1知道SS2处存在用于该流类的缓冲器。在一个实施例中,可实现信用-流方案,其中发送垫脚石交换机将对应于给定流的分组乐观地转发给接收垫脚石交换机,接收垫脚石交换机将该分组缓冲在相应的流队列中。如果该流队列开始变满,则接收垫脚石交换机可发送具有分配流信用准予的垫脚石报头的分组,其实质上是说“你(发送方)被分配再发送n个分组,但在我向你发送另一流信用准予之前不能发送更多分组。”流信用准予的粒度(即,大小)可因实现参数而变化,诸如流的数量、话务量(相对于转发吞吐量)、流的动态本质等。例如,可作出用于n个分组的给定流信用准予(例如,100个分组、1000个分组等)。
图8示出可用来支持基于信用的流控制方案和以下描述的其他流控制方案的示例性垫脚石隧道报头800。垫脚石报头800包括转发协议报头802、隧道报头信息字段804、以及隧道报头任选字段806。如以上所讨论的,转发协议报头将对应于用于在给定类型的网络中转发分组的类型的分组报头,诸如但不限于用于采用基于IP的转发的网络的IP报头。出于简化起见,本文未提供个体类型的转发协议报头的细节,因为这些是本领域技术人员众所周知的。示例性隧道报头信息字段包括隧道流序列号、任选的流ID和流序列号、ACK字段位、信用字段位、拒绝字段位、暂停字段位、以及恢复字段位。这些字段仅仅是示例性的,因为不同实施例可采用不同的、附加的、或更少类型的字段。隧道报头任选字段806被用来描绘按照与其他网络协议所使用的类似的方式将隧道报头的一部分分配给一个或多个任选字段。可任选地,针对隧道流信息字段804描绘的一个或多个字段可包括扩展字段或伴随字段。例如,在现有的流信用准予场景中,该准予的分组数量可编码在信用字段中,其中非空值的存在指示分组报头与流信用准予相关联。可任选地,信用位可被用于指示隧道报头的目的,并且该准予的分组数目可被包括在伴随字段(未示出)中或在对应于隧道报头任选字段806的分组部分中。
作为另一流控制选项,垫脚石SS1以循环方式轮流为每个流类发送分组。如果特定流类已超出其在垫脚石SS2处的配额,则SS2拒绝该分组,并且垫脚石SS1将在下一轮重传它。垫脚石拒绝分组报头800a的示例在图8a中示出。在该实施例中,拒绝字段位被设为T(如粗体拒绝所指示的),并且隧道报头选项字段被用于列出已被拒绝的分组的序列号(在该示例中为分组6、14、18和26)。响应于发送垫脚石得到关于已被拒绝的分组的序列号的通知,并且将尝试重发那些分组。在一个实施例中,响应于接收到分组已被拒绝的通知,使用新的隧道流序列号来重发该分组。
作为使用常规循环方案的替换方案,可采用加权循环方案,其中在每一轮期间,所选流被分配附加分组。例如,消耗较高带宽和/或具有较大(相对)缓冲器分配的流可每轮被分配多个分组,而较低带宽/缓冲器流可被分配单个分组。当然,每轮分配给每个流的分组数量可以是某个数目m,而非一次分配单个分组(或m乘以加权值)。
作为另一选项,可实现暂停-恢复方案。在此办法下,垫脚石SS1轮流(例如,循环或加权循环)为每个流传送分组,并且如果特定流接近其配额,则SS2为那一个流发送“暂停”,并且SS1将在使用SS1-SS2隧道的其他流之间复用,直至SS2为SS2暂停了的流发送“恢复”。传达暂停和恢复的报头可具有与垫脚石隧道报头800类似的配置,其中在适用的情况下暂停和恢复字段位被置位。
信用或暂停-恢复办法的一种替换办法是采用乐观式流管理,其中允许分组被丢弃。例如,针对给定流的缓冲器利用可能波动,导致在瞬间峰值负载的情况下分组被丢弃。在该乐观式办法下,分组被丢弃的频率或百分比较低,并且因此损失的相关联带宽相对较低。该乐观式办法相对于信用或暂停-恢复办法而言还可节省带宽,因为从目的地垫脚石向源垫脚石发回的用于促进流管理的分组利用可减少。
采用流复用和隧穿的逐跳垫脚石服务的使用在适用话务条件下提供了显著的性能优势。例如,从中间交换机S1和S2的观点而言,通过它们转发的大部分或所有话务可被分类为单个流(即,流SS1-SS2)或少量流(具有不同服务类的SS1-SS2流)。结果,并非划分可用缓冲器资源以支持相当大量的流,缓冲器资源可一起汇成池作为单个缓冲器或几个缓冲器。此办法的益处在于,交换机可更好地利用其缓冲器资源而不必丢弃分组或实现回压操作来减少其缓冲器的填充水平。
结合前述流管理、复用、和隧穿办法,垫脚石可个体地管理其流,其中在按需基础上向所选流应用回压以管理通过中间交换机的复用流的分组处理吞吐量。例如,尽管垫脚石SS1和SS2之间的交换机可能对SS1-SS2流进行流控制,但它们不需要用于每个复用流的资源;由SS1来公平地在复用流之间共享SS1-SS2隧道的带宽。如果一个复用流较慢,则它不会妨碍其他复用流的进度;该单个(S,D)流可由垫脚石SS2回压并由垫脚石SS1保持。
一些网络协议共有的特征是分组递送验证。如以上所讨论的,在诸如TCP之类的协议中,递送验证是经由从目的地端点向源端点发回的ACK消息来促成的。同样如以上所讨论的,用于转发没有到达其目的地的分组的任何带宽对于该分组在被丢弃或丢失之前经过的路线部分是有损失的。
通过使用垫脚石和隧穿链路促成的另一优势在于与递送确认有关的性能改善。如同诸如TCP之类的递送确认协议一样,如果垫脚石(例如,SS1和SS2)之间的交换机丢失分组(由于比特错误或由于拥塞丢失),则该分组由SS1(有效源端点)保持并由SS1重传,直至SS2(有效目的地端点)接受它。
在一些实施例中,递送确认是经由垫脚石报头中包含的信息来促成的。例如,垫脚石隧道报头信息字段804中的ACK字段位可被用来确认对一个或多个分组的递送,其中在伴随字段中或在隧道报头任选字段806中的字段中提供该分组的序列号。另外,可通过使用流ID和流序列号在流基础上实现递送确认。
在一个实施例中,对复用流作为整体(例如,垫脚石之间的复用分组流)采用隧道流序列号。在此办法的一个实施例中,当源垫脚石由于流的分组被拒绝而重传流的分组时,它将与其首次被传送时具有不同的序列号。例如,假设垫脚石SS1乐观地轮流发送每个流的分组,而不知道垫脚石SS2是否将具有缓冲器空间用于该流。SS2发回ACK,其具有如“序列号17-37被接收和接受。序列号38被接收但没有缓冲器空间用于该流。序列号39-51被接收和接受。序列号52看起来丢失。序列号53-57被接收和接受。序列号58被接收但没有缓冲器空间用于该流”之类的信息。当对应于序列号38的分组被重传时,用于该复用流的序列号可前进到比如说序列号79,在这种情形中,重传的分组将具有序列号79。
除了前述流控制办法,可实现其他流控制技术。例如,在一个实施例中,实现提前流控制。例如,SS2告知SS1“直至我们之间的序列号17,我具有3个分组的空间用于流1、7个分组的空间用于流2、0个分组的空间用于流3……”。这种类型的信息可在垫脚石分组的有效载荷中传达,其中报头将标识该分组的目的(例如,提前流控制)。此外,还可实现混合办法。例如,在一个实施例中,即使SS2没有明确说存在用于该流的信用、或者如果SS2给SS1的上一个信用报告指示它将没有缓冲器空间,也允许SS1向SS2发送。如果SS1是过度乐观,则SS2将拒绝它。但是也有可能的是,在给定从SS2到SS1的信息有延迟的情况下,缓冲器空间可能是可用的。
如可以容易观察到的,在与利用由垫脚石执行的递送验证的逐跳办法相比时,在常规分组转发下由于分组丢弃/丢失造成的带宽损失减少。首先,考虑各对垫脚石之间的路径包括隧穿子路径。如果在垫脚石之间实现递送验证机制,则该路线中将需要重新经过(重发丢弃或丢失分组)的最长部分将在一对垫脚石之间。另外,由于垫脚石具有更大的缓冲器资源,因此分组丢弃的发生显著减少。此外,在可由垫脚石实现的流管理和复用方案下,垫脚石之间的中间常规交换机上的分组/流管理负担也可显著减少,因为只需要管理单个或少数流。
垫脚石交换机的网络拓扑发现和配置
部署采用垫脚石交换机的网络的一方面是垫脚石交换机的网络拓扑发现和相关联配置。如以上所讨论的,垫脚石交换机可在网络架构中的两个单独分层级别处实现——第一级对应于用作常规交换机,而第二级对应于用作垫脚石交换机。根据这两个级别处的各方面的实现,可采用各种技术来发现每一级别处的网络拓扑并配置垫脚石交换机,以使得它知晓每一级别处的网络拓扑。
在一个实施例中,使用常规技术(诸如经由一个或多个广告方案或使用中央管理器等)来确定该网络在这两个分层级别中的每一级别处的节点和链路结构。例如,垫脚石交换机可使用链路状态路由协议与对等交换机交换配置分组(由此向另一个交换机广告其配置),其中这些交换机的链路和节点配置信息在该网络中传播。这是常规交换机用来确定网络拓扑的技术,并且类似技术可由垫脚石交换机用来促成第一级别处的配置。链路状态路由协议技术可被扩展成支持交换第二级别处的配置信息,由此使得垫脚石交换机的配置和能力可供其他垫脚石交换机使用。净结果是,垫脚石具有该网络架构在第一和第二分层级别中的每一级别处的“视图”。
在一个实施例中,垫脚石交换机基于两个分层级别处的网络拓扑来构建和维护转发表。例如,这可使用统一转发表或针对每个级别的单独转发表来执行。通常情况下,如果实现为统一转发表,则两个分层级别的转发数据可以在逻辑上分开。选择使用哪个转发表(或转发表的部分)将基于是否将对给定分组使用垫脚石转发。
示例性垫脚石交换机硬件架构
图9和10分别示出说明在垫脚石交换机的一个实施例中采用的组件的交换机900和交换线路卡1000。交换机900包括底座902,其中多个交换线路卡1000安装在相应的槽中。出于简化起见,图10中所示的交换线路卡1000被描绘为具有相同的配置;然而,本领域技术人员将认识到,在同一交换机底座中可采用具有不同配置的线路卡。
如图10中所示,交换线路卡1000包括主板1002,其上经由插孔连接安装或以其他方式耦合多个组件,包括一个或多个处理器1004和存储器模块1006。还示出耦合至主板1002的大容量存储设备1008和子板1010。大容量存储设备1008通常可包括硬盘驱动器或固态驱动器。子板1010例示各种类型的板或模块,其可耦合至主板1002以提供辅助功能,并且是可任选的。主板1002进一步包括连接器1012,在交换线路卡安装在其槽中时,连接器1012耦合至交换机底座902中的背板(未示出)。背板被配置成使得交换线路卡能与彼此以及与交换机中的其他设施通信。交换线路卡1000还包括用于耦合至网络链路的各种连接器,诸如由RJ-45连接器1014和可任选的连接器1016和1018所描绘的。
本文所公开的垫脚石交换机的实施例所实现的操作和逻辑通常可经由指令(诸如软件和/或固件指令)来实现、在处理器1004或交换线路卡1000上的其他处理组件或逻辑中的一者或多者上执行。在各种实施例中,处理器1004可包括通用处理器,包括单核和多核处理器,或者可包括专用处理器,诸如配置成使用流水线架构来促成分组处理的网络处理器。
交换机900说明在大型网络中实现的垫脚石的垫脚石交换机配置。然而,这不作为限定,因为具有更简化配置的交换机装置可实现在其他类型的网络中,诸如以太网局域网(LAN)和广域网(WAN)。另外,垫脚石交换机可实现在其他类型的网络中,包括但不限于Infiniband网络、以及采用标准化或专有网络协议的存储网络。例如,此类交换机装置通常将包括类似于关于交换线路卡1000所示的组件,交换线路卡1000说明垫脚石交换机装置的一个实施例。因此,独立垫脚石交换机可包括主板,其上可安装或以其他方式可操作地耦合各种组件,包括一个或多个处理器、存储器、存储设备、输入和输出端口,其中存储设备存储被配置成由一个或多个处理器执行以促成垫脚石操作的指令。
虽然参考特定实现方式描述了一些实施例,但根据一些实施例,其他实现方式也是可能的。另外,附图中所示的和/或本文描述的元件或其它特征的配置和/或顺序不需要以所示和所描述的特定方式安排。根据某些实施例很多其它配置也是可能的。
在附图中示出的每个系统中,在一些情况下的元件可分别具有相同附图标记或不同的附图标记,以暗示所表示的元件可能不同和/或相似。然而,元件是足够灵活的以具有不同的实现并与本文所示或所描述的系统中的部分或全部一起操作。附图中所示的各元件可以相同或不同。将哪个称为第一元件以及将哪个称为第二元件是任意的。
在说明书和权利要求书中,可使用术语“耦合”和“连接”及其衍生词。应当理解,这些术语并不旨在作为彼此的同义词。相反,在具体实施例中,“连接的”用于指示两个或更多个要素彼此直接物理或电接触。“耦合的”可表示两个或更多个元件直接物理或电接触。然而,“耦合的”也可表示两个或更多个元件并未彼此直接接触,但是仍然彼此协作、彼此相互作用。
实施例是本发明的实现或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”或“其它实施例”的引用表示结合这些实施例描述的特定特征、结构或特性被包括在本发明的至少一些实施例中,而不一定在所有的实施例中。各处出现的“实施例”、“一个实施例”或“一些实施例”不一定都指相同的实施例。
并非本文中描述和示出的所有组件、特征、结构、特性等等都需要被包括在特定实施例或多个实施例中。例如,如果说明书陈述“可”、“可能”、“可以”或“能够”包括组件、特征、结构或特性,则不一定包括该特定组件、特征、结构或特性。如果说明书或权利要求书提到“一”或“一个”元件,则这并不意味着仅有一个该元件。如果说明书或权利要求书引用“附加”元素,则不排除有一个以上的附加元素。
如上所讨论的,可通过对应软件和/或固件组件及应用(诸如由网络交换机上的处理器所执行的软件或固件)来促成本文中实施例的各方面。因此,本发明的实施例可用作或支持在某种形式的处理核(诸如,计算机的CPU、多核处理器的一个或多个核)上执行的软件程序、软件模块、固件和/或分布式软件,在处理器或核上运行或以其它方式在机器可读介质上或内实现或达成的虚拟机。机器可读介质包括用于存储或传送机器(例如,计算机)可读形式的信息的任何机制。例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质,以及闪存设备等。
以上对本发明的所示出实施例的描述,包括在摘要中所描述的,并非旨在是详尽的或将本发明限于所公开的精确形式。尽管为了说明目的,本文描述了本发明的具体实施例以及示例,但是如相关领域技术人员所理解的,各种可能的等效修改也落在本发明的范围内。
可以根据上面的详细描述对本发明进行这些修改。所附权利要求中所使用的术语不应该被理解为将本发明限制于说明书和附图中所公开的特定实施例。相反,本文的范围完全由所附权利要求来确定,权利要求根据权利要求解释的所建立原则来解释。

Claims (28)

1.一种方法,包括:
在包括第一类型的交换机的第一交换机处接收具有原始格式的分组,所述原始格式包括对应于网络转发协议的原始分组报头,所述原始分组报头包括用于目的地端点设备的目的地地址,所述目的地端点设备通信地耦合至一包括多个第一类型的交换机和多个第二类型的交换机的网络;
确定从第一交换机到所述目的地端点设备的路线,所述路线通过第一交换机与包括第一类型的交换机的第二交换机之间的子路径来转发,所述子路径包括所述第一和第二交换机之间的包括第二类型的交换机的至少一个中间交换机;
向所述原始分组格式前置第二分组报头以形成新分组,所述第二分组报头包括对应于第一交换机的地址的源地址和对应于第二交换机的地址的目的地地址,所述第二分组报头具有对应于所述网络转发协议的格式;
经由耦合在第一交换机与沿所述子路径的第一中间交换机之间的链路从第一交换机向第一中间交换机转发所述新分组,
在第一交换机处接收已从第三交换机沿第二子路径转发给第一交换机的第二分组,所述分组包括被第三交换机所前置的隧道报头,所述第三交换机包括第一类型的交换机;以及
从第二分组剥去所述隧道报头,
其中第一类型的交换机比第二类型的交换机具有更大的存储器容量,并且第一类型的交换机采用促成第一类型的交换机之间的子路径的错误恢复的可靠协议,
其中第二分组报头包括隧道报头,所述隧道报头包括含网络转发协议报头的第一部分和含一个或多个报头信息字段的第二部分,所述一个或多个报头信息字段含有包括序列号、流ID、流序列号、ACK、信用、拒绝、暂停以及恢复中的一个或多个在内数据。
2.如权利要求1所述的方法,其特征在于,所述一个或多个报头信息字段被包括在所述新分组的分组有效载荷中。
3.如权利要求1所述的方法,其特征在于,还包括:
在第一交换机处接收多个分组;
将所述多个分组中的分组指派给相关联的分组流,所述相关联的分组流包括多个流类;以及
将与所述多个分组流相关联的分组作为经由第一和第二交换机之间的所述子路径隧穿的复用流进行转发。
4.如权利要求3所述的方法,其特征在于,还包括:
在第一交换机处接收来自第二交换机的与分组流相关联的第一分组流信用准予;
将对应于所述分组流信用准予且与所述分组流相关联的数个分组经由所述子路径从第一交换机转发给第二交换机;以及
等待直至接收到与所述分组流相关联的第二分组流信用准予后转发与所述分组流相关联的附加分组。
5.如权利要求3所述的方法,其特征在于,还包括:
使用基于循环的方案从第一交换机经由所述子路径向第二交换机发送分组,其中每个流类针对每一轮被分配一时机;
在第一交换机处接收来自第二交换机的关于给定流的分组已被拒绝的指示;以及
在所述给定流的后续时机期间重发被拒绝的分组。
6.如权利要求3所述的方法,其特征在于,还包括:
使用基于循环的方案从第一交换机经由所述子路径向第二交换机发送分组,其中每个流类针对每一轮被分配一时机;
在第一交换机处接收来自第二交换机的暂停请求,所述暂停请求用于请求暂停发送与所述暂停请求中所标识的流相对应的分组;以及
跳过所述暂停请求中所标识的流的时机,直至已从第二交换机接收到对所述流的恢复请求。
7.如权利要求3所述的方法,其特征在于,还包括乐观地从第一交换机经由所述隧穿子路径向第二交换机转发分组。
8.如权利要求3所述的方法,其特征在于,还包括:
接收来自第二交换机的对个体流类实施回压的指示;以及
在第一交换机处扼制所述个体流类的传输速率。
9.如权利要求1所述的方法,其特征在于,第一和第二交换机被配置成促成确认分组递送,所述方法还包括:
从第一交换机向第二交换机发送分组;
引发超时时段,在所述超时时段期间未在第一交换机处接收到指示所述分组已在第二交换机处被成功接收的ACK分组;以及
从第一交换机向第二交换机重发所述分组,
其中所述ACK分组包括报头,所述报头包括ACK标记。
10.如权利要求1所述的方法,其特征在于,还包括:
从第一交换机向第二交换机发送分组序列;
在第一交换机处接收从第二交换机发送的单个分组,所述单个分组指示所述序列中被第二交换机拒绝的一个或多个分组的序列号;以及
用新序列号重发所述序列中被拒绝的所述一个或多个分组。
11.如权利要求1所述的方法,其特征在于,所述网络转发协议包括网际协议。
12.如权利要求1所述的方法,其特征在于,所述网络转发协议包括以太网协议。
13.如权利要求1所述的方法,其特征在于,所述网络转发协议包括Infiniband协议。
14.一种交换机装置,被配置成实现为网络中的包括第一类型的交换机的第一交换机,所述网络包括多个第一类型的交换机,所述多个第一类型的交换机穿插在多个不包括第一类型的交换机的诸个中间网络元件之间,所述交换机装置包括:
主板,具有操作地耦合到它的多个组件,包括
至少一个处理器;
存储器;
多个输入和输出端口;以及
其中存储有指令的至少一个存储设备,所述指令被配置成由所述至少一个处理器执行以使得所述交换机装置当在所述网络中操作时执行操作,包括:
在输入端口处接收具有包括第一分组报头的原始格式的分组,所述第一分组报头对应于由所述网络采用的网络转发协议且包括与通信地耦合至所述网络的目的地端点设备相对应的目的地地址;
确定从所述交换机装置到所述目的地端点设备的通过所述交换机装置与包括第一类型的交换机的第二交换机之间的子路径转发的路线,所述子路径包括所述交换机装置和第二交换机之间的至少一个中间网络元件;
向所述原始分组格式前置第二分组报头以形成新分组,所述第二分组报头包括对应于所述交换机装置的地址的源地址,并包括对应于第二交换机的地址的目的地地址,其中所述第二分组报头的格式的至少一部分对应于所述网络转发协议的分组报头;
从所述交换机装置经由输出端口向沿所述子路径的第一中间网络元件转发所述新分组;
接收第二分组;
确定第二分组已从包括第一类型的交换机的第三交换机沿第二子路径被转发给所述交换机装置,所述分组包括被第三交换机前置的隧道报头;以及
从第二分组剥去所述隧道报头,
其中第二分组报头包括隧道报头,所述隧道报头包括含网络转发协议报头的第一部分和含一个或多个报头信息字段的第二部分,所述一个或多个报头信息字段含有包括序列号、流ID、流序列号、ACK、信用、拒绝、暂停以及恢复中的一个或多个在内数据。
15.如权利要求14所述的交换机装置,其特征在于,所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
在一个或多个输入端口处接收多个分组;
将所述多个分组中的分组指派给相关联的分组流,所述相关联的分组流包括多个流类;以及
将与所述多个分组流相关联的分组作为经由所述交换机装置和第二交换机之间的所述子路径所隧穿的复用流进行转发。
16.如权利要求15所述的交换机装置,其特征在于,所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
接收来自第二交换机的与分组流相关联的第一分组流信用准予;
将对应于所述分组流信用准予且与所述分组流相关联的数个分组经由所述子路径从所述交换机装置转发给第二交换机;以及
等待直至接收到与所述分组流相关联的第二分组流信用准予后转发与所述分组流相关联的附加分组。
17.如权利要求15所述的交换机装置,其特征在于,所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
使用基于循环的方案经由所述子路径向第二交换机发送分组,其中每个流类针对每一轮被分配一时机;
接收来自第二交换机的关于给定分组流的分组已被拒绝的指示;以及
在所述给定分组流的后续时机期间重发被拒绝的分组。
18.如权利要求15所述的交换机装置,其特征在于,所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
使用基于循环的方案经由所述子路径向第二交换机发送分组,其中每个流类针对每一轮被分配一时机;
接收来自第二交换机的暂停请求,所述暂停请求用于请求暂停发送与所述暂停请求中所标识的流相对应的分组;以及
跳过所述暂停请求中所标识的分组流的时机,直至已从第二交换机接收到对所述分组流的恢复请求。
19.如权利要求15所述的交换机装置,其特征在于,所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括机乐观地从所述交换机装置经由所述隧穿子路径向第二交换机转发分组。
20.如权利要求15所述的交换机装置,其特征在于,所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
接收来自第二交换机的对个体流类实施回压的指示;以及
在所述交换机装置处扼制所述个体流类的传输速率。
21.如权利要求14所述的交换机装置,其特征在于,所述交换机装置和第二交换机被配置成促成确认分组递送,且其中所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
经由所述子路径向第二交换机发送分组;
引发超时时段,在所述超时时段期间未在所述交换机装置处接收到指示所述分组已在第二交换机处被成功接收的ACK分组;以及
经由所述子路径向第二交换机重发所述分组,
其中所述ACK分组包括隧道报头,所述隧道报头包括ACK标记。
22.如权利要求15所述的交换机装置,其特征在于,所述交换机装置和第二交换机被配置成促成确认分组递送,且其中所述指令在由所述至少一个处理器执行时被配置成执行进一步操作,包括:
从所述交换机装置向第二交换机发送分组序列;
在所述交换机装置处接收从第二交换机发送的单个分组,所述单个分组指示所述序列中被第二交换机拒绝的一个或多个分组的序列号;以及
用新序列号重发所述序列中被拒绝的所述一个或多个分组。
23.一种网络,包括经由多条链路互连的多个网络交换机,所述网络交换机包括多个第一类型的交换机,所述多个第一类型的交换机穿插在不是第一类型的交换机的诸个交换机之间,其中第一类型的交换机被配置成针对每一跳以带有错误恢复的逐跳方式经由沿各对第一类型的交换机之间的隧穿子路径的复用流来路由分组,其中所述隧穿子路径包括经过各对第一类型的交换机之间的不包括第一类型的交换机的一个或多个交换机的路由路径,
在第一交换机处接收已从第三交换机沿第二子路径转发给第一交换机的第二分组,所述分组包括被第三交换机所前置的隧道报头,所述第三交换机包括第一类型的交换机;以及
从第二分组剥去所述隧道报头,
其中第二分组报头包括隧道报头,所述隧道报头包括含网络转发协议报头的第一部分和含一个或多个报头信息字段的第二部分,所述一个或多个报头信息字段含有包括序列号、流ID、流序列号、ACK、信用、拒绝、暂停以及恢复中的一个或多个在内数据。
24.如权利要求23所述的网络,其特征在于,第一类型的交换机中的至少一部分被配置成对沿所选子路径的所选分组流采用基于信用的流控制,其中对于基于信用的流,源第一类型的交换机除非接收到对流类的流信用准予否则不向目的地第一类型的交换机发送所述流类的分组。
25.如权利要求23所述的网络,其特征在于,第一类型的交换机中的至少一部分被配置成针对沿第一类型的交换机之间的子路径所复用的一个或多个分组流促成暂停-恢复流管理方案。
26.如权利要求23所述的网络,其特征在于,第一类型的交换机中的至少一部分被配置成使用隧道消息中的确认标记来促成从包括第一类型的交换机的第一交换机经由子路径发送给包括第一类型的交换机的第二交换机的分组的确认递送。
27.一种具有代码的计算机可读存储介质,所述代码在被执行时使机器执行如权利要求1-13的任一项所述的方法。
28.一种计算机系统,包括用于执行如权利要求1-13的任一项所述的方法的装置。
CN201380004571.6A 2012-11-19 2013-06-20 多跳错误恢复 Active CN104205942B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/681,136 US9088511B2 (en) 2012-11-19 2012-11-19 Multi-hop error recovery
US13/681,136 2012-11-19
PCT/US2013/046693 WO2014077905A1 (en) 2012-11-19 2013-06-20 Multi-hop error recovery

Publications (2)

Publication Number Publication Date
CN104205942A CN104205942A (zh) 2014-12-10
CN104205942B true CN104205942B (zh) 2018-11-06

Family

ID=50727883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380004571.6A Active CN104205942B (zh) 2012-11-19 2013-06-20 多跳错误恢复

Country Status (4)

Country Link
US (1) US9088511B2 (zh)
CN (1) CN104205942B (zh)
DE (1) DE112013000398B4 (zh)
WO (1) WO2014077905A1 (zh)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9280546B2 (en) 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9288120B2 (en) * 2013-07-19 2016-03-15 Dell Products L.P. Data center bridging network configuration and management
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) * 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9716660B2 (en) * 2014-12-11 2017-07-25 Intel Corporation Hierarchical enforcement of service flow quotas
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10659476B2 (en) * 2016-09-12 2020-05-19 Architecture Technology Corporation Transparent bridge for monitoring crypto-partitioned wide-area network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10425358B2 (en) 2016-09-29 2019-09-24 International Business Machines Corporation Network switch architecture supporting multiple simultaneous collective operations
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US11249808B2 (en) * 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
JP6830608B2 (ja) * 2017-10-31 2021-02-17 村田機械株式会社 通信システム、被制御機器、及び、通信システムの制御方法
US11765037B2 (en) * 2020-08-19 2023-09-19 Hewlett Packard Enterprise Development Lp Method and system for facilitating high availability in a multi-fabric system
US11463366B1 (en) 2020-09-22 2022-10-04 Architecture Technology Corporation Autonomous network optimization using network templates

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771601B1 (en) * 2000-01-31 2004-08-03 International Business Machines Corporation Network switch having source port queuing and methods, systems and computer program products for flow level congestion control suitable for use with a network switch having source port queuing
CN101631065A (zh) * 2008-07-16 2010-01-20 华为技术有限公司 一种无线多跳网络拥塞的控制方法和装置
US7912003B2 (en) * 2007-06-27 2011-03-22 Microsoft Corporation Multipath forwarding algorithms using network coding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631896A (en) 1994-07-18 1997-05-20 Nippon Telegraph And Telephone Corporation Hitless path switching apparatus and method
JP3103298B2 (ja) 1995-07-17 2000-10-30 株式会社東芝 Atmスイッチのアドレス生成回路
EP1281256A2 (en) * 2000-05-06 2003-02-05 Coreexpress, Inc. Method and system for sending information on an extranet
US7039851B2 (en) 2002-06-08 2006-05-02 Axiowave Networks, Inc. Method of and apparatus for correcting errors in data packet flow streams as in closed ring sequential address generators and the like without data flow stream interruption
EP1566039A1 (de) 2002-11-29 2005-08-24 Siemens Aktiengesellschaft Verfahren zur umleitung von datenpaketen bei lokal erkannten linkausfällen
US7760636B1 (en) * 2004-01-26 2010-07-20 Cisco Technology, Inc. Retransmission and flow control in a logical network tunnel
US8553537B2 (en) 2007-11-09 2013-10-08 International Business Machines Corporation Session-less load balancing of client traffic across servers in a server group
EP2230803A1 (en) * 2009-03-16 2010-09-22 BRITISH TELECOMMUNICATIONS public limited company Path characterisation in networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771601B1 (en) * 2000-01-31 2004-08-03 International Business Machines Corporation Network switch having source port queuing and methods, systems and computer program products for flow level congestion control suitable for use with a network switch having source port queuing
US7912003B2 (en) * 2007-06-27 2011-03-22 Microsoft Corporation Multipath forwarding algorithms using network coding
CN101631065A (zh) * 2008-07-16 2010-01-20 华为技术有限公司 一种无线多跳网络拥塞的控制方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《Efficient Fair Queuing Using Deficit Round-Robin》;M.Shreedhar and George Varghese;《IEEE ACM TRANSACTIONS ON NETWORKING》;19960630;第4卷(第3期);全文 *

Also Published As

Publication number Publication date
CN104205942A (zh) 2014-12-10
US9088511B2 (en) 2015-07-21
DE112013000398T5 (de) 2014-09-04
US20140140348A1 (en) 2014-05-22
DE112013000398B4 (de) 2022-06-15
WO2014077905A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
CN104205942B (zh) 多跳错误恢复
US11412076B2 (en) Network access node virtual fabrics configured dynamically over an underlay network
US20200169513A1 (en) Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
US20210320820A1 (en) Fabric control protocol for large-scale multi-stage data center networks
CN102084627B (zh) 通过网络传输数据的方法
US10135721B2 (en) Apparatus and method for synchronized networks
CN103746931B (zh) 一种用于计算机网络的方法、网络设备及服务卡
CN101258719B (zh) 延长InfiniBand网络的实时到达的方法
US6510135B1 (en) Flow-level demultiplexing within routers
US20060098573A1 (en) System and method for the virtual aggregation of network links
CN112311675B (zh) 用于分段路由(sr)路径的保证型带宽
CN102090030A (zh) 通过网络传输数据的方法
US20050185621A1 (en) Systems and methods for parallel communication
Dreibholz et al. Transmission scheduling optimizations for concurrent multipath transfer
US20080137669A1 (en) Network of nodes
CN103618678A (zh) 自适应多链路聚合的方法、装置及系统
CN106254202A (zh) 一种基于喷泉码的多路并行传输方法以及装置
CN102571571A (zh) 一种应用于时延容忍网络的多层次有效路由方法
CN105052092A (zh) 具有孤立端口的多节点虚拟交换机中的路径优化
CN101124754A (zh) 用于并行通信的系统和方法
Lessmann Resource optimization in realistic mobile backhaul networks
Speidel et al. Topologies and Coding Considerations for the Provision of Network-Coded Services via Shared Satellite Channels
JP2001007862A (ja) 通信負荷分散方法
Fathima et al. Effective buffer management and scheduling of bundles in delay tolerant networks with finite buffers
KR20140002040A (ko) 라우터에서의 통신들을 관리하는 기술

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant