Communication system, communication device, and communication method

The communication system addresses latency discrepancies in WAN switching by adjusting packet transmission timing based on delay measurements, ensuring consistent and uninterrupted data transfer across networks.

WO2026003933A1PCT designated stage Publication Date: 2026-01-02NT T INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/022903
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-24
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing communication systems experience delays and interruptions when switching between wide area networks (WANs) due to differences in latency, causing packets to arrive out of order or be delayed, which can lead to malfunctions or perceived communication interruptions.

Method used

A communication system that adjusts packet transmission timing based on delay measurements of multiple WANs, using devices with acquisition and adjustment units to synchronize packet delivery across different networks, ensuring consistent arrival times.

Benefits of technology

The system effectively absorbs delay differences during WAN switching, preventing packet order reversal and maintaining continuous communication by synchronizing transmission timing with delay values.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024022903_02012026_PF_FP_ABST
    Figure JP2024022903_02012026_PF_FP_ABST
Patent Text Reader

Abstract

This communication system transfers a packet from a communication device to another communication device by using WANs. In order to make it possible to absorb a delay difference occurred when the WANs have been switched, the communication system transfers a packet from the communication device to the other communication device via a VPN using the WANs. The communication device has an acquisition unit that acquires delay values of a plurality of WANs, and an adjustment unit that adjusts the transmission timing of the packet on the basis of the delay values when switching the WANs.
Need to check novelty before this filing date? Find Prior Art

Description

COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND COMMUNICATION METHOD

[0001] The present invention relates to a communication system, a communication device, and a communication method.

[0002] 2. Description of the Related Art There is a communication system that can transfer packets from a communication device to another communication device via a VPN (Virtual Private Network) by switching an upstream network.

[0003] For example, Non-Patent Documents 1 and 2 disclose encapsulation techniques for IP packets and Ethernet (registered trademark) frames that can store arbitrary data, such as adding an IPv6 header and a Segment Routing Header (SRH) and inserting an SRH.

[0004] Furthermore, Patent Document 1 discloses a mechanism in which a controller is deployed that holds the relationship between the global IP address of the CPE and the EID of the terminal subordinate to the CPE, and the controller is inquired about the encapsulation rules and an encapsulated packet is sent out.

[0005] RFC8402 Segment Routing Architecture.RFC8986 Segment Routing over IPv6 (SRv6) Network Programming.

[0006] International Publication No. 2021 / 106201

[0007] For example, when switching between WANs, the technology disclosed in Patent Document 1 may cause the delays of the WANs to differ. Therefore, when switching from high latency to low latency, the order in which packets arrive may be reversed. In this case, the receiving buffer size may be exceeded, causing the receiving device to malfunction. Furthermore, when switching from low latency to high latency, there may be a period of time during which packets do not arrive, which may cause the receiving device to recognize a communication interruption.

[0008] An embodiment of the present invention has been made in consideration of the above-mentioned problems, and makes it possible to absorb delay differences that occur when switching WANs in a communication system in which packets are transferred from a communication device to another communication device using a WAN.

[0009] In order to solve the above problem, a communication system according to an embodiment of the present invention is a communication system that transfers packets from a communication device to another communication device using a WAN, and the communication device has an acquisition unit that acquires delay values ​​of multiple WANs, and an adjustment unit that adjusts the transmission timing of packets based on the delay values ​​when switching the WAN.

[0010] According to an embodiment of the present invention, in a communication system in which packets are transferred from a communication device to another communication device using a WAN, it becomes possible to absorb delay differences that occur when switching between WANs.

[0011] 1 is a diagram illustrating an example of a system configuration of a communication system according to the present embodiment. FIG. 2 is a diagram illustrating an example of a functional configuration of a device-side GW according to the present embodiment. FIG. 3 is a diagram illustrating an example of a functional configuration of an edge-side GW according to the present embodiment. FIG. 4 is a sequence diagram illustrating an example of a delay value acquisition process according to the present embodiment. FIG. 5 is a diagram illustrating an image of a packet transmitted by a device-side terminal according to the present embodiment. FIG. 6 is a diagram illustrating an image of a packet transmitted by a device-side GW according to the present embodiment. FIG. 7 is a diagram illustrating an image of a delay DB according to the present embodiment. FIG. 8 is a sequence diagram (1) illustrating an example of a transmission timing adjustment process according to the present embodiment. FIG. 9 is a diagram illustrating an image of a process when La - Lb > 0 according to the present embodiment. FIG. 10 is a sequence diagram (2) illustrating an example of a transmission timing adjustment process according to the present embodiment. FIG. 11 is a diagram illustrating an image of a process when La - Lb < 0 according to the present embodiment. FIG. 12 is a diagram illustrating an example of a computer hardware configuration.

[0012] Hereinafter, an embodiment of the present invention 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 applied is not limited to the following embodiment.

[0013] <Overview> (Background) Encapsulation techniques are known that involve adding an IPv6 header / SRH (Segment Routing Header) to an IP packet / Ethernet (registered trademark) frame, which can store any data, or inserting an SRH (see, for example, Non-Patent Documents 1 and 2).

[0014] Also, a mechanism is known in which a controller is deployed that holds the relationship between the global IP address of a CPE (Customer Premises Equipment) and the ID of a terminal subordinate to the CPE, and the controller is inquired about encapsulation rules and an encapsulated packet is sent (see, for example, Patent Document 1).

[0015] (Problem) Possible communication paths between VPN-GWs (Virtual Private Networks - Gateways) include LANs (Local Area Networks) and / or WANs (Wide Area Networks). These communication paths include wireless and wired types. These communication paths have a wide range of characteristics, such as installation costs, usage costs, quality (e.g., latency and bandwidth), and robustness against congestion.

[0016] For example, in communications requiring high reliability, low latency, and low cost, such as remote vehicle driving, it is desirable to deploy multiple lines between the VPN and GW and switch lines depending on communication quality, latency, effective throughput, required cost, etc., which vary from one communication to another. For this reason, as shown in Patent Document 1, when sending encapsulated packets, the line to be used can be switched by switching the WAN I / F (Interface) used for sending as needed. In the following explanation, it is assumed that switching is performed from line A to line B, and the delay value of line A is La and the delay value of line B is Lb.

[0017] However, during this switching, the following events occur: (1) If La > Lb, packets run side by side (reversed order) for the time |La - Lb|. (In this explanation, it is assumed that the transmission interval between each packet is sufficiently short.) This is because the packet sent after switching to line B arrives at the opposite device before the last packet sent from line A arrives at the opposite device. (2) If La < Lb, there is a momentary interruption in the arrival of packets for the time |La - Lb|.

[0018] Therefore, in this embodiment, in a communication system in which packets are transferred from a communication device to another communication device using a WAN, it is possible to absorb the delay difference that occurs when switching between upstream networks.

[0019] <System Configuration> Fig. 1 is a diagram showing an example of the system configuration of a communication system according to this embodiment. The communication system 100 is a system that transfers packets from a device-side gateway (GW) 110 to an edge-side gateway (GW) 120 via a virtual private network (VPN) using wide area networks (WANs) 101a, 101b, and 101c. It is assumed that existing devices are used for the terminals 103a and 103b, the controller 130, and the like. It is also assumed that existing networks are used for the WANs 101a, 101b, and 101c, and the local area networks (LANs) 102a and 102b.

[0020] In the following description, "WAN 101" will be used to refer to any of WANs 101a, 101b, and 101c. "Terminal 103" will be used to refer to any of terminals 103a and 103b. "LAN 102" will be used to refer to any of LANs 102a and 102b.

[0021] In this specification, the term "WAN" refers to a network that connects bases, such as a field where devices exist or a cloud / edge where a DC is deployed. The configuration may be of any topology, such as a ring, star, or tree. The protocol used may be any protocol, such as OTN (Optical Transport Network) or Ethernet (registered trademark). The transmission medium may be any transmission medium, such as metal or optical.

[0022] Furthermore, the VPN referred to in this specification does not necessarily have to guarantee all or one or more of confidentiality, integrity, and authenticity, and therefore does not have to guarantee all or one or more of mechanisms such as encryption, message authentication, sender authentication, etc. In this embodiment, a method of specifying a communication path, such as SR-MPLS or SRv6, to realize transmission between communication nodes (for example, VPN-GW or a terminal incorporating the function of VPN-GW, etc.) is also considered to be one type of VPN.

[0023] The device-side GW 110 and the edge-side GW 120 are VPN-GWs that implement a VPN using SRv6 (Segment Routing over IPv6), which is segment routing that uses an extension header of IPv6 (Internet Protocol Version 6). In this embodiment, communication between the terminals 103a and 103b is assumed to occur via a VPN-GW that connects multiple sites.

[0024] The device-side GW (communication apparatus) 110 includes WAN I / Fs (Interfaces) 112a and 112b, which are upstream network interfaces, and a LAN I / F 111, which is a downstream network interface. The edge-side GW (another communication apparatus) 120 includes a WAN I / F 122, which is an upstream network interface, and a LAN I / F 121, which is a downstream network interface. The device-side GW 110 is an example of a communication apparatus according to this embodiment. The edge-side GW 120 is an example of another communication apparatus according to this embodiment.

[0025] 1, the number of VPN-GWs is two, but the number of VPN-GWs may be two or more. The number of WANs 101, which are upstream networks, may also be two or more. For example, the number of WANs 101 connected to the device-side GW 110 may be two or more (that is, the device-side GW 110 may switch between three or more WANs 101).

[0026] The device-side GW 110 and the edge-side GW 120 are equipped with a routing table and a routing function. These routing tables and routing functions may be configured as a single unit or as multiple units. When multiple units are configured, the routing table and routing function may be divided, for example, by VRF (Virtual Routing and Forwarding). This is illustrated in the present embodiment, but the present invention is not limited to this.

[0027] The device-side GW 110 and the edge-side GW 120 also have a policy information storage function required for packet transfer between the sites. Specifically, the device-side GW 110 and the edge-side GW 120 store encap and decap rules for packets circulating in communication between the terminals.

[0028] A network segment is configured under the LAN I / F 111 of the device-side GW 110 and under the LAN I / F 121 of the edge-side GW 120. The number of these network segments may be one or more. A terminal 103 is deployed in this network segment. Note that there may be multiple terminals 103 in this network segment.

[0029] Examples of terminals 103a under the device side GW 110 include computer devices that are operated by humans, such as mobile phones and PCs (Personal Computers), or that are automated and operate without human operation, or vehicle automatic driving control devices.

[0030] <Processing Overview> Next, an overview of the processing according to this embodiment will be described. For convenience, each connected site will be referred to as a "device" and an "edge", but this is merely an example.

[0031] This embodiment mainly comprises the following two techniques: 1) delay measurement processing during normal operation, and 2) timing adjustment processing during switching.

[0032] This embodiment is based on the following assumptions: The device-side GW 110 and the edge-side GW 120 are correctly time-synchronized. Packets to be forwarded are sent from the device-side GW 110 to the WAN 101, which is an upstream network.

[0033] (Delay measurement process under normal circumstances) When sending a packet received from the terminal 103a to the WAN 101 (for example, WAN 101a), the device-side GW 110 encapsulates the packet and executes packet processing (hereinafter referred to as encap processing) to set an SRH and an IPv6 outer header. At this time, the device-side GW 110 writes the current date and time or a timestamp indicating the time into the SRH.

[0034] The edge-side GW 120 performs packet processing (hereinafter referred to as decap processing) to remove the SRH from the arriving packet and forward the packet from which the SRH has been removed to the destination. At this time, the edge-side GW 120 compares the timestamp written in the SRH with the current time to calculate the outbound delay value of the WAN at that time.

[0035] When encap processing is performed on packets to be transmitted to the device side after that time, the edge-side GW 120 writes the calculated forward path delay value into the SRH and transmits it to the WAN 101 .

[0036] The device-side GW 110 executes decap processing on the arriving packet, acquires the forward path delay value described in the SRH, and stores the delay value of the WAN (for example, the forward path delay value, or the forward path delay value and the return path delay value, etc.) in a storage unit or the like.

[0037] In the above explanation, a method of measuring delay by taking advantage of application processing of the terminal 103, etc., has been described, but this is not limited to this. For example, communication for updating the delay values ​​of multiple WANs 101 may be generated between the device-side GW 110 and the edge-side GW 120 at any timing.

[0038] (Timing Adjustment Processing During Switching) Here, the operation that starts immediately after the selection policy of the routing table to be referenced is changed based on an instruction from the controller 130 for the purpose of switching the WAN 101 to be used will be described.

[0039] The device-side GW 110 compares the delay values ​​La and Lb of line A (e.g., WAN 101a) and line B (e.g., WAN 101b) stored in a storage unit or the like. If La - Lb = 0, the device-side GW 110 immediately switches the line. If La - Lb > 0, the device-side GW 110 executes the following process (A). If La - Lb < 0, the device-side GW 110 executes the following process (B).

[0040] Processing (A) The device-side GW 110 stops sending packets to line A. The device-side GW 110 waits for a time period |La-Lb| while keeping packet sending to line B stopped. After that time period has elapsed, the device-side GW 110 resumes sending packets to line B.

[0041] Processing (B) The device-side GW 110 continues packet transmission at intervals between packet transmissions to line A (for example, the interval between packets is set to 10 ms or more). During this time, the device-side GW 110 buffers newly arriving packets. The device-side GW 110 repeats the same processing until the number of buffered packets exceeds |La-Lb| / 10. The device-side GW 110 starts transmitting new packets to line B, and simultaneously transmits buffered packets scheduled to be transmitted on line A at 10 ms intervals.

[0042] The above timing control has been described as a method for performing the timing control even when the difference between La and Lb is small, but instead, the device-side GW 110 may omit operations such as switching without performing timing control when |La - Lb| < 10 ms. Also, when La - Lb > 0 or La - Lb < 0, either of the processes (A) or (B) may be omitted.

[0043] [Example] <Functional Configuration> (Functional Configuration of Device-Side GW) Fig. 2 is a diagram showing an example of the functional configuration of the device-side GW 110. As shown in Fig. 2, the device-side GW (communication apparatus) 110 includes functional components such as a first transmitting unit 201, a first receiving unit 202, an acquiring unit 203, an adjusting unit 204, a first transmitting / receiving unit 205, a storage unit 206, and a communication control unit 107.

[0044] For example, the device-side GW 110 has a computer configuration and realizes the above-mentioned functional configurations by executing a predetermined program on the computer. Note that at least a part of the above-mentioned functional configurations may be realized by hardware.

[0045] The first transmitting unit 201 executes a first transmitting process of adding a timestamp to the header of a packet (hereinafter referred to as a first packet) transmitted by the device-side GW (communication apparatus) 110 and transmitting the packet to an edge-side GW (another communication apparatus) via the WAN 101. For example, the first transmitting unit 201 encapsulates a packet transmitted by the terminal 103a and writes a timestamp to the SRH in an encap process of setting an SRH and an IPv6 outer header, and sends the encapsulated first packet to the WAN 101.

[0046] The first receiving unit 202 executes a first receiving process to receive a packet from the WAN 101. For example, the first receiving unit 202 receives an encapsulated packet (hereinafter referred to as a second packet) transmitted by the edge-side GW 120 via the WAN 101. The first receiving unit 202 also executes a decap process to remove the SRH from the second packet and transfer the packet from which the SRH has been removed to the LAN 102a side.

[0047] The acquisition unit 203 executes an acquisition process to acquire delay values ​​of a plurality of WANs 101 (e.g., WANs 101a, 101b, ...). For example, the SRH of the second packet received by the first receiving unit 202 from the edge-side GW 120 includes the delay value of the first packet transmitted by the first transmitting unit 201 via the WAN 101. The acquisition unit 203 acquires the delay value of the WAN 101 transmitted by the first transmitting unit 201 from the SRH of the second packet received by the first receiving unit 202. Note that the delay value acquired by the acquisition unit 203 includes at least the aforementioned outbound path delay value.

[0048] When switching the WAN 101 used for the VPN, the adjustment unit 204 executes a transmission timing adjustment process to adjust the packet transmission timing based on the delay value acquired by the acquisition unit 203. For example, when switching the first WAN used for the VPN to a second WAN having a smaller delay value than the first WAN, the adjustment unit 204 delays the start of packet transmission on the second WAN by the difference between the delay values ​​of the first WAN and the second WAN. However, this is not limited thereto, and the adjustment unit 204 may delay the packet transmission by at least the difference between the delay values ​​of the first WAN and the second WAN (for example, by adding a predetermined value to the difference between the delay values).

[0049] Furthermore, when switching from the first WAN used for the VPN to the second WAN having a larger delay value than the first WAN, the adjustment unit 204 continues transmitting packets on the first WAN for a predetermined period of time with a transmission interval. Details of the transmission timing adjustment process performed by the adjustment unit 204 will be described later.

[0050] The first transmitting / receiving unit 205 executes a first transmitting / receiving process for transmitting and receiving packets to and from the terminal 103a in the LAN 102a, etc. The storage unit 206 stores various information, data, programs, etc., including, for example, the WAN use I / F policy 113 and delay values ​​of the multiple WANs 101 acquired by the acquisition unit 203. The communication control unit 207 manages a routing table and executes a communication control process for controlling the routing function.

[0051] 2 is an example. For example, the adjustment unit 204 may be provided inside the first transmission unit 201, and the acquisition unit 203 may be provided inside the first reception unit 202.

[0052] (Functional Configuration of Edge-Side GW) Fig. 3 is a diagram illustrating an example of the functional configuration of the edge-side GW (another communication device) 120. As shown in Fig. 3, the edge-side GW 120 includes, for example, a second receiving unit 301, a calculation unit 302, a second transmitting unit 303, a second transmitting / receiving unit 304, a storage unit 305, a communication control unit 306, and the like.

[0053] For example, the edge-side GW 120 has a computer configuration and realizes the above-mentioned functional configurations by executing a predetermined program on the computer. Note that at least a part of the above-mentioned functional configurations may be realized by hardware.

[0054] The second receiving unit 301 executes a second receiving process to receive a packet from the WAN 101. For example, the second receiving unit 301 receives a first packet transmitted by the device-side GW 110 via the WAN 101. The second receiving unit 301 also executes a decap process to remove the SRH from the first packet and transfer the packet from which the SRH has been removed to the LAN 102b side.

[0055] The calculation unit 302 executes a calculation process to calculate a delay value of the first packet received from the device-side GW 110, based on the timestamp included in the SRH (header) of the first packet received by the second receiving unit 301. For example, the calculation unit 302 calculates an outbound delay value, which is the difference between the current time and the timestamp included in the SRH, and stores the value in the delay DB 123 or the like.

[0056] The second transmitting unit 303 executes second transmitting unit processing to add the delay value of the first packet to the header of a packet (hereinafter referred to as the second packet) to be transmitted to the device-side GW (communication apparatus) 110 and transmit the packet to the device-side GW 110 via the WAN 101. For example, the second transmitting unit 303 encapsulates a packet transmitted by the terminal 103b and writes the delay value of the first packet to the SRH in the encap processing to set the SRH and the IPv6 outer header, and transmits the encapsulated second packet to the WAN 101. Here, the delay value of the first packet includes the outbound delay value calculated by the calculation unit 302.

[0057] The second transmitting / receiving unit 304 executes a second transmitting / receiving process for transmitting / receiving packets to / from the terminal 103b in the LAN 102b, etc. The storage unit 305 stores various information, data, programs, etc., including the delay DB 123, etc. The communication control unit 306 executes a communication control process for managing a routing table and controlling the routing function.

[0058] 3 is an example of the functional configuration of the edge-side GW 120. For example, the calculation unit 302 may be provided inside the second receiving unit 301.

[0059] <Processing Flow> Next, the processing flow of the communication method according to this embodiment will be described.

[0060] 4 is a sequence diagram showing an example of a delay value acquisition process according to the present embodiment. This process shows an example of a delay value acquisition process executed by the communication system 100 described with reference to FIGS.

[0061] In step S401, the terminal 103a transmits to the device-side GW 110 an IP packet in which the address of the terminal 103b, which is the opposing terminal, is set in the destination field of the IP header.

[0062] 5 is a diagram showing an example of a packet transmitted by a device-side terminal according to this embodiment. In the example of FIG. 5, the IPv4 address "192.168.2.10" of the terminal 103b is set in the destination address field (DST) of the header 501 of the packet 500. Note that the address of the terminal 103b may be an IPv6 address.

[0063] In step S402, the communication control unit 207 of the device-side GW 110 refers to its own policy management table, for example, and searches for an I / F using the 5-tuple information of the packet flow as a key.

[0064] In step S403, the communication control unit 207 of the device-side GW 110 refers to the relationship between the flow information and the I / F to be used that has been set in advance in itself, and acquires the WAN I / F policy.

[0065] In step S404, the communication control unit 207 of the device-side GW 110 refers to the WAN use I / F policy and determines the routing function to be used in the routing process of the packet received in step S401.

[0066] In step S405, the first transmitting unit 201 of the device-side GW 110 refers to the routing table, encaps the packet, and adds a timestamp to the SRH.

[0067] FIG. 6 is a diagram illustrating a packet transmitted by the device-side GW according to this embodiment. The first transmitter 201 generates a packet 600 by adding an SRH 602 and an IPv6 outer header 601 to the packet 500 received in S401. In this embodiment, the SRH 602 of the packet 600 includes, for example, a timestamp 603 indicating the date and time when the packet 600 was encapped. In the example of FIG. 6, the packet 600 was encapped at 13:19:56.99 on March 11, 2024. While the timestamp 603 written in the SRH 602 is written for human readability in FIG. 6, this is not limiting. For example, the timestamp 603 may be a 32-bit integer time data.

[0068] It should be noted that "[1]2001:db8:3::161" of the SRH 602 is identification information for identifying the WAN I / Fs 112a and 112b used. Also, "[2]2001:db8:2::160" of the SRH 602 indicates the destination of the packet.

[0069] In step S406, the first transmitting unit 201 of the device-side GW 110 sends the encapsulated packet 600 to the WAN 101 (for example, WAN 101a), which is an upstream line.

[0070] In step S407, the second receiving unit 301 of the edge-side GW 120 executes decap processing to remove the SRH 602 and the IPv6 outer header 601 from the arriving packet 600. At this time, the calculation unit 302 of the edge-side GW 120 acquires the timestamp 603 included in the SRH 602.

[0071] In step S408, the second receiving unit 301 of the edge-side GW 120 transfers the IP packet (packet 500) from which the SRH 602 and the IPv6 outer header 601 have been removed to the destination address.

[0072] In step S409, the calculation unit 302 of the edge-side GW 120 calculates an outbound delay value from the difference between the acquired timestamp and the time information managed by the edge-side GW 120. The calculation unit 302 also stores the calculated outbound delay value in, for example, a delay DB 700 as shown in FIG.

[0073] FIG. 7 is a diagram showing an image of a delay DB according to this embodiment. In the example of FIG. 7, the delay DB 700 includes information such as "GW ID," "WAN I / F ID," "storage date and time," and "outbound delay value" as items. "GW ​​ID" is identification information that identifies the device-side GW 110, etc. "WAN I / F ID" is identification information that identifies the WAN I / F used. "storage date and time" is information that indicates the date and time when the entry was stored. "Outbound delay value" is the outbound delay value calculated by the calculation unit 302.

[0074] In step S410, the terminal 103b transmits an IP packet in which the address of the opposite terminal, terminal 103a, is set in the destination field of the IP header to the edge-side GW 120. Here, the terminal 103b may be another terminal 103 (for example, terminal 103c) in the same segment as the terminal 103b. Furthermore, the terminal 103a may be another terminal 103 (for example, terminal 103d) in the same segment as the terminal 103a. Here, the following description will be given assuming that the terminal 103b transmits a packet to the terminal 103a.

[0075] In step S411, the communication control unit 306 of the edge-side GW 120 determines, by a predetermined method, a WAN I / F that will be the destination of the SRv6 packet when the packet is transmitted to the terminal 103a. For example, the communication control unit 306 may store the source address of the outbound SRv6 packet in the storage unit 305 or the like, and transmit the packet to the source address of the outbound SRv6 packet.

[0076] In step S412, the second transmitting unit 303 of the edge-side GW 120 refers to the routing table and performs encap processing on the packet. At this time, the second transmitting unit 303 searches the delay DB 700 using the destination GW ID and WAN I / F ID as keys, and adds the searched storage date and time, outbound path delay value, timestamp, etc. to the SRH.

[0077] In step S413, the second transmitting unit 303 of the edge-side GW 120 transmits the encapsulated packet to the WAN 101, which is the upstream line.

[0078] In step S414, the first receiving unit 202 of the device-side GW 110 executes decap processing to remove the SRH and the IPv6 outer header from the arriving packet. At this time, the acquiring unit 203 of the device-side GW 110 acquires the forward path delay value, the stored date and time, etc., included in the SRH.

[0079] In step S415, the first receiving unit 202 of the device-side GW 110 transfers the IP packet, from which the SRH and the IPv6 outer header have been removed, to the destination address.

[0080] In step S416, the acquisition unit 203 of the device-side GW 110 stores the forward path delay value, the stored date and time, etc., acquired from the SRH, in the storage unit 206, etc. Preferably, the acquisition unit 203 stores the GW ID, WAN I / F ID, forward path delay value, stored date and time, and round trip delay value of the edge-side GW 120 in the storage unit 206.

[0081] 4 is an example. For example, even if there is no IP packet from the terminal 103a, the device-side GW 110 may transmit a dummy packet, a delay value acquisition packet, or the like to the edge-side GW 120 and acquire the outbound delay value from the edge-side GW 120. The device-side GW 110 can acquire the delay values ​​of the multiple WANs 101a and 101b by performing similar processing in the multiple WANs 101a and 101b.

[0082] (Transmission Timing Adjustment Process) Fig. 8 is a sequence diagram showing an example of the transmission timing adjustment process according to this embodiment. This process shows an example of the transmission timing adjustment process executed by the communication system 100 described with reference to Figs.

[0083] In step S801, it is assumed that packets are periodically transmitted from the terminal 103a to the terminal 103b.

[0084] In step S802, it is assumed that the WAN-used I / F policy 113 of the device-side GW 110 is updated. For example, it is assumed that the WAN-used I / F associated with 5-tuple information in a certain packet flow is changed. More specifically, it is assumed that the WAN 101 used for VPN is switched from WAN 101a to WAN 101b. The WAN-used I / F policy 113 may be changed in response to an instruction sent from the controller 130 on a regular or irregular basis, or may be changed autonomously by the device-side GW 110. The WAN-used I / F policy 113 may be changed in cooperation with an external device through API (Application Programming Interface) control or the like, or may be changed manually by a system operator.

[0085] In step S803, it is assumed that a packet that is periodically transmitted from the terminal 103a to the terminal 103b newly arrives at the device-side GW 110.

[0086] In step S804, when a packet that is periodically transmitted arrives after the WAN usage I / F policy 113 is changed, the adjustment unit 204 of the device-side GW 110 calculates the value of (La - Lb), where La is the delay value of the source WAN 101, and Lb is the delay value of the destination WAN 101. Here, it is assumed that the source WAN 101 is WAN 101a and the destination WAN 101 is WAN 101b.

[0087] If (La - Lb) > 0, the communication system 100 executes process 810 of steps S811 to S814. If (La - Lb) = 0, the communication system 100 executes process 820 of steps S821 to S822. If (La - Lb) < 0, the communication system 100 executes process 830 of steps S831 to S834 in FIG. 10.

[0088] (Process 810) If (La-Lb)>0, the communication system 100 executes the following process.

[0089] In step 811, the first transmitting unit 201 of the device-side GW 110 stops transmitting packets to the switching source WAN 101a.

[0090] In step S812, the first transmitting unit 201 of the device-side GW 110 stores packets that subsequently arrive from the terminal 103a in a queue.

[0091] In step S813, the first transmitting unit 201 of the device-side GW 110 waits for a time period |La-Lb|.

[0092] In step S814, the first transmitter 201 of the device-side GW 110 resumes packet transmission on the WAN 101b, which is the switching destination. When resuming packet transmission, the first transmitter 201 may transfer the packets stored in the queue sequentially in bursts, or may transfer them sequentially at regular intervals, but is not limited to these. The first transmitter 201 performs packet encap processing and transmits the encapsulated packets using a routing function used in routing processing for transmitting packets to the WAN 101b in accordance with the updated policy management table.

[0093] 9 is a diagram showing an image of processing when La - Lb > 0 according to this embodiment. As shown in Fig. 9, it is assumed that multiple packets 901 are transmitted sequentially from the terminal 103a to the device-side GW 110. It is also assumed that the WAN-used I / F policy is updated at time t1.

[0094] In this case, first transmitting unit 201 transmits packet 902, which arrived before time t1, out of multiple packets 901, to WAN 101a. Also, first transmitting unit 201 stores packets that arrived after time t1 in queue 903, and after a time |La-Lb| has elapsed, transmits packet 904 stored in queue 903 and newly received packet 905 to WAN 101b.

[0095] (Process 820) If (La-Lb)=0, the communication system 100 executes, for example, the following process.

[0096] In step S821, the communication control unit 207 of the device-side GW 110 refers to the WAN use I / F policy and determines the routing function to be used in the routing process of the packet received in step S401.

[0097] In step S822, the first transmitting unit 201 of the device-side GW 110 refers to the routing table and starts packet transmission via the WAN 101b.

[0098] (Process 830) If (La-Lb)<0, the communication system 100 executes the following process.

[0099] 10, the first transmitter 201 of the device-side GW 110 continues encap processing of packets and sending them to the WAN 101a based on the values ​​before the update, even after the WAN use I / F policy 113 is updated. At this time, the first transmitter 201 continues sending them at intervals of a preset time value T (e.g., T=10 ms).

[0100] For example, if the interval between packets arriving from terminal 103a is shorter than T, first transmitting unit 201 continues to queue packets waiting to be sent. Also, if the interval between packets arriving from terminal 103a is longer than T, first transmitting unit 201 takes a packet from the head of the queue every time T and sends it to WAN 101a. Furthermore, if the interval between packets arriving from terminal 103a is longer than T and the queue is empty, first transmitting unit 201 allows the packet transmission interval to be longer than T and sends the packet.

[0101] In step S832, the first transmitting unit 201 of the device-side GW 110 waits, for example, until the number of packets accumulated in the queue becomes an integer greater than |La-Lb| / T, and after waiting, starts the processing of step S833 and the processing of step S834 simultaneously.

[0102] In step S833, the first transmitting unit 201 of the device-side GW 110 continues to send packets accumulated in the queue to the WAN 101a at intervals of T. However, packets arriving thereafter are not stored in the queue.

[0103] In step S834, the first transmitting unit 201 of the device-side GW 110 transmits the newly arrived packet to the WAN 101b. For example, the first transmitting unit 201 performs encap processing of the packet and transmits the encapsulated packet using a routing function used for routing processing for transmitting the packet to the WAN 101b in accordance with the updated policy management table.

[0104] 11 is a diagram illustrating an example of processing when La - Lb < 0 according to this embodiment. As shown in FIG. 11, a plurality of packets 1101 are transmitted sequentially from the terminal 103a to the device-side GW 110 at predetermined time intervals (e.g., 1 ms intervals). Also, it is assumed that the WAN-used I / F policy is updated at time t1.

[0105] In this case, the first transmitting unit 201 sends out a packet 1102, which arrived before time t1, out of the plurality of packets 1101, to the WAN 101a in accordance with the existing policy.

[0106] Furthermore, the first transmitting unit 201 continues encap processing of the packet 1103 that arrived after time t1 and sending it to the WAN 101a based on the value before the update. At this time, the first transmitting unit 201 continues sending the packet at intervals of a preset time value T (e.g., T=10 ms).

[0107] For example, if the interval between packets arriving from the terminal 103 a is shorter than T, the first transmitting unit 201 stores the packet 1103 waiting to be sent in the queue 1104 .

[0108] Furthermore, the first transmitting unit 201 of the device-side GW 110 waits until the number of packets accumulated in the queue 1104 becomes an integer greater than |La-Lb| / T, and after waiting, performs the following two processes simultaneously: 1) The first transmitting unit 201 of the device-side GW 110 continues to send packets 1103 accumulated in the queue 1104 to the WAN 101a at intervals of T. 2) The first transmitting unit 201 of the device-side GW 110 sends newly arrived packets 1105 to the WAN 101b.

[0109] (Supplementary Note) In the above explanation, in step 832 of FIG. 10, the process of waiting until the number of packets accumulated in the queue becomes an integer greater than |La-Lb| / T is described. However, with this method, if the interval between newly arriving packets is not small enough in step S831, the waiting time in step S832 becomes long or the waiting is not completed. To solve this problem, the device-side GW 110 may be equipped with either or both of the following two methods.

[0110] (Method 1) Dynamic Setting of Time Value T The device-side GW 110 may dynamically set the time value T without setting it in advance, or by referring to a preset value. Possible methods for dynamic setting include calculation from the arrival interval of the most recent packets, manual input by an administrator, or automatic setting from an external terminal such as the device-side terminal 103 a.

[0111] Here, an overview of the process for performing calculations from the most recent packet arrival interval is explained. For example, the device-side GW 110 repeats the following procedure every second. The repetition period begins and ends one second after the time when the second value becomes an integer value. 1) The device-side GW 110 counts the number of arriving packets (hereinafter referred to as a) from n-1 seconds to n seconds. 2) The device-side GW 110 sets the time value T to (1 / a) * 2 and overwrites it in memory.

[0112] When a=0, the above division does not hold, so the time value T is set as a=1.

[0113] (Method 2) Setting a Switching Timeout In step S832 of Fig. 10, a switching timeout is set. The timeout value may be set in advance or may be set dynamically. Here, a method for setting the timeout in advance will be described.

[0114] Specifically, the process of step S832 in FIG. 10 is changed as follows.

[0115] In step S832, the first transmitting unit 201 of the device-side GW 110 waits until the number of packets accumulated in the queue becomes an integer greater than |La-Lb| / T. However, if a preset switching timeout period or more has elapsed, the first transmitting unit 201 ends the wait.

[0116] After waiting, the first transmitting unit 201 simultaneously starts the process of step S833 and the process of step S834. However, if the number of packets accumulated in the queue is 0, the process of step S833 is omitted.

[0117] <Hardware Configuration> The device-side GW (communication apparatus) 110 and the edge-side GW (other communication apparatus) 120 according to this embodiment have the hardware configuration of a computer 1200 as shown in FIG. 12, for example.

[0118] 12 is a diagram illustrating an example of the hardware configuration of a computer. In the example of Fig. 12, a computer 1200 includes a processor 1001, a memory 1002, a storage device 1003, a communication I / F 1004, an input device 1005, an output device 1006, a bus B, and the like.

[0119] The processor 1001 is, for example, an arithmetic unit such as a CPU (Central Processing Unit) that executes predetermined programs to realize various functions. The memory 1002 is a storage medium readable by the computer 1200, and includes, for example, a RAM (Random Access Memory) and a ROM (Read Only Memory). The storage device 1003 is a large-capacity storage medium readable by the computer, and may include, for example, a HDD (Hard Disk Drive), an SSD (Solid State Drive), various optical disks, and magneto-optical disks.

[0120] The communication I / F 1004 is an interface for communicating with other devices via a wireless or wired network, and includes, for example, the LAN I / F 111, WAN I / Fs 112a and 112b in Fig. 1. The input device 1005 is an input device that accepts input from the outside, and may include, for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc. The output device 1006 is an output device that outputs to the outside, and may include, for example, a display, a speaker, an LED lamp, etc.

[0121] The bus B is commonly connected to the above components and transmits, for example, address signals, data signals, and various control signals. The processor 1001 may be, in addition to (or instead of) a CPU, a digital signal processor (DSP), a programmable logic device (PLD), a field programmable gate array (FPGA), a GPU, or the like. The processor 1001 may also be a combination of two or more of these processors.

[0122] The program executed by the computer 1200 may be for realizing some of the above-described functions, or may further be capable of realizing the above-described functions in combination with a program already recorded in the computer 1200. Furthermore, some or all of the functional configurations of the device-side GW (communication apparatus) 110 and the edge-side GW (other communication apparatus) 120 may be realized using hardware such as a programmable logic device (PLD) or a field programmable gate array (FPGA).

[0123] <Supplementary Note> In this embodiment, the device-side GW 110 and the edge-side GW 120 may each have one or more upstream lines (WAN 101).

[0124] In the description of this embodiment, it is assumed that the number of upstream lines of the device-side GW 110 is two and the number of upstream lines of the edge-side GW 120 is one, and the delay value measurement and switching process when switching the upstream line of the device-side GW 110 have been described. In addition, for example, the number of upstream lines of the edge-side GW 120 may also be two. In this case, packets circulating in both directions also serve as probe packets for delay value measurement, and when switching lines on the device side and the edge side, the switching methods described in the description of this embodiment may be implemented, respectively.

[0125] Furthermore, as described above, when a packet circulating in both directions also serves as a delay value measurement probe packet, the circulating packet contains both timestamp information for delay value measurement and delay value information for sharing the acquired delay value in the SRH.

[0126] Furthermore, the number of upstream lines of the device-side GW 110 and the edge-side GW 120 may be greater than two.

[0127] <Effects of the Embodiment> According to the present embodiment, in a communication system in which packets are transferred from a communication device to another communication device via a VPN using a WAN, it becomes possible to absorb delay differences that occur when switching upstream networks.

[0128] For example, when switching from high latency to low latency in the WAN 101 switching process, there is a problem in that packets after the switch arrive at the receiving side before packets before the switch, resulting in packet reordering. Generally, mechanisms for absorbing jitter in communication paths include reordering using a key such as a sequence number, using protocols such as TCP (Transmission Control Protocol) or RTP (Real-time Transport Protocol). With these protocols, when packet reordering is caused by a large change in latency, such as when switching the WAN 101, the implementation and performance of the receiving-side application function may prevent normal operation due to memory buffer shortages or the circulation of a key such as a sequence number. However, this embodiment prevents packet reordering by using a network function to assist in preventing packet reordering, thereby suppressing malfunctions of the application function.

[0129] Furthermore, when switching from low latency to high latency in the WAN 101 switching process, there is a problem in that a gap occurs in the arrival interval at the receiving side between the first packet after the switch and the last packet before the switch. Generally speaking, buffering in the receiving function is considered a method for dealing with momentary interruptions in data transmission, but if an interruption occurs for a certain period of time or longer, depending on the settings of the timer value, etc., of the receiving application function, this may be recognized as a communication interruption. In response to this, in this embodiment, the network function assists in the operation of continuing to transmit packets intermittently, thereby suppressing malfunction of the application function.

[0130] In particular, to address the two issues above, it is necessary to obtain delay values ​​that are steady or sufficiently recent for switching. While distributing probe signals is considered for this purpose, it has the following issues. First, when distributing probe signals steadily, there is the issue that the packet forwarding load caused by the communication of the probe signals is placed on the network. Furthermore, when distributing probe signals immediately before switching, it is necessary to wait until the measurement is complete before switching, which makes it difficult to perform switching in a timely manner.

[0131] On the other hand, in this embodiment, information equivalent to a probe signal is included in application communication packets circulating under normal circumstances, which makes it possible to obtain the latest delay value information each time application communication occurs without increasing the number of packets circulating within the network.

[0132] Furthermore, by including the above-mentioned probe signal in the SRH of the SRv6 packet, it becomes possible to perform this as part of the processing in the SRv6 communication node. As a result, according to this embodiment, it is possible to contribute to ease of implementation and reduction of the operating load compared to running new application software for probe measurement.

[0133] Summary of Embodiments This specification discloses at least the following communication systems, communication devices, and communication methods. (Item 1) A communication system for transferring packets from a communication device to another communication device using a WAN, wherein the communication device has: an acquisition unit that acquires delay values ​​of multiple WANs; and an adjustment unit that adjusts packet transmission timing based on the delay values ​​when switching the WAN. (Item 2) The communication system described in Item 1, wherein the communication device has a first transmission unit that adds a timestamp to a header of a first packet transmitted by the communication device, and the other communication device has a calculation unit that calculates a delay value of the first packet received from the communication device based on the timestamp. (Item 3) The communication system described in Item 2, wherein the first packet is an SRv6 packet, and the first transmission unit adds the timestamp to an SRH of the SRv6 packet. (4) The communication system according to paragraphs 2 or 3, wherein the other communication device includes a second transmitter that adds a delay value of the first packet to a header of a second packet to be transmitted to the communication device, and the acquirer acquires the delay value of the WAN that transmitted the first packet from the second packet received from the other communication device. (5) The communication system according to any of paragraphs 1 to 4, wherein, when switching from a first WAN to a second WAN having a smaller delay value than the first WAN, the adjuster delays start of transmission of packets on the second WAN based on a difference between the delay values ​​of the first WAN and the second WAN. (6) The communication system according to any of paragraphs 1 to 5, wherein, when switching from the first WAN to a second WAN having a larger delay value than the first WAN, the adjuster continues transmission of packets on the first WAN for a predetermined period of time with a transmission interval. (Clause 7) A communication device that transfers packets to another communication device using a WAN, the communication device having: an acquisition unit that acquires delay values ​​of multiple WANs; and an adjustment unit that adjusts packet transmission timing based on the delay values ​​when switching between the WANs.(Clause 8) A communication method in a communication system in which a communication device transfers packets to another communication device using a WAN, wherein the communication device executes an acquisition process to acquire delay values ​​of multiple WANs, and an adjustment process to adjust the transmission timing of packets based on the delay values ​​when switching between the WANs.

[0134] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims.

[0135] REFERENCE SIGNS LIST 100 Communication system 110 Device-side GW (communication device) 120 Edge-side GW (other communication device) 101, 101a to 101c WAN 201 First transmission unit 203 Acquisition unit 204 Adjustment unit 302 Calculation unit 303 Second transmission unit

Claims

1. A communication system for transferring packets from a communication device to another communication device using a WAN, wherein the communication device has: an acquisition unit that acquires delay values ​​of multiple WANs; and an adjustment unit that adjusts the transmission timing of packets based on the delay values ​​when switching between the WANs.

2. The communication system according to claim 1, wherein the communication device has a first transmitting unit that adds a timestamp to the header of a first packet transmitted by the communication device, and the other communication device has a calculating unit that calculates a delay value of the first packet received from the communication device based on the timestamp.

3. The communication system according to claim 2, wherein the first packet is an SRv6 packet, and the first transmitting unit adds the timestamp to an SRH of the SRv6 packet.

4. The communication system according to claim 2, wherein the other communication device has a second transmitting unit that adds the delay value of the first packet to the header of a second packet to be transmitted to the communication device, and the obtaining unit obtains the delay value of the WAN that transmitted the first packet from the second packet received from the other communication device.

5. A communication system according to any one of claims 1 to 4, wherein when switching a first WAN to a second WAN having a smaller delay value than the first WAN, the adjustment unit delays the start of packet transmission in the second WAN based on the difference between the delay values ​​of the first WAN and the second WAN.

6. A communication system according to any one of claims 1 to 4, wherein when the adjustment unit switches from a first WAN to a second WAN having a larger delay value than the first WAN, the adjustment unit continues transmitting packets in the first WAN for a predetermined period of time with a transmission interval.

7. A communication device that transfers packets to another communication device using a WAN, comprising: an acquisition unit that acquires delay values ​​of multiple WANs; and an adjustment unit that adjusts packet transmission timing based on the delay values ​​when switching between the WANs.

8. A communication method in a communication system in which a communication device transfers packets to another communication device using a WAN, wherein the communication device executes an acquisition process to acquire delay values ​​of multiple WANs, and an adjustment process to adjust the packet transmission timing based on the delay values ​​when switching between the WANs.

Citation Information

Patent Citations

  • Communication terminal, communication system, congestion control method and congestion control program

    JP2008219605A

  • Packet non-interrupt transmission system, packet non-interrupt switching device, and packet non-interrupt switching method

    JP2010278845A

  • Transmitting device, transmission path switching method, and program

    JP2011199530A

  • Transmitting device and bottleneck detection method

    JP2019047231A

  • In-SITU passive performance measurement in a network environment

    US20230076549A1