WO2011104847A1 - 通信装置およびアドレス学習方法 - Google Patents

通信装置およびアドレス学習方法 Download PDF

Info

Publication number
WO2011104847A1
WO2011104847A1 PCT/JP2010/052978 JP2010052978W WO2011104847A1 WO 2011104847 A1 WO2011104847 A1 WO 2011104847A1 JP 2010052978 W JP2010052978 W JP 2010052978W WO 2011104847 A1 WO2011104847 A1 WO 2011104847A1
Authority
WO
WIPO (PCT)
Prior art keywords
port
entry
output
database
frame
Prior art date
Application number
PCT/JP2010/052978
Other languages
English (en)
French (fr)
Inventor
隆一 北市
和幸 鹿島
健志 北山
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2012501579A priority Critical patent/JP5349678B2/ja
Priority to US13/580,726 priority patent/US8655909B2/en
Priority to CN201080064593.8A priority patent/CN102771092B/zh
Priority to PCT/JP2010/052978 priority patent/WO2011104847A1/ja
Priority to EP10846512.1A priority patent/EP2541842B1/en
Priority to TW100104715A priority patent/TWI449376B/zh
Publication of WO2011104847A1 publication Critical patent/WO2011104847A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration

Definitions

  • the present invention relates to a communication device that relays a received frame in a network and an address learning method.
  • MAC address learning In a bridge device or a switch device (hereinafter referred to as an L2 switch) that is a relay device for an Ethernet (registered trademark) frame (hereinafter simply referred to as “frame”), the transmission source MAC address of the received frame, the received port, and It has a database called FDB (Filtering Database) that stores entries consisting of other information. The FDB adds entries each time a new frame is received. This operation is called MAC address learning (or address learning).
  • FDB Frtering Database
  • the FDB is used when relaying received frames. Specifically, the L2 switch that has received the frame searches the FDB using the destination MAC address of the received frame as a search key. If it is a learned MAC address, a port (output port) corresponding to the MAC address used as a search key is obtained. If the received frame is transferred to this port, the other L2 switches of the transfer destination perform the same operation, so that the received frame is finally sent to the target Ethernet (registered trademark) node (hereinafter simply referred to as “node”). To reach. On the other hand, a received frame having a destination MAC address that has no entry in the FDB cannot obtain output port information even after searching the FDB (it does not know which port should be forwarded). The received frame is broadcast to all ports other than the received port. This operation is called flooding. Such a frame relay operation is described in Non-Patent Document 1.
  • MAC Media Access Control
  • the frame relay route changes when a failure occurs anywhere in the network. Therefore, all the entries in the FDB that each L2 switch has are invalidated, and the changed relay route is used again. It was necessary to perform address learning and reconstruct the FDB. This invalidation of all FDB entries is also called an FDB flash.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a communication device that can quickly resume address learning for reconstructing an FDB after a failure is detected in a network.
  • the present invention is a communication device that operates as a node of a network, and each time a failure occurrence in the network is detected, status information indicating the status of the network is provided.
  • Output destination determining means for determining.
  • the communication apparatus has an effect that the time required from when a failure occurs to the start of FDB reconstruction can be shortened.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system according to the first embodiment.
  • FIG. 2 is a diagram illustrating a configuration example of a ring node.
  • FIG. 3 is a diagram illustrating an internal configuration of the port state management unit.
  • FIG. 4 is a diagram illustrating a configuration example of the output port search processing unit.
  • FIG. 5 is a flowchart illustrating an example of an FDB update procedure in the ring node according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of information registered in the FDB.
  • FIG. 7 is a diagram illustrating an example of a failure that occurs in the ring network.
  • FIG. 8 is a flowchart showing a frame transfer procedure by the ring node according to the first embodiment.
  • FIG. 9 is a diagram illustrating an example of the FDB learning operation after a failure occurs.
  • FIG. 10 is a diagram illustrating an example of the FDB learning operation after a failure occurs.
  • FIG. 11 is a diagram illustrating a configuration example of an FDB managed by the ring node according to the second embodiment.
  • FIG. 12 is a diagram illustrating a configuration example of information managed by the port state management unit included in the ring node according to the second embodiment.
  • FIG. 13 is a flowchart illustrating an example of an FDB update procedure in the ring node according to the second embodiment.
  • FIG. 14 is a flowchart showing a frame transfer procedure by the ring node according to the second embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system including a ring network configured by a ring node device (hereinafter referred to as “ring node”) corresponding to the communication device of the present embodiment.
  • This communication system includes a ring network 1 configured by a plurality of ring nodes (ring nodes 100, 200, 300, 400, 500, and 600) according to the present embodiment, and a plurality of nodes connected to the ring network 1 ( Nodes 10, 20, 30, 40, 50, 60).
  • the input / output ports of each ring node are also shown, and the input / output ports of the ring node 300 are ports 301 to 303.
  • the port 301 accommodates the link connected to the ring node 200
  • the port 302 accommodates the link connected to the ring node 400
  • the port 303 accommodates the link connected to the node 30.
  • the ring network 1 is configured in accordance with a technique defined in the document “ITU-T recommendation G.8032 / Y.1344, Ethernet Ring Protection Switching” (hereinafter referred to as “ERP”).
  • Each constituting ring node is an L2 switch in which a function conforming to this ERP is implemented.
  • the EPR also defines a network failure switching method. According to this rule, when a failure switching of a network relay route occurs, an FDB flush is required.
  • the link connecting the ring nodes 100 and 600 is set to Ring Protection Link, and the ring node 600 is set to a node called RPL (Ring Protection Link) Owner.
  • RPL Ring Protection Link
  • the ring node 600 prevents a frame from looping on the ring network 1 by blocking the port that accommodates the Ring Protection Link.
  • FIG. 2 is a diagram illustrating a configuration example of a ring node included in the ring network 1.
  • a configuration example of the ring node 300 is shown as an example, but the configuration of each ring node included in the ring network 1 is the same. Note that, as described above, in the ring node 600 set in the RPL Owner, the port that accommodates the Ring Protection Link is blocked.
  • the ring node 300 includes a plurality of ports 301, 302, 303,..., The same number of input / output processing units 310, a switching processing unit 320, and a ring management processing unit. 330, a port state management unit 340, and an output port search processing unit 350.
  • Each port is given a different reference to distinguish the link to be connected (see FIG. 1), but they have the same function. That is, FIG. 2 shows only the internal configuration of the port 301 and the input / output processing unit 310 connected thereto, but the other ports 302, 303,... And the input / output processing unit 310 connected thereto are also shown. Has the same internal configuration.
  • Each port includes an input port and an output port.
  • the port 301 includes an input port 301-1 and an output port 301-2.
  • Each of these ports notifies the port state management unit 340 when detecting a failure of the link to be connected or the own port (ports 301, 302,).
  • the port 301 accommodates a link connected to the ring node 200
  • the port 302 accommodates a link connected to the ring node 400
  • the port 303 accommodates a link connected to the node 30 (FIG. 1). reference).
  • Each input / output processing unit 310 includes an input frame processing unit 311 and an output frame processing unit 312, and performs multiplexing / separation of frames.
  • the input frame processing unit 311 of the input / output processing unit 310 analyzes the received frame and transfers it to the ring management processing unit 330 if the received frame is a ring management frame based on ERP.
  • the ring management processing unit 330 if the received frame is a ring management frame based on ERP.
  • a link management frame with an adjacent ring node described in “ITU-T recommendation Y.1731, OAM Functions and Mechanisms for Ethernet based Networks” hereinafter referred to as “Ethernet OAM function”
  • port status management is performed.
  • the data is transferred to the unit 340.
  • the port that received the frame is also notified.
  • the destination port MAC address of the received frame is notified to the output port search processing unit 350 to request an output port search.
  • the output port is notified from the output port search processing unit 350, the output port is notified to the switching processing unit 320, and the received frame is handed over to request the frame transfer.
  • the input frame processing unit 311 notifies the output port search processing unit 350 of the port that received the frame and the transmission source MAC address of the received frame, and requests the FDB to be updated.
  • the output frame processing unit 312 of the input / output processing unit 310 includes a frame transferred from another input / output processing unit 310 via the switching processing unit 320, a frame received from the ring management processing unit 330, and a port state management unit 340. Is multiplexed with the frame received from the port 301 and transferred to the port 301 (output port unit).
  • the ring management processing unit 330 is a processing unit that performs ring management based on ERP, and instructs the port state management unit 340 to perform an operation to be performed when a ring management frame is transmitted and received and when a failure occurs / cancels.
  • a failure notification frame for notifying the content of the failure is generated as a ring management frame.
  • the port state management unit 340 is instructed to execute FDB flush.
  • FIG. 3 is a diagram showing an internal configuration of the port state management unit 340. As illustrated, the port state management unit 340 manages the port state table 341 and the failure state number 342.
  • the port status table 341 stores the status of all ports of the ring node 300.
  • the failure state number 342 is information for managing the state (failure occurrence state) of the ring network 1.
  • the port state management unit 340 updates the state of the corresponding port in the port state table 341 (records the failure occurrence).
  • the failure state number 342 is updated, and the ring management processing unit 330 is notified of the failure and the port where the failure has occurred.
  • the port state management unit 340 monitors the link state with the adjacent ring node based on the above EthernetOAM function, and when a link failure is detected, as in the case where the port failure is notified, The ring management processor 330 is notified of the occurrence of the failure and the port connected to the failure occurrence link (the link where the failure has occurred).
  • FIG. 4 is a diagram illustrating a configuration example of the output port search processing unit 350.
  • the output port search processing unit 350 includes an FDB control unit 351 and an FDB 352.
  • the FDB control unit 351 searches the FDB 352 to obtain an output port and notifies the input frame processing unit 311 of it. If there is no corresponding FDB entry in the FDB 352, the input frame processing unit 311 is instructed to perform flooding.
  • entry addition / update processing of the FDB 352 is performed based on the MAC frame notified at the time of the update request.
  • the FDB control unit 351 operates as a database update unit and an output destination determination unit.
  • FIG. 5 is a flowchart showing an example of the FDB update procedure in the ring node according to the present embodiment.
  • Step S1 when a frame (general frame) transmitted from the node 50 connected to the ring node 500 and transferred by the ring node 500 is received at the port 302, the received frame is passed to the input frame processing unit 311 connected to the port 302. (Step S1).
  • the input frame processing unit 311 notifies the output port search processing unit 350 of the MAC address of the node 50 that is the transmission source MAC address of the received frame and the port 302 that has received this frame, and requests an update of the FDB.
  • the FDB control unit 351 searches for the notified MAC address and the failure state number 0 stored in the failure state number 342 of the port state management unit 340.
  • FDB 352 is searched as to whether or not there is an entry in FDB (step S2, step S3).
  • the FDB control unit 351 determines that there is no FDB entry (step S3: No), and the information notified in the FDB update request and the current The FDB 352 is updated based on the failure state number.
  • the FDB control unit 351 uses the MAC address of the node 50 notified by the FDB update request and the current failure state number 0 as a search key, and outputs information (output port) corresponding to this search key. ) Is newly registered in the FDB 352 with the port 302 notified in the FDB update request (step S4).
  • the received frame is passed to the input frame processing unit 311 connected to the port 302 (Ste S1).
  • the input frame processing unit 311 notifies the output port search processing unit 350 of the MAC address of the node 50 that is the transmission source MAC address of the received frame and the port 302 that has received this frame, and requests an update of the FDB.
  • the FDB control unit 351 searches for the notified MAC address and the failure state number 0 stored in the failure state number 342 of the port state management unit 340.
  • FDB 352 is searched as to whether or not there is an entry in FDB (step S2, step S3).
  • step S3: Yes since there is an entry in the FDB 352 using the MAC address of the node 50 and the failure state number 0 as a search key (step S3: Yes), the FDB control unit 351 is registered in the searched entry. It is confirmed whether the output port matches the port 302 notified in the FDB update request (step S5). As a result of the confirmation, they do not match (step S5: No), so the output port of the entry searched in step S2 is overwritten and registered as the port 302 notified by the FDB update request (step S6). Incidentally, if the output port registered in the searched entry matches the port notified in the FDB update request (step S5: Yes), the process ends without updating the FDB 352.
  • each ring node when a failure occurs in the ring network 1 shown in FIG. 1 will be described.
  • the operation of the ring node 300 when a failure occurs in the link between the ring nodes 400 and 500 will be described. It is assumed that 0 is stored as the failure state number in the failure state number 342 of the port state management unit 340 when a failure occurs.
  • the ring node 400 When the ring node 400 detects a failure of the link connected to the ring node 500, the ring node 400 transmits a failure notification frame that is a ring management frame for notifying the link connected to the ring node 300 that the failure has been detected. Send. Similarly, when the ring node 500 detects a failure, the ring node 500 transmits a failure notification frame to the link connected to the ring node 600.
  • the ring nodes 400 and 500 block the port that accommodates the link in which the failure is detected, and when the ring node 600 receives the failure notification frame, the port that accommodates the link with the ring node 100 is received. Is released (see FIG. 7).
  • the input / output processing unit 310 and the switching processing unit 320 transfer the failure notification frame to the link connected to the ring node 200.
  • the failure notification frame is transferred from the input / output processing unit 310 to the ring management processing unit 330.
  • the ring management processing unit 330 When the ring management processing unit 330 receives the transferred failure notification frame, the ring management processing unit 330 confirms the contents thereof, and an FDB entry whose output port is the port 302 that is a port accommodating the link through which the failure notification frame is transmitted. Is determined to be invalidated. Then, it instructs the port state management unit 340 and the output port search processing unit 350 to execute FDB flush.
  • the port state management unit 340 that has received the FDB flush execution instruction updates the failure state number 342.
  • the failure state number 342 is updated from 0 to 1.
  • the FDB control 351 sets the next free entry that the FDB 352 learns at the head of the FDB 352. Generally, all entries in the FDB are invalidated here, but the ring node according to the present embodiment does not perform the process of invalidating all entries in the FDB.
  • the purpose of invalidating the FDB entry is to forget the frame transfer destination before the failure in order to prevent the frame from reaching the desired destination by relaying to the frame transfer destination learned before the failure. It is. However, as described above, the ring node according to the present embodiment does not invalidate all the entries in the FDB immediately after receiving the notification of the occurrence of the failure. The reason why the FDB entry invalidation is unnecessary in the ring node according to the present embodiment will be described below with a specific example.
  • FIG. 8 shows the operation when the received frame addressed to the node 50 is received, specifically, the operation of searching for the output port of the frame and the operation of transmitting the frame according to the search result performed when the frame is received. This will be described with reference to the flowchart shown.
  • FIG. 8 is a flowchart showing a frame transfer procedure performed after receiving the failure occurrence notification.
  • the FDB control unit 351 of the output port search processing unit 350 since the FDB control unit 351 of the output port search processing unit 350 does not change the entry registered in the FDB 352 at the time of receiving the failure occurrence notification, the FDB 352 immediately after receiving the failure occurrence notification is In this state, the FDB control 351 is in a state in which the empty entry that the FDB 352 learns next is set at the head of the FDB 352. It is assumed that 1 is stored as the failure state number in the failure state number 342 of the port state management unit 340 (updated from 0 to 1 with the failure notification).
  • the ring node 300 when the ring node 300 receives a frame in which the MAC address of the node 50 connected to the ring node 500 is set as the destination MAC address at the port 301 (step S11), the ring node 300 stores the FDB 352 using the MAC address of the node 50 as a search key.
  • the input / output processing unit 310 makes a request (output port search request) to the output port search processing unit 350 so as to search.
  • the FDB control unit 351 sends the MAC address of the node 50 notified at the time of request and the value of the failure state number stored in the failure state number 342 (this The FDB 352 is searched using “search case 1” as a search key to check whether an entry corresponding to the request content exists (steps S12 and S13). At this time, in the FDB 352, the MAC address of the node 50 is learned by the pair with the failure state number value 0, but is not learned by the pair with the failure state number 1. Therefore, the FDB control unit 351 It is determined that there is none (step S13: No), and the fact is notified to the input / output processing unit 310.
  • the input / output processing unit 310 that has received notification that there is no corresponding entry copies the received frame and transfers (floods) the received frame to a port (ports 302, 303,...) Other than the port 301 that received the frame. 320, the switching processing unit 320 floods the frame received at the port 301 in accordance with the request content (step S14).
  • the FDB control unit 351 finds an entry corresponding to the request content (step S13: Yes)
  • the input port registered in the found entry is notified to the input / output processing unit 310, and the input / output processing unit 310 is notified.
  • the switching processing unit 320 transfers the received frame to the notified output port (step S15).
  • the communication apparatus (ring node apparatus) according to the present embodiment can significantly reduce the processing time as compared with the process of invalidating all the FDB entries that has been conventionally performed. .
  • the time required for the process increases as the number of entries that need to be invalidated increases.
  • the above method applied in the communication apparatus of the present embodiment increases the number of entries.
  • the processing time does not increase.
  • FIGS. 9 and 10 are diagrams illustrating an example of the FDB learning operation after the occurrence of a failure.
  • FIG. 9 is a diagram illustrating an example of the FDB 352 in which a new entry is learned after a failure occurs.
  • the entry related to the node 30 is registered in the head entry (entry number 1).
  • the entry of the node 30 whose failure state number is the previous one (0) remains in the entry number 3.
  • this entry is overwritten.
  • the FDB 352 is updated to the state shown in FIG. 10, for example.
  • the failure notification is sent.
  • the operation of setting the head of the empty entry as the head of the FDB is not essential.
  • the head of the empty entry is set to the head of the FDB, and the number of entries registered in the FDB (the number of entries to be searched) is prevented from increasing more than necessary. Is desirable.
  • the ring node updates the management number (failure state number) indicating the network state at the time when the FDB learning is performed every time the notification of the occurrence of the failure in the ring network is received.
  • the management number flag state number
  • the failure state number when the address learning is performed with the reception of the general frame and the FDB is updated (when a new entry is registered in the FDB or the registered entry is changed), the failure state number at that time, The transmission source MAC address of the received frame is registered in the entry as a search key.
  • the output port search when the MAC address and failure status number match, the output port (transfer destination) of the received frame is specified, and the frame is transferred to the output port learned before the failure occurred. Therefore, when a failure occurs, the processing for invalidating all the entries of the FDB, which was necessary in the past, becomes unnecessary. As a result, the time required from when a failure occurs in the ring network to when address learning is restarted is shortened.
  • Embodiment 2 the ring node that invalidates all the entries registered in the FDB upon receiving the notification of the occurrence of the failure has been described. However, in this embodiment, only the FDB entry having a specific output port is described. A ring node to be invalidated will be described.
  • the configuration of the communication system is the same as that of the first embodiment (see FIG. 1).
  • FIG. 11 is a diagram illustrating a configuration example of an FDB managed by the ring node according to the present embodiment.
  • the failure state number is the same as the failure state number shown in the first embodiment.
  • an operation example of the ring node 300 will be described as in the first embodiment.
  • FIG. 12 is a diagram illustrating a configuration example of information managed by the port state management unit included in the ring node 300 according to the present embodiment.
  • the port state management unit 340a of the ring node 300 adds to the port state table 341 and the failure state number 342 managed by the port state management unit 340 (see FIG. 3) described in the first embodiment.
  • FDB flush factor port number 343 is managed.
  • the FDB flush factor port number 343 is the number of the port that received the failure notification frame.
  • the ring node 300 according to the present embodiment is the same as the ring node described in the first embodiment except for the port state management unit 340a.
  • the port state management unit 340a When receiving the FDB flush execution instruction from the ring management processing unit 330, the port state management unit 340a updates the value of the failure state number 342, and also notifies the port number notified when the FDB flush execution instruction is received ( FDB flush factor port number) is stored in FDB flush factor port number 343.
  • FIG. 13 is a flowchart illustrating an example of the FDB update procedure in the ring node according to the present embodiment.
  • Step S21 when a frame (general frame) transmitted from the node 50 connected to the ring node 500 and transferred by the ring node 500 is received at the port 302, the received frame is passed to the input frame processing unit 311 connected to the port 302. (Step S21).
  • the input frame processing unit 311 notifies the output port search processing unit 350 of the MAC address of the node 50 that is the transmission source MAC address of the received frame and the port 302 that has received this frame, and requests an update of the FDB.
  • the FDB control unit 351 searches the FDB 352 using the notified MAC address as a search key to check whether there is an entry in the FDB (step S22, step S22). S23).
  • the FDB control unit 351 determines that there is no FDB entry (step S23: No), and the information notified in the FDB update request and the current The FDB 352 is updated based on the failure state number. Specifically, the FDB control unit 351 uses the MAC address of the node 50 notified in the FDB update request as a search key, and also outputs the output information (failure state number and output port) corresponding to this search key. The FDB entry for the failure status number 0 and the port 302 notified by the FDB update request is newly registered in the FDB 352 (step S24).
  • the received frame is passed to the input frame processing unit 311 connected to the port 302 (Ste S21).
  • the input frame processing unit 311 notifies the output port search processing unit 350 of the MAC address of the node 50 that is the transmission source MAC address of the received frame and the port 302 that has received this frame, and requests an update of the FDB.
  • the FDB control unit 351 searches the FDB 352 using the notified MAC address as a search key to check whether there is an entry in the FDB (step S22, step S22). S23).
  • the FDB control unit 351 since there is an entry in the FDB 352 using the MAC address of the node 50 as a search key (step S23: Yes), the FDB control unit 351 includes the output port registered in the searched entry and the above-described entry. It is confirmed whether or not the port 302 notified in the FDB update request matches (step S25). As a result of the confirmation, they do not match (step S25: No), so that the output port and the failure state number of the entry searched in step S22 are the port 302 notified by the FDB update request and the current failure state number 0, respectively. The entry is overwritten and registered (step S26).
  • the output port of the MAC address of the node 50 is the port 302, which corresponds to this
  • a relearning operation when a frame transmitted by the node 50 is received from the port 302 in a state where the state number is registered as 0 in the FDB 352 will be described. It is assumed that 1 is stored as the failure state number in the failure state number 342 of the port state management unit 340.
  • the received frame is passed to the input frame processing unit 311 connected to the port 302 (Ste S21).
  • the input frame processing unit 311 notifies the output port search processing unit 350 of the MAC address of the node 50 that is the transmission source MAC address of the received frame and the port 302 that has received this frame, and requests an update of the FDB.
  • the FDB control unit 351 searches the FDB 352 using the notified MAC address as a search key to check whether there is an entry in the FDB (step S22, step S22). S23).
  • the FDB control unit 351 since there is an entry in the FDB 352 using the MAC address of the node 50 as a search key (step S23: Yes), the FDB control unit 351 includes the output port registered in the searched entry and the above-described entry. It is confirmed whether or not the port 302 notified in the FDB update request matches (step S25). Here, as a result of the confirmation, it is determined that they match (step S25: Yes), and the failure state number registered in the searched entry is stored in the current failure state number (failure state number 342). It is confirmed whether or not (failure state number) matches (step S27).
  • step S27: No the output port and failure state number of the entry searched in step S22 are the port 302 notified by the FDB update request and the current failure state number 0, respectively.
  • step S26 the entry is overwritten and registered (step S26).
  • each ring node when a failure occurs in the ring network 1 of the present embodiment will be described.
  • an operation example of the ring node 300 when a failure occurs in the link between the ring nodes 400 and 500 (see FIG. 7) will be described. It is assumed that 0 is stored as the failure state number in the failure state number 342 of the port state management unit 340 when a failure occurs.
  • the ring nodes 400 and 500 When the ring nodes 400 and 500 detect a link failure, they transmit a failure notification frame indicating that fact.
  • the ring node 300 receives the failure detection frame transmitted from the ring node 400.
  • the input / output processing unit 310 and the switching processing unit 320 transfer this failure notification frame to the link connected to the ring node 200.
  • the failure notification frame is transferred from the input / output processing unit 310 to the ring management processing unit 330.
  • the ring management processing unit 330 When the ring management processing unit 330 receives the transferred failure notification frame, the ring management processing unit 330 confirms the contents thereof, and an FDB entry whose output port is the port 302 that is a port accommodating the link through which the failure notification frame is transmitted. Is determined to be invalidated. Then, the port status management unit 340a and the output port search processing unit 350 are notified of the port 302 and instructed to execute the FDB flush.
  • the port state management unit 340 that has received the FDB flush execution instruction updates the failure state number 342.
  • the failure state number 342 is updated from 0 to 1.
  • the port state management unit 340 further stores the notified identification information (port number) of the port 302 in the FDB flush factor port number 343.
  • FIG. 14 is a flowchart showing a frame transfer procedure performed after receiving a failure occurrence notification. It is assumed that 1 is stored as the failure state number in the failure state number 342 of the port state management unit 340 (updated from 0 to 1 with the failure notification).
  • the input / output processing unit 310 searches the FDB 352 using the MAC address of the node 50 as a search key.
  • a request is made to 350 (output port search request).
  • the FDB control unit 351 searches the FDB 352 using the MAC address of the node 50 notified at the time of the request as a search key, and there is an entry corresponding to the request content. (Steps S32 and S33).
  • the FDB control unit 351 determines that there is no corresponding entry (step S33: No), and notifies the input / output processing unit 310 to that effect.
  • the input / output processing unit 310 that has received notification that there is no corresponding entry requests the switching processing unit 320 to copy the received frame and forward (flood) this frame to a port other than the port 303 that received the frame. 320 floods the frame received at the port 303 in accordance with the request (step S34).
  • the input / output processing unit 310 searches the FDB 352 using the MAC address of the node 50 as a search key.
  • a request is made to 350 (output port search request).
  • the FDB control unit 351 searches the FDB 352 using the MAC address of the node 50 notified at the time of the request as a search key, and there is an entry corresponding to the request content. (Steps S32 and S33).
  • the FDB control unit 351 acquires an entry corresponding to the search key (step S33: Yes), and further checks whether the failure state number registered in the entry is the latest. That is, it is checked whether the registered failure state number matches the failure state number stored in the failure state number 342 (step S35).
  • the failure status number of the acquired entry is determined to be the latest (step S35: Yes), and the FDB control unit 351 notifies the input / output processing unit 310 of the output port registered in this entry. To do.
  • the input / output processing unit 310 that has received this notification requests the switching processing unit 320 to transfer the received frame to the notified output port, and the switching processing unit 320 transfers the received frame (step S38).
  • the input / output processing unit 310 searches the FDB 352 using the MAC address of the node 50 as a search key.
  • a request is made to 350 (output port search request).
  • the FDB control unit 351 searches the FDB 352 using the MAC address of the node 50 notified at the time of the request as a search key, and there is an entry corresponding to the request content. (Steps S32 and S33).
  • the FDB control unit 351 acquires an entry corresponding to the search key (step S33: Yes), and further checks whether the failure state number registered in the entry is the latest. That is, it is checked whether the registered failure state number matches the failure state number stored in the failure state number 342 (step S35). Then, it is determined that the failure status number of the acquired entry is not the latest (step S35: No), and further, it is confirmed whether the output port number registered in the acquired entry corresponds to the FDB flush cause port number. (Step S36). That is, the FDB control unit 351 checks whether or not the output port number registered in the entry matches the value of the FDB flush cause port number 343 of the port state management 340a.
  • step S36 It is determined that it does not correspond to the cause port number (step S36: No), the failure state number registered in the acquired entry is updated to the value of the failure state number 342 of the port state management 340a, and the updated entry is overwritten. Register (step S37).
  • the FDB control unit 351 notifies the input / output processing unit 310 of the output port registered in this entry.
  • the input / output processing unit 310 that has received this notification requests the switching processing unit 320 to transfer the received frame to the notified output port, and the switching processing unit 320 transfers the received frame (step S38).
  • the FDB 352 has an entry corresponding to the destination MAC address of the received frame, and the failure state number of the obtained entry is different from the value stored in the failure state number 342, and the output port of the obtained entry is the FDB flash Frame forwarding when the cause port number is equal to 343 This is the case where the entry obtained by the output port search is learned before the failure occurs and is a destination entry that requires a route change due to the failure. Is the action.
  • the input / output processing unit 310 searches the FDB 352 using the MAC address of the node 50 as a search key.
  • a request is made to 350 (output port search request).
  • the FDB control unit 351 searches the FDB 352 using the MAC address of the node 50 notified at the time of the request as a search key, and there is an entry corresponding to the request content. (Steps S32 and S33).
  • the FDB control unit 351 acquires an entry corresponding to the search key (step S33: Yes), and further checks whether the failure state number registered in the entry is the latest. That is, it is checked whether the registered failure state number matches the failure state number stored in the failure state number 342 (step S35). Then, it is determined that the failure status number of the acquired entry is not the latest (step S35: No), and further, it is confirmed whether the output port number registered in the acquired entry corresponds to the FDB flush cause port number. (Step S36). Then, it is determined that the port number corresponds to the FDB flush factor port number (step S36: Yes), and the FDB control unit 351 invalidates this entry (step S39). There are no specific rules for invalidation.
  • All of the search key and output information of the entry may be deleted, or only the search key may be deleted.
  • a flag indicating that it has been invalidated (a flag indicating an empty entry) may be prepared and this flag may be set.
  • invalidation may be performed by any method.
  • the FDB control unit 351 notifies the input / output processing unit 310 that there is no corresponding entry (the corresponding output port is unknown).
  • the input / output processing unit 310 that has received notification that there is no corresponding entry requests the switching processing unit 320 to copy the received frame and forward (flood) this frame to a port other than the port 303 that received the frame. 320 floods the frame received at the port 302 in accordance with the request content (step S34).
  • the ring node updates the management number (failure state number) indicating the network state at the time when the FDB learning is performed every time the notification of the failure occurrence in the ring network is received.
  • the reception port of the frame that has notified the occurrence (failure notification frame) is stored as the FDB flush factor port, and when the general frame is received, address learning is performed and the FDB is updated, the received frame is transmitted.
  • the original MAC address is used as a search key, and the failure state number at that time and the reception port of the frame are registered in the entry as output information.
  • the failure state number registered in the entry corresponding to the search key is not the latest value, and the output port registered in this entry is the FDB flush factor port. If applicable, this entry is invalidated. As a result, it is possible to invalidate only the FDB entry of the truly necessary destination without making it necessary to invalidate all the FDB entries that have been necessary in the past. As a result, when a failure occurs in the ring network, address learning can be restarted quickly, and unnecessary flooding operation to nodes on a route that is not affected by route switching due to the failure can be eliminated.
  • a method for invalidating only entries output to a specific port has been described.
  • invalidation of all entries may be necessary. Therefore, a special value indicating all ports may be defined as the FDB flush cause port, and when all entries need to be invalidated, the value may be stored in the FDB flush cause port number 343. .
  • the communication apparatus operating as a node of the ring network has been described.
  • the communication apparatus according to the present invention invalidates the previous address learning result and generates a new one when a failure occurs in the network.
  • Any network in which each node operates so as to perform address learning can be applied to a network employing a topology other than the ring type.
  • the communication device is useful for a node device that configures a network and transfers a received frame according to an address learning result, and in particular, a node device that restarts address learning after a failure occurs in a short time. Suitable for

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 本発明は、ネットワークのノードとして動作する通信装置であって、ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新するポート状態管理部340と、受信フレームの送信元アドレスおよび受信ポートと、ポート状態管理部340で管理されている状態情報とに基づいて、送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新するデータベース更新手段と、受信フレームの宛先アドレスおよびポート状態管理部340で管理されている状態情報を検索キーとしてデータベースを検索することにより、受信フレームの出力ポートを決定する出力先決定手段と、を備える。

Description

通信装置およびアドレス学習方法
 本発明は、ネットワークにおいて受信フレームを中継する通信装置、およびアドレス学習方法に関する。
 イーサネット(登録商標)フレーム(以下、単に「フレーム」と記載する)の中継装置であるブリッジ装置やスイッチ装置(以降L2スイッチと呼ぶ)では、受信したフレームの送信元MACアドレスと受信したポート、およびその他の情報からなるエントリを蓄積するFDB(Filtering Database)と呼ばれるデータベースを持っている。このFDBは新たにフレームを受信するたびにエントリを追加していく。この動作は、MACアドレス学習(もしくはアドレス学習)と呼ばれる。
 FDBは、受信フレームを中継する際に利用するものである。具体的には、フレームを受信したL2スイッチは、受信フレームの宛先MACアドレスを検索キーとしてFDBを検索する。そして、学習済みのMACアドレスであれば、検索キーとしたMACアドレスに対応するポート(出力ポート)が得られる。このポートに受信フレームを転送すれば、転送先の他のL2スイッチも同じ動作を行なうため、最終的に受信フレームは目的のイーサネット(登録商標)ノード(以下、単に「ノード」と記載する)に到達する。一方、FDBにエントリのない宛先MACアドレスを持つ受信フレームは、FDBを検索しても出力ポートの情報が得られない(どのポートに転送すればよいかわからない)ので、フレームを受信したL2スイッチは、受信したポート以外の全てのポートに対して、受信したフレームをブロードキャストする。この動作はフラッディングと呼ばれている。このようなフレーム中継動作は、非特許文献1に記載されている。
IEEE Standard for Local and Metropolitan Area Networks:Media Access Control (MAC) Bridges,IEEE Std 802.1D-2004,p.41~48
 複数のL2スイッチで構成されたネットワークでは、ネットワークのどこかに障害が発生するとフレームの中継経路が変わるため、各L2スイッチが持っているFDBの全エントリを無効化し、変更された中継経路で再度アドレス学習を行い、FDBを再構築する必要があった。このFDB全エントリの無効化は、FDBフラッシュとも呼ばれる。
 一方、ネットワークの大規模化が進み、接続されるノード数が増大するのに伴ってFDBのエントリ数も多大になり、その結果、FDBフラッシュに費やす時間が問題視されるようになってきた。具体的には、FDBの全エントリの無効化が終了するまではアドレス学習ができないため、アドレス学習が完了するまでの間、L2スイッチは受信フレームを全てフラッディングしてしまう。すなわち、FDBフラッシュに伴ってネットワークのトラフィックが増加し、運用に支障をきたしかねないという問題があった。
 本発明は、上記に鑑みてなされたものであって、ネットワークで障害が検出された後、FDBを再構築するためのアドレス学習を迅速に再開する通信装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、ネットワークのノードとして動作する通信装置であって、ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新する状態管理手段と、受信フレームの送信元アドレスおよび受信ポートと、前記状態管理手段で管理されている状態情報とに基づいて、当該送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新するデータベース更新手段と、受信フレームの宛先アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとして前記データベースを検索することにより、受信フレームの出力ポートを決定する出力先決定手段と、を備えることを特徴とする。
 本発明にかかる通信装置は、ネットワークで障害が発生してからFDBの再構築を開始するまでの所要時間を短縮化できる、という効果を奏する。
図1は、実施の形態1の通信システムの構成例を示す図である。 図2は、リングノードの構成例を示す図である。 図3は、ポート状態管理部の内部構成を示す図である。 図4は、出力ポート検索処理部の構成例を示す図である。 図5は、実施の形態1のリングノードにおけるFDB更新手順の一例を示すフローチャートである。 図6は、FDBに登録された情報の一例を示す図である。 図7は、リングネットワークで発生する障害の一例を示す図である。 図8は、実施の形態1のリングノードによるフレーム転送手順を示したフローチャートである。 図9は、障害発生後のFDB学習動作の一例を示す図である。 図10は、障害発生後のFDB学習動作の一例を示す図である。 図11は、実施の形態2のリングノードが管理しているFDBの構成例を示す図である。 図12は、実施の形態2のリングノードが備えるポート状態管理部で管理されている情報の構成例を示す図である。 図13は、実施の形態2のリングノードにおけるFDB更新手順の一例を示すフローチャートである。 図14は、実施の形態2のリングノードによるフレーム転送手順を示したフローチャートである。
 以下に、本発明にかかる通信装置およびアドレス学習方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、本実施の形態の通信装置に相当するリングノード装置(以下、「リングノード」と記載する)により構成されたリングネットワークを含んだ通信システムの構成例を示す図である。この通信システムは、本実施の形態にかかる複数のリングノード(リングノード100,200,300,400,500,600)により構成されたリングネットワーク1と、リングネットワーク1に接続された複数のノード(ノード10,20,30,40,50,60)を含んでいる。なお、図1においては、各リングノードの入出力ポートも併せて記載しており、リングノード300の入出力ポートをポート301~303としている。ポート301はリングノード200と接続されたリンクを収容し、ポート302はリングノード400と接続されたリンクを収容し、ポート303はノード30が接続されたリンクを収容している。
 リングネットワーク1は、文献「ITU-T勧告G.8032/Y.1344,Ethernet Ring Protection Switching」(以下、「ERP」と記載する)に規定された手法に従って構成したものであり、リングネットワーク1を構成している各リングノードは、このERPに準拠した機能が実装されたL2スイッチである。EPRには、ネットワーク障害切り替え手法についても規定されており、この規定によれば、ネットワークの中継経路の障害切り替えが発生した場合、FDBフラッシュが必要とされる。
 また、リングネットワーク1では、リングノード100と600を接続するリンクをRing Protection Linkに設定し、リングノード600がRPL(Ring Protection Link) Ownerと呼ばれるノードに設定されている。リングノード600では、Ring Protection Linkを収容するポートをブロッキングすることで、リングネットワーク1上をフレームがループするのを防止している。
 図2は、リングネットワーク1に含まれるリングノードの構成例を示す図である。図2では、一例としてリングノード300の構成例を示しているが、リングネットワーク1に含まれる各リングノードの構成は同一である。なお、上述したとおり、RPL Ownerに設定されているリングノード600においては、Ring Protection Linkを収容するポートがブロッキングされている。
 図2に示したように、リングノード300は、複数のポート301,302,303,…と、これらの複数のポートと同数の入出力処理部310と、スイッチング処理部320と、リング管理処理部330と、ポート状態管理部340と、出力ポート検索処理部350とを備える。各ポートには、接続するリンクを区別するために異なる符号を付しているが(図1参照)、これらは全く同じ機能を有している。すなわち、図2では、ポート301とこれに接続された入出力処理部310の内部構成のみを記載しているが、その他のポート302,303,…、およびこれらに接続された入出力処理部310も同様の内部構成となっている。また、ポート301およびこれに接続された入出力処理部310以外のポートおよび入出力処理部については、スイッチング処理部320を除いた他の構成要素(リング管理処理部330など)との間の接続線(信号線)の記載を省略しているが、同様に接続されているものとする。
 各ポートは、入力ポートおよび出力ポートにより構成され、たとえばポート301は、入力ポート301-1および出力ポート301-2を備えている。これらの各ポートは、接続するリンクや自ポート(ポート301,302,…)の障害を検出すると、ポート状態管理部340に通知する。なお、ポート301はリングノード200と接続されたリンクを収容し、ポート302はリングノード400と接続されたリンクを収容し、ポート303はノード30が接続されたリンクを収容している(図1参照)。
 各入出力処理部310は、入力フレーム処理部311および出力フレーム処理部312をそれぞれ備えており、フレームの多重・分離を行う。
 入出力処理部310の入力フレーム処理部311は、受信フレームを解析し、受信フレームがERPに基づくリング管理フレームであればリング管理処理部330へ転送する。また、「ITU-T勧告Y.1731,OAM Functions 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は、リングネットワーク1の状態(障害発生状況)を管理するための情報である。
 ポート状態管理部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が、データベース更新手段および出力先決定手段として動作する。
 つづいて、本実施の形態のリングネットワーク1を構成している各リングノードがFDBを更新する動作(アドレス学習動作)について説明する。
 図5は、本実施の形態のリングノードにおけるFDB更新手順の一例を示すフローチャートである。
(FDBに新規エントリを登録する場合の動作)
 まず、FDBに新規エントリを登録する場合のアドレス学習動作について、図面を参照しながら説明する。ここでは、リングノード300が全く何も学習していない状態(FDB352にエントリが全く登録されていない状態)からアドレス学習を行う場合の動作例を説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
 たとえば、リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS1)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレス、およびポート状態管理部340の障害状態番号342に記憶されている障害状態番号0を検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS2,ステップS3)。そして、この時点では、FDB352は何も学習していない状態なので、FDB制御部351は、FDBエントリなしと判断し(ステップS3:No)、上記のFDBの更新依頼で通知された情報および現在の障害状態番号に基づいて、FDB352を更新する。具体的には、FDB制御部351は、FDBの更新依頼で通知されたノード50のMACアドレス、および現在の障害状態番号0を検索キーとし、また、この検索キーに対応する出力情報(出力ポート)をFDBの更新依頼で通知されたポート302としたFDBエントリをFDB352に新規登録する(ステップS4)。
 また、その他のリングノードから送信されたフレーム(一般フレーム)を受信した場合も同様に上記のステップS1~S4を実行してFDBの更新(アドレス学習)を行い、図6に示したような、MACアドレスと障害状態番号と出力ポートで構成されたエントリが登録されたFDB352を作り上げる。
(FDBに登録済みのエントリを更新する場合の動作)
 次に、FDBに登録済みのエントリを更新する場合のアドレス学習動作について説明する。ここでは、ノード50のMACアドレスの出力ポートがポート301としてFDB352へ登録されている状態において、ノード50が送信したフレームをポート302から受信したときの再学習動作について、図面を参照しながら説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
 リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS1)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレス、およびポート状態管理部340の障害状態番号342に記憶されている障害状態番号0を検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS2,ステップS3)。この場合、FDB352には、ノード50のMACアドレスと障害状態番号0を検索キーとしたエントリが存在しているので(ステップS3:Yes)、FDB制御部351は、検索したエントリに登録されている出力ポートと、上記のFDBの更新依頼で通知されたポート302が一致しているかどうか確認する(ステップS5)。確認の結果、一致していないので(ステップS5:No)、ステップS2で検索したエントリの出力ポートを、FDBの更新依頼で通知されたポート302として上書き登録する(ステップS6)。ちなみに、上記の検索したエントリに登録されている出力ポートとFDBの更新依頼で通知されたポートが一致している場合には(ステップS5:Yes)、FDB352を更新せずに処理を終了する。
 なお、上記の図5を用いたアドレス学習動作の説明では、説明の簡単化のために、受信したフレームを転送する動作については記載を省略している。実際には、上述したアドレス学習動作に加えて、受信したフレームの宛先MACアドレスを用いた出力ポート検索を行い、検索結果に従ってフレームを転送する処理も実施する。このフレーム転送動作は従来と同様であるため、詳細説明は省略する。これ以降においてアドレス学習動作を説明する場合も同様に、受信フレームの転送動作については説明を省略する。
 つづいて、図1に示したリングネットワーク1で障害が発生した場合の各リングノードの動作について説明する。ここでは、一例として、リングノード400と500との間のリンクで障害が発生した場合(図7参照)のリングノード300の動作を説明する。なお、障害発生時において、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
 リングノード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から1に更新する。
 また、FDBフラッシュ実行指示を受けた出力ポート検索処理部350では、FDB制御351が、FDB352が次に学習する空きエントリを、FDB352の先頭に設定する。一般的には、ここでFDBの全エントリを無効化するが、本実施の形態のリングノードでは、FDBの全エントリを無効化する処理は行わない。
 FDBエントリを無効化する目的は、障害以前に学習していたフレーム転送先に中継してしまうことによって所望の宛先にフレームを到達させられないことを防ぐため、障害以前のフレーム転送先を忘れることである。しかしながら、上記のとおり、本実施の形態のリングノードでは、障害発生の通知を受けた直後にFDBの全エントリを無効化することはしない。以下に、本実施の形態のリングノードではFDBの全エントリ無効化が不要である理由について、具体例を示して説明する。
 ここでは、リングノード300のFDB352が図6に示した状態であり、この状態で、上記のリングノード400と500の間のリンクにおける障害発生通知を受け、その後、ポート301がリングノード500に接続されたノード50宛のフレームを受信した場合の動作、具体的には、フレームを受信した場合に実施する、フレームの出力ポートを検索する動作および検索結果に従ってフレームを送信する動作について、図8に示したフローチャートを用いて説明する。図8は、障害発生通知を受けた後に実施するフレーム転送手順を示したフローチャートである。
 上述したとおり、障害発生通知を受けた時点では出力ポート検索処理部350のFDB制御部351はFDB352に登録済みのエントリを変更することはしないので、障害発生通知を受けた直後のFDB352は、図6に示した状態であり、このときFDB制御351は、FDB352が次に学習する空きエントリをFDB352の先頭に設定した状態となっている。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として1が記憶されている(障害発生通知に伴って0から1に更新された)ものとする。
 リングノード300は、たとえば、リングノード500に接続されたノード50のMACアドレスが宛先MACアドレスに設定されたフレームをポート301で受信すると(ステップS11)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスと、障害状態番号342に記憶している障害状態番号の値(この場合1となる)とを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS12,S13)。このとき、FDB352では、ノード50のMACアドレスは、障害状態番号値0との組で学習されているが、障害状態番号1との組では学習されていないので、FDB制御部351は、該当エントリなしと判断し(ステップS13:No)、その旨を入出力処理部310へ通知する。該当エントリなしの通知を受けた入出力処理部310は、受信フレームをコピーし、このフレームを受信したポート301以外のポート(ポート302,303,…)に転送(フラッディング)するようにスイッチング処理部320へ依頼し、スイッチング処理部320は、依頼内容に従って、ポート301で受信した上記のフレームをフラッディングする(ステップS14)。なお、FDB制御部351が上記依頼内容に対応するエントリを発見した場合(ステップS13:Yes)、発見したエントリに登録されている出力ポートを入出力処理部310へ通知し、入出力処理部310およびスイッチング処理部320は、通知された出力ポートに受信フレームを転送する(ステップS15)。
 このように、障害発生以前の障害状態番号値とMACアドレスを検索キーとしてFDB352に記憶しているため、障害状態番号が更新された後は、更新以前のエントリが無効となる。したがって、障害発生後に全エントリを無効化することなく、無効化したことと同様の効果が得られる。障害状態番号値を更新するだけなので、本実施の形態の通信装置(リングノード装置)では、従来実施していたFDBの全エントリを無効化する処理と比較して、処理時間を大幅に短縮できる。また、従来の処理では、無効化が必要なエントリ数の増加に伴って処理に要する時間も増加するが、本実施の形態の通信装置で適用している上記の手法では、エントリ数が増加しても処理時間が増加することは無い。
 また、障害発生後のFDB学習について、図9および図10を用いて説明する。なお、図9および図10は、障害発生後のFDB学習動作の一例を示す図である。
 先述の通り、各リングノードでは、障害通知を受けた場合、空きエントリの先頭をFDBの先頭とする。たとえばリングノード300では空きエントリの先頭をFDB352の先頭に設定する。その後、リングノード300で新たに学習されるエントリは、FDB352の先頭から順に、上書きするように追加していく。図9は、障害発生後に新たなエントリが学習されているFDB352の例を示した図である。図9に示した例では、障害発生後、まず初めにノード30の出力ポートが学習されたため、先頭エントリ(エントリ番号1)にノード30に関するエントリが登録されている。そして、まだ学習が進んでいないため、障害状態番号が以前のもの(0のもの)であるノード30のエントリもエントリ番号3に残っている。この次に新たな学習が行われると、このエントリが上書きされることとなる。このように順次アドレス学習が進むと、FDB352は、たとえば図10に示したような状態に更新される。
 なお、従来のFDBの全エントリを無効化する処理と同等の効果(障害以前に学習していたフレーム転送先にフレームを中継してしまうのを防止すること)を得るためには、障害通知を受けた場合に、空きエントリの先頭をFDBの先頭とする動作は必須ではない。しかしながら、出力ポートの検索処理時間を考慮すると、空きエントリの先頭をFDBの先頭に設定し、FDBへの登録エントリ数(検索対象となるエントリの数)が必要以上に増大するのを防止することが望ましい。
 ただし、空きエントリの先頭をFDBの先頭に設定するのは登録エントリ数の増大防止を実現するための一例に過ぎない。アドレス学習においては、現在の障害状態番号(最新障害状態番号)と異なる障害状態番号(旧障害状態番号)のエントリが存在していればそのエントリに対して新規のエントリを上書き登録するようにし、旧障害状態番号のエントリが存在しない場合に未使用のエントリ(宛先MACアドレスや出力ポートが全く登録されていない領域)へ新規エントリを登録するようにすればよい。すなわち、旧障害状態番号の各エントリに対しては、どのような順番で上書き登録を行ってもよい。
 このように、本実施の形態のリングノードは、リングネットワークでの障害発生の通知を受けるごとに、FDB学習を行った時点のネットワーク状態を示す管理番号(障害状態番号)を更新することとし、また、一般フレームの受信に伴ってアドレス学習を行い、FDBを更新する場合(FDBへ新たなエントリを登録する、または登録済みのエントリを変更する場合)には、その時点の障害状態番号と、受信したフレームの送信元MACアドレスとを検索キーとしてエントリへ登録することとした。これにより、出力ポート検索では、MACアドレスおよび障害状態番号が一致している場合に受信フレームの出力ポート(転送先)が特定されるようになり、障害発生前に学習した出力ポートへフレームを転送することがなくなるので、障害発生時には、従来必要であったFDBの全エントリを無効化する処理が不要となる。この結果、リングネットワークで障害が発生してからアドレス学習を再開するまでの所要時間が短縮化される。
実施の形態2.
 実施の形態1では、障害発生の通知を受けると、FDBに登録されているすべてのエントリを無効化するリングノードについて説明したが、本実施の形態では、特定の出力ポートを持つFDBエントリのみを無効化するリングノードについて説明する。なお、通信システムの構成は実施の形態1と同様であるものとする(図1参照)。
 本実施の形態のリングノードでは、FDBの検索キーは従来どおり宛先MACアドレスのみとし、FDB検索によって出力される情報を障害状態番号と出力ポートとする(図11参照)。図11は、本実施の形態のリングノードが管理しているFDBの構成例を示す図である。障害状態番号は、実施の形態1で示した障害状態番号と同じものである。本実施の形態においても先の実施の形態1と同様に、リングノード300の動作例について説明する。
 図12は、本実施の形態のリングノード300が備えるポート状態管理部で管理されている情報の構成例を示す図である。図示したように、リングノード300のポート状態管理部340aは、実施の形態1で示したポート状態管理部340(図3参照)で管理していたポート状態テーブル341および障害状態番号342に加えて、FDBフラッシュ要因ポート番号343を管理している。FDBフラッシュ要因ポート番号343は、障害通知フレームを受信したポートの番号である。
 なお、本実施の形態のリングノード300は、ポート状態管理部340a以外の部分は実施の形態1で説明したリングノードと同様である。
 ポート状態管理部340aは、リング管理処理部330からFDBフラッシュ実行の指示を受けると、障害状態番号342の値を更新するとともに、FDBフラッシュの実行指示を受けた際に通知されたポートの番号(FDBフラッシュ要因ポート番号)を、FDBフラッシュ要因ポート番号343に格納する。
 つづいて、本実施の形態のリングネットワーク1を構成している各リングノードがFDBを更新する動作(アドレス学習動作)について説明する。
 図13は、本実施の形態のリングノードにおけるFDB更新手順の一例を示すフローチャートである。
(FDBに新規エントリを登録する場合の動作)
 まず、FDBに新規エントリを登録する場合のアドレス学習動作について、図面を参照しながら説明する。ここでは、リングノード300が全く何も学習していない状態(FDB352にエントリが全く登録されていない状態)からアドレス学習を行う場合の動作例を説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
 たとえば、リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS21)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレスを検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS22,ステップS23)。そして、この時点では、FDB352は何も学習していない状態なので、FDB制御部351は、FDBエントリなしと判断し(ステップS23:No)、上記のFDBの更新依頼で通知された情報および現在の障害状態番号に基づいて、FDB352を更新する。具体的には、FDB制御部351は、FDBの更新依頼で通知されたノード50のMACアドレスを検索キーとし、また、この検索キーに対応する出力情報(障害状態番号および出力ポート)を、現在の障害状態番号0およびFDBの更新依頼で通知されたポート302としたFDBエントリをFDB352に新規登録する(ステップS24)。
 その他のリングノードから送信された一般フレームを受信した場合も同様に上記のステップS21~S24を実行してFDBを更新する。
(FDBに登録済みのエントリを更新する場合の動作)
 次に、FDBに登録済みのエントリを更新する場合のアドレス学習動作について説明する。ここでは、(1)フレームを受信したポートとFDBに登録されているエントリが示すポートが一致していない場合の更新動作、および(2)フレームを受信した時点の障害状態番号とFDBに登録されている障害状態番号が一致していない場合の更新動作、について説明する。
(1)フレームを受信したポートとFDBに登録されているエントリが示すポートが一致していない場合の更新動作
 一例として、ノード50のMACアドレスの出力ポートがポート301としてFDB352へ登録されている状態において、ノード50が送信したフレームをポート302から受信したときの再学習動作を説明する。
 リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS21)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレスを検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS22,ステップS23)。この場合、FDB352には、ノード50のMACアドレスを検索キーとしたエントリが存在しているので(ステップS23:Yes)、FDB制御部351は、検索したエントリに登録されている出力ポートと、上記のFDBの更新依頼で通知されたポート302が一致しているかどうか確認する(ステップS25)。確認の結果、一致していないので(ステップS25:No)、ステップS22で検索したエントリの出力ポートおよび障害状態番号をそれぞれ、FDBの更新依頼で通知されたポート302および現在の障害状態番号0として、エントリを上書き登録する(ステップS26)。
(2)フレームを受信した時点の障害状態番号とFDBに登録されている障害状態番号が一致していない場合の更新動作
 一例として、ノード50のMACアドレスの出力ポートがポート302、これに対応する状態番号が0としてFDB352へ登録されている状態において、ノード50が送信したフレームをポート302から受信したときの再学習動作を説明する。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として1が記憶されているものとする。
 リングノード500に接続されたノード50から送信され、リングノード500により転送されたフレーム(一般フレーム)をポート302で受信すると、受信フレームはポート302に接続された入力フレーム処理部311に渡される(ステップS21)。入力フレーム処理部311は、受け取ったフレームの送信元MACアドレスであるノード50のMACアドレスおよびこのフレームを受信したポート302を出力ポート検索処理部350へ通知してFDBの更新を依頼する。FDBの更新依頼を受けた出力ポート検索処理部350では、FDB制御部351が、通知されたMACアドレスを検索キーとしてFDB352を検索し、FDBにエントリがあるかどうかを確認する(ステップS22,ステップS23)。この場合、FDB352には、ノード50のMACアドレスを検索キーとしたエントリが存在しているので(ステップS23:Yes)、FDB制御部351は、検索したエントリに登録されている出力ポートと、上記のFDBの更新依頼で通知されたポート302が一致しているかどうか確認する(ステップS25)。ここでは、確認の結果、一致していると判断し(ステップS25:Yes)、さらに、検索したエントリに登録されている障害状態番号が現在の障害状態番号(障害状態番号342に記憶されている障害状態番号)が一致しているかどうか確認する(ステップS27)。そして、確認の結果一致していないので(ステップS27:No)、ステップS22で検索したエントリの出力ポートおよび障害状態番号をそれぞれ、FDBの更新依頼で通知されたポート302および現在の障害状態番号0として、エントリを上書き登録する(ステップS26)。ちなみに、上記の検索したエントリに登録されている障害状態番号および出力ポートと、現在の障害状態番号およびFDBの更新依頼で通知されたポートが一致している場合には(ステップS27:Yes)、FDB352を更新せずに処理を終了する。
 つづいて、本実施の形態のリングネットワーク1で障害が発生した場合の各リングノードの動作について説明する。ここでは、先の実施の形態1での説明と同様に、リングノード400と500との間のリンクで障害が発生した場合(図7参照)のリングノード300の動作例について説明する。なお、障害発生時において、ポート状態管理部340の障害状態番号342には、障害状態番号として0が記憶されているものとする。
 リングノード400および500は、リンクの障害を検出すると、その旨を示す障害通知フレームを送信する。
 その結果、リングノード300は、リングノード400から送信された障害検知フレームを受信する。この場合、リングノード300では、入出力処理部310およびスイッチング処理部320が、この障害通知フレームをリングノード200と接続しているリンクに転送する。また、この障害通知フレームは、入出力処理部310からリング管理処理部330へ転送される。
 リング管理処理部330は、上記転送された障害通知フレームを受け取ると、その内容を確認し、障害通知フレームが送信されてきたリンクを収容しているポートであるポート302を出力ポートとするFDBエントリを無効化する必要があると判断する。そして、ポート状態管理部340aと出力ポート検索処理部350に対し、ポート302を通知するとともにFDBフラッシュ実行を指示する。
 FDBフラッシュ実行指示を受けたポート状態管理部340は、障害状態番号342を更新する。ここでは、障害状態番号342を0から1に更新する。ポート状態管理部340は、さらに、FDBフラッシュ要因ポート番号343に、通知されてきたポート302の識別情報(ポート番号)を格納する。
 つづいて、本実施の形態のリングノードではFDBの全エントリ無効化が不要である理由について、具体例を示して説明する。
 ここでは、リングノード300のFDB352が図11に示した状態であり、この状態で、上記のリングノード400と500の間のリンクにおける障害発生通知を受け、その後、ポート303がリングノード500に接続されたノード50宛のフレームを受信した場合に実行する動作(フレーム転送動作)について、図14に示したフローチャートを用いて説明する。図14は、障害発生通知を受けた後に実施するフレーム転送手順を示したフローチャートである。なお、ポート状態管理部340の障害状態番号342には、障害状態番号として1が記憶されている(障害発生通知に伴って0から1に更新された)ものとする。
 また、図14に示したフレーム転送手順を、(A)FDB352に受信フレームの宛先MACアドレスに該当するエントリがない場合、(B)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と等しい場合、(C)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と異なる場合、(D)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と等しい場合、に分けて説明する。
(A)FDB352に受信フレームの宛先MACアドレスに該当するエントリがない場合のフレーム転送
 リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、該当エントリなしと判断し(ステップS33:No)、その旨を入出力処理部310へ通知する。該当エントリなしの通知を受けた入出力処理部310は、受信フレームをコピーし、このフレームを受信したポート303以外のポートに転送(フラッディング)するようにスイッチング処理部320へ依頼し、スイッチング処理部320は、依頼内容に従って、ポート303で受信した上記のフレームをフラッディングする(ステップS34)。
(B)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と等しい場合のフレーム転送
 リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、検索キーに対応するエントリを取得し(ステップS33:Yes)、さらに、エントリに登録されている障害状態番号が最新かどうか確認する。すなわち、登録されている障害状態番号が障害状態番号342に記憶されている障害状態番号と一致しているかどうか確認する(ステップS35)。そして、ここでは、上記取得したエントリの障害状態番号が最新であると判断し(ステップS35:Yes)、FDB制御部351は、このエントリに登録されている出力ポートを入出力処理部310へ通知する。この通知を受けた入出力処理部310は、通知された出力ポートに受信フレームを転送するようにスイッチング処理部320へ依頼し、スイッチング処理部320は受信フレームを転送する(ステップS38)。
(C)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と異なる場合のフレーム転送
 これは、出力ポート検索で得られたエントリは障害発生前に学習されているものであるが、障害による経路変更を必要としない宛先のエントリであるときの動作である。
 リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、検索キーに対応するエントリを取得し(ステップS33:Yes)、さらに、エントリに登録されている障害状態番号が最新かどうか確認する。すなわち、登録されている障害状態番号が障害状態番号342に記憶されている障害状態番号と一致しているかどうか確認する(ステップS35)。そして、上記取得したエントリの障害状態番号が最新ではないと判断し(ステップS35:No)、さらに、上記取得したエントリに登録されている出力ポート番号がFDBフラッシュ要因ポート番号に該当するかどうか確認する(ステップS36)。すなわち、FDB制御部351は、エントリに登録されている出力ポート番号がポート状態管理340aのFDBフラッシュ要因ポート番号343の値と一致するかどうかを確認し、この場合は一致していないのでFDBフラッシュ要因ポート番号に該当しないと判断し(ステップS36:No)、上記取得したエントリに登録されている障害状態番号をポート状態管理340aの障害状態番号342の値に更新し、更新後のエントリを上書き登録する(ステップS37)。また、FDB制御部351は、このエントリに登録されている出力ポートを入出力処理部310へ通知する。この通知を受けた入出力処理部310は、通知された出力ポートに受信フレームを転送するようにスイッチング処理部320へ依頼し、スイッチング処理部320は受信フレームを転送する(ステップS38)。
(D)FDB352に受信フレームの宛先MACアドレスに該当するエントリがあり、得られたエントリの障害状態番号が障害状態番号342に記憶されている値と異なり、得られたエントリの出力ポートがFDBフラッシュ要因ポート番号343と等しい場合のフレーム転送
 これは、出力ポート検索で得られたエントリが障害発生前に学習されているものであり、さらに障害による経路変更を必要とする宛先のエントリであるときの動作である。
 リングノード300は、たとえば、ノード50宛のフレームをポート303で受信すると(ステップS31)、ノード50のMACアドレスを検索キーとしてFDB352を検索するように、入出力処理部310は出力ポート検索処理部350に依頼(出力ポートの検索依頼)を行う。出力ポートの検索依頼を受けた出力ポート検索処理部350では、FDB制御部351が、依頼時に通知されたノード50のMACアドレスを検索キーとしてFDB352を検索し、依頼内容に対応するエントリが存在するかどうか確認する(ステップS32,S33)。そして、ここでは、FDB制御部351は、検索キーに対応するエントリを取得し(ステップS33:Yes)、さらに、エントリに登録されている障害状態番号が最新かどうか確認する。すなわち、登録されている障害状態番号が障害状態番号342に記憶されている障害状態番号と一致しているかどうか確認する(ステップS35)。そして、上記取得したエントリの障害状態番号が最新ではないと判断し(ステップS35:No)、さらに、上記取得したエントリに登録されている出力ポート番号がFDBフラッシュ要因ポート番号に該当するかどうか確認する(ステップS36)。そして、FDBフラッシュ要因ポート番号に該当すると判断し(ステップS36:Yes)、FDB制御部351は、このエントリを無効化する(ステップS39)。無効化の方法については特に規定しない。エントリの検索キーおよび出力情報をすべて消去してもよいし検索キーのみを消去してもよい。また、無効化したことを示すフラグ(空きエントリを示すフラグ)を用意しておき、このフラグをたてるようにしてもよい。その他、どのような方法で無効化を行ってもよい。エントリの無効化を行った後、FDB制御部351は、該当エントリなし(該当する出力ポート不明)を入出力処理部310へ通知する。該当エントリなしの通知を受けた入出力処理部310は、受信フレームをコピーし、このフレームを受信したポート303以外のポートに転送(フラッディング)するようにスイッチング処理部320へ依頼し、スイッチング処理部320は、依頼内容に従って、ポート302で受信した上記のフレームをフラッディングする(ステップS34)。
 このように、本実施の形態のリングノードは、リングネットワークでの障害発生の通知を受けるごとに、FDB学習を行った時点のネットワーク状態を示す管理番号(障害状態番号)を更新し、さらに障害発生を通知してきたフレーム(障害通知フレーム)の受信ポートをFDBフラッシュ要因ポートとして記憶し、また、一般フレームの受信に伴ってアドレス学習を行い、FDBを更新する場合には、受信したフレームの送信元MACアドレスを検索キーとし、その時点の障害状態番号およびフレームの受信ポートを出力情報としてエントリへ登録することとした。そして、フレームを転送する際の出力ポート検索では、検索キーに対応するエントリに登録されている障害状態番号が最新の値ではなく、なおかつこのエントリに登録されている出力ポートがFDBフラッシュ要因ポートに該当する場合に、このエントリを無効化することとした。これにより、従来必要であったFDBの全エントリを無効化する処理を不要とし、真に必要な宛先のFDBエントリのみを無効化することができる。この結果、リングネットワークで障害が発生した場合に、アドレス学習を迅速に再開することができるとともに、障害による経路切り替えに影響されない経路のノードへの無駄なフラッディング動作を不要にすることができる。
 なお、本実施の形態では、特定のポートに出力するエントリのみ無効化の対象とする手法について説明したが、ネットワーク障害によっては、全てのエントリの無効化が必要な場合もある。よって、FDBフラッシュ要因ポートとして全ポートを示す特別な値を定義しておき、全てのエントリの無効化が必要な場合には、FDBフラッシュ要因ポート番号343にその値を記憶させるようにしてもよい。
 また、実施の形態1および2ではリングネットワークのノードとして動作する通信装置について説明したが、本発明にかかる通信装置は、ネットワークでの障害発生に伴ってそれまでのアドレス学習結果を無効化して新たにアドレス学習を行うように各ノードが動作するネットワークであれば、リング型以外のトポロジーを採用したネットワークにも適用可能である。
 以上のように、本発明にかかる通信装置は、ネットワークを構成し、アドレス学習結果に従って受信フレームを転送するノード装置に有用であり、特に、障害発生後のアドレス学習を短時間で再開するノード装置に適している。
 1 リングネットワーク
 10,20,30,40,50,60 ノード
 100,200,300,400,500,600 リングノード
 301,302,303 ポート
 301-1 入力ポート
 301-2 出力ポート
 310 入出力処理部
 311 入力フレーム処理部
 312 出力フレーム処理部
 320 スイッチング処理部
 330 リング管理処理部
 340,340a ポート状態管理部
 341 ポート状態テーブル
 342 障害状態番号
 343 FDBフラッシュ要因ポート番号
 350 出力ポート検索処理部
 351 FDB制御部
 352 FDB

Claims (18)

  1.  ネットワークのノードとして動作する通信装置であって、
     ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新する状態管理手段と、
     受信フレームの送信元アドレスおよび受信ポートと、前記状態管理手段で管理されている状態情報とに基づいて、当該送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新するデータベース更新手段と、
     受信フレームの宛先アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとして前記データベースを検索することにより、受信フレームの出力ポートを決定する出力先決定手段と、
     を備えることを特徴とする通信装置。
  2.  前記データベース更新手段は、
     前記送信元アドレスおよび前記状態情報を検索キーとし、前記受信ポートを出力情報としたエントリを作成して前記データベースへ登録する
     ことを特徴とする請求項1に記載の通信装置。
  3.  前記データベース更新手段は、
     受信フレームの送信元アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとするエントリが前記データベースに登録されていない場合、当該送信元アドレスおよび当該状態情報を検索キーとし、前記受信ポートを出力情報としたエントリを作成して前記データベースへ登録する
     ことを特徴とする請求項1に記載の通信装置。
  4.  前記データベース更新手段は、
     受信フレームの送信元アドレスおよび前記状態管理手段で管理されている状態情報を検索キーとするエントリが前記データベースに登録されているが、その出力情報が前記受信ポートを示していない場合、当該エントリの出力情報が前記受信ポートを示すように、当該エントリを変更する
     ことを特徴とする請求項1または3に記載の通信装置。
  5.  ネットワークのノードとして動作する通信装置であって、
     ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新し、さらに、障害が発生しているポート、または障害発生す通知するフレームを受信したポートを無効ポートとして記憶する状態管理手段と、
     受信フレームの送信元アドレスおよび受信ポートと、前記状態管理手段で管理されている状態情報とに基づいて、当該送信元アドレスを宛先アドレスとしたフレームを受信した場合の出力ポートを決定するためのデータベースを更新するデータベース更新手段と、
     受信フレームの宛先アドレスを検索キーとして前記データベースを検索し、得られた検索結果と、前記状態管理手段で記憶されている無効ポートとに基づいて、受信フレームの出力ポートを決定する出力先決定手段と、
     を備えることを特徴とする通信装置。
  6.  前記データベース更新手段は、
     前記送信元アドレスを検索キーとし、前記状態情報および前記受信ポートを出力情報としたエントリを作成して前記データベースへ登録する
     ことを特徴とする請求項5に記載の通信装置。
  7.  前記データベース更新手段は、
     受信フレームの送信元アドレスを検索キーとするエントリが前記データベースに登録されているが、その出力情報が前記受信ポートとは異なるポートを示している、または当該出力情報が前記状態管理手段で管理されている状態情報とは異なる状態情報を含んでいる場合、当該エントリの出力情報が前記受信ポートを示しなおかつ前記状態管理手段で管理されている状態情報と同一の状態情報を含むように、当該エントリを変更する
     ことを特徴とする請求項5または6に記載の通信装置。
  8.  前記出力先決定手段は、
     前記検索結果に含まれる状態情報が前記状態管理手段で管理されている状態情報とは異なり、なおかつ当該検索結果が示す出力ポートが前記状態管理手段で記憶されている無効ポートに該当する場合、当該検索結果に対応する前記データベース内のエントリを無効化する
     ことを特徴とする請求項5、6または7に記載の通信装置。
  9.  前記出力先決定手段は、
     前記検索結果に含まれる状態情報が前記状態管理手段で管理されている状態情報とは異なり、なおかつ当該検索結果が示す出力ポートが前記状態管理手段で記憶されている無効ポートとは異なる場合、当該検索結果に対応するデータベース内のエントリが前記状態管理手段で管理されている状態情報と同一の管理情報を含むように、当該エントリを更新する
     ことを特徴とする請求項5、6または7に記載の通信装置。
  10.  前記出力先決定手段は、
     前記受信フレームの出力先を前記検索結果が示す出力ポートに決定する
     ことを特徴とする請求項9に記載の通信装置。
  11.  リングネットワークを構成する
     ことを特徴とする請求項1~10のいずれか一つに記載の通信装置。
  12.  ネットワークのノードとして動作する通信装置が、フレームを受信した場合の出力ポートを決定するためのデータベースを更新する場合に実行するアドレス学習方法であって、
     ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新する状態情報更新ステップと、
     受信フレームの送信元アドレスおよび受信ポートと、前記状態情報とに基づいて、前記データベースに新規エントリを登録する必要があるかどうか確認し、必要な場合には、当該送信元アドレスおよび当該状態情報を検索キーとし、当該受信ポートを出力情報としたエントリを作成して前記データベースへ登録するエントリ登録ステップと、
     を含むことを特徴とするアドレス学習方法。
  13.  前記エントリ登録ステップでは、最新の状態情報とは異なる状態情報を有するエントリがデータベースに登録されている場合、当該既存エントリに対して前記作成したエントリを上書き登録する
     ことを特徴とする請求項12に記載のアドレス学習方法。
  14.  受信フレームの送信元アドレスおよび前記状態情報を検索キーとしたエントリが前記データベースに登録されているかどうか確認し、登録されている場合、さらに、当該エントリの出力情報が前記受信フレームの受信ポートを示しているかどうか確認し、示していなければ、出力情報が前記受信フレームの受信ポートを示すように、当該エントリを変更する登録済みエントリ変更ステップ、
     をさらに含むことを特徴とする請求項12または13に記載のアドレス学習方法。
  15.  ネットワークのノードとして動作する通信装置が、フレームを受信した場合の出力ポートを決定するためのデータベースを更新する場合に実行するアドレス学習方法であって、
     ネットワーク内での障害発生を検出するごとに、ネットワークの状態を示す状態情報を更新し、さらに、障害が発生しているポート、または障害発生す通知するフレームを受信したポートを無効ポートとして記憶する管理情報更新ステップと、
     受信フレームの送信元アドレスおよび受信ポートと、前記状態情報とに基づいて、前記データベースに新規エントリを登録する必要があるかどうか確認し、必要な場合、当該送信元アドレスを検索キーとし、当該状態情報および当該受信ポートを出力情報としたエントリを作成して前記データベースへ登録するエントリ登録ステップと、
     を含むことを特徴とするアドレス学習方法。
  16.  受信フレームの送信元アドレスを検索キーとしたエントリが前記データベースに登録されているが、その出力情報が当該受信フレームの受信ポートとは異なるポートを示している、または当該出力情報が最新の状態情報とは異なる状態情報を含んでいる場合には、当該エントリの出力情報が当該受信ポートを示しなおかつ最新の状態情報と同一の状態情報を含むように、当該エントリを変更するエントリ変更ステップ、
     をさらに含むことを特徴とする請求項15に記載のアドレス学習方法。
  17.  出力ポートを決定するためのデータベース検索を実行し、その結果、受信フレームの宛先アドレスに対応するエントリが前記データベースに登録されているが、その出力情報に含まれる状態情報が最新の状態情報とは異なり、なおかつ当該出力情報が示す出力ポートが前記無効ポートに該当することを検出した場合、当該エントリを無効化するエントリ無効化ステップ、
     をさらに含むことを特徴とする請求項15または16に記載のアドレス学習方法。
  18.  出力ポートを決定するためのデータベース検索を実行し、その結果、受信フレームの宛先アドレスに対応するエントリが前記データベースに登録されているが、その出力情報に含まれる状態情報が最新の状態情報とは異なり、なおかつ当該出力情報が示す出力ポートが前記無効ポートとは異なることを検出した場合、当該エントリの出力情報が最新の状態情報を含むように、当該エントリを変更するエントリ更新ステップ、
     をさらに含むことを特徴とする請求項15、16または17に記載のアドレス学習方法。
PCT/JP2010/052978 2010-02-25 2010-02-25 通信装置およびアドレス学習方法 WO2011104847A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2012501579A JP5349678B2 (ja) 2010-02-25 2010-02-25 通信装置およびアドレス学習方法
US13/580,726 US8655909B2 (en) 2010-02-25 2010-02-25 Communication apparatus and address learning method
CN201080064593.8A CN102771092B (zh) 2010-02-25 2010-02-25 通信装置以及地址学习方法
PCT/JP2010/052978 WO2011104847A1 (ja) 2010-02-25 2010-02-25 通信装置およびアドレス学習方法
EP10846512.1A EP2541842B1 (en) 2010-02-25 2010-02-25 Communications device and address learning method
TW100104715A TWI449376B (zh) 2010-02-25 2011-02-14 通訊裝置及位址學習方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/052978 WO2011104847A1 (ja) 2010-02-25 2010-02-25 通信装置およびアドレス学習方法

Publications (1)

Publication Number Publication Date
WO2011104847A1 true WO2011104847A1 (ja) 2011-09-01

Family

ID=44506294

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/052978 WO2011104847A1 (ja) 2010-02-25 2010-02-25 通信装置およびアドレス学習方法

Country Status (6)

Country Link
US (1) US8655909B2 (ja)
EP (1) EP2541842B1 (ja)
JP (1) JP5349678B2 (ja)
CN (1) CN102771092B (ja)
TW (1) TWI449376B (ja)
WO (1) WO2011104847A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013081157A (ja) * 2011-09-30 2013-05-02 Huawei Technologies Co Ltd ユニキャストトラフィックを復元する方法及び装置
JP2013223077A (ja) * 2012-04-16 2013-10-28 Hitachi Cable Ltd シャーシ型スイッチ
JP2016100621A (ja) * 2014-11-18 2016-05-30 富士通株式会社 伝送装置、伝送システム及び伝送方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9559863B2 (en) 2012-09-05 2017-01-31 Brocade Communications Systems, Inc. MAC flush optimizations for ethernet rings
US9148346B2 (en) 2012-09-05 2015-09-29 Brocade Communications Systems, Inc. Multiple ring identification and configuration protocol
US9338060B2 (en) 2012-09-05 2016-05-10 Brocade Communications Systems, Inc. Multiple ring identification and configuration protocol
CN106161078B (zh) * 2015-04-27 2019-06-21 华为技术有限公司 一种以太网环保护倒换方法及节点
CN106817288B (zh) * 2015-11-30 2019-06-14 华为技术有限公司 一种数据中心网络系统及信号传输系统
JP6922442B2 (ja) * 2017-06-02 2021-08-18 富士通株式会社 伝送システム、伝送装置及びループ防止方法
JP6667742B2 (ja) * 2018-03-30 2020-03-18 三菱電機株式会社 転送装置、転送方法および転送プログラム
JP7046756B2 (ja) * 2018-08-01 2022-04-04 株式会社日立製作所 ネットワーク中継装置、ネットワーク中継方法、及びネットワーク中継プログラム
CN115280727B (zh) * 2020-03-13 2024-02-09 三菱电机株式会社 中继装置、中继系统以及中继方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04360336A (ja) * 1991-06-06 1992-12-14 Hitachi Ltd 学習テーブル管理方式
JP2006270169A (ja) * 2005-03-22 2006-10-05 Fujitsu Ltd パケット中継装置
JP2008148176A (ja) * 2006-12-13 2008-06-26 Nec Corp ネットワークノードおよびネットワークノード用プログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0221360B1 (en) * 1985-11-04 1992-12-30 International Business Machines Corporation Digital data message transmission networks and the establishing of communication paths therein
US20030110344A1 (en) * 1996-09-18 2003-06-12 Andre Szczepanek Communications systems, apparatus and methods
US6625157B2 (en) * 1999-05-20 2003-09-23 Advanced Micro Devices, Inc. Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol
US6829651B1 (en) * 2000-04-11 2004-12-07 International Business Machines Corporation Local MAC address learning in layer 2 frame forwarding
JP2002305537A (ja) 2001-04-05 2002-10-18 Nec Eng Ltd Atm交換機
DE60222575T2 (de) * 2001-09-12 2008-06-26 Safenet Inc. Verfahren zur Generierung eines DFA-Automaten, wobei Übergänge zwecks Speichereinsparung in Klassen gruppiert werden
US6766482B1 (en) * 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US20040109408A1 (en) * 2002-12-06 2004-06-10 Packetlight Networks, Ltd. Fast protection for TDM and data services
TW200518526A (en) * 2003-11-17 2005-06-01 Nec Corp Communication system and communication method
TWI240548B (en) * 2004-02-04 2005-09-21 Chunghwa Telecom Co Ltd Incoming-call automatic distribution system with network repairing guided by automatic voice test service
JP4370999B2 (ja) * 2004-07-30 2009-11-25 日本電気株式会社 ネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法
JP4360336B2 (ja) 2005-03-25 2009-11-11 日立電線株式会社 リン銅ろうクラッド材の製造方法
EP1727313A1 (en) * 2005-05-25 2006-11-29 Siemens Aktiengesellschaft Ring network and method for automatic protection switching
JP4836008B2 (ja) * 2006-01-06 2011-12-14 日本電気株式会社 通信システム、通信方法、ノード、およびノード用プログラム
US8401008B2 (en) * 2006-01-25 2013-03-19 Nec Corporation Network node, frame transfer program and frame transfer method
CN101438538B (zh) * 2006-05-09 2012-01-11 日本电气株式会社 通信系统、节点、终端、通信方法
US7593400B2 (en) * 2006-05-19 2009-09-22 Corrigent Systems Ltd. MAC address learning in a distributed bridge
WO2008120931A1 (en) * 2007-03-30 2008-10-09 Electronics And Telecommunications Research Institute Method for protection switching in ethernet ring network
KR20080089285A (ko) * 2007-03-30 2008-10-06 한국전자통신연구원 이더넷 링 네트워크에서의 보호 절체 방법
US7788206B2 (en) * 2007-04-30 2010-08-31 Lsi Corporation State machine compression using multi-character state transition instructions
US20080317030A1 (en) * 2007-06-22 2008-12-25 Icu Research And Industrial Cooperation Group Method of creating address forwarding table in ethernet ring network
JP4808187B2 (ja) 2007-06-28 2011-11-02 富士通株式会社 経路切替方法及び装置
JP4895972B2 (ja) * 2007-10-22 2012-03-14 アラクサラネットワークス株式会社 リングプロトコル高速切替方法およびその装置
CN101534233A (zh) * 2008-03-12 2009-09-16 中兴通讯股份有限公司 一种以太环网节点地址表更新方法
JP4922972B2 (ja) * 2008-03-13 2012-04-25 株式会社日立製作所 通信システム
WO2011027361A2 (en) * 2009-09-07 2011-03-10 Tejas Networks Limited A method and system for ring protection switching
US8565069B2 (en) * 2010-11-23 2013-10-22 Force10 Networks, Inc. Method of shrinking a data loss window in a packet network device
US9356799B2 (en) * 2011-06-28 2016-05-31 Broadcom Corporation Ethernet ring protection without MAC table flushing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04360336A (ja) * 1991-06-06 1992-12-14 Hitachi Ltd 学習テーブル管理方式
JP2006270169A (ja) * 2005-03-22 2006-10-05 Fujitsu Ltd パケット中継装置
JP2008148176A (ja) * 2006-12-13 2008-06-26 Nec Corp ネットワークノードおよびネットワークノード用プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"IEEE Standard for Local and Metropolitan Area Networks: Media Access Control (MAC) Bridges", IEEE STD 802.1D-2004, 2004, pages 41 - 48

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013081157A (ja) * 2011-09-30 2013-05-02 Huawei Technologies Co Ltd ユニキャストトラフィックを復元する方法及び装置
JP2013223077A (ja) * 2012-04-16 2013-10-28 Hitachi Cable Ltd シャーシ型スイッチ
JP2016100621A (ja) * 2014-11-18 2016-05-30 富士通株式会社 伝送装置、伝送システム及び伝送方法

Also Published As

Publication number Publication date
CN102771092B (zh) 2015-02-11
JP5349678B2 (ja) 2013-11-20
EP2541842A4 (en) 2017-01-25
TWI449376B (zh) 2014-08-11
EP2541842A1 (en) 2013-01-02
CN102771092A (zh) 2012-11-07
US20120317138A1 (en) 2012-12-13
TW201206117A (en) 2012-02-01
US8655909B2 (en) 2014-02-18
EP2541842B1 (en) 2018-05-23
JPWO2011104847A1 (ja) 2013-06-17

Similar Documents

Publication Publication Date Title
JP5349678B2 (ja) 通信装置およびアドレス学習方法
US7636299B2 (en) Packet repeater
US9787496B2 (en) Communication system, communication apparatus, and protection method
JP5498102B2 (ja) ネットワークシステム、ネットワーク中継装置、それらの制御方法
JP4830942B2 (ja) 通信装置、通信システム及びそれに用いるlag管理テーブル管理方法
JP4682887B2 (ja) 故障復旧方法およびノードならびにネットワーク
US8401008B2 (en) Network node, frame transfer program and frame transfer method
JP2007282153A (ja) ネットワークシステムおよび通信装置
JP2011229188A (ja) 通信システムおよびノード
US8243741B2 (en) Frame switching device and address learning method
US20140301403A1 (en) Node device and method for path switching control in a ring network
US8611255B2 (en) Technology for flushing and relearning MAC addresses in telecommunication networks
US8218446B2 (en) Frame transfer route confirmation method, node, frame transfer route confirmation program and frame transfer route confirmation system
JP2010263395A (ja) ネットワーク中継機器及びリングネットワーク
US20120011278A1 (en) Systems and Methods for Removing Stale Mapping Entries for Network Element
JP2007251817A (ja) リングノード装置及びリングノード冗長方法
JPH0998180A (ja) リングネットワークシステムにおける障害回避制御方法
JP2015170984A (ja) 中継システムおよび中継装置
JP6553437B2 (ja) 中継システムおよびスイッチ装置
JP7112353B2 (ja) 通信装置
JP3541337B2 (ja) ネットワーク管理システム及びネットワーク構成情報管理方法
JP4760927B2 (ja) ネットワークシステムおよび通信装置
CN113765783B (zh) 通信方法及装置
JP2020077899A (ja) 中継システムおよび中継装置
JP2017041823A (ja) 中継システムおよびスイッチ装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080064593.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10846512

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012501579

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13580726

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010846512

Country of ref document: EP