CN101330370A - 节点、通信方法和用于节点的程序 - Google Patents

节点、通信方法和用于节点的程序 Download PDF

Info

Publication number
CN101330370A
CN101330370A CNA2008100932693A CN200810093269A CN101330370A CN 101330370 A CN101330370 A CN 101330370A CN A2008100932693 A CNA2008100932693 A CN A2008100932693A CN 200810093269 A CN200810093269 A CN 200810093269A CN 101330370 A CN101330370 A CN 101330370A
Authority
CN
China
Prior art keywords
port
virtual
physical
node
frame
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
Application number
CNA2008100932693A
Other languages
English (en)
Other versions
CN101330370B (zh
Inventor
小笠原大作
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of CN101330370A publication Critical patent/CN101330370A/zh
Application granted granted Critical
Publication of CN101330370B publication Critical patent/CN101330370B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种节点、通信方法和用于节点的程序。所述节点能够防止当链路故障发生时由于在通信量通信路径之间的转换而引起的问题。按照本发明的一个实施例,在节点10的端口中,在虚拟端口VP1中记录连接到在节点10和节点20之间的链路的端口P1和P2,并且在虚拟端口VP2中记录连接到在节点10和节点30之间的链路的端口P3和P4。在被分配到虚拟LAG组的虚拟端口VP3中记录虚拟端口VP1和VP2。当在节点10和节点20之间的一个链路被断开时,节点10从在属于被分配到虚拟LAG组的虚拟端口VP3的虚拟端口中的、包括连接到链路的物理端口的虚拟端口发送已经从所述物理端口发送的帧。

Description

节点、通信方法和用于节点的程序
技术领域
本发明涉及节点、通信方法和用于节点的程序,并且更具体地涉及能够改善通信可靠性的节点、通信方法和用于节点的程序。
背景技术
传送大量数据通信量的中枢网络要求即使在网络节点(以下简称为节点)之间的链路断开或者节点故障的情况下也能够防止通信中断的高可靠性。为了满足所述要求,已经开发了下面的技术:用于将多个链路虚拟为一个链路的链路冗余技术;以及用于将多个节点虚拟为一个节点的节点冗余技术。
当需要指定作为链路或者节点的最小单元时,所述链路或者节点分别被称为物理链路或者物理节点。即,在节点之间的实际链路被称为物理链路,并且在网络上安装的实际节点被称为物理节点。另外,通过冗余技术被虚拟为一个链路(被看作一个链路)的多个物理链路被称为虚拟链路。类似地,被冗余技术虚拟为一个节点(被看作一个节点)的多个物理节点被称为虚拟节点。此外,当简述链路或者节点时,其表示物理链路或者物理节点。
类似地,作为端口的最小单元被称为物理端口(或者简称为端口)。即,在节点中实际提供的端口被称为物理端口(或者简称为端口)。被虚拟为一个端口(被看作一个端口)的多个端口被称为虚拟端口。
非专利文件1(“IEEE Std 802.3ad Amendment to Carrier Sense MultipleAccess with Collision Detection(CSMA/CD)Access Method and PhysicalLayer Specifications”,“43.Link Aggregation”,IEEE(Institute of Electrical andElectronics Engineers,Inc),2000,pp 95-173)公开了一种被称为LAG(链路聚合)的端口冗余技术。LAG是适用于在以太网(Ethernet)网络中提供的以太网交换机(或者以太网节点)的端口冗余技术,其将在以太网交换机中提供的多个物理端口虚拟为一个物理端口,由此获得端口冗余。“Ethernet”是注册商标。因为以太网交换机的端口与以太网交换机之间的链路一一对应,因此LAG可以被称为链路冗余技术。
通过LAG将虚拟端口设置如下:在以太网交换机中提供的多个物理端口被划分到同一LAG组中,并且与以太网的其他物理端口和虚拟端口的端口标识符不同的端口标识符被分配到所述LAG组。具体地,通过将对应于LAG组的组标识符的虚拟端口的端口标识符和属于LAG组的物理端口的端口标识符的虚拟端口的端口标识符记录在LAG组管理表471(参见图22)中来设置虚拟端口,这将在下文中描述。
被分配到LAG组的端口标识符表示用于指示虚拟端口的端口标识符,但是其可以与用于指示在以太网交换机中传送以太网帧的处理器中的物理端口的端口标识符类似地被处理。
当设置虚拟端口时,用于防止在LAG中的广播风暴的技术和用于确定帧目的地的技术被应用到属于LAG组的物理端口。
术语“广播风暴”表示下述状态,其中,网络的通信频带由于在通过多个链路彼此连接的以太网交换机之间的广播帧的连续传送而被侵覆(overwhelming),这导致在整个网络中的不稳定的通信状况。因为以太网交换机通过多个链路彼此连接的结构被称为环结构,所以从一个以太网交换机向另一个以太网交换机传送的广播帧连续返回到源以太网交换机,这引起了广播风暴。
在用于防止LAG中的广播风暴问题的技术中,被输入到属于LAG组的物理端口的以太网帧不从属于LAG组的另一个物理端口发送,由此防止广播风暴。
在用于确定帧目的地的技术中,当发送以太网帧的端口(输出端口)是虚拟端口时,以太网帧被发送到在属于对应于虚拟端口的LAG组的物理端口中的、连接到无故障的链路的物理端口之一。结果,即使当发生链路故障时,也可以连续地执行通信,因此改善了通信的可靠性。
此外,按照用于确定帧目的地的技术,以太网帧被分配到无故障的多个链路以发送,这使得可以改善通信的可靠性,并且扩展在以太网交换机之间的通信频带。例如,已知负载平衡算法,该算法根据从一些或者全部下述参数获得的处理结果来确定以太网帧的输出端口,所述参数诸如在以太网帧的首标字段(header field)中存储的VLAN(虚拟局域网)标识符、源MAC地址和目的地MAC地址。用于当以太网帧被分配到多个无故障的链路时使用所述负载平衡算法来确定帧目的地的技术已经被应用到市场中的大多数现有以太网帧通信***。
接着,将参考附图来描述LAG的操作。图16A-16C是图解应用LAG的网络的示例的示图。
在图16A中所示的网络中,节点100、节点200和节点300是以太网交换机。在节点100和节点100之间的两个链路被LAG虚拟为一个虚拟链路。在图16A中所示的网络中,节点100的端口P1和P2被记录在同一LAG组中,并且端口标识符VP1被分配到LAG组。因为节点100和节点200是独立节点,因此节点100的LAG组与节点200的不同。因此,按照节点100和节点200之间的两个链路被虚拟为一个虚拟链路的结构,即使当节点100和节点200之间的所述两个物理链路中的一个断开时,也可以使用另一物理链路在节点100和节点200之间连续地执行通信。
但是,因为仅仅一个物理链路连接在节点100和节点300之间,因此未向通过所述物理链路连接的节点100的端口P3和节点300的端口P1设置LAG。
在图16A中,在节点100和节点200之间实现链路冗余,因为节点200在通信中起着重要作用。在这样的网络配置中,例如,节点200可以是服务器,节点300可以是节点100的客户端,节点100可以是连接所述服务器和所述终端的开关。或者,节点200可以是路由器,并且节点200也可以作为连接另一个网络(未示出)和节点100的网关。
端口P1、P2和P3中的每个包括接收以太网帧的输入端口和发送以太网帧的输出端口。假定在一个节点中的包括输入端口和输出端口的一个端口通过一个链路连接到在另一个节点中包括输入端口和输出端口的一个端口。例如,节点100的端口P1的输入端口和输出端口分别通过一个链路连接到节点200的端口P1的输出端口和输入端口。
接着,将说明在图16B中所示的网络。在图16B中所示的网络中,节点冗余被应用到在图16A中所示的网络中的节点200。因为节点冗余技术被应用到在图16B中所示的节点200和节点210,因此节点200和201进行操作就像一个物理节点。节点200和节点210被冗余地配置,以便节点200的端口P1和节点210的端口P1被记录在同一LAG组中,并且端口标识符VP1被分配到LAG组。但是,将节点200的端口P1和节点210的端口P1记录在同一LAG组中的必要性依赖于节点冗余技术的种类。
如图16B中所示,可以使用任何节点冗余技术,只要它可以通过LAG将虚拟节点(节点200和节点210)连接到另一个以太网交换机(节点100)。
当在图16B中所示的节点100的端口P1和P2被记录在同一LAG组中并且端口标识符VP1被分配到LAG组时,节点100和由节点200和节点210构成的虚拟节点之间的链路被虚拟为一个物理链路。因此,节点100识别出在图16B中所示的网络配置与在图16A中所示的网络配置完全相同。
在图16A中所示的网络中,当节点100和节点200之间的两个链路之一断开时,可以连续地执行通信。但是,当节点200故障时,不可以执行通信。同时,在图16B中所示的网络中,即使当节点200故障并且节点200和节点100之间的链路断开时,节点100也可以连续地执行通信。类似地,即使当节点210故障并且节点210和节点100之间的链路断开时,节点100也可以连续地执行通信。
按照用于防止LAG中的广播风暴的技术,在图16B中所示的配置中,从节点200向节点100发送的以太网帧不会被传送到节点210。类似地,从节点210向节点100发送的以太网帧不会被传送到节点200。因此,可以防止广播风暴。
此外,按照用于确定LAG中的帧目的地的技术,连接到断开的链路的端口或者连接到故障的节点的端口不会被选择作为以太网帧的输出端口。因此,即使当链路故障发生时,也可以连续地执行通信。当无故障发生时,节点100向节点200和节点210分配通信量。因此,也可以扩展通信频带。
如在图16B中所示的网络配置中那样,节点冗余技术和链路冗余技术的使用使得可以改善网络的可靠性。
接着,将说明在图16C中所示的网络。在图16C中所示的网络中,在图16B中所示的网络中的节点100和节点200之间的链路和节点100和节点210之间的链路被冗余地配置。这种结构可以进一步改善网络的可靠性。
在图16C中所示的网络中,节点200的端口P1和P2与节点210的端口P1和P2被记录在同一LAG组中,并且端口标识符VP1被分配到所述LAG组。如上所述,节点100和节点210中的LAG的设置依赖于节点冗余技术的种类。因此,节点200和节点210中的LAG的设置仅仅是说明性的,节点200的端口P1和P2与节点210的端口P1和P2不必然属于同一LAG组。
在节点100的物理端口P1-P4中,物理端口P1和P2连接到节点100和节点200之间的链路,并且物理端口P3和P4连接到节点100和节点210之间的链路。节点100的物理端口P1-P4被记录在同一LAG组中,并且端口标识符VP1被分配到所述LAG组。
以这种方式,节点100通过冗余链路连接到节点200和节点210。因此,在图16C中所示的网络配置比在图16B中所示的网络配置具有更高的可靠性。
接着,作为与本发明相关的技术,将说明在图16C中所示的网络中使用的一般节点的配置的示例。图17是图解所述一般节点的配置的框图。下面将在图16C中所示的节点100作为一个示例来描述。如图17中所示,一般节点100包括输入端口400-1到400-5、(frame switch)410、输出端口420-1到420-5、FDB存储单元430、输出端口管理表存储单元440、广播帧发送允许端口管理表存储单元450、端口管理表存储单元460、LAG组管理表存储单元470、LAG管理单元480、端口状态管理单元490、端口状态管理表存储单元500和设置接口单元510。
节点100的输入端口400-1到400-5是在图16C中所示的节点100的端口P1-P5中的接收器侧端口。即,节点100的输入端口400-1到400-5接收从相邻节点200、210或者300发送的以太网帧。具体地,节点100的输入端口400-1接收从节点200的端口P1发送的以太网帧。节点100的输入端口400-2接收从节点200的端口P2发送的以太网帧。节点100的输入端口400-3接收从节点210的端口P1发送的以太网帧。节点100的输入端口400-4接收从节点210的端口P2发送的以太网帧。节点100的输入端口400-5接收从节点300的端口P1发送的以太网帧。
类似地,节点100的输出端口420-1到420-5是在图16C中所示的节点100的端口P1-P5中的发送机侧端口。即,节点100的输出端口420-1到420-5向相邻节点200、210或者300发送以太网帧。具体地,节点100的输出端口420-1向节点200的端口P1发送以太网帧。节点100的输出端口420-2向节点200的端口P2发送以太网帧。节点100的输出端口420-3向节点210的端口P1发送以太网帧。节点100的输出端口420-4向节点210的端口P2发送以太网帧。节点100的输出端口420-5向节点300的端口P1发送以太网帧。
节点100的帧开关410根据从节点200、210和300接收的以太网帧的以太网帧首标的内容和在FDB存储单元430、广播帧发送允许端口管理表存储单元450和端口管理表存储单元460中存储的数据库中记录的信息来确定发送所接收的以太网帧的输出端口,然后从所确定的输出端口发送以太网帧。
节点100的FDB存储单元430是存储FDB(转发数据库)的存储器件。FDB是记录以太网帧的目的地信息和发送以太网帧的端口的端口标识符并且使得它们彼此相关联的数据库。发送以太网帧的端口的端口标识符不限于物理端口的端口标识符,其可以是虚拟端口的端口标识符。发送以太网帧的端口的端口标识符可以被称为输出信息。在FDB存储单元430中存储的FDB被节点100的帧开关410更新或者参考。
图18是图解节点100的FDB存储单元430中存储的FDB的示例的示图。作为以太网帧的目的地信息,目的地节点标识符(即目的地MAC地址)被记录在节点100的FDB存储单元430中存储的FDB 431中。另外,在节点(在此情况下是节点100)中提供的物理端口的端口标识符或者虚拟端口的端口标识符被记录在FDB中来作为对应于目的地节点标识符的输出信息(目的地MAC地址)。例如,在图18中所示的节点100的FDB 431的第一条目(entry)表示:当所接收的以太网帧的目的地MAC地址是节点200的MAC地址时,发送以太网帧的输出端口是端口VP1。
从某个部件查看的节点表示包括所述部件本身的节点。
记录FDB中的以太网帧的目的地信息和输出信息之间的对应性的以太网交换机的操作一般被称为MAC地址学习。下面说明MAC地址学习的操作。
节点100的输出端口管理表存储单元440是存储输出端口管理表的存储器件。输出端口管理表是这样一种数据库,其中,输出信息与在节点(在此情况下是节点100)中提供的物理端口P1-P5相关联,并且指示当根据从在节点中提供的物理端口P1-P5接收的以太网帧而执行MAC地址学习时要被记录在FDB 431中的输出信息。帧开关410在MAC地址学习期间参考输出端口管理表,由此搜索要被记录在FDB 431中的输出信息。
图19是图解在节点100的输出端口管理表存储单元440中存储的输出端口管理表的示例的示图。在输出端口管理表存储单元440中存储的输出端口管理表441中,在MAC地址学习期间作为输出信息要被记录在FDB431中的端口标识符被记录到接收以太网帧的物理端口的端口标识符(在图19中为端口标识符P1-P5)。例如,在图19中所示的节点100的输出端口管理表441的第一条目表示:当节点100的帧开关410使用由端口P1接收的以太网帧执行MAC地址学习时,在所述以太网帧中存储的源MAC地址被记录在节点的FDB存储单元430中存储的FDB 431的目的地信息字段中,并且端口标识符VP1被记录在输出信息字段中。
另外,在节点(在此情况下是节点100)中提供的物理端口的端口标识符被记录作为输出端口管理表441的初始值。因此,当帧开关410在节点100开始后立即执行MAC地址学习时,接收以太网帧的物理端口的端口标识符被作为输出信息记录在节点100的FDB 431中。
在初始状态后,LAG管理单元480更新输出端口管理表441。下面说明输出端口管理表441的更新。
节点100的广播帧发送允许端口管理表存储单元450是存储广播帧发送允许端口管理表的存储器件。所述广播帧发送允许端口管理表是这样一种数据库,其中,在节点中提供的物理端口与允许发送由物理端口接收的广播帧的所有端口相关联。当向另一个节点发送所接收的广播帧时,帧开关410参考所述广播帧发送允许端口管理表。
图20是图解在节点100的广播帧发送允许端口管理表存储单元450中存储的广播帧发送允许端口管理表的示例的示图。如图20中所示,在广播帧发送允许端口管理表451中,接收广播帧的物理端口的端口标识符(在图20中为端口标识符P1-P5)被记录,使得其与允许发送广播帧的全部物理端口或者虚拟端口的端口标识符相关联。例如,在图20中所示的节点100的广播帧发送允许端口管理表451的第一条目表示:当端口P1接收广播帧时,仅仅端口P5被允许发送该广播帧。
广播帧发送允许端口管理表451被节点的LAG管理单元480更新。下面说明更新处理。
节点100的端口管理表存储单元460是存储端口管理表的存储器件。端口管理表是这样一种数据库,其中,记录有对于被分配到节点(在此为节点100)的LAG组的每个虚拟端口以及对于不属于任何LAG组的每个物理端口的能够发送/接收以太网帧的物理端口的端口标识符。
由节点的LAG管理单元480更新端口管理表。下面说明LAG管理单元480更新端口管理表的操作。当向另一个节点发送所接收的帧时,帧开关410参考端口管理表。
在端口管理表存储单元460中存储的端口管理表中,在属于每个虚拟端口的物理端口中的、能够发送/接收以太网帧的物理端口的端口标识符被记录用于在节点中设置的每个虚拟端口的端口标识符。当属于虚拟端口的所有物理端口不能发送或者接收以太网帧时,对应于虚拟端口的端口标识符而记录一个值(例如空值(NULL值)),其指示没有能够发送或者接收以太网帧的物理端口。
此外,在端口管理表中,在节点(在此为节点100)中提供的物理端口中,不属于在节点中设置的LAG组的物理端口的端口标识符被记录,使得其与它们自己的端口标识符或者用于指示没有能够发送/接收以太网帧的物理端口的值(例如空值(NULL值))相关联。当不属于在节点中设置的任何LAG组的物理端口能够发送或者接收以太网帧时,物理端口的端口标识符被记录。当物理端口不能发送或者接收以太网帧时,指示没有能够发送/接收以太网帧的物理端口的值(例如空值(NULL值))被记录。
图21是图解在节点100的端口管理表存储单元460中存储的端口管理表的示例的示图。在图21中所示的端口管理表461的第一条目表示:在属于虚拟端口VP1的物理端口中,端口P1、P3和P4能够发送或者接收以太网帧。另外,在图21中所示的端口管理表461的第二条目表示节点的物理端口P5能够发送或者接收以太网帧。
节点100的LAG组管理表存储单元470是存储LAG组管理表的存储器件。所述LAG组管理表是这样一种数据库,其中,在节点中设置的LAG组、被分配给该LAG组的虚拟端口标识符和属于该LAG组的物理端口彼此相关联。例如,在该数据库中,在节点中设置的LAG组的组标识符、被分配到LAG组的虚拟端口的端口标识符和属于该LAG组的物理端口的端口标识符彼此相关联。
设置接口单元510是用户界面,其允许节点管理员更新LAG组管理表(记录或者修改数据)。设置接口单元510被管理员操作,并且响应于来自管理员的指令而更新LAG组管理表。即,管理员操作设置接口单元510以将数据记录在LAG组管理表中。当更新LAG组管理表时,LAG管理单元480参考LAG组管理表来更新输出端口管理表441、广播帧发送允许端口管理表451和端口管理表461。
被分配到LAG组的虚拟端口的端口标识符可以被记录,以便不同于被分配到在节点中设置的另一个LAG组的虚拟端口的端口标识符和在节点中提供的物理端口的端口标识符。另外,不能在多个LAG组中记录同一端口标识符。
另外,在节点中的每个处理器被配置以便确定端口标识符是物理端口还是虚拟端口。在说明书中所示的示例中,所述物理端口包括从“P”开始的端口标识符,并且所述虚拟端口包括从“VP”开始的端口标识符。以这种方式,可以将物理端口的端口标识符和虚拟端口的端口标识符区别开。
图22是图解在节点100的LAG组管理表存储单元470中存储的LAG组管理表的示例的示图。如图22中所示,在LAG组管理表471中,LAG组的组标识符、被分配到LAG组的虚拟端口的端口标识符和属于该LAG组的一个或多个物理端口的端口标识符被记录以彼此相关联。在图22中所示的LAG组管理表471的第一条目表示虚拟端口的端口标识符VP1被分配到LAG组LG1,并且物理端口P1、P2、P3和P4属于该LAG组。
节点100的LAG管理单元480参考在节点的LAG组管理表存储单元470中存储的LAG组管理表471来更新输出端口管理表441和广播帧发送允许端口管理表451。另外,LAG管理单元480参考LAG组管理表471和在端口状态管理表存储单元500中存储的端口状态管理表来更新端口管理表461。下面参考图23来描述端口状态管理表。
节点100的端口状态管理单元490根据节点100的输入端口400-1到400-5是否能够接收以太网帧和节点100的输出端口420-1到420-5是否能够发送以太网帧来确定节点100的端口P1-P5的状态,并且将确定结果记录在节点100的端口状态管理表存储单元500中存储的端口状态管理表中。
此外,当节点的端口状态管理表被更新时,端口状态管理单元490向节点的LAG管理单元480通知端口状态管理表已经被更新。
节点100的端口状态管理表存储单元500是存储端口状态管理表的存储器件。端口状态管理表是管理节点中的每个物理端口的状态的数据库。具体地,端口状态管理表是这样的数据库,其中,在节点中的每个物理端口的端口标识符与用于指示物理端口是可用还是不可用的信息相关联。所述“可用的物理端口”表示能够发送/接收数据的物理端口,而“不可用的物理端口”表示不能发送/接收数据的物理端口。
端口状态管理单元490更新在端口状态管理表中的每个物理端口的可用或不可用的状态。另外,LAG管理单元480参考所述端口状态管理表来更新输出端口管理表441、广播帧发送允许端口管理表451和端口管理表461。
图23是图解在节点100的端口状态管理表存储单元500中存储的端口状态管理表的示例的示图。如图23中所示,在节点中提供的物理端口的端口标识符和所述物理端口的状态被记录在端口状态管理表存储单元500中存储的端口状态管理表501中。当物理端口能够发送/接收以太网帧时,所述物理端口被记录为“可用状态”,而当物理端口不能发送/接收以太网帧时,物理端口被记录为“不可用状态”。例如,在图23中示出的端口状态管理表501的第一条目表示物理端口P1的端口状态为可用,因此物理端口P1能够发送/接收以太网帧。另一方面,在图23中所示的端口状态管理表501的第二条目表示物理端口P2的端口状态为不可用,因此物理端口P2不能发送/接收以太网帧。
接着,下面描述一般节点(参见图17)的操作。以下,将说明在图16C中所示的一般节点100的LAG管理单元480的操作。
当节点100的管理员使用设置接口单元510来更新LAG组管理表471时(参见图22),LAG管理单元480根据在节点(在此为节点100)的LAG组管理表存储单元470中存储的LAG组管理表471来更新节点的输出端口管理表441、广播帧发送允许端口管理表451和端口管理表461。接着,将描述更新每个表格的处理。
首先,将描述更新在输出端口管理表存储单元440中存储的输出端口管理表441的处理。假定,在节点中提供的物理端口被记录作为属于在经过更新的LAG组管理表471中的LAG组的物理端口。即,假定在节点中提供的物理端口的端口标识符被记录在LAG组管理表471中,以便与LAG组标识符和被分配到LAG组的虚拟端口的端口标识符相关联。在这种情况下,LAG管理单元480将被分配到LAG组的虚拟端口的端口标识符作为要在FDB中被记录作为输出信息的端口标识符记录在输出端口管理表441中(参见图19),以便与物理端口的端口标识符相关联。另外,LAG管理单元480将在节点中提供的物理端口中的、不属于任何LAG组的物理端口的端口标识符作为要在FDB中被记录作为输出信息的端口标识符而记录在输出端口管理表441中(参见图19)。即,对于在节点中提供的物理端口中的、其标识符未被记录在LAG组管理表471中的物理端口,LAG管理单元480将这些物理端口的端口标识符记录在输出端口管理表441中,以便使得这些物理端口与它们自己的端口标识符相关联。
例如,假定LAG组管理表471被如图22所示更新。在这种情况下,节点的物理端口P1-P4与虚拟端口的端口标识符VP1相关联。因此,LAG管理单元480将虚拟端口的端口标识符VP1记录在输出端口管理表441中,以便与物理端口的端口标识符P1-P4的每个相关联。图19示出了在这种状态中的输出端口管理表。在节点的物理端口中的物理端口P5没有被记录在LAG组管理表471中。因此,如图19中所示,LAG管理单元480记录所述物理端口的端口标识符P5,以便该物理端口与它自己的端口标识符P5相关联。
当LAG组管理表471(参见图22)被更新时,LAG管理单元480也更新广播帧发送允许端口管理表451(参见图20),如下所述。LAG管理单元480确定在节点(在此为节点100)中提供的物理端口的每个是否被记录作为属于在经更新的LAG组管理表471中的LAG组的物理端口。然后,LAG管理单元480将作为属于LAG组的物理端口的、被记录在LAG组管理表471中的物理端口与在广播帧发送允许端口管理表451中它们自己的端口标识符相关联。另外,LAG管理单元480记录有在被分配到所有的LAG组(除了包括物理端口的LAG组之外)和在节点中提供的物理端口的虚拟端口的端口标识符中的、不属于任何LAG组的所有物理端口的端口标识符。
同时,对于不属于任何LAG组并且未被记录在LAG组管理表471中的物理端口(被称为物理端口A),LAG管理单元480将被分配到每个LAG组的虚拟端口的端口标识符和在不属于任何LAG组的所有物理端口中的、除了物理端口A之外的所有物理端口的端口标识符记录在广播帧发送允许端口管理表451中,以便与物理端口A的端口标识符相关联。
例如,假定LAG组管理表471如图22中所示被更新。在这种情况下,LAG管理单元480参考LAG组管理表471来确定物理端口P1属于LAG组LG1,并且被记录在LAG组管理表471中。因此,LAG管理单元480将物理端口P1记录在广播帧发送允许端口管理表451中,以便与不属于任何LAG组的所有物理端口的端口标识符P5相关联。在这个示例中,因为没有设置除了包括物理端口P1的LAG组之外的LAG组,因此不存在除了包括物理端口P1的LAG组之外的任何LAG组。因此,被分配到这些LAG组的虚拟端口的端口标识符未被记录,而是仅仅针对P1记录了P5。图20示出了在这种状态中的广播帧发送允许端口管理表。类似地,仅仅P5与P2-P4相关联。另外,LAG管理单元480参考LAG组管理表471确定P5不属于任何LAG组。因此,LAG管理单元480将被分配到每个LAG组的虚拟端口(在本示例中为VP1)的端口标识符记录在广播帧发送允许端口管理表451中,以便与P5相关联(参见图20)。另外,因为在本示例中仅仅物理端口P5不属于任何LAG组,因此,该物理端口的端口标识符未被记录以与P5相关联。如上所述,当LAG组管理表471被如图22中所示更新时,LAG管理单元480将广播帧发送允许端口管理表451设置为在图20中所示的状态。
此外,节点100的LAG管理单元480参考LAG组管理表471和在端口状态管理表存储单元500中存储的端口状态管理表501(参见图23)来更新在端口管理表存储单元460中存储的端口管理表461。即,LAG管理单元480参考LAG组管理表471来搜索被分配到在节点中设置的每个LAG组的虚拟端口的端口标识符。然后,LAG管理单元480参考端口状态管理表501确定与每个被搜索到的虚拟端口的端口标识符相关联的一个或多个物理端口(属于LAG组的物理端口)是可用还是不可用,并且选择被确定为可用的所有物理端口的端口标识符。LAG管理单元480将从LAG组管理表471搜索到的虚拟端口的端口标识符和在与每个虚拟端口的端口标识符相关联的物理端口中的、被确定为可用的所有物理端口的端口标识符记录在端口管理表461中,以便使得它们彼此相关联。在这种情况下,当被确定为不可用的物理端口的端口标识符被记录在端口管理表461中以便与每个被搜索到的虚拟端口的端口标识符相关联时,LAG管理单元480从端口管理表461中删除被确定为不可用的物理端口的端口标识符。当没有被确定为可用的物理端口时,LAG管理单元480将虚拟端口的端口标识符和用于指示没有能够发送/接收数据的物理端口的值记录在端口管理表461中,以便使得它们彼此相关联。在下面的说明中,将NULL值用作用于指示没有能够发送/接收数据的物理端口的值。
LAG管理单元480参考端口状态管理表501来确定在节点的物理端口中的、不属于任何LAG组的物理端口的端口标识符(即未被记录在LAG组管理表471中的物理端口的端口标识符)是可用还是不可用。当确定这些物理端口可用时,LAG管理单元480将这些物理端口的端口标识符记录在端口管理表461中,以便使得这些物理端口与它们自己的端口标识符相关联。另一方面,当确定这些物理端口不可用时,LAG管理单元480将这些物理端口的端口标识符记录在端口管理表461中,以便使得这些物理端口与NULL值相关联。
图21示出了当LAG组管理表471如图22中所示被更新并且端口状态管理表501如图23中所示被更新时的端口管理表461的示例。在对应于虚拟端口的端口标识符VP1的物理端口P1-P4中(参见图22),物理端口P1、P3和P4是可用的(参见图23)。因此,在端口管理表461中,P1、P3和P4与VP1相关联(参见图21)。另外,因为不属于任何LAG组的物理端口P5是可用的(参见图23),所以物理端口P5与在端口管理表461中的它自己的端口标识符P5相关联(参见图21)。
当节点的LAG组管理表471被更新时以及当从节点的端口状态管理单元490通知节点的端口状态管理表501的更新时,LAG管理单元480更新节点的端口管理表461。另外,LAG管理单元480可以查看在节点的端口状态管理表存储单元500中存储的端口状态管理表501是否在预定的时间间隔被更新,并且当其检查到端口状态管理表501已经被更新时,更新端口管理表461。
接着,将描述图17中所示的一般节点的帧传送操作。图24是图解一般节点的帧传送操作的流程图。在下面的说明中,将描述在图16C中所示的网络中,当节点100的端口P5接收到从节点300的端口P1发送的以太网帧并且然后节点100向节点200或者节点210发送以太网帧时一般节点传送以太网帧的操作。
当接收到从节点300的端口P1发送的以太网帧时,节点100的输入端口400-5向节点的帧开关410发送以太网帧。帧开关410确定所接收的以太网帧是否是单播帧(步骤S1)。
当确定所接收的以太网帧是单播帧时(在步骤S1中为是),帧开关410使用在以太网帧的首标中存储的目的地MAC地址作为检索关键字来搜索节点的FDB存储单元430中存储的FDB 431,以获取输出信息(步骤S2)。即,帧开关410从FDB 431获取发送以太网帧的端口的端口标识符。
当在步骤S2中输出信息的获取失败时(步骤S3中为否),帧开关410使用接收所述以太网帧的接收端口(在这种情况下是P5)的端口标识符作为检索关键字来搜索在广播帧发送允许端口管理表存储单元450中存储的广播帧发送允许端口管理表451。然后,帧开关410获取与接收以太网帧的接收端口的端口标识符对应的所有端口标识符作为输出信息(步骤S9)。假定产生了在图20中所示的广播帧发送允许端口管理表451,则帧开关410获取对应于P5的VP1。然后,帧开关410使用在步骤S9中获取的端口标识符作为输出信息来执行在步骤S4之后的处理。当在步骤S9中多个端口标识符被获取作为输出信息时,对于端口标识符执行步骤S4、S5、S6和S11。
帧开关410使用通过搜索而获取的输出信息(在步骤S9或者步骤S2中获取的输出信息)作为检索关键字来搜索在节点的端口管理表存储单元460中存储的端口管理表461,以获取对应于输出信息的端口标识符(步骤S4)。在步骤S4中,从端口管理表461获取物理端口的端口标识符或者NULL值。
随后,帧开关410确定在步骤S4中获取的端口标识符是否是物理端口的端口标识符(步骤S5)。当在步骤S4中NULL值被获取作为对应于输出信息的数据时,帧开关410确定出所述端口标识符不是物理端口的端口标识符(在步骤S5中为否),并且丢弃所接收的以太网帧(步骤S11)。然后,处理进行到步骤S7。如果在步骤S4获取的数据不是NULL值,则帧开关410确定出所获取的端口标识符是物理端口的端口标识符(在步骤S5中为是),并且处理进行到步骤S6。
在步骤S4中可以获取一个或多个物理端口的端口标识符。在步骤S6中,帧开关410选择在步骤S4中获取的端口标识符之一,并且从对应于所选择的端口标识符的物理端口发送所接收的以太网帧(步骤S6)。
当在步骤S4通过搜索从端口管理表461获取到一个端口标识符时,帧开关410从对应于该端口标识符的物理端口的输出端口发送以太网帧。
另一方面,如果获取了多个端口标识符,则帧开关410选择多个端口标识符之一,并且在步骤S6从对应于所选择的端口标识符的物理端口的输出端口发送以太网帧。可以使用下述方法作为选择多个端口标识符之一的方法:在所接收的以太网帧中存储的一些或者所有信息项被用作参数,并且选择对应于这些参数的端口标识符之一。在以太网帧中存储的信息例如表示以太网帧的首标的内容或者在以太网帧的有效负荷中存储的信息。因此,例如,帧开关410可以使用在以太网帧中存储的目的地MAC地址、源MAC地址、VLAN标识符和优先级来作为参数并且选择对应于这些参数的标识符之一。这样的确定用于输出以太网帧的端口的方法已经被应用于市场中的以太网交换机。选择多个端口标识符之一的方法(即确定在以太网帧的输出端口中的一个端口的方法)不限于上述方法。
在本示例中,假定节点100的所有的物理端口P1-P5都可用。在这种情况下,在端口管理表461中,物理端口P1-P4的端口标识符被记录,以便与VP1相关联。在步骤S4中,帧开关410获取对应于在步骤S9中获得的VP1的物理端口P1-P4的端口标识符。在步骤S6中,帧开关410选择物理端口P1-P4的端口标识符之一,并且从对应于所选择的端口标识符的物理端口发送以太网帧。
在步骤S6中发送以太网帧后,或者在步骤S11中丢弃以太网帧后,执行MAC地址学习(步骤S7和S8)。在描述步骤S7和S8之前,将描述帧开关在步骤S2中使用目的地MAC地址作为检索关键字来搜索FDB431以获取输出信息的操作(在步骤S3中为是)。当帧开关在步骤S2中使用目的地MAC地址作为检索关键字来搜索FDB 431以获取输出信息时,处理进行到步骤S4。在步骤S4、S5、S6和S11中的处理与如上所述的相同。
另外,当在步骤S1中确定所接收的以太网帧不是单播帧时,即当所接收的以太网帧是广播帧时(在步骤S1中为否),处理进行到步骤S9。在进行到步骤S9后,在步骤S9、S4、S5、S6和S11中的处理与如上所述的相同。
如上所述,在步骤S6中发送以太网帧后,或者在步骤S11中丢弃以太网帧后,执行MAC地址学习(步骤S7和S8)。接着,将描述MAC地址学习。
在步骤S6中发送以太网帧后,或者在步骤S11中丢弃以太网帧后,帧开关410使用接收以太网帧的端口的端口标识符(在本示例中为P5)作为检索关键字来搜索在节点的输出端口管理表存储单元440中存储的输出端口管理表441,以获取对应于检索关键字的端口标识符(步骤S7)。在步骤S7中获取的端口标识符作为输出信息将被记录在FDB 431中。假定建立了在图19中所示的输出端口管理表441。在这种情况下,P5被获取作为对应于检索关键字的端口标识符(在本示例中为P5)。
在步骤S7之后,帧开关410将所接收的以太网帧的源MAC地址作为目的地信息记录在FDB 431中,并且将在步骤S7中获取的端口标识符作为对应于目的地信息的输出信息记录在FDB 431中(步骤S8)。
上面已经描述了节点100向节点200或者节点210传送来自节点300的以太网帧的操作。节点100向节点300传送来自节点200或者节点210的以太网帧的操作与上述内容类似。
接着,将描述当断开链路时一般节点的故障恢复操作。作为示例,下面说明当在节点100的端口P2和节点200的端口P2(参见图16C)之间的链路断开时节点100的操作。
当连接到节点100的链路断开时,节点100的端口状态管理单元490在节点的端口状态管理表存储单元500中存储的端口状态管理表501中将连接到断开链路的端口的状态从可用更新为不可用。当连接到端口P2的链路正如本示例中那样被断开时,端口状态管理单元490在端口状态管理表501中将端口P2的状态从可用更新为不可用。另外,端口状态管理单元490更新端口状态管理表501,并且向节点的LAG管理单元480通知端口状态管理表501已经被更新。
从节点的端口状态管理单元490接收到通知的LAG管理单元480更新端口管理表461。端口管理表461的更新处理与如上所述的相同。在本示例中,LAG管理单元480从端口管理表461中删除端口P2的端口标识符。
以这种方式,节点100的帧开关410不选择端口P2来作为用于发送以太网帧的物理端口。即,当从属于包括端口P2的LAG组的端口发送以太网帧时,节点100的帧开关410选择除了端口P2之外的端口P1、P3和P4的其中之一,并且从所选择的端口发送以太网帧。
因此,即使当节点100的端口P2和节点200的端口P2之间的链路被断开时,节点100也可以连续地与节点200和210通信。即使当节点100和节点200之间的另一个链路被断开时,或者即使当节点100和节点210之间的链路被断开时,执行与如上所述相同的处理。当任何其他链路断开时,执行与如上所述相同的处理。
相反,假定节点100的端口P2和节点200的端口P2之间的链路故障被恢复。在这种情况下,节点100的端口状态管理单元490在节点的端口状态管理表存储单元500中存储的端口状态管理表501中将连接到被恢复链路的端口的状态从不可用更新为可用。正如本示例,当连接到端口P2的链路被恢复时,端口状态管理单元490在端口状态管理表501中将端口P2的状态从不可用更新为可用。另外,端口状态管理单元490更新端口状态管理表501,并且向节点的LAG管理单元480通知端口状态管理表501已经被更新。
从节点的端口状态管理单元490接收到通知的LAG管理单元480更新端口管理表461。端口管理表461的更新处理与如上所述的相同。在本示例中,LAG管理单元480将端口P2的端口标识符添加到在节点的端口管理表461中的被分配到包括端口P2的LAG组的虚拟端口VP1中。
以这种方式,节点100的帧开关410可以再一次从端口P2发送以太网帧,因此,节点100可以返回到在链路故障发生之前的状态。
接着,将描述当节点故障发生时一般节点的故障恢复操作。
具体地,下面使用示例来描述一般节点的故障恢复操作,所述示例是将在下面描述的当在图16C中所示的节点200故障时节点100的故障恢复操作。
当节点200故障时,节点100的端口状态管理单元490识别出节点100的端口P1和P2被改变为不能发送/接收以太网帧的状态。此状态类似于当链路故障发生时,除了不能发送/接收以太网帧的多个端口之外。因此,除了其状态在端口状态管理表501中被从可用更新为不可用的端口的数量之外,节点100的操作类似于当链路断开时的操作。作为此操作的结果,即使当冗余节点200和210中的任何一个故障时,节点100仍可以连续地与另一正常节点通信。
另外,当节点200从故障恢复时的节点的操作与当链路从故障恢复时的操作相同。即,当链路从故障恢复时,一个端口将其状态从不可用改变为可用。但是,当节点200从故障恢复时,两个端口将其在节点100中的状态从不可用改变为可用。同样,除了其状态被从不可用改变为可用的端口的数量增加了之外,节点100的操作(具体是节点100的端口状态管理单元490和LAG管理单元480的操作)类似于链路故障恢复操作。
专利文献1(日本未审查专利申请公布第2002-232427号)公开了一种频带控制设备,其中,中继到逻辑链路的一些物理链路被编组成子逻辑链路,并且所述子逻辑链路仅仅被分配用于满足特定条件的通信量。专利文献1还公开了一种用于向子逻辑链路分配与满足特定条件的通信量对应数量的物理链路的处理。
在图17中示出的应用LAG的一般节点具有下面的问题。例如,在图16C中所示的网络中,当节点100的端口P1和节点200的端口P1之间的链路被断开时,从节点100的端口P1向节点200的端口P1发送的通信量被从节点100的端口P2-P4中的任何一个发送到节点200或者节点210。在这种状态中,即使节点100的端口P2可以与节点200通信,节点100也可以从节点100的端口P3和P4向节点210发送已经从节点100的端口P1向节点200发送的通信量。当即使在节点100的端口P2可以与节点200通信时该节点100也可以向另一节点发送已经从节点100的端口P1向节点200发送的通信量时,会出现下面的问题。
例如,在图16C中所示的网络中,假定节点200和节点210是冗余的万维网服务器。在这种情况下,通信目的地节点被从节点200转换到节点210,并且节点200使得已建立的会话不可用。因此,节点210可能重新建立会话,这导致网络的通信频带的浪费。
此外,例如,在图16C中所示的网络中,假定节点200和节点210是冗余路由器,用于将其他网络(未示出)连接到节点100。在这种情况下,当从节点100通过节点210向目的地节点(未示出)传送的以太网帧比已经从节点100通过节点200向目的地节点传送的另一个以太网帧较早地到达目的地节点时,目的地节点不可能重新配置在以太网帧中存储的数据。
此外,在图25中所示的网络配置也被当作网络配置的一个示例。在图25中所示的网络配置中,在节点100和节点200之间和在节点100和节点210之间分别提供了由节点冗余技术配置的冗余节点110和120。节点110和节点200通过冗余链路彼此连接。类似地,节点120和节点210通过冗余链路彼此连接。节点100通过一个链路连接到节点110和120的每个。在例如图25中所示的网络配置中,即使当节点110和节点200之间的链路之一断开,通信量被从节点100通过节点110向节点200发送的路径不被转换为从节点100到节点210的路径。即,可以解决由于一个链路的断开而导致的通信量通信路径被转换的问题。
但是,因为在图25中所示的网络配置复杂,所以构造网络需要高成本。另外,在图25中所示的配置中,因为在节点100和节点110之间以及在节点100和节点120之间没有使用冗余链路,因此降低了网络的可靠性。
在专利文献1中公开的技术不能解决通信量通信路径被转换的问题,在所述专利文献1中,中继到逻辑链路的一些物理链路被编组成子逻辑链路,并且所述子逻辑链路仅仅被分配用于满足特定条件的通信量,并且向子逻辑链路分配与满足特定条件的通信量对应数量的物理链路。例如,如图26中所示,假定节点100和200通过冗余链路171和172彼此连接,并且节点100和节点210通过冗余链路173和174彼此连接。另外,假定在专利文献1中公开的技术被应用到网络中,链路171-174是逻辑链路,并且链路171和172是子逻辑链路。在这种情况下,当链路171和172之一断开时,链路173和174的任何一个被分配到子逻辑链路,以便保证子逻辑链路的通信量的通信频带。因此,即使节点100可以与节点200通信,节点100也向节点210发送通信量,并且通信路径被转换。
发明内容
本发明已经被建立来致力于解决上述问题,并且本发明的目的是提供一种能够解决因链路或者节点故障引起的通信量通信路径的转换而导致的问题并且可以构造高可靠性网络的节点、通信方法和用于节点的程序。
为了实现所述目的,本发明具有下面的特征。
<节点>
按照本发明的一个方面,提供了一种节点,其通过多个链路连接到其他节点。所述节点包括:第一虚拟端口存储单元,其存储虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性,所述虚拟端口是连接到节点之间的链路的多个物理端口的群组;第二虚拟端口存储单元,其存储主虚拟端口和属于所述主虚拟端口的多个虚拟端口之间的对应性,所述主虚拟端口是多个虚拟端口的群组;以及,帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口。所述帧目的地确定单元对应于所接收的帧的目的地指定不属于所述虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口。当指定虚拟端口时,所述帧目的地确定单元将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
按照本发明的另一个方面,提供了一种节点,其通过多个链路连接到其他节点。所述节点包括:第一虚拟端口存储单元,其存储虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性,所述虚拟端口是连接到节点之间的链路的多个物理端口的群组;第二虚拟端口存储单元,其存储主虚拟端口和属于所述主虚拟端口的虚拟端口之间的对应性,所述主虚拟端口是多个虚拟端口的群组;以及帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口。所述帧目的地确定单元对应于所接收的帧的目的地指定不属于任何虚拟端口的物理端口、作为多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口。当指定作为多个虚拟端口的群组的主虚拟端口时,所述帧目的地确定单元还指定属于所述主虚拟端口的虚拟端口。当指定作为多个物理端口的群组的虚拟端口时,帧目的地确定单元将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
<通信方法>
按照本发明的另一个方面,提供了一种通信方法,其被应用到一个节点,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性,所述虚拟端口是连接到节点之间的链路的多个物理端口的群组;第二虚拟端口存储单元,其存储主虚拟端口和属于所述主虚拟端口的多个虚拟端口之间的对应性,所述主虚拟端口是多个虚拟端口的群组;以及帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口。所述通信方法包括:对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口;并且当指定虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
按照本发明的另一个方面,提供了一种通信方法,其被应用到一个节点,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性,所述虚拟端口是连接到节点之间的链路的多个物理端口的群组;第二虚拟端口存储单元,其存储主虚拟端口和属于所述主虚拟端口的多个虚拟端口之间的对应性,所述主虚拟端口是多个虚拟端口的群组;以及帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口。所述通信方法包括:对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口、作为多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口;当指定作为多个虚拟端口的群组的主虚拟端口时,还指定属于所述主虚拟端口的虚拟端口;并且当指定作为多个物理端口的群组的虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
<用于节点的程序>
按照本发明的另一个方面,提供了一种用于节点的程序,其允许包括该节点的计算机执行帧目的地确定处理,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性,所述虚拟端口是连接到节点之间的链路的多个物理端口的群组;第二虚拟端口存储单元,其存储主虚拟端口和属于所述主虚拟端口的多个虚拟端口之间的对应性,所述主虚拟端口是多个虚拟端口的群组,所述帧目的地确定处理包括:对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口;并且当指定虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
按照本发明的另一个方面,提供了一种用于节点的程序,其允许包括该节点的计算机执行帧目的地确定处理,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性,所述虚拟端口是连接到节点之间的链路的多个物理端口的群组;第二虚拟端口存储单元,其存储主虚拟端口和属于所述主虚拟端口的虚拟端口之间的对应性,所述主虚拟端口是多个虚拟端口的群组,所述帧目的地确定处理包括:对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口、作为多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口;当指定作为多个虚拟端口的群组的主虚拟端口时,还指定属于所述主虚拟端口的虚拟端口;并且当指定作为多个物理端口的群组的虚拟端口时,将属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
附图说明
图1是图解按照本发明的包括节点的网络的配置的示例的示图。
图2是图解按照本发明的节点的配置的示例的框图。
图3是图解按照本发明的FDB的示例的示图。
图4是图解按照本发明的虚拟LAG组管理表的示例的示图。
图5是图解按照本发明的LAG组管理表的示例的示图。
图6是图解按照本发明的虚拟端口关系管理表的示例的示图。
图7是图解按照本发明的输出端口管理表的示例的示图。
图8是图解按照本发明的广播帧发送允许端口管理表的示例的示图。
图9是图解按照本发明的端口管理表的示例的示图。
图10是图解按照本发明的节点的帧传送操作的示例的流程图。
图11是图解按照本发明的节点的帧传送操作的示例的流程图。
图12是图解按照第二示例性实施例的节点的配置的示例的框图。
图13是图解通信量管理表的示例的示图。
图14是图解按照第二示例性实施例的FDB的示例的示图。
图15是图解按照第二示例性实施例的MAC地址学习处理的流程图。
图16A-16C是图解应用LAG的网络的示例的示图。
图17是图解一般节点的配置的框图。
图18是图解一般节点的FDB的示例的示图。
图19是图解一般节点的输出端口管理表的示例的示图。
图20是图解一般节点的广播帧发送允许端口管理表的示例的示图。
图21是图解一般节点的端口管理表的示例的图。
图22是图解一般节点的LAG组管理表的示例的示图。
图23是图解一般节点的端口状态管理表的示例的示图。
图24是图解一般节点的帧传送操作的流程图。
图25是图解网络的配置的一个示例的示图。
图26是图解网络的配置的另一个示例的示图。
具体实施方式
以下,参考附图描述本发明的示例性实施例。
(第一示例实施例)
图1是图解按照本发明的第一示例性实施例的包括节点的网络的配置30的示例的示图。按照本发明的节点10被连接到其他节点20、21和30。节点20和21被冗余地配置。节点10的端口P5通过一个物理链路连接到节点30的端口P1。节点10的端口P1通过一个物理链路连接到节点20的端口P1,并且节点10的端口P2通过一个物理链路连接到节点20的端口P2。另外,节点10的端口P3通过一个物理链路连接到节点21的端口P2,节点10的端口P4通过一个物理链路连接到节点21的端口P1。
在图1中所示的网络的配置中,在按照本发明的节点10中设置LAG组(或者虚拟端口),如下所述。按照本发明的节点10的端口P1和P2被记录在同一LAG组中,并且虚拟端口的端口标识符VP1被分配到该LAG组。另外,按照本发明的节点10的端口P3和P4被记录在同一LAG组中,并且虚拟端口的端口标识符VP2被分配给该LAG组。此外,节点10的虚拟端口VP1和VP2被记录在同一虚拟LAG组中,并且虚拟端口的端口标识符VP3被分配到该虚拟LAG组。术语“虚拟LAG组”表示一组虚拟端口。虚拟端口的端口标识符也被分配到虚拟LAG组。
本发明与在图17中所示的一般节点的不同之处在于:作为虚拟端口组的虚拟LAG组被设置,并且虚拟端口的端口标识符被分配给该虚拟LAG组。即,在图17中所示的一般节点中,多个物理端口被虚拟为一个物理端口。但是,在本发明中,多个虚拟端口被虚拟为一个物理端口。通过将虚拟端口的端口标识符记录在虚拟LAG组管理表521中,执行向虚拟LAG组记录虚拟端口以及向虚拟LAG组分配虚拟端口的端口标识符,这将在后面描述。虚拟LAG组管理表521也在下面被说明。
同样,节点10通过多个链路连接到被虚拟为一个节点的多个其他节点(节点20和21)。通过对应的链路连接到被虚拟为一个节点的多个节点(节点20和21)的物理端口组(LAG组)被定义为一个虚拟端口。另外,包括多个虚拟端口的组(虚拟LAG组)被定义为一个虚拟端口。在本实施例中,所述虚拟LAG组是在被虚拟为一个节点的多个其他节点中设置的一组虚拟端口。例如,在节点10中,针对节点20的虚拟端口VP1和针对节点21的虚拟端口VP2属于一个虚拟LAG组,并且包括虚拟端口VP1和VP2的所述虚拟LAG组被称为一个虚拟端口。
然而,节点10不连接到其他的虚拟化的节点,但是节点10可以通过多个链路连接到一个物理节点。连接到多个链路的节点10的物理端口组(LAG组)可以被定义为虚拟端口,并且一组虚拟端口(虚拟LAG组)可以被定义为一个虚拟端口。
此外,当节点10通过多个链路连接到多个其他虚拟化的节点(节点20和节点21)时,多个组的物理端口(而不是一个组(LAG组)的物理端口)可以通过多个链路连接到另一个节点。例如,在图1中所示的节点10可以通过四个链路连接到节点20,并且其可以通过两个链路连接到节点21。在这种情况下,在通过多个链路连接到节点20的节点10的四个物理端口中,可以将两个物理端口的组(LAG组)定义为一个虚拟链路,并且可以将另外两个物理端口的组定义为另一个虚拟链路。另外,可以将两个虚拟链路的组(虚拟LAG组)定义为一个虚拟端口。
在下面的说明中,如图1中所示,节点10通过多个链路连接到被虚拟化为一个节点的多个其他节点(节点20和21),并且连接到被虚拟化为一个节点的多个节点(节点20和21)中的每个的物理端口的组(LAG组)被定义为一个虚拟端口。此外,在下面的说明中,针对节点20的虚拟端口VP1和针对节点21的虚拟端口VP2属于一个虚拟LAG组,包括虚拟端口VP1和VP2的虚拟LAG组被定义为一个虚拟端口。
在下面的说明中,节点10表示按照本发明的节点,而不是一般节点。
图2是图解按照本发明的第一示例性实施例的节点10的配置的示例的框图。在图2中,与在图17中所示的一般节点的相同的部件以相同的标号表示。按照本发明的节点10包括输入端口400-1到400-5、帧开关41、输出端口420-1到420-5、FDB存储单元430、输出端口管理表存储单元440、广播帧发送允许端口管理表存储单元450、端口管理表存储单元460、LAG组管理表存储单元470、LAG管理单元48、端口状态管理单元490、端口状态管理表存储单元500、设置接口单元51、虚拟LAG组管理表存储单元520和虚拟端口关系管理表存储单元530。
节点10的输入端口400-1到400-5是在图1中所示的节点10的端口P1-P5中的接收器侧端口。即,节点10的输入端口400-1到400-5接收从相邻的节点20、21或者30发送的以太网帧。具体地,节点10的输入端口400-1接收从节点20的端口P1发送的以太网帧。节点10的输入端口400-2接收从节点20的端口P2发送的以太网帧。节点10的输入端口400-3接收从节点21的端口P1发送的以太网帧。节点10的输入端口400-4接收从节点21的端口P2发送的以太网帧。节点10的输入端口400-5接收从节点30的端口P1发送的以太网帧。
类似地,本发明的节点10的输出端口420-1到420-5是在图1中所示的节点10的端口P1-P5。即,输出端口420-1到420-5向相邻节点20、21或者30发送以太网帧。具体地,节点10的输出端口420-1向节点20的端口P1发送以太网帧。节点10的输出端口420-2向节点20的端口P2发送以太网帧。节点10的输出端口420-3向节点21的端口P1发送以太网帧。节点10的输出端口420-4向节点21的端口P2发送以太网帧。节点10的输出端口420-5向节点30的端口P1发送以太网帧。
节点10的帧开关41根据从其他节点接收的以太网帧的内容和在FDB存储单元430、广播帧发送允许端口管理表存储单元450、端口管理表存储单元460和虚拟端口关系管理表存储单元530中存储的数据库中记录的信息来确定用于发送所接收的以太网帧的输出端口,然后从所确定的输出端口发送以太网帧。
节点10的FDB存储单元430是存储FDB(转发数据库)的存储器件。在按照本发明的节点10的FDB存储单元430中存储的FDB与在图17中所示的一般节点100的FDB存储单元430中存储的相同。即,在按照本实施例的节点中存储的FDB是记录以太网帧的目的地信息和输出信息(发送以太网帧的端口的端口标识符)以使它们彼此相关联的数据库。例如,在图3中所示的FDB 431通过MAC地址学习被存储在FDB存储单元430中。由帧开关41执行的MAC地址学习与由一般节点执行的相同。但是,在节点10中,连接到同一节点的物理端口被记录在一个LAG组中,并且被分配到所述LAG组的虚拟端口被记录在虚拟LAG组中,另外,连接到冗余节点20和21的虚拟端口被记录在同一虚拟LAG组中,结果,向冗余节点20和21输出不同的信息项。
在本实施例中,物理端口的端口标识符或者被分配到LAG组的虚拟端口的端口标识符被存储在FDB 431的输出信息字段中。
节点10的输出端口管理表存储单元440是存储输出端口管理表的存储器件。在节点10的输出端口管理表存储单元440中存储的输出端口管理表与在图17中所示的一般节点的输出端口管理表存储单元440中存储的相同。即,在按照本发明的节点中存储的输出端口管理表是这样一种数据库,其中,节点的物理端口P1-P5与输出信息项相关联。所述输出端口管理表示出了当根据从在节点10中提供的物理端口P1-P5接收的以太网帧而执行MAC地址学习时要被记录在FDB 431中的输出信息。类似于在图17中所示的一般节点,在该节点中提供的物理端口的端口标识符被记录作为输出端口管理表的初始值。
节点10的广播帧发送允许端口管理表存储单元450是存储广播帧发送允许端口管理表的存储器件。所述广播帧发送允许端口管理表与在图17中所示的一般节点100的广播帧发送允许端口管理表存储单元450中存储的相同。即,在按照本发明的节点中存储的所述广播帧发送允许端口管理表是这样一种数据库,其中,节点的物理端口与允许发送由节点的每个物理端口接收的广播帧的所有端口相关联。
节点10的端口管理表存储单元460是存储端口管理表的存储器件。在节点10的端口管理表存储单元460中存储的端口管理表与在图17中所示的一般节点100的端口管理表存储单元460中存储的相同。即,在按照本发明的节点中存储的端口管理表是这样一种数据库,其中,可以发送或者接收以太网帧的物理端口的端口标识符被记录在被分配到节点的LAG组的虚拟端口和不属于任何LAG组的物理端口中。
节点10的LAG组管理表存储单元470是存储LAG组管理表的存储器件。在节点10的LAG组管理表存储单元470中存储的LAG组管理表与在图17中所示的一般节点100的LAG组管理表存储单元470中存储的相同。即,在按照本发明的节点10中存储的LAG组管理表是这样一种数据库,其中,被分配到在节点中设置的LAG组的虚拟端口的端口标识符与属于所述LAG组的物理端口相关联。例如,所述LAG组的组标识符、被分配到所述LAG组的虚拟端口的端口标识符和属于所述LAG组的物理端口的端口标识符被记录在LAG组管理表中,以便使得它们彼此相关联。以这种方式,多个物理端口被划分为一个LAG组。
与在图17中所示的一般节点类似,被分配到LAG组的虚拟端口的端口标识符可以与被分配到在节点中设置的另一个LAG组的虚拟端口的端口标识符和在节点中提供的物理端口的端口标识符不同。另外,同一物理端口不能被记录在多个LAG组中。
节点10的端口状态管理表存储单元500是存储端口状态管理表的存储器件,在节点10的端口状态管理表存储单元500中存储的端口状态管理表与在图17中所示的一般节点100的端口状态管理表存储单元500中存储的相同。
节点10的端口状态管理单元490的操作与在图17中所示的一般节点100的端口状态管理单元490的相同。即,节点10的端口状态管理单元490确定节点的端口P1-P5中的每个是可用还是不可用,并且将确定结果记录在节点的端口状态管理表存储单元500中存储的端口状态管理表中。
例如,节点10的端口状态管理单元490监控连接到每个端口的输入端口和输出端口的链路的电信号电平或者光信号电平。当端口的输入端口或者输出端口的电信号电平或者光信号电平小于预定阈值时,端口状态管理单元490可以确定所述端口不可用,当其大于预定阈值时,端口状态管理单元490可以确定所述端口可用。但是,节点10的端口状态管理单元490确定端口的状态的方法不限于此。例如,当存在在预定时间不连续地接收可以从相邻的节点以预定时间间隔被发送的分组的端口时,端口状态管理单元490可以确定所述端口不可用。
节点10的虚拟LAG组管理表存储单元520是存储虚拟LAG组管理表的存储器件。所述虚拟LAG组管理表是这样一种数据库,其中,被分配到在节点(在本实施例中为节点10)中设置的虚拟LAG组的虚拟端口的端口标识符与属于所述虚拟LAG组的虚拟端口的端口标识符相关联。例如,在所述数据库中,在节点中设置的虚拟LAG组的组标识符、被分配到所述虚拟LAG组的虚拟端口的端口标识符和属于所述虚拟LAG组的虚拟端口的端口标识符彼此相关联。
节点10的管理员使用设置接口单元51来设置虚拟LAG组管理表。另外,节点的LAG管理单元48参考所述虚拟LAG组管理表。
图4是图解在节点10的虚拟LAG组管理表存储单元520中存储的虚拟LAG组管理表的示例的示图。如图4中所示,虚拟LAG组的组标识符、被分配到所述虚拟LAG组的虚拟端口的端口标识符和属于所述虚拟LAG组的一个或多个虚拟端口的端口标识符被记录在虚拟LAG组管理表存储单元520中存储的虚拟LAG组管理表521中,以便使得它们彼此相关联。在图4中所示的虚拟LAG组管理表521的第一条目表示虚拟端口的端口标识符VP3被分配给虚拟LAG组VLG1,并且虚拟端口VP1和VP2被记录在所述虚拟LAG组中。另外,在LAG组管理表存储单元470中存储的虚拟LAG组管理表被按照图5所示设置。
即,虚拟端口的端口标识符VP1被分配到LAG组LG1,并且物理端口P1和P2被记录在该LAG组中。另外,虚拟端口的端口标识符VP2被分配到LAG组LG2,并且物理端口P3和P4被记录在该LAG组中。在这种情况下,物理端口P1和P2属于虚拟端口VP1,并且物理端口P3和P4属于虚拟端口VP2。如图4中所示,因为虚拟端口VP1和VP2属于虚拟端口VP3,因此物理端口P1-P4属于虚拟端口VP3。
被分配到虚拟LAG组的虚拟端口的端口标识符和属于所述虚拟LAG组的一个或多个虚拟端口的端口标识符被记录在虚拟LAG组管理表521中,以便与所述虚拟LAG组的组标识符相关联。以这种方式,执行向虚拟LAG组记录虚拟端口和向所述虚拟LAG组分配虚拟端口的端口标识符。
与在图17中所示的一般节点不同,在本发明中,因为使用了虚拟LAG组管理表521,因此多个虚拟端口可以被虚拟化为一个物理端口。
类似于在图17中所示的一般节点,可以确定端口标识符是物理端口还是虚拟端口。
此外,被分配到虚拟LAG组的虚拟端口的端口标识符可以与在节点中设置的另一个虚拟端口的端口标识符不相同。另外,一个虚拟端口不能属于多个虚拟LAG组。
此外,被分配到记录在节点的LAG组管理表中的LAG组的虚拟端口或者被分配到记录在节点的虚拟LAG组管理表中的虚拟LAG组的虚拟端口可以属于所述虚拟LAG组。
所述虚拟LAG组通过属于虚拟LAG组的虚拟端口而与在节点10中提供的物理端口相关,所述物理端口诸如是属于在所述虚拟LAG组中包括的虚拟端口的物理端口或者属于在所述虚拟LAG组中包括的主虚拟端口的虚拟端口的物理端口。在这种情况下,所述物理端口属于与包括该物理端口的虚拟端口相关联的虚拟LAG组或者被分配到所述虚拟LAG组的虚拟端口。相反,所述虚拟LAG组包括通过属于所述虚拟LAG组的虚拟端口而与其相关的物理端口。
LAG组和虚拟LAG组之间的唯一差别是它们是否包括物理端口或者虚拟端口,因此,所述LAG组和虚拟LAG组在概念上基本相同。因此,在LAG组管理表存储单元470中存储的LAG组管理表471(参见图5)和在虚拟LAG组管理表存储单元520中存储的虚拟LAG组管理表521(参见图4)可以被集成为一个数据库。即,在图2中,LAG组管理表存储单元470与虚拟LAG组管理表存储单元520分离地被提供,但是它们是相同的存储器件。通过集成LAG组管理表471(参见图5)和虚拟LAG组管理表521(图4)而获得的数据库可以被存储在所述存储器件中。
节点10的虚拟端口关系管理表存储单元530是存储虚拟端口关系管理表的存储器件。所述虚拟端口关系管理表是管理包括虚拟端口的虚拟LAG组的数据库。具体地,在该数据库中,在节点中设置的单独虚拟端口与被分配到包括所述单独的虚拟端口的虚拟LAG组的虚拟端口相关联。例如,在节点中设置的单独虚拟端口的端口标识符和被分配到包括所述单独虚拟端口的虚拟LAG组的虚拟端口的端口标识符被记录在虚拟端口关系管理表中,以便使得它们彼此相关联。在节点中设置的虚拟端口包括被分配到所述虚拟LAG组地虚拟端口以及被分配到LAG组的虚拟端口。
虚拟端口关系管理表由节点的LAG管理单元48更新,并且被节点的帧开关41参考。
图6是图解在节点10的虚拟端口关系管理表存储单元530中存储的虚拟端口关系管理表的示例的示图。在节点中设置的每个虚拟端口的端口标识符和被分配到包括所述虚拟端口的虚拟LAG组的虚拟端口的端口标识符被记录在虚拟端口关系管理表存储单元530中存储的虚拟端口关系管理表531中,以便使得它们彼此相关联。例如,在图6中所示的虚拟端口关系管理表531的第一条目表示虚拟端口VP1属于对应于虚拟端口VP3的虚拟LAG组VLG1。另外,当虚拟端口不属于任何虚拟LAG组时,用于指示所述虚拟端口不属于任何虚拟LAG组的值(在本实施例中为NULL值)被记录,以便与所述虚拟端口的端口标识符相关联。例如,在图6中所示的虚拟端口关系管理表531的第三条目表示虚拟端口VP3不属于任何虚拟LAG组。
设置接口单元51是允许节点管理员更新所述LAG组管理表和虚拟LAG组管理表(记录或者修改数据)用户界面,并且被实现为输入器件,诸如键盘。设置接口单元51由管理员操作,并且响应于来自管理员的指令而更新所述LAG组管理表和所述虚拟LAG组管理表。即,设置接口单元51允许管理员将数据记录在LAG组管理表和虚拟LAG组管理表中。
节点10的LAG管理单元48更新输出端口管理表、广播帧发送允许端口管理表、端口管理表和虚拟端口关系管理表。
接着,说明按照本发明的节点10的操作。
首先,将说明节点10的LAG管理单元48的操作。假定节点10的管理员已经使用设置接口单元51更新了节点的LAG组管理表471(参见图5)或者虚拟LAG组管理表521(参见图4)。然后,LAG管理单元48根据在节点的LAG组管理表存储单元470中存储的LAG组管理表471和虚拟LAG组管理表存储单元520中存储的虚拟LAG组管理表521中设置的内容更新所述输出端口管理表、广播帧发送允许端口管理表、端口管理表和虚拟端口关系管理表。
在下面的说明中,将在如下条件下描述节点10的LAG管理单元48的操作:在图1中所示的网络中,节点10的端口状态管理表被如图23所示设置;节点10的LAG组管理表471被如图5中所示设置;并且节点10的虚拟LAG组管理表521被如图4所示设置。
节点10的LAG管理单元48对在输出端口管理表存储单元440中存储的输出端口管理表的进行设置的操作与用于在图17中所示的一般节点100的LAG管理单元480对输出端口管理表进行设置的操作相同。即,当节点的物理端口的端口标识符被记录在LAG组管理表471中以便使得它们与LAG组标识符和被分配到LAG组的虚拟端口的端口标识符相关联时,LAG管理单元48将物理端口的端口标识符和被分配到LAG组的虚拟端口的端口标识符记录在输出端口管理表中,以便使得它们彼此相关联。另外,LAG管理单元48将节点的物理端口中不属于任何LAG组的物理端口的端口标识符记录在输出端口管理表中,以便使得它们与它们自身的端口标识符相关联。
图7是图解如上所述设置的输出端口管理表的示例的示图。如图5中所示,在LAG组管理表471中,物理端口的端口标识符P1和P2与虚拟端口的端口标识符VP1相关联。因此,LAG管理单元48记录与物理端口的端口标识符P1相关联的虚拟端口的端口标识符VP1,正如在图7中所示的输出端口管理表441。这适用于物理端口的端口标识符P2。另外,在LAG组管理表471中,物理端口的端口标识符P3和P4与虚拟端口的端口标识符VP2相关联(参见图5)。因此,LAG管理单元48记录与物理端口的端口标识符P3相关联的虚拟端口的端口标识符VP2,正如在图7中所示的输出端口管理表441。这适用于物理端口的端口标识符P4。
因为所述物理端口P5未记录在LAG组管理表471中,因此LAG管理单元48将物理端口的端口标识符P5记录在输出端口管理表441中,以便它与其本身的端口标识符P5相关联(参见图7)。
接着,将说明节点10的LAG管理单元48对在广播帧发送允许端口管理表存储单元450中存储的广播帧发送允许端口管理表进行设置的操作。图8是图解由LAG管理单元48对广播帧发送允许端口管理表451进行设置的示例的示图。
如下所述,对于在节点中提供的物理端口的每个端口标识符,LAG管理单元48将节点的物理端口的端口标识符、虚拟端口的端口标识符或者节点的物理端口的端口标识符和虚拟端口的端口标识符两者记录在广播帧发送允许端口管理表451中作为广播帧发送允许端口(允许发送广播帧的端口)的端口标识符。
LAG管理单元48参考LAG组管理表471确定在节点中提供的每个物理端口是否属于在节点中提供的任何LAG组。当物理端口的端口标识符被记录在LAG组管理表471中与任何虚拟端口的端口标识符相关联时,LAG管理单元48确定该物理端口属于在节点中设置的任何LAG组。在LAG组管理表471中,当物理端口的端口标识符未与任何虚拟端口的端口标识符相关联时,LAG管理单元48确定该物理端口不属于在节点中设置的任何LAG组。
LAG管理单元48设置广播帧发送允许端口管理表451的操作依赖于物理端口属于在节点中设置的任何LAG组还是其不属于在节点中设置的任何LAG组。
当属于在节点中设置的任何LAG组的物理端口(以下称为物理端口T)的端口标识符和广播帧发送允许端口的端口标识符被记录以便使得它们彼此相关联时,LAG管理单元48工作如下。当存在满足第一条件的虚拟端口时,LAG管理单元48物理端口T的端口标识符和满足第一条件的所有虚拟端口的端口标识符记录在广播帧发送允许端口管理表451中,以便使得它们彼此相关联。所述第一条件是:虚拟端口被设置在节点中,不包括物理端口T,并且不属于任何虚拟LAG组。满足第一条件的虚拟端口作为这样的虚拟端口,其是由物理端口T接收的广播帧的发送允许端口。即,当在LAG组管理表471中存在不与物理端口T的端口标识符相关联的虚拟端口的端口标识符并且在虚拟LAG组管理表521中存在不与被分配到所述虚拟LAG组的任何虚拟端口的端口标识符相关联的虚拟端口的端口标识符时,LAG管理单元48记录物理端口T的端口标识符和所述虚拟端口的端口标识符,以便使得它们彼此相关联。另外,当存在满足第二条件的物理端口时,LAG管理单元48将物理端口T的端口标识符和满足第二条件的所有物理端口的端口标识符记录在广播帧发送允许端口管理表451中,以便使得它们彼此相关联。所述第二条件是:存在不属于在节点中设置的任何LAG组的物理端口。满足第二条件的虚拟端口作为这样的虚拟端口,其是由物理端口T接收的广播帧的发送允许端口。即,在节点的物理端口的端口标识符中,当在LAG组管理表471中存在不与被分配到LAG组的任何虚拟端口的端口标识符相关联的物理端口的端口标识符时,LAG管理单元48记录物理端口T的端口标识符和所述物理端口的端口标识符,以便使得它们彼此相关联。
当不属于在节点中设置的任何LAG组的物理端口(以下称为物理端口S)的端口标识符和广播帧发送允许端口的端口标识符被记录以便使得它们彼此相关联时,LAG管理单元48工作如下。当存在满足第三条件的虚拟端口时,LAG管理单元48将物理端口S的端口标识符和满足第三条件的所有虚拟端口的端口标识符记录在广播帧发送允许端口管理表451中,以便使得它们彼此相关联。所述第三条件是:虚拟端口被设置在节点中,并且不属于任何虚拟LAG组。满足第三条件的虚拟端口作为这样的虚拟端口,其是由物理端口S接收的广播帧的发送允许端口。即,在LAG组管理表471中记录的虚拟端口的端口标识符中,当在虚拟LAG组管理表521中存在不与被分配到虚拟LAG组的任何虚拟端口的端口标识符相关联的虚拟端口的端口标识符时,LAG管理单元48记录物理端口S的端口标识符和所述虚拟端口的端口标识符,以便使得它们彼此相关联。另外,当存在满足第四条件的物理端口时,LAG管理单元48将物理端口S的端口标识符和满足第四条件的所有的物理端口的端口标识符记录在广播帧发送允许端口管理表451中,以便使得它们彼此相关联。所述第四条件是:物理端口不属于在节点中设置的任何LAG组,并且是除了物理端口S之外的物理端口。满足第四条件的虚拟端口作为这样的虚拟端口,其是由物理端口S接收的广播帧的发送允许端口。即,在节点的物理端口的端口标识符中,当在LAG组管理表471中存在不与被分配到LAG组的虚拟端口的任何端口标识符相关联的、除了物理端口S之外的物理端口的端口标识符时,LAG管理单元48记录物理端口S的端口标识符和所述物理端口的端口标识符,以便使得它们彼此相关联。
当通过上述的LAG管理单元48的上述操作而如图5中所示更新LAG组管理表471并且如图4中所示更新虚拟LAG组管理表521时,在广播帧发送允许端口管理表存储单元450中存储的广播帧发送允许端口管理表451如图8中所示。
例如,如图5中所示,物理端口P1属于LAG组G1。对于物理端口P1,没有满足第一条件的物理端口(在节点中设置的不包括物理端口P1并且不属于任何虚拟LAG组的虚拟端口)。另外,物理端口P5(在节点中设置的不属于任何LAG组的物理端口)满足第二条件。因此,LAG管理单元48记录P1和P5,以便使得它们彼此相关联(参见图8)。LAG管理单元48通过如上所述的同一方法来记录物理端口P1-P4。物理端口P5不属于在节点中设置的任何LAG组。被分配到虚拟LAG组的虚拟端口VP3(在节点中设置的并且不属于任何虚拟LAG组的虚拟端口)满足第三条件。物理端口P5不满足第四条件(物理端口是除了物理端口P5之外的物理端口,并且不属于在节点中设置的任何LAG组)。因此,LAG管理单元48记录P5和VP3,以便使得它们彼此相关联(参见图8)。以这种方式,建立了图8中所示的广播帧发送允许端口管理表451。
如上所述,建立了广播帧发送允许端口管理表451。帧开关41接收广播帧并且执行如图10中所示的步骤S9,这将在下面描述。在这种情况下,当接收到广播帧的物理端口属于作为多个物理端口的群组的任何虚拟端口时,帧开关41选择:一个虚拟端口,其被设置在节点中,不包括接收广播帧的物理端口,并且不属于作为多个虚拟端口的群组的任何虚拟端口;以及一个物理端口,其不属于作为多个物理端口的群组的任何虚拟端口。另外,当接收到广播帧的物理端口不属于作为多个物理端口的群组的任何虚拟端口时,帧开关41选择:虚拟端口,其被设置在节点中,并且不属于作为多个虚拟端口的群组的任何虚拟端口;以及物理端口,其是不属于作为多个物理端口的群组的任何虚拟端口的物理端口中的除了接收到广播帧的物理端口之外的物理端口。
接着,将说明节点10的LAG管理单元48对在节点的端口管理表存储单元460中存储的端口管理表进行设置的操作。图9是图解由LAG管理单元48设置的端口管理表461的示例的示图。首先,节点10的LAG管理单元48参考在LAG组管理表存储单元470中存储的LAG组管理表471来搜索被分配到在LAG组管理表471设置的每个LAG组的虚拟端口的端口标识符。然后,LAG管理单元48参考在端口状态管理表存储单元500中存储的端口状态管理表501来确定与每个被搜索的虚拟端口的端口标识符相关联的一个或多个物理端口(属于LAG组的物理端口)是可用还是不可用。然后,LAG管理单元48选择被确定为可用的所有物理端口的端口标识符。LAG管理单元48将从LAG组管理表471搜索到的虚拟端口的端口标识符和在对应于所搜索到的端口标识符的物理端口中的、被确定为可用的所有物理端口的端口标识符记录在端口管理表461中,以便使得它们彼此相关联。在这种情况下,当与被搜索的虚拟端口的端口标识符相关联并且被确定为不可用的物理端口的端口标识符被记录在端口管理表461中时,LAG管理单元48从端口管理表461删除被确定为不可用的物理端口的端口标识符。当确定物理端口对于每个虚拟端口的端口标识符是可用还是不可用并且没有被确定为可用的物理端口时,LAG管理单元48将虚拟端口的端口标识符和用于指示没有可以发送或者接收数据的物理端口的值(NULL值)记录在端口管理表461中,以便使得它们彼此相关联。该操作与图17中所示的一般节点100的LAG管理单元480设置端口管理表461的操作相同。
但是,节点10的LAG管理单元48还执行下面的操作。LAG管理单元48参考在虚拟LAG组管理表存储单元520中存储的虚拟LAG组管理表521、LAG组管理表471和端口状态管理表501。然后,LAG管理单元48将属于虚拟LAG组的虚拟端口中的、包括处于可用状态的物理端口的虚拟端口的端口标识符记录在端口管理表461中,以便与被分配到每个虚拟LAG组的虚拟端口的端口标识符相关联。具体地,LAG管理单元48针对每个虚拟LAG组执行下面的操作。LAG管理单元48参考虚拟LAG组管理表521读取被分配到虚拟LAG组的虚拟端口的端口标识符和属于所述虚拟LAG组的每个虚拟端口的端口标识符。然后,LAG管理单元48参考LAG组管理表471读取与属于所述虚拟LAG组的每个虚拟端口的端口标识符相关联的物理端口的端口标识符。然后,LAG管理单元48参考端口状态管理表501确定所述物理端口是可用还是不可用。随后,LAG管理单元48确定在属于所述虚拟LAG组的每个虚拟端口中是否包括在与虚拟端口的端口标识符相关联的物理端口的端口标识符中的、可用物理端口的端口标识符。
LAG管理单元48将在属于所述虚拟LAG组的虚拟端口的端口标识符中的、仅仅包括在与虚拟端口相关联的物理端口的端口标识符中的可以获得的物理端口的端口标识符的物理端口的端口标识符记录在端口管理表461中,以便与被分配到虚拟LAG组的虚拟端口的端口标识符相关联。因此,不包括在与虚拟端口相关联的物理端口的端口标识符中的、可用物理端口的端口标识符的虚拟端口的端口标识符被删除。当在属于虚拟LAG组的虚拟端口中没有包括可用物理端口的虚拟端口时,LAG管理单元48将被分配到虚拟LAG组的虚拟端口的端口标识符和NULL值记录在端口管理表461中,以便使得它们彼此相关联。即,当在对应于属于虚拟LAG组的所有虚拟端口的端口标识符的物理端口的标识符中没有可用物理端口的端口标识符时,LAG管理单元48将被分配到虚拟LAG组的虚拟端口的端口标识符和NULL值记录在端口管理表中,以便使得它们彼此相关联。
当节点10的端口状态管理表被如图23所示设置时,通过LAG管理单元48的上述操作,LAG组管理表471被如图5所示更新,并且虚拟LAG组管理表521被如图4所示更新,在端口管理表存储单元460中存储的端口管理表461如图9所示被建立。
当从节点的端口状态管理单元490向LAG管理单元48通知节点的端口状态管理表501已经被更新时并且当节点的LAG组管理表471或者虚拟LAG组管理表521被更新时,LAG管理单元48更新节点的端口管理表461。另外,LAG管理单元48可以查看在预定的时间间隔是否更新了在节点的端口状态管理表存储单元500中存储的端口状态管理表501。当查看到端口状态管理表被更新时,LAG管理单元48可以更新端口管理表461。
接着,将说明节点10的LAG管理单元48对在节点的虚拟端口关系管理表存储单元530中存储的虚拟端口关系管理表531的操作。
LAG管理单元48参考LAG组管理表471和虚拟LAG组管理表521,以将被分配到包括虚拟端口的虚拟LAG组的虚拟端口的端口标识符记录在虚拟端口关系管理表531中,以便与在节点中设置的所有虚拟端口的端口标识符相关联。
在节点中设置的虚拟端口的端口标识符表示在LAG组管理表471中的被分配到LAG组的虚拟端口的端口标识符和在虚拟LAG组管理表521中的被分配到虚拟LAG组的虚拟端口的端口标识符。LAG管理单元48从虚拟LAG组管理表521搜索被分配到虚拟LAG组的虚拟端口的端口标识符,所述虚拟LAG组包括由这些端口标识符(其被称为端口标识符U)指示的虚拟端口,并且LAG管理单元48将所述虚拟端口的端口标识符U和被分配到包括所述虚拟端口的虚拟LAG组的虚拟端口的端口标识符记录在虚拟端口关系管理表531中,以便使得它们彼此相关联。当LAG管理单元48未能搜索到被分配到包括由端口标识符U表示的虚拟端口的虚拟LAG组的虚拟端口的端口标识符时,LAG管理单元48将端口标识符U和用于指示虚拟端口不属于虚拟LAG组的值(NULL值)记录在虚拟端口关系管理表531中,以便使得它们彼此相关联。
当通过LAG管理单元48的上述操作,LAG组管理表471如图5中所示被更新,并且虚拟LAG组管理表521如图4所示被更新时,在虚拟端口关系管理表存储单元530中存储的虚拟端口关系管理表531如图6中所示。
如上所述,LAG管理单元48根据节点的LAG组管理表471、虚拟LAG组管理表521和端口状态管理表501的内容来更新输出端口管理表441、广播帧发送允许端口管理表451和端口管理表461。按照其中帧开关41直接参考节点的LAG组管理表471、虚拟LAG组管理表521和端口状态管理表501的节点结构,可以提供没有输出端口管理表441、广播帧发送允许端口管理表451和端口管理表461的节点结构。但是,在这种节点结构中,会在传送大量通信量的网络(诸如中枢网络)中对形成帧开关41的电子装置施加过大的负荷。因此,优选的是使用在图2中所示的节点结构,以便改善帧传送吞吐量并且减少延迟。
接着,将说明按照本发明的节点的帧传送操作。图10和11是图解按照本发明的节点的帧传送操作的示例的流程图。在所述流程图中,与在图24中所示的由一般节点执行的处理的相同的步骤以相同的标号标号。
当从其他节点接收到以太网帧时,节点10的输入端口400-1到400-5向节点的帧开关41发送所接收的以太网帧。帧开关41确定所接收的以太网帧是否是单播帧(步骤S1)。例如,当以太网帧的目的地MAC地址不是广播地址时,帧开关41可以确定所述以太网帧是单播帧。当以太网帧的目的地MAC地址是广播地址时,帧开关41确定所述以太网帧不是单播帧。
当确定出所接收的以太网帧是单播帧时(在步骤S1中为是),帧开关41使用在所述以太网帧的首标中存储的目的地MAC地址作为检索关键字来搜索在节点的FDB存储单元430中存储的FDB 431,以获得输出信息(步骤S2)。即,帧开关41从FDB 431获取发送以太网帧的端口的端口标识符。
当帧开关41在步骤S2未获取输出信息时(在步骤S3中为否),帧开关41使用接收以太网帧的接收端口的端口标识符作为检索关键字来搜索在广播帧发送允许端口管理表存储单元450中存储的广播帧发送允许端口管理表451。然后,帧开关41获取对应于接收到以太网帧的接收端口的端口标识符的所有端口标识符来作为输出信息(步骤S9)。
当确定出所接收的以太网帧不是单播帧(在步骤S1中为否)时,帧开关41也使用接收以太网帧的接收端口的端口标识符作为检索关键字来搜索广播帧发送允许端口管理表451,并且获取对应于接收端口的端口标识符的所有端口标识符来作为输出信息(步骤S9)。
当确定出所接收的以太网帧不是单播帧时(即当所接收的以太网帧是广播帧时)并且当帧开关在步骤S2未获取到输出信息时,处理进行到步骤S9,以当发送帧时发送广播帧,如上所述。
在步骤S9中获取作为输出信息的端口标识符后,帧开关执行在步骤S4后的处理。当在步骤S2中使用目的地MAC地址作为检索关键字而搜索FDB 431以获得输出信息时(在步骤S3中为是),帧开关也执行在步骤S4后的处理。在步骤S4中,帧开关41使用通过搜索而获取的输出信息(在步骤S9或者步骤S2中获得的输出信息)作为检索关键字来搜索在节点的端口管理表存储单元460中存储的端口管理表461,由此获取对应于所述输出信息的端口标识符(步骤S4)。在步骤S4中,帧开关从端口管理表461获取物理端口的端口标识符、虚拟端口的端口标识符或者NULL值。另外,可以获取多个物理端口的端口标识符来作为所述物理端口的端口标识符。类似地,可以获取多个虚拟端口的端口标识符来作为所述虚拟端口的端口标识符。
在步骤S4后,帧开关41确定在步骤S4中获取的端口标识符是否是所述物理端口的端口标识符(步骤S5)。当确定在步骤S4中获取的端口标识符是所述物理端口的时(在步骤S5中为是),处理进行到步骤S6。当确定在步骤S4中获取的端口标识符不是所述物理端口的端口标识符时,即当所述端口标识符是虚拟端口的端口标识符或者当NULL值被获取时(在步骤S5中为否),处理进行到步骤S12。
在步骤S12中,帧开关41确定在步骤S4中获取的端口标识符是否是虚拟端口的端口标识符。当确定步骤S4中获取的端口标识符是虚拟端口的端口标识符(在步骤S12中为是)时,处理进行到步骤S13。当确定在步骤S4中获取的端口标识符不是虚拟端口的端口标识符时,即当获取到NULL值时(在步骤S12中为否),处理进行到步骤S14。
在步骤S13中,帧开关41选择在步骤S4中获取的虚拟端口的端口标识符之一,并且将所选择的端口标识符当作输出信息。
如上所述,在步骤S4中,可以获得多个虚拟端口的端口标识符来作为所述虚拟端口的端口标识符。在步骤S13中,帧开关41选择多个虚拟端口的端口标识符之一。如果在步骤S4中获取到一个虚拟端口的端口标识符,则帧开关41可以选择该端口标识符。
在步骤S13中,帧开关41按照针对形成同一通信量的帧选择同一虚拟端口的端口标识符的算法来选择虚拟端口的端口标识符。术语“通信量”表示通过划分在源和目的地之间的通信期间的所有通信数据而产生的一组帧。所述源和目的地不限于节点,而它们可以是终端或者在终端中安装的软件。帧开关41按照一个算法来选择端口标识符,所述算法可以在接收到帧A并且进行到步骤S13时和当接收到对于源和目的地公共的帧A和帧B并且进行到步骤S13时选择相同虚拟端口的端口标识符。
下面说明针对形成同一通信量的帧选择同一虚拟端口的端口标识符的算法的示例。当处理进行到步骤S13时,帧开关41对虚拟端口的端口标识符进行排序。例如,帧开关41以由端口标识符指示的比特串表示的值的降序(或者升序)从0开始将端口标识符编号。帧开关41可以将由所接收的以太网帧的目的地地址的比特串表示的值和由源地址的比特串表示的值的和除以要选择的端口标识符的数量,并且以对应于余数的次序来选择端口标识符。例如,当选择虚拟端口的端口标识符VP1和VP2之一时,端口标识符VP1是第零端口标识符,而端口标识符VP2是第一端口标识符。帧开关41将由所接收的以太网帧的目的地地址的比特串表示的值和由源地址的比特串表示的值的和除以要选择的端口标识符的数量(在本实施例中为2)。当余数是0时,帧开关选择端口标识符VP1。当余数是1时,帧开关选择端口标识符VP2。另外,此算法是针对形成同一通信量的帧选择同一虚拟端口的端口标识符的算法的一个示例。帧开关41可以按照除了上述之外的算法来选择端口标识符,只要它们可以针对形成同一通信量的帧选择同一虚拟端口的端口标识符即可。
当在步骤S4中用作检索关键字的输出信息是被分配到虚拟LAG组的虚拟端口的端口标识符时,处理进行到步骤S13。当源和目的地接收到共同的以太网帧时,使用被分配到虚拟LAG组的虚拟端口的端口标识符作为输出信息来执行步骤S4、S5和S12,然后,处理进行到步骤S13。在步骤S13中,通过上述的算法来选择虚拟端口的端口标识符。以这种方式,可以从属于虚拟LAG组的虚拟端口的端口标识符选择相同的端口标识符。
在步骤S13中,帧开关41选择一个虚拟端口的端口标识符,并且处理再一次进行到步骤S4。帧开关41重复地执行步骤S4、S5、S12和S13,直到在步骤S4中获取到一个或多个“物理端口”的端口标识符或者NULL值。
当在步骤S4中获取的端口标识符不是虚拟端口的端口标识符时,即当获取到NULL值时(在步骤S12中为否),帧开关41确定在步骤S4中被用作检索关键字的输出信息是否是物理端口的端口标识符(步骤S14)。
当确定在步骤S4中被用作检索关键字的输出信息是物理端口的端口标识符时(在步骤S14中为是),帧开关41丢弃所接收的以太网帧(步骤S11),并且处理进行到步骤S7。
当确定在步骤S4中被用作检索关键字的输出信息不是物理端口的端口标识符时(在步骤S14中为否),处理进行到步骤S15。在步骤S15中,帧开关41使用在步骤S4中被用作检索关键字的输出信息(在此情况下是虚拟端口的端口标识符)作为检索关键字来搜索在虚拟端口关系管理表存储单元530中存储的虚拟端口关系管理表531(参见图6),以获得被分配到包括所述虚拟端口的虚拟LAG组的虚拟端口的端口标识符(步骤S15)。
然后,帧开关41确定在步骤S15中搜索的结果是否是NULL值(步骤S16)。当确定在步骤S15中搜索的结果是NULL值时(步骤S16的是),帧开关41丢弃所接收的以太网帧(步骤S11),并且进行到步骤S7。
另一方面,当确定在在步骤S15中搜索的结果不是NULL值时(步骤S16为否),处理进行到步骤S4,并且使用在步骤S15中获取的虚拟端口的端口标识符作为输出信息来重复在步骤S4后的处理。当处理从步骤S16进行到步骤S4时,帧开关41可以使用在步骤S15中获取的虚拟端口的端口标识符作为检索关键字来搜索端口管理表461。
当确定在步骤S4中获取的端口标识符是物理端口的端口标识符时(在步骤S5中为是),帧开关41从在步骤S4中获取的端口标识符选择一个物理端口的端口标识符(在此情况下是物理端口的端口标识符),并且从对应于所选择的端口标识符的物理端口发送所接收的以太网帧(步骤S6)。另外,如上所述,在步骤S4中,可以获取多个虚拟端口的端口标识符作为所述虚拟端口的端口标识符。
当在步骤S4中获取到仅仅一个物理端口的端口标识符时,可以在步骤S6中选择该端口标识符。另一方面,当获取了多个物理端口的端口标识符时,帧开关41可以按照下述内容在步骤S5中选择一个端口标识符。例如,帧开关可以使用在所接收的以太网帧中存储的信息的一些或者全部信息项作为参数,并且选择对应于所述参数的端口标识符。例如,当处理进行到步骤S6时,帧开关41对物理端口的端口标识符进行排序。例如,帧开关41以由指示端口标识符的比特串表示的值的降序(或者升序)从0开始对端口标识符编号。帧开关41可以将由作为参数的信息的比特串表示的值除以要选择的物理端口的端口标识符的数量,并且以对应于余数的次序来选择端口标识符。例如,当物理端口的端口标识符P1和P2之一被选择时,端口标识符P1是第零端口标识符,而端口标识符P2是第一端口标识符。帧开关41将所述参数除以要选择的端口标识符的数量(在本实施例中为2)。当余数是0时,帧开关选择端口标识符P1。当余数是1时,帧开关选择端口标识符P2。例如,在以太网帧的有效负荷或者首标中存储的信息(例如目的地MAC地址、源MAC地址、VLAN标识符和优先级)可以被用作所述参数。
在步骤S6中发送以太网帧后,或者在步骤S11中丢弃以太网帧后,帧开关41使用接收所述以太网帧的接收端口的端口标识符作为检索关键字来搜索在节点的输出端口管理表存储单元440中存储的输出端口管理表441,以获取对应于所述检索关键字的端口标识符(步骤S7)。在步骤S7中获取的端口标识符可以作为输出信息被记录在FDB 431中。在步骤S7后,帧开关41将所接收的以太网帧的源MAC地址作为目的地信息记录在FDB 431中,并且将在步骤S7中获取的端口标识符作为对应于目的地信息的输出信息记录在FDB 431中(步骤S8)。
当在步骤S9中获取多个端口标识符作为输出信息时,帧开关41对于每个端口标识符执行在步骤S4后的处理。
接着,将说明当链路断开时按照本发明的节点10的故障恢复操作。在此,将说明当在图1中所示的网络中节点10的端口2和节点20的端口2之间的链路断开时的按照本发明的节点10的故障恢复操作。
当连接到节点10的链路断开时,节点10的端口状态管理单元490在节点的端口状态管理表存储单元500中存储的端口状态管理表501中将连接到断开链路的端口的状态从可用更新为不可用。当正如本示例中那样连接到节点10的端口P2的链路断开时,节点10的端口状态管理单元490在端口状态管理表501中将端口P2的状态从可用更新为不可用。此外,端口状态管理单元490更新端口状态管理表501,并且向节点的LAG管理单元48通知端口状态管理表501已经被更新。
从节点的端口状态管理单元490接收到所述通知的LAG管理单元48更新端口管理表461。按照本发明的节点的LAG管理单元48更新端口管理表461的操作已经在上面描述过。在本示例中。LAG管理单元从端口管理表461删除端口P2的端口标识符。
上述的操作与在图17中所示的当链路断开时一般节点100更新端口管理表461的操作相同。但是,在图17中所示的一般节点100中,从节点100的端口P2向节点200传送的单播以太网帧(参见图16C)在故障发生之前就被传送到属于包括端口P2的虚拟端口VP1的物理端口P1、P3和P4的任何一个中。因此,在图16C中所示的网络中,以太网帧的目的地节点可以从节点200被改变到节点210。
同时,在按照本发明的节点10的物理端口中,连接到同一节点的物理端口被记录在同一LAG组中,并且被分配到LAG组的虚拟端口被记录在该虚拟LAG组中。另外,连接到冗余节点20和21的虚拟端口被记录在同一虚拟LAG组中。结果,在FDB 431中,对于冗余节点20和21设置了不同的输出信息项。此外,建立了端口管理表461,在端口管理表461中,能够接收/发送以太网帧的物理端口的端口标识符被分配到节点的LAG组的每个虚拟端口和不属于任何LAG组的每个物理端口中。如上所述,在链路断开后,仅仅在端口管理表461中记录的物理端口的端口标识符P1属于在节点10的FDB 431中被设置作为输出信息的虚拟端口VP1。因此,在按照本实施例的节点10中,即使如上所述断开链路,也不会有以太网帧的目的地节点从节点20到节点21的改变。
在图17中所示的一般节点100中,恐怕在链路断开之前从节点100的端口2向节点200(参见图16C)传送的广播以太网帧的目的地节点将会被改变到节点210。
但是,在按照本发明的节点10中,当在步骤S4中用作检索关键字的输出信息是被分配到虚拟LAG组的虚拟端口的端口标识符并且从属于虚拟LAG组的虚拟端口的端口标识符中选择所述虚拟标识符之一时,在步骤S13总是选择同一端口标识符。例如,假定当广播以太网帧被传送时,在步骤S9从在图8中所示的广播帧发送允许端口管理表451中获取VP3(被分配到虚拟LAG组的虚拟端口的端口标识符)。则当处理经由到步骤S4、S5和S12进行到步骤S13时,帧开关41按照对于形成同一通信量的帧选择同一虚拟端口的端口标识符的算法来选择虚拟端口的端口标识符。因此,在链路故障发生前后从属于虚拟端口VP3的虚拟端口VP1和VP2中选择虚拟端口VP1的操作没有变化。结果,以太网帧的目的地节点没有变化。
同样,按照本发明,当节点10和节点20之间的链路中的仅仅一条链路断开时,以太网帧的目的地节点不改变,这防止了由于重新建立会话导致的通信频带的浪费的问题或者以太网帧的顺序的改变的问题。
当在节点10和节点20之间的另一链路断开并且因此在节点10和节点10之间的两个链路都断开时,节点10传送以太网帧的操作如下所述。
在这种情况下,节点10的端口状态管理单元490在端口状态管理表501中将端口P1的状态从可用状态改变到不可用状态,并且向LAG管理单元48通知端口状态管理表501已经被更新。然后,LAG管理单元48更新端口管理表461。结果,在图9中所示的端口管理表461中,对应于VP1的信息被更新为NULL值。另外,因为属于虚拟端口VP1的两个物理端口P1和P2都不可用,因此仅仅端口标识符VP2对应于在图9中所示的端口管理表461中的虚拟端口VP3。
在这种情况下,假定接收到作为单播帧的以太网帧,并且在步骤S2中VP1被搜索作为输出信息。则在步骤S4中,帧开关41使用输出信息VP1作为检索关键字来从端口管理表461获取到NULL值。结果,在步骤S4后,处理经由S5、S12和S14进行到步骤S15。在步骤S15中,帧开关使用在步骤S4中用作输出信息的VP1作为检索关键字来搜索虚拟端口关系管理表531(参见图6),以获取被分配到包括虚拟端口VP1的虚拟LAG组的虚拟端口的端口标识符VP3。然后,处理再一次进行到步骤S4,并且帧开关使用端口标识符VP3作为检索关键字来搜索端口管理表461。在这种情况下,对于节点10的端口管理表461中的虚拟端口VP3,仅仅包括可用物理端口的虚拟端口VP2的端口标识符被记录。因此,帧开关41使用端口标识符VP3作为检索关键字来从端口管理表461中获取VP2。
其后,VP2作为虚拟端口的端口标识符。因此,处理经由步骤S5和S12进行到步骤S13,并且帧开关41将属于虚拟端口VP2的物理端口P3和P4的其中之一选择作为用于发送所接收的单播以太网帧的物理端口。
当从节点30接收的以太网帧被广播发送时,帧开关在步骤S9中从广播帧发送允许端口管理表451获得VP3。然后,帧开关41在步骤S4中使用VP3作为检索关键字来从端口管理表461获取V2。然后,处理经由步骤S5和S12进行到步骤S13,并且帧开关41将属于虚拟端口VP2的物理端口P3和P4的其中之一选择作为用于广播发送所接收的以太网帧的物理端口。
如上所述,当节点10和节点20之间的两个链路都被断开并且节点10从节点20彻底断开时,以太网帧的目的地节点首先从节点20改变到节点21。
接着,将说明当连接到节点10的另一个节点故障时的故障恢复操作。
在节点10和另一个节点之间的连接故障表示在另一个节点和节点10之间的所有链路断开。因此,执行当多个链路断开时的上述恢复操作。例如,当节点20故障时,执行与当节点20和节点10之间的两个链路都被断开时相同的恢复操作。当节点21故障时,也执行与当节点21和节点10之间的两个链路都断开时相同的恢复操作。
按照本实施例,可以构造能够解决当链路断开时形成通信量的帧的顺序的改变的问题的、具有高可靠性的网络。
在图1中所示的网络的配置仅仅是说明性的,而且包括按照本发明的节点的网络的配置不限于在图1中所示的网络的配置。
此外,在如上所述的实施例中,通过LAG组管理表存储单元470来实现第一虚拟端口存储单元。通过虚拟LAG组管理表存储单元来实现第二虚拟端口存储单元。帧开关41实现帧目的地确定单元。
所述帧目的地确定单元可以包括:端口指定单元,其对应于所接收的帧的目的地来指定不属于虚拟端口或者作为多个物理端口的虚拟端口的物理端口;物理端口指定单元,其指定在属于虚拟端口的物理端口中的、连接到无故障的链路的物理端口;物理端口确定单元,其将由所述物理端口指定单元指定的物理端口之一确定作为用于发送帧的端口;主虚拟端口指定单元,其当所述物理端口指定单元在属于所述虚拟端口的物理端口中不能指定连接到无故障的链路的物理端口时,指定包括所述虚拟端口的主虚拟端口;客户虚拟端口指定单元,其指定属于由所述主虚拟端口指定单元指定的主虚拟端口的虚拟端口;以及,虚拟端口确定单元,其在由所述客户虚拟端口指定单元指定的虚拟端口中,按照所接收的帧的目的地和来源来唯一地确定虚拟端口。当所述端口指定单元指定多个虚拟端口并且所述虚拟端口确定单元确定所述虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
在上述实施例中,所述端口指定单元由执行步骤S2的帧开关41实现。所述物理端口指定单元由在步骤S2和步骤S13后执行步骤S4的帧开关41实现。所述物理端口确定单元由执行步骤S6的帧开关41实现。所述主虚拟端口指定单元由执行步骤S15的帧开关41实现。所述客户虚拟端口指定单元由在步骤S15后执行步骤S4的帧开关41实现。所述虚拟端口确定单元由执行步骤S13的帧开关41实现。
以下的配置也是可用的。所述帧目的地确定单元包括广播帧发送端口选择单元,当广播帧被接收时,该广播帧发送端口选择单元选择物理端口或者对应于接收到广播帧的物理端口的虚拟端口。当广播帧发送端口选择单元选择虚拟端口时,物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
此外,以下配置也是可用的。当接收到广播帧的物理端口属于作为多个物理端口的群组的任何虚拟端口时,所述广播帧发送端口选择单元选择:虚拟端口,该虚拟端口被设置在节点中,不包括接收广播帧的物理端口,并且不属于作为多个虚拟端口的群组的任何主虚拟端口;以及物理端口,该物理端口不属于作为多个物理端口的群组的任何虚拟端口。当接收到广播帧的物理端口不属于作为多个物理端口的群组的任何虚拟端口时,所述广播帧发送端口选择单元选择:虚拟端口,该虚拟端口被设置在节点中并且不属于作为多个虚拟端口的群组的任何主虚拟端口;以及物理端口,该物理端口是不属于作为多个物理端口的群组的任何虚拟端口的物理端口中的、除了接收到广播帧的物理端口之外的物理端口。
在上述实施例中,所述广播帧发送端口选择单元由执行步骤S9的帧开关41实现。
此外,以下配置也是可用的。按照本实施例的节点还包括:存储转发数据库的转发数据库存储单元,在该转发数据库存储单元中,物理端口或者虚拟端口与输出信息相关联,所述输出信息指示用于向帧目的地发送帧的端口;存储输出端口管理表的输出端口管理表存储单元,所述输出端口管理表是这样一种数据库,其中,用于接收帧的物理端口与作为输出信息的物理端口或者虚拟端口相关联;输出端口管理表记录单元,该输出端口管理表记录单元将物理端口和包括所述物理端口的虚拟端口记录在输出端口管理表中,以便使得它们彼此相关联,所述物理端口与包括在第一虚拟端口存储单元中的虚拟端口的物理端口的虚拟端口相关联,并且输出端口管理表记录单元将不属于任何虚拟端口的物理端口和物理端口记录在输出端口管理表中,以便使得它们彼此相关联;以及转发数据库记录单元,其当接收到帧时从输出端口管理表中搜索物理端口或者对应于接收到帧的物理端口的虚拟端口,并且将作为输出信息的所搜索的物理端口或者虚拟端口以及作为目的地的所接收的帧的来源记录在转发数据库中,以便使得它们彼此相关联。所述端口指定单元从转发数据库搜索对应于所接收的帧的目的地的物理端口或者虚拟端口,由此指定物理端口或者虚拟端口。
在上述实施例中,转发数据库存储单元由FDB存储单元430实现。所述输出端口管理表存储单元由输出端口管理表存储单元440实现。所述输出端口管理表存储单元由LAG管理单元48实现。所述转发数据库记录单元由执行步骤S7和S8的帧开关41实现。
(第二示例实施例)
接着,将描述本发明的第二示例实施例。在本发明的第二示例性实施例中,节点10也被包括在图1中所示的网络的配置中。在图2中所示的按照第一示例性实施例的节点中,在FDB 431的输出信息字段中记录被分配到LAG组的物理端口的端口标识符或者虚拟端口(即其中每个是多个物理端口的群组的虚拟端口)的端口标识符。相反,在按照第二示例性实施例的节点中,在FDB 431的输出信息字段中记录物理端口的端口标识符、被分配到LAG组的虚拟端口的端口标识符和被分配到虚拟LAG组的虚拟端口(即作为多个虚拟端口的群组的虚拟端口)的端口标识符。
在下面的说明中,对于每种通信量,可以在按照第二示例性实施例的节点10的FDB的输出信息字段中记录物理端口的端口标识符、被分配到每个LAG组的虚拟端口的端口标识符或者被分配到虚拟LAG组的虚拟端口的端口标识符。
用于识别通信量种类的识别信息被称为通信量标识符。作为通信量标识符,可以使用下述的任何一种:在所接收的以太网帧中存储的目的地节点标识符(目的地地址);源节点标识符(源地址);VLAN标识符;通信量的优先级;以及这些标识符中的一些或者全部的组合。在本实施例中,所述VLAN标识符被用作通信量标识符。
图12是图解按照第二示例性实施例的节点10的配置的示例的框图。在按照第二示例性实施例的节点中,与按照第一示例性实施例的节点的相同的部件以相同的标号来表示,并且将省略对它们的详细说明。按照第二示例性实施例的节点10包括输入端口400-1到400-5;帧开关41a、输出端口420-1到420-5、FDB存储单元430、输出端口管理表存储单元440、广播帧发送允许端口管理表存储单元450、端口管理表存储单元460、LAG组管理表存储单元470、LAG管理单元48、端口状态管理单元490、端口状态管理表存储单元500、设置接口单元51、虚拟LAG组管理表存储单元520、虚拟端口关系管理表存储单元530和通信量管理表存储单元540。
通信量管理表存储单元540是存储通信量管理表的存储器件。在通信量管理表存储单元540中存储的通信量管理表是这样一种数据库,其中通信量标识符和被记录在按照这个实施例的在FDB中的作为输出信息的端口标识符彼此相关联。在该通信量管理表中,虚拟端口的端口标识符或者物理端口的标识符与通信量标识符相关联。与通信量标识符相关联的虚拟端口的端口标识符可以是被分配到LAG组的虚拟端口的端口标识符或者被分配到虚拟LAG组的虚拟端口的端口标识符。
图13是图解通信量管理表的示例的示图。在图13中所示的通信量管理表541中,VLAN标识符被用作通信量标识符。如图13中所示,在通信量管理表541中,作为输出信息的端口标识符与通信量标识符相关联(在本实施例中为VLAN标识符)。另外,在图13中,被分配到虚拟LAG组的虚拟端口的端口标识符与VLAN标识符相关联。
当存储有由通信量管理表541指示的通信量标识符的以太网帧被由对应于通信量标识符的端口标识符指示的物理端口或者属于由对应于通信量标识符的端口标识符指示的虚拟端口的物理端口接收时,通信量管理表541指示作为输出信息的端口标识符可以被记录在在FDB中,以与通信量标识符和目的地信息的组合相关联,所述目的地信息是以太网帧的源MAC地址。例如,在图13中所示的通信量管理表541的第一条目表示:当属于VP3的物理端口接收具有第一VLAN标识符的通信量时,VP3被记录在FDB 432中的输出信息字段中(参见图14)。
帧开关41a在MAC地址学习期间参考通信量管理表541。
在本实施例中,设置接口单元51也被用作被节点管理员使用来更新通信量管理表541(记录或者修改数据)的用户界面。设置接口单元51被管理员操作来响应于来自管理员的指令而更新通信量管理表541,并且更新LAG组管理表471或者虚拟LAG组管理表521。
此外,第二示例性实施例与第一示例性实施例的不同在于:节点10包括通信量管理表存储单元540,并且在FDB存储单元430中存储的FDB的内容与在第一示例性实施例中的不同。在第一示例性实施例中,在FDB中,目的地信息(目的地节点的节点标识符)与输出信息相关联。
相反,在第二示例性实施例中,在FDB存储单元430中存储的FDB中,输出信息与目的地信息和通信量标识符的组合相关联。另外,作为输出信息,物理端口的端口标识符、被分配到LAG组的虚拟端口、被分配到虚拟LAG组的虚拟端口的端口标识符可以被记录在FDB中。
图14是图解按照第二示例性实施例的FDB存储单元430中存储的FDB的示例的示图。如图14中所示,在按照本实施例的FDB 432中,作为输出信息的端口标识符被记录,以便与目的地信息和通信量标识符(在本实施例中为VLAN标识符)的组合相关联。例如,在图14中所示的第一条目表示:VP3是包括第一VLAN标识符并且其目的地为节点200的以太网帧的输出端口。
在按照第二示例性实施例的节点10中提供的帧开关41a执行与按照第一示例性实施例的帧开关41相同的操作,以发送所接收的以太网帧,但是,在MAC地址学习处理中,帧开关41a与按照第一示例性实施例的帧开关41不同。
如上所述,除了MAC地址学习之外,在按照第二示例性实施例的节点10中提供的帧开关41a执行与按照第一示例性实施例的帧开关41向另一个节点发送(传送)所接收的以太网帧的操作相同的操作。即,当从另一个节点接收到以太网帧时,按照第二示例性实施例的帧开关41a执行在图10中所示的步骤S1后的操作。在步骤S1-S6、步骤S9和步骤S11-S16(参见图10和11)中,帧开关41a执行与按照第一示例性实施例的帧开关41相同的处理。但是,在步骤S2中,帧开关41a从FDB 432获取对应于在所接收的以太网帧中存储的VLAN标识符和目的地MAC地址的输出信息。
接着,将描述按照第二示例性实施例的由帧开关41a执行的MAC地址学习。帧开关41a在例如图10中所示的步骤S6或者S11后执行MAC地址学习。图15是图解按照第二示例性实施例的MAC地址学习处理的示例的流程图。
帧开关41a例如在步骤S6中发送以太网帧,或者在步骤S11中丢弃所接收的以太网帧,并且进行到步骤S17。但是,因为在步骤S17中使用了在所接收的以太网帧中包括的通信量标识符,因此帧开关41a在步骤S11中丢弃以太网帧之前提取在以太网帧中包括的通信量标识符。在本实施例中,因为VLAN标识符被用作通信量标识符,因此在下面的描述中,所述通信量标识符被称为VLAN标识符。
在步骤S17中,帧开关41a使用在所接收的以太网帧中包括的VLAN标识符作为检索关键字来搜索通信量管理表541(参见图13),以获取对应于VLAN标识符的端口标识符(步骤S17)。在步骤S17中,帧开关41a获取在FDB 432中记录的端口标识符来作为输出信息。
然后,帧开关41a确定在步骤S17中端口标识符的获取是否成功以及接收以太网帧的端口是否属于由在步骤S17中获取的端口标识符指示的虚拟端口(步骤S18)。接着,将描述当在步骤S17中端口标识符的获取成功时的处理。在步骤S18中,当在步骤S17中获取的端口标识符是虚拟端口的端口标识符时,帧开关41a使用所获取的端口标识符作为检索关键字来从端口管理表461获取虚拟端口或者属于所述虚拟端口的物理端口的标识符。在这种情况下,当从端口管理表461获取到虚拟端口的端口标识符时,帧开关41a使用所获取的虚拟端口的每个端口标识符作为检索关键字再一次从端口管理表461获取虚拟端口或者属于虚拟端口的物理端口的端口标识符。帧开关41a重复地执行搜索端口管理表461的处理,直到从端口管理表461获取到物理端口的端口标识符。例如,假定在步骤S17中建立了在图9中所示的端口管理表461并且获取了VP3。在这种情况下,帧开关41a使用VP3作为检索关键字从端口管理表461中获取VP1和VP2。因为VP1和VP2是虚拟端口的端口标识符,因此帧开关41a使用VP1和VP2作为检索关键字获取P1、P3和P4。当接收到以太网帧的物理端口的端口标识符被包括在从端口管理表461获取的物理端口的端口标识符中时,帧开关41a确定接收到以太网帧的端口属于由在步骤S17获取的端口标识符表示的虚拟端口(在步骤S18中为是)。另一方面,当接收到以太网帧的物理端口的端口标识符未被包括在所获取的物理端口的端口标识符中时,帧开关41a确定接收到以太网帧的端口不属于由在步骤S17中获取的端口标识符表示的虚拟端口(在步骤S18中为否)。
当在步骤S17中端口标识符的获取成功并且确定出接收以太网帧的端口属于由在步骤S17中获取的端口标识符表示的虚拟端口时(在步骤S18中为是),处理进行到步骤S8a。如果否(在步骤S18中为否),则处理进行到步骤S7a。
当在步骤S17中获取的端口标识符是物理端口的端口标识符并且包括接收以太网帧的物理端口的端口标识符时(在步骤S18中为是),处理进行到步骤S8a。另一方面,当在步骤S17中获取的端口标识符是物理端口的端口标识符而不包括接收到以太网帧的物理端口的端口标识符时(在步骤S18中为否),则处理进行到步骤S7a。
如果在步骤S17中端口标识符的获取失败时(在步骤S18中为否),则处理进行到步骤S7a。
在步骤S8a中,帧开关41a使用所接收的以太网帧的源MAC地址作为目的地信息将所接收的以太网帧中存储的目的地信息和VLAN标识符的组合以及输出信息记录在FDB 432中,以便使得所述组合与输出信息相关联(步骤S8a)。如果在步骤S18中的确定结果是“是”并且然后在步骤S18后马上执行步骤S8a,则帧开关41a将在步骤S17中获取的端口标识符作为输出信息记录在FDB 432中。
当在步骤S18中的确定结果是“否”时,例如当在步骤S 17中端口标识符的获取失败时或者当接收到以太网帧的端口不属于由在步骤S 17中获取的端口标识符表示的虚拟端口时,帧开关41a使用接收到以太网帧的物理端口的端口标识符作为检索关键字来搜索输出端口管理表441,以获取对应于所述检索关键字的端口标识符(步骤S7a)。然后,处理进行到步骤S8a。即使当在步骤S7a后执行步骤S8a时,帧开关41a也将所接收的以太网帧的源MAC地址使用作为目的地信息,以将在所接收的以太网帧中存储的目的地信息和VLAN标识符的组合以及输出信息记录在FDB 432中,以便使得所述组合与输出信息相关联。但是,在步骤S7a中获取的端口标识符被作为输出信息记录在FDB 432中。
除了被分配到LAG组的物理端口和虚拟端口的端口标识符之外,所述MAC地址学习还可以使得被分配到虚拟LAG组的虚拟端口的端口标识符被记录在FDB的输出信息字段中。
因此,在步骤S2中,帧开关41a可以使用在以太网帧的首标中存储的目的地MAC地址和VLAN标识符的组合作为检索关键字来搜索FDB432,以除了被分配到LAG组的物理端口和虚拟端口的端口标识符之外还获取作为输出信息的、被分配到虚拟LAG组的虚拟端口(作为多个虚拟端口的群组的虚拟端口)的端口标识符。
在这种情况下,在步骤S4中,帧开关41a使用被分配到虚拟LAG组的虚拟端口的端口标识符作为检索关键字来搜索端口管理表461,以获取属于所述虚拟端口的虚拟端口的端口标识符(步骤S4)。然后,处理经由步骤S5和S12进行到步骤S13。在这种情况下,帧开关41a选择在前面的步骤S4中获取的虚拟端口的端口标识符之一。步骤S13的处理与按照第一示例性实施例的步骤S13的处理相同。
在第一示例性实施例中,在步骤S15中获取被分配到虚拟LAG组的虚拟端口的端口标识符后执行步骤S13(参见图11),然后执行步骤S16、S4、S5和S12。在第二示例性实施例中,即使当不执行步骤S15时,在步骤S2中也可以获取被分配到虚拟LAG组的虚拟端口的端口标识符,然后,处理经由步骤S4、S5和S12进行到步骤S13,以选择属于被分配到虚拟LAG组的虚拟端口的虚拟端口的端口标识符之一。
下面详细说明此处理。假定设置了在图13中所示的通信量管理表541并且生成了在图14中所示的FDB 432。当从在图1中所示的节点30接收到具有第一或者第二VLAN标识符的以太网帧时,首先,节点10在步骤S2中获取包括虚拟端口VP1和VP2的虚拟端口VP3的端口标识符来作为输出信息。然后,在步骤S4中,获取属于虚拟端口VP3的虚拟端口VP1和VP2,并且处理经由步骤S5和S12进行到步骤S13,以选择虚拟端口VP1和VP2其中之一。然后,再一次执行步骤S4,以获取属于虚拟端口VP1的物理端口的端口标识符P1和P2或者属于虚拟端口VP2的物理端口的端口标识符P3和P4,并且在步骤S6中确定用于发送以太网帧的物理端口。
当接收到具有除了第一或者第二VLAN标识符之外的VLAN标识符的以太网帧时,与第一示例性实施例类似,在步骤S2中获取物理端口的标识符或者被分配到LAG组的虚拟端口的端口标识符,然后执行在步骤S2后的处理。
在上述的示例中,因为具有第一或者第二VLAN标识符的通信量可以被发送给节点20或者节点21,因此可以通过将虚拟端口VP3记录在节点10的FDB 432的输出信息字段中来分散通信量负荷,从而过扩展通信频带。
在第二示例性实施例中,通过LAG组管理表存储单元470来实现第一虚拟端口存储单元。通过虚拟LAG组管理表存储单元来实现第二虚拟端口存储单元。通过帧开关41a来实现帧目的地确定单元。
此外,所述帧目的地确定单元可以包括:端口指定单元,其对应于所接收的帧的目的地指定不属于任何虚拟端口的物理端口、作为其中每个包括多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口;物理端口指定单元,其在属于虚拟端口的物理端口中指定连接到无故障的链路的物理端口;物理端口确定单元,其将由所述物理端口指定单元指定的物理端口之一确定为有发送帧的端口;主虚拟端口指定单元,其当所述物理端口指定单元不能在属于虚拟端口的物理端口中指定连接到无故障的链路的物理端口时,指定包括所述虚拟端口的主虚拟端口;客户虚拟端口指定单元,其指定属于由所述主虚拟端口指定单元指定的主虚拟端口的虚拟端口或者属于由所述端口指定单元指定的、作为多个虚拟端口的群组的主虚拟端口的虚拟端口;以及虚拟端口确定单元,其在由所述客户虚拟端口指定单元指定的虚拟端口中,按照所接收的帧的目的地和来源而唯一地确定虚拟端口。当端口指定单元指定作为其中每个包括多个物理端口的群组的虚拟端口并且所述虚拟端口确定单元确定出作为多个物理端口的群组的虚拟端口时,物理端口指定单元可以在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
在第二示例性实施例中,通过执行步骤S2的帧开关41a来实现所述端口指定单元。通过在步骤S2和S13后执行步骤S4的帧开关41a来实现物理端口指定单元。通过执行步骤S6的帧开关41a来实现物理端口确定单元。
通过执行步骤S15的帧开关41a来实现主虚拟端口指定单元。通过在步骤S15或者S2后执行步骤S4的帧开关41a来实现客户虚拟端口指定单元。通过执行步骤S13的帧开关41a来实现虚拟端口确定单元。
此外,在第二示例性实施例中,通过执行步骤S9的帧开关41a来实现广播帧发送端口选择单元。
按照本实施例的节点还可以包括:存储转发数据库的转发数据库存储单元在该转发数据库存储单元中,物理端口、作为其中每个包括多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口作为用于指示用于发送帧的端口的输出信息而与帧的目的地和帧的通信量标识符的组合相关联;存储通信量管理表的通信量管理表存储单元所述通信量管理表是这样一种数据库,其中,帧的通信量标识符与作为输出信息的物理端口或者虚拟端口相关联;以及转发数据录记录单元,其当接收到帧时,从通信量管理表搜索对应于所述帧的通信量标识符的物理端口或者虚拟端口,并且将所搜索到的作为输出信息的物理端口或者虚拟端口以及所接收的帧的目的地和所述帧的通信量标识符的组合记录在转发数据库中,以便使得它们彼此相关联。作为多个虚拟端口的群组的主虚拟端口可以与在通信量管理表中的通信量标识符相关联,并且端口指定单元可以从转发数据库搜索对应于所接收的帧的目的地的物理端口或者虚拟端口,由此指定物理端口或者虚拟端口。
此外,在第二示例性实施例中,通过FDB存储单元430来实现所述转发数据库存储单元。通过通信量管理表存储单元540来实现所述通信量管理表存储单元。通过帧开关41a来实现转发数据库记录单元。
在上述的实施例中,按照本发明的节点包括处理单元,诸如帧开关41(或者帧开关41a)和LAG管理单元48,但是本发明不限于此。所述节点可以包括现有的计算机和存储器件,并且用于在存储器件中存储的节点的程序可以允许所述计算机执行处理单元的功能。
虽然已经参考示例性实施例具体示出和描述了本发明,但是本发明不限于这些实施例。本领域内的普通技术人员将会明白,在不脱离由所附的权利要求限定的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。
本申请基于并要求于2007年5月17日提交的第2007-131854号日本专利申请的优先权的权益,其公开内容通过引用而被全部结合于此。

Claims (18)

1.一种节点,其通过多个链路连接到其他节点,所述节点包括:
第一虚拟端口存储单元,其存储作为连接到节点之间的链路的多个物理端口的群组的虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性;
第二虚拟端口存储单元,其存储作为多个虚拟端口的群组的主虚拟端口和属于所述主虚拟端口的多个虚拟端口之间的对应性;以及,
帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口,
其中,所述帧目的地确定单元对应于所接收的帧的目的地,指定不属于所述虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口,并且
当指定所述虚拟端口时,所述帧目的地确定单元将属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
2.按照权利要求1所述的节点,
其中,所述帧目的地确定单元包括:
端口指定单元,其对应于所接收的帧的目的地,指定不属于所述虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口;
物理端口指定单元,其在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口;
物理端口确定单元,其将由所述物理端口指定单元指定的所述物理端口之一确定为用于发送帧的端口;
主虚拟端口指定单元,其当所述物理端口指定单元不能在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口时,指定包括所述虚拟端口的主虚拟端口;
客户虚拟端口指定单元,其指定属于由所述主虚拟端口指定单元指定的主虚拟端口的虚拟端口;以及
虚拟端口确定单元,其在由所述客户虚拟端口指定单元指定的虚拟端口中按照所接收的帧的目的地和来源确定虚拟端口,其中
当所述端口指定单元指定虚拟端口并且所述虚拟端口确定单元确定虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
3.按照权利要求2所述的节点,还包括:
转发数据库存储单元,其存储转发数据库,在所述转发数据库中,所述物理端口或者所述虚拟端口被与输出信息相关联,所述输出信息用于指示用于向帧目的地发送帧的端口;
输出端口管理表存储单元,其存储输出端口管理表,所述输出端口管理表是其中用于接收帧的物理端口被与作为输出信息的物理端口或者虚拟端口相关联的数据库;
输出端口管理表记录单元,其将与第一虚拟端口存储单元中的、包括物理端口的虚拟端口相关联的物理端口和包括所述物理端口的所述虚拟端口记录在输出端口管理表中,以使得它们彼此相关联,并且将不属于任何虚拟端口的物理端口记录在所述输出端口管理表中,以使得所述物理端口与它们自身的物理端口相关联;以及
转发数据库记录单元,其当接收到帧时,从所述输出端口管理表搜索物理端口或者对应于接收到帧的物理端口的虚拟端口,并且将搜索到的作为输出信息的物理端口或者虚拟端口和作为目的地的所接收的帧的来源记录在所述转发数据库中,以使得所述目的地和所述输出信息彼此相关联,
其中,所述端口指定单元从所述转发数据库搜索对应于所接收的帧的目的地的物理端口或者虚拟端口,由此指定所述物理端口或者所述虚拟端口。
4.一种节点,其通过多个链路连接到其他节点,所述节点包括:
第一虚拟端口存储单元,其存储作为连接到节点之间的链路的多个物理端口的群组的虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性;
第二虚拟端口存储单元,其存储作为多个虚拟端口的群组的主虚拟端口和属于所述主虚拟端口的多个虚拟端口之间的对应性;以及,
帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口,
其中,所述帧目的地确定单元对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口、作为每个包括多个物理端口的群组的虚拟端口、或者作为多个虚拟端口的群组的主虚拟端口,
当指定作为多个虚拟端口的群组的主虚拟端口时,所述帧目的地确定单元还指定属于所述主虚拟端口的虚拟端口,并且
当指定作为多个物理端口的群组的虚拟端口时,所述帧目的地确定单元将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
5.按照权利要求4的节点,
其中,所述帧目的地确定单元包括:
端口指定单元,其对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口、作为每个包括多个物理端口的群组的所述虚拟端口、或者作为多个虚拟端口的群组的主虚拟端口;
物理端口指定单元,其在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口;
物理端口确定单元,其将由所述物理端口指定单元指定的物理端口之一确定为用于发送帧的端口;
主虚拟端口指定单元,其当所述物理端口指定单元不能在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口时,指定包括所述虚拟端口的主虚拟端口;
客户虚拟端口指定单元,其指定属于由所述主虚拟端口指定单元指定的主虚拟端口的虚拟端口或者属于由所述端口指定单元指定的作为多个虚拟端口的群组的主虚拟端口的虚拟端口;以及
虚拟端口确定单元,其在由所述客户虚拟端口指定单元指定的虚拟端口中按照所接收的帧的目的地和来源确定虚拟端口,其中
当所述端口指定单元指定作为每个包括多个物理端口的群组的虚拟端口并且所述虚拟端口确定单元确定作为多个物理端口的群组的虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
6.按照权利要求5的节点,还包括:
转发数据库存储单元,其存储转发数据库,在所述转发数据库中,作为每个包括多个物理端口的群组的虚拟端口的物理端口或者作为多个虚拟端口的群组的主虚拟端口被作为用于发送帧的端口的输出信息而与帧的目的地和帧的通信量标识符的组合相关联;
通信量管理表存储单元,其存储通信量管理表,所述通信量管理表是其中帧的通信量标识符被与作为输出信息的物理端口或者虚拟端口相关联的数据库;以及
转发数据库记录单元,其当接收到帧时,从所述通信量管理表中搜索对应于帧的通信量标识符的物理端口或者虚拟端口,并且将搜索到的物理端口或者虚拟端口以及所接收的帧的目的地和帧的通信量标识符的组合记录在所述转发数据库中,以使得所述目的地和所述输出信息彼此相关联,
其中,作为多个虚拟端口的群组的所述主虚拟端口可以与所述通信量管理表中的所述通信量标识符相关联,并且
所述端口指定单元从所述转发数据库中搜索对应于所接收的帧的目的地的物理端口或者虚拟端口,由此指定所述物理端口或者所述虚拟端口。
7.按照权利要求2所述的节点,
其中,所述帧目的地确定单元包括:
广播帧发送端口选择单元,其当接收到广播帧时,选择物理端口或者对应于接收到广播帧的物理端口的虚拟端口,
当广播帧发送端口选择单元选择所述虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
8.按照权利要求3所述的节点,
其中,所述帧目的地确定单元包括:
广播帧发送端口选择单元,其当接收到广播帧时,选择物理端口或者对应于接收到广播帧的物理端口的虚拟端口,
当广播帧发送端口选择单元选择所述虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
9.按照权利要求5所述的节点,
其中,所述帧目的地确定单元包括:
广播帧发送端口选择单元,其当接收到广播帧时,选择物理端口或者对应于接收到广播帧的物理端口的虚拟端口,
当广播帧发送端口选择单元选择所述虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
10.按照权利要求6所述的节点,
其中,所述帧目的地确定单元包括:
广播帧发送端口选择单元,其当接收到广播帧时,选择物理端口或者对应于接收到广播帧的物理端口的虚拟端口,
当广播帧发送端口选择单元选择所述虚拟端口时,所述物理端口指定单元在属于所述虚拟端口的物理端口中指定连接到无故障的链路的物理端口。
11.按照权利要求7所述的节点,
其中,当接收到广播帧的物理端口属于作为多个物理端口的群组的任何虚拟端口时,所述广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在所述节点中,不包括接收到广播帧的物理端口,并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口不属于作为多个物理端口的群组的任何虚拟端口,并且
当接收到广播帧的物理端口不属于作为多个物理端口的群组的任何虚拟端口时,广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口是不属于作为多个物理端口的群组的任何虚拟端口的物理端口中的除了接收到广播帧的物理端口之外的物理端口。
12.按照权利要求8所述的节点,
其中,当接收到广播帧的物理端口属于作为多个物理端口的群组的任何虚拟端口时,所述广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中,不包括接收到广播帧的物理端口,并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口不属于作为多个物理端口的群组的任何虚拟端口,并且
当接收到广播帧的物理端口不属于作为多个物理端口的群组的任何虚拟端口时,广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口是不属于作为多个物理端口的群组的任何虚拟端口的物理端口中除了接收到广播帧的物理端口之外的物理端口。
13.按照权利要求9所述的节点,
其中,当接收到广播帧的物理端口属于作为多个物理端口的群组的任何虚拟端口时,广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中,不包括接收到广播帧的物理端口,并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口不属于作为多个物理端口的群组的任何虚拟端口,并且
当接收到广播帧的物理端口不属于作为多个物理端口的群组的任何虚拟端口时,广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口是不属于作为多个物理端口的群组的任何虚拟端口的物理端口中除了接收到广播帧的物理端口之外的物理端口。
14.按照权利要求10所述的节点,
其中,当接收到广播帧的物理端口属于作为多个物理端口的群组的任何虚拟端口时,广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中,不包括接收到广播帧的物理端口,并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口不属于作为多个物理端口的群组的任何虚拟端口,并且
当接收到广播帧的物理端口不属于作为多个物理端口的群组的任何虚拟端口时,广播帧发送端口选择单元选择下述虚拟端口和物理端口,所述虚拟端口被设置在节点中并且不属于作为多个虚拟端口的群组的任何主虚拟端口,所述物理端口是不属于作为多个物理端口的群组的任何虚拟端口的物理端口中除了接收到广播帧的物理端口之外的物理端口。
15.一种通信方法,其被应用到一个节点,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储作为连接到节点之间的链路的多个物理端口的群组的虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性;第二虚拟端口存储单元,其存储作为多个虚拟端口的群组的主虚拟端口和属于所述主虚拟端口的虚拟端口之间的对应性;以及帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口,所述通信方法包括:
对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口;并且,
当指定所述虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
16.一种通信方法,其被应用到一个节点,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储作为连接到节点之间的链路的多个物理端口的群组的虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性;第二虚拟端口存储单元,其存储作为多个虚拟端口的群组的主虚拟端口和属于所述主虚拟端口的虚拟端口之间的对应性;以及帧目的地确定单元,其确定用于发送所接收的帧的节点的物理端口,所述通信方法包括:
对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口、作为多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口;
当指定作为多个虚拟端口的群组的主虚拟端口时,还指定属于所述主虚拟端口的虚拟端口;并且,
当指定作为多个物理端口的群组的虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
17.一种存储介质,用于存储一种用于节点的程序,其允许包括该节点计算机执行帧目的地确定处理,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储作为连接到节点之间的链路的多个物理端口的群组的虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性;第二虚拟端口存储单元,其存储作为多个虚拟端口的群组的主虚拟端口和属于所述主虚拟端口的虚拟端口之间的对应性,所述帧目的地确定处理包括:
对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口或者作为多个物理端口的群组的虚拟端口;并且,
当指定所述虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
18.一种存储介质,用于存储一种用于节点的程序,其允许包括该节点计算机执行帧目的地确定处理,所述节点通过多个链路连接到其他节点,所述节点包括:第一虚拟端口存储单元,其存储作为连接到节点之间的链路的多个物理端口的群组的虚拟端口和属于所述虚拟端口的多个物理端口之间的对应性;第二虚拟端口存储单元,其存储作为多个虚拟端口的群组的主虚拟端口和属于所述主虚拟端口的虚拟端口之间的对应性,所述帧目的地确定处理包括:
对应于所接收的帧的目的地,指定不属于任何虚拟端口的物理端口、作为多个物理端口的群组的虚拟端口或者作为多个虚拟端口的群组的主虚拟端口;
当指定作为多个虚拟端口的群组的主虚拟端口时,还指定属于所述主虚拟端口的虚拟端口;并且,
当指定作为多个物理端口的群组的虚拟端口时,将在属于所指定的虚拟端口的物理端口中的、连接到无故障的链路的物理端口确定为用于发送帧的端口。
CN2008100932693A 2007-05-17 2008-05-19 节点和通信方法 Expired - Fee Related CN101330370B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007131854A JP4862743B2 (ja) 2007-05-17 2007-05-17 ノード、通信方法およびノード用プログラム
JP2007-131854 2007-05-17
JP2007131854 2007-05-17

Publications (2)

Publication Number Publication Date
CN101330370A true CN101330370A (zh) 2008-12-24
CN101330370B CN101330370B (zh) 2012-12-05

Family

ID=40027408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100932693A Expired - Fee Related CN101330370B (zh) 2007-05-17 2008-05-19 节点和通信方法

Country Status (3)

Country Link
US (1) US7944913B2 (zh)
JP (1) JP4862743B2 (zh)
CN (1) CN101330370B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks***下的多网卡双冗余装置及***
CN102137169A (zh) * 2011-01-30 2011-07-27 华为技术有限公司 一种绑定物理网口的方法、网卡及通信***
CN102474454A (zh) * 2009-06-30 2012-05-23 阿尔卡特朗讯公司 节点间链路聚合***和方法
CN103155501A (zh) * 2010-10-14 2013-06-12 日本电气株式会社 通信***、控制设备、设置处理规则的方法和程序
CN103457818A (zh) * 2012-05-31 2013-12-18 美国博通公司 扩展网桥中的多宿主
CN103502942A (zh) * 2011-04-20 2014-01-08 日本电气株式会社 虚拟机管理设备、虚拟机管理方法及其程序
CN103905325A (zh) * 2012-12-26 2014-07-02 中兴通讯股份有限公司 二层网络数据传送方法及网络节点
CN104579949A (zh) * 2013-10-15 2015-04-29 日立金属株式会社 网络中继***以及交换机装置
CN102137169B (zh) * 2011-01-30 2016-12-14 华为技术有限公司 一种绑定物理网口的方法、网卡及通信***
CN109218188A (zh) * 2017-07-04 2019-01-15 华为技术有限公司 链路聚合***、方法、装置、设备及介质

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796594B2 (en) 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging system and method
CN102077521B (zh) * 2008-06-27 2014-10-22 爱立信电话股份有限公司 用于链路汇聚的方法和***
JP5217816B2 (ja) * 2008-09-12 2013-06-19 日本電気株式会社 フレーム監視装置、ネットワークインタフェースカード、計算機及びフレーム監視方法
JP4577531B2 (ja) * 2008-10-28 2010-11-10 日本電気株式会社 認証サーバ、通信システム、接続装置割り当て方法およびプログラム
US8665886B2 (en) 2009-03-26 2014-03-04 Brocade Communications Systems, Inc. Redundant host connection in a routed network
JP5126159B2 (ja) * 2009-05-07 2013-01-23 日立電線株式会社 ネットワーク中継機器及びリングネットワーク
US8351429B2 (en) * 2009-05-13 2013-01-08 Avaya Inc. Method and apparatus for providing fast reroute of a packet that may be forwarded on one of a plurality of equal cost multipath routes through a network
US8385335B2 (en) * 2009-05-13 2013-02-26 Avaya Inc. 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
EP2497234B1 (en) * 2009-11-02 2018-09-19 Marvell World Trade Ltd. Network device and method based on virtual interfaces
JP5387349B2 (ja) * 2009-11-11 2014-01-15 富士通株式会社 中継装置
US8442064B2 (en) * 2010-03-19 2013-05-14 Juniper Networks, Inc. Virtual link aggregation of network traffic in an aggregation switch
US8369335B2 (en) 2010-03-24 2013-02-05 Brocade Communications Systems, Inc. Method and system for extending routing domain to non-routing end stations
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9231890B2 (en) 2010-06-08 2016-01-05 Brocade Communications Systems, Inc. Traffic management for virtual cluster switching
US9270486B2 (en) * 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9461840B2 (en) 2010-06-02 2016-10-04 Brocade Communications Systems, Inc. Port profile management for virtual cluster switching
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US9001824B2 (en) 2010-05-18 2015-04-07 Brocade Communication Systems, Inc. Fabric formation for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US8634308B2 (en) 2010-06-02 2014-01-21 Brocade Communications Systems, Inc. Path detection in trill networks
US8885488B2 (en) 2010-06-02 2014-11-11 Brocade Communication Systems, Inc. Reachability detection in trill networks
US8446914B2 (en) 2010-06-08 2013-05-21 Brocade Communications Systems, Inc. Method and system for link aggregation across multiple switches
US9246703B2 (en) 2010-06-08 2016-01-26 Brocade Communications Systems, Inc. Remote port mirroring
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US8964742B1 (en) 2010-07-28 2015-02-24 Marvell Israel (M.I.S.L) Ltd. Linked list profiling and updating
CN102143536B (zh) 2010-12-17 2013-11-06 华为终端有限公司 自动切换网络的方法和装置、无线接入设备和中间设备
US9106564B2 (en) * 2011-03-31 2015-08-11 Amazon Technologies, Inc. Incremental high radix network scaling
US9270572B2 (en) 2011-05-02 2016-02-23 Brocade Communications Systems Inc. Layer-3 support in TRILL networks
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
US9401861B2 (en) 2011-06-28 2016-07-26 Brocade Communications Systems, Inc. Scalable MAC address distribution in an Ethernet fabric switch
US9407533B2 (en) 2011-06-28 2016-08-02 Brocade Communications Systems, Inc. Multicast in a trill network
US8879549B2 (en) 2011-06-28 2014-11-04 Brocade Communications Systems, Inc. Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch
US8948056B2 (en) 2011-06-28 2015-02-03 Brocade Communication Systems, Inc. Spanning-tree based loop detection for an ethernet fabric switch
US9007958B2 (en) 2011-06-29 2015-04-14 Brocade Communication Systems, Inc. External loop detection for an ethernet fabric switch
US8885641B2 (en) 2011-06-30 2014-11-11 Brocade Communication Systems, Inc. Efficient trill forwarding
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
JP5720524B2 (ja) * 2011-10-12 2015-05-20 富士通株式会社 中継のためのプログラム、中継装置及び制御方法
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8868734B2 (en) * 2012-01-11 2014-10-21 Verizon Patent And Licensing Inc. Network auditing tool
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US8953449B2 (en) * 2012-03-22 2015-02-10 Fujitsu Limited Virtual subport data traffic management
US9036629B2 (en) 2012-04-27 2015-05-19 Hewlett-Packard Development Company, L.P. Switch module
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
WO2013177289A1 (en) 2012-05-23 2013-11-28 Brocade Communications Systems, Inc. Layer-3 overlay gateways
JP5937424B2 (ja) * 2012-05-29 2016-06-22 株式会社日立製作所 通信装置及びそれを制御する方法
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
JP6044218B2 (ja) * 2012-09-18 2016-12-14 日本電気株式会社 ネットワークスイッチ、ネットワークスイッチ制御方法、及びネットワークスイッチ制御プログラム
JP5874608B2 (ja) * 2012-11-08 2016-03-02 日立金属株式会社 通信システムおよびネットワーク中継装置
US9660901B2 (en) * 2012-11-14 2017-05-23 Dell Products L.P. Systems and methods for forming and using a group of link aggregation groups to reduce traffic on interconnect links
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US20140192635A1 (en) * 2013-01-04 2014-07-10 International Business Machines Corporation Start-up delay for event-driven virtual link aggregation
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
US9413586B2 (en) 2013-01-30 2016-08-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Spanning tree protocol (STP) implementation on an event driven virtual link aggregation (VLAG) system
US9014011B2 (en) * 2013-02-04 2015-04-21 Dell Products L.P. Systems and methods for layer-2 traffic polarization during failures in a virtual link trunking domain
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9413658B2 (en) 2013-03-15 2016-08-09 Cisco Technology, Inc. System for conversational link aggregation resolution in a network switch
WO2014145750A1 (en) 2013-03-15 2014-09-18 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
JPWO2014157460A1 (ja) * 2013-03-28 2017-02-16 日本電気株式会社 通信システム、制御装置、情報収集方法およびプログラム
WO2014161133A1 (zh) * 2013-04-01 2014-10-09 华为技术有限公司 虚拟机的数据交换方法、装置和***
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US9525726B2 (en) * 2013-06-24 2016-12-20 Nec Corporation Compute followed by network load balancing procedure for embedding cloud services in software-defined flexible-grid optical transport networks
CN104253764B (zh) * 2013-06-28 2017-05-17 新华三技术有限公司 一种链路聚合的方法和设备
US9240905B2 (en) * 2013-07-22 2016-01-19 Ciena Corporation Protecting hybrid equipment in a network node
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
WO2018211488A1 (en) 2017-05-18 2018-11-22 Liveu Ltd. Device, system, and method of wireless multiple-link vehicular communication
US10986029B2 (en) 2014-09-08 2021-04-20 Liveu Ltd. Device, system, and method of data transport with selective utilization of a single link or multiple links
US10349462B2 (en) 2014-09-08 2019-07-09 Liveu Ltd. Methods and systems for managing bonded communications across multiple communication networks
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
WO2017022235A1 (ja) * 2015-08-03 2017-02-09 日本電気株式会社 伝送装置、伝送制御方法、及び、記録媒体
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
WO2018203336A1 (en) 2017-05-04 2018-11-08 Liveu Ltd. Device, system, and method of pre-processing and data delivery for multi-link communications and for media content

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5959968A (en) * 1997-07-30 1999-09-28 Cisco Systems, Inc. Port aggregation protocol
JP4141106B2 (ja) * 2001-02-06 2008-08-27 富士通株式会社 帯域制御装置
WO2006107087A1 (ja) * 2005-03-31 2006-10-12 Nec Corporation 通信ネットワーク、ノード、通信帯域の拡大方法。通信帯域の拡大処理プログラム

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102474454A (zh) * 2009-06-30 2012-05-23 阿尔卡特朗讯公司 节点间链路聚合***和方法
CN102474454B (zh) * 2009-06-30 2015-05-20 阿尔卡特朗讯公司 节点间链路聚合***和方法
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks***下的多网卡双冗余装置及***
CN103155501A (zh) * 2010-10-14 2013-06-12 日本电气株式会社 通信***、控制设备、设置处理规则的方法和程序
US8902731B2 (en) 2011-01-30 2014-12-02 Huawei Technologies Co., Ltd. Method, network card, and communication system for binding physical network ports
CN102137169A (zh) * 2011-01-30 2011-07-27 华为技术有限公司 一种绑定物理网口的方法、网卡及通信***
CN102137169B (zh) * 2011-01-30 2016-12-14 华为技术有限公司 一种绑定物理网口的方法、网卡及通信***
CN103502942A (zh) * 2011-04-20 2014-01-08 日本电气株式会社 虚拟机管理设备、虚拟机管理方法及其程序
US9710295B2 (en) 2011-04-20 2017-07-18 Nec Corporation Grouping and placement of virtual machines based on similarity and correlation of functional relations
CN103502942B (zh) * 2011-04-20 2017-08-29 日本电气株式会社 虚拟机管理设备和虚拟机管理方法
US10140142B2 (en) 2011-04-20 2018-11-27 Nec Corporation Grouping and placement of virtual machines based on similarity and correlation of functional relations
CN103457818A (zh) * 2012-05-31 2013-12-18 美国博通公司 扩展网桥中的多宿主
US9819612B2 (en) 2012-05-31 2017-11-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Multi-homing in an extended bridge
CN103457818B (zh) * 2012-05-31 2018-11-20 安华高科技股份有限公司 扩展网桥中的多宿主
WO2014101708A1 (zh) * 2012-12-26 2014-07-03 中兴通讯股份有限公司 二层网络数据传送方法及网络节点
CN103905325A (zh) * 2012-12-26 2014-07-02 中兴通讯股份有限公司 二层网络数据传送方法及网络节点
CN103905325B (zh) * 2012-12-26 2018-12-11 南京中兴软件有限责任公司 二层网络数据传送方法及网络节点
CN104579949A (zh) * 2013-10-15 2015-04-29 日立金属株式会社 网络中继***以及交换机装置
CN104579949B (zh) * 2013-10-15 2018-10-19 日立金属株式会社 网络中继***以及交换机装置
CN109218188A (zh) * 2017-07-04 2019-01-15 华为技术有限公司 链路聚合***、方法、装置、设备及介质

Also Published As

Publication number Publication date
US20080285555A1 (en) 2008-11-20
US7944913B2 (en) 2011-05-17
JP2008288880A (ja) 2008-11-27
CN101330370B (zh) 2012-12-05
JP4862743B2 (ja) 2012-01-25

Similar Documents

Publication Publication Date Title
CN101330370B (zh) 节点和通信方法
US7570601B2 (en) High speed autotrunking
US7167450B2 (en) Network management method and communications network system
EP0348331B1 (en) Method of efficiently updating the topology databases of the nodes in a data communications network
US6631141B1 (en) Methods, systems and computer program products for selecting an aggregator interface
CN101815107B (zh) 一种以太环网中管理地址的方法、***以及设备
US5949759A (en) Fault correlation system and method in packet switching networks
US6853623B2 (en) Remote monitoring of switch network
CN101692652B (zh) 一种防止聚合链路中流量中断的方法及装置
CN101682442B (zh) 用于第2层链路聚合的动态负载均衡
US6219699B1 (en) Multiple VLAN Architecture system
CN101189837B (zh) 分组环网络***、分组转发方法和节点
CN102006184B (zh) 堆叠链路管理方法、装置及网络设备
US7720001B2 (en) Dynamic connectivity determination
CN101409666B (zh) 一种环网、环网拓扑发现方法及一种节点
CN101047598B (zh) 环形网络,通信设备及用于两者的操作管理方法
CN102946356A (zh) 一种基于cb-pe网络的组播报文传输方法和设备
JP2002009866A (ja) フレーム分配方法およびその機能を有する情報処理装置
WO2006072009A1 (en) Network clustering
CN1871822B (zh) 用于接入层交换机的基于端口的负载共享
JP2003143169A (ja) ルーティングブリッジシステム、ノード、接続ノード、及びルーティングプログラム
US8432809B2 (en) Method for communication between processors
CN105979002A (zh) 一种信息处理方法及电子设备
CN100581115C (zh) 用于增强网络的方法
JP2000078143A (ja) ルーティング装置、及びルーティング方法

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: 20121205