CN111935333B - NAT type determination method, device, system and storage medium - Google Patents

NAT type determination method, device, system and storage medium Download PDF

Info

Publication number
CN111935333B
CN111935333B CN202010805783.6A CN202010805783A CN111935333B CN 111935333 B CN111935333 B CN 111935333B CN 202010805783 A CN202010805783 A CN 202010805783A CN 111935333 B CN111935333 B CN 111935333B
Authority
CN
China
Prior art keywords
response message
client
test request
nat
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010805783.6A
Other languages
Chinese (zh)
Other versions
CN111935333A (en
Inventor
付少平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Ezviz Software Co Ltd
Original Assignee
Hangzhou Ezviz Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Ezviz Software Co Ltd filed Critical Hangzhou Ezviz Software Co Ltd
Priority to CN202010805783.6A priority Critical patent/CN111935333B/en
Publication of CN111935333A publication Critical patent/CN111935333A/en
Application granted granted Critical
Publication of CN111935333B publication Critical patent/CN111935333B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers

Abstract

The application provides a method, equipment, a system and a storage medium for determining NAT type. The method comprises the following steps: sending at least two test request instructions to a server; the server is used for carrying out parallel processing on the at least two test request instructions; receiving response messages corresponding to the at least two test request instructions returned by the server; and determining the NAT type of the client according to the response message. The NAT type detection efficiency of the embodiment of the application is high.

Description

NAT type determination method, device, system and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, a device, a system, and a storage medium for determining an NAT type.
Background
Network Address Translation (NAT) is a Translation technique for converting a private (reserved) Address into a legitimate IP Address, and is widely used in various types of Internet (Internet) access methods and various types of networks. NAT can solve the problem of IP address insufficiency. A node in a private network sends a message to an external node, when the message passes through NAT equipment, mapping is generated on the NAT equipment, and a source address and a source port of the message are replaced by an external address and an external port. When the external node sends the message to the node in the private network, the destination address and the destination port of the message are replaced by the internal address and the internal port according to the mapping when the message passes through the NAT equipment. In the peer-to-peer computing P2P network, due to the existence of the NAT device, the P2P node generally needs to detect the NAT network type first, so as to select an effective NAT traversal technology.
In the related art, a STUN client is installed inside a private network, two STUN servers are installed on a public network, the STUN client sends a request to the STUN server, and the STUN server sends a response to the STUN client. The STUN client side sequentially sends data packets of a plurality of test items to one STUN server, and determines the NAT type according to the received response data packets, wherein the test items are sequentially carried out, and the next test item is carried out only after the previous test item receives the response data packet or does not receive the response data packet, namely the data packet of the next test item is sent. In the method, the data packets of the plurality of test items must be sent in sequence, and the plurality of test items have sequential dependence, that is, the data packets of the plurality of test items are sent in series, so that the NAT type detection efficiency is low.
Disclosure of Invention
The application provides a method, equipment, a system and a storage medium for determining an NAT type so as to improve the efficiency of NAT type detection.
In a first aspect, the present application provides a method for determining a NAT type for network address translation, which is applied to a client, where the method includes:
sending at least two test request instructions to a server; the server is used for carrying out parallel processing on the at least two test request instructions;
receiving response messages corresponding to the at least two test request instructions returned by the server;
and determining the NAT type of the client according to the response message.
In a second aspect, the present application provides a method for determining a network address translation NAT type, which is applied to a server, and the method includes:
receiving at least two test request instructions from the client;
performing parallel processing on at least two test request instructions sent by a client;
and sending response messages corresponding to the at least two test request instructions to the client, wherein the response messages are used for determining the NAT type of the client.
In a third aspect, the present application provides an apparatus for determining an NAT type, which is applied to a client, and includes:
the sending module is used for sending at least two test request instructions to the server; the server is used for carrying out parallel processing on the at least two test request instructions;
the receiving module is used for receiving response messages corresponding to the at least two test request instructions returned by the server;
and the processing module is used for determining the NAT type of the client according to the response message.
In a fourth aspect, the present application provides an apparatus for determining a NAT type, which is applied to a server, and includes:
the receiving module is used for receiving at least two test request instructions from the client;
the processing module is used for carrying out parallel processing on at least two test request instructions sent by the client;
and the sending module is used for sending response messages corresponding to the at least two test request instructions to the client, wherein the response messages are used for determining the NAT type of the client.
In a fifth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the method of any one of the first and second aspects.
In a sixth aspect, an embodiment of the present application provides an electronic device, including:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of any of the first aspects via execution of the executable instructions.
In a seventh aspect, an embodiment of the present application provides a server, including:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of any of the second aspects via execution of the executable instructions.
In an eighth aspect, an embodiment of the present application provides a network system, including:
a client device and a server;
the server is used for receiving at least two test request instructions sent by the client, performing parallel processing on the at least two test request instructions, and returning response messages corresponding to the at least two test request instructions to the client;
and the client is used for determining the NAT type of the client according to the response messages corresponding to the at least two test request instructions.
The method, the device, the system and the storage medium for determining the NAT type provided by the embodiment of the application send at least two test request instructions to a server; the server is used for carrying out parallel processing on at least two test request instructions; the server is used for processing the plurality of test request instructions in parallel, so that the processing delay of the server is reduced, further, the NAT type of the client is determined according to the response message returned by the server, and the NAT type detection efficiency is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a schematic diagram of a system architecture according to an embodiment of the present application;
fig. 2 is a flowchart illustrating an embodiment of a method for determining a NAT type according to the present application;
fig. 3 is a schematic diagram illustrating a principle of an embodiment of a method for determining a NAT type provided in the present application;
FIG. 4 is a flow chart of another embodiment of a method provided herein;
fig. 5 is a flowchart illustrating another embodiment of a method for determining a NAT type according to the present application;
fig. 6 is a block diagram of an embodiment of a NAT type determination apparatus provided in the present application;
fig. 7 is a block diagram of another embodiment of the NAT type determination apparatus provided in the present application;
FIG. 8 is a block diagram of an embodiment of an electronic device provided herein;
fig. 9 is a block diagram of an embodiment of a server provided in the present application.
Specific embodiments of the present disclosure have been shown by way of example in the drawings and will be described in more detail below. These drawings and written description are not intended to limit the scope of the disclosed concepts in any way, but rather to illustrate the concepts of the disclosure to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the disclosure, as detailed in the appended claims.
The terms "comprising" and "having," and any variations thereof, in the description and claims of this application and the drawings described herein are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements but may alternatively include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
First, a part of vocabulary and application scenarios related to the embodiments of the present application will be described.
Full cone NAT (full cone NAT), a well-known one-to-one NAT:
once an internal address (iAddr: port1) maps to an external address (ebaddr: port2), all packets sent from iAddr: port1 are sent out via ebaddr: port 2. Any external host can reach the iAddr: port1 by sending a packet to the ebaddr: port 2.
Restricted cone NAT (Address-Restricted con NAT), i.e. Address restriction, receives only packets from an IP Address that were sent to the opposite end:
once one internal address (iAddr: port1) maps to an external address (eAddr: port2), all packets sent from iAddr: port1 are sent out via eAddr: port 2. The premise that any external host (hostadr: any) can reach idaddr: port1 by sending a packet to ebaddr: port2 is: port1 has previously sent a packet to hostadr and any.
Port-Restricted cone NAT (Port-Restricted con NAT), i.e. Port and address restriction:
once an internal address (iAddr: port1) maps to an external address (ebaddr: port2), all packets sent from iAddr: port1 are sent out via ebaddr: port 2. The premise that an external host (hostAddr: port3) can send a packet to iAddr: port1 is: iAddr port1 previously sent a packet to hostAddr port 3.
Symmetric nat (symmetric nat):
each request from the same internal IP and port to a particular destination IP address and port is mapped to a unique external source IP address and port. The same internal host sends out a packet to different destinations, using different mappings.
Fig. 1 is a schematic diagram of a system architecture according to an embodiment of the present application. As shown in fig. 1, the system architecture of the embodiment of the present application may include, but is not limited to: electronic device 11 and server 12. The electronic device includes, for example, a terminal device of a user, such as a mobile phone, a tablet computer, a computer, and the like. The number of the electronic devices 11 may be multiple, and one is illustrated in fig. 1 as an example. The electronic device interacts with the server as a client.
The electronic device 11 and the server 12 may be connected via a network.
The method provided by the embodiment of the application can be realized by an electronic device such as a processor executing corresponding software codes, and can also be realized by an electronic device performing data interaction with a server while executing the corresponding software codes.
The method of the embodiment of the application performs NAT type detection based on a Simple Traversal of UDP over NATs (STUN) protocol of the NAT.
In the related technology, a STUN client is installed in a private network, two STUN servers are installed on a public network, the STUN client sequentially sends data packets of a plurality of test items to one STUN server, and after the STUN server receives the data packets from the STUN client, the STUN server sends response data packets to the STUN client or informs the other STUN server to send the response data packets to the STUN client; the STUN client determines the NAT type according to the received response data packets (including the response data packets sent by the two servers), wherein a plurality of test items are sequentially carried out, and the latter test item is carried out only after the former test item receives the response data packet or does not receive the response data packet, namely the data packet of the latter test item is sent. In the method, the data packets of the plurality of test items must be sent in sequence, and the plurality of test items have sequential dependence, that is, the data packets of the plurality of test items are sent in series, so that the NAT type detection efficiency is low.
According to the method, at least two test request instructions are processed in parallel through one server, the NAT type is determined according to the response message returned by the server, the processing delay of the server can be reduced, and the NAT type detection efficiency is improved.
In an embodiment, the server is configured with at least one network card, the at least one network card has at least two IP addresses, and the NAT type is determined according to response messages returned by the at least two IP addresses.
The technical solution of the present application will be described in detail below with specific examples. These several specific embodiments may be combined with each other below, and details of the same or similar concepts or processes may not be repeated in some embodiments.
Fig. 2 is a flowchart illustrating an embodiment of a method for determining a NAT type according to the present application. As shown in fig. 2, the method provided by this embodiment is applied to a client, and the method includes:
step 101, sending at least two test request instructions to a server; the server is used for processing at least two test request instructions in parallel.
Specifically, in NAT type detection, the main time consumption is the network transmission process between sending and receiving data packets, and the queuing delay when the STUN server processes the data packets. The time consumed in these processes is not controllable for the client. Therefore, in order to improve the processing efficiency, in the embodiment of the present application, the server is configured with at least one network card (as shown in table 1), and the server is configured to perform parallel processing on at least two test request instructions through the at least one network card.
In an embodiment, the at least one network card has at least two IP addresses, and the NAT type is determined according to response messages returned by the at least two IP addresses.
For example, one network card has two IP addresses, or two network cards each have one IP address.
In the following embodiments, two network cards are taken as an example for explanation.
TABLE 1 network card resources
Numbering Network card Inner net Public network IP
1 eth0 LocalIP_1 IP1
2 eth1 LocalIP_2 IP2
The intranet IP corresponding to the network card 1 is LocalIP _1, and the public network IP is IP 1; the intranet IP corresponding to the network card 1 is LocalIP _2, and the public network IP is IP 2.
In addition, in order to improve the NAT type detection efficiency, the client can send the packet as early as possible, so that the subsequent packet reception can be faster. Thus, at least two test request instructions may be sent simultaneously.
102, receiving response messages corresponding to at least two test request instructions returned by a server;
specifically, in order to distinguish the instructions, each test request instruction needs to be marked, for example, an identifier of the test request instruction is carried when the test request instruction is sent. And subsequently, directly receiving a response message returned by the relevant instruction. The response to which instruction is to be responded is determined based on the identification in the response message.
In practical applications, it is possible to receive a response message returned by the server for each test request instruction, or it is also possible to return a response message for a part of the test request instructions, or it is not possible to receive any response message.
A preset time length can be set, a response message returned by the server is received in the preset time length after the test request instruction is sent, if the preset time length is exceeded, the response message is considered to be overtime, and the response message can not be received any more.
And step 103, determining the NAT type of the client according to the response message.
Specifically, the NAT type of the client is determined according to a combination of response messages corresponding to the test request instruction. For example, a response message corresponding to one test request command is received, or a response message corresponding to each of two test request commands is received.
NAT types include, but are not limited to, the following: 1. a Full Cone NAT; 2. limiting conical Restricted Cone NAT; 3. the Port restriction conical Port Restricted Cone NAT; 4. symmetric type symmetry NAT; 5. at Nat ago; 6. firewall restrictions; 7. UDP is not passed; 8. is unknown.
In an embodiment, the method further comprises:
if the response message returned by the server is not received, determining that the NAT type of the client is User Datagram Protocol (UDP) failure.
The method of the embodiment comprises the steps of sending at least two test request instructions to a server; the server is used for carrying out parallel processing on at least two test request instructions; the multiple test request instructions are processed in parallel through the multiple network cards, processing delay of the server is reduced, further, the NAT type of the client is determined according to the response message returned by the server, and the NAT type detection efficiency is improved.
On the basis of the above embodiment, the at least two test request instructions include: a first test request instruction and a second test request instruction;
the first test request instruction is used for requesting the server to feed back a first response message from the first IP address and the first port;
the second test request instruction is used for requesting the server to feed back a second response message from the second IP address and the second port;
the first response message carries a first public network IP address and a first public network port of the client.
Further, the at least two test request commands further include: a third test request instruction and a fourth test request instruction;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from the second IP address and the second port;
and the fourth response message carries the second public network IP address and the second public network port of the client.
Specifically, as shown in fig. 3, the interaction principle between the client and the server is shown.
The destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of the first port of the server;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server;
the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server.
The first test request instruction requires the server to return response messages from the first IP address and the first port, the second test request instruction requires the server to return response messages from the first IP address and the second port, and the third test request instruction requires the server to return response messages from the first IP address and the second port;
the fourth test request instruction requests the server to return a response message from the second IP address, the second port.
The test request instructions can be seen in table 1 below:
TABLE 1
Figure BDA0002629070500000081
Figure BDA0002629070500000091
As shown in table 1, in the first test request instruction, the IP1+ Port1 receives a request of the client, that is, receives a request from the first IP address and the first Port, and the IP1+ Port1 responds to the request of the client, that is, feeds back a response from the first IP address (IP1) and the first Port (Port1), and the response message carries the first public network IP and the first public network Port of the client.
The second test request instruction, IP1+ Port1, receives the client's request, i.e. from the first IP address (IP1), the first Port, and IP2+ Port2 responds to the client's request, i.e. feeds back the response from the second IP address (IP2), the second Port (Port 2).
The third test request instruction, IP1+ Port1 receives the client's request, i.e. from the first IP address (IP1), the first Port, and IP1+ Port2 responds to the client's request, i.e. feeds back the response from the first IP address (IP1), the second Port.
The fourth test request instruction, IP2+ Port2, receives the client's request, i.e. receives the request from the second IP address (IP2) second Port, and IP2+ Port2 responds the client's request, i.e. feeds back the response from the second IP address (IP2) second Port, and the response message carries the client's second public network IP and second public network Port.
The following are the sources of the packets that need to be snooped:
numbering Network card Inner net Public network IP Port(s)
1 eth0 LocalIp_1 IP1 Port1
2 eth0 LocalIp_1 IP1 Port2
3 eth1 LocalIp_2 IP2 Port2
Namely, a response fed back from the first IP address (IP1) and the first Port (Port1), a response fed back from the first IP address (IP1) and the second Port (Port2), and a response fed back from the second IP address (IP2) and the second Port (Port 2).
The response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, or a fourth response message.
In an embodiment, step 103 may be specifically implemented as follows:
if the response message comprises the first response message, determining the state of the client according to the first response message, wherein the state of the client is positioned before the NAT or behind the NAT, the client is positioned before the NAT to indicate that the client does not perform network address translation, and the client is positioned behind the NAT to indicate that the client performs network address translation;
and determining the type of the client according to the response message and the state of the client.
Specifically, if a first response message corresponding to Check _ I returned from the server is received, that is, a response fed back from the first IP address (IP1) and the first Port (Port1), the state of the client can be determined according to the first response message, that is, whether the client is located before or after the NAT, and if the client is located before the NAT, the client does not perform network address translation, and can directly use the local IP address to communicate with the external network; if the client is located behind the NAT, the client carries out network address translation, namely, the public network IP address after the NAT translation is used for communicating with an external network.
The type of the client can be further determined according to the state of the client, namely before or after the NAT, and the response message.
In an embodiment, the state of the client may be determined specifically by following ways, whether the state is located before the NAT or after the NAT:
if the first public network IP address carried by the first response message is the same as the local IP address of the client, determining that the state of the client is positioned in front of the NAT;
and if the first public network IP address carried by the first response message is not the same as the local IP address of the client, determining that the state of the client is behind the NAT.
Specifically, if the first public network IP address is the same as the local IP address of the client, it indicates that network address translation is not performed, and the local IP address is directly used for communication with the external network, the client is in a state before the NAT.
If the first public network IP address is different from the local IP address of the client, the network address conversion is performed, and the client communicates with the external network by using the first public network IP address, so that the client is located behind the NAT.
In an embodiment, the type of the client may be specifically determined as follows:
if the response message returned by the server comprises the first response message and the second response message, and the state of the client is located before the NAT, determining that the type of the client is as follows: located in front of NAT;
if the response message returned by the server comprises the first response message and the second response message, and the state of the client is located behind the NAT, determining that the NAT type of the client is as follows: full cone NAT.
Specifically, if a first response message corresponding to Check _ I and a second response message corresponding to Check _ II are received and the client is located in front of the NAT, it is determined that the type of the client is: located in front of the NAT.
If the first response message and the second response message are received and the client is positioned behind the NAT, changing the IP and the port can be received, which shows that the IP and the port are not limited, and determining that the NAT type is a complete cone type NAT.
And if the client is positioned behind the NAT, receiving the first response message and not receiving the second response message, determining that the NAT type of the client is an unknown type.
In an embodiment, if the response message includes the first response message and the fourth response message, and the state of the client is after the NAT, and the first public network IP address carried in the first response message is different from the second public network IP address carried in the fourth response message, it is determined that the NAT type of the client is: a symmetric NAT;
if the response message comprises a first response message and a fourth response message, the state of the client is located behind the NAT, and the first public network port carried by the first response message is different from the second public network port carried by the fourth response message, determining that the NAT type of the client is: a symmetric NAT;
if the client is in the NAT state, the response message comprises the first response message and the third response message, and the response message does not comprise the second response message, determining that the NAT type of the client is: limiting cone NAT.
Specifically, if the client receives a first response message corresponding to Check _ I and a fourth response message corresponding to Check _ IV after being located on the NAT, and the external network IP parsed by the first response message and the external network IP parsed by the fourth response message are different or the PORT parsed by the first response message and the PORT parsed by the fourth response message are different, the NAT type of the client is as follows: symmetric NAT. That is, the same internal host sends out a packet to different destination terminals, and uses different mappings, that is, the external network IP or port sent to different destination terminals is different.
If the client side receives the first response message corresponding to the Check _ I and the third response message corresponding to the Check _ III after being located in the NAT, does not receive the second response message corresponding to the Check _ II, namely receives the response corresponding to the IP1, and does not receive the response corresponding to the IP2, the NAT type of the client side is determined as follows: limiting cone NAT, i.e. address limitation.
In one embodiment, the method further comprises the steps of:
determining whether the frequency of sending at least two test request instructions exceeds a preset frequency;
if the times exceed the preset times, the state of the client is located before the NAT, the response message comprises a first response message, and the response message does not comprise a fourth response message, and the NAT type of the client is determined to be firewall limitation;
if the number of times exceeds a preset number of times, the state of the client is after the client is located in the NAT, the response message comprises the first response message and the fourth response message, and the response message does not comprise the second response message and the third response message, then the NAT type of the client is determined as follows: the port restricts the conical NAT.
Specifically, when the NAT type is determined, the test request instruction may be sent multiple times, for example, four test request instructions (first to fourth test request instructions) are sent at a time, a response message may not be received, or the NAT type cannot be determined according to the received response message, and then the at least two test request instructions may be repeatedly sent;
and if the number of times of repeated sending exceeds the preset number of times, and the client is positioned in front of the NAT, receiving the first response message corresponding to the Check _ I and not receiving the fourth response message corresponding to the Check _ IV, determining that the NAT type of the client is firewall limitation, namely, limiting certain IP data packets.
If the repeated sending times exceed the preset times, the client receives a first response message corresponding to the Check _ I and a fourth response message corresponding to the Check _ IV after the client is positioned on the NAT, and does not receive a second response message corresponding to the Check _ II and a third response message corresponding to the Check _ III, the NAT type of the client is determined as follows: port restricted cone NAT, i.e. response messages can only come back from the originating IP and port.
In the above embodiment, multiple test request instructions can be sent simultaneously, and the NAT type can be determined according to various combinations of the received response messages, so that the efficiency is high.
In one embodiment, as shown in fig. 4, the test request instructions Check _ I, Check _ II, Check _ III, Check _ IV are sent to the server, and the NAT context identifier bBeforeNat is false;
regularly (for example, 1s) collecting response signaling replied by the server, processing the response signaling, finding that the response is replied to the test request instruction according to the signaling, and marking that the instruction has received the response; if the time is out, the response is not received;
if a response returned by the Check _ I is received and the analyzed public network IP returned by the server is the same as the local IP, marking that the bBeforenat is true before the NAT;
if the Check _ I and Check _ II responses are received, then:
if Beforenat is true, marking NATTYTPE ═ 5, otherwise marking NAT TYPE ═ 1;
otherwise, executing:
if the bBeforeNat is false, a Check _ I response and a Check _ IV response are received, and the resolved external network IP or PORT is different, namely the public network IP or PORT carried by the Check _ I and the Check _ IV are different, then the NAT TYPE is marked to be 4; otherwise, executing:
if bBeforeNat is false and Check _ I and Check _ III respond and no Check _ II response is received, then NAT TYPE is marked 2, otherwise:
whether the retry frequency exceeds the preset frequency (5 times) or not, if not, returning to send the test request instruction to the server again;
if the preset times are exceeded, executing the following steps:
if bBeforenat is true, Check _ I is received and Check _ II is not received, then NAT TYPE is marked 6, otherwise:
if bBeforeNat is false, Check _ I, Check _ IV is received, Check _ II and Check _ III are not received, flag NATTYPE is 3, otherwise:
if bBeforeNat is false, Check _ I is received and Check _ II is not received, NATTYPE is marked 8, otherwise NAT TYPE is marked 7
Fig. 5 is a flowchart illustrating another embodiment of a method for determining a NAT type according to the present application. As shown in fig. 5, the method provided in this embodiment is applied to a server, and the method includes:
step 201, receiving at least two test request instructions from a client;
step 202, performing parallel processing on at least two test request instructions sent by a client;
step 203, sending response messages corresponding to the at least two test request instructions to the client, where the response messages are used to determine the NAT type of the client.
Specifically, in NAT type detection, the main time consumption is the network transmission process between sending and receiving data packets, and the queuing delay when the STUN server processes the data packets. The time consumed in these processes is not controllable for the client. Therefore, in order to improve the processing efficiency, in the embodiment of the present application, the server is configured with at least one network card (as shown in table 1), and the server is configured to perform parallel processing on at least two test request instructions.
In addition, in order to improve the NAT type detection efficiency, the client can send the packet as early as possible, so that the subsequent packet reception can be faster. Thus, at least two test request instructions may be sent simultaneously.
In order to distinguish these instructions, it is necessary to mark each test request instruction, for example, when sending the test request instruction, the mark of the test request instruction is carried. And subsequently, directly receiving a response message returned by the relevant instruction. The response to which instruction is to be responded is determined based on the identification in the response message.
And determining the NAT type of the client according to the combination of the response messages corresponding to the test request instruction. For example, a response message corresponding to one test request command is received, or a response message corresponding to each of two test request commands is received.
In one embodiment, the at least two test request instructions include: a first test request instruction and a second test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message;
the first test request instruction is used for requesting the server to feed back the first response message from a first IP address and the first port;
the second test request instruction is used for requesting the server to feed back the second response message from a second IP address and a second port;
the destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of a first port of the server; and the first response message carries the first public network IP address and the first public network port of the client.
In one embodiment, the at least two test request instructions further comprise: a third test request instruction and a fourth test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, a fourth response message;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from a second IP address and the second port;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server; the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server;
and the fourth response message carries the second public network IP address and the second public network port of the client.
The method of this embodiment is similar to the technical solution of the client-side method embodiment in the implementation principle and technical effect, and is not described herein again.
Fig. 6 is a structural diagram of an embodiment of an apparatus for determining a NAT type provided in the present application, and as shown in fig. 6, the apparatus for determining a NAT type of the present embodiment is applied to a client, and the apparatus includes:
a sending module 601, configured to send at least two test request instructions to a server; the server is used for carrying out parallel processing on the at least two test request instructions;
a receiving module 602, configured to receive response messages corresponding to the at least two test request instructions returned by the server;
the processing module 603 is configured to determine the NAT type of the client according to the response message.
In one possible implementation, the at least two test request instructions include: a first test request instruction and a second test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message;
the first test request instruction is used for requesting the server to feed back the first response message from a first IP address and a first port;
the second test request instruction is used for requesting the server to feed back the second response message from a second IP address and a second port;
the destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of a first port of the server; and the first response message carries the first public network IP address and the first public network port of the client.
In a possible implementation manner, the processing module 603 is specifically configured to:
if the response message comprises the first response message, determining the state of the client according to the first response message, wherein the state of the client is positioned before NAT or behind NAT, the client is not subjected to network address translation before NAT, and the client is subjected to network address translation after NAT;
and determining the type of the client according to the response message and the state of the client.
In a possible implementation manner, the processing module 603 is specifically configured to:
if the first public network IP address carried by the first response message is the same as the local IP address of the client, determining that the state of the client is positioned in front of the NAT;
and if the first public network IP address carried by the first response message is different from the local IP address of the client, determining that the state of the client is behind the NAT.
In a possible implementation manner, the processing module 603 is specifically configured to:
if the response message comprises the first response message and the second response message, and the state of the client is located before NAT, determining that the type of the client is: located before NAT;
if the response message comprises the first response message and the second response message, and the state of the client is located behind the NAT, determining that the NAT type of the client is as follows: full cone NAT.
In one possible implementation manner, the at least two test request instructions further include: a third test request instruction and a fourth test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, a fourth response message;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from the second IP address and the second port;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server; the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server;
and the fourth response message carries the second public network IP address and the second public network port of the client.
In a possible implementation manner, the processing module 603 is specifically configured to:
if the response message includes the first response message and the fourth response message, the client is in the state after the NAT, and the first public network IP address carried in the first response message is different from the second public network IP address carried in the fourth response message, determining that the NAT type of the client is: a symmetric NAT;
if the response message includes the first response message and the fourth response message, the client is in the state after the NAT, and the first public network port carried by the first response message is different from the second public network port carried by the fourth response message, determining that the NAT type of the client is: a symmetric NAT;
if the client is in the state of being located in the NAT, the response message comprises the first response message and the third response message, and the response message does not comprise the second response message, determining that the NAT type of the client is: limiting cone NAT.
In a possible implementation manner, the processing module 603 is further configured to:
determining whether the number of times of sending the at least two test request instructions exceeds a preset number of times;
if the number of times exceeds the preset number of times, the state of the client is located before NAT, the response message comprises the first response message, and the response message does not comprise the fourth response message, the NAT type of the client is determined to be firewall limitation;
if the number of times exceeds a preset number of times, the state of the client is after the client is located in the NAT, the response message comprises the first response message and the fourth response message, and the response message does not comprise the second response message and the third response message, then the NAT type of the client is determined as follows: the port restricts the conical NAT.
In a possible implementation manner, the processing module 603 is further configured to:
and if the response message returned by the server is not received, determining that the NAT type of the client is UDP invalid.
The apparatus of this embodiment may be configured to implement the technical solutions of the above method embodiments, and the implementation principles and technical effects are similar, which are not described herein again.
Fig. 7 is a structural diagram of another embodiment of the apparatus for determining a NAT type provided in the present application, and as shown in fig. 7, the apparatus for determining a NAT type of the present embodiment is applied to a server, and the apparatus includes:
a receiving module 701, configured to receive at least two test request instructions from the client;
a processing module 702, configured to perform parallel processing on at least two test request instructions sent by a client;
a sending module 703, configured to send, to the client, a response message corresponding to the at least two test request instructions, where the response message is used to determine the NAT type of the client.
In one possible implementation, the at least two test request instructions include: a first test request instruction and a second test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message;
the first test request instruction is used for requesting the server to feed back the first response message from a first IP address and a first port;
the second test request instruction is used for requesting the server to feed back the second response message from a second IP address and a second port;
the destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of the first port of the server; and the first response message carries the first public network IP address and the first public network port of the client.
In one possible implementation manner, the at least two test request instructions further include: a third test request instruction and a fourth test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, a fourth response message;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from a second IP address and the second port;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server; the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server;
and the fourth response message carries the second public network IP address and the second public network port of the client.
The apparatus of this embodiment may be configured to implement the technical solutions of the above method embodiments, and the implementation principles and technical effects are similar, which are not described herein again.
Fig. 8 is a block diagram of an embodiment of an electronic device provided in the present application, and as shown in fig. 8, the electronic device includes:
a processor 801, and a memory 802 for storing executable instructions for the processor 801.
Optionally, the method may further include: a communication interface 803 for enabling communication with other devices.
The above components may communicate over one or more buses.
The processor 801 is configured to execute the corresponding method in the foregoing method embodiment by executing the executable instruction, and the specific implementation process of the method may refer to the foregoing method embodiment, which is not described herein again.
The electronic device may be the aforementioned client device.
Fig. 9 is a block diagram of an embodiment of a server provided in the present application, and as shown in fig. 9, the server includes:
a processor 901, and a memory 902 for storing executable instructions of the processor 901.
Optionally, the method may further include: a communication interface 903 for enabling communication with other devices.
The above components may communicate over one or more buses.
The processor 901 is configured to execute the corresponding method in the foregoing method embodiment by executing the executable instruction, and the specific implementation process of the method may refer to the foregoing method embodiment, which is not described herein again.
The embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the method in the foregoing method embodiment is implemented.
An embodiment of the present application further provides a network system, including:
a client device and a server;
the server is used for receiving at least two test request instructions sent by the client, performing parallel processing on the at least two test request instructions, and returning response messages corresponding to the at least two test request instructions to the client;
and the client is used for determining the NAT type of the client according to the response messages corresponding to the at least two test request instructions.
The system of this embodiment may be configured to implement the technical solutions of the method embodiments, and the implementation principles and technical effects are similar, which are not described herein again.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method for determining a Network Address Translation (NAT) type is applied to a client, and the method comprises the following steps:
sending at least two test request instructions to a server; the server is used for carrying out parallel processing on the at least two test request instructions;
receiving response messages corresponding to the at least two test request instructions returned by the server;
the at least two test request instructions include: a first test request instruction, a second test request instruction, a third test request instruction and a fourth test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, a fourth response message; the first test request instruction is used for requesting the server to feed back the first response message from a first IP address and a first port;
the second test request instruction is used for requesting the server to feed back the second response message from a second IP address and a second port;
the destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of a first port of the server; the first response message carries a first public network IP address and a first public network port of the client;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from the second IP address and the second port;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server; the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server;
the fourth response message carries a second public network IP address and a second public network port of the client;
if the response message comprises the first response message, determining the state of the client according to the first response message, wherein the state of the client is positioned before NAT or behind NAT, the client is not subjected to network address translation before NAT, and the client is subjected to network address translation after NAT;
determining the type of the client according to the response message and the state of the client;
determining whether the number of times of sending the at least two test request instructions exceeds a preset number of times;
if the times exceed the preset times, the state of the client is before NAT, the response message comprises the first response message, and the response message does not comprise the fourth response message, and the NAT type of the client is determined to be firewall limitation;
if the number of times exceeds a preset number of times, the state of the client is after the client is located in the NAT, the response message comprises the first response message and the fourth response message, and the response message does not comprise the second response message and the third response message, then the NAT type of the client is determined as follows: the port restricts the conical NAT.
2. The method of claim 1, wherein determining the state of the client from the first response message comprises:
if the first public network IP address carried by the first response message is the same as the local IP address of the client, determining that the state of the client is positioned in front of the NAT;
and if the first public network IP address carried by the first response message is different from the local IP address of the client, determining that the state of the client is behind the NAT.
3. The method according to claim 1 or 2, wherein if the response message includes the first response message and the second response message, and the status of the client is before NAT, it is determined that the type of the client is: located in front of NAT;
if the response message comprises the first response message and the second response message, and the state of the client is located behind the NAT, determining that the NAT type of the client is as follows: full cone NAT.
4. The method of claim 1, wherein determining the type of the client based on the response message and the status of the client comprises:
if the response message includes the first response message and the fourth response message, the client is in the state after the NAT, and the first public network IP address carried in the first response message is different from the second public network IP address carried in the fourth response message, determining that the NAT type of the client is: a symmetric NAT;
if the response message includes the first response message and the fourth response message, the client is in the state after the NAT, and the first public network port carried by the first response message is different from the second public network port carried by the fourth response message, determining that the NAT type of the client is: a symmetric NAT;
if the state of the client is after the NAT is located, the response message comprises the first response message and the third response message, and the response message does not comprise the second response message, determining that the NAT type of the client is: limiting cone NAT.
5. The method of claim 1 or 2, further comprising:
and if the response message returned by the server is not received, determining that the NAT type of the client is UDP invalid.
6. A method for determining a Network Address Translation (NAT) type is applied to a server, and the method comprises the following steps:
receiving at least two test request instructions from a client;
performing parallel processing on at least two test request instructions sent by the client;
sending response messages corresponding to the at least two test request instructions to the client, wherein the response messages are used for determining the NAT type of the client;
the at least two test request instructions include: a first test request instruction, a second test request instruction, a third test request instruction and a fourth test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, a fourth response message;
the first test request instruction is used for requesting the server to feed back the first response message from a first IP address and a first port;
the second test request instruction is used for requesting the server to feed back the second response message from a second IP address and a second port;
the destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of a first port of the server; the first response message carries a first public network IP address and a first public network port of the client;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from a second IP address and the second port;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server; the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server;
the fourth response message carries a second public network IP address and a second public network port of the client;
if the response message comprises the first response message, the state of the client is determined according to the first response message, the state of the client is positioned before NAT or behind NAT, the positioning before NAT indicates that the client does not perform network address translation, and the positioning behind NAT indicates that the client performs network address translation; the type of the client is determined based on the response message and the state of the client;
if the number of times of sending the at least two test request instructions is determined to exceed the preset number of times, the state of the client is before NAT, the response message comprises the first response message, and the response message does not comprise the fourth response message, the NAT type of the client is determined to be firewall limitation;
if the number of times exceeds a preset number of times, the state of the client is after the client is located in the NAT, the response message comprises the first response message and the fourth response message, and the response message does not comprise the second response message and the third response message, then the NAT type of the client is determined as follows: the port restricts the conical NAT.
7. A network system, comprising:
a client device and a server;
the server is used for receiving at least two test request instructions sent by the client, performing parallel processing on the at least two test request instructions, and returning response messages corresponding to the at least two test request instructions to the client;
the at least two test request instructions include: a first test request instruction, a second test request instruction, a third test request instruction and a fourth test request instruction; the response messages corresponding to the at least two test request instructions comprise at least one of the following: a first response message, a second response message, a third response message, a fourth response message; the first test request instruction is used for requesting the server to feed back the first response message from a first IP address and a first port;
the second test request instruction is used for requesting the server to feed back the second response message from a second IP address and a second port;
the destination addresses of the first test request instruction and the second test request instruction are the first IP address of the server and the port number of a first port of the server; the first response message carries a first public network IP address and a first public network port of the client;
the third test request instruction is used for requesting the server to feed back a third response message from the first IP address and the second port;
the fourth test request instruction is used for requesting the server to feed back a fourth response message from the second IP address and the second port;
the destination address of the third test request instruction is the first IP address of the server and the port number of the first port of the server; the destination address of the fourth test request instruction is the second IP address of the server and the port number of the second port of the server;
the fourth response message carries a second public network IP address and a second public network port of the client;
the client is used for determining the state of the client according to the first response message if the response message comprises the first response message, wherein the state of the client is positioned before NAT or behind NAT, the positioning before NAT indicates that the client does not perform network address translation, and the positioning behind NAT indicates that the client performs network address translation;
determining the type of the client according to the response message and the state of the client;
determining whether the number of times of sending the at least two test request instructions exceeds a preset number of times;
if the times exceed the preset times, the state of the client is before NAT, the response message comprises the first response message, and the response message does not comprise the fourth response message, and the NAT type of the client is determined to be firewall limitation;
if the number of times exceeds a preset number of times, the state of the client is after the NAT is located, the response message includes the first response message and the fourth response message, and the response message does not include the second response message and the third response message, then the NAT type of the client is determined as follows: the port restricts the conical NAT.
8. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method of any one of claims 1-6.
9. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of any of claims 1-5 via execution of the executable instructions.
10. A server, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of claim 6 via execution of the executable instructions.
CN202010805783.6A 2020-08-12 2020-08-12 NAT type determination method, device, system and storage medium Active CN111935333B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010805783.6A CN111935333B (en) 2020-08-12 2020-08-12 NAT type determination method, device, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010805783.6A CN111935333B (en) 2020-08-12 2020-08-12 NAT type determination method, device, system and storage medium

Publications (2)

Publication Number Publication Date
CN111935333A CN111935333A (en) 2020-11-13
CN111935333B true CN111935333B (en) 2022-09-27

Family

ID=73311145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010805783.6A Active CN111935333B (en) 2020-08-12 2020-08-12 NAT type determination method, device, system and storage medium

Country Status (1)

Country Link
CN (1) CN111935333B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196057A (en) * 2010-03-03 2011-09-21 腾讯科技(深圳)有限公司 Network address translation (NAT) type determination method and device
CN105049300A (en) * 2015-08-28 2015-11-11 北京奇艺世纪科技有限公司 Method and device for detecting NAT network type
CN105187567A (en) * 2015-06-24 2015-12-23 东莞市南星电子有限公司 Audio-video communication method based on SIP and ICE

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801059B2 (en) * 2007-04-20 2010-09-21 Panasonic Corporation IP communication apparatus and NAT type determination method by the same
US8165091B2 (en) * 2008-06-27 2012-04-24 Nix John A Efficient handover of media communications in heterogeneous IP networks using LAN profiles and network handover rules
US8493931B1 (en) * 2008-09-12 2013-07-23 Google Inc. Efficient handover of media communications in heterogeneous IP networks using handover procedure rules and media handover relays
US9160794B2 (en) * 2008-12-04 2015-10-13 Microsoft Technology Licensing, Llc Network address translators (NAT) type detection techniques
CN105610999A (en) * 2016-03-30 2016-05-25 上海斐讯数据通信技术有限公司 Method, device, server and system for implementing P2P communication by penetrating NAT (network address translator)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102196057A (en) * 2010-03-03 2011-09-21 腾讯科技(深圳)有限公司 Network address translation (NAT) type determination method and device
CN105187567A (en) * 2015-06-24 2015-12-23 东莞市南星电子有限公司 Audio-video communication method based on SIP and ICE
CN105049300A (en) * 2015-08-28 2015-11-11 北京奇艺世纪科技有限公司 Method and device for detecting NAT network type

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UDP的端对端通讯的原理及实现;徐颖等;《北京航空航天大学学报》;20050730(第07期);全文 *

Also Published As

Publication number Publication date
CN111935333A (en) 2020-11-13

Similar Documents

Publication Publication Date Title
CN108449282B (en) Load balancing method and device
CN109831547B (en) NAT (network Address translation) penetration method, device, equipment and storage medium
US8478891B1 (en) Employing socket ranges to ascertain layer 2 addresses
CN109525684B (en) Message forwarding method and device
CN112040030B (en) Message transmission method and device, computer equipment and storage medium
CN102196057A (en) Network address translation (NAT) type determination method and device
CN110012118B (en) Method and controller for providing Network Address Translation (NAT) service
CN106375491A (en) Method, device and system for discovering network equipment
CN111711705B (en) Method and device for realizing network connection based on bidirectional NAT (network Address translation) by proxy node
RU2019113321A (en) SYSTEMS AND METHODS FOR AUXILIARY NETWORK DETECTION FOR CLUSTER SYSTEMS BASED ON ZERO CONFIGURATION
CN114189492A (en) Network card pressure testing method and system based on network address translation technology
CN113452778B (en) Session holding method, device, equipment, system and storage medium
CN111953810B (en) Method, device and storage medium for identifying proxy internet protocol address
US20230269216A1 (en) Communication method and apparatus
CN111935333B (en) NAT type determination method, device, system and storage medium
WO2017219816A1 (en) Data transmission method and network address translation device
CN113676409B (en) Message forwarding method and device, electronic equipment and storage medium
US20100238930A1 (en) Router and method of forwarding ipv6 packets
CN106789666B (en) Method and device for determining converted port
CN112019641B (en) Data transmission method and device
CN109842692A (en) VxLAN switch, system and method for obtaining host information in physical network
CN114979065A (en) Method and device for improving source NAT address translation effectiveness
CN109302390A (en) A kind of leak detection method and device
WO2017219777A1 (en) Packet processing method and device
CN110661895A (en) Network address mapping method and network address mapping equipment of server

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant