Forwarding device and communication network

The layer 2 switch in CC-Link IE networks autonomously detects and removes loop paths by monitoring and blocking affected communication ports, addressing the challenge of multiple masters in conventional systems.

DE112015007035B4Active Publication Date: 2025-04-03MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112015007035
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2015-11-26
Publication Date
2025-04-03
Estimated Expiration
2035-11-26

AI Technical Summary

Technical Problem

Conventional CC-Link IE networks face challenges in accurately detecting and eliminating loop paths when multiple masters are connected, leading to incorrect determination of loop formation due to burst mode network-existence confirmation blocks.

Method used

A forwarding device, such as a layer 2 switch, monitors and identifies specific blocks sent by communication devices, sets surveillance cycles and reception thresholds, and autonomously determines and blocks communication ports with recorded loop paths using a block identification and loop recording unit.

Benefits of technology

The solution enables easy and reliable detection and elimination of loop paths in networks with multiple masters, preventing network storms and maintaining network reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Forwarding device (20; 20A, 20B) which together with several communication terminal devices (10X, 10Y) forms a communication network, which forwarding device (20; 20A, 20B) has: multiple communication ports (20-1 to 20-n) for sending and receiving a block to and from the multiple communication terminals (10X, 10Y); a block identification unit (22-1 to 22-n) for identifying a specific block that is regularly sent by the multiple communication terminal devices (10X, 10Y) in the communication network; a setting unit (231) for setting a monitoring cycle for monitoring the number of specific blocks received by the forwarding device and a receive threshold for detecting a loop path in the communication network; a monitoring unit (232) for identifying, for each of the communication ports (20-1 to 20-n), the multiple communication terminals (10X, 10Y) that are a source for the received specific block, and for counting, for each of the multiple communication terminals (10X, 10Y), the number of specific blocks received by each of the multiple communication terminals (10X, 10Y) within the monitoring cycle; and a determination unit (233) for determining, for each of the multiple communication terminal devices (10X, 10Y), whether a loop path has been detected, for each of the communication ports (20-1 to 20-n) by comparing a counter value indicating the number of specific blocks received by the forwarding device (20; 20A, 20B) and communicated by the monitoring unit (232), with the receive threshold, and for performing a control to stop the sending and receiving of the block at the communication port where a loop path has been detected.
Need to check novelty before this filing date? Find Prior Art

Description

Area

[0001] The present invention relates to a relaying device that relays a block to be transmitted and received between communication devices constituting a communication network, and relates to the communication network. background

[0002] In the industrial field, the trend toward using Ethernet (registered trademark) has recently grown. A communication network connecting factory automation (FA) devices such as a programmable logic controller (PLC), an inverter, and a sensor has been designed at the manufacturing site (hereinafter referred to as the "FA network"). Generally, in the FA network, the FA devices required for real-time operation are connected and controlled via Ethernet. Control & Communication (CC)-Link IE (registered trademark) is commonly known as the Ethernet-based FA network.

[0003] In the CC-Link IE, a communication device (hereinafter "master") which is a control device and a communication device (hereinafter "slave") to be controlled are connected via the Ethernet to perform communication according to a token method using multicast communication (for example, Patent Document 1).

[0004] According to the communication system described in Patent Document 1, a master periodically performs a multicast of a network existence confirmation block to controlled target slaves. Based on the slave's connection information included in an existence confirmation response block, the master detects an additional connection terminal and sets a token process circuit.

[0005] After determining the token transfer order, the master notifies the slaves of the token's destination. After notifying the slaves of the token transfer order, the master performs a multicast of its own data and the token's data. The media access control (MAC) address of a slave granted the right to transmit the next time is stored in the multicast token. The slave that receives the token addressed to itself recognizes that the slave has acquired the right to transmit, transmits data as required, and multicasts the token to the next slave. In CC-Link IE, the time period from the master's transmission of a token to the master's reception of a token addressed to the master is controlled to fall within a predetermined time.By repeating the series of processes, the master and slaves perform cyclic communication, which is periodic communication.

[0006] In an FA network configured by connecting various types of FA devices to a forwarding device such as a Layer 2 switch, there is a possibility that a loop path is formed due to improper connection of a communication path due to human error or the like. In the FA network, the formation of the loop path causes a storm. This affects the FA network operation. The storm refers to an infinite repetition of transmission and reproduction of a broadcast or multi-broadcast block on the loop path, which causes the bandwidth of the FA network to become insufficient. The FA network is required to be highly reliable, and thus, a mechanism for autonomously detecting and eliminating a loop path is required.

[0007] In the conventional CC-Link IE, a method for detecting and eliminating a loop path within the FA network has been proposed. In this method, a forwarding device uses a network existence confirmation frame periodically transmitted by a master to determine that a loop path is detected at a port when the number of network existence confirmation frames received by the port within a set time is equal to or greater than a threshold, and then blocks that port (for example, Patent Document 2).

[0008] Post-published Patent Document 3 describes a transmission device belonging to a communication network. The transmission device includes a plurality of communication ports for transmitting and receiving frames; and a loop detection unit for monitoring a reception frequency of a control frame with respect to each of the communication ports, the control frame being periodically transmitted into the communication network from a communication device belonging to the communication network, and for instructing a communication port at which the reception frequency exceeds a threshold value to stop transmitting and receiving frames. Citation listPatent documents Patent Document 1: Japanese Patent No. 5084915 Patent Document 2: International Publication No. WO2015 / 075959 Patent Document 3: German Publication No. DE 11 2014 005 365 T5. SummaryTechnical problem

[0009] In the conventional loop path detection method, a loop path can be properly detected in a case where the CC-Link IE network is configured by including a single master. However, in some cases, multiple masters may be connected to a single CC-Link IE network. A master additionally connected to the CC-Link IE network may issue a network existence confirmation block multiple times in a burst mode.In an interconnected network including multiple masters, when an additional master is connected to the network, there is a problem that when the total number of network existence acknowledgement blocks received by a port from the masters becomes equal to or greater than a threshold, the forwarding device may incorrectly determine that a loop path has been formed at the port even though the number of network existence acknowledgement blocks received by that port from a single master is less than the threshold, and thus may block the port.

[0010] The present invention has been made to solve the above problems, and it is an object of the present invention to provide a relay device that easily detects a loop path with a simple configuration and autonomously eliminates the loop path in a network connected to a plurality of masters. Solution to the problem

[0011] To overcome the aforementioned problems and achieve the object, a relay device according to the present invention includes a plurality of communication ports for transmitting and receiving a frame to and from a plurality of communication terminals, and a frame identification unit for identifying a specific frame regularly transmitted by the plurality of communication terminals in the communication network. Furthermore, the relay device includes a setting unit for setting a monitoring cycle for monitoring a number of specific frames received by the relay device and a reception threshold for detecting a loop path in the communication network, a monitoring unit for identifying, for each of the communication ports of the plurality of communication terminals, the sources of the specific frames received by the relay device, and for counting,for each of the plurality of communication terminals, the number of specific blocks received by the relay device from each of the communication terminals within the monitoring cycle; and a determination unit for determining, for each of the plurality of communication terminals, for each of the communication ports, whether a loop path is detected by comparing a counter value indicating the number of specific blocks received by the relay device, which is notified by the monitoring unit, with the reception threshold, and for performing control to stop the transmission and reception of the block at the communication port at which a loop path is detected. The relay device, together with the plurality of communication terminals, forms a communication network. Advantageous effects of the invention

[0012] The relay device according to the present invention has the effect that it is possible to easily detect a loop path with a simple configuration and to autonomously eliminate the loop path in a network connected to a plurality of masters. Brief description of the drawings Fig. 1 is a diagram illustrating an example of a CC-Link IE network serving as a communication network according to a first embodiment. Fig. 2 is a diagram illustrating a configuration example of a test data block transmitted from master communication terminals according to the first embodiment. Fig. 3 is a block diagram illustrating a configuration example of a Layer 2 switch according to the first embodiment. Fig. 4 is a diagram illustrating an example of a communication network when a loop path is formed at one end of the communication network away from the Layer 2 switch according to the first embodiment. Fig. 5 is a flowchart illustrating a loop path detection operation in the Layer 2 switch according to the first embodiment. Fig. 6 is a diagram illustrating an example of a processing circuit of the Layer 2 switch according to the first embodiment when the processing circuit is configured by dedicated hardware. Fig. 7 is a diagram illustrating an example in which the processing circuit of the Layer 2 switch according to the first embodiment is configured by a CPU and a memory. Fig. 8 is a diagram illustrating an example of a communication network in a case where a single master has already been connected to a Layer 2 switch according to a second embodiment and a second master is additionally connected to the Layer 2 switch. Fig. 9 is a diagram illustrating an example of a communication network in which a loop path is formed between communication ports of a Layer 2 switch according to a third embodiment. Fig. 10 is a diagram illustrating an example of a communication network in which multiple loop paths are present at ends of the communication network remote from the Layer 2 switch according to the third embodiment. Fig. 11 is a flowchart illustrating an operation in the Layer 2 switch according to the third embodiment when a loop path is detected at communication ports. Fig. 12 is a diagram illustrating a configuration example of a communication network including a network management device that manages alarm information in a CC-Link IE network according to a fourth embodiment. Fig. 13 is a flowchart illustrating an operation in a Layer 2 switch according to the fourth embodiment for detecting a loop path and notifying the detection of a loop path to the network management device. Description of implementation examples

[0013] A relay device and a communication network according to embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The present invention is not limited to the embodiments. First embodiment

[0014] Fig. 1 is a diagram illustrating an example of a CC-Link IE network serving as a communication network 100 according to a first embodiment of the present invention. The CC-Link IE network is configured from a single-segment network in which multiple communication terminals are connected via Ethernet in a line topology or a star topology.

[0015] The communication network 100 includes communication terminals 10X and 10Y operating as a master, multiple communication terminals 10A, 10B, 10C, and 10D operating as slaves, and a Layer 2 switch 20 serving as a relay device. Hereinafter, when the communication terminals 10X, 10Y, and 10A to 10D are not distinguished from each other, each of these communication terminals is sometimes referred to as a "communication terminal 10." The communication terminal 10 includes two communication ports. The communication port of the communication terminal 10 is connected to the communication port of another communication terminal 10 or to a communication port of the Layer 2 switch 20 through a local area network (LAN) line. The communication terminal 10 is either connected to an FA device or housed in the FA device.The communication terminal 10 sends and receives control information or data of the FA device to and from the other communication terminals 10. The communication network 100 is a communication network that connects the FA devices.

[0016] In the communication network 100, a first communication port Port_X1 of the communication terminal 10X and a second communication port Port_A2 of the communication terminal 10A are connected to each other. A second communication port Port_X2 of the communication terminal 10X and a first communication port Port_B1 of the communication terminal 10B are also connected to each other. A second communication port Port_B2 of the communication terminal 10B is connected to a communication port 20-1 of the Layer 2 switch 20. A first communication port Port_C1 of the communication terminal 10C is connected to a communication port 20-2 of the Layer 2 switch 20. A first communication port Port_D1 of the communication terminal 10D is connected to a communication port 20-3 of the Layer 2 switch 20.It is assumed that a first communication port Port_Y1 of the communication terminal 10Y is to be additionally connected to a communication port 20-n of the Layer 2 switch 20.

[0017] In the communication network 10 according to the present embodiment, the relay device such as the Layer 2 switch 20 is provided with a mechanism for monitoring the elapsed rate of a network existence confirmation frame (hereinafter, "test frame"), which is a control frame regularly transmitted from the communication terminals 10X and 10Y serving as a master of the CC-Link IE, and for determining that a loop path has been formed when the number of received test frames within the monitoring cycle exceeds a reception threshold. The test frame is a control frame regularly transmitted from the master communication terminals 10X and 10Y to detect an additional terminal that has not yet been registered in a token process circuit, that is, to check the status of the communication network 100.

[0018] Fig. Fig. 2 is a diagram illustrating a configuration example of a test data block 200 transmitted from the master communication terminals 10X and 10Y according to the first embodiment. The test data block 200 shown in Fig. 2 has a format based on the 802.3 Ethernet standards of the Institute of Electrical and Electronics Engineers (IEEE). The test data block 200 includes a destination address (DA) 201, which is a destination MAC address of a block, a source address (SA) 202, which is a source MAC address of the block, a type 203 indicating the Ethernet type, data 204 with a variable length depending on the size of the data to be transmitted, and a block check sequence (FCS) 207 used to detect an error. The data 204 includes block identification information 205, which is identification information for identifying the block type, and MAC address information 206 of a master that transmitted a test data block. In the present embodiment, block identification information indicating test data is stored in the block identification information 205 in the test data block 200.The MAC address of the master communication terminal 10X or the master communication terminal 10Y is stored in the master's MAC address information 206. The Layer 2 switch 20 checks the block identification information 205 and the master's MAC address information 206, which are part of the data included in the data 204 of the test data block 200, and can thereby identify the test data block and the master that is the source of the test data block.

[0019] Fig. 3 is a block diagram illustrating a configuration example of the Layer 2 switch 20 according to the first embodiment. The Layer 2 switch 20 includes communication port receiving units 21-1 to 21-n, block identifying units 22-1 to 22-n, a loop detection unit 23, a block forwarding amplifier unit 24, and communication port transmitting units 25-1 to 25-n. In the following description, when individual configurations of the identical units need not be distinguished from each other, each of the communication port receiving units 21-1 to 21-n is sometimes referred to as "communication port receiving unit 21", each of the block identification units 22-1 to 22-n is sometimes referred to as "block identification unit 22", and each of the communication port transmitting units 25-1 to 25-n is sometimes referred to as "communication port transmitting unit 25". Fig. 3 illustrated loop detection notification block will be explained in a fourth embodiment described later.

[0020] In Fig. 3, it is assumed that the communication port receiving unit 21-1 and the communication port transmitting unit 25-1 have the Fig. 1. Similarly, the communication port receiving unit 21-2 and the communication port transmitting unit 25-2 form the communication port 20-2. The communication port receiving unit 21-n and the communication port transmitting unit 25-n form the communication port 20-n. The last number "n" of the communication receiving units 21-1 to 21-n and the communication port transmitting units 25-1 to 25-n corresponds to the last number "n" of the communication ports 20-1 to 20-n. The Layer 2 switch 20 includes a plurality of communication ports 20-1 to 20-n that transmit and receive a frame to and from the communication terminal 10.

[0021] The communication port receiving units 21-1 to 21-n receive a block sent from the communication terminal 10.

[0022] Each of the block identification units 22-1 to 22-n identifies the type of the block received by a corresponding one of the communication port receiving units 21-1 to 21-n and then identifies whether the received block is a specific block. In the present embodiment, the specific block is a test data block. Specifically, each of the block identification units 22-1 to 22-n determines whether the received block is a test data block regularly transmitted from the master communication terminal 10. Each of the block identification units 22-1 to 22-n extracts block identification information from the received block and checks the block identification information.If the block type is determined to be a test data block, the block identification unit 22 notifies the loop detection unit 23 of information identifying a communication port that received the test data block and master identification information, which is the master's MAC address information 206 extracted from the test data block. The communication port identification information is information identifying any one of the communication ports 20-1 to 20-n.

[0023] The loop detection unit 23 manages the number of test data blocks received at the communication port receiving units 21-1 to 21-n of the respective communication ports 20-1 to 20-n for each source master and determines whether a loop path has been formed. The loop detection unit 23 includes a setting unit 231, a monitoring unit 232, and a determination unit 233.

[0024] In the Layer 2 switch 20, the setting unit 231 receives settings of the monitoring cycle and the reception threshold from a network administrator of the communication network 100 or other personnel. The monitoring cycle is used to monitor the number of received test data blocks that are a specific block. The reception threshold is set for the number of received specific blocks. The reception threshold is a threshold for determining whether a loop path has been formed, that is, for detecting the loop path. After receiving the monitoring cycle and the reception threshold from the network administrator of the communication network 100 or another person, the setting unit 231 sets the received monitoring cycle to the monitoring unit 232, while setting the received reception threshold to the determination unit 233.

[0025] The monitoring unit 232 monitors the reception frequency of a test data block, that is, the number of received test data blocks within the set monitoring cycle for each communication port and for each source master. As in Fig. As illustrated in Figure 3, the monitoring unit 232 includes a plurality of timers and a plurality of counters for each communication port. Each timer measures the monitoring cycle for each master. Each counter counts the number of test data blocks received from each master. In a case where a communication port receives a test data block multiple times within the monitoring cycle from the same master, the monitoring unit 232 adds "1" to the counter value indicating the number of test data blocks received each time a test data block is received. When the monitoring cycle expires, the monitoring unit 232 stops the operation of the corresponding timer and resets the value of the corresponding counter, that is, returns the value to "0." The monitoring unit 232 notifies the determination unit 233 of each counter value.It is permissible for the monitoring unit 232 to notify the determination unit 233 of the counter value between the counters at the same time, or at different times between the counters when the counter value of each of the counters changes. The notification time is not particularly limited.

[0026] The determination unit 233 compares the counter value of each counter corresponding to each master in each communication port, notified by the monitoring unit 232, with the reception threshold value set by the setting unit 231. If a counter value equal to or greater than the reception threshold exists, the determination unit 233 determines that a loop path has been formed at a communication port corresponding to the counter whose notified counter value is equal to or greater than the reception threshold. That is, the determination unit 233 determines that the loop path is detected. The determination unit 233 determines whether a loop path is detected for each communication port.When the loop path is detected, the determination unit 233 instructs the block identification units 22-1 to 22-n for all the communication ports 20-1 to 20-n to block the communication port at which the loop path is detected, that is, to stop the transmission and reception of a block at the communication port at which the loop path is detected.

[0027] When the determination unit 233 of the loop detection unit 23 instructs the block identification units 22-1 to 22-n to block the communication port where the loop path is detected, the block identification units 22-1 to 22-n discard a block input from the corresponding communication port and a block output from the corresponding communication port, and output a block for the other communication ports except for this target communication port to the block forwarding unit 24. Instead of discarding a block, the block identification units 22-1 to 22-n may add information indicating that this block is a target block to be discarded to the block, or information about a communication port to which the block can be transmitted, and then output this block to the block forwarding unit 24.

[0028] The block forwarding unit 24 maintains a MAC address table, which is a table illustrating a corresponding relationship between the MAC address and the communication port. The block forwarding unit 24 receives blocks via the block identification units 22-1 to 22-n, which were received through the communication ports 20-1 to 20-n, respectively. Then, referring to the MAC address table, it outputs each of the blocks to the communication port transmitting unit 25 of a communication port corresponding to the MAC destination address of each of the blocks. The block forwarding unit 24 controls the destination of a block.In a case where the block forwarding unit 24 receives a multiply transmitted block such as a test data block, if there is no instruction from the determination unit 233 in the loop path detection unit 23 to block a communication port, the block forwarding unit 24 outputs the received block to all communication ports except the communication port that received this block. If information indicating that a block is a target block to be discarded has been added by one of the block identification units 22-1 to 22-n, the block forwarding unit 24 discards this block.When information about a communication port to which a block can be transmitted has been added to the block by any one of the block identification units 22-1 to 22-n, the block forwarding unit 24 outputs the block received via any one of the block identification units 22-1 to 22-n to the communication port sending unit 25 corresponding to the communication port to which this block can be transmitted.

[0029] The communication port transmitting units 25-1 to 25-n transmit a block input from the block forwarding unit 24 to the communication terminal 10 connected to each of the communication ports.

[0030] Next, the loop path detection operation of the Layer 2 switch 20 in the communication network will be described. The operation in a communication network 100a having a Fig. The configuration illustrated in Figure 4 is described below as an example. Fig. 4 is a diagram illustrating an example of the communication network 100a when a loop path is formed at one end of this communication network 100a remote from the Layer 2 switch 20, according to the first embodiment. In the configuration of the communication network 100a, the master communication terminals 10X and 10Y and the slave communication terminal 10A are connected to each other through the Layer 2 switch 20 and a network node 30. The network node 30 is connected to the communication port 20-1 of the Layer 2 switch 20, and it is assumed that a loop path is formed between the network node 30 and the communication terminal 10a. Upon receiving a frame, the network node 30 transmits the frame to all communication ports except the communication port that received the frame.

[0031] In the communication network 100a, a test data block sent from the communication terminals 10X and 10Y is repeatedly transmitted and replicated on the loop path. As a result, the number of test data frames received at the communication port 20-1 of the Layer 2 switch 20 exceeds the reception threshold within the monitoring cycle. Thus, the loop detection unit 23 detects that the loop path exists. Upon detecting the loop path, the loop detection unit 23 instructs the block identification units 22-1 to 22-n to block the communication port 20-1 at which the loop path is detected, so that no block is transmitted or received at the communication port 20-1.

[0032] In the Layer 2 switch 20, the block identification units 22-1 to 22-n, which have been instructed to block the communication port 20-1, perform control to stop the transmission and reception of a block at the communication port 20-1. Due to this control, in the communication network 100a, the loop path is separated from the CC-Link IE network.

[0033] The loop path detection operation in the Layer 2 switch 20 will be described below with reference to a flowchart. Fig. 5 is a flowchart illustrating a loop path detection operation in the layer 2 switch 20 according to the first embodiment.

[0034] First, in the Layer 2 switch 20, the setting unit 231 of the loop detection unit 23 receives settings of the monitoring cycle and the reception threshold from a network manager or other person, and then sets the monitoring cycle to the monitoring unit 232 while setting the reception threshold to the determination unit 233 (step S11).

[0035] The block identifying units 22-1 to 22-n identify a block received from the communication port receiving units 21-1 to 21-n and check whether a target block for detecting a loop path, that is, a test data block, has been received (step S12).

[0036] When the target block for detecting a loop path, that is, the test data block has not been received yet (No in step S12), the block identifying units 22-1 to 22-n proceed to check whether the target block for detecting a loop path, that is, the test data block, has been received.

[0037] When the target block for detecting a loop path, that is, the test data block, has been received (YES in step S12), the block identifying units 22-1 to 22-n notify the loop detecting unit 23 of the information identifying a communication port that has received the test data block and master identifying information, which is the MAC address information 206 of the master extracted from the test data block.

[0038] The monitoring unit 232 of the loop detection unit 23 checks for each communication port whether a target block for detecting a loop path, that is, a test data block, has already been received from the same master within the monitoring cycle (step S13).

[0039] If the target block for detecting a loop path, that is, the test data block, has not yet been received from the same master within the monitoring cycle (NO in step S13), the monitoring unit 232 additionally secures a counter and a timer corresponding to the master identification information (step S14). Specifically, the monitoring unit 232 maintains a combination of a timer n1 and a counter n1, a combination of a timer np and a counter np, or other combinations specified in Fig. 3 are illustrated.

[0040] The monitoring unit 232 sets the held counter corresponding to the master to the value "1" (step S15) and starts the operation of the timer to measure the monitoring cycle (step S16). As described above, when the monitoring cycle has elapsed, the monitoring unit 232 stops the operation of the corresponding timer and resets the value of the corresponding counter, that is, returns the value to "0."

[0041] In the Layer 2 switch 20, the process returns to step S12, and the above-described process is repeatedly performed. In the Layer 2 switch 20, if the target block for detecting a loop path, that is, the test data block, has already been received from the same master within the monitoring cycle (YES in step S13), the monitoring unit 232 adds "1" to the value of the counter corresponding to the target master (step S17). The monitoring unit 232 notifies the determination unit 233 of information regarding the counter value indicating the number of received test data blocks counted by the counter.

[0042] The determination unit 233 compares the counter value notified by the monitoring unit 232 with the reception threshold value set by the setting unit 231 (step S18).

[0043] If the counter value is smaller than the reception threshold (NO in step S18), in the layer 2 switch 20, the process returns to step S12 and the above-described process is repeatedly performed.

[0044] If the counter value is equal to or greater than the reception threshold (YES in step S18), the determination unit 233 determines that a loop path is detected at a target communication port and performs control to stop the transmission and reception of a block at the target communication port (step S19). Specifically, as described above, the determination unit 233 instructs the block identification units 22-1 to 22-n in all communication ports 20-1 to 20-n to block the communication port where the loop path is detected.

[0045] In the Fig. In the Layer 2 switch 20 illustrated in Figure 3, the loop detection unit 23 and the block forwarding unit 24 are configured separately. However, it is also permissible for the block forwarding unit 24 to have a function of the loop detection unit 23, that is, the block forwarding unit 24 is configured to detect a loop.

[0046] Furthermore, in the loop detection unit 23, the determination unit 233 detects a loop path and performs control to stop the transmission and reception of a block at the communication port where the loop path was detected. However, it is also permissible for the loop path detection to be performed by a unit separate from a unit that performs control to stop the transmission and reception of a block at the communication port where the loop path was detected.

[0047] Furthermore, the loop detection unit 23 determines whether a loop path exists based on the result of the comparison between the reception threshold and the counter value indicating the number of test data blocks received by each of the source communication terminals 10X and 10Y within the monitoring cycle. However, it is also possible for the loop detection unit 23 to determine whether a loop path exists by comparing the number of test data blocks received by the source communication terminal 10X with the number of test data frames received by the source communication terminal 10Y in each communication port.That is, when significant changes occur in the number of received test data blocks, the loop detection unit 23 may determine that the significant changes are caused by a loop path being formed at a communication port that has received the largest number of blocks for a source communication terminal. For example, in a case where communication ports 20-1 to 20-3 exist and communication port 20-2 has received a larger number of test data blocks than those in communication ports 20-1 and 20-3, it is permissible for the loop detection unit 23 to determine that a loop path is formed at communication port 20-2 and thus block this communication port 20-2.

[0048] The loop detection unit 23 determines whether a loop path has been formed using a test data block. However, in a case where a similar control block, for example, a block regularly transmitted multiple times from the master communication terminals 10X and 10Y, it is also permissible for the loop detection unit 23 to determine whether a loop path has been formed using this regularly broadcast block.

[0049] Each of the communication networks 100 and 110a has been described as the CC-Link IE network. However, as long as a communication network includes a communication terminal that regularly broadcasts a control block, the Layer 2 switch 20, which is the relay device, is applicable to this communication network. That is, the loop detection unit 23 of the Layer 2 switch 20, which is the relay device, is capable of detecting a loop path by monitoring the reception status of a broadcast control block, that is, the number of received control blocks.

[0050] Next, a hardware configuration of the Layer 2 switch 20 will be described. In the Layer 2 switch 20, the communication port receiving units 21-1 to 21-n and the communication port transmitting units 25-1 to 25-n, that is, the communication ports 20-1 to 20-n, are implemented by an interface circuit that transmits and receives an Ethernet block. The block identifying units 22-1 to 22-n, the loop detection unit 23, and the block forwarding unit 24 are implemented by a processing circuit. That is, the Layer 2 switch 20 includes a processing circuit that identifies the type of a received block, determines whether a loop path is formed, and controls the destination of the block. The processing circuit can be either dedicated hardware or a memory and a central processing unit (CPU) that executes a program stored in the memory.

[0051] Fig. Fig. 6 is a diagram illustrating an example of the processing circuit of the Layer 2 switch 20 according to the first embodiment when the processing circuit is configured by dedicated hardware. In the case where the processing circuit is dedicated hardware, a Fig. For example, the processing circuit 91 illustrated in Figure 6 may be a single circuit, a combined circuit, a programmed processor, a parallel programmed processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination thereof. It is permissible for each of the functions of the block identification units 22-1 to 22-n, the loop detection unit 23, and the block forwarding unit 24 to be individually implemented by a processing circuit 91, or for the functions to be implemented together by a single processing circuit 91.

[0052] Fig. 7 is a diagram illustrating an example in which the processing circuit of the Layer 2 switch 20 according to the first embodiment is implemented by a CPU and a memory. In a case where the processing circuit is configured by a CPU 92 and a memory 93, the functions of the block identification units 22-1 to 22-n, the loop detection unit 23, and the block forwarding units 24 are implemented by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 93. In the processing circuit, the CPU 92 reads and executes the program stored in the memory 93, thereby implementing the function of each unit.That is, the Layer 2 switch 20 includes the memory 93, which stores programs for causing the processing circuit to perform a step of identifying the type of a received block, a step of determining whether a loop path is formed, and a step of controlling the destination of the block, respectively. These programs are also considered to cause a computer to perform the operations and processes of the block identification units 22-1 to 22-n, the loop detection unit 23, and the block forwarding unit 24. The CPU 92 may be a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, a digital signal processor (DSP), or the like.The memory 93 corresponds, for example, to a non-volatile or volatile semiconductor memory such as a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable ROM (EPROM), and an electrical EPROM (EEPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a digital versatile disk (DVD).

[0053] It is also permissible for the functions of the block identification units 22-1 to 22-n, the loop detection units 23, and the block forwarding unit 24 to be partially implemented by dedicated hardware, while partially implemented by software or firmware. For example, it is possible to implement the functions of the block identification units 22-1 to 22-n of the processing circuit 91 serving as dedicated hardware, and to implement the functions of the loop detection unit 23 and the block forwarding unit 24 by reading and executing the programs stored in the memory 93 by the CPU 92.

[0054] In this way, the processing circuitry can implement any of the functions described above through dedicated hardware, software, firmware, or a combination of these.

[0055] As described above, according to the present embodiment, the Layer 2 switch 20 determines whether a loop path exists based on the result of the comparison between the reception threshold and the number of control blocks received within the monitoring cycle, where the control blocks are regularly multi-transmitted or broadcast from the master communication terminals 10X or 10Y in the communication network 100 or 100a. When a loop path is detected, the Layer 2 switch 20 blocks the communication port at which the loop path was detected. Due to this operation, the Layer 2 switch 20 can easily detect a loop path in the CC-Link IE network and can also autonomously eliminate the loop path. Second embodiment

[0056] In the first embodiment, the operation of the Layer 2 switch 20 for detecting and eliminating a loop path was described. In a second embodiment, the operation of a Layer 2 switch that does not perform erroneous detection of a loop path when an additional master is connected to a network is described.

[0057] The operation in a communication network 100b, which as in Fig. 8 is described below as an example. Fig. 8 is a diagram illustrating an example of the communication network 100b in a case where a single master is already connected to a Layer 2 switch 20A according to the second embodiment, and a second master is additionally connected to the Layer 2 switch 20A. In the configuration of the communication network 100b, the master communication terminal 10X and the slave communication terminals 10A and 10B are connected to each other through the Layer 2 switch 20A. The communication terminals 10C and 10D are connected to the Layer 2 switch 20A through a Layer 2 switch 10B. The configuration of the Layer 2 switches 20A and 20B is identical to that of the Layer 2 switch 20 according to the first embodiment (see Fig. 3).

[0058] In the communication network 100b, since a loop path is not present, a test data block sent from the master communication terminal 10X is properly transmitted through the Layer 2 switch 20A to the communication terminals 10A and 10B, and is also properly transmitted through the Layer 2 switches 20A and 20B to the communication terminals 10C and 10D. In the Layer 2 switches 20A and 20B, the number of received test data blocks within a monitoring cycle shorter than the control cycle of the communication network 100b does not exceed the reception threshold.

[0059] In a case where the communication terminal 10Y with the master function is additionally connected to the Layer 2 switch 20A, the communication terminal 10Y transmits a test data block M times consecutively to notify the communication network 10B that an additional master has been connected to the Layer 2 switch 20A. In this case, in the Layer 2 switch 20A, a communication port 20A-1 receives a test data block once within the monitoring cycle, while a communication port 20A-2 receives a test data block M times within the monitoring cycle. Furthermore, in the Layer 2 switch 20B, a communication port 20B-1 receives a test data block once from the communication terminal 10X, while a test data block is received from the communication terminal 10Y M times within the monitoring cycle.Thus, the reception threshold in the setting unit 231 is set to (M+1) by a network manager or other person, and accordingly, the Layer 2 switch 20B can properly detect a loop path.

[0060] It is assumed that the Layer 2 switch 20B does not support the Fig. 3, but is configured to detect a loop path based only on the number of received test data blocks without identifying the source master. Therefore, assuming that the reception threshold is set to (M+1), when the communication port 20B-1 receives a test data block (M+1) times, the Layer 2 switch 20B determines that a loop path is detected and blocks the communication port 20B-1. Thus, the communication terminals 10C and 10D are disconnected from the network and accordingly cannot communicate with the communication terminals 10X, 10A, and 10B. To avoid such a situation as described above, the reception threshold in the Layer 2 switch 20B must be set equal to or greater than (M+2). This results in a delay in detecting a loop path.Furthermore, there is also a case where Layer 2 switch 20B does not identify the source master as the above, and multiple master communication terminals, for example, N master communication terminals, are also connected to the network simultaneously. In this case, to prevent erroneous detection of a loop path, the reception threshold must be set equal to or greater than (MxN+2). This case leads to a further delay in the detection of a loop path in Layer 2 switch 20B.

[0061] In contrast, in the layer 2 switch 20B, which operates in the same way as the Fig. 3, the reception threshold of a test data block is set to (M+1) for each source master. Layer 2 switch 20B can thus detect a loop path quickly and accurately without any delay in detecting the loop path.

[0062] In the description of the present embodiment, it is assumed that the communication network 100b is the CC-Link IE network. However, the Layer 2 switch 20 is also applicable to a communication network other than the CC-Link IE network, as long as the communication network is configured to include a communication terminal that regularly broadcasts a control block.

[0063] As described above, according to the present embodiment, in the communication network 100b connected to multiple masters, when the communication terminal 10 having the master function is additionally connected to the communication network 100b, the Layer 2 switch 20B sets the reception threshold to (M+1) obtained by adding "1" to "M." "M" is the number of times a test frame is consecutively transmitted from this additional communication terminal 10. Due to this setting, even in a case where two or more communication terminals 10 having the master function are connected to the communication network 100b, the Layer 2 switch 20B can still detect a loop path quickly and accurately. Third embodiment

[0064] In the first embodiment, the operation of the Layer 2 switch 20 was described in the case where a single communication port satisfies the loop path detection condition, that is, "counter value ≥ reception threshold." In a third embodiment, the operation of the Layer 2 switch 20 is described in a case where multiple communication ports satisfy the loop path detection condition.

[0065] There are several possible configurations of a communication network in which multiple communication ports satisfying the loop path detection condition exist. For example, there is a possible case where a loop path is formed between communication ports of the Layer 2 switch 20, or where multiple loop paths exist at ends of the communication network remote from the Layer 2 switch 20. Fig. 9 is a diagram illustrating an example of a communication network 100c when a loop path is formed between the communication ports of the Layer 2 switch 20 according to the third embodiment. Fig. 10 is a diagram illustrating an example of a communication network 100d when multiple loop path ends of the communication network are present away from the Layer 2 switch 20 according to the third embodiment. The configuration of the Layer 2 switch 20 is identical to that of the Layer 2 switch 20 according to the first embodiment (see Fig. 3).

[0066] The Fig. The communication network 100c illustrated in Figure 9 has a configuration in which the master communication terminal 10X is connected to the communication port 20-3 of the Layer 2 switch 20, while the slave communication terminal 10A is connected to the communication ports 20-1 and 20-2. In the communication network 100c, a loop path is formed between the communication terminal 10A and the communication ports 20-1 and 20-2 of the Layer 2 switch 20.

[0067] In the Fig. In the communication network 100D illustrated in FIG. 10, the master communication terminal 10X is connected to the communication port 20-3 of the Layer 2 switch 20, and a network node 30A is connected to the communication port 20-1, while a network node 30B is connected to the communication port 20-2. The slave communication terminal 10A is connected to the network node 30A, while the slave communication terminal 10B is connected to the network node 30B. In the communication network 100D, a loop path is formed between the network node 30A and the communication terminal 10A, and a loop path is also formed between the network node 30B and the communication terminal 10B.

[0068] If multiple communication ports satisfy the loop path detection condition, the Layer 2 switch 20 cannot determine which form in the Fig. 9 and Fig. 10 illustrated configurations of the loop path.

[0069] Thus, in the present embodiment, when multiple communication ports satisfy the loop path detection condition, Layer 2 switch 20 selects any one of the communication ports that satisfy the loop path detection condition to block all communication ports except the selected communication port. That is, when a loop path is detected at multiple communication ports, Layer 2 switch 20 stops sending and receiving frames at all communication ports except the one communication port.

[0070] In the Fig. In the communication network 100c illustrated in FIG. 9, after a while after the operation start, the loop detection unit 23 of the Layer 2 switch 20 detects that the communication ports 20-1 and 20-2 satisfy the loop path detection condition, and then blocks one of the two communication ports 20-1 and 20-2. For example, the Layer 2 switch 20 blocks the communication port 20-2. Consequently, with respect to the Layer 2 switch 20, a loop path between the communication ports 20-1 and 20-2 is eliminated. With this elimination, at the unblocked communication port 20-1, the number of received test data blocks within the monitoring cycle becomes a normal value equal to or less than the reception threshold. As a result, the loop detection unit 23 does not detect a loop path at the communication port 20-1 again.In the communication network 100c, the Layer 2 switch 20 can eliminate the loop path by blocking only a single point along the loop path, and thus can maintain the connection between the master communication terminal 10X and the slave communication terminal 10A.

[0071] On the other hand, there is Fig. 10 illustrates a plurality of loop paths at ends of the communication network 100d remote from the Layer 2 switch 20. For example, the loop detection unit 23 of the Layer 2 switch 20 blocks the communication port 20-2 according to the same procedure as in the Fig. 9. However, the loop path at an end remote from the communication port 20-1 downstream of the communication network 100d has not yet been eliminated. Thus, in the Layer 2 switch 20, the number of test data blocks received by the communication port 20-1 within the monitoring cycle continues to exceed the reception threshold. Accordingly, if the number of test data blocks received by the communication port 20-1 within the monitoring cycle continues to exceed the reception threshold, the loop detection unit 23 continues to block the communication port 20-1 after a predetermined time has elapsed. As a result, the loop paths in the communication network 100d are eliminated.

[0072] The operation of the Layer 2 switch 20 when the Layer 2 switch 20 detects a loop path at multiple communication ports will be described below with reference to a flowchart. Fig. Fig. 11 is a flowchart illustrating the operation of the Layer 2 switch 20 according to the third embodiment when the Layer 2 switch 20 detects a loop path at the multiple communication ports. The processes from steps S11 to S18 are the same as those of the Fig. 5 illustrated processes.

[0073] When there are multiple communication ports indicating a counter value equal to or greater than the reception threshold, that is, a loop path is detected at multiple communication ports (YES in step S21), the determination unit 233 of the Layer 2 switch 20 stops sending and receiving blocks at all corresponding communication ports except one of these communication ports (step S22).

[0074] The determination unit 233 stands by until a predetermined time has elapsed (NO in step S23). If a predetermined time has elapsed (Yes in step S23), the determination unit 233 checks again whether a communication port exists whose counter value is equal to or greater than the reception threshold (step S24).

[0075] If there is a communication port whose counter value is equal to or greater than the reception threshold (YES in step S24), the determination unit 233 determines that a loop path continuously exists at the corresponding communication port, that is, a communication port at which the determination unit 233 has not stopped sending or receiving a block, among a plurality of ports at which the loop path has been detected. The determination unit 233 then performs control to stop the transmission and reception of blocks at this target communication port, that is, the one communication port at which the determination unit 233 has not stopped sending or receiving blocks (step S19).

[0076] On the other hand, if there is no communication port whose counter value is equal to or greater than the reception threshold (NO in step S24), the determination unit 233 determines that the loop path has been eliminated in the communication network and ends the processing.

[0077] If this is not a case where a loop path is detected at a plurality of communication ports (NO in step S21), that is, this is the same case as in the first embodiment, the determination unit 233 performs a process in step S19.

[0078] As described above, according to the present embodiment, when a loop path is detected at multiple communication ports, the loop detection unit 23 of the Layer 2 switch 20 first selects any one of the communication ports where the loop path is detected to block all communication ports except the selected communication port. If the loop path detected state continues, the loop detection unit 23 continues to block this selected communication port. Due to this operation, the Layer 2 switch 20 can autonomously eliminate the loop path while avoiding blocking a larger number of communication ports than necessary.

[0079] It is permissible that, when the loop detection unit 23 detects a loop path at a plurality of communication ports, the loop detection unit 23 does not simultaneously block all communication ports except a selected communication port, but blocks the communication ports sequentially. That is, a loop detection unit 23 first blocks one of the communication ports where a loop path is detected, and then monitors the status of the remaining communication ports, that is, the unblocked communication ports where the loop path is detected, for a predetermined period. If the loop path is not eliminated, the loop detection unit 23 blocks another of the communication ports where the loop path is detected, and then monitors whether the loop path has been eliminated at the remaining communication ports for a predetermined period.It is also permissible for the loop detection unit 23 to repeat the operation of sequentially blocking the communication ports at the time the loop path is eliminated. Due to this operation, by sequentially blocking the communication ports where a loop path is detected, the Layer 2 switch 20 can avoid the situation where a larger number of communication ports are blocked than necessary. Fourth embodiment

[0080] In the first and third embodiments, the process of detecting a loop path and autonomously eliminating the loop path by the Layer 2 switch 20 was described. In the fourth embodiment, a case is described in which, when the Layer 2 switch 20 detects a loop path, the Layer 2 switch 20 eliminates the loop path and notifies the network management device of the detection of the loop path.

[0081] Fig. 12 is a diagram illustrating a configuration example of a communication network 100e including a network management device 40 that manages alarm information in a CC-Link IE network according to the fourth embodiment. The communication network 100e is configured to include the communication terminal 10X operating as a master, a plurality of communication terminals 10A to 10C operating as a slave, the Layer 2 switch 20 as a forwarding device, and the network management device 40.

[0082] In the communication network 100e, the first communication port Port_X1 of the communication terminal 10X and a communication port Port_1 of the network management device 40 are connected to each other, while the second communication port Port_X2 of the communication terminal 10X and the first communication port Port_A1 of the communication terminal 10A are connected to each other. The second communication port Port_A2 of the communication terminal 10A is connected to the communication port 20-1 of the Layer 2 switch 20. The first communication port Port_B1 of the communication terminal 10B is connected to the communication port 20-2 of the Layer 2 switch 20. The first communication port Port_C1 of the communication terminal 10C is connected to the communication port 20-3 of the Layer 2 switch 20. The configuration of the Layer 2 switch 20 is identical to that of the Layer 2 switch 20 according to the first embodiment (see Fig. 3).

[0083] In the Layer 2 switch 20, when the determination unit 233 of the loop detection unit 23 detects a loop path, the determination unit 233 blocks a target communication port where the loop path is detected in the same manner as in the first and third embodiments. In the present embodiment, the determination unit 233 further generates a loop detection notification block indicating a communication port where a loop path is detected and sends the generated loop detection notification block to the network management device 40 via the block forwarding unit 24 and the communication port transmission unit 25.

[0084] When the network management device 40 receives the loop detection notification block, the device 40 displays information indicating that the loop path is detected on a display unit (not shown) to notify the network manager.

[0085] The operation of the Layer 2 switch 20 to notify the network management device 40 of the detection of the loop path is described below with reference to a flowchart. Fig. Fig. 13 is a flowchart illustrating the operation of the Layer 2 switch 20 according to the fourth embodiment for detecting a loop path and notifying the network management device 40 of the detection of the loop path. The processes from step S11 to step S19 are the same as those in Fig. 5 illustrated processes.

[0086] In the layer 2 switch 20, when performing the control for blocking a communication port in step S19, the determination unit 233 of the loop detection unit 23 generates a loop detection notification block and sends the generated loop detection notification block to the network management device 40 via the block forwarding unit 24 and the communication port sending unit 25 (step S31).

[0087] As described above, according to the present embodiment, in the Layer 2 switch 20, when the determination unit 233 of the loop detection unit 23 detects a loop path, the determination unit 233 autonomously eliminates the loop path and notifies the network management device 40 of information regarding a communication port where the loop path is detected. Due to this operation, the Layer 2 switch 20 can immediately notify the network management device 40 of the information regarding the communication port where the loop path is detected. In addition, by checking the network management device 40, the network manager can recognize the communication port where the loop path is detected.

[0088] In the first, third, and fourth embodiments, the case where a single Layer 2 switch 20 is included in the communication network was described. However, similar to the second embodiment, the present invention is also applicable to a case where two or more Layer 2 switches 20 are included in the communication network. Each of the Layer 2 switches 20 operates in the same manner as in the first, third, and fourth embodiments.

[0089] As described above, the forwarding apparatus and the communication network according to the present invention are useful for designing an Ethernet-based FA network.

[0090] The configurations described in the above embodiments are merely examples of the content of the present invention. The configurations can be combined with other known techniques, and a part of each configuration can be omitted or modified without departing from the scope of the present invention. List of reference symbols

[0091] 10X, 10Y Communication terminal (master), 10A, 10B, 10C, 10D Communication terminal (slave), 20, 20A, 20B Layer 2 switch, 20-1, 20-2, 20-3, ..., 20-n, 20A-1, 20A-2, 20B-1 Communication port, 21-1, 21-2, ..., 21-n Communication port receiving unit, 22-1, 22-2, ..., 22-n Block identification unit, 23 Loop detection unit, 231 Setting unit, 232 Monitoring unit, 233 Determination unit, 24 Block forwarding unit, 25-1, 25-2, ..., 25-n Communication port transmitting unit, 30, 30A, 30B Network node, 40 network management device.

Claims

[1] A forwarding device (20; 20A, 20B) which forms a communication network together with a plurality of communication terminals (10X, 10Y), which forwarding device (20; 20A, 20B) comprises: a plurality of communication ports (20-1 to 20-n) for sending and receiving a block to and from the plurality of communication terminals (10X, 10Y); a block identification unit (22-1 to 22-n) for identifying a specific block regularly transmitted from the plurality of communication terminals (10X, 10Y) in the communication network; a setting unit (231) for setting a monitoring cycle for monitoring the number of specific blocks received by the forwarding device and a reception threshold for detecting a loop path in the communication network; a monitoring unit (232) for identifying, for each of the communication ports (20-1 to 20-n), the plurality of communication terminals (10X, 10Y) that are a source for the received specific block, and for counting, for each of the plurality of communication terminals (10X, 10Y), the number of specific blocks received by each of the plurality of communication terminals (10X, 10Y) within the monitoring cycle; and a determination unit (233) for determining, for each of the plurality of communication terminals (10X, 10Y), whether a loop path is detected for each of the communication ports (20-1 to 20-n) by comparing a counter value indicating the number of specific blocks received by the relay device (20; 20A, 20B) and notified by the monitoring unit (232) with the reception threshold, and for performing control for stopping the transmission and reception of the block at the communication port at which a loop path is detected. [2] The relaying apparatus according to claim 1, wherein the specific block is a control block sent from the plurality of communication terminals (10X, 10Y) to check a state of the communication network. [3] A relaying apparatus according to claim 1 or 2, wherein information for identifying the specific block and the plurality of communication terminals (10X, 10Y) that are a source for the specific block is a part of data stored in the block. [4] A relay device according to any one of claims 1 to 3, wherein, when there are a plurality of communication ports each indicating a counter value equal to or greater than the reception threshold, the determination unit (233) performs control to stop transmission and reception of the block at all of the plurality of communication ports except one of the communication ports. [5] A relay device according to claim 4, wherein, when there is a communication port indicating a counter value equal to or greater than the reception threshold after a predetermined time has elapsed, the determination unit (233) further performs control for stopping the transmission and reception of the block at the communication port. [6] A relay device according to any one of claims 1 to 5, wherein, when the determination unit (233) detects a communication port indicating a counter value equal to or greater than the reception threshold, the determination unit (233) sends a notification indicating that a loop path is detected to a management device of the communication network. [7] A relay device according to any one of claims 1 to 6, wherein the communication network is a communication network connecting factory machines. [8] A forwarding device according to any one of claims 1 to 7, wherein the communication network is a CC-Link IE network. [9] Communication network which comprises: the forwarding device according to one of claims 1 to 8; and multiple communication terminals (10X, 10Y).

Citation Information

Patent Citations

  • transmission device and communication network

    DE112014005365T5