NETWORK RELAY DEVICE, NETWORK RELAY METHOD, AND NETWORK RELAY PROGRAM

JP7631858B2Active Publication Date: 2025-02-19SUMITOMO ELECTRIC INDUSTRIES LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021019051
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-02-09
Publication Date
2025-02-19
Estimated Expiration
2041-02-09

AI Technical Summary

Benefits of technology

【0010】 本開示によれば、通信データの中継をより安定して行うことができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007631858000001
    Figure 0007631858000001
  • Figure 0007631858000002
    Figure 0007631858000002
  • Figure 0007631858000003
    Figure 0007631858000003
Patent Text Reader

Abstract

To provide a network relay device, a network relay method, and a network relay program that enable more stable relaying of communication data between devices.SOLUTION: A network relay device includes: a first communication unit that transmits / receives communication data to / from a first external device according to a first communication protocol of a layer 2; and a second communication unit that transmits / receives the communication data to / from a second external device according to a second communication protocol of the layer 2. Communication speed according to the second communication protocol is slower than communication speed according to the first communication protocol. The network relay device further includes a proxy that relays the communication data by performing termination processing of communication protocols of a layer 3 or higher between the first communication unit and the second communication unit.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a network relay device, a network relay method, and a network relay program. [Background technology]

[0002] Conventionally, a technique related to a relay device that relays transmission and reception of communication data between a plurality of communication devices has been developed. For example, Patent Document 1 (JP Patent Publication No. 2007-531353) discloses a packet relay device including a first interface unit, a second interface unit, and a function setting switch. The second interface unit has a classification unit, a priority control unit, and a transmission / reception unit. When the function setting switch is set to "QoS function enabled", the classification unit transfers a packet transferred from the first interface unit to the priority control unit. The priority control unit transfers the transferred packet to the transmission / reception unit after applying priority control so that the transferred packet is treated preferentially in the wireless section connected to the second interface unit. When the function setting switch is set to "QoS function disabled", the classification unit transfers the transferred packet directly to the transmission / reception unit. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Special Publication No. 2007-531353 Summary of the Invention [Problem to be solved by the invention]

[0004] There is a demand for a technique that goes beyond the packet relay device described in Patent Document 1 and that can relay communication data between devices in a more stable manner.

[0005] The present disclosure has been made to solve the above-mentioned problems, and its purpose is to provide a network relay device, a network relay method, and a network relay program that are capable of more stably relaying communication data between devices. [Means for solving the problem]

[0006] The network relay device disclosed herein comprises a first communication unit that transmits and receives communication data with a first external device in accordance with a first communication protocol of Layer 2, and a second communication unit that transmits and receives communication data with a second external device in accordance with a second communication protocol of Layer 2, wherein the communication speed according to the second communication protocol is slower than the communication speed according to the first communication protocol, and further comprises a proxy between the first communication unit and the second communication unit that relays the communication data by performing termination processing of communication protocols of Layer 3 or higher.

[0007] The network relay method disclosed herein is a network relay method in a network relay device, and includes the steps of receiving communication data from a first external device according to a first communication protocol of Layer 2, and relaying the communication data received from the first external device to a second external device according to a second communication protocol of Layer 2, wherein a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol, and in the step of relaying to the second external device, a termination process of the third communication protocol is performed on the communication data received from the first external device according to a third communication protocol of Layer 3 or higher.

[0008] The network relay program of the present disclosure is a program used in a network relay device, which causes a computer to function as a first communication unit that transmits and receives communication data with a first external device in accordance with a first communication protocol of Layer 2, a second communication unit that transmits and receives communication data with a second external device in accordance with a second communication protocol of Layer 2, and a proxy that relays communication data by performing termination processing of communication protocols of Layer 3 or higher between the first communication unit and the second communication unit, and the communication speed according to the second communication protocol is slower than the communication speed according to the first communication protocol.

[0009] One aspect of the present disclosure can be realized not only as a network relay device having such a characteristic processing unit, but also as a semiconductor integrated circuit that realizes part or all of the network relay device. Effect of the Invention

[0010] According to the present disclosure, communication data can be relayed more stably. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a communication system according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a diagram for explaining a problem in a communication system. [Diagram 3] FIG. 3 is a diagram illustrating a configuration of a relay device according to an embodiment of the present disclosure. [Figure 4] FIG. 4 is a diagram illustrating a configuration of a relay device according to an embodiment of the present disclosure. [Diagram 5] FIG. 5 is a diagram illustrating detailed operations of the first NAT and the proxy in the relay device according to the embodiment of the present disclosure. [Figure 6] FIG. 6 is a diagram illustrating details of the operation of the second NAT and the proxy in the relay device according to the embodiment of the present disclosure. [Figure 7] FIG. 7 is a sequence that defines the operation procedures of each device when a terminal device transmits communication data conforming to TCP to a device in a communication system according to an embodiment of the present disclosure. [Figure 8] FIG. 8 is a diagram illustrating an example of a format of communication data after a protocol conversion process is performed by a proxy in a relay device according to a modified example of the embodiment of the present disclosure. [Figure 9] FIG. 9 is a diagram illustrating an example of a format of communication data received by the relay device according to the embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] First, the contents of the embodiments of the present disclosure will be listed and described.

[0013] (1) A network relay device according to an embodiment of the present disclosure includes a first communication unit that transmits and receives communication data to and from a first external device in accordance with a first communication protocol of Layer 2, and a second communication unit that transmits and receives communication data to and from a second external device in accordance with a second communication protocol of Layer 2, wherein a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol, and further includes a proxy between the first communication unit and the second communication unit that relays communication data by performing termination processing of communication protocols of Layer 3 or higher.

[0014] With this configuration, when the proxy relays communication data that requires an ACK, it transmits the ACK as a termination process on behalf of the first external device or the second external device. Therefore, for example, when the first external device transmits communication data to the second external device, the first external device determines that it has received an ACK for the communication data by receiving the ACK from the proxy, so that it is possible to prevent the first external device from retransmitting the communication data due to the difference in communication speed between the first communication protocol and the second communication protocol, and to suppress the occurrence of congestion. Therefore, it is possible to more stably relay communication data between devices.

[0015] (2) Preferably, the first communication unit is capable of transmitting and receiving communication data to and from the first external device in accordance with a third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher, and further includes a first distribution unit that outputs communication data received by the first communication unit that complies with the third communication protocol to the proxy and outputs communication data that complies with the fourth communication protocol to the second communication unit.

[0016] With this configuration, for example, when communication data transmitted from a first external device does not require an ACK, the communication data can be transmitted to a second external device without going through a proxy, thereby enabling more effective relay processing.

[0017] (3) Preferably, the second communication unit is capable of transmitting and receiving communication data complying with a third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher with the second external device, and further includes a second distribution unit that outputs communication data complying with the third communication protocol among the communication data received by the second communication unit to the proxy and outputs communication data complying with the fourth communication protocol to the first communication unit.

[0018] With this configuration, for example, when communication data transmitted from the second external device does not require an ACK, the communication data can be transmitted to the first external device without going through a proxy, thereby enabling more effective relay processing.

[0019] (4) More preferably, in the communication between the first external device and the second external device conforming to the third communication protocol, a Nagle algorithm of TCP (Transmission Control Protocol) is disabled.

[0020] With this configuration, in communication between the first external device and the second external device via protocols with different communication speeds, it is possible to suppress the occurrence of congestion while improving real-time performance.

[0021] (5) Preferably, when the proxy receives specific communication data requiring an ACK (Acknowledgement) from the first external device, the proxy relays the specific communication data in accordance with a communication protocol of layer 3 or higher that is different from the communication protocol of the specific communication data and does not require an ACK.

[0022] In this manner, the proxy is configured to convert communication data conforming to a communication protocol that requires ACKs into communication data conforming to a communication protocol that does not require ACKs and transmit the converted data. This eliminates the need for a network relay device using a Layer 2 communication protocol, which has a slower communication speed, to send ACKs, thereby more effectively suppressing the occurrence of congestion.

[0023] (6) Preferably, the proxy uses, as a layer 3 or higher communications protocol for transmitting the relayed communications data to the second external device, a protocol in which the upper limit of an ACK response time is greater than the upper limit of an ACK response time in the communications protocol that performed the termination processing.

[0024] Here, when the proxy relays communication data transmitted from a first external device to a second external device, if, after transmitting the communication data to the second external device, the proxy is unable to receive an ACK because the upper limit of the ACK response time has been exceeded, the proxy resends the communication data to the second external device.

[0025] As described above, the proxy is configured to relay communication data by setting the upper limit of the ACK response time between the second external device, which is the destination of the communication data, to a value greater than the upper limit of the ACK response time between the first external device, which is the source of the communication data, thereby preventing the proxy from retransmitting the communication data and suppressing the occurrence of congestion.

[0026] (7) A network relay method according to an embodiment of the present disclosure is a network relay method in a network relay device, comprising the steps of receiving communication data from a first external device according to a first communication protocol of Layer 2, and relaying the communication data received from the first external device to a second external device according to a second communication protocol of Layer 2, wherein a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol, and in the step of relaying to the second external device, a termination process of the third communication protocol is performed on the communication data received from the first external device according to a third communication protocol of Layer 3 or higher.

[0027] With this method, when the proxy relays communication data that requires an ACK, it transmits the ACK as a termination process on behalf of the first external device or the second external device. Therefore, for example, when the first external device transmits communication data to the second external device, the first external device determines that it has received an ACK for the communication data by receiving the ACK from the proxy, so that it is possible to prevent the first external device from retransmitting the communication data due to the difference in communication speed between the first communication protocol and the second communication protocol, and to suppress the occurrence of congestion. Therefore, it is possible to more stably relay communication data between devices.

[0028] (8) A network relay program according to an embodiment of the present disclosure is a program used in a network relay device, causing a computer to function as a first communication unit that transmits and receives communication data with a first external device in accordance with a first communication protocol of Layer 2, a second communication unit that transmits and receives communication data with a second external device in accordance with a second communication protocol of Layer 2, and a proxy that relays communication data by performing termination processing of communication protocols of Layer 3 or higher between the first communication unit and the second communication unit, wherein the communication speed according to the second communication protocol is slower than the communication speed according to the first communication protocol.

[0029] With this configuration, when the proxy relays communication data that requires an ACK, it transmits the ACK as a termination process on behalf of the first external device or the second external device. Therefore, for example, when the first external device transmits communication data to the second external device, the first external device determines that it has received an ACK for the communication data by receiving the ACK from the proxy, so that it is possible to prevent the first external device from retransmitting the communication data due to the difference in communication speed between the first communication protocol and the second communication protocol, and to suppress the occurrence of congestion. Therefore, it is possible to more stably relay communication data between devices.

[0030] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof will not be repeated. In addition, at least some of the embodiments described below may be arbitrarily combined.

[0031] <Configuration and basic operation> [Overall configuration] FIG. 1 is a diagram illustrating a configuration of a communication system according to an embodiment of the present disclosure.

[0032] 1, the communication system 301 includes a terminal device 201, a device 151, and a plurality of network relay devices 101. Here, as an example, it is assumed that two network relay devices 101A and 101B are provided. Hereinafter, the network relay device 101 is also referred to as a "relay device 101." The communication system 301 may include a plurality of terminal devices 201. The communication system 301 may also include a plurality of devices 151.

[0033] The communication system 301 is used in a facility such as a factory or a building. Specifically, the device 151 is a sensor or a motor installed in the facility. The terminal device 201 transmits communication data including control information for controlling the device 151 to the device 151 via the relay device 101A and the relay device 101B.

[0034] Device 151 receives control information transmitted from terminal device 201 via relay device 101A and relay device 101B, and operates according to the received control signal. Device 151 also performs measurements on the facility, for example, and transmits communication data including measurement data indicating the measurement results to terminal device 201 via relay device 101B and relay device 101A.

[0035] More specifically, the terminal device 201 and the relay device 101A transmit and receive communication data in accordance with a first communication protocol of layer 2. Specifically, the terminal device 201 and the relay device 101A are connected via a cable 120 for Ethernet (registered trademark) communication, for example, and transmit and receive communication data in accordance with the Ethernet standard.

[0036] Relay device 101A and relay device 101B transmit and receive communication data in accordance with a second communication protocol of layer 2. Specifically, relay device 101A and relay device 101B are connected via power line 121, for example, and transmit and receive communication data in accordance with the G3-PLC (registered trademark) standard.

[0037] The relay device 101B and the device 151 transmit and receive communication data in accordance with a first communication protocol of layer 2. Specifically, the relay device 101B and the device 151 are connected via, for example, a cable 120 for Ethernet communication, and transmit and receive communication data in accordance with the Ethernet standard.

[0038] The communication data according to the first communication protocol is not limited to communication data according to Ethernet, and may be communication data according to a WiFi (registered trademark) communication method, etc. The communication data according to the second communication protocol is not limited to communication data according to G3-PLC, and may be a wireless signal in the 920 MHz band, etc.

[0039] In addition, the relay device 101 is capable of transmitting and receiving communication data between an external device, such as a terminal device 201, another relay device 101, or a device 151, in accordance with a third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher.

[0040] For example, the third communication protocol is TCP (Transmission Control Protocol) of layer 4, and the fourth communication protocol is UDP (User Datagram Protocol) of layer 4. In this case, the relay device 101 transmits and receives communication data in accordance with the IP protocol of layer 3 and TCP or UDP of layer 4.

[0041] The fourth communication protocol is not limited to UDP, but may be ICMP (Internet Control Message Protocol) or the like.

[0042] [Problem description] FIG. 2 is a diagram for explaining a problem in a communication system.

[0043] Referring to Fig. 2, in order to efficiently transmit and receive communication data according to the TCP communication protocol between multiple devices, the Nagle algorithm is sometimes used to transmit multiple packets together. On the other hand, in applications that require real-time responses between multiple devices, the Nagle algorithm is sometimes disabled.

[0044] When the Nagle algorithm is disabled, a device that is a sender of communication data retransmits the communication data if, after sending communication data of a predetermined size such as a window size, the device is unable to receive an ACK (Acknowledgement) due to an upper limit on the response time for the ACK. When a common communication band is used in two-way communication and the communication data is retransmitted as described above, the retransmitted communication data may collide with an ACK from the device that is a receiver, resulting in a repetitive situation in which the sender is unable to receive an ACK.

[0045] Furthermore, since the communication speed according to G3-PLC is slower than that according to Ethernet, delays are likely to occur in communication data sent from relay device 101A or relay device 101B, as shown in Fig. 2. This makes it more likely that the sending side will be unable to receive an ACK because the upper limit of the ACK response time has been exceeded, increasing the possibility that the communication data will be resent.

[0046] Furthermore, in G3-PLC, the RTT (Round Trip Time) is not constant, and as described above, in applications in which the Nagle algorithm is disabled, retransmission of communication data is particularly likely to occur, which can cause congestion.

[0047] Therefore, the relay device 101 according to the embodiment of the present disclosure has the following configuration to more stably relay communication data between devices. The configuration of the relay device 101 will be described in more detail below.

[0048] [Repeater configuration] 3 and 4 are diagrams showing the configuration of a relay device according to an embodiment of the present disclosure. Here, the configuration of relay device 101A will be mainly described. Relay device 101B has the same configuration as relay device 101A.

[0049] Referring to FIG. 3, the relay device 101A includes a first communication unit 11, a second communication unit 12, a first distribution unit 13, a second distribution unit 14, a bridge 15, a first NAT (Network Address Translation) 16, a second NAT 17, and a proxy 18.

[0050] The first distribution unit 13, the second distribution unit 14, the bridge 15, the first NAT 16, the second NAT 17, and the proxy 18 are realized by a processor such as a CPU (Central Processing Unit) and a DSP (Digital Signal Processor), etc. The first communication unit 11 and the second communication unit 12 are realized by a communication circuit such as a communication IC (Integrated Circuit).

[0051] The first communication unit 11 transmits and receives communication data to and from an external device in accordance with a first communication protocol of layer 2. For example, the first communication unit 11 in the relay device 101A transmits and receives communication data conforming to the Ethernet to and from a terminal device 201 that is an external device of the relay device 101A. The first communication unit 11 in the relay device 101B transmits and receives communication data conforming to the Ethernet to and from a device 151 that is an external device of the relay device 101B.

[0052] The second communication unit 12 transmits and receives communication data to and from an external device in accordance with the second communication protocol of layer 2. For example, the second communication unit 12 in the relay device 101A transmits and receives communication data in accordance with G3-PLC to and from the relay device 101B, which is an external device of the relay device 101A. Also, the second communication unit 12 in the relay device 101B transmits and receives communication data in accordance with G3-PLC to and from the relay device 101A, which is an external device of the relay device 101B.

[0053] Moreover, the first communication unit 11 in the relay device 101A can transmit and receive communication data to and from the terminal device 201 according to a third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher. Moreover, the first communication unit 11 in the relay device 101B can transmit and receive communication data to and from the device 151 according to a third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher.

[0054] The second communication unit 12 in the relay device 101A can transmit and receive communication data to and from the relay device 101B in accordance with a third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher. Also, the second communication unit 12 in the relay device 101B can transmit and receive communication data to and from the relay device 101A in accordance with the third communication protocol at layer 3 or higher or a fourth communication protocol at layer 3 or higher.

[0055] For example, as described above, the third communication protocol is layer 4 TCP, and the fourth communication protocol is layer 4 UDP.

[0056] Below, the basic operation of relay devices 101A and 101B will be explained, dividing the communication data transmitted and received between terminal device 201 and device 151 via relay devices 101A and 101B into communication data conforming to a communication protocol other than TCP and communication data conforming to TCP.

[0057] (a) Relay processing of communication data that conforms to a communication protocol other than TCP (a-1) Flow of communication data sent from terminal device to device An arrow A1 shown in FIG. 3 indicates the flow of communication data, which is transmitted from the terminal device 201 to the device 151 and conforms to a communication protocol other than TCP, through the relay devices 101A and 101B.

[0058] (a-1-1) Flow of communication data from relay device 101A to relay device 101B When first communication unit 11 in relay device 101A receives communication data conforming to the Ethernet standard transmitted from terminal device 201, that is, an Ethernet frame, first communication unit 11 outputs the received Ethernet frame to first distribution unit 13.

[0059] The first distribution unit 13 determines the type of the Ethernet frame received from the first communication unit 11 and determines the output destination of the Ethernet frame. Specifically, of the communication data received by the first communication unit 11, the first distribution unit 13 outputs communication data conforming to a third communication protocol of layer 3 or higher to the proxy 18, and outputs communication data conforming to a fourth communication protocol of layer 3 or higher to the second communication unit 12.

[0060] More specifically, first distribution unit 13 checks whether or not the Ethernet frame received from first communication unit 11 includes a TCP header. Here, it is assumed that the Ethernet frame does not include a TCP header. In this case, first distribution unit 13 outputs the Ethernet frame to second communication unit 12 via bridge 15.

[0061] More specifically, bridge 15 receives the Ethernet frame output from first distribution unit 13 and, for example, checks the destination address included in the Ethernet frame. Then, when bridge 15 checks that the destination of the Ethernet frame is device 151, bridge 15 outputs the Ethernet frame to second communication unit 12.

[0062] The second communication unit 12 receives the Ethernet frame output from the bridge 15, and transmits the Ethernet frame to the relay device 101B, for example, by including the Ethernet frame in the payload portion of communication data conforming to G3-PLC, that is, a frame conforming to G3-PLC.

[0063] Here, it is assumed that communication data conforming to IPv4 (Internet Protocol version 4) is transmitted and received as a layer 3 IP protocol between terminal device 201 and relay device 101A, and between relay device 101B and device 151. It is also assumed that communication data conforming to IPv6 is transmitted and received as a layer 3 IP protocol between relay device 101A and relay device 101B.

[0064] In this case, the second communication unit 12 transmits to the relay device 101B, for example, a frame conforming to G3-PLC, in which an IPv6 header and an L2TP (Layer 2 Tunneling Protocol) header are added to the Ethernet frame received from the bridge 15.

[0065] (a-1-2) Flow of communication data to device 151 in relay device 101B When the second communication unit 12 in the relay device 101B receives a frame conforming to G3-PLC including an Ethernet frame transmitted from the relay device 101A, the second communication unit 12 obtains the Ethernet frame contained in the payload portion of the frame and outputs the Ethernet frame to the second distribution unit 14.

[0066] If the Ethernet frame received from the second communication unit 12 does not include a TCP header, the second distribution unit 14 outputs the Ethernet frame to the first communication unit 11 via the bridge 15.

[0067] More specifically, bridge 15 receives the Ethernet frame output from second distribution unit 14 and, for example, checks the destination address included in the Ethernet frame. Then, when bridge 15 checks that the destination of the Ethernet frame is device 151, bridge 15 outputs the Ethernet frame to first communication unit 11.

[0068] The first communication unit 11 receives the Ethernet frame output from the bridge 15 and transmits the Ethernet frame to the device 151 .

[0069] (a-2) Flow of communication data sent from equipment to terminal device An arrow A2 shown in FIG. 3 indicates the flow of communication data, which is transmitted from the device 151 to the terminal device 201 and conforms to a communication protocol other than TCP, through the relay devices 101A and 101B.

[0070] (a-2-1) Flow of communication data from relay device 101B to relay device 101A The operation of relay device 101B is the same as that in (a-1-1) when relay device 101A and relay device 101B are replaced with each other and when terminal device 201 and device 151 are replaced with each other, and therefore detailed description thereof will not be repeated here.

[0071] (a-2-2) Flow of communication data from relay device 101A to terminal device 201 The operation of relay device 101A is the operation when relay device 101A and relay device 101B are replaced with each other in (a-1-2), and terminal device 201 and device 151 are replaced with each other, so detailed description will not be repeated here.

[0072] (b) Relay processing of communication data following the TCP communication protocol (b-1) Flow of communication data sent from terminal device to device 4 indicates the flow of communication data conforming to the TCP communication protocol through relay devices 101A and 101B, which is communication data transmitted from terminal device 201 to device 151. Here, it is assumed that the above-mentioned Nagle algorithm is disabled in communication conforming to TCP between terminal device 201 and device 151.

[0073] (b-1-1) Flow of communication data from relay device 101A to relay device 101B 4, when first communication unit 11 in relay device 101A receives an Ethernet frame transmitted from terminal device 201, it outputs the received Ethernet frame to first distribution unit 13. As shown in FIG.

[0074] For example, first distribution unit 13 checks whether or not the Ethernet frame received from first communication unit 11 includes a TCP header. Here, it is assumed that the Ethernet frame includes a TCP header. In this case, first distribution unit 13 outputs the Ethernet frame to proxy 18 via first NAT 16.

[0075] FIG. 5 is a diagram illustrating detailed operations of the first NAT and the proxy in the relay device according to the embodiment of the present disclosure.

[0076] 4 and 5, when the first NAT 16 receives an Ethernet frame output from the first distribution unit 13, it performs an address translation process to translate the destination address and source address of the Ethernet frame.

[0077] Specifically, as shown in FIG. 5, the first NAT 16 receives an Ethernet frame from the first distribution unit 13, the source address and port number of which are the IP addresses "192.168.0.1" and "12345" of the terminal device 201, and the destination address and port number of which are the IP addresses "192.168.0.2" and "502" of the device 151.

[0078] In this case, the first NAT 16 performs address conversion, for example, by changing the source address to the loopback address "127.0.0.1" and the destination address to the loopback address "127.0.0.1." The first NAT 18 then outputs the Ethernet frame that has undergone address conversion to the proxy 18.

[0079] The Ethernet frame output from the first NAT 16 to the proxy 18 includes the source address and port number before the address translation process, i.e., "192.168.0.1" and "12345", and the destination address and port number, i.e., "192.168.0.2" and "502".

[0080] The proxy 18 relays communication data between the first communication unit 11 and the second communication unit 12 by performing termination processing of communication protocols of layer 3 or higher.

[0081] More specifically, when the proxy 18 receives an Ethernet frame output from the first NAT 16, it buffers the application layer data included in the Ethernet frame as the termination process. Then, when a predetermined size of data is accumulated, the proxy 18 combines the accumulated data and outputs an Ethernet frame storing an ACK (hereinafter also referred to as an ACK frame) to the first NAT 16.

[0082] This ACK frame includes the source address and port number before the address translation process by the first NAT 16 is performed, that is, "192.168.0.1" and "12345", and the destination address and port number, that is, "192.168.0.2" and "502".

[0083] Upon receiving the ACK frame output from the proxy 18, the first NAT 16 performs address translation processing to translate the destination address and source address of the ACK frame.

[0084] Specifically, as an address conversion process, the first NAT 16 changes the source address of the ACK frame to, for example, the IP address "192.168.0.2" of the device 151, and changes the destination address to, for example, the IP address "192.168.0.1" of the terminal device 201. Then, the first NAT 16 transmits the ACK frame that has undergone the address conversion process to the terminal device 201 via the first communication unit 11.

[0085] In this way, by the first NAT 16 performing the address conversion process, the terminal device 201 can send and receive communication data to and from the device 151 without setting a destination address that takes into account relaying by the relay devices 101A and 101B.

[0086] Furthermore, by the proxy 18 performing the above-mentioned termination process, the terminal device 201 determines that it has received an ACK for the communication data sent to the device 151, thereby preventing the terminal device 201 from retransmitting the communication data and suppressing the occurrence of congestion.

[0087] The proxy 18 also divides the combined data of the predetermined size and outputs a plurality of Ethernet frames, each including a plurality of pieces of divided data, to the second NAT 17, thereby relaying the communication data transmitted from the terminal device 201.

[0088] When the second NAT 17 receives an Ethernet frame output from the proxy 18, it performs an address translation process to translate the destination address and source address of the Ethernet frame.

[0089] Specifically, as an address conversion process, the second NAT 17 changes the source address to, for example, "192.168.0.1", the source address before the address conversion process by the first NAT 16. Also, as an address conversion process, the second NAT 17 changes the destination address to, for example, "192.168.0.2", the source address before the address conversion process by the first NAT 16. Then, the second NAT 17 outputs the Ethernet frame that has undergone the address conversion process to the second communication unit 12.

[0090] The second communication unit 12 receives the Ethernet frame output from the second NAT 17, and transmits the Ethernet frame to the relay device 101B, for example, by including the Ethernet frame in the payload portion of a frame conforming to G3-PLC.

[0091] (b-1-2) Flow of communication data to device 151 in relay device 101B When the second communication unit 12 in the relay device 101B receives a frame conforming to G3-PLC including an Ethernet frame transmitted from the relay device 101A, the second communication unit 12 obtains the Ethernet frame contained in the payload portion of the frame and outputs the Ethernet frame to the second distribution unit 14.

[0092] When the Ethernet frame received from the second communication unit 12 includes a TCP header, the second distribution unit 14 outputs the Ethernet frame to the proxy 18 via the second NAT 17 .

[0093] More specifically, when the second NAT 17 receives an Ethernet frame output from the second distribution unit 14, it performs address conversion processing to convert the destination address and source address of the Ethernet frame, and outputs the Ethernet frame after the address conversion processing to the proxy 18.

[0094] When the proxy 18 receives data of a predetermined size output from the second NAT 17 , it combines the data as the termination process, and outputs an ACK frame to the second NAT 17 .

[0095] Upon receiving the ACK frame output from the proxy 18, the second NAT 17 performs address translation processing to translate the destination address and source address of the ACK frame, and transmits the ACK frame after the address translation processing to the relay device 101A via the second communication unit 12.

[0096] The proxy 18 also divides the combined data of the predetermined size and outputs a plurality of Ethernet frames, each including a plurality of divided data, to the first NAT 16, thereby relaying the communication data transmitted from the terminal device 201.

[0097] When the first NAT 16 receives the Ethernet frame output from the proxy 18, it performs address translation processing to convert the destination address and source address of the Ethernet frame, and outputs the Ethernet frame after the address translation processing to the first communication unit 11.

[0098] The first communication unit 11 receives the Ethernet frame output from the first NAT 16 and transmits the Ethernet frame to the device 151 .

[0099] (b-2) Flow of communication data sent from equipment to terminal device An arrow B2 shown in FIG. 4 indicates the flow of communication data, which is transmitted from the device 151 to the terminal device 201 and conforms to the TCP communication protocol, through the relay devices 101A and 101B.

[0100] (b-2-1) Flow of communication data from relay device 101B to relay device 101A The operation of relay device 101B is the same as that in (b-1-1) when relay device 101A and relay device 101B are replaced with each other and when terminal device 201 and device 151 are replaced with each other, and therefore detailed description thereof will not be repeated here.

[0101] (b-2-2) Flow of communication data from relay device 101A to terminal device 201 The operation of relay device 101A is the operation when relay device 101A and relay device 101B are replaced with each other in (b-1-2), and terminal device 201 and device 151 are replaced with each other, so detailed description will not be repeated here.

[0102] Here, similar to the terminal device 201 and the device 151, the relay device 101A, after transmitting communication data to be relayed to the relay device 101B, retransmits the communication data to the relay device 101B if the upper limit of the ACK response time is exceeded and the ACK cannot be received. Similarly to the terminal device 201 and the device 151, the relay device 101B, after transmitting communication data to be relayed to the relay device 101A, retransmits the communication data to the relay device 101A if the upper limit of the ACK response time is exceeded and the ACK cannot be received. Hereinafter, the upper limit of the ACK response time is also referred to as the "ACK waiting time".

[0103] As described above, the communication speed according to G3-PLC is slower than the communication speed according to Ethernet, and ACK between relay device 101A and relay device 101B is prone to delays.

[0104] For this reason, the proxy 18 of each of the relay devices 101A and 101B uses a protocol having an ACK waiting time longer than the ACK waiting time in the communication protocol that performed the termination processing as a communication protocol of layer 3 or higher used for transmitting relayed communication data to an external device.

[0105] That is, the proxy 18 in the relay device 101A sets the ACK waiting time between the relay device 101A and the relay device 101B to a value greater than the ACK waiting time between the terminal device 201 and the relay device 101A, and relays communication data using a communication protocol of layer 3 or higher.

[0106] In addition, the proxy 18 in the relay device 101B sets the ACK waiting time between the relay device 101A and the relay device 101B to a value greater than the ACK waiting time between the device 151 and the relay device 101B, and relays communication data using a communication protocol of layer 3 or higher.

[0107] This makes it possible to prevent retransmission of communication data between relay device 101A and relay device 101B, and suppress the occurrence of congestion.

[0108] Note that proxy 18 in relay device 101A is not limited to the above configuration, and the ACK waiting time between terminal device 201 and relay device 101A may be the same as the ACK waiting time between relay device 101A and relay device 101B. Also, the ACK waiting time between device 151 and relay device 101B may be the same as the ACK waiting time between relay device 101A and relay device 101B.

[0109] Furthermore, relay device 101 may be configured not to include at least one of first distribution unit 13 and second distribution unit 14. For example, if relay device 101A does not include first distribution unit 13, first communication unit 11 outputs communication data received from terminal device 201 to first NAT 16. If relay device 101A does not include second distribution unit 14, second communication unit 12 outputs communication data received from relay device 101B to second NAT 17.

[0110] Furthermore, between the terminal device 201 and the device 151, the above-mentioned Nagle algorithm of TCP may be enabled.

[0111] <Operation flow> Next, the operation procedure of each device in the communication system 301 will be described with reference to the drawings.

[0112] Each device in the communication system 301 includes a computer including a memory, and a processor such as a CPU in the computer reads out from the memory a program including some or all of the steps of the following sequence and executes it. Each of the programs for the multiple devices can be installed from the outside. Each of the programs for the multiple devices is distributed in a state where it is stored on a recording medium.

[0113] FIG. 7 is a sequence that defines the operation procedures of each device when a terminal device transmits communication data conforming to TCP to a device in a communication system according to an embodiment of the present disclosure.

[0114] With reference to FIG. 7, a case will be described where terminal device 201 transmits communication data to device 151 via relay device 101A and relay device 101B.

[0115] Each of the terminal device 201, relay devices 101A and 101B, and device 151 performs carrier sensing according to, for example, the CSMA / CD (Carrier Sense Multiple Access with Collision Detection) method. Then, when each device confirms that no other carriers exist, it transmits communication data.

[0116] First, it is assumed that the terminal device 201 transmits, for example, a request message (req) for measurement data by the device 151 to the device 151. It is assumed that communication data indicating the request message is stored in an Ethernet frame including a TCP header (step S11).

[0117] Next, when relay device 101A receives the Ethernet frame transmitted from terminal device 201, relay device 101A transmits an ACK frame storing an ACK to terminal device 201 as a termination process of the communication protocol of layer 3 or higher (step S12).

[0118] Next, relay device 101A stores the Ethernet frame in the payload portion of a frame conforming to G3-PLC, for example, and transmits the frame to relay device 101B (step S13).

[0119] Next, when the relay device 101B receives the frame conforming to G3-PLC transmitted from the relay device 101A, the relay device 101B transmits an ACK frame to the relay device 101A as a termination process of the communication protocol of layer 3 or higher (step S14).

[0120] Next, relay device 101B acquires, for example, an Ethernet frame stored in the frame from relay device 101A, that is, an Ethernet frame in which a request message is stored, and relays the acquired Ethernet frame to device 151 (step S15).

[0121] Next, the device 151 receives the Ethernet frame transmitted from the relay device 101B and acquires the request message contained in the Ethernet frame. Then, the device 151 transmits an ACK frame to the relay device 101B (step S16).

[0122] Next, the device 151 transmits, for example, measurement data (res) to the terminal device 201 in response to the request message transmitted from the terminal device 201. It is assumed that the measurement data is stored in an Ethernet frame including a TCP header.

[0123] More specifically, the device 151 divides the measurement data into multiple pieces of data each having a predetermined size Sz1, such as a window size, and transmits the multiple pieces of divided data stored in multiple Ethernet frames. In Fig. 7, the multiple pieces of data transmitted from the device 151 are indicated as res1, res2,..., resi (where "i" is a natural number) (step S17).

[0124] Next, when relay device 101B receives an Ethernet frame transmitted from device 151, relay device 101B buffers, for example, application layer data included in the received Ethernet frame.

[0125] Then, when data equal to or larger than the predetermined size Sz1 is accumulated, the relay device 101B transmits an ACK frame to the device 151 as a termination process of the communication protocol of layer 3 or higher (step S18).

[0126] The transmission of the Ethernet frame from device 151 to relay device 101B (step S17) and the transmission of the ACK frame from relay device 101B to device 151 (step S18) are repeated until the transmission of the application layer data is completed.

[0127] Next, the relay device 101B relays the measurement data received from the device 151. More specifically, when data of a predetermined size Sz2 is accumulated, the relay device 101B combines the accumulated data. The relay device 101B also divides the combined data into multiple pieces of data of the predetermined size Sz2, stores the multiple pieces of divided data in multiple frames conforming to G3-PLC, and transmits them to the relay device 101A. In FIG. 7, the multiple frames transmitted from the relay device 101B are indicated as resB1, resB2, . . . , resBj ("j" is a natural number) (step S19).

[0128] Here, it is assumed that the predetermined size Sz2 is smaller than the size Sz1 of the data stored in the Ethernet frame from device 151 to relay device 101B.

[0129] Next, when relay device 101A receives frames conforming to G3-PLC transmitted from relay device 101B, relay device 101A buffers, for example, application layer data included in each of the received frames.

[0130] Then, when data equal to or larger than the predetermined size Sz2 is accumulated, the relay device 101A transmits an ACK frame to the relay device 101B as a termination process of the communication protocol of layer 3 or higher (step S20).

[0131] For example, when relay device 101B receives an ACK frame from relay device 101A within a predetermined time from the transmission of frame "resB1", it transmits frame "resB2" to relay device 101A. The transmission of the frame from relay device 101B to relay device 101A (step S19) and the transmission of the ACK frame from relay device 101A to relay device 101B (step S20) are repeated until the transmission of the application layer data is completed.

[0132] Next, relay device 101A performs the same operation as relay device 101B, thereby relaying the measurement data received from relay device 101B.

[0133] More specifically, when data of a predetermined size Sz3 is accumulated, relay device 101A combines the accumulated data. Furthermore, relay device 101A divides the combined data into a plurality of data of the predetermined size Sz3, and transmits, for example, a plurality of Ethernet frames each including a plurality of divided data to terminal device 201. In Fig. 7, the plurality of Ethernet frames transmitted from relay device 101A are indicated as resA1, resA2,...,resAk (where "k" is a natural number) (step S21).

[0134] Here, the predetermined size Sz3 is the same as the size Sz1 of the data stored in the Ethernet frame from device 151 to relay device 101B, or is approximately the same value.

[0135] Next, when the terminal device 201 receives the Ethernet frame transmitted from the relay device 101A, the terminal device 201 transmits an ACK to the relay device 101A (step S22).

[0136] The transmission of a frame from relay device 101A to terminal device 201 (step S21) and the transmission of an ACK frame from terminal device 201 to relay device 101A (step S22) are repeated until terminal device 201 has acquired all of the application layer data.

[0137] <Modification> Referring again to FIG. 4, when proxy 18 receives specific communication data that requires an ACK, it may be configured to perform a protocol conversion process to relay the specific communication data according to a protocol at layer 3 or higher that does not require an ACK and is different from the protocol of the specific communication data.

[0138] [Protocol conversion process details] Here, an application that requires a real-time response may be used in the terminal device 201 or the device 151. In this case, the communication data used for the application can be distinguished from other communication data by, for example, adding a PSH (push) flag or the like to the TCP header.

[0139] Assume that the proxy 18 receives specific communication data that conforms to TCP and has a PSH flag attached to it. In this case, the proxy 18 performs protocol conversion processing to transmit the communication data according to a communication protocol other than TCP that does not require ACK, such as UDP.

[0140] FIG. 8 is a diagram illustrating an example of a format of communication data after a protocol conversion process is performed by a proxy in a relay device according to a modified example of the embodiment of the present disclosure.

[0141] Referring to FIG. 8, for example, proxy 18 in relay device 101A extracts the data portion from the Ethernet frame received from first NAT 16, adds an IPv6 header and a UDP header, and transmits the data to device 151 via second NAT 17, second communication unit 12, and relay device 101B.

[0142] In this way, by proxy 18 converting communication data conforming to TCP into communication data conforming to a communication protocol such as UDP that does not require ACK and outputting the converted data, exchange of ACK between relay device 101A and relay device 101B becomes unnecessary. This makes it possible to more effectively prevent congestion from occurring between relay device 101A and relay device 101B.

[0143] [Process to return communication protocol] When one of relay device 101A and relay device 101B performs a protocol conversion process, i.e., when communication data conforming to TCP is converted into communication data conforming to a communication protocol that does not require ACK, the communication data is converted again into communication data conforming to TCP by the other of relay device 101A and relay device 101B.

[0144] More specifically, it is assumed that the proxy 18 in the relay device 101A performs a protocol conversion process. In this case, the second communication unit 12 in the relay device 101B receives the communication data transmitted from the relay device 101A and outputs the communication data to the second distribution unit 14.

[0145] The second distribution unit 14, for example, checks the format of the communication data received from the second communication unit 12 to determine the output destination of the communication data.

[0146] Fig. 9 is a diagram illustrating an example of a format of communication data received by a relay device according to an embodiment of the present disclosure. More specifically, Fig. 9 illustrates a format of communication data received by relay device 101B, which has not been subjected to protocol conversion processing by proxy 18 in relay device 101A.

[0147] 8 and 9, the communication data shown in FIG. 8 and the communication data shown in FIG. 9 both include a UDP header, but have different formats.

[0148] If the second distribution unit 14 confirms that the acquired communication data includes a UDP header, as shown in FIG. 9, and is in a format for which protocol conversion processing has not been performed in other relay devices 101, the second distribution unit 14 outputs the communication data to the bridge 15.

[0149] On the other hand, if the second distribution unit 14 confirms that the acquired Ethernet frame is in a format in which protocol conversion processing has been performed in another relay device 101, as shown in Figure 8, it outputs the communication data to the second NAT 17.

[0150] When the second NAT 17 receives the communication data output from the second distribution unit 14, it performs the above-mentioned address conversion process on the communication data and outputs it to the proxy 18.

[0151] When the proxy 18 receives the communication data output from the second NAT 17, it performs a process of changing the communication protocol of the communication data back to TCP. For example, the proxy 18 adds an IPv4 header and a TCP header to the data portion included in the communication data, and transmits the data to the terminal device 201 via the first NAT 16 and the first communication unit 11.

[0152] Meanwhile, there is a demand for a technique that goes beyond the packet relay device described in Patent Document 1 and that allows for more stable relay of communication data between devices.

[0153] In contrast to this, the network relay device and network relay method according to the embodiments of the present disclosure, with the configuration and method described above, are able to more stably relay communication data between devices.

[0154] The above-described embodiments should be considered as illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not by the above description, and is intended to include all modifications within the meaning and scope of the claims.

[0155] The above description includes the following additional features. [Appendix 1] a first communication unit for transmitting and receiving communication data to and from a first external device in accordance with a first communication protocol of layer 2; a second communication unit that transmits and receives communication data to and from a second external device in accordance with a second communication protocol of Layer 2; a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol; moreover, A network relay device comprising: a proxy that relays communication data by performing termination processing of a communication protocol of layer 3 or higher between the first communication unit and the second communication unit, the first communication protocol is Ethernet; the second communication protocol is G3-PLC; The proxy is a network relay device that, when relaying communication data conforming to TCP, transmits, as the termination process, an ACK to the first external device or the second external device that is a source of the communication data. [Explanation of symbols]

[0156] 11 First Communications Department 12 2nd Communications Department 13 First Division 14 Second Distribution Section 15 Bridge 16 1st NAT 17 2nd NAT 18 Proxy 101, 101A, 101B Relay device (network relay device) 120 Cable 121 Power Lines 151 Equipment 201 Terminal Equipment 301 Communication Systems

Claims

1. A first communication unit that transmits and receives communication data to and from a first external device according to a first communication protocol of layer 2; a second communication unit for transmitting and receiving communication data to and from a second external device in accordance with a second communication protocol of layer 2; a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol; moreover, a proxy that relays communication data by performing termination processing of a communication protocol of layer 3 or higher between the first communication unit and the second communication unit; the first communication unit is capable of transmitting and receiving communication data to and from the first external device in accordance with a third communication protocol of layer 3 or higher that requires an ACK or a fourth communication protocol of layer 3 or higher that does not require an ACK; moreover, a distribution unit that outputs communication data conforming to the third communication protocol to the proxy and outputs communication data conforming to the fourth communication protocol to the second communication unit, among the communication data received by the first communication unit.

2. a first communication unit for transmitting and receiving communication data to and from a first external device in accordance with a first communication protocol of layer 2; a second communication unit for transmitting and receiving communication data to and from a second external device in accordance with a second communication protocol of layer 2; a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol; moreover, a proxy that relays communication data by performing termination processing of a communication protocol of layer 3 or higher between the first communication unit and the second communication unit; the second communication unit is capable of transmitting and receiving communication data conforming to a third communication protocol of layer 3 or higher that requires an ACK or a fourth communication protocol of layer 3 or higher that does not require an ACK, with the second external device; moreover, a distribution unit that outputs communication data conforming to the third communication protocol to the proxy and outputs communication data conforming to the fourth communication protocol to the first communication unit, of the communication data received by the second communication unit.

3. 3. The network relay device according to claim 1, wherein a Nagle algorithm of TCP (Transmission Control Protocol) is disabled in communication between the first external device and the second external device according to the third communication protocol.

4. 4. The network relay device according to claim 1, wherein when the proxy receives specific communication data requiring an ACK (Acknowledgement) from the distribution unit, the proxy relays the specific communication data in accordance with a communication protocol that is a layer 3 or higher communication protocol and does not require an ACK, which is different from the communication protocol of the specific communication data.

5. 5. A network relay device according to claim 1, wherein the proxy uses, as a layer 3 or higher communication protocol for transmitting relayed communication data to the second external device, a protocol in which an upper limit value of an ACK response time is greater than an upper limit value of an ACK response time in the communication protocol that performed the termination processing.

6. A network relay method in a network relay device, comprising: receiving communication data from a first external device according to a first layer 2 communication protocol; relaying communication data received from the first external device to a second external device in accordance with a second communication protocol of layer 2; a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol; In the step of receiving the communication data from a first external device, the communication data is received from the first external device according to a third communication protocol of layer 3 or higher that requires an ACK or a fourth communication protocol of layer 3 or higher that does not require an ACK; A network relay method, in which, in the step of relaying to the second external device, termination processing of the third communication protocol is performed on communication data received from the first external device that conforms to the third communication protocol, and termination processing of the fourth communication protocol is not performed on communication data that conforms to the fourth communication protocol.

7. A network relay program for use in a network relay device, comprising: Computer, a first communication unit for transmitting and receiving communication data to and from a first external device in accordance with a first communication protocol of layer 2; a second communication unit for transmitting and receiving communication data to and from a second external device in accordance with a second communication protocol of layer 2; a proxy that relays communication data by performing termination processing of a communication protocol of layer 3 or higher between the first communication unit and the second communication unit; It is a program to function as a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol; the first communication unit is capable of transmitting and receiving communication data to and from the first external device in accordance with a third communication protocol of layer 3 or higher that requires an ACK or a fourth communication protocol of layer 3 or higher that does not require an ACK; In addition, the computer a distribution unit that outputs communication data conforming to the third communication protocol to the proxy and outputs communication data conforming to the fourth communication protocol to the second communication unit, among the communication data received by the first communication unit; A network relay program that functions as a

8. A network relay program for use in a network relay device, Computer, a first communication unit for transmitting and receiving communication data to and from a first external device in accordance with a first communication protocol of layer 2; a second communication unit for transmitting and receiving communication data to and from a second external device in accordance with a second communication protocol of layer 2; a proxy that relays communication data by performing termination processing of a communication protocol of layer 3 or higher between the first communication unit and the second communication unit; It is a program to function as a communication speed according to the second communication protocol is slower than a communication speed according to the first communication protocol; the second communication unit is capable of transmitting and receiving communication data conforming to a third communication protocol of layer 3 or higher that requires an ACK or a fourth communication protocol of layer 3 or higher that does not require an ACK, with the second external device; In addition, the computer a distribution unit that outputs communication data conforming to the third communication protocol to the proxy and outputs communication data conforming to the fourth communication protocol to the first communication unit, among the communication data received by the second communication unit; A network relay program that functions as a

Citation Information

Patent Citations

  • Techniques for improving tcp performance over the air interface by providing dual proxy devices

    JP2004533138A

  • Protocol conversion server

    JP2006014144A

  • Packet relay device

    JP2007531353A

  • TCP relay device

    JP2013229834A

  • Portable terminal device, control method of portable terminal device, communication system, communication device, control method of communication device

    JP2013258770A