CN101888331A - 用于提供单播分组的快速重新路由的方法和装置 - Google Patents
用于提供单播分组的快速重新路由的方法和装置 Download PDFInfo
- Publication number
- CN101888331A CN101888331A CN2010101781895A CN201010178189A CN101888331A CN 101888331 A CN101888331 A CN 101888331A CN 2010101781895 A CN2010101781895 A CN 2010101781895A CN 201010178189 A CN201010178189 A CN 201010178189A CN 101888331 A CN101888331 A CN 101888331A
- Authority
- CN
- China
- Prior art keywords
- port
- fdu
- grouping
- state
- destination
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 37
- 238000004891 communication Methods 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/557—Error correction, e.g. fault recovery or fault tolerance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及用于提供网络元件内的单播分组到与多链路中继线路相关联的可用端口的快速重新路由的方法、装置和计算机程序产品。由网络元件的数据平面内的转发数据单元FDU接收单播分组,并且确定分组的目的地。在由FDU维护的端口状态表内执行查找,以便针对所述目的地确定处于UP状态的可用本地端口,并且如果没有本地端口处于UP状态,则在端口状态表中执行查找,以便针对所述目的地确定处于UP状态的可用远程端口。如果不能为单播分组确定处于UP状态的端口,则丢弃该分组。
Description
与相关申请的交叉引用
本申请要求2009年5月13日提交的美国临时专利申请No.61/178,016的益处。本申请还涉及与本申请同日提交的代理卷号为AVA10-17、题目为“Method And Apparatus For Maintaining PortState Tables In A Forwarding Plane Of A Network Element (用于维护网络元件的转发平面内的端口状态表的方法和装置)”的申请。通过引用将上面指出的每个申请的教导和公开完整结合在此。
背景技术
数据通信网络可以包括各种计算机、服务器、节点、路由器、交换机、集线器和代理服务器,以及被耦接和配置为彼此传递数据的其它设备。此处这些设备被称为“网络元件”,并且可以在网络上提供各种网络资源。通过在网络上的通信链路在网络元件之间传递协议数据单元(诸如,分组、信元、帧或段),通过数据通信网络传递数据。特定的协议数据单元可被多个网络元件处理,并且当它在网络上在它的源和它的目的地之间传播时跨越多个通信链路。诸如计算机、电话、蜂窝电话、个人数字助理和其它类型的消费电子产品的主机连接到通信网络,并且通过通信网络传输/接收数据,并且因此,是由通信网络提供的通信服务的用户。
网络元件通常被实现为具有控制网络元件的操作的控制平面(control plane)以及处理流过网络的通信量的数据平面(data plane)。数据平面通常具有线卡集合,所述线卡具有连接到网络上的链路的端口。数据在特定端口处被接收、在数据平面内被交换,并且在一个或多个其它端口处被输出到网络的其它链路上。为了能够迅速地处理数据,通常以硬件实现数据平面,从而使用硬件查找等执行关于如何处理数据的所有判决。
在端口失效的情况下,流过该端口的通信量应当被转向为从替换端口流出,以便能够通过网络恢复连接性。为了最小化对该网络元件所处理的通信量的影响,例如,为了最小化停机时间(downtime)和分组丢失,通信量重新路由越快发生越好。优选地,能够使得通信量在10毫秒(ms)内失效恢复到替换端口是有利的。优选地,通信量应当散布在其余端口上,而不是从失效端口全部移到特定的指定替换端口,以便防止指定的替换端口的通信量过载。
端口可能出于许多原因而失效,包括线卡故障、连接到端口的链路的故障(例如,线路中断)、远端线卡故障等。术语多链路中继线路(或称“多链路聚合主干”)(multi-link trunk,MLT)、链路聚合组(Link Aggregation Group,LAG)和逻辑端口是同义词,并且这些术语被互换地使用。类似地,网络元件内的内部转发数据路径可能失效,这可能导致一个端口或一组端口表现出失效,或者沿着到端口的外部对等端点的逻辑/虚拟连接可能存在某些其它故障。存在端口可能失效的多种原因。
在端口失效的情况下,去往该端口的通信量应当被转向为从替换端口流出,以便能够通过网络恢复连接性。为了最小化对该网络元件所处理的通信量的影响,例如,为了最小化停机时间(down-time)和分组丢失,通信量重新路由越快发生越好。优选地,能够使得通信量在10毫秒(ms)内失效恢复到替换端口是有利的。优选地,在LAG或MLT的情况下,通信量应当散布在其余端口上,而不是从失效端口全部移到特定的指定替换端口,以便防止指定的替换端口的通信量过载。
发明内容
诸如上面解释的常规机制具有各种缺点。一个这种缺点是常规网络元件从故障中恢复所花费的时间量。恢复花费的时间量越长,性能延迟(包括更多的丢弃分组)以及其它端口克服失效端口的加载越长。当前的解决方案不提供有效地检测端口故障并且分发端口状态,以便使得能够在分组/信元/帧转发过程中进行快速重新路由的全面的方法。这些解决方案通常过多地使用管理和/或控制平面软件以便处理一个故障子集。其方法导致较长的网络停机时间和较多的分组丢失。
本发明的实施例显著地克服了这些缺点,并且提供了用于提供在网络元件的转发平面内维护端口状态表的方法和装置的机制和技术。这对最小化网络停机时间(downtime)和分组丢失是至关重要的,并且提供网络设备内在这种故障发生时的无缝故障恢复(failover)。本发明允许在节点集群内非常快速和有效地检测和分发端口状态。这种机制使得快速路径能够在出现这些故障时执行无缝的快速重新路由,而不需要来自管理和/或控制平面软件的动态辅助。
其它实施例包括其上具有计算机可读代码的计算机可读介质,所述计算机可读代码用于提供网络元件内的单播分组到与多链路中继线路相关联的可用端口的快速重新路由。所述计算机可读介质包括用于由网络元件的数据平面内的FDU接收单播分组,并且确定该分组的目的地的指令。该计算机可读介质还包括在由FDU维护的端口状态表内执行查找,以针对目的地确定处于UP(上行)状态的可用本地端口,并且如果没有本地端口处于UP状态,则在端口状态表内执行查找,以便针对该目的地确定处于UP状态的可用远程端口的指令。附加地,该计算机可读介质包括用于当为该单播分组确定了处于UP状态的端口时转发该分组,并且当不能为该单播分组确定处于UP状态的端口时丢弃该分组的指令。
其它实施例包括一种计算机化设备,其配置为处理此处作为本发明的实施例所公开的所有方法操作。在这些实施例中,该计算机化设备包括存储器系统、处理器、连接这些组件的互连机构中的通信接口。所述存储器系统被编码有用于如此处所解释的提供网络元件内的单播分组到与多链路中继线路相关联的可用端口的快速重新路由的处理,当在处理器上被实施时(例如,当执行时),该处理在所述计算机化设备内按照此处的解释操作,以便执行此处作为本发明的实施例所解释的所有方法实施例和操作。因此,执行或被编程为执行此处解释的处理的任意计算机化设备是本发明的实施例。
此处公开的本发明的其它布置包括执行上面概述和下面详细公开的方法实施例的步骤和操作的软件程序。更具体地,计算机程序产品是具有计算机可读介质的实施例,所述计算机可读介质包括编码在其上的计算机程序逻辑,当在计算机化设备内被执行时,提供相关联的操作,用于提供此处解释的网络元件内的单播分组到与多链路中继线路相关联的可用端口的快速重新路由。当在具有计算系统的至少一个处理器上被执行时,所述计算机程序逻辑使得所述处理器执行此处作为本发明的实施例指出的操作(例如,方法)。本发明的这些布置通常被作为布置或编码在计算机可读介质上的软件、代码和/或其它数据结构提供,所述计算机可读介质诸如是光学介质(例如,CD-ROM)、软盘或硬盘或其它介质,诸如一个或多个ROM或RAM或PROM芯片内的固件或微代码,或作为专用集成电路(ASIC),或作为一个或多个模块中的可下载的软件映像、共享库等。软件或固件或其它这些配置可被安装在计算机化设备上,以便使得计算机化设备内的一个或多个处理器执行此处作为本发明的实施例解释的技术。在计算机化设备的集合中,诸如,在一组数据通信设备或其它实体内操作的软件处理也可以提供本发明的系统。本发明的系统可分布在若干数据通信设备上的许多软件处理内,或所有处理可以在一组少数的专用计算机上或单独在一个计算机上运行。
应当理解,本发明的实施例可被严格地表达为,诸如,数据通信设备内的软件程序、软件和硬件、或是仅为硬件和/或电路。如此处解释的本发明的特征可被用于数据通信设备和/或用于这种设备的软件系统,所述设备诸如是由新泽西州林克罗夫特市的Avaya公司制造的设备。
注意,本公开中讨论的每个不同特征、技术、配置等可被独立地或组合地执行。因此,本发明可以许多不同方式被表达。
还要注意,此处的概述部分未指出本公开或所提出的发明的每个实施例和/或增加的新颖方面。而是,该概述仅提供对不同实施例和相对于常规技术的相应新颖点的初步讨论。对于本发明的附加细节、元素和/或可能的设想(改变),读者需要参考下面进一步讨论的本公开的具体实施方式部分和相应附图。
附图说明
如附图中所示,从下面对本发明的优选实施例的更具体的描述中,将明了上面的内容,其中类似的附图标记在所有不同视图中指示相同部分。这些图不必是成比例的,而是重点在于示出本发明的原理。
图1是示出了组织节点集群的第一个例子的功能方框图;
图2是示出了组织节点集群的另一个例子的功能方框图;
图3是示出了组织节点集群的另一个例子的功能方框图;
图4是示出了组织节点集群的另一个例子的功能方框图;
图5是示出了组织节点集群的另一个例子的功能方框图;
图6是示出了组织节点集群的另一个例子的功能方框图;
图7是示例通信网络的功能方框图;
图8是示例网络元件的功能方框图;
图9是可用于诸如图8的网络元件的网络元件的示例线卡的功能方框图;
图10是可用于诸如图9的线卡的线卡的示例端口数据库的功能方框图;
图11是示例网络元件集群的功能方框图,示出了节点集群内的数据路径组件之间的端口状态信息流;
图12示出了根据本发明的实施例操作的网络元件的示例计算机系统体系结构;
图13包括根据本发明的实施例,用于为独立端口执行单播分组的快速重新路由的方法的流程图;和
图14包括根据本发明的实施例,用于为多链路中继线路端口执行单播分组的快速重新路由的方法的流程图。
具体实施方式
网络元件处理数据的方式随时间而发展。例如,两个或更多个物理链路可以在一组网络元件之间延伸,并且被总地用作MLT或LAG。图1示出了由多个链路24a-d连接的两个网络元件(网络元件1和网络元件2)的例子,多个链路24a-d被分组,从而形成多链路中继线路22。具体地,MLT22中的每个链路24a-d可被任意一个网络元件用于向另一个网络元件转发数据。因此,如果网络元件1具有要发送到网络元件2的数据(例如,帧/分组),网络元件1可以从MLT22中选择链路24a-d中的一个,并且在该链路上向网络元件2传输分组。
图2示出了可以互连网络元件的另一种示例方式。具体地,在这个例子中,网络元件1和网络元件2被交换机间中继线路(Inter-SwitchTrunk,IST)26互连,IST26可以是单个链路或它自己可以是多链路中继线路。当多链路中继线路的链路被物理地连接到两个不同的网络元件时,MLT被称为分离的多链路中继线路(Split Multi-Link Trunk,SMLT)。每个网络元件1和2可以具有连接到网络元件3的一个或多个链路,这些链路被组成一组从而形成SMLT23。因此,如果网络元件1具有要发送到网络元件3的数据(例如,帧/分组),网络元件1可以选择连接它的SMLT链路之一,或可以在与交换机间中继线路26相关联的链路之一上传输分组,以便使得网络元件2能够在其与SMLT相关联的链路之一上将数据转发到网络元件3。
图3示出了另一个例子,其中网络元件1不具有连接到SMLT23的任何链路,但是被IST25和26连接到具有被连接到与SMLT相关联的链路的端口的两个其它网络元件(网络元件2和网络元件3)。在这种情况下,如果网络元件1具有要在SMLT上发送的数据,它将选择IST链路之一(注意,每个IST链路自身可以是SMLT),并且将数据转发到网络元件2或3。IST可以是物理的并且在两个网络元件之间直接延伸,或可以是逻辑的并且通过一个或多个中间网络元件在隧道上延伸。
图4示出了另一个例子,其中网络元件1还参与到SMLT23内。在这种情况下,如果网络元件1具有要发送的数据,它可以在其与SMLT23相关联的链路之一上转发数据,或可以在与IST25或26中的一个相关联的链路之一上转发数据,以便使得能够在SMLT23上转发数据。
图5和6示出了在正方形SMLT布置中互连网络元件的另一种方式。在图5所示的布置中,4个网络元件在正方形布置中通过IST25-28互连,并且在图6中,4个网络元件在网状布置中通过IST25-28互连。IST可以是物理的并且在两个网络元件之间直接延伸,或可以是逻辑的并且通过一个或多个中间网络元件在隧道上延伸。
虽然示出了可以互连网络设备的几种示例方式,但是还存在互连网络元件集群的其它方法,并且这组示例的互连体系结构不旨在是无遗漏的。因此,这些例子仅旨在提供互连网络元件的少数方法的代表性例子。一组网络元件在此处被称为集群。
图7示出了示例的通信网络10,其中订户12连接到边缘交换机14。边缘交换机14连接到核心交换机16,核心交换机16通过网络在链路18上转发数据。这些交换机中的每一个可以是物理的路由交换机(rouswitchter)或可以是被连接在一起以便作为集群操作的多个设备。每个链路18可以是MLT,或在路由器/交换机被实现为多个物理设备的情况下,可以是SMLT。从网络路由的角度来看,分组可有多种方式穿过网络。例如,在图7中,边缘交换机A能够通过核心交换机C和D将分组传输到边缘交换机B,或可替换地,可以能够通过核心交换机E和F传输分组。可以使用网络层路由协议确定用于传输分组的路径。
如上所述,取决于互连网络元件的方式,网络元件可以有许多方法转发帧/分组,以便使得帧/分组能够到达其目的地。如此处使用的,术语“集群”用于指在网络层提供节点级弹跳的一个或多个节点。因此,在图1中,网络元件1是一个集群;在图2中,网络元件1和2是一个集群,并且在图3和4中,网络元件1、2和3是一个集群,并且在图5和6中,网络元件1-4是一个集群。如上所述,可以有组织集群中的节点的其它方式。
集群节点之间的逻辑连接此处被称为交换机间中继线路(IST)。IST可以是集群中从一个网络元件延伸到相邻网络元件的物理链路,或可以是逻辑链路,该逻辑链路是穿过集群内的一个或多个中间网络元件的隧道。从非IST端口接收分组的节点被称为本地节点。对于接收到的分组来说,集群内的所有其它节点被称为远程节点。
两个或更多个链路可以组成一组,以便形成多链路中继线路(MLT)。给每个MLT分配一个MLT组ID(MLT-ID),它是集群内的全局值,并且在集群节点中是唯一的。其所有端口成员仅在一个节点上的MLT被称为常规MLT组。其端口成员在两个或更多个节点上的MLT组被称为分离的MLT或SMLT组。
当逻辑端口被实现为MLT或SMLT时,实际上存在能够将分组转发到其在网络上的下一跳的多个物理端口。因此,如果MLT/SMLT的端口之一失效,使得分组被转发到其余端口之一,从而分组可以穿过网络而不是被丢弃是有利的。类似地,不是为MLT/SMLT中的每个端口指定主端口和后备端口,在MLT/SMLT的其余端口上负载共享分组,从而分组可被分布在处于UP的其余端口上是有利的。根据一个实施例,这个处理以硬件实现,从而快速通路(数据平面)可以自动适应单个和多个端口失效,并且自动地以公平的方式在其余端口上重定向分组通信量。
图8示出了可被用作图1-6中任意一个所示的任意网络元件的示例网络元件20的功能方框图。在图8所示的例子中,网络元件包括控制平面31和数据平面32。控制平面具有一个或多个CPU34,并且一般地运行控制处理,诸如路由处理、管理处理等。控制平面对数据平面编程,以便指示数据平面如何在网络上转发数据。
可以使用许多不同的体系结构构造数据平面32,并且图8所示的例子仅是一个这种体系结构的一个例子。在图8所示的例子中,数据平面包括多个线卡36,每个线卡实现连接到网络中的链路的多个物理端口。线卡在这个实施例中被交换机结构40互连,虽然在其它实施例中,线卡可以直接互连,并且以分布式方式执行交换功能。
如图9所示,每个线卡36包括物理地连接到网络上的链路的多个端口38。线卡还包括处理从附接端口接收的分组的一个或多个功能单元42。如此处使用的,处理在进入和外出两个方向上来自附接端口的分组并且进行转发判决的功能单元被称为转发数据路径单元或FDU42。线卡还可以包括CPU44,CPU44与控制平面交互,以便使得控制平面能够将指令编程到FDU42内,并且可选择地编程到线卡上的其它组件内,从而FDU42在网络上正确地处理数据。CPU44还周期地检查FDU42和线卡中的其它组件的状态,以便检测何时出现故障。
每个FDU42维护端口状态数据库46。这个端口状态数据库46维护物理链路状态和其本地和所有远程端口的连接状态。如图10所示,端口状态数据库46包括两个表-本地端口数据表48和远程端口数据表50。本地端口数据表48维护属于本地节点的端口状态,并且远程端口数据表50维护属于集群中的远程端口的端口状态。在MLT组的情况下,FDU将本地节点上的MLT端口成员保持在本地表内,并且将所有其它远程节点上的端口成员保持在远程表内。
当FDU接收到分组时,需要寻找MLT(或SMLT)内的处于UP的端口,以便将分组转发到其在网络上的目的地。如上所述,在MLT上的所有端口都为本地的情况下,FDU将必须确定本地端口中的哪一些处于UP状态,从而不会试图在处于DOWN(下行)的端口上转发分组。类似地,当与MLT相关联的端口不全是本地(例如,SMLT)时,FDU将必须选择与SMLT相关联的分离的物理网络元件上的并且具有UP状态的端口。
根据一个实施例,每个FDU维护它用于维护集群内的每个端口的状态的端口状态数据库46。该数据库维护物理链路状态和其本地和所有远程端口的连接状态。该数据库包括两个表-即,本地表48和远程表50。本地表维护属于本地节点上的所有FDU的端口状态,并且远程表维护集群内的所有远程节点上的所有端口的端口状态。在MLT组的情况下,FDU在本地表内保持本地节点上的MLT端口成员的状态,并且在远程表内保持所有其它远程节点上的MLT端口成员的状态。本地表还维护所有IST端口的状态。当接收到分组时,FDU将使用端口状态数据库确定处于UP的用于该分组的端口,并且将分组转发到该端口以便在网络上输出。
由于端口状态数据库46被FDU42用于确定转发判决,保持更新端口状态表是重要的,从而它包含关于每个端口的状态的当前信息。由于每个线卡具有一个或多个FDU,需要每个FDU(在每个线卡内)与本地网络元件内的所有其它线卡内的FDU以及集群内的其它网络元件内的所有其它FDU同步。
在一个实施例中,每个线卡维护心跳计时器。每次心跳计时器中的一个特定计时器超时时,心跳引擎54产生一个心跳分组,并且将该心跳分组发送到该线卡上的本地FDU42。心跳分组携带有线卡上的所有端口的本地物理链路状态,以便将该线卡上的端口的状态通知给本地FDU。该分组指出全局端口ID(GPID)和网络元件ID。FDU使用这个状态更新其本地端口状态数据库。FDU还将该分组转发到本地节点内的所有其它FDU以及集群内的其它节点上的所有其它FDU。每个FDU使用该分组携带的端口状态来更新其端口状态数据库。
除了维护与收集/报告其自己的端口状态信息相关联的计时器之外,每个线卡/FDU还将维护与本地节点内的所有其它FDU以及集群内的其它节点上的所有其它FDU相关联的一组计时器。每个FDU期望从每个其它本地和远程FDU接收周期心跳分组。因此,为每个FDU(为本地网络元件上的每个FDU和集群内的每个远程网络元件上的每个FDU)维护本地接收计时器。如果相应的接收计时器超时,则检测到FDU故障(本地或远程)。在接收计时器超时之前未接收到心跳分组的情况下,与该FDU相关联的每个端口将被设置为DOWN,从而不向与该FDU相关联的端口发送分组,直到它恢复为止。
心跳分组允许FDU彼此传递状态信息,并且允许每个FDU了解数据平面内的所有端口的状态。如下所述,这允许数据平面自动地针对端口故障进行调整,从而数据可被重定向到处于UP的端口并且远离处于DOWN的端口。所有这些在没有控制平面的干预的情况下发生,并且因此不将特定端口/线卡的故障通知给控制平面。为了使得控制平面能够得知数据平面故障,管理/控制处理器44周期地向其本地FDU42注入心跳分组或从其本地FDU42提取心跳分组。每个注入的心跳分组完整地循环通过目标FDU和相关联的端口,并且然后被提取回到处理器。管理心跳分组穿过进入和外出数据路径两者内的所有功能块。每次控制处理器注入这种属性的管理心跳分组,它开始其相应的接收计时器。如果接收计时器超时,则控制处理器检测到线卡故障。处理器使用这种信息设置将被传递到控制平面30的系统警报。因此,控制平面可以得知数据平面故障。然而,由于数据平面具有自我复原机制以便适应端口故障并且从而重定向通信量,重定向通信量不需要涉及控制平面,并且因此将故障通知控制平面对于通过网络元件的通信量的恢复不是至关重要的。
每个FDU还使用心跳分组确定其端口的状态,在一个实施例中,每个FDU为配置在逻辑/虚拟连接内的每个附接端口维护一对计时器。计时器之一用于产生将在所述连接上被发送的心跳分组。另一个计时器(接收计时器)用于检测连接故障。如果来自该连接的其它端点的心跳分组未被及时接收,该计时器超时。FDU根据心跳分组的到达和接收计时器超时更新其端口状态表。
每个线卡上的每个FDU维护其自己的端口状态表46。这个表维护物理链路状态和其本地端口以及集群内的所有FDU的所有远程端口的连接状态。FDU使用接收到的心跳分组和计时器超时消息(由于连接超时或远程FDU故障)更新该表。该表被划分为两个部分:属于本地节点的端口状态和属于远程节点的端口状态。该端口状态表还维护MLT和SMLT组信息。转发逻辑使用该端口状态表执行下面更详细解释的快速重新路由。
图11示出了4个节点的集群内的端口状态分组的分发,其中黑色箭头表示端口状态分组到集群内的所有FDU的流动。如这个图中所示,产生包含与特定FDU相关联的每个端口的状态的分组1。以左上网络元件的左上线卡内的附图标记1示出这个分组。这个分组将被传递到FDU,从而FDU可以更新其端口状态数据库,以便反映其端口的当前状态。然后该分组将被传递到本地节点内的每个其它FDU(箭头2)。在一个实施例中,这可通过使得交换机结构将该分组广播到本地节点内的所有其它FDU实现。该分组还将被转发到集群内的其它节点(箭头3),从而端口状态可被分发(箭头4)到与集群内的每个节点相关联的每个FDU。当FDU接收到包含端口状态信息的分组时,它使用该信息更新其自己的端口状态数据库。这使得同步集群内所有FDU的端口状态数据库。
集群中可以存在若干网络元件,网络元件中可以存在多个FDU和可以存在由每个FDU支持的多个端口。为了使得每个节点能够保持追踪哪个FDU已经提供了状态分组,并且将特定端口状态分组与特定FDU相关联,可以实现编号方案。优选地,在集群范围内唯一地实现编号方案,从而可以唯一地标识集群内的每个FDU。在一个实施例中,端口状态分组携带关于其每个端口的信息。该分组将指出源节点ID和全局端口ID(GPID)。全局端口ID是使得可以在端口数据库内唯一地标识端口的全局唯一标识符(节点内全局唯一的)。
前面的消息描述FDU如何交换消息以便使得能够在数据路径内的端口之间同步端口状态。在操作中,这种端口状态信息将使得FDU能够为特定的数据分组选择可用端口,并且确信所选择的端口处于UP。当端口成为DOWN时,集群中的FDU将停止选择这些端口,而是选择与下行端口(down port)相关联的MLT/SMLT内的替换端口,以便用于处理该分组。因此,数据路径能够自动地适应端口故障、线卡故障等,以便将分组重新路由到可用的替换端口而不涉及控制平面。因此,可以在网络元件内和在网络元件的集群之间迅速地进行少于10ms的分组重新路由。
当FDU接收到数据分组时,它将读取端口ID、MLT-ID和散列函数,并且将这些值传递到端口状态数据库。端口状态数据库将首先搜索与MLT-ID相关联的并且处于UP的本地端口,并且然后搜索与该MLT相关联并且处于UP的远程端口。在一个实施例中,端口状态表被设计为卸载来自该FDU的端口选择处理。在这个实施例中,FDU将对端口的请求传递到端口状态表,并且端口状态表智能地实现该请求,以便返回保证处于UP的作为MLT/SMLT的一部分的端口,并且相对于远程端口优先使用本地端口。另外,在端口在远程节点上的情况下,端口状态表将检查以便寻找处于UP的IST端口,FDU可以在该端口上将分组转发到远程节点,从而远程节点可以在远程节点上转发分组。因此,端口状态表不仅确定是否存在可用的远程端口,而且还确定是否存在可用的IST端口,FDU可以使用该IST端口将分组传递到远程节点,以便在远程端口上进行转发。
图10示出了可用于卸载来自FDU的端口选择的实施例。在图10的实施例中,端口数据库包括数据库控制逻辑56,数据库控制逻辑56配置为从FDU接收端口选择请求,并且如果存在一个可用端口,则返回该可用端口。端口数据库可能需要对本地和远程端口表进行多个数据库访问操作/调用,以便确定将响应端口选择请求返回哪个端口。数据库控制逻辑,可选择地在FDU的控制下,控制这个处理的执行,以便自动执行选择端口的处理。
数据库控制逻辑可以硬件实现,并且在也以硬件实现的本地和远程表内执行数据访问。当端口失效时,该端口的状态(UP/DOWN)将被反映在端口状态表内。当FDB查找返回作为MLT/SMLT组的一部分的目的地时,FDU将通过数据库控制逻辑向端口状态表执行端口访问操作。因此,不是由FDU从FDB(以控制平面更新,并且因此,相对慢)确定端口,而是FDU使用FDB确定接收方,并且然后使用以硬件实现的端口数据库单独确定用于到达该接收方的端口。这使得能够基于端口的当前状态和MLT组ID动态地确定端口,从而可以为分组从相关联的(MLT)端口组中选择可用端口。这使得网络设备能够适应多个故障(多个端口/链路故障),并且通过将分组从下行端口重新路由到MLT内的保证处于UP的端口快速地进行适应调整。由于端口故障通知跨越集群内的多个网络设备,FDU可以将分组转发到不同节点上的另一个端口,从而可以用类似的方式实现网络设备内以及网络设备之间的端口选择。这使得不仅能够从仅具有本地端口的MLT内进行端口选择,而且使得能够在集群内的不同节点上实现的端口之间实现端口选择,从而可以动态地实现SMLT内的端口选择。另外,由于节点能够从与MLT/SMLT相关联的所有其它端口之间进行选择,来自下行端口的通信量可被散布/分布在MLT/SMLT的其余端口上,而不是被完全转移到特定的替换端口。类似地,可以适应多个端口故障和端口故障组合,而不中断通过节点集群的分组转发,这是由于当接收到分组时,端口状态数据库将能够查找处于UP的任何可用端口,并且返回任何可用端口的值以便由FDU使用。
图12是示出了计算机系统(FDU)110的示例体系结构的方框图,计算机系统(FDU)110执行、运行、解释、操作或以其他方式实施快速重新路由操作应用140-1和适用于解释此处公开的示例配置的快速重新路由操作处理140-2。如这个例子中所示,计算机系统110包括互连机构111,诸如耦接存储器系统112、处理器113、输入/输出接口114和通信接口115的数据总线或其它电路。通信接口115使得计算机系统110能够与网络(未示出)上的其它设备(即,其它计算机)通信。
存储器系统112是任意类型的计算机可读介质,并且在这个例子中,被编码有此处解释的快速重新路由操作应用140-1。快速重新路由操作应用140-1可被表达为软件代码,诸如支持根据此处描述的不同实施例的处理功能的数据和/或逻辑指令(例如,存储在存储器内或另一计算机可读介质诸如可移动盘上的代码)。在计算机系统110的操作过程中,处理器113通过互连111访问存储器系统112,以便启动、运行、执行、解释或以其他方式实施快速重新路由操作应用140-1的逻辑指令。以这种方式执行快速重新路由操作应用140-1产生快速重新路由操作处理140-2中的处理功能。换言之,快速重新路由操作处理140-2表示运行时在计算机化设备110内的处理器113之内或之上执行或实施的快速重新路由操作应用140-1的一个或多个部分或运行时实例(或整个快速重新路由操作应用140-1)。
注意,此处公开的示例配置包括快速重新路由操作应用140-1自身(即,为非执行或非运行逻辑指令和/或数据的形式)。快速重新路由操作应用140-1可被存储在计算机可读介质(诸如软盘)、硬盘、电子的、磁的、光学的或其它计算机可读介质上。快速重新路由操作应用140-1还可被存储在存储器系统112内,诸如在固件、只读存储器(ROM)内,或在这个例子中,作为可执行代码存储在,例如,随机存取存储器(RAM)内。除了这些实施例,还应当注意,此处的其它实施例包括快速重新路由操作应用140-1作为快速重新路由操作处理140-2在处理器113中的执行。本领域的技术人员应当理解,计算机系统110可以包括其它处理和/或软件和硬件组件,诸如这个例子中未示出的操作系统。
在操作过程中,计算机系统100的处理器113通过互连111访问存储器系统112,以便启动、运行、实施、解释或以其他方式执行快速重新路由应用140-1的逻辑指令。执行快速重新路由应用140-1产生快速重新路由处理140-2中的处理功能。换言之,快速重新路由处理140-2表示计算机系统100内的处理器113之内或之上执行的快速重新路由应用140-1的一个或多个部分(或整个应用)。
应当注意,除了快速重新路由处理140-2之外,此处的实施例包括快速重新路由应用140-1自身(即,非执行或非运行逻辑指令和/或数据)。快速重新路由应用140-1可被存储在计算机可读介质,诸如软盘、硬盘或光学介质上。快速重新路由应用140-1还可被存储在存储器类型的系统内,诸如在固件、只读存储器(ROM)内,或在这个例子中,作为可执行代码存储在存储器系统112内(例如,在随机存取存储器或RAM内)。
除了这些实施例,还应当注意,此处的其它实施例包括快速重新路由应用140-1作为快速重新路由处理140-2在处理器113中的执行。本领域的技术人员应当理解,计算机系统100可以包括其它处理和/或软件和硬件组件,诸如控制与计算机系统100相关联的硬件资源的分配和使用的操作系统。
图13和14中给出了当前公开的方法的特定实施例的流程图。此处矩形元素代表“处理块”,并且表示计算机软件指令或指令组。可替换地,处理块表示由功能等同电路,诸如,数字信号处理器电路或专用集成电路(ASIC)执行的步骤。这些流程图未给出任何特定编程语言的语法。而是这些流程图示出了本领域的技术人员构造电路或生产计算机软件以便执行根据本发明的所需处理所需要的功能信息。应当注意,未示出许多例程程序元素,诸如循环和变量的初始化以及对临时变量的使用。本领域的普通技术人员将会明了,除非此处另外指出,所描述的特定步骤序列仅是说明性的,并且可被改变而不脱离本发明的精神。因此,除非另外说明,下面描述的步骤不带有顺序含义,当可能时,这些步骤可以任何方便的或所希望的顺序执行。
图13示出了可被实现以便执行单播分组的快速重新路由的处理200的特定实施例。处理200以处理块202开始,处理块202说明以网络元件的数据平面内的FDU接收单播分组。
处理块204说明确定分组的目的地。在处理了接收到的单播分组之后,其转发目的地被解析为目的地端口。这可被FDU以方便的方式,例如,通过在转发数据库(用于以太网的过滤数据库)中执行查找来执行。
处理块206说明确定目的地端口是独立端口还是MTL组。如果FDU确定目的地端口是独立端口,FDU可以将该分组直接转发到目的地端口,或可以向数据库控制逻辑发送请求,以便确定目的地端口是否处于UP。
处理块208公开了在由FDU保持的端口状态表中执行查找,以便针对该目的地确定处于UP状态的可用本地端口,并且如果没有本地端口处于UP状态,则在端口状态表中执行查找,以便针对该目的地确定处于UP状态的可用远程端口。在接收到请求之后,数据库控制逻辑查询本地表,以便确定目的地端口的状态,并且将该状态返回FDU。
处理块210说明当为该单播分组确定了处于UP状态的端口时转发该分组,或当远程表中的所有端口成员都处于DOWN状态时丢弃该分组。如果目的地端口处于UP,FDU将该分组转发到该目的地端口。如果目的地端口不处于UP,FDU将丢弃该分组。注意,在这个实施例中,端口状态为UP或DOWN。
现在参考图14,示出了用于为MLT组执行单播分组的快速重新路由的处理300的流程图。处理300以处理块302开始,处理块302说明以网络元件的数据平面内的FDU接收单播分组。
处理块304说明确定分组的目的地。在处理了接收到的单播分组之后,其转发目的地被解析为目的地端口。
处理块306说明确定目的地端口是独立端口还是MTL组。在这个情况下,目的地端口是MLT端口成员。
处理块308公开了根据单播分组中所选择的字段产生散列值,以便确定MLT端口成员。处理块310说明使用MLT组ID和散列值确定处于UP状态的端口成员。MLT组ID(MLT-ID)和散列值将被传递到数据库控制逻辑,并且被数据库控制逻辑用于查询本地表,以便获得处于UP状态的端口成员。
处理块312说明确定本地表中的所有端口成员是否都处于下行,并且当所有端口成员处于下行时,从远程表中确定MLT端口。数据库控制逻辑优选地选择MLT内以该散列值标识的端口,以首先查询该端口的状态。如果与该散列值相关联的MLT端口处于UP,数据库控制逻辑将该端口的值返回FDU。如果该端口处于下行,数据库控制逻辑将访问本地数据库,以便确定与MLT相关联的其它端口中是否有一个端口处于UP。如果是的,它返回找到的处于UP的第一个本地端口的端口ID。
处理块314公开了为从远程表中选择的端口成员确定处于UP状态的IST端口成员。如果可以获得一个或多个远程端口,数据库逻辑将确定将被用于向与处于UP的远程端口相关联的远程网络元件转发分组的IST端口。然后。数据库控制逻辑以IST端口ID响应FDU。
处理块316说明确定针对远程端口没有IST端口成员处于UP状态,并且丢弃该分组。如果不可以获得IST端口成员,则将丢弃该分组。类似地,如果不可以获得远程端口,则丢弃该分组。
处理块318说明当为单播分组确定了处于UP状态的端口时转发分组,或当远程表中的所有端口成员都处于DOWN状态时丢弃该分组。如果目的地端口处于UP,FDU将该分组转发到该目的地端口。如果目的地端口不处于UP,FDU将丢弃该分组(110)。
可以理解,对“微处理器”和“处理器”的引用或“微处理器”和“处理器”包括可以在一个或多个独立和/或分布式环境中通信的一个或多个微处理器,并且因此被配置为通过有线或无线通信与其它处理器通信,其中这种一个或多个处理器可被配置为在可以是类似设备或不同设备的一个或多个处理器控制的设备上操作。因此,对这些术语“微处理器”或“处理器”的使用可被理解为包括中央处理单元、算数逻辑单元、专用集成电路(IC)和/或任务引擎,提供这些例子用于说明而不是作为限制。
另外,除非另外指明,对存储器的引用可以包括一个或多个处理器可读和可访问的存储器元件和/或组件,它们可以在以处理器控制的设备之内,在以处理器控制的设备之外,和/或可使用各种通信协议通过有线或无线网络被访问,并且除非另外指明,可被安排为包括外部和内部存储器设备的组合,其中基于应用,这些存储器可以是邻近的和/或分开的。因此,可以理解对数据库的引用包括一个或多个存储器联合体,其中这些引用可以包括商业上可获得的数据库产品(例如,SQL、Informix、Oracle)并且还有私有数据库,并且还可以包括用于关联存储器的其它结构,诸如链接、队列、图、树,提供这些结构用于说明而不是作为限制。
除非另外规定,对网络的引用可以包括一个或多个内联网和/或互联网以及虚拟网络。根据上述内容,此处对微处理器指令或微处理器可执行指令的引用可被理解为包括可编程硬件。
除非另外说明,对单词“大体上”的使用可被认为包括精确的关系、状态、布置、取向和/或其它特性,以及如本领域的技术人员所理解的对它们的偏离,所述偏离的程度以不会本质上影响公开的方法和系统为准。
在本发明的整个公开中,对修饰名词的冠词(“一个”)的使用可被理解为是出于方便而使用的,并且除非特别指出,包括一个或多于一个所修饰的名词。
除非此处另外规定,被描述为和/或以其他方式在图中被描绘为与其它元件、组件、模块和/或其部分通信、相关联和/或基于其它元件、组件、模块和/或其部分的元件、组件、模块和/或其部分可被理解为以直接和/或间接的方式与其它元件、组件、模块和/或其部分通信、相关联和/或基于其它元件、组件、模块和/或其部分。
虽然已经以特定实施例描述了方法和系统,所述方法和系统不限于此。显然根据上述教导可以明了许多修改和变形。本领域的技术人员可以做出对此处描述和说明的细节、材料和部件布置的许多附加改动。
已经描述了本发明的优选实施例,本领域的普通技术人员现在将会明了可以使用结合有这些概念的其它实施例。另外,被包括为本发明的一部分的软件可被包含在包括计算机可用介质的计算机程序产品内。例如,这种计算机可用介质可以包括其上存储有计算机可读程序代码段的可读存储器设备、诸如硬盘驱动器、CD-ROM、DVD-ROM或计算机盘。计算机可读介质还可以包括其上以数字或模拟信号承载有程序代码段的光学的、有线的或无线的通信链路。因此,本发明不应被局限于描述的实施例,而是仅由所附权利要求书的精神和范围限制。
Claims (10)
1.一种用于提供网络元件内的单播分组到与多链路中继线路(MLT)相关联的可用端口的快速重新路由的方法,所述方法包括下述步骤:
由网络元件的数据平面内的转发数据单元(FDU)接收单播分组;
确定所述分组的目的地;和
在由FDU维护的端口状态表内执行查找,以便针对所述目的地确定处于上行状态的可用本地端口,并且如果没有本地端口处于上行状态,则在端口状态表中执行查找,以便针对所述目的地确定处于上行状态的可用远程端口。
2.如权利要求1所述的方法,还包括当为所述单播分组确定了处于上行状态的端口时转发所述分组,或当不能为所述单播分组确定处于上行状态的端口时丢弃所述分组。
3.如权利要求1所述的方法,其中所述确定所述分组的目的地包括确定所述目的地端口是独立端口还是MLT组。
4.如权利要求3所述的方法,其中当所述目的地端口是MLT组时,则从所述单播分组中的所选择的字段产生散列值,以便确定MLT端口成员。
5.如权利要求4所述的方法,还包括使用所述MLT组ID和所述散列值确定处于上行状态的端口成员。
6.如权利要求5所述的方法,还包括确定是否本地表内的所有端口成员都处于下行,并且当所述所有端口成员都处于下行时,从远程表中确定MLT端口。
7.如权利要求6所述的方法,还包括为从所述远程表中选择的端口成员确定处于上行状态的IST端口成员。
8.如权利要求7所述的方法,还包括确定对于所述远程端口没有处于上行状态的IST端口成员,并且丢弃所述分组。
9.一种转发数据单元(FDU),包括:
存储器;
处理器;
通信接口;
耦接所述存储器、处理器和通信接口的互连机构;和
其中,所述存储器被编码有提供单播分组的快速重新路由的应用,当在处理器上被执行时,所述应用提供用于处理信息的处理,该处理使得FDU执行如下的操作:
由网络元件的数据平面内的所述FDU接收单播分组;
确定所述分组的目的地;和
在由FDU维护的端口状态表内执行查找,以便针对所述目的地确定处于上行状态的可用本地端口,并且如果没有本地端口处于上行状态,则在端口状态表中执行查找,以便针对所述目的地确定处于上行状态的可用远程端口。
10.如权利要求9所述的FDU,还包括当为所述单播分组确定了处于上行状态的端口时所述FDU转发所述分组,或当不能为所述单播分组确定处于上行状态的端口时丢弃所述分组。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17801609P | 2009-05-13 | 2009-05-13 | |
US61/178,016 | 2009-05-13 | ||
US12/772,482 US8385335B2 (en) | 2009-05-13 | 2010-05-03 | Method and apparatus for providing fast reroute of a unicast packet within a network element to an available port associated with a multi-link trunk |
US12/772,482 | 2010-05-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101888331A true CN101888331A (zh) | 2010-11-17 |
CN101888331B CN101888331B (zh) | 2014-12-03 |
Family
ID=42563101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010178189.5A Expired - Fee Related CN101888331B (zh) | 2009-05-13 | 2010-05-13 | 用于提供单播分组的快速重新路由的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8385335B2 (zh) |
EP (1) | EP2252014A1 (zh) |
CN (1) | CN101888331B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104823415A (zh) * | 2012-11-30 | 2015-08-05 | 思科技术公司 | 确定电信网络中的多播根节点 |
CN104869010A (zh) * | 2013-12-13 | 2015-08-26 | 马维尔以色列(M.I.S.L.)有限公司 | 保护切换 |
CN105122730A (zh) * | 2013-02-28 | 2015-12-02 | 戴尔产品有限公司 | 用于快速链路故障处理的系统和方法 |
CN106029885A (zh) * | 2014-02-10 | 2016-10-12 | 基因细胞生物系统有限公司 | 复合液体池(clc)介导的核酸文库制备装置及其使用方法 |
CN106411605A (zh) * | 2016-10-28 | 2017-02-15 | 北京奇虎科技有限公司 | 一种节点网络自组织方法、装置、服务器和系统 |
US11470038B1 (en) | 2020-05-19 | 2022-10-11 | Marvell Asia Pte Ltd. | Line side multiplexers with protection switching |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401026B2 (en) * | 2009-05-18 | 2013-03-19 | Cisco Technology, Inc. | Achieving about an equal number of active links across chassis in a virtual port-channel environment |
US8694625B2 (en) | 2010-09-10 | 2014-04-08 | International Business Machines Corporation | Selective registration for remote event notifications in processing node clusters |
US20120066694A1 (en) | 2010-09-10 | 2012-03-15 | International Business Machines Corporation | Event overflow handling by coalescing and updating previously-queued event notification |
US8984119B2 (en) | 2010-11-05 | 2015-03-17 | International Business Machines Corporation | Changing an event identifier of a transient event in an event notification system |
US8634328B2 (en) * | 2010-12-03 | 2014-01-21 | International Business Machines Corporation | Endpoint-to-endpoint communications status monitoring |
US8433760B2 (en) | 2010-12-03 | 2013-04-30 | International Business Machines Corporation | Inter-node communication scheme for node status sharing |
US8667126B2 (en) | 2010-12-03 | 2014-03-04 | International Business Machines Corporation | Dynamic rate heartbeating for inter-node status updating |
US8634330B2 (en) | 2011-04-04 | 2014-01-21 | International Business Machines Corporation | Inter-cluster communications technique for event and health status communications |
US8634417B2 (en) * | 2011-06-02 | 2014-01-21 | Avaya Inc. | Method and apparatus providing selective flow redistribution across Multi Link Trunk/Link Aggregation Group (MLT/LAG) after port member failure and recovery |
US20130003549A1 (en) * | 2011-06-30 | 2013-01-03 | Broadcom Corporation | Resilient Hashing for Load Balancing of Traffic Flows |
EP2744159B1 (en) * | 2011-08-11 | 2020-02-12 | Nec Corporation | Openflow packet forwarding system, control apparatus, packet forwarding method and program |
CN102447639B (zh) * | 2012-01-17 | 2016-03-09 | 华为技术有限公司 | 一种策略路由方法及装置 |
JP5776617B2 (ja) * | 2012-04-16 | 2015-09-09 | 日立金属株式会社 | シャーシ型スイッチ |
US9179197B2 (en) * | 2012-10-10 | 2015-11-03 | Sonos, Inc. | Methods and apparatus for multicast optimization |
US9246748B2 (en) * | 2014-03-26 | 2016-01-26 | Mitsubishi Electric Research Laboratories, Inc. | Optical channel data unit switch with distributed control |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072531A1 (en) * | 1999-05-24 | 2000-11-30 | Broadcom Corporation | Apparatus and method for distributing a load across a trunk group |
CN1809022A (zh) * | 2005-01-17 | 2006-07-26 | 华为技术有限公司 | 以太网设备堆叠方法及其系统 |
CN1874314A (zh) * | 2005-06-02 | 2006-12-06 | 美国博通公司 | 一种从中继组中选择故障转移端口的网络设备及方法 |
US20080279106A1 (en) * | 2003-10-03 | 2008-11-13 | 3Com Corporation | Switching fabrics and control protocols for them |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185214B1 (en) * | 1997-09-11 | 2001-02-06 | 3Com Corporation | Use of code vectors for frame forwarding in a bridge/router |
US6856627B2 (en) * | 1999-01-15 | 2005-02-15 | Cisco Technology, Inc. | Method for routing information over a network |
US6731599B1 (en) * | 1999-07-01 | 2004-05-04 | Nortel Networks Limited | Automatic load sharing-trunking |
US6888792B2 (en) * | 2000-12-07 | 2005-05-03 | Intel Corporation | Technique to provide automatic failover for channel-based communications |
US7076594B2 (en) * | 2000-12-22 | 2006-07-11 | Cisco Technology, Inc. | Apparatus and method for preventing one way connectivity loops in a computer network |
JP3967141B2 (ja) * | 2002-01-28 | 2007-08-29 | 富士通株式会社 | フレーム中継システムおよびフレーム中継装置 |
US7606927B2 (en) * | 2003-08-27 | 2009-10-20 | Bbn Technologies Corp | Systems and methods for forwarding data units in a communications network |
JP4428184B2 (ja) * | 2004-10-04 | 2010-03-10 | 株式会社日立製作所 | 検索テーブル高速切替方式およびパケット転送装置 |
WO2007038856A1 (en) * | 2005-10-05 | 2007-04-12 | Nortel Networks Limited | Provider link state bridging |
US7593400B2 (en) * | 2006-05-19 | 2009-09-22 | Corrigent Systems Ltd. | MAC address learning in a distributed bridge |
JP5086585B2 (ja) * | 2006-08-11 | 2012-11-28 | アラクサラネットワークス株式会社 | ネットワーク中継装置 |
JP4908969B2 (ja) * | 2006-08-25 | 2012-04-04 | アラクサラネットワークス株式会社 | パケットを中継する装置および方法 |
JP4923908B2 (ja) * | 2006-09-21 | 2012-04-25 | 富士通株式会社 | パケット転送装置およびパケット転送方法 |
US7710963B1 (en) * | 2007-04-05 | 2010-05-04 | Juniper Networks, Inc. | Binary trees for multicast traffic |
US7826348B2 (en) * | 2007-04-26 | 2010-11-02 | Cisco Technology, Inc. | Multicast fast reroute |
JP4862743B2 (ja) * | 2007-05-17 | 2012-01-25 | 日本電気株式会社 | ノード、通信方法およびノード用プログラム |
KR100994127B1 (ko) * | 2008-08-28 | 2010-11-15 | 한국전자통신연구원 | 이더넷 스위치의 성능 향상을 위한 패킷 처리 방법 |
US8102848B1 (en) * | 2008-11-19 | 2012-01-24 | Force10 Networks, Inc. | Multicast high availability enhancements for faster convergence |
US8165122B2 (en) * | 2009-05-26 | 2012-04-24 | Alcatel Lucent | System and method for converting unicast client requests into multicast client requests |
US8472438B2 (en) * | 2010-04-23 | 2013-06-25 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network |
-
2010
- 2010-05-03 US US12/772,482 patent/US8385335B2/en active Active
- 2010-05-13 CN CN201010178189.5A patent/CN101888331B/zh not_active Expired - Fee Related
- 2010-05-13 EP EP10162774A patent/EP2252014A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072531A1 (en) * | 1999-05-24 | 2000-11-30 | Broadcom Corporation | Apparatus and method for distributing a load across a trunk group |
US20080279106A1 (en) * | 2003-10-03 | 2008-11-13 | 3Com Corporation | Switching fabrics and control protocols for them |
CN1809022A (zh) * | 2005-01-17 | 2006-07-26 | 华为技术有限公司 | 以太网设备堆叠方法及其系统 |
CN1874314A (zh) * | 2005-06-02 | 2006-12-06 | 美国博通公司 | 一种从中继组中选择故障转移端口的网络设备及方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104823415A (zh) * | 2012-11-30 | 2015-08-05 | 思科技术公司 | 确定电信网络中的多播根节点 |
CN104823415B (zh) * | 2012-11-30 | 2017-12-01 | 思科技术公司 | 确定电信网络中的多播根节点 |
CN105122730A (zh) * | 2013-02-28 | 2015-12-02 | 戴尔产品有限公司 | 用于快速链路故障处理的系统和方法 |
CN105122730B (zh) * | 2013-02-28 | 2019-01-04 | 戴尔产品有限公司 | 用于快速链路故障处理的系统和方法 |
CN104869010A (zh) * | 2013-12-13 | 2015-08-26 | 马维尔以色列(M.I.S.L.)有限公司 | 保护切换 |
US10511473B2 (en) | 2013-12-13 | 2019-12-17 | Marvell Israel (M.I.S.L) Ltd. | Protection switching |
CN104869010B (zh) * | 2013-12-13 | 2021-06-18 | 马维尔以色列(M.I.S.L.)有限公司 | 保护切换 |
CN106029885A (zh) * | 2014-02-10 | 2016-10-12 | 基因细胞生物系统有限公司 | 复合液体池(clc)介导的核酸文库制备装置及其使用方法 |
CN106411605A (zh) * | 2016-10-28 | 2017-02-15 | 北京奇虎科技有限公司 | 一种节点网络自组织方法、装置、服务器和系统 |
CN106411605B (zh) * | 2016-10-28 | 2019-05-31 | 北京奇虎科技有限公司 | 一种节点网络自组织方法、装置、服务器和系统 |
US11470038B1 (en) | 2020-05-19 | 2022-10-11 | Marvell Asia Pte Ltd. | Line side multiplexers with protection switching |
US11909708B2 (en) | 2020-05-19 | 2024-02-20 | Marvell Asia Pte Ltd | Protection switching device with link selective switching between host devices for maintenance of communication connection |
Also Published As
Publication number | Publication date |
---|---|
US20100290469A1 (en) | 2010-11-18 |
US8385335B2 (en) | 2013-02-26 |
EP2252014A1 (en) | 2010-11-17 |
CN101888331B (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101888331B (zh) | 用于提供单播分组的快速重新路由的方法和装置 | |
CN101888330A (zh) | 用于提供分组的快速重新路由的方法和装置 | |
CN101888332A (zh) | 用于提供快速重新路由的方法和转发数据单元 | |
CN101888307B (zh) | 用于本地实现端口选择的方法和装置 | |
US8619605B2 (en) | Method and apparatus for maintaining port state tables in a forwarding plane of a network element | |
US8438307B2 (en) | Method and device of load-sharing in IRF stack | |
CN104011687B (zh) | 用于网络环境中的服务器的无中断管理的系统和方法 | |
CN100505692C (zh) | 高性能路由器bgp路由协议分布并行实现方法 | |
CN102006184B (zh) | 堆叠链路管理方法、装置及网络设备 | |
CN102347905B (zh) | 一种网络设备及其转发信息更新方法 | |
WO2013017017A1 (en) | Load balancing in link aggregation | |
CN101931587A (zh) | 虚拟集群路由方法及系统 | |
CN101588304A (zh) | 一种vrrp的实现方法和设备 | |
EP3213441B1 (en) | Redundancy for port extender chains | |
US9509523B2 (en) | Method for protection switching in ethernet ring network | |
WO2016153506A1 (en) | Fast failover recovery in software defined networks | |
CN1322716C (zh) | 一种基于虚拟路由器冗余协议的关键路由信息监视方法 | |
CN106210123A (zh) | 一个多节点的软件定义网络控制器系统 | |
US6738376B1 (en) | Method and system for managing multicast traffic | |
CN101986727A (zh) | 网络按需距离矢量多播路由协议的多路径改进方法和装置 | |
CN102647424B (zh) | 一种数据传输方法及其装置 | |
CN100420217C (zh) | 框间互连的通信系统及其数据交换方法 | |
US11075835B2 (en) | Distributed, packet-mediated, packet routing | |
CN1729661A (zh) | 分组交换网络中返回路径的推导 | |
CN101325456B (zh) | 一种光网络中处理te链路降级的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141203 |