US20160142371A1 - Transmission system and method for network address translation traversal - Google Patents
Transmission system and method for network address translation traversal Download PDFInfo
- Publication number
- US20160142371A1 US20160142371A1 US15/004,772 US201615004772A US2016142371A1 US 20160142371 A1 US20160142371 A1 US 20160142371A1 US 201615004772 A US201615004772 A US 201615004772A US 2016142371 A1 US2016142371 A1 US 2016142371A1
- Authority
- US
- United States
- Prior art keywords
- network address
- network
- private
- server
- packet
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2564—NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
Definitions
- the present invention relates to a transmission system and a transmission method; and more particularly, to a transmission system and a transmission method for network address translation traversal.
- Network address translation is a technology by which a source network address and a destination network address are rewritten when a network address packet passes through the NAT or a firewall with the NAT Function.
- a plurality of devices in a private network e.g., in a company or a house
- the NAT technology the problem that it is difficult to reserve network addresses in the Internet due to the limited number of IPv4 network addresses can be effectively solved.
- the NAT technology also makes communications among different hosts more complex.
- a device in a private network can directly communicate with a device in a public network via an NAT server.
- the device in the public network it is impossible for the device in the public network to communicate with the device in the private network directly via the NAT server unless the network address mapping data corresponding to the device in the private network have been created.
- a need may exist for the device in the public network to be connected to the device in the private network (e.g., the peer-to-peer (P2P) technology, the Voice over IP (VoIP) technology, and etc.).
- the NAT traversal is considered to be a technology capable of solving the problem that the device in the public network cannot directly communicate with the device in the private network.
- the device in the public network must obtain the network address mapping data (i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server) corresponding to the device in the private network in order to properly communicate with the device in the private network.
- the network address mapping data i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server
- An objective of the present invention is to provide a solution capable of effectively creating network address mapping data corresponding to a device in a private network without changing the existing NAT communication network framework so that a device in a public network can communicate with the device in the private network according to the network address mapping data.
- the disclosure includes network address mapping data (i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server) corresponding to the device in the private network created in advance and recorded in a predetermined device in the existing NAT communication network. Then, the device in the public network can inquire the network address mapping data from the predetermined device and communicate with the device in the private network according to the network address mapping data.
- the disclosure includes a transmission system for network address translation traversal.
- the transmission system comprises a private network device, a network address record device, a public network device and a network address translation server.
- the network address record device is configured to record an inner network address of the private network device and an outer network address corresponding to the inner network address.
- the outer network address corresponding to the inner network address is an address of the private network device in the public network.
- the public network device is configured to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address.
- the network address translation server is configured to receive the packet from the public network device and transmit the packet to the private network device.
- the disclosure further includes a transmission method for network address translation traversal, comprising:
- FIG. 1 is a schematic structural view of a transmission system according to a first embodiment of the present invention
- FIG. 2A is a schematic structural view of a transmission system according to a second embodiment of the present invention.
- FIG. 2B is a schematic view illustrating operations of the transmission system according to the second embodiment of the present invention.
- FIG. 3A is a schematic structural view of a transmission system according to a third embodiment of the present invention.
- FIG. 3B is a schematic view illustrating operations of the transmission system according to the third embodiment of the present invention.
- FIG. 4 is a flowchart diagram of a transmission method according to a fourth embodiment of the present invention.
- FIG. 5 is a flowchart diagram of a transmission method according to a fifth embodiment of the present invention.
- FIG. 6 is a flowchart diagram of a transmission method according to a sixth embodiment of the present invention.
- a first embodiment of the present invention is a transmission system for network address translation (NAT) traversal.
- the transmission system 1 of this embodiment comprises a private network device 11 , a network address record device 13 , a public network device 15 , a network address translation server 17 and a core network server 19 .
- the transmission system 1 may comprise a plurality of private network devices 11 , and each of the private network devices 11 may be substantially considered as and execute the same operations and functions as the private network device 11 described in this embodiment.
- the network address record device 13 can be implemented by a predetermined device in the existing NAT communication network system, and can be implemented by different devices in different NAT communication networks without affecting practical operations of the invention.
- the network address record device 13 is configured to record an inner network address 20 of the private network device 11 and an outer network address 22 corresponding to the inner network address 20 .
- the inner network address 20 is a private network address of the private network device 11 in a private network
- the outer network address 22 corresponding to the inner network address 20 is a public network address that is translated from the inner network address 20 by the network address translation server 17 and that can be recognized in the public network.
- the inner network address 20 of the private network device 11 may further comprise an inner port
- the outer network address 22 corresponding to the inner network address 20 may further comprise an outer port.
- the core network server 19 may be implemented differently depending on different NAT communication network systems without affecting practical operations of the present invention.
- the core network server 19 is configured to perform a predetermined procedure with the private network device 11 to create the inner network address 20 of the private network device 11 and the outer network address 22 corresponding to the inner network address 20 . Details of the predetermined procedure vary with different NAT communication network systems, but the purpose of the predetermined procedure will remain the same (i.e., to create the inner network address 20 of the private network device 11 and the outer network address 22 corresponding to the inner network address 20 ).
- both the private network device 11 and the core network server 19 Upon completion of the predetermined procedure, both the private network device 11 and the core network server 19 will know the inner network address 20 of the private network device 11 and the outer network address 22 corresponding to the inner network address 20 . Then, the inner network address 20 of the private network device 11 and the outer network address 22 corresponding to the inner network address 20 are transmitted by one of the private network device 11 and the core network server 19 to the network address record device 13 so that the network address record device 13 can record and update the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that are received.
- the public network device 15 can inquire the inner network address 20 of the private network device 11 and the outer network address 22 corresponding to the inner network address 20 from the network address record device 13 at any time when it desires to communicate with the private network device 11 . Once the inner network address 20 of the private network device 11 and the outer network address 22 corresponding to the inner network address 20 have been known by the public network device 15 through inquiry procedure, the public network device 15 can generate a packet 24 according to the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 to communicate with the private network device 11 via the packet 24 .
- the public network device 15 transmits the packet 24 generated to the NAT server 17 .
- the NAT server 17 is configured to receive the packet 24 from the public network device 15 and transmit the packet 26 to the private network device 11 .
- a header of the packet 24 generated by the public network device 15 comprises the outer network address 22 corresponding to the inner network address 20 .
- the NAT server 17 will remove the header comprising the outer network address 22 corresponding to the inner network address 20 from the packet 24 after receiving the packet 24 , and then transmit the packet 26 comprising only the inner network address 20 to the private network device 11 .
- the public network device 15 in the transmission system 1 will be able to communicate with the private network device 11 effectively, and the purpose of NAT traversal can be achieved without changing the existing NAT communication network framework.
- a second embodiment of the present invention is a transmission system for network address translation traversal.
- the transmission system of this embodiment is applicable to Machine-Type Communications (MTC) in 3GPP (3 rd Generation Partnership Project), but this is not intended to limit implementations of the present invention.
- MTC Machine-Type Communications
- the transmission system 3 of this embodiment may be as shown in FIG. 2A .
- the transmission system 3 comprises an MTC device 31 , a domain name system server 33 , a MTC device 35 , an NAT traversal through tunneling server 37 and a core network server 39 .
- the transmission system 3 may comprise a plurality of MTC devices 31 , and each of the MTC devices 31 may be substantially considered as and execute the same operations and functions as the MTC device 31 described in this embodiment.
- the MTC device 31 , the domain name system server 33 , the MTC device 35 , the NAT traversal through tunneling server 37 and the core network server 39 described in this embodiment may correspond to and substantially execute the same operations and functions as the private network device 11 , the network address record device 13 , the public network device 15 , the NAT server 17 and the core network server 19 described in the first embodiment respectively. Therefore, only differences between this embodiment and the first embodiment will be described hereinafter.
- the core network server 39 may comprise a Mobility Management Entity (MME), a Serving Gateway (SGW), a Packet Data Network Gateway (PGW), a Home Subscriber Server (HSS), an Authentication Authorization Accounting (AAA) device and so on.
- MME Mobility Management Entity
- SGW Serving Gateway
- PGW Packet Data Network Gateway
- HSS Home Subscriber Server
- AAA Authentication Authorization Accounting
- FIG. 2B is a schematic view illustrating operations of the transmission system 3 .
- the MTC device 31 deployed in the private network can perform a predetermined procedure 400 with the core network server 39 to create an inner network address 20 of the MTC device 31 and an outer network address 22 corresponding to the inner network address 20 .
- the inner network address 20 of the MTC device 31 may further comprise an inner port
- the outer network address 22 corresponding to the inner network address 20 may further comprise an outer port.
- a storing procedure 402 and a storing procedure 404 will be executed.
- the storing procedure 402 and the storing procedure 404 are initiated by the core network server 39 and the MTC device 31 respectively.
- the storing procedure 402 and the storing procedure 404 are used to transmit a fully qualified domain name 28 of the MTC device 31 , the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 to the domain name system server 33 so that the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 can be recorded or updated by the domain name system server 33 .
- the MME in the core network server 39 transmits the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the HSS/AAA device, and then the HSS/AAA device in the core network server 39 transmits the fully qualified domain name 28 of the MTC device 31 , the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the domain name system server 33 .
- the MTC device 31 transmits the fully qualified domain name 28 of the MTC device 31 , the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the domain name system server 33 directly.
- the domain name system server 33 After receiving the fully qualified domain name 28 of the MTC device 31 , the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 from the MTC device 31 or the core network server 39 , the domain name system server 33 located in the application layer will initiate a recording procedure 406 .
- the domain name system server 33 will, in response to the fully qualified domain name of the MTC device 21 , record the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 according to a domain name system SRV protocol and pursuant to one of a predetermined order, a priority token and a weight token.
- the domain name system SRV protocol is used to set the predetermined order, the priority token or the weight token in advance so that the domain name system server 33 records the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 in sequence according to the predetermined order, the priority token or the weight token. For example, if the predetermined order, the priority token or the weight token indicates an order in which the inner network address 20 is followed by the outer network address 22 corresponding to the inner network address 20 , then the domain name system server 33 will record firstly the inner network address 20 and then the outer network address 22 corresponding to the inner network address 20 .
- the domain name system server 33 will record firstly the outer network address 22 corresponding to the inner network address 20 and then the inner network address 20 .
- inquiry of the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 becomes well regulated.
- the domain name system server 33 may further initiate a storage confirming procedure (not shown) after completion of the recording procedure 406 to inform the core network server 39 or the MTC device 31 that: the domain name system server 33 has successfully recorded and updated the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 according to the domain name system SRV protocol.
- the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 will be continuously recorded and updated into the domain name system server 33 . If the MTC device 35 in the public network desires to communicate with the MTC device 31 in the private network, the MTC device 35 will further initiate an inquiry procedure 408 .
- the MTC device 35 sends an inquiry message to the domain name system server 33 , with a targeted object of the inquiry message being the MTC device 31 corresponding to the fully qualified domain name 28 . Then, the inner network address 20 of the MTC device 31 corresponding to the fully qualified domain name 28 and the outer network address 22 corresponding to the inner network address 20 are inquired from the domain name system server 33 according to the domain name system SRV protocol and pursuant to one of the predetermined order, the priority token and the weight token.
- the MTC device 35 After having inquired the inner network address 20 of the MTC device 31 corresponding to the fully qualified domain name 28 and the outer network address 22 corresponding to the inner network address 20 , the MTC device 35 initiates a transmission procedure 410 .
- the MTC device 35 In the transmission procedure 410 , the MTC device 35 generates a packet 24 according to the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that have been inquired, and transmits the packet 24 to the NAT traversal through tunneling server 37 .
- a header of the packet 24 comprises the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 .
- the NAT traversal through tunneling server 37 initiates a transmission procedure 412 after receiving the packet 24 .
- the NAT traversal through tunneling server 37 removes the outer network address 22 corresponding to the inner network address 20 from the header of the packet 24 and then transmits the packet 26 whose header comprises only the inner network address 20 to the MTC device 31 .
- the NAT traversal through tunneling server 37 firstly transmits the packet 26 to the serving gateway/the packet data network gateway in the core network server 39 , which then transmits the packet 26 to the MTC device 31 .
- a third embodiment of the present invention is a transmission system for network address translation traversal.
- the transmission system of this embodiment is applicable to MTC communications of 3GPP, but this is not intended to limit implementations of the present invention.
- the transmission system 5 of this embodiment may be as shown in FIG. 3A .
- the transmission system 5 comprises an MTC device 31 , a session initiation protocol (SIP) server 53 , an MTC device 35 , an NAT traversal through tunneling server 37 and a core network server 39 .
- the transmission system 5 may comprise a plurality of MTC devices 31 , and each of the MTC devices 31 may be substantially considered as and execute the same operations and functions as the MTC device 31 described in this embodiment.
- the SIP server 53 of this embodiment may be considered as and substantially execute the same operations and functions as the network address record device 13 described in the first embodiment.
- the MTC device 31 , the MTC device 35 , the NAT traversal through tunneling server 37 and the core network server 39 described in this embodiment may correspond to and substantially execute the same operations and functions as the MTC device 31 , the MTC device 35 , the NAT traversal through tunneling server 37 and the core network server 39 described in the second embodiment respectively. Therefore, only differences between this embodiment and the second embodiment will be described hereinafter.
- FIG. 3B is a schematic view illustrating operations of the transmission system 5 .
- the MTC device 31 deployed in the private network may perform a predetermined procedure 600 with the core network server 39 to create an inner network address 20 of the MTC device 31 and an outer network address 22 corresponding to the inner network address 20 .
- the predetermined procedure 600 described in this embodiment is substantially the same as the predetermined procedure 400 described in the second embodiment, so it will not be further described herein.
- the inner network address 20 of the MTC device 31 may further comprise an inner port
- the outer network address 22 corresponding to the inner network address 20 may further comprise an outer port.
- a registering procedure 602 and a registering procedure 604 is executed.
- the registering procedure 602 and the registering procedure 604 are initiated by the core network server 39 and the MTC device 31 respectively, and are both used to transmit the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the SIP server 53 so that the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 can be recorded or updated by the SIP server 53 .
- the MME in the core network server 39 transmits the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the HSS/AAA device, and then the HSS/AAA device in the core network server 39 transmits the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the SIP server 53 .
- the MTC device 31 transmits the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the SIP server 53 directly.
- the SIP server 53 After receiving the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 from the MTC device 31 or the core network server 39 , the SIP server 53 residing in the application layer will initiate a recording procedure 606 .
- the SIP server 53 labels the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 respectively according to a session initiation protocol, and then records the labeled inner network address 20 and the labeled outer network address 22 corresponding to the inner network address 20 .
- the SIP server 53 can establish a mapping table comprising a plurality of fields. Then, the SIP server 53 having received the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 may label the inner network address 20 as “inner” and the outer network address 22 corresponding to the inner network address 20 as “outer”, and record the labeled inner network address 20 and the labeled outer network address 22 corresponding to the inner network address 20 into one of the fields of the mapping table (e.g., the field “contact”).
- the mapping table e.g., the field “contact”.
- the labeled inner network address 20 stored in the field “contact” may be represented as “contact: ⁇ 192.168.0.10>;inner”, and the labeled outer network address 22 corresponding to the inner network address 20 stored in the field “contact” may be represented as “contact: ⁇ 192.168.1.1>;outer”.
- the SIP server 53 may further initiate a registration confirming procedure (not shown) after completion of the recording procedure 606 to inform the core network server 39 or the MTC device 31 that: the SIP server 53 has successfully labeled and recorded the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 according to the session initiation protocol.
- the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 will be continuously labeled and recorded into the SIP server 53 . If the MTC device 35 in the public network desires to communicate with the MTC device 31 in the private network, the MTC device 35 will further initiate an inquiry procedure 608 .
- the MTC device 35 sends an inquiry message to the SIP server 53 , with a targeted object of the inquiry message being the field (e.g., the field “contact”) of the aforesaid mapping table. Then, the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 are inquired from the SIP server 53 according to the session initiation protocol. Because the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that are stored in the mapping table have both been labeled, the MTC device 35 can learn, according to the session initiation protocol, whether the network address obtained through the inquiry procedure corresponds to the inner network address 20 or to the outer network address 22 corresponding to the inner network address 20 .
- the MTC device 35 initiates a transmission procedure 610 after having inquired the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 that correspond to the field (e.g., the field “contact”) of the mapping table.
- the MTC device 35 generates a packet 24 according to the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that have been inquired, and transmits the packet 24 to the NAT traversal through tunneling server 37 .
- a header of the packet 24 comprises the inner network address 20 of the MTC device 31 and the outer network address 22 corresponding to the inner network address 20 .
- the predetermined procedure 610 described in this embodiment is substantially the same as the predetermined procedure 410 described in the second embodiment.
- the NAT traversal through tunneling server 37 initiates a transmission procedure 612 after receiving the packet 24 .
- the NAT traversal through tunneling server 37 removes the outer network address 22 corresponding to the inner network address 20 from the header of the packet 24 and then transmits the packet 26 whose header comprises only the inner network address 20 to the MTC device 31 .
- the NAT traversal through tunneling server 37 transmits the packet 26 to the serving gateway/the packet data network gateway in the core network server 39 , which then transmits the packet 26 to the MTC device 31 .
- the predetermined procedure 612 described in this embodiment is substantially the same as the predetermined procedure 412 described in the second embodiment.
- a fourth embodiment of the present invention is a transmission method for network address translation traversal.
- the transmission method of this embodiment is applicable to the transmission system 1 of the first embodiment.
- FIG. 4 is a flowchart diagram of the transmission method of this embodiment.
- step S 401 is executed to enable a core network server to perform a predetermined procedure with a private network device to create an inner network address of the private network device and an outer network address corresponding to the inner network address.
- the inner network address of the private network device further comprises an inner port
- the outer network address corresponding to the inner network address further comprises an outer port.
- Step 403 is executed to enable one of the private network device and the core network server to transmit the inner network address of the private network device and the outer network address corresponding to the inner network address to a network address record device.
- step S 405 is executed to enable the network address record device to record the inner network address of the private network device and the outer network address corresponding to the inner network address.
- step S 407 is executed to enable a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address.
- step S 409 is executed to enable a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- the steps S 405 , S 407 and S 409 are essential steps of this embodiment, while the steps S 401 and S 403 are only used to illustrate an example of providing the network address record device with the inner network address of the private network device and the outer network address corresponding to the inner network address but are not intended to limit the present invention. In other embodiments, the steps S 401 and S 403 may be omitted or replaced by other steps.
- the fourth embodiment can also execute steps corresponding to all the operations of the transmission system 1 set forth in the first embodiment. How the fourth embodiment executes the corresponding steps will be readily appreciated by those of ordinary skill in the art based on the explanation of the first embodiment, and thus will not be further described herein.
- a fifth embodiment of the present invention is a transmission method for network address translation traversal.
- the transmission method of this embodiment is applicable to the transmission system 3 of the second embodiment.
- FIG. 5 is a flowchart diagram of the transmission method of this embodiment.
- step S 501 is executed to enable a core network server to perform a predetermined procedure with a private network device to create an inner network address of the private network device and an outer network address corresponding to the inner network address.
- the inner network address of the private network device further comprises an inner port
- the outer network address corresponding to the inner network address further comprises an outer port.
- Step 503 is executed to enable one of the private network device and the core network server to transmit a fully qualified domain name of the private network device, the inner network address and the outer network address corresponding to the inner network address to a domain name system server.
- step S 505 is executed to enable the domain name system server to, in response to the fully qualified domain name, record the inner network address of the private network device and the outer network address corresponding to the inner network address according to a domain name system SRV protocol and pursuant to one of a predetermined order, a priority token and a weight token.
- step S 507 is executed to enable a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the domain name system server according to the Domain Name System SRV protocol and pursuant to one of the predetermined order, the priority token and the weight token, and to generate a packet according to the inner network address and the outer network address corresponding to the inner network address.
- step S 509 is executed to enable a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- the steps S 505 , S 507 and S 509 are essential steps of this embodiment, while the steps S 501 and S 503 are only used to illustrate an example of providing the domain name system server with the inner network address of the private network device and the outer network address corresponding to the inner network address but are not intended to limit the present invention. In other embodiments, the steps S 501 and S 503 may be omitted or replaced by other steps.
- the fifth embodiment can also execute steps corresponding to all the operations of the transmission system 3 set forth in the second embodiment. How the fifth embodiment executes the corresponding steps will be readily appreciated by those of ordinary skill in the art based on the explanation of the second embodiment, and thus will not be further described herein.
- a sixth embodiment of the present invention is a transmission method for network address translation traversal.
- the transmission method of this embodiment is applicable to the transmission system 5 of the third embodiment.
- FIG. 6 is a flowchart diagram of the transmission method of this embodiment.
- step S 601 is executed to enable a core network server to perform a predetermined procedure with a private network device to create an inner network address of the private network device and an outer network address corresponding to the inner network address.
- the inner network address of the private network device further comprises an inner port
- the outer network address corresponding to the inner network address further comprises an outer port.
- Step 603 is executed to enable one of the private network device and the core network server to transmit the inner network address of the private network device and the outer network address corresponding to the inner network address to an SIP server.
- step S 605 is executed to enable the SIP server to label and record the inner network address of the private network device and the outer network address corresponding to the inner network address respectively according to a session initiation protocol.
- step S 607 is executed to enable a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the SIP server according to the session initiation protocol, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address.
- step S 609 is executed to enable a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- the steps S 605 , S 607 and S 609 are essential steps of this embodiment, while the steps S 601 and S 603 are only used to illustrate an example of providing the SIP server with the inner network address of the private network device and the outer network address corresponding to the inner network address but are not intended to limit the present invention. In other embodiments, the steps S 601 and S 603 may be omitted or replaced by other steps.
- the sixth embodiment can also execute steps corresponding to all the operations of the transmission system 5 set forth in the third embodiment. How the sixth embodiment executes the corresponding steps will be readily appreciated by those of ordinary skill in the art based on the explanation of the third embodiment, and thus will not be further described herein.
- the present invention provides a transmission system and a transmission method for network address translation traversal.
- network address mapping data i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server
- the device in the public network can inquire the network address mapping data from the predetermined device and communicate with the device in the private network according to the network address mapping data.
- the present invention allows the device in the public network to communicate with the device in the private network without changing the existing NAT communication network framework.
Abstract
A transmission system and a transmission method for network address translation traversal are provided. The transmission system includes a private network device, a network address record device, a public network device and a network address translation server. The network address record device records an inner network address of the private network device and an outer network address corresponding to the inner network address. The public network device inquires the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generates a packet according to the inner network address and the outer network address corresponding to the inner network address. The network address translation server receives the packet from the public network device, and transmits the packet to the public network device.
Description
- This application is a continuation of U.S. patent application Ser. No. 13/860,249, filed Apr. 10, 2013, which claims priority to and the benefit of U.S. Provisional Patent Application No. 61/622,015, filed on Apr. 10, 2012, and both of which are hereby incorporated by reference herein in their entirety.
- The present invention relates to a transmission system and a transmission method; and more particularly, to a transmission system and a transmission method for network address translation traversal.
- Network address translation (NAT) is a technology by which a source network address and a destination network address are rewritten when a network address packet passes through the NAT or a firewall with the NAT Function. In this way, a plurality of devices in a private network (e.g., in a company or a house) can be connected to the Internet through only a single public network address to communicate with devices in the public network. With the NAT technology, the problem that it is difficult to reserve network addresses in the Internet due to the limited number of IPv4 network addresses can be effectively solved. However, the NAT technology also makes communications among different hosts more complex.
- In the current NAT communication networks, a device in a private network can directly communicate with a device in a public network via an NAT server. On the other hand, it is impossible for the device in the public network to communicate with the device in the private network directly via the NAT server unless the network address mapping data corresponding to the device in the private network have been created. However, in terms of the current network technologies, a need may exist for the device in the public network to be connected to the device in the private network (e.g., the peer-to-peer (P2P) technology, the Voice over IP (VoIP) technology, and etc.). For this reason, the NAT traversal is considered to be a technology capable of solving the problem that the device in the public network cannot directly communicate with the device in the private network.
- According to the NAT traversal technology, the device in the public network must obtain the network address mapping data (i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server) corresponding to the device in the private network in order to properly communicate with the device in the private network. However, in the current NAT communication networks, there still lacks a standardized mechanism that can create the network address mapping data without changing the existing NAT communication network framework.
- Accordingly, an urgent need still exists in the art to provide a solution capable of effectively creating network address mapping data corresponding to a device in the private network without changing the existing NAT communication network framework so that the device in the public network can communicate with the device in the private network according to the network address mapping data.
- An objective of the present invention is to provide a solution capable of effectively creating network address mapping data corresponding to a device in a private network without changing the existing NAT communication network framework so that a device in a public network can communicate with the device in the private network according to the network address mapping data. The disclosure includes network address mapping data (i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server) corresponding to the device in the private network created in advance and recorded in a predetermined device in the existing NAT communication network. Then, the device in the public network can inquire the network address mapping data from the predetermined device and communicate with the device in the private network according to the network address mapping data.
- The disclosure includes a transmission system for network address translation traversal. The transmission system comprises a private network device, a network address record device, a public network device and a network address translation server. The network address record device is configured to record an inner network address of the private network device and an outer network address corresponding to the inner network address. The outer network address corresponding to the inner network address is an address of the private network device in the public network. The public network device is configured to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address. The network address translation server is configured to receive the packet from the public network device and transmit the packet to the private network device.
- The disclosure further includes a transmission method for network address translation traversal, comprising:
- (a) enabling a network address record device to record an inner network address of a private network device and an outer network address corresponding to the inner network address;
- (b) enabling a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address; and
- (c) enabling a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- The detailed technology and preferred embodiments implemented for the subject invention are described in the following paragraphs accompanying the appended drawings for people skilled in this field to well appreciate the features of the claimed invention.
-
FIG. 1 is a schematic structural view of a transmission system according to a first embodiment of the present invention; -
FIG. 2A is a schematic structural view of a transmission system according to a second embodiment of the present invention; -
FIG. 2B is a schematic view illustrating operations of the transmission system according to the second embodiment of the present invention; -
FIG. 3A is a schematic structural view of a transmission system according to a third embodiment of the present invention; -
FIG. 3B is a schematic view illustrating operations of the transmission system according to the third embodiment of the present invention; -
FIG. 4 is a flowchart diagram of a transmission method according to a fourth embodiment of the present invention; -
FIG. 5 is a flowchart diagram of a transmission method according to a fifth embodiment of the present invention; and -
FIG. 6 is a flowchart diagram of a transmission method according to a sixth embodiment of the present invention. - In the following description, the present invention will be explained with reference to example embodiments thereof. However, these example embodiments are not intended to limit the present invention to any specific examples, embodiments, environment, applications or particular implementations described in these example embodiments. Therefore, description of these example embodiments is only for purpose of illustration rather than to limit the present invention. It should be appreciated that, in the following embodiments and the attached drawings, elements unrelated to the present invention are omitted from depiction; and dimensional relationships among individual elements in the attached drawings are illustrated only for ease of understanding, but not to limit the actual scale.
- A first embodiment of the present invention is a transmission system for network address translation (NAT) traversal. As shown in
FIG. 1 , thetransmission system 1 of this embodiment comprises aprivate network device 11, a networkaddress record device 13, apublic network device 15, a networkaddress translation server 17 and acore network server 19. In other embodiments, thetransmission system 1 may comprise a plurality ofprivate network devices 11, and each of theprivate network devices 11 may be substantially considered as and execute the same operations and functions as theprivate network device 11 described in this embodiment. - The network
address record device 13 can be implemented by a predetermined device in the existing NAT communication network system, and can be implemented by different devices in different NAT communication networks without affecting practical operations of the invention. The networkaddress record device 13 is configured to record an inner network address 20 of theprivate network device 11 and an outer network address 22 corresponding to the inner network address 20. The inner network address 20 is a private network address of theprivate network device 11 in a private network, and the outer network address 22 corresponding to the inner network address 20 is a public network address that is translated from the inner network address 20 by the networkaddress translation server 17 and that can be recognized in the public network. In other embodiments, in order to extend the application scope, the inner network address 20 of theprivate network device 11 may further comprise an inner port, and the outer network address 22 corresponding to the inner network address 20 may further comprise an outer port. - The
core network server 19 may be implemented differently depending on different NAT communication network systems without affecting practical operations of the present invention. Thecore network server 19 is configured to perform a predetermined procedure with theprivate network device 11 to create the inner network address 20 of theprivate network device 11 and the outer network address 22 corresponding to the inner network address 20. Details of the predetermined procedure vary with different NAT communication network systems, but the purpose of the predetermined procedure will remain the same (i.e., to create the inner network address 20 of theprivate network device 11 and the outer network address 22 corresponding to the inner network address 20). - Upon completion of the predetermined procedure, both the
private network device 11 and thecore network server 19 will know the inner network address 20 of theprivate network device 11 and the outer network address 22 corresponding to the inner network address 20. Then, the inner network address 20 of theprivate network device 11 and the outer network address 22 corresponding to the inner network address 20 are transmitted by one of theprivate network device 11 and thecore network server 19 to the networkaddress record device 13 so that the networkaddress record device 13 can record and update the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that are received. - Because the inner network address 20 of the
private network address 11 and the outer network address 22 corresponding to the inner network address 20 are continuously recorded and updated into the networkaddress record device 13, thepublic network device 15 can inquire the inner network address 20 of theprivate network device 11 and the outer network address 22 corresponding to the inner network address 20 from the networkaddress record device 13 at any time when it desires to communicate with theprivate network device 11. Once the inner network address 20 of theprivate network device 11 and the outer network address 22 corresponding to the inner network address 20 have been known by thepublic network device 15 through inquiry procedure, thepublic network device 15 can generate apacket 24 according to the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 to communicate with theprivate network device 11 via thepacket 24. - Then, the
public network device 15 transmits thepacket 24 generated to theNAT server 17. TheNAT server 17 is configured to receive thepacket 24 from thepublic network device 15 and transmit thepacket 26 to theprivate network device 11. Generally, a header of thepacket 24 generated by thepublic network device 15 comprises the outer network address 22 corresponding to the inner network address 20. TheNAT server 17 will remove the header comprising the outer network address 22 corresponding to the inner network address 20 from thepacket 24 after receiving thepacket 24, and then transmit thepacket 26 comprising only the inner network address 20 to theprivate network device 11. - Through the operations disclosed above, the
public network device 15 in thetransmission system 1 will be able to communicate with theprivate network device 11 effectively, and the purpose of NAT traversal can be achieved without changing the existing NAT communication network framework. - A second embodiment of the present invention is a transmission system for network address translation traversal. The transmission system of this embodiment is applicable to Machine-Type Communications (MTC) in 3GPP (3rd Generation Partnership Project), but this is not intended to limit implementations of the present invention.
- According to the NAT traversal through tunneling technology set forth in Section 6.18 of 3GPP Document No. TR 23.888, the
transmission system 3 of this embodiment may be as shown inFIG. 2A . Specifically, thetransmission system 3 comprises anMTC device 31, a domainname system server 33, aMTC device 35, an NAT traversal throughtunneling server 37 and acore network server 39. In other embodiments, thetransmission system 3 may comprise a plurality ofMTC devices 31, and each of theMTC devices 31 may be substantially considered as and execute the same operations and functions as theMTC device 31 described in this embodiment. - The
MTC device 31, the domainname system server 33, theMTC device 35, the NAT traversal throughtunneling server 37 and thecore network server 39 described in this embodiment may correspond to and substantially execute the same operations and functions as theprivate network device 11, the networkaddress record device 13, thepublic network device 15, theNAT server 17 and thecore network server 19 described in the first embodiment respectively. Therefore, only differences between this embodiment and the first embodiment will be described hereinafter. - In this embodiment, the
core network server 39 may comprise a Mobility Management Entity (MME), a Serving Gateway (SGW), a Packet Data Network Gateway (PGW), a Home Subscriber Server (HSS), an Authentication Authorization Accounting (AAA) device and so on. Because operations of such devices can be readily known from the NAT traversal through tunneling specification, only aspects of these devices that are substantially related to the present invention will be further described hereinafter. -
FIG. 2B is a schematic view illustrating operations of thetransmission system 3. As shown inFIG. 2B , theMTC device 31 deployed in the private network can perform apredetermined procedure 400 with thecore network server 39 to create an inner network address 20 of theMTC device 31 and an outer network address 22 corresponding to the inner network address 20. Because the specific process flow of thepredetermined procedure 400 has been specified in 3GPP Document No. TS 23.401, no further description will be made herein. In other embodiments, in order to extend the application scope, the inner network address 20 of theMTC device 31 may further comprise an inner port, and the outer network address 22 corresponding to the inner network address 20 may further comprise an outer port. - After the inner network address 20 of the
MTC device 31 and the outer network address 22 corresponding to the inner network address 20 have been created, one of astoring procedure 402 and astoring procedure 404 will be executed. Thestoring procedure 402 and thestoring procedure 404 are initiated by thecore network server 39 and theMTC device 31 respectively. Thestoring procedure 402 and thestoring procedure 404 are used to transmit a fully qualified domain name 28 of theMTC device 31, the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 to the domainname system server 33 so that the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 can be recorded or updated by the domainname system server 33. - In the
storing procedure 402, firstly the MME in thecore network server 39 transmits the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the HSS/AAA device, and then the HSS/AAA device in thecore network server 39 transmits the fully qualified domain name 28 of theMTC device 31, the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the domainname system server 33. In thestoring procedure 404, theMTC device 31 transmits the fully qualified domain name 28 of theMTC device 31, the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the domainname system server 33 directly. - After receiving the fully qualified domain name 28 of the
MTC device 31, the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 from theMTC device 31 or thecore network server 39, the domainname system server 33 located in the application layer will initiate arecording procedure 406. In therecording procedure 406, the domainname system server 33 will, in response to the fully qualified domain name of the MTC device 21, record the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 according to a domain name system SRV protocol and pursuant to one of a predetermined order, a priority token and a weight token. - The domain name system SRV protocol is used to set the predetermined order, the priority token or the weight token in advance so that the domain
name system server 33 records the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 in sequence according to the predetermined order, the priority token or the weight token. For example, if the predetermined order, the priority token or the weight token indicates an order in which the inner network address 20 is followed by the outer network address 22 corresponding to the inner network address 20, then the domainname system server 33 will record firstly the inner network address 20 and then the outer network address 22 corresponding to the inner network address 20. Conversely, if the predetermined order, the priority token or the weight token indicates an order in which the inner network address 20 follows the outer network address 22 corresponding to the inner network address 20, then the domainname system server 33 will record firstly the outer network address 22 corresponding to the inner network address 20 and then the inner network address 20. Through use of the domain name system SRV protocol, inquiry of the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 becomes well regulated. - In other embodiments, the domain
name system server 33 may further initiate a storage confirming procedure (not shown) after completion of therecording procedure 406 to inform thecore network server 39 or theMTC device 31 that: the domainname system server 33 has successfully recorded and updated the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 according to the domain name system SRV protocol. - The inner network address 20 of the
MTC device 31 and the outer network address 22 corresponding to the inner network address 20 will be continuously recorded and updated into the domainname system server 33. If theMTC device 35 in the public network desires to communicate with theMTC device 31 in the private network, theMTC device 35 will further initiate aninquiry procedure 408. - In the
inquiry procedure 408, theMTC device 35 sends an inquiry message to the domainname system server 33, with a targeted object of the inquiry message being theMTC device 31 corresponding to the fully qualified domain name 28. Then, the inner network address 20 of theMTC device 31 corresponding to the fully qualified domain name 28 and the outer network address 22 corresponding to the inner network address 20 are inquired from the domainname system server 33 according to the domain name system SRV protocol and pursuant to one of the predetermined order, the priority token and the weight token. - After having inquired the inner network address 20 of the
MTC device 31 corresponding to the fully qualified domain name 28 and the outer network address 22 corresponding to the inner network address 20, theMTC device 35 initiates atransmission procedure 410. In thetransmission procedure 410, theMTC device 35 generates apacket 24 according to the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that have been inquired, and transmits thepacket 24 to the NAT traversal throughtunneling server 37. Here, a header of thepacket 24 comprises the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20. - The NAT traversal through
tunneling server 37 initiates atransmission procedure 412 after receiving thepacket 24. In thetransmission procedure 412, the NAT traversal throughtunneling server 37 removes the outer network address 22 corresponding to the inner network address 20 from the header of thepacket 24 and then transmits thepacket 26 whose header comprises only the inner network address 20 to theMTC device 31. In this embodiment, the NAT traversal throughtunneling server 37 firstly transmits thepacket 26 to the serving gateway/the packet data network gateway in thecore network server 39, which then transmits thepacket 26 to theMTC device 31. - A third embodiment of the present invention is a transmission system for network address translation traversal. The transmission system of this embodiment is applicable to MTC communications of 3GPP, but this is not intended to limit implementations of the present invention.
- According to the NAT traversal through tunneling technology set forth in Section 6.18 of 3GPP Document No. TR 23.888, the
transmission system 5 of this embodiment may be as shown inFIG. 3A . Specifically, thetransmission system 5 comprises anMTC device 31, a session initiation protocol (SIP)server 53, anMTC device 35, an NAT traversal throughtunneling server 37 and acore network server 39. In other embodiments, thetransmission system 5 may comprise a plurality ofMTC devices 31, and each of theMTC devices 31 may be substantially considered as and execute the same operations and functions as theMTC device 31 described in this embodiment. - The
SIP server 53 of this embodiment may be considered as and substantially execute the same operations and functions as the networkaddress record device 13 described in the first embodiment. TheMTC device 31, theMTC device 35, the NAT traversal throughtunneling server 37 and thecore network server 39 described in this embodiment may correspond to and substantially execute the same operations and functions as theMTC device 31, theMTC device 35, the NAT traversal throughtunneling server 37 and thecore network server 39 described in the second embodiment respectively. Therefore, only differences between this embodiment and the second embodiment will be described hereinafter. -
FIG. 3B is a schematic view illustrating operations of thetransmission system 5. As shown inFIG. 3B , theMTC device 31 deployed in the private network may perform apredetermined procedure 600 with thecore network server 39 to create an inner network address 20 of theMTC device 31 and an outer network address 22 corresponding to the inner network address 20. Thepredetermined procedure 600 described in this embodiment is substantially the same as thepredetermined procedure 400 described in the second embodiment, so it will not be further described herein. In other embodiments, in order to extend the application scope, the inner network address 20 of theMTC device 31 may further comprise an inner port, and the outer network address 22 corresponding to the inner network address 20 may further comprise an outer port. - After the inner network address 20 of the
MTC device 31 and the outer network address 22 corresponding to the inner network address 20 have been created, one of aregistering procedure 602 and aregistering procedure 604 is executed. The registeringprocedure 602 and theregistering procedure 604 are initiated by thecore network server 39 and theMTC device 31 respectively, and are both used to transmit the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to theSIP server 53 so that the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 can be recorded or updated by theSIP server 53. - In the
registering procedure 602, firstly the MME in thecore network server 39 transmits the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to the HSS/AAA device, and then the HSS/AAA device in thecore network server 39 transmits the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to theSIP server 53. In theregistering procedure 604, theMTC device 31 transmits the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 to theSIP server 53 directly. - After receiving the inner network address 20 of the
MTC device 31 and the outer network address 22 corresponding to the inner network address 20 from theMTC device 31 or thecore network server 39, theSIP server 53 residing in the application layer will initiate arecording procedure 606. In therecording procedure 606, theSIP server 53 labels the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 respectively according to a session initiation protocol, and then records the labeled inner network address 20 and the labeled outer network address 22 corresponding to the inner network address 20. - Furthermore, the
SIP server 53 can establish a mapping table comprising a plurality of fields. Then, theSIP server 53 having received the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 may label the inner network address 20 as “inner” and the outer network address 22 corresponding to the inner network address 20 as “outer”, and record the labeled inner network address 20 and the labeled outer network address 22 corresponding to the inner network address 20 into one of the fields of the mapping table (e.g., the field “contact”). As an example, the labeled inner network address 20 stored in the field “contact” may be represented as “contact:<192.168.0.10>;inner”, and the labeled outer network address 22 corresponding to the inner network address 20 stored in the field “contact” may be represented as “contact:<192.168.1.1>;outer”. - In other embodiments, the
SIP server 53 may further initiate a registration confirming procedure (not shown) after completion of therecording procedure 606 to inform thecore network server 39 or theMTC device 31 that: theSIP server 53 has successfully labeled and recorded the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 according to the session initiation protocol. - The inner network address 20 of the
MTC device 31 and the outer network address 22 corresponding to the inner network address 20 will be continuously labeled and recorded into theSIP server 53. If theMTC device 35 in the public network desires to communicate with theMTC device 31 in the private network, theMTC device 35 will further initiate aninquiry procedure 608. - In the
inquiry procedure 608, theMTC device 35 sends an inquiry message to theSIP server 53, with a targeted object of the inquiry message being the field (e.g., the field “contact”) of the aforesaid mapping table. Then, the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 are inquired from theSIP server 53 according to the session initiation protocol. Because the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that are stored in the mapping table have both been labeled, theMTC device 35 can learn, according to the session initiation protocol, whether the network address obtained through the inquiry procedure corresponds to the inner network address 20 or to the outer network address 22 corresponding to the inner network address 20. - The
MTC device 35 initiates atransmission procedure 610 after having inquired the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20 that correspond to the field (e.g., the field “contact”) of the mapping table. In thetransmission procedure 610, theMTC device 35 generates apacket 24 according to the inner network address 20 and the outer network address 22 corresponding to the inner network address 20 that have been inquired, and transmits thepacket 24 to the NAT traversal throughtunneling server 37. Here, a header of thepacket 24 comprises the inner network address 20 of theMTC device 31 and the outer network address 22 corresponding to the inner network address 20. Thepredetermined procedure 610 described in this embodiment is substantially the same as thepredetermined procedure 410 described in the second embodiment. - The NAT traversal through
tunneling server 37 initiates atransmission procedure 612 after receiving thepacket 24. In thetransmission procedure 612, the NAT traversal throughtunneling server 37 removes the outer network address 22 corresponding to the inner network address 20 from the header of thepacket 24 and then transmits thepacket 26 whose header comprises only the inner network address 20 to theMTC device 31. In this embodiment, firstly the NAT traversal throughtunneling server 37 transmits thepacket 26 to the serving gateway/the packet data network gateway in thecore network server 39, which then transmits thepacket 26 to theMTC device 31. Thepredetermined procedure 612 described in this embodiment is substantially the same as thepredetermined procedure 412 described in the second embodiment. - A fourth embodiment of the present invention is a transmission method for network address translation traversal. The transmission method of this embodiment is applicable to the
transmission system 1 of the first embodiment. -
FIG. 4 is a flowchart diagram of the transmission method of this embodiment. As shown inFIG. 4 , step S401 is executed to enable a core network server to perform a predetermined procedure with a private network device to create an inner network address of the private network device and an outer network address corresponding to the inner network address. In other embodiments, the inner network address of the private network device further comprises an inner port, and the outer network address corresponding to the inner network address further comprises an outer port. - Step 403 is executed to enable one of the private network device and the core network server to transmit the inner network address of the private network device and the outer network address corresponding to the inner network address to a network address record device. Then, step S405 is executed to enable the network address record device to record the inner network address of the private network device and the outer network address corresponding to the inner network address.
- Next, step S407 is executed to enable a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address. Step S409 is executed to enable a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- The steps S405, S407 and S409 are essential steps of this embodiment, while the steps S401 and S403 are only used to illustrate an example of providing the network address record device with the inner network address of the private network device and the outer network address corresponding to the inner network address but are not intended to limit the present invention. In other embodiments, the steps S401 and S403 may be omitted or replaced by other steps.
- In addition to the aforesaid steps, the fourth embodiment can also execute steps corresponding to all the operations of the
transmission system 1 set forth in the first embodiment. How the fourth embodiment executes the corresponding steps will be readily appreciated by those of ordinary skill in the art based on the explanation of the first embodiment, and thus will not be further described herein. - A fifth embodiment of the present invention is a transmission method for network address translation traversal. The transmission method of this embodiment is applicable to the
transmission system 3 of the second embodiment. -
FIG. 5 is a flowchart diagram of the transmission method of this embodiment. As shown inFIG. 5 , step S501 is executed to enable a core network server to perform a predetermined procedure with a private network device to create an inner network address of the private network device and an outer network address corresponding to the inner network address. In other embodiments, the inner network address of the private network device further comprises an inner port, and the outer network address corresponding to the inner network address further comprises an outer port. - Step 503 is executed to enable one of the private network device and the core network server to transmit a fully qualified domain name of the private network device, the inner network address and the outer network address corresponding to the inner network address to a domain name system server. Then, step S505 is executed to enable the domain name system server to, in response to the fully qualified domain name, record the inner network address of the private network device and the outer network address corresponding to the inner network address according to a domain name system SRV protocol and pursuant to one of a predetermined order, a priority token and a weight token.
- Next, step S507 is executed to enable a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the domain name system server according to the Domain Name System SRV protocol and pursuant to one of the predetermined order, the priority token and the weight token, and to generate a packet according to the inner network address and the outer network address corresponding to the inner network address. Then, step S509 is executed to enable a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- The steps S505, S507 and S509 are essential steps of this embodiment, while the steps S501 and S503 are only used to illustrate an example of providing the domain name system server with the inner network address of the private network device and the outer network address corresponding to the inner network address but are not intended to limit the present invention. In other embodiments, the steps S501 and S503 may be omitted or replaced by other steps.
- In addition to the aforesaid steps, the fifth embodiment can also execute steps corresponding to all the operations of the
transmission system 3 set forth in the second embodiment. How the fifth embodiment executes the corresponding steps will be readily appreciated by those of ordinary skill in the art based on the explanation of the second embodiment, and thus will not be further described herein. - A sixth embodiment of the present invention is a transmission method for network address translation traversal. The transmission method of this embodiment is applicable to the
transmission system 5 of the third embodiment. -
FIG. 6 is a flowchart diagram of the transmission method of this embodiment. As shown inFIG. 6 , step S601 is executed to enable a core network server to perform a predetermined procedure with a private network device to create an inner network address of the private network device and an outer network address corresponding to the inner network address. In other embodiments, the inner network address of the private network device further comprises an inner port, and the outer network address corresponding to the inner network address further comprises an outer port. - Step 603 is executed to enable one of the private network device and the core network server to transmit the inner network address of the private network device and the outer network address corresponding to the inner network address to an SIP server. Then, step S605 is executed to enable the SIP server to label and record the inner network address of the private network device and the outer network address corresponding to the inner network address respectively according to a session initiation protocol.
- Next, step S607 is executed to enable a public network device to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the SIP server according to the session initiation protocol, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address. Step S609 is executed to enable a network address translation server to receive the packet from the public network device and transmit the packet to the private network device.
- The steps S605, S607 and S609 are essential steps of this embodiment, while the steps S601 and S603 are only used to illustrate an example of providing the SIP server with the inner network address of the private network device and the outer network address corresponding to the inner network address but are not intended to limit the present invention. In other embodiments, the steps S601 and S603 may be omitted or replaced by other steps.
- In addition to the aforesaid steps, the sixth embodiment can also execute steps corresponding to all the operations of the
transmission system 5 set forth in the third embodiment. How the sixth embodiment executes the corresponding steps will be readily appreciated by those of ordinary skill in the art based on the explanation of the third embodiment, and thus will not be further described herein. - According to the above descriptions, the present invention provides a transmission system and a transmission method for network address translation traversal. In the transmission system and the transmission method, network address mapping data (i.e., data for mapping between an inner network address of the device in the private network and an outer network address corresponding to the inner network address obtained through translation by the NAT server) corresponding to the device in the private network are created in advance and recorded in a predetermined device in the existing NAT communication network. Then, the device in the public network can inquire the network address mapping data from the predetermined device and communicate with the device in the private network according to the network address mapping data. In this way, the present invention allows the device in the public network to communicate with the device in the private network without changing the existing NAT communication network framework.
- The above disclosure is related to the detailed technical contents and inventive features thereof. People skilled in this field may proceed with a variety of modifications and replacements based on the disclosures and suggestions of the invention as described without departing from the characteristics thereof. Nevertheless, although such modifications and replacements are not fully disclosed in the above descriptions, they have substantially been covered in the following claims as appended.
Claims (10)
1. A transmission system for network address translation traversal, comprising:
a private network device;
a network address record device, being configured to record an inner network address of the private network device and an outer network address corresponding to the inner network address;
a public network device, being configured to inquire the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address; and
a network address translation server, being configured to receive the packet from the public network device and transmit the packet to the private network device;
wherein the network address record device is a session initiation protocol (SIP) server and is configured to label and record the inner network address of the private network device and the outer network address corresponding to the inner network address respectively according to a session initiation protocol.
2. The transmission system as claimed in claim 1 , wherein the inner network address of the private network device further comprises an inner port, and the outer network address corresponding to the inner network address further comprises an outer port.
3. The transmission system as claimed in claim 1 , further comprising a core network server, wherein the core network server is configured to perform a predetermined procedure with the private network device to create the inner network address of the private network device and the outer network address corresponding to the inner network address.
4. The transmission system as claimed in claim 3 , wherein one of the private network device and the core network server transmits the inner network address of the private network device and the outer network address corresponding to the inner network address to the network address record device.
5. The transmission system as claimed in claim 1 , wherein the public network device inquires the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device according to the session initiation protocol.
6. A transmission method for network address translation traversal, the method comprising:
(a) a network address record device recording an inner network address of a private network device and an outer network address corresponding to the inner network address;
(b) a public network device inquiring the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device, and generate a packet according to the inner network address and the outer network address corresponding to the inner network address; and
(c) a network address translation server receiving the packet from the public network device and transmit the packet to the private network device;
wherein the network address record device is an SIP server and the step (a) further comprises the network address record device labeling and recording the inner network address of the private network device and the outer network address corresponding to the inner network address respectively according to a session initiation protocol.
7. The transmission method as claimed in claim 6 , wherein the inner network address of the private network device further comprises an inner port, and the outer network address corresponding to the inner network address further comprises an outer port.
8. The transmission method as claimed in claim 6 , further comprising:
(d) a core network server, prior to the step (a), performing a predetermined procedure with the private network device to create the inner network address of the private network device and the outer network address corresponding to the inner network address.
9. The transmission method as claimed in claim 8 , further comprising:
(e) one of the private network device and the core network server, after the step (a) but before the step (d), transmitting the inner network address of the private network device and the outer network address corresponding to the inner network address to the network address record device.
10. The transmission method as claimed in claim 6 , wherein the step (b) further comprises:
(b1) the public network device inquiring the inner network address of the private network device and the outer network address corresponding to the inner network address from the network address record device according to the session.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/004,772 US20160142371A1 (en) | 2012-04-10 | 2016-01-22 | Transmission system and method for network address translation traversal |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261622015P | 2012-04-10 | 2012-04-10 | |
US13/860,249 US9306904B2 (en) | 2012-04-10 | 2013-04-10 | Transmission system and method for network address translation traversal |
US15/004,772 US20160142371A1 (en) | 2012-04-10 | 2016-01-22 | Transmission system and method for network address translation traversal |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/860,249 Continuation US9306904B2 (en) | 2012-04-10 | 2013-04-10 | Transmission system and method for network address translation traversal |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160142371A1 true US20160142371A1 (en) | 2016-05-19 |
Family
ID=49293217
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/860,249 Active 2033-08-17 US9306904B2 (en) | 2012-04-10 | 2013-04-10 | Transmission system and method for network address translation traversal |
US15/004,772 Abandoned US20160142371A1 (en) | 2012-04-10 | 2016-01-22 | Transmission system and method for network address translation traversal |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/860,249 Active 2033-08-17 US9306904B2 (en) | 2012-04-10 | 2013-04-10 | Transmission system and method for network address translation traversal |
Country Status (3)
Country | Link |
---|---|
US (2) | US9306904B2 (en) |
CN (1) | CN103369063B (en) |
TW (1) | TWI535247B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11399005B2 (en) * | 2015-10-13 | 2022-07-26 | At&T Intellectual Property I, L.P. | Method and apparatus for expedited domain name system query resolution |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014143321A1 (en) * | 2013-03-15 | 2014-09-18 | Intel IP Corporation | Improved techniques for wireless network service discovery |
TWI551100B (en) * | 2014-06-13 | 2016-09-21 | 物聯智慧科技(深圳)有限公司 | Method, server and apparatus for p2p connection |
CN106550058A (en) * | 2015-09-17 | 2017-03-29 | 群晖科技股份有限公司 | Network address translation penetration method and system using same |
CN110276028B (en) * | 2019-06-25 | 2021-10-08 | 云深互联(北京)科技有限公司 | Processing method and device for internal link function requirements of business system |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090055543A1 (en) * | 2007-08-21 | 2009-02-26 | Nokia Siemens Networks Oy | Methods, apparatuses, system, and related computer program product for user equipment access |
US20100014521A1 (en) * | 2004-12-22 | 2010-01-21 | Matsushita Electric Industrial Co., Ltd. | Address conversion device and address conversion method |
US20100040057A1 (en) * | 2008-08-14 | 2010-02-18 | Mediatek Inc. | Communication method |
US20100182995A1 (en) * | 2009-01-21 | 2010-07-22 | National Taipei University Of Technology | NAT traversal method in Session Initial Protocol |
US7948890B2 (en) * | 2004-12-14 | 2011-05-24 | Industrial Technology Research Institute | System and method for providing a communication channel |
US20120002674A1 (en) * | 2009-06-30 | 2012-01-05 | Hideto Murakami | Communication System and Server Unit Thereof |
US20120144475A1 (en) * | 2009-02-06 | 2012-06-07 | Sagemcom Canada, Inc. | Scalable nat traversal |
US8204066B2 (en) * | 2008-06-26 | 2012-06-19 | D-Link Corporation | Method for predicting a port number of a NAT equipment based on results of inquiring the STUN server twice |
US8224985B2 (en) * | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
US8700785B2 (en) * | 2011-08-19 | 2014-04-15 | National Taipei University Of Technology | SIP communication protocol |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60028254T2 (en) | 2000-03-08 | 2006-10-19 | Hitachi, Ltd. | CONTROL DEVICE AND METHOD FOR PACKET BASED COMMUNICATION |
US6944167B1 (en) | 2000-10-24 | 2005-09-13 | Sprint Communications Company L.P. | Method and apparatus for dynamic allocation of private address space based upon domain name service queries |
US8649352B2 (en) | 2002-02-04 | 2014-02-11 | Qualcomm Incorporated | Packet forwarding methods for use in handoffs |
US7453850B2 (en) | 2002-12-20 | 2008-11-18 | Alcatel Lucent | Apparatus, and associated method, for facilitating bi-directional routing of data in a packet radio communication system |
US7478169B2 (en) | 2003-10-16 | 2009-01-13 | International Business Machines Corporation | Accessing data processing systems behind a NAT enabled network |
US7826602B1 (en) * | 2004-10-22 | 2010-11-02 | Juniper Networks, Inc. | Enabling incoming VoIP calls behind a network firewall |
TWI267293B (en) * | 2005-03-09 | 2006-11-21 | Plustek Inc | Multimedia conference system and method which enables communication between private network and Internet |
US7983254B2 (en) | 2005-07-20 | 2011-07-19 | Verizon Business Global Llc | Method and system for securing real-time media streams in support of interdomain traversal |
US8145733B1 (en) * | 2006-02-15 | 2012-03-27 | Trend Micro Incorporated | Identification of computers located behind an address translation server |
US8477761B2 (en) | 2008-03-27 | 2013-07-02 | Ittiam Systems (P) Ltd. | Unified session signaling system for use in multimedia communications |
US8554946B2 (en) | 2008-10-13 | 2013-10-08 | Telefonaktiebolaget L M Ericsson (Publ) | NAT traversal method and apparatus |
US9013992B2 (en) * | 2009-09-08 | 2015-04-21 | Wichorus, Inc. | Method and apparatus for network address translation |
TWI404387B (en) * | 2010-08-13 | 2013-08-01 | Chunghwa Telecom Co Ltd | Communication system and method for using session initiation protocol (sip) on a converted ip address |
CN102082837A (en) | 2010-12-31 | 2011-06-01 | 华为技术有限公司 | Method and device for distributing public network address for IP (Internet protocol) terminal |
CN102148767A (en) | 2011-05-12 | 2011-08-10 | 杭州华三通信技术有限公司 | Network address translation (NAT)-based data routing method and device |
CN102318323B (en) * | 2011-07-30 | 2013-10-02 | 华为技术有限公司 | NAT disposal method, equipment and system of call between private network and off-network clients |
-
2013
- 2013-04-08 TW TW102112390A patent/TWI535247B/en active
- 2013-04-09 CN CN201310121567.XA patent/CN103369063B/en active Active
- 2013-04-10 US US13/860,249 patent/US9306904B2/en active Active
-
2016
- 2016-01-22 US US15/004,772 patent/US20160142371A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7948890B2 (en) * | 2004-12-14 | 2011-05-24 | Industrial Technology Research Institute | System and method for providing a communication channel |
US20100014521A1 (en) * | 2004-12-22 | 2010-01-21 | Matsushita Electric Industrial Co., Ltd. | Address conversion device and address conversion method |
US8224985B2 (en) * | 2005-10-04 | 2012-07-17 | Sony Computer Entertainment Inc. | Peer-to-peer communication traversing symmetric network address translators |
US20090055543A1 (en) * | 2007-08-21 | 2009-02-26 | Nokia Siemens Networks Oy | Methods, apparatuses, system, and related computer program product for user equipment access |
US8204066B2 (en) * | 2008-06-26 | 2012-06-19 | D-Link Corporation | Method for predicting a port number of a NAT equipment based on results of inquiring the STUN server twice |
US20100040057A1 (en) * | 2008-08-14 | 2010-02-18 | Mediatek Inc. | Communication method |
US20100182995A1 (en) * | 2009-01-21 | 2010-07-22 | National Taipei University Of Technology | NAT traversal method in Session Initial Protocol |
US20120144475A1 (en) * | 2009-02-06 | 2012-06-07 | Sagemcom Canada, Inc. | Scalable nat traversal |
US20120002674A1 (en) * | 2009-06-30 | 2012-01-05 | Hideto Murakami | Communication System and Server Unit Thereof |
US8700785B2 (en) * | 2011-08-19 | 2014-04-15 | National Taipei University Of Technology | SIP communication protocol |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11399005B2 (en) * | 2015-10-13 | 2022-07-26 | At&T Intellectual Property I, L.P. | Method and apparatus for expedited domain name system query resolution |
Also Published As
Publication number | Publication date |
---|---|
TWI535247B (en) | 2016-05-21 |
CN103369063A (en) | 2013-10-23 |
US9306904B2 (en) | 2016-04-05 |
US20130268682A1 (en) | 2013-10-10 |
TW201342851A (en) | 2013-10-16 |
CN103369063B (en) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160142371A1 (en) | Transmission system and method for network address translation traversal | |
US8559448B2 (en) | Method and apparatus for communication of data packets between local networks | |
KR101468831B1 (en) | Mapping private and public addresses | |
US8406170B2 (en) | Gateway selection mechanism | |
CN102136938B (en) | Method and device for providing user information for carried grade network address translation (CGN) equipment | |
US20140223541A1 (en) | Method for providing service of mobile vpn | |
US20220086691A1 (en) | User Data Traffic Handling | |
CN109076082A (en) | Anonymous Identity in network and agreement towards identity | |
CA2592547A1 (en) | Method, apparatus, and system for implementing proxy accounting for a home agent | |
US8990424B2 (en) | Network address translation based on recorded application state | |
WO2015169044A1 (en) | Session binding method, device and system in roaming scenario | |
US8553685B2 (en) | Session border control migration | |
US8400990B1 (en) | Global service set identifiers | |
US9419891B2 (en) | Virtual private network communication system, routing device and method thereof | |
US20150032898A1 (en) | Method for establishing a virtual community network connection and a system for implementing said method | |
US20220345519A1 (en) | PFCP Session Load Balancer | |
EP4331321A1 (en) | Improved use of ip networks for routing of cellular data packets | |
US10735316B2 (en) | Receiver directed anonymization of identifier flows in identity enabled networks | |
WO2013174222A1 (en) | Gateway selection method, server, user equipment, gateway and packet data system | |
WO2017162071A1 (en) | Network node, method and device for communicating between network nodes, and storage medium | |
US20220345986A1 (en) | Selective Importing of UE Addresses to VRF in 5g Networks | |
WO2022231905A1 (en) | Use of ip networks for routing of cellular data packets | |
CN117461297A (en) | Use of an IP network for routing cellular data packets | |
CN117480855A (en) | Improved use of IP networks for routing cellular data packets | |
JP2010178178A (en) | Ip network communication system and sni configuration method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INSTITUTE FOR INFORMATION INDUSTRY, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HSU, CHUN-YEN;CHEN, CHIU-WEN;CHEN, WHAI-EN;AND OTHERS;REEL/FRAME:037566/0594 Effective date: 20130408 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |