通信装置以及地址学习方法

文档序号:7547005阅读:114来源:国知局
专利名称:通信装置以及地址学习方法
技术领域
本发明涉及在网络中中继接收帧的通信装置以及地址学习方法。
背景技术
在作为以太网(注册商标)帧(以下简记为“帧”)的中继装置的桥装置、交換机装置(以后称为L2交换机)中,具有被称为FDB (Filtering Database,过滤数据库)的数据库,该数据库积蓄由所接收到的帧的发送源MAC地址和所接收到的端ロ以及其他信息构成的项目。该FDB每当新接收到帧时追加项目。该动作被称为MAC地址学习(或者地址学习)。在中继接收帧时利用FDB。具体而言,接收到帧的L2交换机将接收帧的目的地MAC地址作为检索关键字而检索FDB。然后,如果是已学习的MAC地址,则得到与作为检索关键字的MAC地址对应的端ロ(输出端ロ)。如果对该端ロ转发接收帧,则转发目的地的其他L2 交換机也进行相同的动作,所以接收帧最终到达目的的以太网(注册商标)节点(以下简记为“节点”)。另ー方面,对于具有在FDB中没有项目的目的地MAC地址的接收帧,即使检索FDB,也得不到输出端ロ的信息(不知应转发到哪个端ロ),所以接收到帧的L2交换机对所接收到的端ロ以外的全部端ロ,广播所接收到的帧。该动作被称为扩散(flooding)。这样的帧中继动作记载于非专利文献I。非专利文献I :IEEE Standard for Local and Metropolitan Area Networks Media Access Control (MAC) Bridges、IEEE Std 802. ID — 2004、p. 41 48

发明内容
在由多个L2交换机构成的网络中,如果在网络的某处发生了障碍,则帧的中继路径发生变化,所以需要使各L2交換机具有的FDB的全部项目无效化,并按照变更后的中继路径再次进行地址学习,重构FDB。该FDB全部项目的无效化被称为FDB消除(flash)。另ー方面,伴随网络的大規模化进展且连接的节点数増大,FDB的项目数也变得很多,其結果,FDB消除所花费的时间被认为会成为问题。具体而言,直至FDB的全部项目的无效化结束为止,无法进行地址学习,所以在直至地址学习完成为止的期间,L2交換机会对接收帧全部进行扩散。即,存在如下问题伴随FDB消除,网络的业务量増加,很可能对运用带来麻烦。本发明是鉴于上述而完成的,其目的在于得到ー种通信装置,在网络中检测到障碍之后,迅速地再次开始用于重构FDB的地址学习。为了解决上述课题并达成目的,本发明提供ー种通信装置,作为网络的节点而エ作,其特征在于,具备状态管理単元,每当检测到在网络内发生障碍时,更新表示网络的状态的状态信息;数据库更新単元,根据接收帧的发送源地址以及接收端口和所述状态管理単元中管理的状态信息,更新用于决定接收到以该发送源地址为目的地地址的帧时的输出端ロ的数据库;以及输出目的地决定单元,通过将接收帧的目的地地址以及所述状态管理単元中管理的状态信息作为检索关键字而检索所述数据库,由此决定接收帧的输出端ロ。
本发明的通信装置起到能够使在网络中发生障碍之后至开始重构FDB为止的所需时间缩短化这样的效果。


图I是示出实施方式I的通信系统的结构例的图。图2是示出环路节点的结构例的图。图3是示出端ロ状态管理部的内部结构的图。图4是示出输出端ロ检索处理部的结构例的图。图5是示出实施方式I的环路节点中的FDB更新步骤的一个例子的流程图。图6是示出FDB中登记的信息的一个例子的图。 图7是示出在环形网络中发生的障碍的一个例子的图。图8是示出实施方式I的由环路节点执行的帧转发步骤的流程图。图9是示出障碍发生后的FDB学习动作的一个例子的图。图10是示出障碍发生后的FDB学习动作的一个例子的图。图11是示出实施方式2的环路节点管理的FDB的结构例的图。图12是示出实施方式2的环路节点具备的端ロ状态管理部中管理的信息的结构例的图。图13是示出实施方式2的环路节点中的FDB更新步骤的一个例子的流程图。图14是示出实施方式2的由环路节点执行的帧转发步骤的流程图。(符号说明)I :环形网络;10、20、30、40、50、60 :节点;100、200、300、400、500、600 :环路节点;301,302,303 :端ロ ;301 — I :输入端ロ ;301 — 2 :输出端ロ ;310 :输入输出处理部;311 :输入帧处理部;312 :输出帧处理部;320 :交换处理部;330 :环路管理处理部;340、340a :端ロ状态管理部;341 :端ロ状态表;342 :障碍状态编号;343 =FDB消除因素端口号;350 :输出端ロ检索处理部;351 :FDB控制部;352 =FDB0
具体实施例方式以下,根据附图,详细说明本发明的通信装置以及地址学习方法的实施方式。另夕卜,本发明不限于该实施方式。实施方式I.图I是示出包括由与本实施方式的通信装置相当的环路节点(ring node)装置(以下记载为“环路节点”)构成的环形网络(ringnetwork)的通信系统的结构例的图。该通信系统包括由本实施方式的多个环路节点(环路节点100、200、300、400、500、600)构成的环形网络I、以及与环形网络I连接的多个节点(节点10、20、30、40、50、60)。另外,在图I中,还ー并记载了各环路节点的输入输出端ロ,将环路节点300的输入输出端ロ设为端ロ301 303。端ロ 301收容与环路节点200连接的链路(link),端ロ 302收容与环路节点400连接的链路,端ロ 303收容连接了节点30的链路。环形网络I 按照文献“ITU - T 建议 G. 8032/Y. 1344,Ethernet Ring ProtectionSwitching”(以下记载为“ERP”)中规定的手法构成,构成环形网络I的各环路节点是安装了遵照该ERP的功能的L2交換机。在EPR中,还规定了网络障碍切換手法,根据该规定,在发生了网络的中继路径的障碍切換的情况下,需要进行FDB消除。另外,在环形网络I中,将连接环路节点100和600的链路设定为环路保护链路(Ring Protection Link),环路节点 600 被设定为称为 RPL (Ring Protection Link,环路保护链路)Owner的节点。在环路节点600中,通过使收容环路保护链路的端ロ截断,从而防止帧在环形网络I上循环。图2是示出环形网络I中包含的环路节点的结构例的图。在图2中,作为ー个例子,示出了环路节点300的结构例,但环形网络I中包含的各环路节点的结构相同。另外,如上所述,在被设定为RPL Owner的环路节点600中,收容环路保护链路的端ロ被截断。如图2所示,环路节点300具备多个端ロ 301、302、303、 、与这些多个端ロ相同数量的输入输出处理部310、交换处理部320、环路管理处理部330、端ロ状态管理部340、以及输出端ロ检索处理部350。对各端ロ,为了区分所连接的链路而附加了不同的符号(參照 图1),但它们具有完全相同的功能。即,在图2中,仅记载了端ロ 301和与其连接的输入输出处理部310的内部结构,但其他端ロ 302、303、…、以及与它们连接的输入输出处理部310也具有同样的内部结构。另外,关于除了端ロ 301以及与其连接的输入输出处理部310以外的端ロ以及输入输出处理部,省略了与除了交换处理部320以外的其他构成要素(环路管理处理部330等)之间的连接线(信号线)的记载,但也设为同样地连接。各端ロ由输入端ロ以及输出端ロ构成,例如端ロ 301具备输入端ロ 301 — I以及输出端ロ 301 — 2。这些各端ロ如果检测到所连接的链路、本端ロ(端ロ 301、302、…)的障碍,则通知给端ロ状态管理部340。另外,端ロ 301收容与环路节点200连接的链路,端ロ302收容与环路节点400连接的链路,端ロ 303收容连接了节点30的链路(參照图I)。各输入输出处理部310分别具备输入帧处理部311以及输出帧处理部312,进行帧的复用/分离。输入输出处理部310的输入帧处理部311解析接收帧,如果接收帧是基于ERP的环路管理帧,则转发到环路管理处理部330。另外,如果接收到“ ITU — T建议Y. 1731、OAMFunctions and Mechanisms for Ethernet based Networks,,(以下,设为“EtherOAM功能,,)中记载的、与邻接环路节点的链路管理帧,则转发到端ロ状态管理部340。在转发环路管理帧以及链路管理帧的情况下,也一井通知接收到该帧的端ロ。另外,在接收到一般帧时,将接收帧的目的地MAC地址通知给输出端ロ检索处理部350来委托输出端ロ的检索。然后,如果从输出端ロ检索处理部350通知到了输出端ロ,则向交换处理部320通知输出端ロ,并且传送接收帧,来委托帧的转发。此处通知的输出端ロ既可以是ー个,也可以是多个。在扩散的情况下,被通知多个端ロ。另外,输入帧处理部311将接收到帧的端ロ、以及所接收到的帧的发送源MAC地址通知给输出端ロ检索处理部350,并委托FDB的更新。输入输出处理部310的输出帧处理部312对经由交换处理部320从其他输入输出处理部310转发来的帧、从环路管理处理部330接收到的帧、以及从端ロ状态管理部340接收到的帧进行复用,转发到端ロ 301 (输出端ロ部)。环路管理处理部330是进行基于ERP的环路管理的处理部,伴随环路管理帧的发送接收、障碍发生/解除,进行端ロ状态管理部340应进行的动作的指示。在检测到本环路节点的端ロ障碍的情况、或检测到与本环路节点连接的链路中的障碍的情况下,作为环路管理帧,生成用于通知障碍的内容的障碍通知帧。另外,在从其他环路节点接收到障碍发生的通知的情况、以及在本环路节点中探测到发生障碍的情况下,对端ロ状态管理部340指示执行FDB消除。图3是示出端ロ状态管理部340的内部结构的图,如图所示,端ロ状态管理部340管理端ロ状态表341以及障碍状态编号342。在端ロ状态表341中,保存了环路节点300的全部端ロ的状态。障碍状态编号342是用于管理环形网络I的状态(障碍发生状況)的信
o端ロ状态管理部340 (相当于状态管理単元)在从各端口中的某ー个通知到了端ロ障碍的情况下,更新端ロ状态表341内的相应的端ロ的状态(记录障碍发生),并且更新障碍状态编号342,而且,将障碍发生和障碍发生的端ロ通知给环路管理处理部330。进而,端ロ状态管理部340根据上述EtherntOAM功能,监视与邻接环路节点的链路状态,在检测到链路障碍的情况下,也与被通知到上述端ロ障碍的情况同样地,将障碍发 生和与障碍发生链路(障碍发生的链路)连接的端ロ通知给环路管理处理部330。图4是示出输出端ロ检索处理部350的结构例的图。输出端ロ检索处理部350具备FDB控制部351以及FDB352。FDB控制部351在从输入帧处理部311接收到输出端ロ的检索委托的情况下,检索FDB352而求出输出端ロ,并通知给输入帧处理部311。另外,在FDB352中没有相应的FDB项目的情况下,对输入帧处理部311指示扩散。另外,在从输入帧处理部311接收到FDB的更新委托的情况下,根据在更新委托时被通知到的MAC帧等,进行FDB352的项目追加/更新处理。另外,FDB控制部351作为数据库更新単元以及输出目的地决定单元而工作。接下来,说明构成本实施方式的环形网络I的各环路节点更新FDB的动作(地址学习动作)。图5是示出本实施方式的环路节点中的FDB更新步骤的一个例子的流程图。(在FDB中登记新项目时的动作)首先,參照附图,说明在FDB中登记新项目时的地址学习动作。此处,说明从环路节点300完全什么都未学习的状态(在FDB352中完全未登记项目的状态)起进行地址学习时的动作例。另外,假设在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 O。例如,如果用端ロ 302接收到从与环路节点500连接的节点50发送并通过环路节点500转发的帧(一般帧),则接收帧被传送到与端ロ 302连接的输入帧处理部311 (步骤SI)。输入帧处理部311将所接收到的帧的发送源MAC地址即节点50的MAC地址以及接收到该帧的端ロ 302通知给输出端ロ检索处理部350而委托FDB的更新。在接收到FDB的更新委托的输出端ロ检索处理部350中,FDB控制部351将被通知到的MAC地址、以及端ロ状态管理部340的障碍状态编号342中存储的障碍状态编号0作为检索关键字而检索FDB352,确认在FDB中是否有项目(步骤S2、步骤S3)。然后,在该时刻,由于FDB352是什么也未学习的状态,所以FDB控制部351判断为没有FDB项目(步骤S3 否”),根据通过上述FDB的更新委托通知到的信息以及当前的障碍状态编号,更新FDB352。具体而言,FDB控制部351将如下FDB项目新登记到FDB352,其中该FDB项目是将通过FDB的更新委托通知到的节点50的MAC地址、以及当前的障碍状态编号0作为检索关键字,并且,将与该检索关键字对应的输出信息(输出端ロ)设为通过FDB的更新委托通知到的端ロ 302 (步骤S4)。另外,在接收到从其他环路节点发送的帧(一般帧)的情况下,也同样地执行上述步骤Sf S4来进行FDB的更新(地址学习),制作图6所示那样的、登记了由MAC地址、障碍状态编号、以及输出端ロ构成的项目的FDB352。(更新已登记于FDB的项目时的动作)接下来,说明更新已登记于FDB的项目时的地址学习动作。此处,參照附图,说明在将节点50的MAC地址的输出端ロ设为端ロ 301而登记到FDB352的状态下,从端ロ 302接收到节点50发送的帧时的再学习动作。另外,假设在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 O。如果用端ロ 302接收到从与环路节点500连接的节点50发送且通过环路节点500转发的帧(一般帧),则接收帧被传送到与端ロ 302连接的输入帧处理部311 (步骤SI)。输 入帧处理部311将所接收到的帧的发送源MAC地址即节点50的MAC地址以及接收到该帧的端ロ 302通知给输出端ロ检索处理部350而委托FDB的更新。在接收到FDB的更新委托的输出端ロ检索处理部350中,FDB控制部351将被通知到的MAC地址、以及端ロ状态管理部340的障碍状态编号342中存储的障碍状态编号0作为检索关键字而检索FDB352,确认在FDB中是否有项目(步骤S2、步骤S3)。在该情况下,在FDB352中,由于存在将节点50的MAC地址和障碍状态编号0作为检索关键字的项目(步骤S3 是”),所以FDB控制部351确认所检索出的项目中登记的输出端口和通过上述FDB的更新委托而通知到的端ロ 302是否一致(步骤S5)。确认的结果,由于不一致(步骤S5 否”),所以将在步骤S2中检索出的项目的输出端ロ设为通过FDB的更新委托而通知到的端ロ 302来改写登记(步骤S6)。附带说一下,在上述检索出的项目中登记的输出端口和通过FDB的更新委托而通知到的端ロー致的情况下(步骤S5 是”),不更新FDB352而结束处理。另外,在使用了上述图5的地址学习动作的说明中,为简化说明,对于转发所接收到的帧的动作,省略了记载。实际上,除了上述地址学习动作以外,还实施如下处理进行使用了所接收到的帧的目的地MAC地址的输出端ロ检索,并按照检索结果转发帧。该帧转发动作与以往相同,所以省略详细说明。在其以后,在说明地址学习动作时也同样地,对于接收帧的转发动作省略说明。接下来,说明在图I所示的环形网络I中发生了障碍时的各环路节点的动作。此处,作为ー个例子,说明在环路节点400与500之间的链路中发生了障碍时(參照图7)的环路节点300的动作。另外,假设在障碍发生时,在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 O。环路节点400如果检测到与环路节点500连接的链路的障碍,则对与环路节点300连接的链路,发送用于通知检测到障碍的环路管理帧即障碍通知帧。环路节点500也同样地,如果检测到障碍,则对与环路节点600连接的链路,发送障碍通知帧。另外,环路节点400以及500使收容了检测到障碍的链路的端ロ截断,环路节点600如果接收到障碍通知帧,则解除收容了与环路节点100之间的链路的端ロ的截断(參照图7)。在环路节点300中,在从环路节点400接收到障碍通知帧的情况下,输入输出处理部310以及交换处理部320将该障碍通知帧转发到与环路节点200连接的链路。另外,该障碍通知帧从输入输出处理部310被转发到环路管理处理部330。
环路管理处理部330如果接收到上述转发的障碍通知帧,则确认其内容,判断为需要使将收容了障碍通知帧发送来的链路的端ロ即端ロ 302作为输出端ロ的FDB项目无效化。然后,对端ロ状态管理部340和输出端ロ检索处理部350指示执行FDB消除。接收到FDB消除执行指示的端ロ状态管理部340更新障碍状态编号342。此处,将障碍状态编号342从0更新为I。另外,在接收到FDB消除执行指示的输出端ロ检索处理部350中,FDB控制部351将FDB352接下来学习的空闲项目设定在FDB352的开头。一般情况下,此处使FDB的全部项目无效化,但在本实施方式的环路节点中,不进行使FDB的全部项目无效化的处理。使FDB项目无效化的目的在于,为了防止由于中继到在障碍以前学习的帧转发目 的地而使帧无法到达期望的目的地,删除障碍以前的帧转发目的地。但是,如上所述,在本实施方式的环路节点中,并不是在刚接收到障碍发生的通知之后使FDB的全部项目无效化。以下,对于在本实施方式的环路节点中不需要进行FDB的全部项目无效化的理由,举出具体例来进行说明。此处,使用图8所示的流程图来说明环路节点300的FDB352是图6所示的状态、且在该状态下接收上述环路节点400与500之间的链路中的障碍发生通知之后端ロ 301接收到发往与环路节点500连接的节点50的帧时的动作,具体而言在接收到帧的情况下实施的、检索帧的输出端ロ的动作以及依照检索结果发送帧的动作。图8是示出在接收到障碍发生通知之后实施的帧转发步骤的流程图。如上所述,在接收到障碍发生通知的时刻,输出端ロ检索处理部350的FDB控制部351不变更已登记到FDB352的项目,所以刚刚接收到障碍发生通知之后的FDB352是图6所示的状态,此时FDB控制部351处于将FDB352接下来学习的空闲项目设定在FDB352的开头的状态。另外,假设在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 I (伴随障碍发生通知而从0更新为I)。在环路节点300中,如果例如用端ロ 301接收到与环路节点500连接的节点50的MAC地址被设定为目的地MAC地址的帧(步骤Sll ),则输入输出处理部310对输出端ロ检索处理部350进行委托(输出端ロ的检索委托),以将节点50的MAC地址作为检索关键字而检索FDB352。在接收到输出端ロ的检索委托的输出端ロ检索处理部350中,FDB控制部351将在委托时被通知到的节点50的MAC地址和障碍状态编号342中存储的障碍状态编号的值(在该情况下为I)作为检索关键字而检索FDB352,确认是否存在与委托内容对应的项目(步骤S12、S13)。此时,在FDB352中,节点50的MAC地址在与障碍状态编号值0的组中已被学习,但在与障碍状态编号I的组中未被学习,所以FDB控制部351判断为没有相应项目(步骤S13 否”),并将该意思通知给输入输出处理部310。接收到没有相应项目的通知的输入输出处理部310拷贝接收帧,向交换处理部320进行委托以对接收到该帧的端ロ 301以外的端ロ(端ロ 302、303、…)进行转发(扩散),交换处理部320按照委托内容,对用端ロ301接收到的上述帧进行扩散(步骤S14)。另外,在FDB控制部351发现了与上述委托内容对应的项目的情况下(步骤S13 是”),将所发现的项目中登记的输出端ロ通知给输入输出处理部310,输入输出处理部310以及交换处理部320对被通知到的输出端ロ转发接收帧(步骤S15)。这样,将障碍发生以前的障碍状态编号值和MAC地址作为检索关键字而存储于FDB352,所以在障碍状态编号被更新之后,更新以前的项目成为无效。因此,在障碍发生后无需使全部项目无效化,得到与无效化了的情况同样的效果。由于只是更新障碍状态编号值,所以在本实施方式的通信装置(环路节点装置)中,与以往实施的使FDB的全部项目无效化的处理相比,能够大幅缩短处理时间。另外,在以往的处理中,伴随需要无效化的项目数的増加而处理所需的时间也增加,但在本实施方式的通信装置中应用的上述手法中,即使项目数增加,处理时间也不会增加。另外,使用图9以及图10,说明障碍发生后的FDB学习。另外,图9以及图10是不出障碍发生后的FDB学习动作的一个例子的图。如上所述,在各环路节点中,在接收到障碍通知的情况下,将空闲项目的开头设为FDB的开头。例如,在环路节点300中,将空闲项目的开头设定为FDB352的开头。之后,在环路节点300中新学习的项目是以从FDB352的开头起依次改写的方式进行追加。图9是示出在障碍发生后学习了新的项目的FDB352的例子的图。在图9所示的例子中,在障碍发生后,首先最初学习了节点30的输出端ロ,所以在开头项目(项目编号I)中登记有与节点30相关的项目。然后,学习尚未进展,所以障碍状态编号是以前的值(0值)的节点30的项 目也残留于项目编号3。如果接着进行新的学习,则该项目被改写。如果这样依次进行地址学习,则FDB352例如被更新为图10所示那样的状态。另外,为了得到与以往的使FDB的全部项目无效化的处理等同的效果(防止向在障碍以前学习的帧转发目的地中继帧),在接收到障碍通知的情况下,将空闲项目的开头设为FDB的开头的动作并非必须。但是,如果考虑输出端ロ的检索处理时间,则优选将空闲项目的开头设定为FDB的开头,防止向FDB的登记项目数(成为检索对象的项目的数量)増大至必要以上。但是,将空闲项目的开头设定为FDB的开头的做法只不过是用于实现防止登记项目数増大的ー个例子。在地址学习中,如果存在与当前的障碍状态编号(最新障碍状态编号)不同的障碍状态编号(旧障碍状态编号)的项目,则针对该项目改写登记新的项目即可,在不存在旧障碍状态编号的项目的情况下向未使用的项目(目的地MAC地址、输出端ロ完全未被登记的区域)登记新项目即可。即,对于旧障碍状态编号的各项目,按照哪样的次序进行改写登记都可以。如上那样,本实施方式的环路节点每当接收到环形网络中的障碍发生的通知吋,更新表示进行了 FDB学习的时刻的网络状态的管理编号(障碍状态编号),并且,在伴随一般帧的接收而进行地址学习,并更新FDB的情况(向FDB登记新的项目或者变更已登记的项目的情況)下,将该时刻的障碍状态编号和所接收到的帧的发送源MAC地址作为检索关键字而登记到项目。由此,在输出端ロ检索中,在MAC地址以及障碍状态编号一致的情况下,接收帧的输出端ロ(转发目的地)被确定,不会向在障碍发生前学习的输出端ロ转发帧,所以在障碍发生时,不需要以往所需要的使FDB的全部项目无效化的处理。其結果,从在环形网络中发生障碍之后至再次开始地址学习为止的所需时间被缩短。实施方式2.在实施方式I中,说明了如果接收到障碍发生的通知则使FDB中登记的全部项目无效化的环路节点,但在本实施方式中,说明仅使具有特定的输出端ロ的FDB项目无效化的环路节点。另外,通信系统的结构与实施方式I相同(參照图I)。
在本实施方式的环路节点中,FDB的检索关键字如以往那样仅设为目的地MAC地址,将通过FDB检索而输出的信息作为障碍状态编号和输出端ロ(參照图11)。图11是示出本实施方式的环路节点管理的FDB的结构例的图。障碍状态编号与实施方式I所示的障碍状态编号相同。在本实施方式中,也与前面的实施方式I同样地,说明环路节点300的动作例。图12是示出本实施方式的环路节点300具备的端ロ状态管理部中管理的信息的结构例的图。如图示所示,环路节点300的端ロ状态管理部340a除了实施方式I所示的端ロ状态管理部340 (參照图3)中管理的端ロ状态表341以及障碍状态编号342以外,还管理FDB消除因素端口号343。FDB消除因素端口号343是接收到障碍通知帧的端ロ的编号。另外,本实施方式的环路节点300除了端ロ状态管理部340a以外的部分与实施方式I中说明的环路节点相同。端ロ状态管理部340a如果从环路管理处理部330接收到FDB消除执行的指示,则更新障碍状态编号342的值,并且将在接收到FDB消除的执行指示时被通知到的端ロ的编 号(FDB消除因素端口号)保存到FDB消除因素端口号343。接下来,说明构成本实施方式的环形网络I的各环路节点更新FDB的动作(地址学习动作)。图13是示出本实施方式的环路节点中的FDB更新步骤的一个例子的流程图。(在FDB中登记新项目时的动作)首先,參照附图,说明在FDB中登记新项目时的地址学习动作。此处,说明从环路节点300完全什么都没有学习的状态(在FDB352中完全未登记项目的状态)起进行地址学习时的动作例。另外,假设在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 O。例如,如果用端ロ 302接收到从与环路节点500连接的节点50发送且通过环路节点500转发的帧(一般帧),则接收帧被传送到与端ロ 302连接的输入帧处理部311 (步骤S21)。输入帧处理部311将所接收到的帧的发送源MAC地址即节点50的MAC地址以及接收到该帧的端ロ 302通知给输出端ロ检索处理部350来委托FDB的更新。在接收到FDB的更新委托的输出端ロ检索处理部350中,FDB控制部351将被通知到的MAC地址作为检索关键字而检索FDB352,确认在FDB中是否有项目(步骤S22、步骤S23)。然后,在该时刻,由于FDB352是什么也未学习的状态,所以FDB控制部351判断为没有FDB项目(步骤S23 否”),根据通过上述FDB的更新委托通知到的信息以及当前的障碍状态编号,更新FDB352。具体而言,FDB控制部351将如下FDB项目新登记到FDB352,其中该FDB项目是将通过FDB的更新委托而通知到的节点50的MAC地址作为检索关键字,并且,将与该检索关键字对应的输出信息(障碍状态编号以及输出端ロ)设为当前的障碍状态编号0以及通过FDB的更新委托而通知到的端ロ 302 (步骤S24)。在接收到从其他环路节点发送的一般帧的情况下,也同样地执行上述步骤S2TS24 来更新 FDB。(更新已登记于FDB的项目时的动作)接下来,说明更新已登记于FDB的项目时的地址学习动作。此处,说明(I)接收到帧的端口和FDB中登记的项目表示的端ロ不一致时的更新动作、以及(2)接收到帧的时刻的障碍状态编号和FDB中登记的障碍状态编号不一致时的更新动作。(I)接收到帧的端口和FDB中登记的项目表示的端ロ不一致时的更新动作作为ー个例子,说明在将节点50的MAC地址的输出端ロ设为端ロ 301而登记到了FDB352的状态下,从端ロ 302接收到节点50发送的帧时的再学习动作。如果用端ロ 302接收到从与环路节点500连接的节点50发送且通过环路节点500转发的帧(一般帧),则接收帧被传送到与端ロ 302连接的输入帧处理部311(步骤S21)。输入帧处理部311将所接收到的帧的发送源MAC地址即节点50的MAC地址以及接收到该帧的端ロ 302通知给输出端ロ检索处理部350来委托FDB的更新。在接收到FDB的更新委托的输出端ロ检索处理部350中,FDB控制部351将被通知到的MAC地址作为检索关键字而检索FDB352,确认在FDB中是否有项目(步骤S22、步骤S23)。在该情况下,在FDB352中,存在将节点50的MAC地址作为检索关键字的项目(步骤S23 是”),所以FDB控制部351确认所检索出的项目中登记的输出端口和通过上述FDB的更新委托而通知到的端ロ 302是否 一致(步骤S25)。确认的结果,由于不一致(步骤S25 否”),所以将在步骤S22中检索出的项目的输出端ロ以及障碍状态编号分别设为通过FDB的更新委托而通知到的端ロ 302以及当前的障碍状态编号0,对项目进行改写登记(步骤S26)。(2)接收到帧的时刻的障碍状态编号和FDB中登记的障碍状态编号不一致时的更新动作作为ー个例子,说明在将节点50的MAC地址的输出端ロ设为端ロ 302并将与其对应的状态编号设为0而登记到FDB352的状态下,从端ロ 302接收到节点50发送的帧时的再学习动作。另外,假设在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 I。如果用端ロ 302接收到从与环路节点500连接的节点50发送且通过环路节点500转发的帧(一般帧),则接收帧被传送到与端ロ 302连接的输入帧处理部311(步骤S21)。输入帧处理部311将所接收到的帧的发送源MAC地址即节点50的MAC地址以及接收到该帧的端ロ 302通知给输出端ロ检索处理部350来委托FDB的更新。在接收到FDB的更新委托的输出端ロ检索处理部350中,FDB控制部351将被通知到的MAC地址作为检索关键字而检索FDB352,确认在FDB中是否有项目(步骤S22、步骤S23)。在该情况下,在FDB352中,存在以节点50的MAC地址为检索关键字的项目(步骤S23 是”),所以FDB控制部351确认所检索出的项目中登记的输出端口和通过上述FDB的更新委托而通知到的端ロ 302是否一致(步骤S25)。此处,确认的结果,判断为一致(步骤S25 是”),进而,确认所检索出的项目中登记的障碍状态编号是否与当前的障碍状态编号(障碍状态编号342中存储的障碍状态编号)一致(步骤S27)。然后,由于确认的结果不一致(步骤S27 否”),所以将在步骤S22中检索出的项目的输出端ロ以及障碍状态编号分别设为通过FDB的更新委托而通知到的端ロ 302以及当前的障碍状态编号0,对项目进行改写登记(步骤S26)。附带说明一下,在上述检索出的项目中登记的障碍状态编号以及输出端口和当前的障碍状态编号以及通过FDB的更新委托而通知到的端ロー致的情况下(步骤S27 是”),不更新FDB352而结束处理。接下来,说明在本实施方式的环形网络I中发生了障碍时的各环路节点的动作。此处,与前面的实施方式I中的说明同样地,说明在环路节点400与500之间的链路中发生了障碍时(參照图7)的环路节点300的动作例。另外,假设在障碍发生时,在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 O。环路节点400以及500如果检测到链路的障碍,则发送表示该意思的障碍通知帧。其結果,环路节点300接收从环路节点400发送的障碍探测帧。在该情况下,在环路节点300中,输入输出处理部310以及交换处理部320将该障碍通知帧转发到与环路节点200连接的链路。另外,该障碍通知帧从输入输出处理部310被转发到环路管理处理部330。环路管理处理部330如果接收到上述转发的障碍通知帧,则确认其内容,判断为需要使将收容有障碍通知帧发送来的链路的端ロ即端ロ 302作为输出端ロ的FDB项目无效化。然后,对端ロ状态管理部340a和输出端ロ检索处理部350,通知端ロ 302并且指示执行FDB消除。接收到FDB消除执行指示的端ロ状态管理部340更新障碍状态编号342。此处,将障碍状态编号342从0更新为I。端ロ状态管理部340进而在FDB消除因素端口号343 中,保存通知来的端ロ 302的识别信息(端口号)。接下来,举出具体例来说明在本实施方式的环路节点中不需要FDB的全部项目无效化的理由。此处,使用图14所示的流程图,说明在环路节点300的FDB352处于图11所示的状态,并在该状态下接收到上述环路节点400与500之间的链路中的障碍发生通知之后端ロ 303接收到发往与环路节点500连接的节点50的帧时执行的动作(帧转发动作)。图14是示出在接收到障碍发生通知之后实施的帧转发步骤的流程图。另外,假设在端ロ状态管理部340的障碍状态编号342中,作为障碍状态编号存储了 1(伴随障碍发生通知而从0被更新为I)。另外,将图14所示的帧转发步骤分成如下情况而进行说明(A)在FDB352中没有与接收帧的目的地MAC地址相应的项目的情况;(B)在FDB352中有与接收帧的目的地MAC地址相应的项目、且所得到的项目的障碍状态编号等于障碍状态编号342中存储的值的情况;(C)在FDB352中有与接收帧的目的地MAC地址相应的项目、且所得到的项目的障碍状态编号与障碍状态编号342中存储的值不同、且所得到的项目的输出端ロ与FDB消除因素端口号343不同的情况;(D)在FDB352中有与接收帧的目的地MAC地址相应的项目、且所得到的项目的障碍状态编号与障碍状态编号342中存储的值不同、且所得到的项目的输出端ロ等于FDB消除因素端口号343的情況。(A)在FDB352中没有与接收帧的目的地MAC地址相应的项目时的帧转发在环路节点300中,如果例如用端ロ 303接收到发往节点50的帧(步骤S31),则输入输出处理部310对输出端ロ检索处理部350进行委托(输出端ロ的检索委托)以将节点50的MAC地址作为检索关键字而检索FDB352。在接收到输出端ロ的检索委托的输出端ロ检索处理部350中,FDB控制部351将在委托时被通知到的节点50的MAC地址作为检索关键字而检索FDB352,确认是否存在与委托内容对应的项目(步骤S32、S33)。然后,此处,FDB控制部351判断为没有相应项目(步骤S33 否”),并将该意思通知给输入输出处理部310。接收到没有相应项目的通知的输入输出处理部310拷贝接收帧,向交换处理部320委托以对除了接收到该帧的端ロ 303以外的端ロ转发(扩散),交换处理部320按照委托内容,对用端ロ 303接收到的上述帧进行扩散(步骤S34)。
(B)在FDB352中有与接收帧的目的地MAC地址相应的项目、且所得到的项目的障碍状态编号等于障碍状态编号342中存储的值时的帧转发在环路节点300中,如果例如用端ロ 303接收到发往节点50的帧(步骤S31),则输入输出处理部310对输出端ロ检索处理部350进行委托(输出端ロ的检索委托)以将节点50的MAC地址作为检索关键字而检索FDB352。在接收到输出端ロ的检索委托的输出端ロ检索处理部350中,FDB控制部351将在委托时被通知到的节点50的MAC地址作为检索关键字而检索FDB352,确认是否存在与委托内容对应的项目(步骤S32、S33)。然后,此处,FDB控制部351获取与检索关键字对应的项目(步骤S33 是”),进而,确认项目中登记的障碍状态编号是否为最新。即,确认所登记的障碍状态编号是否与障碍状态编号342中存储的障碍状态编号一致(步骤S35)。然后,此处,判断为上述获取的项目的障碍状态编号最新(步骤S35 是”),FDB控制部351将该项目中登记的输出端ロ通知给输入输出处理部310。接收到该通知的输入输出处理部310向交换处理部320委托以对被通知到的输出端ロ转发接收帧,交换处理部320转发接收帧(步骤S38)。 (C)在FDB352中有与接收帧的目的地MAC地址相应的项目、且所得到的项目的障碍状态编号与障碍状态编号342中存储的值不同、且所得到的项目的输出端ロ与FDB消除因素端口号343不同时的帧转发这是在输出端ロ检索中得到的项目虽然是在障碍发生前学习的项目但为不需要进行障碍所致的路径变更的目的地的项目时的动作。在环路节点300中,如果例如用端ロ 303接收到发往接收节点50的帧(步骤S31),则输入输出处理部310对输出端ロ检索处理部350进行委托(输出端ロ的检索委托)以将节点50的MAC地址作为检索关键字而检索FDB352。在接收到输出端ロ的检索委托的输出端ロ检索处理部350中,FDB控制部351将在委托时被通知到的节点50的MAC地址作为检索关键字而检索FDB352,确认是否存在与委托内容对应的项目(步骤S32、S33)。然后,此处,FDB控制部351获取与检索关键字对应的项目(步骤S33 是”),进而确认项目中登记的障碍状态编号是否为最新。即,确认所登记的障碍状态编号是否与障碍状态编号342中存储的障碍状态编号一致(步骤S35)。然后,判断为上述获取的项目的障碍状态编号并非最新(步骤S35:“否”),进而确认上述获取的项目中登记的输出端口号是否与FDB消除因素端ロ号相当(步骤S36)。S卩,FDB控制部351确认项目中登记的输出端口号是否与端ロ状态管理340a的FDB消除因素端口号343的值一致,在该情况下,由于不一致,所以判断为不与FDB消除因素端口号相当(步骤S36:“否”),将上述获取的项目中登记的障碍状态编号更新为端ロ状态管理340a的障碍状态编号342的值,将更新后的项目进行改写登记(步骤S37)。另外,FDB控制部351将该项目中登记的输出端ロ通知给输入输出处理部310。接收到该通知的输入输出处理部310向交换处理部320委托以对被通知到的输出端ロ转发接收帧,交换处理部320转发接收帧(步骤S38)。(D)在FDB352中有与接收帧的目的地MAC地址相应的项目、且所得到的项目的障碍状态编号与障碍状态编号342中存储的值不同、且所得到的项目的输出端ロ等于FDB消除因素端口号343时的帧转发这是在输出端ロ检索中得到的项目为在障碍发生前学习的项目且为需要进行障碍所致的路径变更的目的地的项目时的动作。
在环路节点300中,如果例如用端ロ 303接收到发往节点50的帧(步骤S31 ),则输入输出处理部310对输出端ロ检索处理部350进行委托(输出端ロ的检索委托)以将节点50的MAC地址作为检索关键字来检索FDB352。在接收到输出端ロ的检索委托的输出端ロ检索处理部350中,FDB控制部351将在委托时被通知到的节点50的MAC地址作为检索关键字而检索FDB352,确认是否存在与委托内容对应的项目(步骤S32、S33)。然后,此处,FDB控制部351获取与检索关键字对应的项目(步骤S33 是”),进而,确认项目中登记的障碍状态编号是否为最新。即,确认所登记的障碍状态编号是否与障碍状态编号342中存储的障碍状态编号一致(步骤S35)。然后,判断为上述获取的项目的障碍状态编号并非最新(步骤S35:“否”),进而,确认上述获取的项目中登记的输出端口号是否与FDB消除因素端口号相当(步骤S36)。然后,判断为与FDB消除因素端口号相当(步骤S36 :“i”),FDB控制部351使该项目无效化(步骤S39)。关于无效化的方法,没有特别規定。既可以将项目的检索关键字以及输出信息全部删除,也可以仅删除检索关键字。另外,也可以准备表示无效化了的标志(表示空闲项目的标志),并设置该标志。此外,通过哪一方法进行无效化都可以。在进行了项目的无效化之后,FDB控制部351将没有相应项目(相应的输出端ロ不明)通知给输入输出处理部310。接收到没有相应项目的通知的输入输出处理部310拷贝接收帧,向交换处理部320委托以对接收到该帧的端ロ 303以外的端ロ转发(扩散),交换处理部320按照委 托内容,对用端ロ 302接收到的上述帧进行扩散(步骤S34)。这样,本实施方式的环路节点每当接收到在环形网络中发生障碍的通知吋,更新表示进行了 FDB学习的时刻的网络状态的管理编号(障碍状态编号),进而将通知来障碍发生的帧(障碍通知帧)的接收端ロ存储为FDB消除因素端ロ,并且,伴随一般帧的接收而进行地址学习,在更新FDB的情况下,将所接收到的帧的发送源MAC地址作为检索关键字,并将该时刻的障碍状态编号以及帧的接收端ロ作为输出信息而登记到项目。然后,在转发帧时的输出端ロ检索中,与检索关键字对应的项目中登记的障碍状态编号并非最新的值,并且该项目中登记的输出端ロ与FDB消除因素端ロ相当的情况下,使该项目无效化。由此,不需要进行以往需要的使FDB的全部项目无效化的处理,而能够仅使真正需要的目的地的FDB项目无效化。其结果,在环形网络中发生了障碍的情况下,能够迅速地再次开始地址学习,并且不需要向对障碍所致的路径切换不造成影响的路径的节点进行无用的扩散动作。另外,在本实施方式中,说明了仅将对特定的端ロ输出的项目设为无效化的对象的手法,但根据网络障碍,有时也需要使全部项目无效化。因此,也可以定义表示全部端ロ的特别的值作为FDB消除因素端ロ,在需要使全部项目无效化的情况下,在FDB消除因素端口号343中存储该值。另外,在实施方式I以及2中,说明了作为环形网络的节点动作的通信装置,但对于本发明的通信装置,只要是各节点以伴随网络中的障碍发生而使此前的地址学习结果无效化并重新进行地址学习的方式动作的网络,还能够应用于采用了环型以外的拓扑结构的网络。产业上的可利用性如以上那样,本发明的通信装置对构成网络并按照地址学习结果转发接收帧的节点装置是有用的,特别适用于在短时间内再次开始障碍发生后的地址学习的节点装置。
权利要求
1.一种通信装置,作为网络的节点工作,其特征在于,具备 状态管理单元,每当检测到在网络内发生障碍时,更新表示网络的状态的状态信息; 数据库更新单元,根据接收帧的发送源地址以及接收端口和所述状态管理单元中管理的状态信息,更新用于决定接收到以该发送源地址为目的地地址的帧时的输出端口的数据库;以及 输出目的地决定单元,通过将接收帧的目的地地址以及所述状态管理单元中管理的状态信息作为检索关键字而检索所述数据库,由此决定接收帧的输出端口。
2.根据权利要求I所述的通信装置,其特征在于, 所述数据库更新单元制作将所述发送源地址以及所述状态信息作为检索关键字并将所述接收端口作为输出信息的项目,并登记到所述数据库。
3.根据权利要求I所述的通信装置,其特征在于, 所述数据库更新单元在以接收帧的发送源地址以及所述状态管理单元中管理的状态信息为检索关键字的项目没有登记于所述数据库的情况下,制作将该发送源地址以及该状态信息作为检索关键字并将所述接收端口作为输出信息的项目,并登记到所述数据库。
4.根据权利要求I或者3所述的通信装置,其特征在于, 所述数据库更新单元在虽然以接收帧的发送源地址以及所述状态管理单元中管理的状态信息为检索关键字的项目登记于所述数据库、但其输出信息没有表示所述接收端口的情况下,变更该项目以使该项目的输出信息表示所述接收端口。
5.一种通信装置,作为网络的节点工作,其特征在于,具备 状态管理单元,每当检测到在网络内发生障碍时,更新表示网络的状态的状态信息,进而,将发生了障碍的端口或者接收到通知障碍发生的帧的端口存储为无效端口 ; 数据库更新单元,根据接收帧的发送源地址以及接收端口和所述状态管理单元中管理的状态信息,更新用于决定接收到以该发送源地址为目的地地址的帧时的输出端口的数据库;以及 输出目的地决定单元,将接收帧的目的地地址作为检索关键字而检索所述数据库,根据所得到的检索结果和由所述状态管理单元存储的无效端口,决定接收帧的输出端口。
6.根据权利要求5所述的通信装置,其特征在于, 所述数据库更新单元制作将所述发送源地址作为检索关键字并将所述状态信息以及所述接收端口作为输出信息的项目,并登记到所述数据库。
7.根据权利要求5或者6所述的通信装置,其特征在于, 所述数据库更新单元在虽然以接收帧的发送源地址为检索关键字的项目登记于所述数据库、但其输出信息表示与所述接收端口不同的端口、或者该输出信息包括与所述状态管理单元中管理的状态信息不同的状态信息的情况下,变更该项目以使该项目的输出信息表示所述接收端口并且包括与所述状态管理单元中管理的状态信息相同的状态信息。
8.根据权利要求5、6或者7所述的通信装置,其特征在于, 所述输出目的地决定单元在所述检索结果中包含的状态信息与所述状态管理单元中管理的状态信息不同、并且该检索结果表示的输出端口与由所述状态管理单元存储的无效端口相当的情况下,使与该检索结果对应的所述数据库内的项目无效化。
9.根据权利要求5、6或者7所述的通信装置,其特征在于,所述输出目的地决定单元在所述检索结果中包含的状态信息与所述状态管理单元中管理的状态信息不同、并且该检索结果表示的输出端口与由所述状态管理单元存储的无效端口不同的情况下,更新该项目以使与该检索结果对应的数据库内的项目包括与所述状态管理单元中管理的状态信息相同的管理信息。
10.根据权利要求9所述的通信装置,其特征在于, 所述输出目的地决定单元将所述接收帧的输出目的地决定为所述检索结果表示的输出端口。
11.根据权利要求广10中的任意一项所述的通信装置,其特征在于, 所述通信装置构成环形网络。
12.—种地址学习方法,在作为网络的节点工作的通信装置更新用于决定接收到帧时的输出端口的数据库的情况下执行,其特征在于,包括 状态信息更新步骤,每当检测到在网络内发生障碍时,更新表示网络的状态的状态信息;以及 项目登记步骤,根据接收帧的发送源地址以及接收端口和所述状态信息,确认是否需要在所述数据库中登记新项目,在需要的情况下,制作将该发送源地址以及该状态信息作为检索关键字并将该接收端口作为输出信息的项目,并登记到所述数据库。
13.根据权利要求12所述的地址学习方法,其特征在于, 在所述项目登记步骤中,在具有与最新的状态信息不同的状态信息的项目登记于数据库的情况下,针对该现有项目改写登记所制作出的项目。
14.根据权利要求12或者13所述的地址学习方法,其特征在于, 还包括已登记项目变更步骤,在该已登记项目变更步骤中,确认以接收帧的发送源地址以及所述状态信息为检索关键字的项目是否登记于所述数据库,在登记了的情况下,进而确认该项目的输出信息是否表示所述接收帧的接收端口,如果未表示,则变更该项目以使输出信息表示所述接收帧的接收端口。
15.一种地址学习方法,在作为网络的节点工作的通信装置更新用于决定接收到帧时的输出端口的数据库的情况下执行,包括 管理信息更新步骤,每当检测到在网络内发生障碍时,更新表示网络的状态的状态信息,进而,将发生了障碍的端口或者接收到通知障碍发生的帧的端口存储为无效端口 ;以及 项目登记步骤,根据接收帧的发送源地址以及接收端口和所述状态信息,确认是否需要在所述数据库中登记新项目,在需要的情况下,制作将该发送源地址作为检索关键字并将该状态信息以及该接收端口作为输出信息的项目,并登记到所述数据库。
16.根据权利要求15所述的地址学习方法,其特征在于, 还包括项目变更步骤,在该项目变更步骤中,在虽然以接收帧的发送源地址为检索关键字的项目登记于所述数据库、但其输出信息表示与该接收帧的接收端口不同的端口、或者该输出信息包括与最新的状态信息不同的状态信息的情况下,变更该项目以使该项目的输出信息表示该接收端口并且包括与最新的状态信息相同的状态信息。
17.根据权利要求15或者16所述的地址学习方法,其特征在于, 还包括项目无效化步骤,在该项目无效化步骤中,执行用于决定输出端口的数据库检索,其结果,在检测到虽然与接收帧的目的地地址对应的项目登记于所述数据库、但其输出信息中包含的状态信息与最新的状态信息不同、并且该输出信息表示的输出端口与所述无效端口相当的情况下,使该项目无效化。
18.根据权利要求15、16或者17所述的地址学习方法,其特征在于, 还包括项目更新步骤,在该项目更新步骤中,执行用于决定输出端口的数据库检索,其结果,在检测到虽然与接收帧的目的地地址对应的项目登记于所述数据库、但其输出信息中包含的状态信息与最新的状态信息不同、并且该输出信息表示的输出端口与所述无效端口不同的情况下,变更该项目以使该项目的输出信息包括最新的状态信息。
全文摘要
本发明提供一种作为网络的节点工作的通信装置,具备端口状态管理部(340),每当检测到在网络内发生障碍时,更新表示网络的状态的状态信息;数据库更新单元,根据接收帧的发送源地址以及接收端口和端口状态管理部(340)中管理的状态信息,更新用于决定接收到以发送源地址为目的地地址的帧时的输出端口的数据库;以及输出目的地决定单元,通过将接收帧的目的地地址以及端口状态管理部(340)中管理的状态信息作为检索关键字而检索数据库,决定接收帧的输出端口。
文档编号H04L12/44GK102771092SQ20108006459
公开日2012年11月7日 申请日期2010年2月25日 优先权日2010年2月25日
发明者北山健志, 北市隆一, 鹿岛和幸 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1