[go: up one dir, main page]

WO2024247165A1 - Relay device, relay method, and program - Google Patents

Relay device, relay method, and program Download PDF

Info

Publication number
WO2024247165A1
WO2024247165A1 PCT/JP2023/020280 JP2023020280W WO2024247165A1 WO 2024247165 A1 WO2024247165 A1 WO 2024247165A1 JP 2023020280 W JP2023020280 W JP 2023020280W WO 2024247165 A1 WO2024247165 A1 WO 2024247165A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
relay device
packet
relay
terminal
Prior art date
Application number
PCT/JP2023/020280
Other languages
French (fr)
Japanese (ja)
Inventor
宏紀 岩澤
和宏 徳永
琢也 東條
聖矢 小松
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2023/020280 priority Critical patent/WO2024247165A1/en
Publication of WO2024247165A1 publication Critical patent/WO2024247165A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Definitions

  • the present invention relates to a communication system in which multiple terminals (applications) communicate using one or more transport protocols over multiple networks.
  • the present invention has been made in consideration of the above points, and aims to provide a technology that makes it possible to improve the efficiency of resource usage in a communication system in which communication is carried out between terminals using one or more transport protocols.
  • a relay device constituting a communication system including a plurality of relay devices connected to one or more networks, the relay device comprising: an address management unit that registers at least a sending address and a receiving address for communication between terminals; an address translation unit that translates the destination address of a packet received from a terminal; a transport unit that receives a packet after destination address translation from the address translation unit and transfers data of the packet using a transport connection between relay devices by referring to the address management unit.
  • the disclosed technology makes it possible to improve the efficiency of resource usage in a communication system in which terminals communicate with each other using one or more transport protocols.
  • FIG. 1 illustrates an example of the configuration of a communication system.
  • FIG. 2 is a diagram illustrating an example of the configuration of a relay device 10.
  • FIG. 11 is a sequence diagram showing a transfer start method for TCP communication.
  • FIG. 11 is a sequence diagram showing a transfer method 1 of UDP communication.
  • FIG. 11 is a sequence diagram showing a transfer method 2 of UDP communication.
  • FIG. 11 is a sequence diagram showing a transfer method for IP communication.
  • 1 is a flowchart showing a transfer switching method for UDP and IP communication.
  • FIG. 11 is a sequence diagram of UDP transfer using a logical path.
  • FIG. 11 is a diagram illustrating a configuration example of a communication system according to a second embodiment.
  • FIG. 11 is a sequence diagram according to the second embodiment.
  • FIG. 2 illustrates an example of a hardware configuration of the apparatus.
  • Prior art 1 is a technique disclosed in Non-Patent Document 1.
  • MASQUE prior art 1 is a mechanism for proxying streams and datagram communications encrypted using HTTP, and is being discussed in the IETF standardization working group.
  • MASQUE uses the HTTP CONNECT method, which includes destination information, and an HTTP/3 proxy that receives a forwarding request from a client forwards the QUIC stream frame or datagram frame to the original destination (TCP or UDP is used in the case of HTTP/2 and earlier).
  • Prior art 2 is a technique disclosed in Non-Patent Document 2.
  • Prior art 2 specifies the following methods 1 and 2 as tunneling methods using QUIC.
  • Method 1 The source packet is stored directly in the payload of the datagram frame. There is no specific specification for the signaling method.
  • Method 2 The protocol type and a 2-byte tag are added to the beginning of the datagram frame, and the source packet is stored. Examples of tag usage include timestamps and packet numbers.
  • Prior art 2 also specifies how multiple paths can participate in a session.
  • Each terminal must manage connections using QUIC, MPTCP, etc., which means that quality management and congestion control for multiple lines must be performed separately, resulting in inefficient use of computing resources and networks.
  • this communication system includes relay device 10-1 and relay device 10-2.
  • Relay device 10-1 and relay device 10-2 are connected via multiple networks 20-1 to 20-m.
  • networks 20-1 to 20-2 connected to relay device 10-1 are connected to wide area network 30-1, and wide area network 30-1 is connected to relay device 10-2.
  • Terminals 1 to n are connected to relay device 10-1, and terminals 1' to n' are connected to relay device 10-2.
  • terminals 1 to n communicate with terminals 1' to n' via relay device 10-1, one or more networks, and relay device 10-2.
  • the terminals and relay devices may be virtualized and provided in the same physical terminal.
  • Embodiments 1 and 2 can be implemented in combination.
  • transfer methods 1 and 2 the IP transfer method, and the transfer method by adding a path connection in embodiment 1 can be implemented in any combination.
  • Example 1 In the embodiment 1, a transfer method using address conversion will be described.
  • Fig. 2 shows an example of the configuration of the relay device 10-1 and the relay device 10-2 in the embodiment 1. Since the relay device 10-1 and the relay device 10-2 basically have the same configuration, the description will be made here omitting "-1" and "-2".
  • the relay device 10 includes a communication I/F that connects to a terminal, an address conversion unit 11, an address management unit 13, a transport unit 12, and a communication I/F that connects to one or more networks.
  • the address conversion unit 11 performs address conversion.
  • the address management unit 13 manages sending and receiving addresses (source address and destination address) between terminals.
  • the transport unit 12 terminates communication with a terminal at L4, multiplexes communication from one or more terminals, and transfers the communication via multiple networks.
  • Example 1 Method for starting transfer of TCP communication
  • the TCP communication between terminals is transparently terminated by performing address conversion at the relay device 10, and the TCP communication between terminals is forwarded by mapping it to a stream frame of the QUIC connection connecting between the relay devices 10.
  • the forwarding function can be realized by adding an ID and offset information equivalent to that of the stream frame.
  • FIG. 3 is a sequence diagram showing the processing steps for starting transfer of TCP communication.
  • the reception of a TCP SYN packet is used as the trigger, but a TCP connection may be established between terminal 1 and relay device 10-1 first.
  • any TCP communication can be forwarded, but only the addresses to be forwarded can be registered in advance in the address management unit 13, and other communications can be forwarded as IP packets without L4 termination.
  • address when simply written as "address", it means a combination of an IP address and a TCP/UDP port number.
  • TCP connection that starts transfer from terminal 1' to terminal 1 can be established by performing the steps in Figure 3 in the reverse direction.
  • the disconnection of the TCP connection of either terminal 1 or terminal 1' is used as a trigger to delete the address registration information between relay devices 10 in a similar procedure, and the other TCP connection is disconnected.
  • relay device 10-1 will be referred to as relay device 1
  • relay device 10-2 will be referred to as relay device 2.
  • a QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.
  • terminal 1 sends a SYN packet requesting connection establishment to terminal 1'.
  • the address conversion unit 11-1 of relay device 10-1 receives the SYN packet.
  • the address management unit 13-1 checks whether the sender/receiver address information of the SYN packet has been registered, and if it has not been registered, it issues an unused QUIC stream ID and registers it together with the sender/receiver address information.
  • This stream ID may be called a flow identifier.
  • the address management unit 13-1 uses the QUIC connection between the relay devices 10 to store the assigned stream ID and sending and receiving addresses in the stream frame, thereby notifying the address management unit 13-2 of the relay device 10-2 of these.
  • the stream ID and sending and receiving addresses are registered in the address management unit 13-2.
  • the relay device 10-2 If the relay device 10-2 has successfully established a TCP connection with the terminal 1', in S8 it notifies the relay device 10-1 that the connection has been established. Thereafter, the address conversion unit 11-1 of the relay device 10-1 converts the destination address of the TCP communication from the terminal 1 to that addressed to the transport unit 12-1 of the relay device 10-1. Note that, for the sake of convenience, in S4 and S8, the communication is illustrated as being between the address management units, but in reality, the communication takes place over the QUIC connection established between the transport units.
  • the initially received SYN packet is forwarded to the transport unit 12-1, and in S10 to S11, a TCP connection is established between terminal 1 and the transport unit 12-1 of relay device 10-1.
  • the relay device 10-2 fails to establish a TCP connection with terminal 1', it notifies the relay device 10-1 of the connection failure, and the relay device 10-1 sends a TCP RST packet to terminal 1 and ends the process.
  • the TCP packet sent from terminal 1 in S12 is address converted in relay device 10-1 and forwarded to transport unit 12-1.
  • the transport unit 12-1 refers to (obtains) the stream ID from the source address information for the address management unit 13-1, and in step S15, using the QUIC connection between the relay devices 10, stores the referred stream ID and TCP payload data in the stream frame, and transfers the stream frame to the relay device 10-2.
  • the transport unit 12-2 of the relay device 10-2 that receives the QUIC stream frame obtains the destination address from the stream ID from the address management unit 13-2 (S16 to S17), and transfers the TCP payload data again using the established TCP connection (S18).
  • TCP ACK and other data in the direction from terminal 1' to terminal 1 can be transferred by carrying out a similar procedure from relay device 10-2 to relay device 10-1.
  • transfer method 1 for UDP communication flows are identified by mapping unique datagram IDs to sender/receiver addresses, just like in the transfer method for TCP communication.
  • stream communication is performed using RTP or other protocols above UDP.
  • the datagram ID may be called a flow identifier.
  • Fig. 4 is a sequence diagram showing the procedure for UDP communication transfer method 1. Note that in the sequence diagram, "par" and the dotted frame indicate that the processing in the dotted frame is performed in parallel for multiple terminals.
  • a QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.
  • terminal 1 sends a UDP packet to terminal 1'.
  • the address management unit 13-1 of relay device 10-1 checks whether the sender/receiver address information of the UDP packet has been registered, and if it has not been registered, it issues a unique datagram ID and registers it together with the sender/receiver address information (S2 to S3).
  • the QUIC connection between the relay devices 10 is used to store the assigned datagram ID and sending and receiving addresses in a datagram frame, thereby notifying the address management unit 13-2 of the relay device 10-2 of these.
  • the datagram ID and sending and receiving addresses are registered in the address management unit 13-2.
  • Relay device 10-1 can start forwarding UDP packets in parallel without waiting for completion of address registration in relay device 10-2. However, if the UDP packet forwarding arrives at relay device 10-2 before address registration, relay device 10-2 does not know the forwarding destination address. For this reason, it is preferable to perform processing such as buffering for a certain period of time in either relay device 10-1 or 10-2.
  • the address conversion unit 11-1 of the relay device 10-1 converts the destination address of the UDP communication from the terminal 1 to the transport unit 12-1 of the relay device 10-1, and in S5, the UDP packet is transferred to the transport unit 12-1.
  • the transport unit 12-1 references the datagram ID from the source address information, and using the QUIC connection between the relay devices 10, stores the referenced datagram ID and UDP payload data in the datagram frame, and forwards the datagram frame to the relay device 10-2.
  • the transport unit 12-2 of the relay device 10-2 that received the datagram frame obtains the destination address from the datagram ID for the address management unit 13-2, and again transfers the payload data to the destination address (terminal 1') using UDP communication.
  • UDP communication from terminal 1' to terminal 1 can be performed in the same way from relay device 10-2 to relay device 10-1 by reversing the sending and receiving addresses.
  • Example 1 UDP communication transfer method 2
  • transfer method 2 for UDP communication sender/receiver address information and UDP payload data are directly stored in the QUIC datagram frame and transferred.
  • transfer method 1 there is no state management, so the delay time until the start of transfer can be shortened and the processing of the relay device 10 can be simplified, but the packet overhead increases by at least 12 bytes for sender/receiver IP addresses and port numbers in the case of IPv4 and 36 bytes in the case of IPv6.
  • Fig. 5 is a sequence diagram showing the procedure for UDP communication transfer method 2. Note that when UDP communication transfer ends, since there is no connection management like TCP communication, the address information registration is deleted using a timeout process, etc.
  • a QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.
  • terminal 1 sends a UDP packet to terminal 1'.
  • the address management unit 13-1 of relay device 10-1 checks whether the sending and receiving address information of the UDP packet has been registered, and if not, registers the sending and receiving address information (S2 to S3).
  • the address conversion unit 11-1 of the relay device 10-1 converts the destination address of the UDP communication from the terminal 1 to a destination address for the transport unit 12-1 of the relay device 10-1, and in S4, the UDP packet is transferred to the transport unit 12-1.
  • the transport unit 12-1 obtains the destination address information from the source address information, and using the QUIC connection between the relay devices 10, stores the sender and receiver address information and UDP payload data in a datagram frame, and transfers the datagram frame to the relay device 10-2.
  • the transport unit 12-2 of the relay device 10-2 again transfers the payload data to the destination address (terminal 1') in the datagram frame using UDP communication.
  • UDP communication from terminal 1' to terminal 1 can be performed in the same way from relay device 10-2 to relay device 10-1 by reversing the sending and receiving addresses.
  • Example 1 IP communication transfer method
  • MTU Maximum Transmission Unit
  • IP communication transfer does not require state management or address management, but the IP header and transport layer headers such as TCP and UDP must be transferred as is, which increases header overhead and reduces transfer efficiency.
  • terminal 1 sends an IP packet addressed to terminal 1'.
  • the address conversion unit 11-1 of the relay device 10-1 refers to the fragment bit in the header of the IP packet received from terminal 1, and if fragmentation is enabled, in S2, it forwards the IP packet as is to the transport unit 12-1.
  • the transport unit 12-1 uses the QUIC connection between the relay devices 10 to store the IP packet as is in the payload of the QUIC datagram frame and forwards it to the relay device 10-2.
  • the transport unit 12-2 of the relay device 10-2 extracts the IP packet from the datagram frame and transfers it to the terminal 1' based on the destination address information.
  • Example 1 UDP and IP communication forwarding switching
  • UDP transfer method 2 is effective for applications that use short packets such as DNS, where the number of communications between the server and client is small and response speed is important.
  • UDP transfer method 1 is effective from the perspective of transfer efficiency.
  • the transfer method suitable for the flow (application) as described above may be set in the address management unit 13 on the relay device 10 side for each flow.
  • UDP transfer method 1 For example, if the UDP payload length before transfer is small enough, the header overhead can be ignored and UDP transfer method 2 is used; if the sum of the UDP payload length and the sending and receiving address lengths exceeds the maximum payload length of a QUIC packet, UDP transfer method 1 is used.
  • the number of packet transfers per period is measured, and if it is above a threshold, meaning that data transfers are occurring frequently, UDP transfer method 1 is used, otherwise UDP transfer method 2 is used.
  • the relay device 10-1 receives an IP packet. If there is an IP fragment, the process proceeds to S103 (Yes in S102), and if there is no IP fragment, the process proceeds to S104 (No in S102).
  • the relay device 10-1 decides to forward the packet as an IP packet.
  • the relay device 10-1 determines whether "(UDP payload length + sending/receiving address length) > QUIC maximum payload length", and if Yes, proceeds to S105, and if No, proceeds to S106.
  • relay device 10-1 decides to use UDP transfer method 1 for transfer.
  • the relay device 10-1 determines whether the UDP payload length is equal to or less than the threshold, and if Yes, proceeds to S107, and if No, proceeds to S108. In S107, the relay device 10-1 decides to use UDP transfer method 2 for transfer.
  • Figure 8 shows the sequence for performing UDP transfer using a logical path.
  • relay device 10-1 instead of the datagram ID, a port number to be used for the QUIC connection is assigned, and a new path is added using the assigned port number.
  • the source port number is associated with the sender/receiver address to be transferred, and the UDP payload is transferred using the new path.
  • a QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.
  • the address management unit 13-1 issues a path addition instruction to the transport unit 12-1.
  • a new logical path is added between the relay devices 10 using the assigned port number.
  • the transport unit 12-1 references the path to be used from the source address and transfers the UDP payload from the terminal 1 to the relay device 10-2 using the referenced path.
  • the transport unit 12-2 obtains the destination address from the source port number and transfers the UDP payload data to the terminal 1'.
  • Fig. 9 shows an example of the configuration of a communication system in embodiment 2.
  • a DNS server 40 is provided, and relay devices 10-1 and 10-2 are connected to a wide area network 30.
  • the DNS server 40 can communicate with each terminal and each relay device.
  • the relay device 10 of the second embodiment does not have an address conversion unit 11.
  • a QUIC connection is established in advance between the relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.
  • terminal 1 queries DNS server 40 for the SRV record of terminal 1'.
  • DNS server 40 assigns a stream ID or datagram ID to be used within the QUIC connection between relay device 10-1 and relay device 10-2 through which communication from terminal 1 to terminal 1' passes.
  • the DNS server 40 responds with the address of the relay device 10-1, but it may also respond with the address of the terminal 1' and have the relay device 10-1 perform the address conversion. In this method, it is also possible to go through two or more relay devices 10, and any relay device 10 can be used.
  • the device can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the device.
  • the program can be recorded on a computer-readable recording medium (such as a portable memory) and then stored or distributed.
  • the program can also be provided via a network such as the Internet or email.
  • FIG. 11 is a diagram showing an example of the hardware configuration of the computer.
  • the computer in FIG. 11 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are all connected to each other by a bus BS.
  • the computer may further include a GPU.
  • the auxiliary storage device 1002 and the memory device 1003 may be collectively referred to as a storage device.
  • the address management unit 13 is realized using a storage device.
  • the memory device 1003 When an instruction to start a program is received, the memory device 1003 reads out and stores the program from the auxiliary storage device 1002.
  • the CPU 1004 realizes the functions related to the device in accordance with the program stored in the memory device 1003.
  • the interface device 1005 is used as an interface for connecting to a network, etc.
  • the display device 1006 displays a GUI (Graphical User Interface) based on a program, etc.
  • the input device 1007 is composed of a keyboard and mouse, buttons, a touch panel, etc., and is used to input various operational instructions.
  • the output device 1008 outputs the results of calculations.
  • the relay device 10 converts the destination address of the packet sent from the terminal.
  • the relay device 10 also associates the original sending and receiving addresses of the packet with the flow identifier used in the transport connection between the relay devices 10, and notifies the opposing relay device 10 of the flow identifier and sending and receiving addresses.
  • the relay device 10 checks the fragment identifier of the source packet, and if a fragment identifier is present, the relay device 10 can forward the source packet using the transport connection between the relay devices 10 without making any changes to the source packet.
  • the relay device 10 can switch the transfer method in the transport connection between the relay devices 10 based on the payload length or transmission frequency of the source packet.
  • Transfer methods include a method of assigning a flow identifier or a method of assigning a sending and receiving address.
  • the DNS server 40 determines the transfer settings of one or more relay devices 10 through which the terminal's communications will pass, and the transfer method of the transport connection between the relay devices 10, and notifies each relay device 10 of information such as the transfer source address, transfer destination address, and usage ID. Each relay device 10 registers the notified information and uses the registered information when transferring data.
  • the technology according to the present embodiment described above makes it possible to transfer data using multiple lines even for applications that use TCP, UDP, or IP that do not support conventional proxies such as MASQUE, or tunneling protocols.
  • encryption, quality management of multiple lines, and congestion control can be centrally processed in the relay device, improving the efficiency of computational resource utilization and network utilization.
  • the technology according to this embodiment makes it possible to transfer data without using higher-level protocols such as HTTP.
  • the relay device 10 terminates the transport protocol (TCP/UDP) of the transfer source, and transfers only the payload using a transfer method (QUIC stream/datagram, respectively) that matches the original transport protocol.
  • TCP/UDP transport protocol
  • QUIC stream/datagram transfer method
  • a relay device constituting a communication system including a plurality of relay devices connected to one or more networks, Memory, at least one processor coupled to the memory; Including, The processor, At least a sending and receiving address for communication between the terminals is registered in the memory; Converts the destination address of packets received from the terminal, A relay device receives a packet after destination address translation, and transfers data of the packet using a transport connection between the relay devices by referring to the memory.
  • the processor registers the sending and receiving addresses and a flow identifier used in the transport connection in association with each other, and notifies a peer relay device of the sending and receiving addresses and the flow identifier; 2.
  • the relay device terminates a transport protocol of a source of the packet and transfers only a payload of the packet using a transfer method that matches the source transport protocol.
  • the relay device according to claim 1 or 2, wherein the processor checks whether a fragment of an IP packet received from a terminal is valid, and if the fragment is valid, forwards the IP packet without performing address conversion on the IP packet.
  • the processor determines a packet forwarding method based on a payload length or a forwarding frequency of the packet received from the terminal.
  • a non-transitory storage medium storing a program for causing a computer to function as each unit in the relay device according to any one of claims 1 to 6.

Landscapes

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

Abstract

This relay device constitutes a communication system comprising a plurality of relay devices connected via one or more networks, and comprises: an address management unit in which at least a transmission/reception address for communication between terminals is registered; an address conversion unit that converts a destination address of a packet received from a terminal; and a transport unit that receives the packet after the conversion of the destination address from the address conversion unit, and transfers data relating to the packet using a transport connection between the relay devices by referring to the address management unit.

Description

中継装置、中継方法、及びプログラムRelay device, relay method, and program

 本発明は、複数のネットワークを介して、複数の端末(アプリケーション)が1以上のトランスポートプロトコルを用いて通信を行う通信システムに関連するものである。 The present invention relates to a communication system in which multiple terminals (applications) communicate using one or more transport protocols over multiple networks.

 自動車の自動運転技術の発達が進み、国内でも運転操作の主体をシステムが担うレベル4の限定走行が認可され始めている。 As autonomous driving technology continues to develop, limited Level 4 driving, in which the system takes over the primary driving operations, is beginning to be approved in Japan.

 自動運転技術に関して、事故防止の観点から、車両の遠隔監視、制御支援等が求められている。車両の監視には、車内外の複数のカメラ映像を監視者がリアルタイムに受信できる必要がある。また、制御支援に関しては遅延やロスなく実施できる必要がある。また、ナビや娯楽等のインフォテイメントシステムによる様々な要件の通信発生が想定される。 With regard to autonomous driving technology, there is a demand for remote monitoring of vehicles and control support from the perspective of accident prevention. To monitor a vehicle, the monitor must be able to receive video footage from multiple cameras inside and outside the vehicle in real time. Control support must also be possible without delay or loss. It is also anticipated that infotainment systems such as navigation and entertainment will generate communications for a variety of purposes.

 一方、現在のLTEや5G等の移動体通信では、混雑や電波状況から1回線で安定的にこれらの通信要件を満たすことは困難である。 On the other hand, with current mobile communications such as LTE and 5G, it is difficult to stably meet these communication requirements with a single line due to congestion and radio wave conditions.

 これに対し、従来技術において、低遅延性や安定化を実現する仕組みとして、複数の回線をトランスポート層で組み合わせて利用するMPTCPやQUICのMultipath拡張、およびそれらを利用した仕組みが提案されている。 In response to this, conventional technologies have proposed mechanisms for achieving low latency and stability, such as MPTCP, which combines multiple lines at the transport layer, and the Multipath extension of QUIC, as well as mechanisms that utilize these.

"The MASQUE Protocol," draft-schinazi-masque-00 https://datatracker.ietf.org/doc/html/draft-schinazi-masque-00"The MASQUE Protocol," draft-schinazi-masque-00 https://datatracker.ietf.org/doc/html/draft-schinazi-masque-00 "Tunneling Internet protocols inside QUIC," draft-piraux-quic-tunnel-03 https://datatracker.ietf.org/doc/html/draft-piraux-quic-tunnel-03"Tunneling Internet protocols inside QUIC," draft-piraux-quic-tunnel-03 https://datatracker.ietf.org/doc/html/draft-piraux-quic-tunnel-03 "Enabling application policy-awareness in Multipath QUIC," draft-an-multipath-quic-application-policy-00 https://datatracker.ietf.org/doc/html/draft-an-multipath-quic-application-policy-00#ref-MPQUIC-Scheduler"Enabling application policy-awareness in Multipath QUIC," draft-an-multipath-quic-application-policy-00 https://datatracker.ietf.org/doc/html/draft-an-multipath-quic-application-policy- 00#ref-MPQUIC-Scheduler

 従来技術では、端末側にHTTP/3、QUIC、MPTCP等を利用した通信機能を具備することで、複数回線の利用や通信の多重化を行っている。そのため、端末の負荷が高くなる。また、リソース(計算リソース、ネットワークリソース等)の利用が非効率となる。 In conventional technology, multiple lines are used and communications are multiplexed by equipping terminals with communication functions using HTTP/3, QUIC, MPTCP, etc. This increases the load on terminals and also leads to inefficient use of resources (computing resources, network resources, etc.).

 本発明は上記の点に鑑みてなされたものであり、端末間で1以上のトランスポートプロトコルを用いて通信を行う通信システムにおいて、リソースの利用効率を向上させることを可能とする技術を提供することを目的とする。 The present invention has been made in consideration of the above points, and aims to provide a technology that makes it possible to improve the efficiency of resource usage in a communication system in which communication is carried out between terminals using one or more transport protocols.

 開示の技術によれば、1つ以上のネットワークで接続される複数の中継装置を備える通信システムを構成する中継装置であって、
 少なくとも、端末間の通信の送受信アドレスを登録するアドレス管理部と、
 端末から受信したパケットの宛先アドレスの変換を行うアドレス変換部と、
 前記アドレス変換部から、宛先アドレス変換後のパケットを受信し、前記アドレス管理部を参照することにより、中継装置間のトランスポートコネクションを用いて前記パケットのデータを転送するトランスポート部と
 を備える中継装置が提供される。
According to the disclosed technology, there is provided a relay device constituting a communication system including a plurality of relay devices connected to one or more networks, the relay device comprising:
an address management unit that registers at least a sending address and a receiving address for communication between terminals;
an address translation unit that translates the destination address of a packet received from a terminal;
a transport unit that receives a packet after destination address translation from the address translation unit and transfers data of the packet using a transport connection between relay devices by referring to the address management unit.

 開示の技術によれば、端末間で1以上のトランスポートプロトコルを用いて通信を行う通信システムにおいて、リソースの利用効率を向上させることが可能となる。 The disclosed technology makes it possible to improve the efficiency of resource usage in a communication system in which terminals communicate with each other using one or more transport protocols.

通信システムの構成例を示す図である。FIG. 1 illustrates an example of the configuration of a communication system. 中継装置10の構成例を示す図である。FIG. 2 is a diagram illustrating an example of the configuration of a relay device 10. TCP通信の転送開始方法を示すシーケンス図である。FIG. 11 is a sequence diagram showing a transfer start method for TCP communication. UDP通信の転送方法1を示すシーケンス図である。FIG. 11 is a sequence diagram showing a transfer method 1 of UDP communication. UDP通信の転送方法2を示すシーケンス図である。FIG. 11 is a sequence diagram showing a transfer method 2 of UDP communication. IP通信の転送方法を示すシーケンス図である。FIG. 11 is a sequence diagram showing a transfer method for IP communication. UDP、IP通信の転送切り替え方法を示すフローチャートである。1 is a flowchart showing a transfer switching method for UDP and IP communication. 論理パスを用いてUDP転送を行うシーケンス図である。FIG. 11 is a sequence diagram of UDP transfer using a logical path. 実施例2における通信システムの構成例を示す図である。FIG. 11 is a diagram illustrating a configuration example of a communication system according to a second embodiment. 実施例2におけるシーケンス図である。FIG. 11 is a sequence diagram according to the second embodiment. 装置のハードウェア構成例を示す図である。FIG. 2 illustrates an example of a hardware configuration of the apparatus.

 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。 Below, an embodiment of the present invention (present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applicable is not limited to the embodiment described below.

 以下、複数のネットワークを介して,複数の通信端末(アプリケーション)が様々なトランスポートプロトコルを用いて通信を行う環境において、通信フローを終端して1つのコネクションに多重化して転送し、端末の計算リソースとネットワーク利用効率を向上させる中継装置に関わる技術について説明する。 Below, we explain the technology related to relay devices that terminate communication flows, multiplex and transfer them into a single connection, and improve the computing resources of terminals and the efficiency of network utilization in an environment where multiple communication terminals (applications) communicate using various transport protocols via multiple networks.

 以下ではまず、従来技術とその課題について説明し、その後に、本実施の形態に係る上記技術について詳細に説明する。なお、従来技術について、非特許文献に開示されている技術自体は公知であるが、下記における従来技術の解説、及び課題の説明は公知ではない。 Below, we will first explain the conventional technology and its problems, and then we will explain the above technology related to this embodiment in detail. Note that while the conventional technology disclosed in the non-patent literature is itself publicly known, the explanation of the conventional technology and the explanation of the problems below are not publicly known.

 (従来技術について)
 前述したように、従来技術において、低遅延性や安定化を実現する仕組みとして、複数の回線をトランスポート層で組み合わせて利用するMPTCPやQUICのMultipath拡張、およびそれらを利用した仕組みが提案されている。具体的には下記のような従来技術がある。
(Regarding the Prior Art)
As mentioned above, in the conventional technology, MPTCP and QUIC Multipath extensions that combine and use multiple lines at the transport layer, as well as mechanisms that use these, have been proposed as mechanisms for achieving low latency and stability. Specifically, the conventional technologies are as follows:

 <従来技術1:Multiplexed Application Substrate over QUIC Encryption (MASQUE) , 2020>
 従来技術1は、非特許文献1に開示された技術である。従来技術1のMASQUEは、HTTPを用いて暗号化されたストリーム及びデータグラム通信をプロキシする仕組みであり、IETFの標準化ワーキンググループにて議論されている。
<Prior technology 1: Multiplexed Application Substrate over QUIC Encryption (MASQUE), 2020>
Prior art 1 is a technique disclosed in Non-Patent Document 1. MASQUE, prior art 1, is a mechanism for proxying streams and datagram communications encrypted using HTTP, and is being discussed in the IETF standardization working group.

 MASQUEでは、宛先情報を含むHTTPのCONNECTメソッドを利用し、クライアントから転送リクエスを受け取ったHTTP/3プロキシが、QUICのストリームフレームまたはデータグラムフレームを本来の宛先へ転送する(HTTP/2以前の場合、TCP、UDPを利用する)。  MASQUE uses the HTTP CONNECT method, which includes destination information, and an HTTP/3 proxy that receives a forwarding request from a client forwards the QUIC stream frame or datagram frame to the original destination (TCP or UDP is used in the case of HTTP/2 and earlier).

 <従来技術2:Tunneling Internet protocols inside QUIC, 2019>
 従来技術2は、非特許文献2に開示された技術である。従来技術2は、QUICを用いたトンネリング方式として、下記の方式1、方式2を規定している。
<Conventional technology 2: Tunneling Internet protocols inside QUIC, 2019>
Prior art 2 is a technique disclosed in Non-Patent Document 2. Prior art 2 specifies the following methods 1 and 2 as tunneling methods using QUIC.

 方式1:データグラムフレームのペイロードに直接転送元パケットを格納する。シグナリング方法については特に規定されていない。 Method 1: The source packet is stored directly in the payload of the datagram frame. There is no specific specification for the signaling method.

 方式2:データグラムフレームの先頭にプロトコル種別とタグ2byteを付与して、転送元パケットを格納する。タグの利用例として、タイムスタンプ、パケット番号がある。 Method 2: The protocol type and a 2-byte tag are added to the beginning of the datagram frame, and the source packet is stored. Examples of tag usage include timestamps and packet numbers.

 従来技術2では、複数パスのセッション参加方法についても規定されている。 Prior art 2 also specifies how multiple paths can participate in a session.

 <従来技術3:(enhanced) Access Traffic Steering, Switching, and Splitting ((e)ATSSS)>
 従来技術3は、非特許文献3に開示された技術である。従来技術3のATSSSは、UE及び、5G UPF内にMPTCP proxy機能を具備し、UE-UPF間でMPTCPを用いて、3GPP及びnon-3GPPアクセスを併用する規格である。eATSSSでは、QUICのMultipath拡張を利用し、TCP以外への通信への対応や、転送モードの追加等が検討されている。
<Conventional technology 3: (enhanced) Access Traffic Steering, Switching, and Splitting ((e)ATSSS)>
Prior art 3 is a technology disclosed in Non-Patent Document 3. Prior art 3 ATSSS is a standard that has an MPTCP proxy function in the UE and 5G UPF, and uses MPTCP between the UE and UPF to use both 3GPP and non-3GPP access. In eATSSS, support for communications other than TCP and the addition of transfer modes are being considered by utilizing the Multipath extension of QUIC.

 (課題について)
 従来技術では、端末側にHTTP/3、QUIC、MPTCP等を利用した通信機能を具備することで、複数回線の利用や通信の多重化を行っている。そのため、特に同一車両内に複数の端末が存在する場合に、以下の課題がある。
(Regarding the issues)
In conventional technology, multiple lines are used and communications are multiplexed by equipping terminals with communication functions using HTTP/3, QUIC, MPTCP, etc. Therefore, the following problems arise, especially when multiple terminals exist in the same vehicle.

 ・従来のTCPやUDPを利用するアプリケーションはそのままでは利用することができない。 - Applications that use traditional TCP or UDP cannot be used as is.

 ・車載システム等の十分なCPU、メモリ等ハードウェアリソースがない端末において、暗号化処理等の高負荷の処理を行う必要がある。 - In-vehicle systems and other devices that lack sufficient CPU, memory, and other hardware resources need to perform high-load processing such as encryption.

 ・それぞれの端末がQUIC、MPTCP等のコネクション管理を行うため、複数回線の品質管理や輻輳制御を別々に行うことになり、計算リソースやネットワーク利用の非効率化が発生する。 - Each terminal must manage connections using QUIC, MPTCP, etc., which means that quality management and congestion control for multiple lines must be performed separately, resulting in inefficient use of computing resources and networks.

 以下、上記の課題を解決するための本実施の形態におけるシステム/装置の構成及び動作を説明する。 The following describes the configuration and operation of the system/device in this embodiment to solve the above problems.

 (システム構成例)
 図1に、本実施の形態における通信システムの構成例を示す。
(System configuration example)
FIG. 1 shows an example of the configuration of a communication system according to the present embodiment.

 図1に示すように、本通信システムは、中継装置10-1、及び中継装置10-2を備える。中継装置10-1と中継装置10-2は、複数のネットワーク20-1~20-mを介して接続される。また、図1の例では、中継装置10-1に接続されるネットワーク20-1~20-2は、広域ネットワーク30-1に接続され、広域ネットワーク30-1は、中継装置10-2に接続される。 As shown in FIG. 1, this communication system includes relay device 10-1 and relay device 10-2. Relay device 10-1 and relay device 10-2 are connected via multiple networks 20-1 to 20-m. In the example of FIG. 1, networks 20-1 to 20-2 connected to relay device 10-1 are connected to wide area network 30-1, and wide area network 30-1 is connected to relay device 10-2.

 中継装置10-1には、端末1~nが接続されており、中継装置10-2には、端末1´~n´が接続されている。 Terminals 1 to n are connected to relay device 10-1, and terminals 1' to n' are connected to relay device 10-2.

 すなわち、端末1~nは中継装置10-1、1つ以上のネットワーク、及び、中継装置10-2を経由して端末1´~n´と通信を行う。なお、端末及び中継装置が仮想化され、これらが同一の物理端末に備えられる構成であってもよい。以降、端末1から端末1´に対して通信を行う例を用いて、各実施例を説明する。実施例1、2は組み合わせて実施可能である。また、実施例1における転送方法1、2、IP転送方法、及び、パス・コネクション追加による転送方法は、任意に組み合わせて実施可能である。 In other words, terminals 1 to n communicate with terminals 1' to n' via relay device 10-1, one or more networks, and relay device 10-2. Note that the terminals and relay devices may be virtualized and provided in the same physical terminal. Below, each embodiment will be explained using an example of communication from terminal 1 to terminal 1'. Embodiments 1 and 2 can be implemented in combination. Also, transfer methods 1 and 2, the IP transfer method, and the transfer method by adding a path connection in embodiment 1 can be implemented in any combination.

 (実施例1)
 実施例1において、アドレス変換を利用する転送方法について説明する。図2に、実施例1における中継装置10-1、中継装置10-2の構成例を示す。中継装置10-1、中継装置10-2は基本的に同じ構成を有するため、ここでは、「-1」、「-2」を省いて説明する。
Example 1
In the embodiment 1, a transfer method using address conversion will be described. Fig. 2 shows an example of the configuration of the relay device 10-1 and the relay device 10-2 in the embodiment 1. Since the relay device 10-1 and the relay device 10-2 basically have the same configuration, the description will be made here omitting "-1" and "-2".

 図2に示すように、中継装置10は、端末と接続する通信I/F、アドレス変換部11、アドレス管理部13、トランスポート部12、1つ以上のネットワークと接続する通信I/Fを含む。 As shown in FIG. 2, the relay device 10 includes a communication I/F that connects to a terminal, an address conversion unit 11, an address management unit 13, a transport unit 12, and a communication I/F that connects to one or more networks.

 アドレス変換部11は、アドレス変換を行う。アドレス管理部13は、端末間の送受信アドレス(送信元アドレスと宛先アドレス)を管理する。トランスポート部12は、端末との通信をL4で終端するとともに、1つ以上の端末からの通信を多重化し、複数ネットワーク経由で当該通信を転送する。 The address conversion unit 11 performs address conversion. The address management unit 13 manages sending and receiving addresses (source address and destination address) between terminals. The transport unit 12 terminates communication with a terminal at L4, multiplexes communication from one or more terminals, and transfers the communication via multiple networks.

 以降では、中継装置10-1のトランスポート部12-1と中継装置10-2のトランスポート部12-2との間で、複数パスを利用した1つのQUICコネクションによって接続する例を用いて、動作の説明を行う。 The following describes the operation using an example in which a single QUIC connection using multiple paths connects the transport unit 12-1 of relay device 10-1 and the transport unit 12-2 of relay device 10-2.

 (実施例1:TCP通信の転送開始方法)
 まず、TCP通信の転送開始方法について説明する。
(Example 1: Method for starting transfer of TCP communication)
First, a method for starting transfer of TCP communication will be described.

 端末間のTCP通信を、中継装置10でアドレス変換を行うことで透過的に終端し、端末間のTCP通信を、中継装置10間で接続するQUIC接続のストリームフレームにマッピングして転送を行う。TCP、SCTPその他のプロトコルを用いる場合、ストリームフレームと同等のID、及びオフセット情報を付与することで当該転送機能を実現できる。 The TCP communication between terminals is transparently terminated by performing address conversion at the relay device 10, and the TCP communication between terminals is forwarded by mapping it to a stream frame of the QUIC connection connecting between the relay devices 10. When using TCP, SCTP, or other protocols, the forwarding function can be realized by adding an ID and offset information equivalent to that of the stream frame.

 図3は、TCP通信の転送開始方法処理手順を示すシーケンス図である。図3に示す例では、TCP SYNパケットの受信をトリガーとしているが、先に端末1と中継装置10-1との間でTCP接続を確立しても良い。 FIG. 3 is a sequence diagram showing the processing steps for starting transfer of TCP communication. In the example shown in FIG. 3, the reception of a TCP SYN packet is used as the trigger, but a TCP connection may be established between terminal 1 and relay device 10-1 first.

 また、図3に示す手順において、任意のTCP通信を転送できるが、事前にアドレス管理部13に、転送するアドレスのみを登録し、それ以外の通信はL4の終端を行わず、IPパケットのまま転送してもよい。今後単に「アドレス」と表記する場合、IPアドレスとTCP/UDPのポート番号の組を意味する。 In addition, in the procedure shown in Figure 3, any TCP communication can be forwarded, but only the addresses to be forwarded can be registered in advance in the address management unit 13, and other communications can be forwarded as IP packets without L4 termination. Hereinafter, when simply written as "address", it means a combination of an IP address and a TCP/UDP port number.

 なお、端末1´から端末1への方向に転送開始するTCP接続は、図3の手順を逆方向から実施することで実現できる。 Note that a TCP connection that starts transfer from terminal 1' to terminal 1 can be established by performing the steps in Figure 3 in the reverse direction.

 TCP通信の転送終了に関しては、端末1または端末1´のいずれかのTCP接続の切断をトリガーとして、中継装置10間で同様の手順でアドレス登録情報を削除し、もう一方のTCP接続を切断する。 To end the transfer of TCP communication, the disconnection of the TCP connection of either terminal 1 or terminal 1' is used as a trigger to delete the address registration information between relay devices 10 in a similar procedure, and the other TCP connection is disconnected.

 以下、図3のシーケンス図を参照して処理手順を説明する。なお、以降のシーケンスの図上においては、記載の便宜上、中継装置10-1を、中継装置1と記載し、中継装置10-2を、中継装置2と記載している。 The processing procedure will be described below with reference to the sequence diagram in FIG. 3. Note that in the following sequence diagrams, for convenience of description, relay device 10-1 will be referred to as relay device 1, and relay device 10-2 will be referred to as relay device 2.

 中継装置10間において、予めMPTCP、MPQUIC等のプロトコルを用い1つ以上ネットワークを介してQUIC接続を確立しておく。 A QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.

 S1において、端末1は、端末1´宛にコネクション確立要求のSYNパケットを送信する。中継装置10-1のアドレス変換部11-1が当該SYNパケットを受信する。 In S1, terminal 1 sends a SYN packet requesting connection establishment to terminal 1'. The address conversion unit 11-1 of relay device 10-1 receives the SYN packet.

 S2~S3において、アドレス管理部13-1は、SYNパケットの送受信アドレス情報が登録されているかどうかを確認し、未登録であれば、未使用のQUICストリームIDを払い出し、送受信アドレス情報と合わせて登録する。当該ストリームIDをフロー識別子と呼んでもよい。 In steps S2 and S3, the address management unit 13-1 checks whether the sender/receiver address information of the SYN packet has been registered, and if it has not been registered, it issues an unused QUIC stream ID and registers it together with the sender/receiver address information. This stream ID may be called a flow identifier.

 アドレス管理部13-1において新規登録が行われた場合、S4において、アドレス管理部13-1は、中継装置10間のQUIC接続を利用し、ストリームフレームに、払い出したストリームIDと送受信アドレスを格納することで、中継装置10-2のアドレス管理部13-2へこれらを通知する。アドレス管理部13-2において、ストリームIDと送受信アドレスが登録される。 When a new registration is made in the address management unit 13-1, in S4, the address management unit 13-1 uses the QUIC connection between the relay devices 10 to store the assigned stream ID and sending and receiving addresses in the stream frame, thereby notifying the address management unit 13-2 of the relay device 10-2 of these. The stream ID and sending and receiving addresses are registered in the address management unit 13-2.

 中継装置10-1からストリーム通信のアドレス通知が行なわれた場合、S5~S7において、中継装置10-2のトランスポート部12-2は、通知された宛先アドレス(端末1´)とのTCP接続を確立する。 When the address of the stream communication is notified from relay device 10-1, in steps S5 to S7, transport unit 12-2 of relay device 10-2 establishes a TCP connection with the notified destination address (terminal 1').

 中継装置10-2は、端末1´とのTCP接続が正常に確立できた場合、S8において、中継装置10-1へ確立完了通知を行う。以降、中継装置10-1のアドレス変換部11-1は、端末1からのTCP通信の宛先アドレスを中継装置10-1のトランスポート部12-1宛へ変換する。なお、S4、S8において、説明の便宜上、アドレス管理部間の通信のように図示されているが、実際にはトランスポート部間で確立しているQUICコネクション上で通信が行われる。 If the relay device 10-2 has successfully established a TCP connection with the terminal 1', in S8 it notifies the relay device 10-1 that the connection has been established. Thereafter, the address conversion unit 11-1 of the relay device 10-1 converts the destination address of the TCP communication from the terminal 1 to that addressed to the transport unit 12-1 of the relay device 10-1. Note that, for the sake of convenience, in S4 and S8, the communication is illustrated as being between the address management units, but in reality, the communication takes place over the QUIC connection established between the transport units.

 S9において、初めに受信したSYNパケットがトランスポート部12-1へ転送され、S10~S11において、端末1と中継装置10-1のトランスポート部12-1間でTCP接続が確立される。 In S9, the initially received SYN packet is forwarded to the transport unit 12-1, and in S10 to S11, a TCP connection is established between terminal 1 and the transport unit 12-1 of relay device 10-1.

 もしも、中継装置10-2において、端末1´とのTCP接続に失敗した場合は、接続失敗通知を中継装置10-1へ通知し、中継装置10-1は、端末1に対してTCPのRSTパケットを送信して処理を終了する。 If the relay device 10-2 fails to establish a TCP connection with terminal 1', it notifies the relay device 10-1 of the connection failure, and the relay device 10-1 sends a TCP RST packet to terminal 1 and ends the process.

 以降、S12において端末1から送信されたTCPパケットは中継装置10-1内でアドレス変換され、トランスポート部12-1に転送される。 After that, the TCP packet sent from terminal 1 in S12 is address converted in relay device 10-1 and forwarded to transport unit 12-1.

 S13~S14において、トランスポート部12-1は、アドレス管理部13-1に対して、送信元アドレス情報からストリームIDを参照(取得)し、S15において、中継装置10間のQUIC接続を用いて、ストリームフレームに、参照したストリームIDとTCPペイロードデータを格納し、ストリームフレームを中継装置10-2へ転送する。 In steps S13 and S14, the transport unit 12-1 refers to (obtains) the stream ID from the source address information for the address management unit 13-1, and in step S15, using the QUIC connection between the relay devices 10, stores the referred stream ID and TCP payload data in the stream frame, and transfers the stream frame to the relay device 10-2.

 QUICストリームフレームを受信した中継装置10-2のトランスポート部12-2は、アドレス管理部13-2に対し、ストリームIDから宛先アドレスを取得し(S16~S17)、接続済みのTCPコネクションを用いてTCPペイロードデータを再度転送する(S18)。 The transport unit 12-2 of the relay device 10-2 that receives the QUIC stream frame obtains the destination address from the stream ID from the address management unit 13-2 (S16 to S17), and transfers the TCP payload data again using the established TCP connection (S18).

 端末1´から端末1方向のTCP ACKやその他のデータについては、同様の手順を中継装置10-2から中継装置10-1に対して行うことで転送できる。 TCP ACK and other data in the direction from terminal 1' to terminal 1 can be transferred by carrying out a similar procedure from relay device 10-2 to relay device 10-1.

 (実施例1:UDP通信の転送方法1)
 次に、UDP通信の転送方法1を説明する。UDP通信の転送方法1では、TCP通信の転送方法と同様に、独自のデータグラムIDと送受信アドレスをマッピングすることでフローの識別を行う。リアルタイム映像配信のアプリケーションでは、UDPの上位プロトコルにRTPなどを用いてストリーム通信を行う。データグラムIDをフロー識別子と呼んでもよい。
(Example 1: UDP communication transfer method 1)
Next, we will explain transfer method 1 for UDP communication. In transfer method 1 for UDP communication, flows are identified by mapping unique datagram IDs to sender/receiver addresses, just like in the transfer method for TCP communication. In real-time video distribution applications, stream communication is performed using RTP or other protocols above UDP. The datagram ID may be called a flow identifier.

 図4は、UDP通信の転送方法1の手順を示すシーケンス図である。なお、シーケンス図において、「par」と点線枠は、点線枠の処理が、複数の端末に対して並行して行われることを意味する。 Fig. 4 is a sequence diagram showing the procedure for UDP communication transfer method 1. Note that in the sequence diagram, "par" and the dotted frame indicate that the processing in the dotted frame is performed in parallel for multiple terminals.

 UDP通信の転送終了時においては、TCP通信のような接続管理がないため、タイムアウト処理等を用いてアドレス情報の登録削除を行う。 When UDP communication transfer is completed, there is no connection management like TCP communication, so the address information registration is deleted using a timeout process, etc.

 以下、図4のシーケンス図を参照して処理手順を説明する。 The processing procedure is explained below with reference to the sequence diagram in Figure 4.

 中継装置10間において、予めMPTCP、MPQUIC等のプロトコルを用い1つ以上ネットワークを介してQUIC接続を確立しておく。 A QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.

 S1において、端末1は端末1´宛にUDPパケットを送信する。中継装置10-1のアドレス管理部13-1は、UDPパケットの送受信アドレス情報が登録されているかどうかを確認し、未登録であれば、独自のデータグラムIDを払い出し、送受信アドレス情報と合わせて登録する(S2~S3)。 In S1, terminal 1 sends a UDP packet to terminal 1'. The address management unit 13-1 of relay device 10-1 checks whether the sender/receiver address information of the UDP packet has been registered, and if it has not been registered, it issues a unique datagram ID and registers it together with the sender/receiver address information (S2 to S3).

 アドレス登録部13-1において新規登録が行われた場合、S4において、中継装置10間のQUIC接続を利用し、データグラムフレームに、払い出したデータグラムIDと送受信アドレスを格納することで、中継装置10-2のアドレス管理部13-2へこれらを通知する。アドレス管理部13-2において、データグラムIDと送受信アドレスが登録される。 When a new registration is made in the address registration unit 13-1, in S4, the QUIC connection between the relay devices 10 is used to store the assigned datagram ID and sending and receiving addresses in a datagram frame, thereby notifying the address management unit 13-2 of the relay device 10-2 of these. The datagram ID and sending and receiving addresses are registered in the address management unit 13-2.

 中継装置10-1は、中継装置10-2へのアドレス登録の完了を待たずに並行してUDPパケット転送を開始できる。ただし、アドレス登録より先にUDPパケット転送が中継装置10-2へ到着した場合、中継装置10-2において転送先アドレスがわからない。そのため、中継装置10-1、10-2のいずれかにおいて一定時間バッファする等の処理を行うことが好ましい。  Relay device 10-1 can start forwarding UDP packets in parallel without waiting for completion of address registration in relay device 10-2. However, if the UDP packet forwarding arrives at relay device 10-2 before address registration, relay device 10-2 does not know the forwarding destination address. For this reason, it is preferable to perform processing such as buffering for a certain period of time in either relay device 10-1 or 10-2.

 中継装置10-1のアドレス変換部11-1は、端末1からのUDP通信の宛先アドレスを中継装置10-1のトランスポート部12-1宛へ変換し、S5において、UDPパケットはトランスポート部12-1へ転送される。 The address conversion unit 11-1 of the relay device 10-1 converts the destination address of the UDP communication from the terminal 1 to the transport unit 12-1 of the relay device 10-1, and in S5, the UDP packet is transferred to the transport unit 12-1.

 S6~S8において、トランスポート部12-1は、送信元アドレス情報からデータグラムIDを参照し、中継装置10間のQUIC接続を用いて、データグラムフレームに、参照したデータグラムIDとUDPペイロードデータを格納し、データグラムフレームを中継装置10-2へ転送する。 In steps S6 to S8, the transport unit 12-1 references the datagram ID from the source address information, and using the QUIC connection between the relay devices 10, stores the referenced datagram ID and UDP payload data in the datagram frame, and forwards the datagram frame to the relay device 10-2.

 S9~S11において、データグラムフレームを受信した中継装置10-2のトランスポート部12-2は、アドレス管理部13-2に対し、データグラムIDから宛先アドレスを取得し、宛先アドレス(端末1´)に対してUDP通信を用いてペイロードデータを再度転送する。 In steps S9 to S11, the transport unit 12-2 of the relay device 10-2 that received the datagram frame obtains the destination address from the datagram ID for the address management unit 13-2, and again transfers the payload data to the destination address (terminal 1') using UDP communication.

 なお、端末1´から端末1の方向のUDP通信は、送受信アドレスを逆にすることで中継装置10-2から中継装置10-1に対して同様に行うことができる。 Note that UDP communication from terminal 1' to terminal 1 can be performed in the same way from relay device 10-2 to relay device 10-1 by reversing the sending and receiving addresses.

 (実施例1:UDP通信の転送方法2)
 次に、UDP通信の転送方法2を説明する。UDP通信の転送方法2では、QUICデータグラムフレームに、直接送受信アドレス情報と、UDPペイロードデータを格納して転送を行う。転送方法1と比較して、ステート管理がないため、転送開始までの遅延時間が短縮でき、中継装置10の処理も簡素化できるが、パケットオーバーヘッドが最低でもIPv4の場合で、送受信IPアドレス、及びポート番号の12byte、IPv6の場合で36byte増加する。
(Example 1: UDP communication transfer method 2)
Next, a transfer method 2 for UDP communication will be described. In transfer method 2 for UDP communication, sender/receiver address information and UDP payload data are directly stored in the QUIC datagram frame and transferred. Compared to transfer method 1, there is no state management, so the delay time until the start of transfer can be shortened and the processing of the relay device 10 can be simplified, but the packet overhead increases by at least 12 bytes for sender/receiver IP addresses and port numbers in the case of IPv4 and 36 bytes in the case of IPv6.

 図5は、UDP通信の転送方法2の手順を示すシーケンス図である。なお、UDP通信の転送終了時は、TCP通信のような接続管理がないため、タイムアウト処理等を用いてアドレス情報の登録削除を行う。 Fig. 5 is a sequence diagram showing the procedure for UDP communication transfer method 2. Note that when UDP communication transfer ends, since there is no connection management like TCP communication, the address information registration is deleted using a timeout process, etc.

 以下、図5のシーケンス図を参照して処理手順を説明する。 The processing procedure is explained below with reference to the sequence diagram in Figure 5.

 中継装置10間において、予めMPTCP、MPQUIC等のプロトコルを用い1つ以上ネットワークを介してQUIC接続を確立しておく。 A QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.

 S1において、端末1は端末1´宛にUDPパケットを送信する。中継装置10-1のアドレス管理部13-1は、UDPパケットの送受信アドレス情報が登録されているかどうかを確認し、未登録であれば、送受信アドレス情報を登録する(S2~S3)。 In S1, terminal 1 sends a UDP packet to terminal 1'. The address management unit 13-1 of relay device 10-1 checks whether the sending and receiving address information of the UDP packet has been registered, and if not, registers the sending and receiving address information (S2 to S3).

 中継装置10-1のアドレス変換部11-1は、端末1からのUDP通信の宛先アドレスを中継装置10-1のトランスポート部12-1宛へ変換し、S4において、UDPパケットはトランスポート部12-1へ転送される。 The address conversion unit 11-1 of the relay device 10-1 converts the destination address of the UDP communication from the terminal 1 to a destination address for the transport unit 12-1 of the relay device 10-1, and in S4, the UDP packet is transferred to the transport unit 12-1.

 S5~S7において、トランスポート部12-1は、送信元アドレス情報から宛先アドレス情報を取得し、中継装置10間のQUIC接続を用いて、データグラムフレームに、送受信アドレス情報とUDPペイロードデータを格納し、データグラムフレームを中継装置10-2へ転送する。 In steps S5 to S7, the transport unit 12-1 obtains the destination address information from the source address information, and using the QUIC connection between the relay devices 10, stores the sender and receiver address information and UDP payload data in a datagram frame, and transfers the datagram frame to the relay device 10-2.

 データグラムフレームを受信した中継装置10-2では、データグラムフレーム内の送受信アドレス情報がアドレス管理部13-2に登録がなければ登録を行う(S8)。 When relay device 10-2 receives the datagram frame, if the sender/receiver address information in the datagram frame is not registered in address management unit 13-2, it will register it (S8).

 S9において、中継装置10-2のトランスポート部12-2は、データグラムフレーム内の宛先アドレス(端末1´)に対してUDP通信を用いてペイロードデータを再度転送する。 In S9, the transport unit 12-2 of the relay device 10-2 again transfers the payload data to the destination address (terminal 1') in the datagram frame using UDP communication.

 端末1´から端末1の方向のUDP通信は、送受信アドレスを逆にすることで中継装置10-2から中継装置10-1に対して同様に行うことができる。 UDP communication from terminal 1' to terminal 1 can be performed in the same way from relay device 10-2 to relay device 10-1 by reversing the sending and receiving addresses.

 (実施例1:IP通信の転送方法)
 次に、IP通信の転送方法を説明する。アプリケーションの中にはIPフラグメントを行うことでMTU(Maximum Transmission Unit)の制約を満たすものも存在する。このようなアプリケーションに対して中継装置10でL4の終端を行ってしまうと、フラグメントの再構築と分割処理が追加で必要となる。そこで、ここでは、IPフラグメントされた通信はIPパケットのまま転送を行う。
(Example 1: IP communication transfer method)
Next, a method for forwarding IP communications will be described. Some applications satisfy MTU (Maximum Transmission Unit) restrictions by performing IP fragmentation. If L4 termination is performed at the relay device 10 for such applications, additional fragment reconstruction and division processing will be required. Therefore, in this example, IP fragmented communications are forwarded as IP packets.

 IP通信の転送は、ステート管理及びアドレス管理が不要であるが、IPヘッダ、TCP、UDP等のトランスポート層ヘッダをそのまま転送する必要があるため、ヘッダのオーバーヘッドは増加し、転送効率は低下する。  IP communication transfer does not require state management or address management, but the IP header and transport layer headers such as TCP and UDP must be transferred as is, which increases header overhead and reduces transfer efficiency.

 以下、図6のシーケンス図を参照して処理手順を説明する。 The processing procedure is explained below with reference to the sequence diagram in Figure 6.

 中継装置10間において、予めMPTCP、MPQUIC等のプロトコルを用い1つ以上ネットワークを介してQUIC接続を確立しておく。 A QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.

 S1において、端末1は端末1´宛にIPパケットを送信する。中継装置10-1のアドレス変換部11-1は、端末1から受信したIPパケットのヘッダのフラグメントビットを参照し、フラグメントが有効になっている場合、S2において、トランスポート部12-1へそのままIPパケットを転送する。 In S1, terminal 1 sends an IP packet addressed to terminal 1'. The address conversion unit 11-1 of the relay device 10-1 refers to the fragment bit in the header of the IP packet received from terminal 1, and if fragmentation is enabled, in S2, it forwards the IP packet as is to the transport unit 12-1.

 S3において、トランスポート部12-1は、中継装置10間のQUICコネクションを利用し、QUICデータグラムフレームのペイロードにIPパケットをそのまま格納して中継装置10-2へ転送する。 In S3, the transport unit 12-1 uses the QUIC connection between the relay devices 10 to store the IP packet as is in the payload of the QUIC datagram frame and forwards it to the relay device 10-2.

 S4において、中継装置10-2のトランスポート部12-2は、データグラムフレームからIPパケットを取り出し、宛先アドレス情報を元に端末1´へ転送する。 In S4, the transport unit 12-2 of the relay device 10-2 extracts the IP packet from the datagram frame and transfers it to the terminal 1' based on the destination address information.

 (実施例1: UDP、IP通信の転送切り替え)
 続いて、UDP、IP通信の転送切り替えについて説明する。
(Example 1: UDP and IP communication forwarding switching)
Next, the transfer switching between UDP and IP communication will be explained.

 UDP通信の転送方法1、2、及びIP通信の転送方法について、どの方法が適しているかはアプリケーション毎に異なる。 Which of the UDP communication transfer methods 1 and 2 and the IP communication transfer method is most suitable will vary from application to application.

 例えばDNSのようなショートパケット、かつ、サーバクライアントの通信回数が少なく応答速度が重要なアプリケーションでは、UDP転送方法2が有効である。 For example, UDP transfer method 2 is effective for applications that use short packets such as DNS, where the number of communications between the server and client is small and response speed is important.

 一方、リアルタイム映像ストリーミングのような、ロングパケットかつ送信データ量の多いアプリケーションでは、転送効率の観点からUDP転送方法1が有効である。 On the other hand, for applications that use long packets and transmit large amounts of data, such as real-time video streaming, UDP transfer method 1 is effective from the perspective of transfer efficiency.

 上記のような、フロー(アプリケーション)に適した転送方法について、フロー毎に中継装置10側のアドレス管理部13に設定することとしてもよい。 The transfer method suitable for the flow (application) as described above may be set in the address management unit 13 on the relay device 10 side for each flow.

 また、パケットペイロード長、あるいは、転送回数に基づいて、転送方法を動的に振り分けることも可能である。 It is also possible to dynamically allocate transfer methods based on packet payload length or the number of transfers.

 例えば、転送前のUDPペイロード長が十分に小さい場合は、ヘッダのオーバーヘッドは無視できるためUDP転送方法2を利用し、UDPペイロード長と送受信アドレス長の和がQUICパケットの最大ペイロード長を超える場合はUDP転送方法1を利用する。 For example, if the UDP payload length before transfer is small enough, the header overhead can be ignored and UDP transfer method 2 is used; if the sum of the UDP payload length and the sending and receiving address lengths exceeds the maximum payload length of a QUIC packet, UDP transfer method 1 is used.

 いずれにも該当しない場合は、一定期間毎のパケット転送回数を計測し、閾値以上、つまり頻繁にデータ転送がやり取りされる場合には、UDP転送方法1を利用し、そうでない場合はUDP転送方法2を利用する。 If none of the above applies, the number of packet transfers per period is measured, and if it is above a threshold, meaning that data transfers are occurring frequently, UDP transfer method 1 is used, otherwise UDP transfer method 2 is used.

 また、QUICデータグラムフレームの先頭に、どの転送方法かを示す識別子を付与することで、いずれの転送方法を用いても受信中継装置10-2側でデコードが可能である。 In addition, by adding an identifier indicating which transfer method is used to the beginning of the QUIC datagram frame, it is possible for the receiving relay device 10-2 to decode the frame regardless of which transfer method is used.

 上記の動的な振り分けについての処理手順を図7のフローチャートを参照して説明する。なお、下記のフローチャートにおける判断の主体は、例えば、アドレス変換部11である。 The processing procedure for the dynamic allocation described above will be explained with reference to the flowchart in FIG. 7. Note that the subject of decision making in the flowchart below is, for example, the address conversion unit 11.

 S101において、中継装置10-1は、IPパケットを受信する。IPフラグメントがある場合はS103に進み(S102のYes)、IPフラグメントがない場合はS104に進む(S102のNo)。 In S101, the relay device 10-1 receives an IP packet. If there is an IP fragment, the process proceeds to S103 (Yes in S102), and if there is no IP fragment, the process proceeds to S104 (No in S102).

 S103において、中継装置10-1は、IPパケットのまま転送を行うことを決定する。S104において、中継装置10-1は、「(UDPペイロード長+送受信アドレス長)>QUIC最大ペイロード長」かどうかを判定し、YesであればS105に進み、NoであればS106に進む。 In S103, the relay device 10-1 decides to forward the packet as an IP packet. In S104, the relay device 10-1 determines whether "(UDP payload length + sending/receiving address length) > QUIC maximum payload length", and if Yes, proceeds to S105, and if No, proceeds to S106.

 S105において、中継装置10-1は、UDP転送方法1を利用して転送を行うことを決定する。 In S105, relay device 10-1 decides to use UDP transfer method 1 for transfer.

 S106において、中継装置10-1は、UDPペイロード長が閾値以下かどうかを判定し、YesであればS107に進み、NoであればS108に進む。S107において、中継装置10-1は、UDP転送方法2を利用して転送を行うことを決定する。 In S106, the relay device 10-1 determines whether the UDP payload length is equal to or less than the threshold, and if Yes, proceeds to S107, and if No, proceeds to S108. In S107, the relay device 10-1 decides to use UDP transfer method 2 for transfer.

 S108において、中継装置10-1は、一定期間内の転送回数が閾値以上かどうかを判定し、YesであればS109に進み、NoであればS110に進む。 In S108, the relay device 10-1 determines whether the number of forwarding attempts within a certain period of time is equal to or exceeds a threshold value. If the answer is Yes, the process proceeds to S109; if the answer is No, the process proceeds to S110.

 S109において、中継装置10-1は、UDP転送方法1を利用して転送を行うことを決定する。S110において、中継装置10-1は、UDP転送方法2を利用して転送を行うことを決定する。 In S109, the relay device 10-1 decides to perform the transfer using UDP transfer method 1. In S110, the relay device 10-1 decides to perform the transfer using UDP transfer method 2.

 (実施例1:パス・コネクション追加による通信転送方式)
 前述の転送方法では、データグラムIDを利用する場合も、ID情報をパケットへ付与する必要がある。ここでは、転送するTCP、UDP、その他プロトコルを用いた通信に対し、論理パスまたはコネクションを新たに割り当てることで、パケットオーバーヘッド無く転送を行う方式について説明する。
(Embodiment 1: Communication forwarding method by adding a path connection)
In the transfer method described above, even when using a datagram ID, it is necessary to add ID information to the packet. Here, we explain a method of transferring packets without packet overhead by newly allocating a logical path or connection to the communication using TCP, UDP, or other protocols to be transferred.

 図8は、論理パスを用いてUDP転送を行うシーケンスを示す。この場合、中継装置10-1において、データグラムIDの代わりに、QUIC接続で利用するポート番号を払い出し、払い出したポート番号を用いて新規パスを追加する。また、送信元ポート番号と転送する送受信アドレスを対応付け、新しいパスでUDPペイロードを転送する。 Figure 8 shows the sequence for performing UDP transfer using a logical path. In this case, in relay device 10-1, instead of the datagram ID, a port number to be used for the QUIC connection is assigned, and a new path is added using the assigned port number. In addition, the source port number is associated with the sender/receiver address to be transferred, and the UDP payload is transferred using the new path.

 コネクションを利用する場合、転送するTCP、UDP、あるいはIPフローに対してQUICコネクションを追加し、コネクションIDと転送する送受信アドレスを対応付ける。 When using a connection, a QUIC connection is added to the TCP, UDP, or IP flow to be forwarded, and the connection ID is associated with the forwarding sender and receiver addresses.

 図8を参照して、論理パスを用いる場合の具体的な処理手順を説明する。 The specific processing steps when using a logical path are explained with reference to Figure 8.

 中継装置10間において、予めMPTCP、MPQUIC等のプロトコルを用い1つ以上ネットワークを介してQUIC接続を確立しておく。 A QUIC connection is established in advance between relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.

 S1において、端末1は端末1´宛にUDPパケットを送信する。中継装置10-1のアドレス管理部13-1は、UDPパケットの送受信アドレス情報が登録されているかどうかを確認し、未登録であれば、中継装置10間で利用する送信ポート番号を新規に割り当て、当該ポート番号を送受信アドレスと合わせて登録する(S2~S3)。 In S1, terminal 1 sends a UDP packet to terminal 1'. The address management unit 13-1 of relay device 10-1 checks whether the sending and receiving address information of the UDP packet has been registered, and if it has not been registered, it assigns a new sending port number to be used between relay devices 10 and registers the port number together with the sending and receiving addresses (S2 to S3).

 S4において、アドレス管理部13-1は、トランスポート部12-1に対してパス追加指示を行う。S5~S6において、中継装置10間で、割り当てたポート番号を用いて、新規の論理パスを追加する。 In S4, the address management unit 13-1 issues a path addition instruction to the transport unit 12-1. In S5 to S6, a new logical path is added between the relay devices 10 using the assigned port number.

 S7において、アドレス管理部13-1は、アドレス管理部13-2に対して、追加した論理パスを用いて、端末1から端末1´宛の送受信アドレスの組を通知する。アドレス管理部13-2は、送信元ポート番号と送受信アドレスの組を登録する。S8において、アドレス管理部13-2は、アドレス管理部13-1に対して、登録完了通知を送信する。 In S7, address management unit 13-1 notifies address management unit 13-2 of the pair of sender and receiver addresses from terminal 1 to terminal 1' using the added logical path. Address management unit 13-2 registers the pair of source port number and sender and receiver addresses. In S8, address management unit 13-2 sends a registration completion notification to address management unit 13-1.

 以降、中継装置10-1のアドレス変換部11-1は、端末1からのUDP通信の宛先アドレスを中継装置10-1のトランスポート部12-1宛へ変換し、S9において、UDPパケットはトランスポート部12-1へ転送される。 After this, the address conversion unit 11-1 of the relay device 10-1 converts the destination address of the UDP communication from the terminal 1 to the transport unit 12-1 of the relay device 10-1, and in S9, the UDP packet is transferred to the transport unit 12-1.

 S10~S12において、トランスポート部12-1は、送信元アドレスから利用パスを参照し、参照したパスを用いて、端末1からのUDPペイロードを中継装置10-2へ転送する。 In steps S10 to S12, the transport unit 12-1 references the path to be used from the source address and transfers the UDP payload from the terminal 1 to the relay device 10-2 using the referenced path.

 S13~S15において、トランスポート部12-2は、送信元ポート番号から宛先アドレスを取得し、UDPペイロードデータを端末1´へ転送する。 In steps S13 to S15, the transport unit 12-2 obtains the destination address from the source port number and transfers the UDP payload data to the terminal 1'.

 (実施例2:DNSを用いた転送設定方法)
 続いて、実施例2として、DNSを用いた転送設定方法について説明する。図9に、実施例2における通信システムの構成例を示す。
(Example 2: Forwarding setting method using DNS)
Next, a method of setting a transfer destination using DNS will be described as embodiment 2. Fig. 9 shows an example of the configuration of a communication system in embodiment 2.

 図9に示すように、DNSサーバ40が備えられ、中継装置10-1、10-2が広域ネットワーク30に接続される。DNSサーバ40は、各端末、及び各中継装置と通信可能である。実施例1と比べて、実施例2の中継装置10は、アドレス変換部11を有しない。 As shown in FIG. 9, a DNS server 40 is provided, and relay devices 10-1 and 10-2 are connected to a wide area network 30. The DNS server 40 can communicate with each terminal and each relay device. Compared to the first embodiment, the relay device 10 of the second embodiment does not have an address conversion unit 11.

 図10を参照して、実施例2の通信システムの動作例を説明する。中継装置10間において、予めMPTCP、MPQUIC等のプロトコルを用い1つ以上ネットワークを介してQUIC接続を確立しておく。 An example of the operation of the communication system of the second embodiment will be described with reference to FIG. 10. A QUIC connection is established in advance between the relay devices 10 via one or more networks using a protocol such as MPTCP or MPQUIC.

 S1において、端末1は端末1´のSRVレコードをDNSサーバ40へ問い合わせる。DNSサーバ40は、端末1から端末1´への通信の経由する中継装置10-1と中継装置10-2との間のQUIC接続内で利用するストリームIDまたはデータグラムIDを割り当てる。 In S1, terminal 1 queries DNS server 40 for the SRV record of terminal 1'. DNS server 40 assigns a stream ID or datagram ID to be used within the QUIC connection between relay device 10-1 and relay device 10-2 through which communication from terminal 1 to terminal 1' passes.

 S2~S5において、DNSサーバ40は、経由する各中継装置10に転送元アドレスと転送先アドレス、及びQUIC接続で用いるIDを通知し、各中継装置10はアドレス登録部13にアドレス、及びID情報を登録し、DNSサーバ40へ登録完了通知を送る。 In steps S2 to S5, the DNS server 40 notifies each relay device 10 along the way of the source address, destination address, and ID to be used in the QUIC connection, and each relay device 10 registers the address and ID information in the address registration unit 13 and sends a registration completion notification to the DNS server 40.

 S6において、DNSサーバ40は端末1へ、端末1´ではなく中継装置10-1のアドレスを回答し、S7において、端末1は中継装置10-1へ端末1´宛のデータを転送する。S8、S9においてデータが転送される。このとき、転送方法については、実施例1と同様にTCP、UDP、及びIPのうちのいずれかの方法を用いる。 In S6, the DNS server 40 responds to the terminal 1 with the address of the relay device 10-1, not that of the terminal 1', and in S7, the terminal 1 transfers the data addressed to the terminal 1' to the relay device 10-1. The data is transferred in S8 and S9. At this time, the transfer method is one of TCP, UDP, and IP, as in the first embodiment.

 IPパケットのまま転送する場合、ポート番号は不要なため、DNSはAレコードを利用すればよく、QUIC接続用のIDも不要である。 When forwarding IP packets as is, no port number is required, so DNS can simply use an A record, and no ID for the QUIC connection is required.

 図10に示す例では、DNSサーバ40は中継装置10-1のアドレスを回答しているが、端末1´のアドレスを回答し、中継装置10-1側でアドレス変換を行っても良い。本方式では、2つ以上の中継装置10を経由することもでき、任意の中継装置10を利用することができる。 In the example shown in FIG. 10, the DNS server 40 responds with the address of the relay device 10-1, but it may also respond with the address of the terminal 1' and have the relay device 10-1 perform the address conversion. In this method, it is also possible to go through two or more relay devices 10, and any relay device 10 can be used.

 (ハードウェア構成例)
 本実施の形態で説明したいずれの装置(中継装置10、DNSサーバ40)も、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
(Hardware configuration example)
Any of the devices described in this embodiment (relay device 10, DNS server 40) can be realized, for example, by causing a computer to execute a program. This computer may be a physical computer or a virtual machine on a cloud.

 すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。 In other words, the device can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the device. The program can be recorded on a computer-readable recording medium (such as a portable memory) and then stored or distributed. The program can also be provided via a network such as the Internet or email.

 図11は、上記コンピュータのハードウェア構成例を示す図である。図11のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。補助記憶装置1002、メモリ装置1003を総称して記憶装置と呼んでもよい。なお、アドレス管理部13は、記憶装置を用いて実現されている。 FIG. 11 is a diagram showing an example of the hardware configuration of the computer. The computer in FIG. 11 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, etc., which are all connected to each other by a bus BS. The computer may further include a GPU. The auxiliary storage device 1002 and the memory device 1003 may be collectively referred to as a storage device. The address management unit 13 is realized using a storage device.

 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。 The program that realizes the processing on the computer is provided by a recording medium 1001, such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 via the drive device 1000 into the auxiliary storage device 1002. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.

 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。 When an instruction to start a program is received, the memory device 1003 reads out and stores the program from the auxiliary storage device 1002. The CPU 1004 realizes the functions related to the device in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network, etc. The display device 1006 displays a GUI (Graphical User Interface) based on a program, etc. The input device 1007 is composed of a keyboard and mouse, buttons, a touch panel, etc., and is used to input various operational instructions. The output device 1008 outputs the results of calculations.

 (実施の形態のまとめ)
 本実施の形態の通信システムでは、1つ以上のネットワークで接続する複数の中継装置10を介して端末間でデータ送信を行う。各中継装置10にてトランスポート層(L4)で通信を終端し、中継装置10間で複数のストリーム通信あるいはデータグラム通信を1つのトランスポート接続内に多重化し、1つ以上のネットワーク経由で転送する。
(Summary of the embodiment)
In the communication system of this embodiment, data is transmitted between terminals via multiple relay devices 10 connected by one or more networks. Each relay device 10 terminates communication at the transport layer (L4), and multiple stream communications or datagram communications are multiplexed between the relay devices 10 into one transport connection and transferred via one or more networks.

 中継装置10は、端末から送信されたパケットの宛先アドレスの変換を行う。また、中継装置10は、パケットの元の送受信アドレスと、中継装置10間のトランスポート接続で用いるフロー識別子を対応付け、対向の中継装置10へフロー識別子と送受信アドレスを通知する。 The relay device 10 converts the destination address of the packet sent from the terminal. The relay device 10 also associates the original sending and receiving addresses of the packet with the flow identifier used in the transport connection between the relay devices 10, and notifies the opposing relay device 10 of the flow identifier and sending and receiving addresses.

 また、中継装置10は、転送元パケットのフラグメント識別子を確認し、フラグメント識別子が存在する場合に、当該転送元パケットに変更を加えずに、当該転送元パケットを、中継装置10間のトランスポート接続を用いて転送することができる。 In addition, the relay device 10 checks the fragment identifier of the source packet, and if a fragment identifier is present, the relay device 10 can forward the source packet using the transport connection between the relay devices 10 without making any changes to the source packet.

 また、中継装置10は、転送元パケットのペイロード長あるいは送信頻度に基づいて、中継装置10間のトランスポート接続において、転送方法を切り替えることができる。転送方法としては、フロー識別子を付与する方法、あるいは、送受信アドレスを付与する方法等がある。 In addition, the relay device 10 can switch the transfer method in the transport connection between the relay devices 10 based on the payload length or transmission frequency of the source packet. Transfer methods include a method of assigning a flow identifier or a method of assigning a sending and receiving address.

 また、端末からのDNS問い合わせがDNSサーバ40に対して行われると、DNSサーバ40は、当該端末の通信についての、1つ以上の経由する中継装置10の転送設定,及び中継装置10間のトランスポート接続の転送方法を決定し、各中継装置10へ、転送元アドレス、転送先アドレス、利用ID等の情報を通知する。各中継装置10は、通知された情報を登録し、データ転送時に、登録された情報を使用する。 When a DNS query is made from a terminal to the DNS server 40, the DNS server 40 determines the transfer settings of one or more relay devices 10 through which the terminal's communications will pass, and the transfer method of the transport connection between the relay devices 10, and notifies each relay device 10 of information such as the transfer source address, transfer destination address, and usage ID. Each relay device 10 registers the notified information and uses the registered information when transferring data.

 (効果について)
 以上説明した本実施の形態に係る技術により、従来技術のMASQUE等のプロキシ、及びトンネリングプロトコルに対応していないTCP、UDP、あるいはIPを用いるアプリケーションに関しても、複数回線を利用した転送が可能となる。
(About the effects)
The technology according to the present embodiment described above makes it possible to transfer data using multiple lines even for applications that use TCP, UDP, or IP that do not support conventional proxies such as MASQUE, or tunneling protocols.

 また、暗号化、複数回線の品質管理、輻輳制御を中継装置において集中処理することが可能となるため、計算リソースの利用効率、及びネットワークの利用効率が向上する。また、本実施の形態に係る技術により、HTTP等の上位プロトコルを利用すること無くデータの転送が可能となる。 In addition, encryption, quality management of multiple lines, and congestion control can be centrally processed in the relay device, improving the efficiency of computational resource utilization and network utilization. Furthermore, the technology according to this embodiment makes it possible to transfer data without using higher-level protocols such as HTTP.

 また、実施例1の図3、図4等で示したとおり、中継装置10は、転送元のトランスポートプロトコル(TCP/UDP)を終端し、ペイロードのみを元のトランスポートプロトコルに合わせた転送方式(それぞれQUIC stream/ datagram)で転送する。 Also, as shown in Figures 3 and 4 of the first embodiment, the relay device 10 terminates the transport protocol (TCP/UDP) of the transfer source, and transfers only the payload using a transfer method (QUIC stream/datagram, respectively) that matches the original transport protocol.

 これにより、単純にIP /UDP/TCPパケットをトンネリングする場合と比較してパケットヘッダサイズを減らすことができる。更にTCPの場合は、端末間のTCPと中継装置間のQUICで2重にトラヒック制御(輻輳制御等)が行われるので、制御間が競合することを回避できる。 This makes it possible to reduce the packet header size compared to simply tunneling IP/UDP/TCP packets. Furthermore, in the case of TCP, traffic control (congestion control, etc.) is performed twice, by TCP between terminals and QUIC between relay devices, which helps to avoid conflicts between the controls.

 以上の実施形態に関し、更に以下の付記を開示する。 The following notes are further provided with respect to the above embodiment.

 <付記>
(付記項1)
 1つ以上のネットワークで接続される複数の中継装置を備える通信システムを構成する中継装置であって、
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 少なくとも、端末間の通信の送受信アドレスを前記メモリに登録し、
 端末から受信したパケットの宛先アドレスの変換を行い、
 宛先アドレス変換後のパケットを受信し、前記メモリを参照することにより、中継装置間のトランスポートコネクションを用いて前記パケットのデータを転送する
 中継装置。
(付記項2)
 前記プロセッサは、前記送受信アドレスと、前記トランスポートコネクションで用いるフロー識別子とを対応付けて登録し、前記送受信アドレスと前記フロー識別子とを、対向の中継装置へ通知し、
 前記プロセッサは、前記パケットの転送元のトランスポートプロトコルを終端し、前記パケットのペイロードのみを元のトランスポートプロトコルに合わせた転送方式で転送する
 付記項1に記載の中継装置。
(付記項3)
 前記プロセッサは、端末から受信したIPパケットのフラグメントが有効であるか否かを確認し、有効である場合に、当該IPパケットのアドレス変換を行うことなく、当該IPパケットを転送する
 付記項1又は2に記載の中継装置。
(付記項4)
 前記プロセッサは、端末から受信したパケットのペイロード長又は転送頻度に基づいて、パケットの転送方法を決定する
 付記項1ないし3のうちいずれか1項に記載の中継装置。
(付記項5)
 前記プロセッサは、前記送受信アドレスと、中継装置間のトランスポートコネクションで用いるポート番号とを対応付けて登録し、前記ポート番号を用いるパスの追加を行い、追加されたパスを用いて、前記送受信アドレスを、対向の中継装置へ通知する
 付記項1ないし4のうちいずれか1項に記載の中継装置。
(付記項6)
 端末からDNSサーバへの問い合わせを契機として、前記プロセッサは、前記DNSサーバから、アドレス情報、及び、前記トランスポートコネクションで用いるフロー識別子を受信し、登録する
 付記項1ないし5のうちいずれか1項に記載の中継装置。
(付記項7)
 1つ以上のネットワークで接続される複数の中継装置を備える通信システムを構成する中継装置が実行する中継方法であって、
 少なくとも、端末間の通信の送受信アドレスを記憶装置に登録するステップと、
 端末から受信したパケットの宛先アドレスの変換を行うステップと、
 宛先アドレス変換後のパケットを受信し、前記記憶装置を参照することにより、中継装置間のトランスポートコネクションを用いて前記パケットのデータを転送するステップと
 を備える中継方法。
(付記項8)
 コンピュータを、付記項1ないし6のうちいずれか1項に記載の中継装置における各部として機能させるためのプログラムを記憶した非一時的記憶媒体。
<Additional Notes>
(Additional Note 1)
A relay device constituting a communication system including a plurality of relay devices connected to one or more networks,
Memory,
at least one processor coupled to the memory;
Including,
The processor,
At least a sending and receiving address for communication between the terminals is registered in the memory;
Converts the destination address of packets received from the terminal,
A relay device receives a packet after destination address translation, and transfers data of the packet using a transport connection between the relay devices by referring to the memory.
(Additional Note 2)
the processor registers the sending and receiving addresses and a flow identifier used in the transport connection in association with each other, and notifies a peer relay device of the sending and receiving addresses and the flow identifier;
2. The relay device according to claim 1, wherein the processor terminates a transport protocol of a source of the packet and transfers only a payload of the packet using a transfer method that matches the source transport protocol.
(Additional Note 3)
The relay device according to claim 1 or 2, wherein the processor checks whether a fragment of an IP packet received from a terminal is valid, and if the fragment is valid, forwards the IP packet without performing address conversion on the IP packet.
(Additional Note 4)
4. The relay device according to claim 1, wherein the processor determines a packet forwarding method based on a payload length or a forwarding frequency of the packet received from the terminal.
(Additional Note 5)
The relay device described in any one of appendix 1 to 4, wherein the processor registers the sending and receiving addresses and a port number used in a transport connection between the relay devices in association with each other, adds a path using the port number, and notifies the opposing relay device of the sending and receiving addresses using the added path.
(Additional Note 6)
6. The relay device according to claim 1, wherein, in response to a query from a terminal to a DNS server, the processor receives and registers address information and a flow identifier used in the transport connection from the DNS server.
(Additional Note 7)
A relay method executed by a relay device constituting a communication system including a plurality of relay devices connected by one or more networks, comprising:
A step of registering at least a sending address and a receiving address for communication between the terminals in a storage device;
converting a destination address of a packet received from a terminal;
receiving the packet after the destination address translation, and transferring data of the packet using a transport connection between relay devices by referring to the storage device.
(Additional Note 8)
A non-transitory storage medium storing a program for causing a computer to function as each unit in the relay device according to any one of claims 1 to 6.

 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The present embodiment has been described above, but the present invention is not limited to this specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention as described in the claims.

1~n 端末
1´~n´ 端末
10 中継装置
11 アドレス変換部
12 トランスポート部
13 アドレス管理部
20 ネットワーク
30 広域ネットワーク
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
1 to n Terminals 1' to n' Terminal 10 Relay device 11 Address conversion unit 12 Transport unit 13 Address management unit 20 Network 30 Wide area network 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU
1005 Interface device 1006 Display device 1007 Input device 1008 Output device

Claims (8)

 1つ以上のネットワークで接続される複数の中継装置を備える通信システムを構成する中継装置であって、
 少なくとも、端末間の通信の送受信アドレスを登録するアドレス管理部と、
 端末から受信したパケットの宛先アドレスの変換を行うアドレス変換部と、
 前記アドレス変換部から、宛先アドレス変換後のパケットを受信し、前記アドレス管理部を参照することにより、中継装置間のトランスポートコネクションを用いて前記パケットのデータを転送するトランスポート部と
 を備える中継装置。
A relay device constituting a communication system including a plurality of relay devices connected to one or more networks,
an address management unit that registers at least a sending address and a receiving address for communication between terminals;
an address translation unit that translates the destination address of a packet received from a terminal;
a transport unit that receives a packet after destination address translation from the address translation unit, and transfers data of the packet using a transport connection between relay devices by referring to the address management unit.
 前記アドレス管理部は、前記送受信アドレスと、前記トランスポートコネクションで用いるフロー識別子とを対応付けて登録し、前記送受信アドレスと前記フロー識別子とを、対向の中継装置へ通知し、
 前記トランスポート部は、前記パケットの転送元のトランスポートプロトコルを終端し、前記パケットのペイロードのみを元のトランスポートプロトコルに合わせた転送方式で転送する
 請求項1に記載の中継装置。
the address management unit registers the sending and receiving addresses and a flow identifier used in the transport connection in association with each other, and notifies a peer relay device of the sending and receiving addresses and the flow identifier;
The relay device according to claim 1 , wherein the transport unit terminates a transport protocol of a source of the packet and transfers only a payload of the packet in a transfer method that matches the source transport protocol.
 前記アドレス変換部は、端末から受信したIPパケットのフラグメントが有効であるか否かを確認し、有効である場合に、当該IPパケットのアドレス変換を行うことなく、当該IPパケットを前記トランスポート部へ転送する
 請求項1に記載の中継装置。
The relay device according to claim 1, wherein the address conversion unit checks whether a fragment of an IP packet received from a terminal is valid, and if the fragment is valid, transfers the IP packet to the transport unit without performing address conversion on the IP packet.
 前記アドレス変換部は、端末から受信したパケットのペイロード長又は転送頻度に基づいて、パケットの転送方法を決定する
 請求項1に記載の中継装置。
The relay device according to claim 1 , wherein the address conversion unit determines a packet transfer method based on a payload length or a transfer frequency of the packet received from the terminal.
 前記アドレス管理部は、前記送受信アドレスと、中継装置間のトランスポートコネクションで用いるポート番号とを対応付けて登録し、前記トランスポート部へ前記ポート番号を用いるパスの追加を指示し、追加されたパスを用いて、前記送受信アドレスを、対向の中継装置へ通知する
 請求項1に記載の中継装置。
The relay device according to claim 1, wherein the address management unit registers the sending and receiving addresses in correspondence with a port number used in a transport connection between the relay devices, instructs the transport unit to add a path using the port number, and notifies the opposing relay device of the sending and receiving addresses using the added path.
 端末からDNSサーバへの問い合わせを契機として、前記アドレス管理部は、前記DNSサーバから、アドレス情報、及び、前記トランスポートコネクションで用いるフロー識別子を受信し、登録する
 請求項1に記載の中継装置。
2. The relay device according to claim 1, wherein, in response to an inquiry from a terminal to a DNS server, the address management unit receives and registers address information and a flow identifier used in the transport connection from the DNS server.
 1つ以上のネットワークで接続される複数の中継装置を備える通信システムを構成する中継装置が実行する中継方法であって、
 少なくとも、端末間の通信の送受信アドレスを記憶装置に登録するステップと、
 端末から受信したパケットの宛先アドレスの変換を行うステップと、
 宛先アドレス変換後のパケットを受信し、前記記憶装置を参照することにより、中継装置間のトランスポートコネクションを用いて前記パケットのデータを転送するステップと
 を備える中継方法。
A relay method executed by a relay device constituting a communication system including a plurality of relay devices connected by one or more networks, comprising:
A step of registering at least a sending address and a receiving address for communication between the terminals in a storage device;
converting a destination address of a packet received from a terminal;
receiving the packet after the destination address translation, and transferring data of the packet using a transport connection between relay devices by referring to the storage device.
 コンピュータを、請求項1ないし6のうちいずれか1項に記載の中継装置における各部として機能させるためのプログラム。 A program for causing a computer to function as each unit in a relay device according to any one of claims 1 to 6.
PCT/JP2023/020280 2023-05-31 2023-05-31 Relay device, relay method, and program WO2024247165A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/020280 WO2024247165A1 (en) 2023-05-31 2023-05-31 Relay device, relay method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/020280 WO2024247165A1 (en) 2023-05-31 2023-05-31 Relay device, relay method, and program

Publications (1)

Publication Number Publication Date
WO2024247165A1 true WO2024247165A1 (en) 2024-12-05

Family

ID=93657056

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/020280 WO2024247165A1 (en) 2023-05-31 2023-05-31 Relay device, relay method, and program

Country Status (1)

Country Link
WO (1) WO2024247165A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001345854A (en) * 2000-03-27 2001-12-14 Matsushita Electric Ind Co Ltd Method, system and device for communicating packet between networks
JP2005535230A (en) * 2002-08-06 2005-11-17 モトローラ・インコーポレイテッド Method and apparatus for achieving seamless handoff between IP connections
JP2006222993A (en) * 1997-09-22 2006-08-24 Toshiba Corp Gateway device and radio terminal
JP2015070583A (en) * 2013-10-01 2015-04-13 株式会社東芝 Communication system
JP2022079634A (en) * 2017-12-01 2022-05-26 富士通株式会社 Communication relay device and data relay method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006222993A (en) * 1997-09-22 2006-08-24 Toshiba Corp Gateway device and radio terminal
JP2001345854A (en) * 2000-03-27 2001-12-14 Matsushita Electric Ind Co Ltd Method, system and device for communicating packet between networks
JP2005535230A (en) * 2002-08-06 2005-11-17 モトローラ・インコーポレイテッド Method and apparatus for achieving seamless handoff between IP connections
JP2015070583A (en) * 2013-10-01 2015-04-13 株式会社東芝 Communication system
JP2022079634A (en) * 2017-12-01 2022-05-26 富士通株式会社 Communication relay device and data relay method

Similar Documents

Publication Publication Date Title
JP3494610B2 (en) IP router device with TCP termination function and medium
US7653075B2 (en) Processing communication flows in asymmetrically routed networks
WO2019007209A1 (en) Multipath data transmission processing method, and network device
US20030009559A1 (en) Network system and method of distributing accesses to a plurality of server apparatus in the network system
US12192094B2 (en) Method and apparatus of automatic route optimization in a private virtual network for client devices of a local network
JP5020970B2 (en) Providing independent compression server in network and method, network station and DHCP server
US6327626B1 (en) Method and apparatus for MSS spoofing
EP2288088A1 (en) Process method, system and device for binding/unbinding
CN101296238A (en) Method and equipment for remaining persistency of security socket layer conversation
JP2005537764A (en) Mechanism for providing QoS in a network using priority and reserve bandwidth protocols
JP6777650B2 (en) Methods and systems for scheduling packets in TCP tunnels and bundling scenarios based on native TCP information
WO2007036160A1 (en) An apparatus, system and method for realizing communication between the client and the server
US11736407B2 (en) Method and apparatus for load balancing and packet re-sequencing on network
AU2019261208B2 (en) System and method for accelerating data delivery
WO2014000591A1 (en) Method, device, and system for routing function activation and data transmission
CN105531967B (en) Message transmission method, device and communication system
WO2021008591A1 (en) Data transmission method, device, and system
CN110740093B (en) A data forwarding device based on virtual host
Sun et al. Multipath ip routing on end devices: Motivation, design, and performance
WO2024247165A1 (en) Relay device, relay method, and program
CN117460085A (en) Individual PFCP session model for residential gateway network access
CN108040132B (en) System for realizing conversion from RapidIO to gigabit gateway protocol
CN110381007A (en) TCP accelerating method and device
CN105072057A (en) Intermediate switch equipment for network data transmission, and network communication system
JP5840575B2 (en) Multi-home communication method and system

Legal Events

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

Ref document number: 23939640

Country of ref document: EP

Kind code of ref document: A1