Data communication system, data communication method, and data communication program
The data communication system addresses the load increase issue in conventional systems by using address conversion without encapsulation, facilitating efficient two-way data communication.
Patent Information
- Application Number
- JP2024004601
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-16
- Publication Date
- 2025-07-29
AI Technical Summary
Conventional data communication systems increase communication and processing loads due to encapsulation of data with header information, hiding route selection and interface address changes from end nodes.
A data communication system utilizing first and second communication nodes with multiple interfaces, performing address conversions without encapsulating data, thereby hiding processing such as route selection and interface address change from end nodes.
Suppresses the increase in load associated with data communication by performing address conversion processing without encapsulation, enabling efficient two-way data communication.
Smart Images

Figure 2025110651000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to, for example, a data communication system that performs data communication between a client and a server, a data communication method used in the data communication system, and a data communication program executed by a computer in the data communication system.
Background Art
[0002] For example, Patent Document 1 discloses a system that performs data communication between a mobile network node as a client and a response node as a server. In this system, data communication between the mobile network node and the response node is relayed by a mobile router and a home agent.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In a conventional system configuration as disclosed in Patent Document 1, between a mobile router and a home agent, data is encapsulated by adding header information including a source address and a destination address. Thereby, for end nodes such as a mobile network node and a response node, data communication can be performed while hiding processing such as route selection of data communication and address change of an interface.
[0005] However, according to the above-described encapsulation process, with the addition of header information, the communication overhead, that is, the communication load increases, and the processing load of the mobile router and the home agent also increases.
[0006] The present disclosure provides a data communication system, a data communication method, and a data communication program that can perform data communication that hides processing such as routing and interface address change from an end node without encapsulating data, and can suppress an increase in load associated with data communication.
Means for Solving the Problems
[0007] A data communication system 10 according to the present disclosure includes a first communication node 40 having a plurality of communication interfaces 40A and 40B and capable of sending data to a target node 30 via any one of the plurality of communication interfaces selected therefrom, and a second communication node 50 capable of sending data to the first communication node with any one of the plurality of communication interfaces selected therefrom as a destination. The first communication node has a first conversion processing unit 41 that converts the source address of the data to be sent to the target node into the address of the second communication node. The second communication node has a second conversion processing unit 51 that converts the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected therefrom.
[0008] A data communication method according to the present disclosure is a method used in a data communication system 10 including a first communication node 40 having a plurality of communication interfaces 40A and 40B and capable of sending data to a target node 30 via any one of the plurality of communication interfaces selected therefrom, and a second communication node 50 capable of sending data to the first communication node with any one of the plurality of communication interfaces selected therefrom as a destination. The method includes, at the first communication node, a first conversion process of converting the source address of the data to be sent to the target node into the address of the second communication node, and, at the second communication node, a second conversion process of converting the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected therefrom.
[0009] The data communication program according to the present disclosure is a program executed by a computer in a data communication system 10 including a first communication node 40 having a plurality of communication interfaces 40A and 40B and capable of sending data to a target node 30 via any one of the plurality of communication interfaces, and a second communication node 50 capable of sending data to the first communication node using any one of the plurality of communication interfaces as a destination. In the first communication node, a first conversion process for converting the source address of the data to be sent to the target node into the address of the second communication node, and in the second communication node, a second conversion process for converting the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces are executed by the computer.
[0010] According to the data communication system 10, data communication method, and data communication program of the present disclosure, two-way data communication can be performed by utilizing address conversion processing without encapsulating data and hiding processing such as route selection and interface address change from the end node. Therefore, an increase in the load associated with data communication can be suppressed compared to the prior art that encapsulates data.
Brief Description of the Drawings
[0011]
Figure 1
Figure 2
Figure 3
Modes for Carrying Out the Invention
[0012] Hereinafter, a plurality of embodiments of the data communication system, data communication method, and data communication program according to the present disclosure will be described with reference to the drawings. In the plurality of embodiments, substantially the same elements are denoted by the same reference numerals, and the description thereof will be omitted. In the present disclosure, "transmission" of data is a concept including both transmission and transfer of data.
[0013] (First Embodiment) The data communication system 10 illustrated in FIG. 1 is a system that performs data communication between an application client 20 and an application server 30. The application client 20 requests processing by an application from the application server 30. The application server 30 executes processing by the application in response to a request from the application client 20 and provides the result to the application client 20.
[0014] The application server 30 is an example of a target node that is the destination of data sent by the application client 20. The data communication system 10 includes a relay client 40 and a relay server 50 between the application client 20 and the application server 30. According to the data communication system 10, data communication between the application client 20 and the application server 30 is relayed by the relay client 40 and the relay server 50.
[0015] The relay client 40 is an example of a first communication node. The relay client 40 has a plurality of communication interfaces 40A, 40B. Information indicating what communication interfaces the relay client 40 is equipped with is shared with the relay server 50 in advance. The number of communication interfaces provided in the relay client 40 is not limited to two, and may be three or more. In the present disclosure, for convenience of explanation, two communication interfaces 40A, 40B are shown.
[0016] The relay client 40 can send data to the application server 30 via any communication interface selected from a plurality of communication interfaces 40A and 40B. The relay client 40 is mainly composed of a computer (not shown) that controls the overall operation of the relay client 40. The relay client 40 virtually realizes the NAPT processing unit 41 in software by executing a data communication program on this computer. The NAPT processing unit 41 may be composed of hardware or a combination of software and hardware.
[0017] The NAPT processing unit 41 is an example of a first conversion processing unit, and by performing NAPT processing, which is an example of the first conversion processing, it converts the source address of the data to be sent to the application server 30 into the address of the relay server 50. As is well known, NAPT (Network Address Port Translation) is a process of converting a local address and a global address, and by also converting the TCP / UDP port number, one global address can be shared by multiple terminals.
[0018] The relay server 50 is an example of a second communication node. The relay server 50 has previously grasped in advance, through information sharing or the like, what kind of communication interface the relay client 40 has. The relay server 50 can send data to the relay client 40 with any communication interface selected from a plurality of communication interfaces 40A and 40B as the destination. The relay server 50 is mainly composed of a computer (not shown) that controls the overall operation of the relay server 50. The relay server 50 virtually realizes the NAT processing unit 51 in software by executing a data communication program on this computer. The NAT processing unit 51 may be composed of hardware or a combination of software and hardware.
[0019] The NAT processing unit 51 is an example of a second conversion processing unit, and performs NAT processing, which is an example of the second conversion processing, to convert the destination address of the data received from the application server 30 into the address of any one of the selected communication interfaces from among the plurality of communication interfaces 40A and 40B. As is well known, NAT (Network Address Translation) is a process of converting a local address and a global address.
[0020] Next, the data communication flow by the data communication system 10 will be described. The application client 20 stores in advance its own local address ACP and the global address ASG of the application server 30. The application client 20 generates packet data D1 (ACP→ASG) with its own local address ACP as the source address and the global address ASG of the application server 30 as the destination address, and sends it to the relay client 40.
[0021] The relay client 40 that has received the packet data D1 (ACP→ASG) from the application client 20 generates, by the NAPT processing unit 41, packet data D2 (RSG→ASG) in which the source address ACP of the received packet data D1 (ACP→ASG) is converted into the global address RSG of the relay server 50. The relay client 40 sends the generated packet data D2 (RSG→ASG) to the application server 30.
[0022] At this time, the relay client 40 also performs a process of selecting either the communication interface 40A or the communication interface 40B as the communication interface for transferring the packet data D2 received at its own local address RCP. That is, the relay client 40 selects any one of the plurality of communication interfaces 40A and 40B and sends the packet data D2 (RSG→ASG) to the application server 30.
[0023] The application server 30 that has received the packet data D2 (RSG→ASG) from the relay client 40 executes processing by the application. Then, the application server 30 generates return packet data D3 (RSG←ASG) with the source specified by the received packet data D2 (RSG→ASG), that is, the relay server 50, as the destination. The application server 30 sends the generated packet data D3 (RSG←ASG) to the relay server 50.
[0024] The relay server 50 that has received the packet data D3 (RSG←ASG) from the application server 30 generates, by the NAT processing unit 51, packet data in which the destination address of the packet data D3 (RSG←ASG) is converted to the global address of the communication interface selected from the plurality of communication interfaces 40A and 40B. That is, when the relay server 50 selects the communication interface 40A, for example, it generates packet data D4 (RCG(1)←ASG), and when it selects the communication interface 40B, for example, it generates packet data D5 (RCG(2)←ASG). The relay server 50 sends the generated packet data D4 (RCG(1)←ASG) or packet data D5 (RCG(2)←ASG) to the relay client 40.
[0025] The relay client 40 that has received the packet data D4 (RCG(1)←ASG) or packet data D5 (RCG(2)←ASG) from the relay server 50 generates, by the NAPT processing unit 41, packet data D6 (ACP←ASG) in which the destination address of the received packet data D4 (RCG(1)←ASG) or packet data D5 (RCG(2)←ASG) is converted to the local address ACP of the application client 20 and sends it to the application client 20.
[0026] According to the first embodiment, the relay client 40 has a plurality of communication interfaces 40A and 40B, and can send data to the application server 30 via any one of the plurality of communication interfaces 40A and 40B selected therefrom. At the time of this transmission, the relay client 40 converts the source address of the data to be sent to the application server 30 into the address of the relay server 50 by the NAPT processing unit 41.
[0027] The relay server 50 can send data to the relay client 40 with any one of the plurality of communication interfaces 40A and 40B selected as the destination. At the time of this transmission, the relay server 50 converts the destination address of the data received from the application server 30 into the address of any one of the plurality of communication interfaces 40A and 40B selected by the NAT processing unit 51.
[0028] According to this embodiment, it is possible to perform two-way data communication that hides processing such as route selection and interface address change from the end node by utilizing address conversion processing by NAPT or NAT without encapsulating the data. Therefore, compared with the conventional technology that encapsulates data, an increase in the load associated with data communication can be suppressed.
[0029] (Second Embodiment) According to the data communication system 10 illustrated in FIG. 2, the relay server 50 converts the destination address of the data that satisfies a predetermined condition among the packet data D3 (RSG←ASG) received from the application server 30 into the address of any one of the plurality of communication interfaces 40A and 40B by the NAT processing unit 51.
[0030] In this embodiment, as a predetermined condition, a condition of "being within a predetermined port range" is set. Therefore, the relay server 50 performs NAT processing only on the data in the packet data D3 (RSG←ASG) received from the application server 30 whose port number is "within the predetermined port range". Also, for the data in the packet data D3 (RSG←ASG) received from the application server 30 whose port number is not "within the predetermined port range", the relay server 50 terminates the data and does not send it to the relay client 40.
[0031] Note that different numbers are assigned to the plurality of applications that the application server 30 can execute for each application, and it serves as information indicating which application the application executed on the application server 30 is. Therefore, according to this embodiment, when the application executed on the application server 30 is a predetermined application, the execution result data is provided to the relay client 40 and thus to the application client 20. On the other hand, when the application executed on the application server 30 is not a predetermined application, the execution result data is not provided to the relay client 40 and thus to the application client 20, and is terminated at the relay server 50.
[0032] The information indicating the predetermined condition is always shared between the relay client 40 and the relay server 50. The information indicating the predetermined condition is, for example, updated to the latest information regularly.
[0033] Even with this embodiment, without encapsulating data, it is possible to perform bidirectional data communication that hides processing such as route selection and interface address change from the end node by utilizing address translation processing, and it is possible to suppress an increase in the load associated with data communication. Further, in the relay server 50, since only the packet data D3 (RSG←ASG) that satisfies a predetermined condition is address-translated, it is possible to reduce the processing load of address translation in the relay server 50. Also, the surplus capacity of the relay server 50 generated thereby can be utilized for processing other than address translation. Note that the predetermined condition is not limited to the condition of "being within a predetermined port range" described above, and other conditions may be set.
[0034] (Third Embodiment) According to the data communication system 10 illustrated in FIG. 3, the relay client 40 can convert the source address of the data to be sent to the application server 30 by the NAPT processing unit 41 into the address of any one of the communication interfaces selected from the plurality of communication interfaces 40A and 40B, rather than the address of the relay server 50.
[0035] That is, the relay client 40 generates packet data in which the source address ACP of some of the packet data D1 (ACP→ASG) received from the application client 20 is converted into the global address of the communication interface selected from the plurality of communication interfaces 40A and 40B.
[0036] However, the relay client 40 generates packet data having the address of any one of the communication interfaces as the source address, whether the communication interface 40A is selected or the communication interface 40B is selected. In the example of FIG. 3, the relay client 40 generates packet data D2 (RCG(2)→ASG) having the communication interface 40B as the source.
[0037] The relay client 40 sends the generated packet data D2 (RCG(2)→ASG) to the application server 30. The application server 30 that has received the packet data D2 (RCG(2)→ASG) from the relay client 40 executes processing by the application. Then, the application server 30 generates packet data D3 (RCG(2)←ASG) for return with the source specified by the received packet data D2 (RCG(2)→ASG) as the destination and sends it to the relay client 40.
[0038] The relay client 40 that has received the packet data D3 (RCG(2)←ASG) from the application server 30 generates, by the NAPT processing unit 41, packet data D6 (ACP←ASG) in which the destination address of the received packet data D3 (RCG(2)←ASG) is converted to the local address ACP of the application client 20 and sends it to the application client 20.
[0039] Also according to this embodiment, it is possible to perform two-way data communication that hides processing such as route selection and interface address change from the end node by utilizing address conversion processing without encapsulating the data, and it is possible to suppress an increase in the load associated with data communication. Further, for some of the data received by the relay client 40 from the application client 20, data communication can be performed without passing through the relay server 50. Therefore, in particular, an increase in the processing load on the relay server 50 can be suppressed.
[0040] In addition, data sent from the relay client 40 to the application server 30 without setting the address of the relay server 50 as the source address may be, for example, data that does not require processing in the relay server 50, which may be determined in advance, or may be dynamically changed according to various network environment conditions such as the processing load situation in the relay server 50, the data transmission and reception situation in the communication line, and requests from the application. The relay client 40 shares the information necessary to determine whether to perform data communication in which the reply packet passes through the relay server 50 or data communication in which the reply packet does not pass through the relay server 50, that is, without selecting the reply path. The information is updated to the latest information, for example, periodically.
[0041] (Other Embodiments) The present disclosure is not limited to the above-described embodiment, and can be appropriately modified or extended without departing from the gist thereof. For example, the application client 20, the application server 30, the relay client 40, and the relay server 50 may each be one or plural. The data communication system 10 may have a configuration in which other nodes are interposed between the application client 20 and the relay client 40, between the relay client 40 and the relay server 50, and between the relay server 50 and the application server 30.
[0042] It should be understood that although the present disclosure has been described based on the embodiments, the present disclosure is not limited to the embodiments or structures. The present disclosure also includes various modifications and modifications within the equivalent scope. In addition, various combinations and forms, and further other combinations and forms including only one element, more than one element, or less than one element thereof, fall within the scope and thinking scope of the present disclosure.
[0043] In addition, the control unit and its method described in the present disclosure may be implemented by a dedicated computer configured by a processor and a memory programmed to execute one or more functions embodied by a computer program. Alternatively, the control unit and its method described in the present disclosure may be implemented by a dedicated computer provided by configuring a processor with one or more dedicated hardware logic circuits. Or, the control unit and its method described in the present disclosure may be implemented by one or more dedicated computers configured by a combination of a processor and a memory programmed to execute one or more functions and a processor configured by one or more hardware logic circuits. Further, the computer program may be stored in a computer-readable non-transitory tangible storage medium as instructions executable by a computer.
[0044] In addition to the invention described in the claims, the present disclosure further includes the following inventions.
[0045] [1] A first communication node (40) having a plurality of communication interfaces (40A, 40B) and capable of sending data to a target node (30) via any one of the plurality of communication interfaces selected therefrom, A second communication node (50) capable of sending data to the first communication node with any one of the plurality of communication interfaces as a destination, A data communication system (10) comprising: The first communication node has a first conversion processing unit (41) that converts the source address of the data to be sent to the target node into the address of the second communication node, The second communication node has a second conversion processing unit (51) that converts the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces.
[0046] [2] The second communication node converts, by the second conversion processing unit, the destination address of the data received from the target node and satisfying a predetermined condition into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces. The data communication system according to [1].
[0047] [3] The first communication node can also convert, by the first conversion processing unit, the source address of the data to be sent to the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces instead of the address of the second communication node. The data communication system according to [1] or [2].
[0048] [4] A first communication node (40) having a plurality of communication interfaces (40A, 40B) and capable of sending data to a target node (30) via any one of the plurality of communication interfaces selected from the plurality of communication interfaces, A second communication node (50) capable of sending data to the first communication node with any one of the plurality of communication interfaces selected from the plurality of communication interfaces as the destination, A method used in a data communication system (10) comprising: At the first communication node, a first conversion process of converting the source address of the data to be sent to the target node into the address of the second communication node; At the second communication node, a second conversion process of converting the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces; A data communication method including:
[0049] [5] In the second communication node, in the second conversion process, the destination address of the data received from the target node that satisfies a predetermined condition is converted into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces [4]. The data communication method described above.
[0050] [6] In the first communication node, in the first conversion process, it is also possible to convert the source address of the data to be sent to the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces, rather than the address of the second communication node. The data communication method described in [4] or [5].
[0051] [7] A first communication node (40) having a plurality of communication interfaces (40A, 40B) and capable of sending data to a target node (30) via any one of the plurality of communication interfaces selected from the plurality of communication interfaces, A second communication node (50) capable of sending data to the first communication node using any one of the plurality of communication interfaces selected from the plurality of communication interfaces as a destination, A program executed by a computer in a data communication system (10) including: In the first communication node, a first conversion process of converting the source address of the data to be sent to the target node into the address of the second communication node; In the second communication node, a second conversion process of converting the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces; A data communication program that causes the computer to execute the above processes.
[0052] [8] In the second communication node, in the second conversion process, for the data received from the target node that satisfies a predetermined condition, the destination address is converted to the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces. The data communication program according to [7].
[0053] [9] In the first communication node, in the first conversion process, it is also possible to convert the source address of the data to be sent to the target node to the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces, rather than the address of the second communication node. The data communication program according to [7] or [8].
Explanation of Signs
[0054] In the drawings, 10 is a data communication system, 30 is an application server (target node), 40 is a relay client (first communication node), 40A and 40B are communication interfaces, 41 is a NAPT processing unit (first conversion processing unit), 50 is a relay server (second communication node), and 51 is a NAT processing unit (second conversion processing unit).
Claims
1. A first communication node (40) having a plurality of communication interfaces (40A, 40B) and capable of sending data to a target node (30) via any one of the plurality of communication interfaces selected therefrom, A second communication node (50) capable of sending data to the first communication node with any one of the plurality of communication interfaces selected therefrom as a destination, A data communication system (10) comprising: The first communication node has a first conversion processing unit (41) that converts the source address of the data to be sent to the target node into the address of the second communication node, The second communication node has a second conversion processing unit (51) that converts the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected therefrom. A data communication system.
2. The data communication system according to claim 1, wherein the second communication node, by the second conversion processing unit, converts the destination address of the data received from the target node that satisfies a predetermined condition into the address of any one of the plurality of communication interfaces selected therefrom.
3. The data communication system according to claim 1, wherein the first communication node can also convert, by the first conversion processing unit, the source address of the data to be sent to the target node into the address of any one of the plurality of communication interfaces selected therefrom instead of the address of the second communication node.
4. A method used in a data communication system (10) comprising a first communication node (40) having a plurality of communication interfaces (40A, 40B) and capable of sending data to a target node (30) via any one of the plurality of communication interfaces selected therefrom, and a second communication node (50) capable of sending data to the first communication node with any one of the plurality of communication interfaces selected therefrom as a destination, In the first communication node, a first conversion process of converting the source address of the data to be sent to the target node into the address of the second communication node, In the data communication system (10) comprising: In the first communication node, a first conversion process of converting the source address of the data to be sent to the target node into the address of the second communication node, In the second communication node, a second conversion process of converting the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces; A data communication method including the above.
5. The data communication method according to claim 4, wherein in the second communication node, in the second conversion process, the destination address of the data that satisfies a predetermined condition among the data received from the target node is converted into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces.
6. The data communication method according to claim 4, wherein in the first communication node, in the first conversion process, it is also possible to convert the source address of the data to be sent to the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces, rather than the address of the second communication node.
7. A first communication node (40) having a plurality of communication interfaces (40A, 40B) and capable of sending data to a target node (30) via any one of the plurality of communication interfaces selected from the plurality of communication interfaces; A second communication node (50) capable of sending data to the first communication node with any one of the plurality of communication interfaces selected from the plurality of communication interfaces as the destination; A program executed by a computer in a data communication system (10) including the above, In the first communication node, a first conversion process of converting the source address of the data to be sent to the target node into the address of the second communication node; In the second communication node, a second conversion process of converting the destination address of the data received from the target node into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces; A data communication program for causing the computer to execute the above.
8. The data communication program according to claim 7, wherein in the second communication node, in the second conversion process, the destination address of the data that satisfies a predetermined condition among the data received from the target node is converted into the address of any one of the plurality of communication interfaces selected from the plurality of communication interfaces.
9. The data communication program according to claim 7, wherein in the first communication node, in the first conversion process, it is also possible to convert the transmission source address of the data to be sent to the target node to the address of any communication interface selected from the plurality of communication interfaces, rather than the address of the second communication node.
Citation Information
Patent Citations
Data communication system, communication device, and communication program thereof
JP2005210671A