Data communication method, device and system in SDWAN and electronic equipment
By using Keepalive probe packets and TTE information in SDWAN, the problem that CPE and RR cannot establish a tunnel under dynamic NAT is solved, and data communication between CPE and RR is realized, ensuring the establishment and maintenance of the tunnel.
Patent Information
- Application Number
- CN202411217242.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2044-08-30
AI Technical Summary
In software-defined wide area network (SDWAN), under dynamic NAT conversion mode, the user edge device (CPE) and routing reflector (RR) cannot obtain the public network IP address and port number obtained after dynamic NAT, resulting in the inability to establish an SDWAN tunnel, and Data communication between CPE and RR cannot be achieved.
By establishing a connection between CPE and RR, sending and receiving transmission tunnel endpoint (TTE) information, carrying dynamic NAT indication information, and using Keepalive probe messages for keep-alive detection, obtaining and updating the public network IP address and port number, Establish an SDWAN tunnel.
It realizes data communication between CPE and RR under dynamic NAT conditions, ensures the establishment and maintenance of tunnels, and solves the problem of irregular IP addresses and port numbers on the public network.
Smart Images

Figure CN119182751A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data communication method, device, system and electronic device in SDWAN. Background Art
[0002] At present, in a software defined wide area network (SDWAN), when a network address translation (NAT) device receives a private IP address and a private port number of a customer provided edge device (CPE) or a route reflector (RR), the private IP address and the private port number of the CPE or RR are converted in a static NAT manner. The public IP address and the public port number obtained after the conversion in a static NAT manner are fixed, so the CPE and RR can obtain the public IP address and the public port number of their own private IP address and the private port number after the conversion by the NAT device, as well as the public IP address and the public port number of the private IP address and the private port number of the other end after the conversion by the NAT device, so as to establish an SDWAN tunnel between the CPE and the RR and realize data communication between the CPE and the RR.
[0003] However, in actual networking, when the NAT device uses a more flexible dynamic NAT conversion method to convert the private IP address and private port number of the CPE, the public IP address and public port number obtained after the conversion in accordance with the dynamic NAT method are not fixed. At this time, the CPE and RR will not be able to obtain the public IP address and public port number of the CPE obtained by the dynamic NAT conversion of the private IP address and private port number of the CPE. Therefore, the SDWAN tunnel between the CPE and the RR cannot be established, and data communication between the CPE and the RR cannot be achieved. Summary of the invention
[0004] In view of this, the present application provides a data communication method, device, system and electronic device in SDWAN to realize data communication between CPE and RR.
[0005] The technical solutions provided by this application are as follows:
[0006] According to an embodiment of the first aspect of the present application, a data communication method in a software defined wide area network SDWAN is proposed, and the method is applied to a user edge device CPE, and the method includes:
[0007] Sending first transmission tunnel endpoint TTE information to the route reflector RR through the first connection established between the CPE and the route reflector RR; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner;
[0008] Receiving, through the first connection, the second TTE information sent by the RR; obtaining the public IP address and public port number of the RR carried in the second TTE information; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT;
[0009] Based on the public IP address and public port number of the RR, a Keepalive detection message is sent to the RR, so that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message and sends a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR;
[0010] Receive the Keepalive detection message sent by the RR; based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, establish an SDWAN tunnel with the RR to communicate data with the RR through the SDWAN tunnel.
[0011] Optionally, the first connection is a Secure Sockets Layer (SSL) connection.
[0012] Optionally, the Keepalive detection message carries a data field;
[0013] The data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
[0014] According to an embodiment of the second aspect of the present application, a data communication method in a software defined wide area network SDWAN is proposed, the method is applied to a route reflector RR, and the method includes:
[0015] Receiving, through the first connection established between the user edge device CPE and the RR, the first transmission tunnel endpoint TTE information sent by the CPE; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner;
[0016] Sending a second TTE message to the CPE through the first connection, so that the CPE obtains the public IP address and public port number of the RR carried in the second TTE message and sends a Keepalive detection message to the RR based on the public IP address and public port number of the RR; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR;
[0017] Receive the Keepalive detection message sent by the CPE; send a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE carried in the Keepalive detection message, so that the CPE establishes an SDWAN tunnel with the RR based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, so as to communicate data with the RR through the SDWAN tunnel.
[0018] Optionally, the first connection is a Secure Sockets Layer (SSL) connection.
[0019] Optionally, the Keepalive detection message carries a data field;
[0020] The data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
[0021] According to an embodiment of the third aspect of the present application, a data communication system in a software defined wide area network SDWAN is proposed, the system comprising:
[0022] A user edge device CPE, configured to execute the method according to the first aspect;
[0023] The route reflector RR is used to execute the method as described in the second aspect.
[0024] According to an embodiment of the fourth aspect of the present application, a data communication device in a software-defined wide area network SDWAN is proposed, and the device is applied to a user edge device CPE, and the device includes:
[0025] A sending unit, configured to send first transmission tunnel endpoint TTE information to the route reflector RR through a first connection established between the CPE and the RR; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner;
[0026] A receiving unit, configured to receive, through the first connection, the second TTE information sent by the RR; obtain the public IP address and the public port number of the RR carried in the second TTE information; the public IP address and the public port number of the RR are obtained respectively after the private IP address and the private port number of the RR are obtained through NAT;
[0027] a detection unit, configured to send a Keepalive detection message to the RR based on the public IP address and public port number of the RR, so that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message and sends a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR;
[0028] A communication unit is used to receive the Keepalive detection message sent by the RR; based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, establish an SDWAN tunnel with the RR to communicate data with the RR through the SDWAN tunnel.
[0029] According to an embodiment of the fifth aspect of the present application, a data communication device in a software defined wide area network SDWAN is proposed, the device is applied to a route reflector RR, and the device includes:
[0030] A receiving unit, configured to receive, through a first connection established between a user edge device CPE and the RR, first transmission tunnel endpoint TTE information sent by the CPE; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner;
[0031] a sending unit, configured to send second TTE information to the CPE through the first connection, so that the CPE obtains the public IP address and public port number of the RR carried in the second TTE information and sends a Keepalive detection message to the RR based on the public IP address and public port number of the RR; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR;
[0032] A communication unit is used to receive a Keepalive detection message sent by the CPE; based on the public IP address and public port number of the CPE carried in the Keepalive detection message, the Keepalive detection message is sent to the CPE, so that the CPE establishes an SDWAN tunnel with the RR based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, so as to communicate data with the RR through the SDWAN tunnel.
[0033] According to an embodiment of the sixth aspect of the present application, an electronic device is proposed, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method described in the first aspect or the second aspect is implemented.
[0034] It can be seen from the above technical scheme that in the present application, when the private IP address and private port number of CPE in the SDWAN network are processed in a dynamic NAT manner, CPE obtains the public IP address and public port number corresponding to RR through the TTE information sent by RR, and sends a Keepalive detection message to RR, so that RR obtains the public IP address and public port number corresponding to CPE from the received Keepalive detection message and sends a Keepalive detection message to CPE, and CPE obtains the public IP address and public port number corresponding to CPE from the received Keepalive detection message, so that both CPE and RR obtain their own and the other party's public IP address and public port number, and establishes an SDWAN tunnel between CPE and RR based on their own and the other party's public IP address and public port number, thereby realizing data communication between CPE and RR. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0036] Figure 1 A schematic diagram of SDWAN networking provided in an embodiment of the present application;
[0037] Figure 2 A flowchart of a data communication method in a software defined wide area network SDWAN provided in an embodiment of the present application;
[0038] Figure 3 Another SDWAN networking diagram provided for an embodiment of the present application;
[0039] Figure 4 An interaction diagram of establishing an SDWAN tunnel between a CPE and a RR provided in an embodiment of the present application;
[0040] Figure 5 A schematic diagram of the Keepalive detection message structure provided in an embodiment of the present application;
[0041] Figure 6 A flow chart of another data communication method in a software defined wide area network SDWAN provided in an embodiment of the present application;
[0042] Figure 7 A schematic diagram of the structure of a data communication system in a software defined wide area network SDWAN provided in an embodiment of the present application;
[0043] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0044] Fig. 9 A structural diagram of a data communication device in a software defined wide area network SDWAN provided in an embodiment of the present application;
[0045] Fig.10 A structural diagram of a data communication device in another software-defined wide area network SDWAN provided in an embodiment of the present application. DETAILED DESCRIPTION
[0046] In order to enable those skilled in the art to better understand the technical solutions provided by the embodiments of the present application and to make the above-mentioned purposes, features and advantages of the embodiments of the present application more obvious and understandable, the technical solutions in the embodiments of the present application are further described in detail below in conjunction with the accompanying drawings.
[0047] In a software defined wide area network (SDWAN), in order to save IP address resources, the customer provided edge (CPE), referred to as the customer edge device, and the route reflector (RR) usually use private IP addresses and private port numbers. When data communication is required, the private IP addresses and private port numbers of the CPE and RR are converted to public IP addresses and public port numbers through the network address translation (NAT) device. Since the IP address and port number of the message sent by the CPE and RR will change after passing through the NAT device, in the process of establishing an SDWAN tunnel between the CPE and the RR for data communication, the CPE and the RR need to obtain the public IP address and public port number of their own private IP address and private port number after being converted by the NAT device, as well as the public IP address and public port number of the private IP address and private port number of the other end after being converted by the NAT device.
[0048] At present, in SDWAN networking, when the NAT device receives the private IP address and private port number of CPE or RR, it can convert the private IP address and private port number of CPE or RR in a static NAT manner. The public IP address and public port number obtained after the conversion in a static NAT manner are fixed, so CPE and RR can obtain their own private IP address and private port number after the public IP address and public port number converted by the NAT device, as well as the public IP address and public port number of the other end after the private IP address and private port number converted by the NAT device, so as to establish an SDWAN tunnel between CPE and RR and realize data communication between CPE and RR.
[0049] Please refer to Figure 1 , Figure 1 A schematic diagram of SDWAN networking provided for an embodiment of the present application.
[0050] like Figure 1 As shown, if an SDWAN tunnel is established between CPE1 and RR, both CPE1 and RR need to obtain the public IP address and public port number of CPE1 after the private IP address and private port number are converted by NAT device 1, and the public IP address and public port number of RR after the private IP address and private port number are converted by NAT device 2.
[0051] Obviously, if both NAT device 1 and NAT device 2 use static NAT conversion, the IP address and port number after static NAT conversion are fixed and known. At this time, the source IP address and port number as well as the public IP address and public port number after NAT conversion can be manually configured directly on CPE1 and RR.
[0052] However, when the NAT device uses a more flexible dynamic NAT conversion method to convert the private IP address and private port number of the CPE, the public IP address and public port number obtained after the conversion in the dynamic NAT method are not fixed. Figure 1 Taking the SDWAN networking shown as an example, if an SDWAN tunnel is established between CPE1 and RR, NAT device 1 adopts dynamic NAT conversion mode, and NAT device 2 adopts static NAT conversion mode, CPE1 and RR can still obtain the public IP address and public port number after the private IP address and private port number of RR are converted by NAT device 2. However, since the public IP address and public port number obtained after conversion in accordance with the dynamic NAT mode are not fixed, CPE1 and RR cannot directly obtain the public IP address and public port number after the private IP address and private port number of CPE1 are converted by NAT device 1, and thus cannot establish an SDWAN tunnel between CPE and RR to realize data communication between CPE and RR.
[0053] Based on this, the present application proposes a data communication method in a software-defined wide area network SDWAN, so as to establish an SDWAN tunnel between CPE and RR to realize communication between CPE and RR when the NAT device adopts dynamic NAT conversion to convert the private IP address and private port number of CPE.
[0054] Please refer to Figure 2 , Figure 2 A flowchart of a data communication method in a software-defined wide area network (SDWAN) provided in an embodiment of the present application.
[0055] In this embodiment, the method can be applied to a user edge device CPE in a SDWAN network. The user edge device CPE can be a physical device designed specifically for SDWAN to provide functions such as traffic optimization, path selection, encryption, etc., and this application does not limit this.
[0056] like Figure 2 As shown, the method may include the following steps:
[0057] Step 201: Send first transport tunnel endpoint (TTE: Transport Tunnel Endpoint) information to the route reflector RR through the first connection established between the CPE and the RR.
[0058] In this embodiment, the CPE and RR that need to establish the SDWAN tunnel can be configured in advance based on the control plane protocol so that the CPE and RR know the opposite device for establishing the SDWAN tunnel.
[0059] As an embodiment, the control plane protocol may be a Border Gateway Protocol (BGP), an Open Shortest Path First (OSPF) protocol, etc., and the present application does not impose any limitation on this.
[0060] When both CPE and RR know that an SDWAN tunnel needs to be established between the CPE and the RR, TTE information can be exchanged based on the first connection established between the CPE and the RR.
[0061] As an embodiment, the first connection may be a Secure Sockets Layer (SSL) connection, which is not limited in the present application.
[0062] In this embodiment, the TTE information may carry information such as the NAT conversion type, the private IP address and private port number of the device, and the public IP address and public port number after NAT conversion.
[0063] In this embodiment, the NAT conversion type carried in the first TTE information sent by the CPE to the RR is a dynamic NAT type, that is, the first TTE information carries dynamic network address translation NAT indication information, which is used to indicate that the private IP address and private port number of the CPE are processed in a dynamic NAT manner.
[0064] It should be noted that since the public IP address and public port number obtained after the CPE's private IP address and private port number are processed in a dynamic NAT manner are not fixed, the CPE does not know the public IP address and public port number obtained after the CPE's private IP address and private port number are processed in a dynamic NAT manner when sending the first TTE information. The first TTE information does not carry the public IP address and public port number obtained after the CPE's private IP address and private port number are processed in a dynamic NAT manner.
[0065] As for the information carried in the second TTE information sent by the RR to the CPE, it will be described in detail in step 202 below and will not be repeated here.
[0066] Step 202: Receive the second TTE information sent by the RR through the first connection; and obtain the public IP address and public port number of the RR carried in the second TTE information.
[0067] In this embodiment, the NAT conversion type carried in the second TTE information sent by RR is a static NAT type. Since the public IP address and public port number obtained after the private IP address and private port number of RR are converted in a static NAT manner are fixed, the second TTE information sent by RR to CPE carries the public IP address and public port number obtained after the private IP address and private port number of RR are converted in a static NAT manner.
[0068] After receiving the second TTE information sent by the RR, the CPE can obtain the public IP address and public port number of the RR from the second TTE information.
[0069] It should be noted that Figure 2 The flowchart in is only exemplary. There is no fixed timing sequence between the above step 201 and step 202, that is, there is no fixed timing sequence between the two steps of CPE sending the first TTE information to RR and RR sending the second TTE information to CPE (CPE receiving the second TTE information sent by RR). For the convenience of description, the step of CPE sending the first TTE information is recorded as step 201, and the step of CPE receiving the second TTE information sent by RR is recorded as step 202.
[0070] Step 203 is described below.
[0071] Step 203: Send a Keepalive detection message to the RR based on the public IP address and public port number of the RR, so that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message and sends a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE.
[0072] In this embodiment, after obtaining the public IP address and public port number of RR, CPE can send a Keepalive detection message to RR. The Keepalive detection message carries the source IP address and source port number of the message (that is, the private IP address and private port number of CPE), as well as the destination IP address and destination port number of the message (that is, the public IP address and public port number of RR that have been obtained).
[0073] In this embodiment, the Keepalive detection message is a message used to perform keepalive detection on the TTE connection between the CPE and the RR. The Keepalive message is used to help the CPE and RR confirm whether the connection is valid. Even if the CPE does not have complete TTE information (does not have the CPE's public IP address and public port number) at this time, as long as communication is possible, the Keepalive message can be used to maintain the connection status, that is, the sending of the Keepalive message only requires the correct network target (RR's public IP address and public port number).
[0074] When the Keepalive detection message sent by the CPE to the RR is forwarded, the source IP address and source port number will be translated into the public IP address and public port number of the CPE by the NAT device through dynamic NAT. The destination IP address and destination port number of the message will be translated into the private IP address and private port number of the RR by the NAT device through static NAT.
[0075] After receiving the Keepalive detection message sent by the CPE, the RR can obtain the public IP address and public port number of the CPE from the source IP address and source port number of the Keepalive detection message.
[0076] As an embodiment, since the first TTE information sent by the CPE to the RR in step 201 does not include the public IP address and public port number of the CPE, after the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message for the first time, the first TTE information can be updated so that the first TTE information includes the public IP address and public port number of the CPE. If it is not the first time that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message, the currently obtained public IP address and public port number of the CPE can be compared with the public IP address and public port number of the CPE included in the first TTE information. If the two are different, it indicates that the public IP address and public port number of the CPE may have changed, and the first TTE information can be updated at this time.
[0077] Since RR has also obtained the public IP address and public port number of CPE at this time, RR can also send a Keepalive detection message to CPE. The Keepalive detection message carries the source IP address and source port number of the message (that is, the private IP address and private port number of RR), as well as the destination IP address and destination port number of the message (that is, the obtained public IP address and public port number of CPE).
[0078] When the Keepalive detection message sent by RR to CPE is forwarded, the source IP address and source port number will be translated into the public IP address and public port number of RR by the NAT device through static NAT. The destination IP address and destination port number of the message will be translated into the private IP address and private port number of CPE by the NAT device through dynamic NAT.
[0079] The specific forwarding process of the Keepalive detection message and the conversion process of the source IP address, source port number, destination IP address, and destination port number carried by the Keepalive detection message will be described in detail in the specific embodiments below and will not be repeated here.
[0080] At this point, the description of step 203 ends, and step 204 is executed next.
[0081] Step 204, receive the Keepalive detection message sent by the RR; based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, establish an SDWAN tunnel with the RR to communicate data with the RR through the SDWAN tunnel.
[0082] As an embodiment, the Keepalive detection message carries a data field, and the data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
[0083] The specific structure of the Keepalive detection message will be described in detail in the specific embodiments below and will not be repeated here.
[0084] In this embodiment, after the CPE receives the Keepalive detection message sent by the RR in step 103, the public IP address and public port number of the CPE carried in the destination IP address and destination port number of the Keepalive detection message have been converted into the private IP address and private port number of the CPE by the NAT device through dynamic NAT. Therefore, the public IP address and public port number of the CPE cannot be obtained from the destination IP address and destination port number of the Keepalive detection message. Therefore, the Keepalive detection message sent by the RR also carries the public IP address and public port number of the CPE in its data field, and the CPE can obtain the public IP address and public port number of the CPE from the data field of the received Keepalive detection message.
[0085] After CPE obtains its own public IP address and public port number, the TTE information of CPE and RR is complete, that is, CPE and RR have obtained their own and the other party's public IP address and public port number. At this time, RR and CPE can verify TTE information through SSL connection.
[0086] As an embodiment, the TTE information can be verified based on the TTE information stored at both ends of the CPE and the RR to determine whether the CPE and the RR are in the same routing domain. If they are in the same routing domain, it is determined that the TTE information verification is successful.
[0087] Among them, the specific steps of judging whether the CPE and the RR are in the same routing domain according to the TTE information stored at both ends of the CPE and the RR are common methods in the related art and will not be repeated here.
[0088] After the TTE information is successfully verified, the TTE connection is established, and the SDWAN tunnel between the CPE and RR is naturally established. The CPE and RR can communicate data through the SDWAN tunnel.
[0089] It should be noted that Keepalive detection messages are sent periodically. The data field of each Keepalive detection message sent by RR carries the public IP address and public port number of CPE. Since TTE information has an aging time, the public IP address and public port number of CPE carried in the Keepalive detection message can refresh the aging time to avoid disconnection of TTE connection after information aging.
[0090] This concludes Figure 2 Description of the data communication method in the Software Defined Wide Area Network (SDWAN).
[0091] In the present application, when the private IP address and private port number of CPE in SDWAN networking are processed in a dynamic NAT manner, CPE obtains the public IP address and public port number corresponding to RR through TTE information sent by RR, and sends a Keepalive detection message to RR, so that RR obtains the public IP address and public port number corresponding to CPE from the received Keepalive detection message and sends a Keepalive detection message to CPE, and CPE obtains the public IP address and public port number corresponding to CPE from the received Keepalive detection message, so that both CPE and RR obtain their own and the other party's public IP address and public port number, and establish an SDWAN tunnel between CPE and RR based on their own and the other party's public IP address and public port number, thereby realizing data communication between CPE and RR.
[0092] Combine the following Figures 3 to 5 , the data communication method in the software-defined wide area network SDWAN provided by this application is introduced through a specific embodiment.
[0093] Example 1
[0094] Please refer to Figure 3 , Figure 3 Another SDWAN networking diagram provided for an embodiment of the present application.
[0095] like Figure 3 As shown, in the SDWAN networking, NAT device 1 adopts dynamic NAT conversion, NAT device 2 and NAT device 3 adopt static NAT conversion, and device P is an intermediate device such as an SDWAN gateway, which is used to optimize incoming and outgoing traffic and perform load balancing between multiple links to improve network efficiency and stability.
[0096] Assume that CPE1 and RR need to establish an SDWAN tunnel for data communication. If an SSL connection has been established between CPE1 and RR, the information exchange process between CPE1 and RR is as follows: Figure 4 shown.
[0097] Please refer to Figure 4 , Figure 4 An interaction diagram of establishing an SDWAN tunnel between a CPE and a RR provided in an embodiment of the present application.
[0098] like Figure 4 As shown, CPE1 sends the first TTE information to RR through the established SSL connection. The first TTE information carries dynamic network address translation NAT indication information, which is used to indicate that the private IP address and private port number of the CPE are processed in a dynamic NAT manner. Since the IP address and port number processed by the dynamic NAT method are not fixed, the first TTE information does not carry the public IP address and public port number of the CPE.
[0099] RR also sends a second TTE message to CPE1 through the established SSL connection. The NAT conversion type carried by the second TTE message is a static NAT type. Since the IP address and port number obtained after conversion according to the static NAT method are fixed, the second TTE message sent by RR to CPE1 carries RR's public IP address and public port number.
[0100] It should be noted that there is no fixed order between the steps of CPE1 sending the first TTE information to RR through the established SSL connection and RR sending the second TTE information to CPE1 through the established SSL connection. Figure 4The sequence shown in the figure is only an exemplary execution sequence for ease of description.
[0101] After receiving the second TTE information sent by RR, CPE1 obtains the public IP address and public port number of RR from the second TTE information, and sends a Keepalive detection message to RR according to the public IP address and public port number of RR.
[0102] Combine the following Figure 5 Briefly describe the Keepalive detection message.
[0103] Please refer to Figure 5 , Figure 5 A schematic diagram of the Keepalive detection message structure provided in an embodiment of the present application.
[0104] like Figure 5 As shown, the Keepalive detection message includes an outer IP header, an outer UDP header, an SDWAN header, and a data field.
[0105] The outer IP header is used to carry the IP address of the Keepalive detection message, which can specifically carry the source IP address and the destination IP address;
[0106] The outer UDP header is used to carry the port number of the Keepalive detection message, which can carry the source port number and the destination port number.
[0107] The SDWAN header is used to provide network status monitoring and connection management functions; the SDWAN header includes the Local TTE ID field and the Remote TTE ID field. The Local TTE ID field is used to identify the source device that sends the Keepalive detection message, and the Remote TTE ID field is used to identify the destination device of the Keepalive detection message;
[0108] The data field is used to carry the status information of the Keepalive detection message, such as timestamp, sequence number and other information. In this embodiment, the data field of the Keepalive detection message sent by RR to CPE1 also carries the public IP address and public port number of CPE.
[0109] In addition, the Keepalive detection message may also include an IPsec header and an IPsec trailer, which are used to provide encryption and authentication services for the data packet to ensure the security and integrity of the Keepalive message.
[0110] This concludes Figure 5 Description of the Keepalive detection message structure diagram.
[0111] In this embodiment, the source IP address carried in the outer IP header of the Keepalive detection message sent by CPE1 to RR is the private network IP address of CPE1, and the destination IP address is the public network IP address of RR; the source port number carried in the outer UDP header is the private network port number of CPE1, and the destination port number is the public network port number of RR; the Local TTE ID field in the SDWAN header carries the identifier of CPE1, and the Remote TTE ID field carries the identifier of RR;
[0112] The process of forwarding the Keepalive detection message sent by CPE1 to RR is as follows:
[0113] CPE1 sends a Keepalive detection message to NAT device 1;
[0114] After receiving the Keepalive detection message sent by CPE1, NAT device 1 converts the source IP address carried in the outer IP header of the Keepalive detection message, that is, the private network IP address of CPE1, into the public network IP address of CPE1 through dynamic NAT conversion, and converts the source port number carried in the outer UDP header of the Keepalive detection message, that is, the private network port number of CPE1, into the public network port number of CPE1 through dynamic NAT conversion; after completing the conversion, the Keepalive detection message is forwarded to the intermediate device P;
[0115] After receiving the Keepalive detection message forwarded by NAT device 1, the intermediate device P forwards the Keepalive detection message to NAT device 2;
[0116] After receiving the Keepalive detection message forwarded by the intermediate device P, NAT device 2 converts the destination IP address carried in the outer IP header of the Keepalive detection message, that is, the public IP address of RR, into the private IP address of RR through static NAT conversion, and converts the destination port number carried in the outer UDP header of the Keepalive detection message, that is, the public port number of RR, into the private port number of RR through static NAT conversion; after completing the conversion, the Keepalive detection message is forwarded to RR.
[0117] At this point, the process of forwarding the Keepalive detection message sent by CPE1 to RR ends.
[0118] After receiving the Keepalive detection message sent by CPE1, RR obtains the public IP address and public port number of CPE1 from the source IP address and source port number of the Keepalive detection message if the Remote TTE ID field in the SDWAN header is successfully compared, and updates the public IP address and public port number of CPE1 to the first TTE information;
[0119] RR sends a Keepalive detection message to CPE1 based on the public IP address and public port number of CPE1. The source IP address carried in the outer IP header of the Keepalive detection message is the private IP address of RR, and the destination IP address is the public IP address of CPE1; the source port number carried in the outer UDP header is the private port number of RR, and the destination port number is the public port number of CPE1; the Local TTE ID field in the SDWAN header carries the identifier of RR, and the Remote TTE ID field carries the identifier of CPE1. Different from the Keepalive detection message sent by CPE1 to RR, the data field of the Keepalive detection message sent by RR to CPE1 also carries the public IP address and public port number of CPE1.
[0120] The process of forwarding the Keepalive detection message sent by RR to CPE1 is as follows:
[0121] RR sends a Keepalive detection message to NAT device 2;
[0122] After receiving the Keepalive detection message sent by RR, NAT device 2 converts the source IP address carried in the outer IP header of the Keepalive detection message, that is, the private network IP address of RR, into the public network IP address of RR through static NAT conversion, and converts the source port number carried in the outer UDP header of the Keepalive detection message, that is, the private network port number of RR, into the public network port number of RR through static NAT conversion; after completing the conversion, the Keepalive detection message is forwarded to the intermediate device P;
[0123] After receiving the Keepalive detection message forwarded by NAT device 2, intermediate device P forwards the Keepalive detection message to NAT device 1;
[0124] After receiving the Keepalive detection message forwarded by the intermediate device P, NAT device 1 converts the destination IP address carried in the outer IP header of the Keepalive detection message, that is, the public IP address of CPE1, into the private IP address of CPE1 through dynamic NAT conversion, and converts the destination port number carried in the outer UDP header of the Keepalive detection message, that is, the public port number of CPE1, into the private port number of CPE1 through dynamic NAT conversion; after completing the conversion, the Keepalive detection message is forwarded to CPE1.
[0125] At this point, the process of forwarding the Keepalive detection message sent by RR to CPE1 ends.
[0126] After receiving the Keepalive detection message sent by RR, CPE1 obtains the public IP address and public port number of CPE1 from the data field of the Keepalive detection message if the Remote TTE ID field in the SDWAN header is successfully compared.
[0127] At this point, both CPE1 and RR have obtained their own and the other party's public IP address and public port number, that is, they have obtained complete TTE information. The TTE information at both ends is further verified. When it is determined that CPE and RR are in the same routing domain, the verification is successful. At this time, the TTE connection is established, and the SDWAN tunnel between CPE1 and RR is also established.
[0128] This concludes the description of Embodiment 1.
[0129] Please refer to Figure 6 , Figure 6 A flow chart of another data communication method in a software-defined wide area network SDWAN provided in an embodiment of the present application, wherein the method is applied to a route reflector RR.
[0130] like Figure 6 As shown, the method comprises the following steps:
[0131] Step 601: Receive first transmission tunnel endpoint TTE information sent by a customer edge device CPE through a first connection established between the CPE and the RR.
[0132] In this embodiment, the first connection can be an SSL connection, and the NAT conversion type carried in the first TTE information is a dynamic NAT type, that is, the first TTE information carries dynamic network address translation NAT indication information, which is used to indicate that the private IP address and private port number of the CPE are processed in a dynamic NAT manner.
[0133] Step 602: Send a second TTE message to the CPE through the first connection, so that the CPE obtains the public IP address and public port number of the RR carried in the second TTE message and sends a Keepalive detection message to the RR based on the public IP address and public port number of the RR.
[0134] The public IP address and public port number of RR are obtained respectively from the private IP address and private port number of RR after NAT; and the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR.
[0135] In this embodiment, similarly, there is no fixed timing sequence between the steps of CPE sending the first TTE information to RR (RR receiving the first TTE information sent by CPE) and RR sending the second TTE information to CPE, which will not be repeated here.
[0136] Step 603, receive the Keepalive detection message sent by the CPE; send a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE carried in the Keepalive detection message, so that the CPE establishes an SDWAN tunnel with the RR based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, so as to communicate data with the RR through the SDWAN tunnel.
[0137] It is easy to understand that Figure 2 The flowchart shown is described with the user edge device CPE as the execution subject. Figure 6 The flowchart shown is described with the route reflector RR as the execution subject. The specific interaction process and message forwarding process between the CPE and the RR have been described in detail above and will not be repeated here.
[0138] This concludes Figure 6 Description.
[0139] Please refer to Figure 7 , Figure 7 A schematic diagram of the structure of a data communication system in a software-defined wide area network SDWAN provided in an embodiment of the present application.
[0140] like Figure 7 As shown, the system includes:
[0141] The customer edge equipment (CPE) is used to perform Figure 2 The method shown in the flow chart;
[0142] The route reflector RR is used to perform the following operations: Figure 6 Flowchart showing the method.
[0143] The specific interaction process between the CPE and the RR and the message forwarding process have been described in detail above and will not be repeated here.
[0144] This concludes Figure 7 Description.
[0145] Please refer to Figure 8 , Figure 8 It is a schematic structural diagram of an electronic device proposed in an embodiment of the present application. At the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and of course may also include hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a terminal interaction device at the logical level. Of course, in addition to the software implementation method, this application does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0146] Please refer to Fig. 9 , Fig. 9 is a structural diagram of a data communication device in a software defined wide area network SDWAN proposed in an embodiment of the present application, and Figure 2 The data communication method provided in the software defined wide area network SDWAN applied to the user edge device CPE corresponds to the flowchart of the method, and the device is applied to the user edge device CPE. Fig. 9 As shown, the data communication device in the software defined wide area network SDWAN may include a sending unit 901, a receiving unit 902, a detection unit 903 and a communication unit 904. Specifically, the device includes:
[0147] The sending unit 901 is used to send the first transmission tunnel endpoint TTE information to the route reflector RR through the first connection established between the CPE and the RR; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner;
[0148] The receiving unit 902 is configured to receive, through the first connection, the second TTE information sent by the RR; obtain the public IP address and the public port number of the RR carried in the second TTE information; the public IP address and the public port number of the RR are the private IP address and the private port number of the RR respectively obtained after NAT;
[0149] A detection unit 903 is configured to send a Keepalive detection message to the RR based on the public IP address and public port number of the RR, so that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message and sends a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR;
[0150] The communication unit 904 is used to receive the Keepalive detection message sent by the RR; based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, establish an SDWAN tunnel with the RR to communicate data with the RR through the SDWAN tunnel.
[0151] Optionally, the first connection is a Secure Sockets Layer (SSL) connection.
[0152] Optionally, the Keepalive detection message carries a data field;
[0153] The data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
[0154] So far, completed Fig. 9 Description of data communication devices in Software Defined Wide Area Network (SDWAN).
[0155] Please refer to Fig.10 , Fig.10 is a structural diagram of a data communication device in a software defined wide area network SDWAN proposed in an embodiment of the present application, and Figure 6 The data communication method provided in the software defined wide area network SDWAN applied to the route reflector RR corresponds to the flowchart of the method, and the device is applied to the route reflector RR. Fig.10 As shown, the data communication device in the software defined wide area network SDWAN may include a receiving unit 1001, a sending unit 1002 and a communication unit 1003. Specifically, the device includes:
[0156] The receiving unit 1001 is used to receive the first transmission tunnel endpoint TTE information sent by the user edge device CPE through the first connection established between the CPE and the RR; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner;
[0157] A sending unit 1002 is configured to send a second TTE message to the CPE through the first connection, so that the CPE obtains the public IP address and public port number of the RR carried in the second TTE message and sends a Keepalive detection message to the RR based on the public IP address and public port number of the RR; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR;
[0158] The communication unit 1003 is used to receive the Keepalive detection message sent by the CPE; and send the Keepalive detection message to the CPE based on the public IP address and public port number of the CPE carried in the Keepalive detection message, so that the CPE establishes an SDWAN tunnel with the RR based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, so as to communicate data with the RR through the SDWAN tunnel.
[0159] Optionally, the first connection is a Secure Sockets Layer (SSL) connection.
[0160] Optionally, the Keepalive detection message carries a data field;
[0161] The data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
[0162] So far, completed Fig.10 Description of data communication devices in Software Defined Wide Area Network (SDWAN).
[0163] Correspondingly, in this embodiment, the embodiment of the present application also provides a computer-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed, the method disclosed in the above example of the present application can be implemented.
[0164] Exemplarily, the computer-readable storage medium may be any electronic, magnetic, optical or other physical storage device that may contain or store information, such as executable instructions, data, etc. For example, the computer-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as optical disk, DVD, etc.), or similar storage medium, or a combination thereof.
[0165] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the scope of protection of the present application.
Claims
1. A data communication method in a software defined wide area network SDWAN, characterized in that: The method is applied to a user edge device CPE, and the method includes: Sending first transmission tunnel endpoint TTE information to the route reflector RR through the first connection established between the CPE and the route reflector RR; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner; Receiving, through the first connection, the second TTE information sent by the RR; obtaining the public IP address and public port number of the RR carried in the second TTE information; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT; Based on the public IP address and public port number of the RR, a Keepalive detection message is sent to the RR, so that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message and sends a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR; Receive the Keepalive detection message sent by the RR; based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, establish an SDWAN tunnel with the RR to communicate data with the RR through the SDWAN tunnel.
2. The method according to claim 1, characterized in that The first connection is a Secure Sockets Layer (SSL) connection.
3. The method according to claim 1, characterized in that The Keepalive detection message carries a data field; The data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
4. A data communication method in a software defined wide area network SDWAN, characterized in that: The method is applied to a route reflector RR, and includes: Receiving, through the first connection established between the user edge device CPE and the RR, the first transmission tunnel endpoint TTE information sent by the CPE; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner; Sending a second TTE message to the CPE through the first connection, so that the CPE obtains the public IP address and public port number of the RR carried in the second TTE message and sends a Keepalive detection message to the RR based on the public IP address and public port number of the RR; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR; Receive the Keepalive detection message sent by the CPE; send a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE carried in the Keepalive detection message, so that the CPE establishes an SDWAN tunnel with the RR based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, so as to communicate data with the RR through the SDWAN tunnel.
5. The method according to claim 4, characterized in that The first connection is a Secure Sockets Layer (SSL) connection.
6. The method according to claim 4, characterized in that The Keepalive detection message carries a data field; The data field of the Keepalive detection message sent by the RR carries the public IP address and public port number of the CPE.
7. A data communication system in a software defined wide area network SDWAN, characterized in that: The system includes: A user edge device CPE, configured to execute the method according to any one of claims 1 to 3; The route reflector RR is used to execute the method according to any one of claims 4 to 6.
8. A data communication device in a software defined wide area network SDWAN, characterized in that: The device is applied to a user edge device CPE, and the device includes: A sending unit, configured to send first transmission tunnel endpoint TTE information to the route reflector RR through a first connection established between the CPE and the RR; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner; A receiving unit, configured to receive, through the first connection, the second TTE information sent by the RR; obtain the public IP address and the public port number of the RR carried in the second TTE information; the public IP address and the public port number of the RR are obtained respectively after the private IP address and the private port number of the RR are obtained through NAT; a detection unit, configured to send a Keepalive detection message to the RR based on the public IP address and public port number of the RR, so that the RR obtains the public IP address and public port number of the CPE from the Keepalive detection message and sends a Keepalive detection message to the CPE based on the public IP address and public port number of the CPE; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR; A communication unit is used to receive the Keepalive detection message sent by the RR; based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, establish an SDWAN tunnel with the RR to communicate data with the RR through the SDWAN tunnel.
9. A data communication device in a software defined wide area network SDWAN, characterized in that: The device is applied to a route reflector RR, and includes: A receiving unit, configured to receive, through a first connection established between a user edge device CPE and the RR, first transmission tunnel endpoint TTE information sent by the CPE; the first TTE information carries dynamic network address translation NAT indication information; the dynamic NAT indication information is used to indicate that the private network IP address and private network port number of the CPE are processed in a dynamic NAT manner; a sending unit, configured to send second TTE information to the CPE through the first connection, so that the CPE obtains the public IP address and public port number of the RR carried in the second TTE information and sends a Keepalive detection message to the RR based on the public IP address and public port number of the RR; the public IP address and public port number of the RR are the private IP address and private port number of the RR respectively obtained after NAT; the Keepalive detection message is a message used for keeping alive detection of the TTE connection between the CPE and the RR; A communication unit is used to receive a Keepalive detection message sent by the CPE; based on the public IP address and public port number of the CPE carried in the Keepalive detection message, the Keepalive detection message is sent to the CPE, so that the CPE establishes an SDWAN tunnel with the RR based on the public IP address and public port number of the CPE carried in the Keepalive detection message and the obtained public IP address and public port number of the RR, so as to communicate data with the RR through the SDWAN tunnel.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 3 or 4 to 6 is implemented.
Citation Information
Patent Citations
A system and a method for realizing high-speed interconnection and intercommunication based on SDN and NFV technologies
CN109743244A
Communication management method, electronic equipment, storage medium and system
CN115277625A
Method for managing at least one communication of an item of terminal equipment in a communication network, methods for processing a communication established with an item of terminal equipment in a communication network, corresponding devices, item of terminal equipment, item of proxy equipment and computer programs
US20220239556A1
