专利名称:减少eaps系统中的流量损失的制作方法
技术领域:
本发明的实施例涉及计算机网络,并且更具体地涉及环网络中的自动保护切换。
背景技术:
在以太网自动保护切换(EAPS)系统中,在具有环拓扑的层2网络中环路(loop) 被防止。EAPS域包括控制虚拟局域网(VLAN)和至少一个受保护的数据VLAN。EAPS域与主 控节点相关联,主控节点被链接到环网络中的至少一个转运(transit)节点。当网络故障在环中被检测到时,EAPS系统中的主控节点通过控制VLAN接收控制 消息,控制消息指示网络故障。在正常操作期间,主控节点阻止受保护的VLAN流量穿过其 次要端口。在网络故障期间,主控节点开放其次要端口并且将受保护的数据VLAN流量变更 为路由通过其次要端口。当故障已经被修复时,次要节点重新被阻塞。每当次要节点被阻 塞和开放时,环中所有节点上的转发数据库都被刷洗(flush)。刷洗节点上的转发数据库要求重新学习(例如,自动重新学习)和/或重新编程 (例如,手动重新编程)每个转发数据库中的转发条目和/或路径,这两种情况都是很贵的。 在任一种情况中,重新建立转发数据库不会立即发生。换句话说,在开始刷洗转发数据库和 随后重新建立转发数据库之间存在一段时间。在此段时间期间,网络连接性可能会暂时被 切断并且数据(例如,数据帧、分组等)可能会被丢弃或丢失。
发明内容
一种具有自动保护切换域的环网络包括控制VLAN和至少一个数据VLAN。环中的 主控节点被连接到至少一个转运节点。环网络中的每个节点通过主要端口或次要端口被链 接到相邻节点。在正常操作期间,主控节点允许数据流量流过其主要端口,而其次要端口被 阻塞。通过阻塞次要端口,主控节点防止了环路。当故障在环中被检测到时,故障经由控制 VLAN被传达给主控节点。故障指示相邻节点之间的出故障的链路。作为对故障的响应,主 控节点对(多个)数据VLAN上的流量开放其次要端口。流量流动的改变导致主控节点和(多个)转运节点上的现存的转发数据库条目失 效。因此,转发数据库条目从主控节点和(多个)转运节点被刷洗。刷洗转发数据库条目 使得有必要基于环网络的新配置(即,主控节点开放次要端口)来重新学习转发路线。在 刷洗条目和重新学习条目之间的这段时间期间,数据流量被涌流(flood)到环网络,以保 持连接性并防止帧和/或分组丢失。当转发数据库条目被重新学习之后,流量涌流自动停 止。
下面的描述包括对借助于本发明的实施例的实现方式的示例给出的用于图示说 明的示图的论述。这些示图应当通过示例而非通过限制来理解。如在此所使用的,对一个 或多个“实施例”的提及应当被理解为描述本发明的至少一个实现方式中包括的具体特征、结构或特性。因此,在此出现的诸如“在一个实施例中”或“在一个替代实施例中”之类的 短语描述本发明的各种实施例和实现方式,并且不一定都涉及相同的实施例。然而,它们也 不一定彼此排斥。图1示出现有技术以太网自动保护切换(EAPS)系统;图2A示出根据各实施例的EAPS环网络在正常操作期间的状态;图2B示出根据各实施例的EAPS环网络在紧邻链路故障之后的状态;图2C示出根据各实施例的EAPS环网络在故障恢复之后的状态;图3是示出根据各实施例的用于转发数据流量的处理的流程图;图4是示出适用于实践各实施例的合适计算环境的框图。
具体实施例方式如在此提供的方法、装置和系统在采用以太网自动保护切换(EAPS)的环网络中 发生故障时保持连接性并防止帧和/或分组丢失。图1是示出现有技术EAPS系统的框图。EAPS系统100包括一个或多个EAPS域 101。为了发送和接收EAPS系统控制消息117,控制VLAN103针对每个EAPS域101被创建。 EAPS域101被创建以保护成组的一个或多个数据承载VLAN 104。EAPS系统100在环网络102上操作。环网络102上的一个节点被指定作为主控节 点105。主控节点105上的两个环端口被指定作为主要端口 106和次要端口 107。环网络 102上的所有其他节点是转运节点111并且每个具有其各自的环端口 112。每个主控节点 105和转运节点111分别具有转发数据库(FDB) 108和113,它们在其中存储有关网络通信 路径的信息。主控节点105具有状态寄存器109,状态寄存器109用于存储环网络102的状 态。为了说明的目的,环网络102的状态被描述为“故障”或“完整”,“故障”是指在环网络 102中存在故障或破损,“完整”是指环网络未破损或者环网络已经恢复并且所有节点正在 正确地通信。转运节点111具有状态寄存器114和先转发(pre-forwarding)定时器115, 它们在状态寄存器114中存储先转发状态。转运节点111还具有临时-阻塞-端口存储区 域(TBP) 116,它们在其中存储临时被阻塞的端口的标识。下面讨论先转发和TBP。在各种实施例中,主控节点105和转运节点111使用控制消息117来经由控 制VLAN 103通信。在实施例中控制消息117的一些示例有健康检查消息、链路掉落 (link-down)消息以及刷洗-FDB消息。转运节点111将在控制VLAN 103上发送的消息认 为是控制消息117,因为其具有特殊的MAC(媒体访问控制)地址,该地址对应于转发数据库 113中的条目。主控节点和转运节点在将控制消息117拷贝到节点的中央处理单元(CPU) 之前把其转发,此处,控制消息117被记入日志以供在发现并修理故障中使用等等。控制消 息117在被CPU处理之前被转发有助于环网络102在故障之后以远比由在前的现有技术方 法可以实现聚合的时间少的时间而聚合。主控节点105具有hello-定时器118,其是用于发送健康检查控制消息117的时 钟。当hello-定时器118被启动了时,其提示主控节点105以规则的间隔(例如每一秒) 在控制VLAN 103上发送健康检查消息117。健康检查消息117绕着环网络102被转发并且 几乎瞬间返回到主控节点105。当主控节点105发送健康检查消息117时,其设定故障-定 时器110。如果故障-定时器110在健康检查消息返回到主控节点105之前期满,则主控节点105判定在环网络102中存在故障。即使在故障期间,健康检查消息117也被发送。当 故障被恢复时,主控节点105马上知道,因为健康检查消息117的返回被重新取得。如在此所使用的,将网络从故障状态引至完整状态所花的时间被称为“故障恢复 (failover) ”时间。换句话说,故障恢复时间是在FDB条目被刷洗之后重新学习FDB条目所 花的时间。虽然,刷洗FDB条目适当地与链路故障或其它故障相关联,但是刷洗也可以故意 发生(例如,因为网络维护等)。倘若系统可包括100000个或更多个主机(每个具有单独 的路由条目),则从网络连接性角度来看,故障恢复时间可能相当长。现有技术FDB条目简 单地定义了数据应通过其被转发以达到特定目的地的输出端口。在故障恢复时段期间,这 些FDB条目中的许多条目可能变为无效,因为通过所定义的输出端口的路径可能包括故障 的链路。无效的FDB条目可导致数据流量(S卩,帧,分组等)被丢失或丢弃。为了减少EAPS 系统在故障恢复期间的帧和/或分组的丢失,附加字段(在此称为快速切换(FSWO)字段) 被添加到(一个或多个)FDB数据库中的FDB条目。在各种实施例中,FSWO字段是被添加到FDB条目的1_比特字段,虽然该字段在不 同实施例中可以是多比特。FSWO字段指示在FDB条目中所定义的输出端口在故障恢复期 间是否易无效。因此,对于易无效的FDB条目,FSWO比特被设定为高(例如,被设定为1)。 在其他实施例中,低(例如,0)FSW0比特可以被定义为指示FDB条目易无效。在各种实施例 中,当FDB条目被访问时,FSWO字段就被审查。FSWO字段是在FDB条目的输出端口字段之 前还是之后被审查是不重要的。当条目的FSWO比特被设定为高(指示该条目易无效)时,特殊端口阵列被访问。 端口阵列被维护在硬件中用于快速访问(例如,被维护在内部RAM等中)。更具体地,端口 阵列是全局资源并且允许存储器索引,这与需要针对特定端口进行搜索相对。端口阵列的 存储器索引最小化了硬件资源,因为对于搜索每个条目,每个EAPS端口仅需要端口阵列中 的单个比特,这与依赖于FDB条目的比特长度的9个、13个或16个比特等相对。在其他实 施例中,端口阵列可以被维护在软件中。在各种实施例中,端口阵列在阵列中针对EAPS系统中的每个端口包括一比特。例 如,具有512个端口的系统将具有有512比特(例如,
)的端口阵列。每当EAPS系 统检测到故障或链路故障时,端口阵列通过将针对每个EAPS受控端口的比特设定为高(例 如,1)而被修改。端口阵列中的高比特指示需要将流量涌流到所有相关EAPS端口。例如, 端口阵列中针对端口 X的高比特表示将要正常地被路由通过端口 X的所有流量应被涌流到 所有端口。按照此种方式,否则会被丢弃或丢失的帧和/分组能够到达它们的目的地。只 要端口阵列中的一个或多个比特为高,相关EAPS端口上就会发生涌流。当故障恢复时段结 束(即,FDB条目因链路故障已经被重新学习和/或重新编程)时,端口阵列比特被设定为 低(例如,设定为0)。在其它实施例中,端口阵列比特可以在定时器期满时被设定为低。因 此,随后(基于FDB条目中的高FSWO比特)对端口阵列的访问将指示涌流不必要。图2A-图2C示出结合了 EAPS系统的环网络。具体地,图2A示出了正常操作期间 的环网络200。主控节点210具有主要端口(Pl)和次要端口(P2)。根据此EAPS系统配 置,数据VLAN上的流量被阻止流过端口 P2。因此,来自主控节点的所有流量被转发通过端 口 P1。用于做出转发决定的处理通过下面的示例说明。在本示例中,到来的帧202到达主控节点210,其目的地为转运节点230(地址
6XYZ)。在图2A中所示的FDB条目示出了转发决定处理。当到来的帧202到达主控节点210 时,与目的地地址XYZ相对应的条目被访问。当访问该条目时,输出端口字段被审查并且被 确定为是端口 P1。然而,在确定了输出端口之后,此处理并未结束。在确定了输出端口之 后,FDB条目中的快速切换(FSWO)比特被审查。如果FSWO比特被设定为高(例如,1),则 EAPS系统端口阵列250的Pl比特必须被查看。如果在图2A中端口阵列250中的Pl比特 为低(例如,0),则涌流不被准许。因此,主控节点210进行到如在FDB条目所指示那样在 端口 Pl上转发帧。继续该示例,图2B示出了环网络200紧邻在转运节点220和230之间的链路故障 之后的状态。链路故障经由EAPS系统控制VLAN被传达给主控节点210。另外,EAPS系统 的端口阵列250被更新,以使得与EAPS端口相对应的比特被设定为高(例如,1)。作为对 检测到的链路故障的响应,主控节点210开放其次要端口 P2。这样,当去往转运节点230的 到来的帧204到达主控节点210时,FDB条目(如图2B所示)错误地指示帧应当在端口 Pl 上被转发。然而,因为在审查输出端口字段之后查询并没有结束,所以这是没有问题的。在 输出端口字段被审查之后,端口阵列250的Pl比特被审查,因为FDB条目的FSWO比特被设 定为高(例如,1)。这里,已经由于链路故障被更新的端口阵列250的Pl比特也被设定为 高。端口阵列250中的高比特指示到来的帧应当在所有相关EAPS端口上被涌流。因此,帧 204在主控节点210的两个端口(即,Pl和P2)上被涌流出去。如果不用于涌流,帧204将 在端口 Pl上被路由出去,如FDB条目所指示,并且因为转运节点220和230之间的故障链 路而不能到达转运节点230。然而,因为帧204在端口 Pl和P2 二者上被涌流,所以帧现在 具有通过端口 P2到其目的地(即,转运节点230)的路径。图2C示出EAPS相关FDB条目已经被刷洗并被重新学习之后的环网络200、FDB条 目212和端口阵列250。当去往转运节点230的到来的帧206到达主控节点210时,FDB条 目210现在正确地指示帧应当在端口 P2上被转发。FSffO比特仍然被设定为高,指示在端口 P2上转发帧之前需要查看端口阵列250。倘若EAPS相关FDB条目已经被重新学习以反映 环网络200的当前状态,则端口阵列250中的比特被设定为低(例如,被设定为0)。因此, 涌流是不必要的并且主控节点210可进行到在端口 P2上将帧206转发向转运节点230。图3是示出根据各实施例的用于在EAPS使能的环网络上转发数据帧和/或分组 的处理的流程图。当帧在除了其最终目的地以外的节点被接收时,FDB条目基于帧的目的 地地址(例如,MAC地址、IP地址等等)被检索310。FDB条目中的输出端口字段指示帧应 当在其上被转发以便达到其目的地的端口。因此,输出端口被确定320。FDB条目还包括快 速切换(FSWO)字段(例如,1-比特字段)。如果确定330FSW0被设定为高(例如,等于1), 则有必要查看端口阵列340。这是因为具有高FSWO比特的条目可能在环网络中发生链路故 障或其他故障时变为无效。端口阵列被更新以指示链路故障或缺陷存在并且需要对其进行 弥补。因此,端口阵列被查看340,以判定360与(在步骤320中确定的)输出端口相对应 的端口阵列比特是否被设定为高(即,等于1)。如果该比特未被设定为高,则帧被转发350 通过(在步骤320中确定的)输出端口。然而,如果该比特被设定为高,则缺陷或故障状况 已经出现;因此,帧在相关EAPS端口上被涌流370。本领域技术人员将认识到,除了上述实施例以外,还可以实践各种替代实施例。例 如,虽然上述实施例一般可应用于层2 (例如,数据链路层),但是还预期到实施例可以使用层3(例如,网络层)来实现。例如,在FDB条目中不是将MAC地址作为目的地(层2),在层 3FDB条目中,因特网协议(IP)地址可以被用作目的地地址。在层3实施例中,FDB条目在包 括输出端口字段以外还可以包括VLAN字段,因为在层3中输出VLAN可以与输入VLAN不同。 另外,实施例不限于单播流量或单路径路由;多播流量和均等成本的多路径路由(ECMP)可 以被用在其他实施例中。图4示出各种实施例中可以实践图1-3所示的本发明的某些方面的计算环境。总 体地,这些部件旨在表示硬件系统的大分类,包括但不限于通用计算机系统和专用网络交 换机。计算机系统400包括处理器410、I/O设备440、主存储器420和闪存430,它们经 由总线480彼此耦合。主存储器420可以包括一个或多个系统存储器(RAM)和非易失性存 储设备(例如,磁盘或光盘),其存储供处理器410使用的指令和数据。另外,网络接口 470、 数据存储装置460和开关结构450经由总线480被彼此耦合。数据存储装置460表示在此 描述的供开关结构450用来转发网络分组或消息的路由数据库(S卩,路由表)以及诸如分 组缓存器之类的其他存储区域等。在各种实施例中,计算机系统400的各种部件可以重新布置,并且某些实施例可 以不要求也不包括所有的上述部件。此外,其他部件可以包括在系统400中,诸如另外的处 理器(例如,数字信号处理器)、存储设备、存储器、网络/通信接口,等等。在图4所示的实施例中,如上面描述的根据本发明的减小路由表大小的方法和设 备可以被实现为由图4的计算机系统400运行的一系列软件例程。这些软件例程包括要被 硬件系统中的处理系统(诸如处理器410)执行的多个指令或指令序列。最初,指令序列被 存储在数据存储装置460 (例如,路由管理器数据库)、存储器420或闪存430中。在此描述的各种部件(包括图4的部件)可以是用于执行在此描述的功能的装 置。在用于执行在此描述的操作的部件包括软件的情况中,软件数据、指令和/或配置可以 由机械/电子设备/硬件通过制造产品来提供。制造产品可以包括具有提供指令、数据等 内容的计算机可读介质。此内容可以使得在此描述的电子设备执行所描述的各种操作或执 行。计算机可读介质包括提供(即,存储和/或发送)可由计算机(例如,计算机、计算设 备、电子设备、电子系统/子系统等)访问的形式的信息/内容的任何构件。例如,计算机 可读介质包括可记录/不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁 盘存储介质、光存储介质、闪存设备,等等)。计算机可读介质还可以包括将代码装载到存储 装置的电子设备,在电子设备运行时代码可被执行。因此,呈递具有这样的代码的的电子设 备可以理解为提供具有在此所述的内容的制造产品。此外,将代码存储在数据库或其他存 储位置上以及通过通信介质提供供下载的代码可以被理解为提供具有在此所述的内容的 制造广品。除了在此描述的以外,可以在不脱离本发明的范围的前提下对所公开的实施例和 实现方式做出各种修改。因此,这里的说明和示例应当被解释为是说明性的,而不具有限制 意义。本发明的范围应当仅通过参考所附的权利要求书来度量。
8
权利要求
1.在具有包括控制虚拟局域网(VLAN)和至少一个数据VLAN的自动保护切换域的环网 络中,一种方法包括检测所述环网络中的故障,所述环网络具有被连接到至少一个转运节点的主控节点, 每个节点通过主要端口或次要端口中的至少一个被链接到相邻节点,所述故障指示相邻节 点之间的出故障的链路;将流量涌流到所述环网络,直到所述主控节点和所述至少一个转运节点上的各自的转 发数据库条目已经被重新建立为止。
2.根据权利要求1所述的方法,还包括刷洗所述主控节点和所述至少一个转运节点上 的转发数据库条目。
3.一种方法,包括从环网络上的转发设备检索转发数据库条目; 确定与所述转发数据库条目相关联的输出端口 检查所述转发数据库条目中的快速切换字段;基于所述快速切换字段,检查与自动保护切换域相关联的端口阵列中的与所述输出端 口相关联的端口字段;并且基于所述端口阵列中的输出端口字段,将流量涌流到与所述自动保护切换域相关联的 环端口。
4.根据权利要求1所述的方法,其中,所述转发设备是层2交换机和层3路由器中的一者ο
5.根据权利要求1所述的方法,其中,基于所述快速切换比特检查与自动保护切换域 相关联的端口阵列中的与所述输出端口相关联的端口字段包括在所述快速切换字段指示 所述端口字段中的比特被设定为高时检查所述端口字段。
6.一种包括计算机可读介质的制造产品,所述计算机可读介质在其上存储内容以提供 指令来使得电子设备执行如下操作,包括检测环网络中的故障,所述环网络具有连接到至少一个转运节点的主控节点,每个节 点通过主要端口或次要端口中的至少一个被链接到相邻节点,所述故障指示相邻节点之间 的出故障的链路;将流量涌流到所述环网络,直到所述主控节点和所述至少一个转运节点上的各自的转 发数据库条目已经被重新建立为止。
7.根据权利要求6所述的制造产品,在其上存储内容以提供指令来使得电子设备还执 行如下操作,包括刷洗所述主控节点和所述至少一个转运节点上的转发数据库条目。
8.一种系统,包括用于存储与路由设备相关联的转发表的存储器; 用于从环网络上的转发设备检索转发数据库条目的装置; 用于确定与所述转发数据库条目相关联的输出端口的装置; 用于检查所述转发数据库条目中的快速切换字段的装置;用于基于所述快速切换字段检查与自动保护切换域相关联的端口阵列中的与所述输 出端口相关联的端口字段的装置;以及用于基于所述端口阵列中的输出端口字段将流量涌流到与所述自动保护切换域相关联的环端口的装置。
9.根据权利要求8所述的系统,其中,所述路由设备是层2交换机和层3路由器中的一者o
10.根据权利要求8所述的系统,其中,用于基于所述快速切换比特检查与自动保护切 换域相关联的端口阵列中的与所述输出端口相关联的端口字段的装置还包括用于在所述 快速切换字段指示所述端口字段中的比特被设定为高时检查所述端口字段的装置。
全文摘要
一种具有自动保护切换域的环网络(200)包括控制VLAN和至少一个数据VLAN。环中的主控节点(210)被连接到至少一个转运节点(220、230、240)。环网络中的每个节点通过主要端口(P1)或次要端口(P2)被链接到相邻的节点。主控节点(210)经由控制VLAN接收故障通知,所述故障指示相邻节点之间的出故障的链路。作为响应,主控节点(210)对(多个)数据VLAN上的流量开放其次要端口。主控节点和(多个)转运节点(220、230、240)上的转发数据库条目被刷洗。数据流量被涌流到环网络,直到主控节点(210)和(多个)转运节点(220、230、240)上的数据库条目已经被重新建立为止。
文档编号H04L12/437GK101999223SQ200980112319
公开日2011年3月30日 申请日期2009年3月9日 优先权日2008年4月4日
发明者乔伊迪普·查克拉瓦提, 巴拉卡什·卡什耶普, 戴维·K·帕克, 拉姆·克里什南 申请人:极进网络有限公司