WO2002069566A2 - Proxy-less packet routing between private and public address realms - Google Patents
Proxy-less packet routing between private and public address realms Download PDFInfo
- Publication number
- WO2002069566A2 WO2002069566A2 PCT/US2002/005084 US0205084W WO02069566A2 WO 2002069566 A2 WO2002069566 A2 WO 2002069566A2 US 0205084 W US0205084 W US 0205084W WO 02069566 A2 WO02069566 A2 WO 02069566A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- private
- packet
- gateway
- address
- public
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- 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
-
- 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/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- 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/2546—Arrangements for avoiding unnecessary translation
Definitions
- This invention relates to routing packets, and more particularly to proxy-less packet routing between private and public address realms.
- Routing packets involves transferring packets (i.e. pieces of information) between computers in a computer network.
- a packet includes a data field and an address field.
- the address field specifies a destination address for which that packet is intended.
- the address field also specifies a source address from which the packet originated.
- Computer networks include computers having a private address and/or a public address.
- Computers having a private address are in a private network and considered part of a private address realm.
- a Request for Comment 1918 (“RFC 1918”) standard defines reserved private IP address spaces in the private realm.
- Computers having a public address are in the public network and considered part of the public address realm.
- Computers in a private network are able to route packets to other computers within that private network using the private address realm.
- Computers in the public network are able to route packets to other computers within the public network using the public address realm.
- Computers in private and public networks are only able to transfer packets between each other through a gateway between the networks .
- NAT Network Address Translation
- FIG. 1 is a view of a private network and public network.
- FIG. 2 is a view of a packet.
- FIG. 3 is a flow diagram of a process for addressing packets .
- FIG. 4 is a flow diagram of a process for routing packets .
- FIG. 5 is a view of the IP layer in a private network for implementing processes of FIG. 3 and FIG. 4.
- FIG. 6 is a view of computer hardware used to implement one embodiment of the invention. Like reference symbols in the various drawings indicate like elements. DETAILED DESCRIPTION
- Network 10 (FIG. 1) includes private network 12 and public network 14. Private network 12 is considered a private address realm. Public network 14 is considered a public address realm.
- Private network 12 includes private clients, here computers A and B, and gateway 16.
- Public network 14 includes public clients, here computer C and also gateway 16.
- Private clients A and B share a private addressing scheme known only to members of private network 12 (i.e. the private addressing realm) .
- Each private client has its own private IP address.
- private client A has the private IP address of Pr A
- private client B has the private IP address of Pr B .
- private network 12 also includes a private registry 32.
- Private clients e.g. A or B
- Public client C has a public addressing scheme known to all members of network 10 (i.e. the public addressing realm). Each public client has its own public IP address. Here, public client C has a public IP address of Pu c .
- public network 12 also includes a public registry 34. Public clients (e.g. C) register an IP addresses in public registry 34 so that applications running on other clients may locate the registered public client.
- Gateway 16 has a private network interface 15 and a public network interface 17. Private network interface 15 has at least one private address, Pr G , and public network interface 17 has at least one public address Pu G .
- gateway 16 also has a processor 62 (FIG. 6) for executing various instructions and tasks such as routing packets.
- Packet 20 (FIG. 2) includes information 22 intended for a particular client, for example private client B, and address field 24.
- Address field 24 includes destination address 26. Destination address 26, which is Pr B in the present example, directs packet 20 to intended client B.
- address field 24 also includes a source address 28, for example Pr A , to identify the originator of packet 20, here private client A.
- NAT Network Address Translation protocol
- NAT accomplishes this by modifying (i.e. translating) the source IP address and/or ports of outbound packets transmitted from a private network to the public network.
- NAT maintains these modifications in a manner (e.g. a table) which enables the gateway to de-multiplex address information from inbound packets from the public network received in response to the outbound packets so that it may route the inbound packets to the appropriate private address.
- NAT required proxies (i.e. application specific software) or application level gateways (ALG) for those applications that embed IP addresses in application packets.
- ALG modify IP addresses and/or port in such embedded application payloads to comply with NAT requirements.
- RSIP Realm Specific Internet Protocol
- Host-NAT implies that each private client (e.g. A) of private network 12 requests and obtains a public IP address from gateway 16, here Pu G , to use instead of its own private IP address (e.g. Pr A ) for all applications.
- functions of NAT and RSIP are combined in processes 30 and 40, described below, to help complete address determination issues in an application-independent (i.e. proxy-less) manner.
- FIG. 3 shows process 30 for implementing private to public addressing in an application independent (i.e. proxy- less) manner.
- Process 30 runs for example on private client A and queries (301) gateway 16 to obtain the public address, for example PuG, of private network 12.
- a network 12 protocol stack for example stack 65 (FIG. 6) on gateway 16 returns (303) the public IP address Pu G of private network 12 and reserves Pu G , in for example RSIP mapping table 67 (FIG. 6), for use by an application X running on A.
- process 30 registers (305) Pu G with private and public agents such as private registry 32 and public registry 34 (FIG. 1) as the source (i.e. return) address for private client A.
- process 30 un-registers (307) Pu G with private and public agents, such a registries 32 and 34, and un-reserves Pu G once application X running on private client A is finished.
- FIG. 4 shows process 40 for routing packets 20 without proxies.
- Process 40 here implemented by processor 62, reviews (401) destination address 26 of inbound packet 20 received at private network interface 15 of gateway 16.
- Process 40 determines (403) how to route inbound packet 20 based on that review (401) .
- destination address 26 of packet 20 is public address Pu G of gateway 16
- process 40 reroutes (405) packet 20 to the private client that reserved Pu G in process 30.
- a RSIP mapping table 67 created in process 30 is consulted to determine which private client reserved public address Pu G . If public address Pu G has not been reserved (e.g. if a mapping is not found) then packet 20 is dropped.
- process 40 pushes (407) packet 20 up stack 65 to be used by gateway 16.
- destination address 26 of packet 20 is a private address in the private address realm and not the private address Pr G of gateway 16, then the packet 20 is routed (409) to the private client specified by the private address.
- destination address 26 of packet 20 is a public address in the public address realm and not Pu G forward (411) packet 20 on interface 17 of gateway 16 to public network 14.
- Additional packet processing may occur before packet 20 is forwarded.
- FIG. 5 shows an example of protocol layers for implementing process 30 and 40.
- Local applications X and Y here run on private clients A and B respectfully.
- application X obtains a private IP address, here Pr A for client A, at IP layer 54.
- Pr A for client A
- the IP layer 54 negotiates with NAT/RSIP layer 56 to secure a public address of private network 12 from internal network interface 15.
- NAT/RSIP layer 56 returns secured public address, for example PuG, to IP layer 54 for use as a source address 28, (provided the particular address field 24 of packet 20 has a source address 28) and/or to be stored in registries 32 and 34 and NAT/RSIP mapping table 67.
- NAT/RSIP layer 56 may also modify the source port obtained in TCP/UDP layer 52 according to NAT/RSIP protocol before packet 20 may be routed by gateway 16 to its destination address .
- the modification of the source port will also be stored in NAT/RSIP mapping table 67.
- NAT/RSIP layer 56 is used to obtain the private address, for example Pr B , which reserved public address Pu G . Once private address Pr B is obtained, packet 20 may be routed to its intended destination client, here application Y running on private client B.
- FIG. 6 shows a computer 60 serving as a gateway 16 for routing packets 20 according to processes 30 and 40.
- Computer 60 includes a processor 62, a memory 64 including executable instructions 61, a protocol stack 65 and a mapping table 67, and private and public network interfaces 15 and 17.
- Processor 62 executes computer instruction of RAM (not shown) to implement processes 30 and 40.
- Processes 30 and 40 are not limited to use with any particular hardware or software configuration; they may find applicability in any computing or processing environment. Processes 30 and 40 may be implemented in hardware, software, or a combination of the two.
- Processes 30 and 40 may be implemented in computer programs executing on programmable computers that each include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements and input and output devices.
- Each such program may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language. The language may be a compiled or interpreted language.
- Each computer program may be stored on a storage medium or device (e.g. CD-ROM, hard disk, or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform processes 30 and 40.
- a storage medium or device e.g. CD-ROM, hard disk, or magnetic diskette
- Processes 30 and 40 may also be implemented as a computer-readable storage medium, configured with a computer program, where, upon execution, instruction in the computer program cause the computer to operate in accordance with processes 30 and 40.
- a number of embodiments of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.
- gateway 16 may have multiple public and private addresses for routing packets between private and public networks.
- processor 62, stack 65 and table 67 need not be located on gateway itself, but may be positioned else where in the network. Accordingly, other embodiments not explicitly described herein are also within the scope of the following claims .
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0320072A GB2389495B (en) | 2001-02-22 | 2002-02-21 | Proxy-less packet routing between private and public address realms |
AU2002252038A AU2002252038A1 (en) | 2001-02-22 | 2002-02-21 | Proxy-less packet routing between private and public address realms |
HK04101086A HK1058443A1 (en) | 2001-02-22 | 2004-02-16 | Proxy.-less packet routing between private and public address realms. |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/792,880 US7437474B2 (en) | 2001-02-22 | 2001-02-22 | Proxy-less packet routing between private and public address realms |
US09/792,880 | 2001-02-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002069566A2 true WO2002069566A2 (en) | 2002-09-06 |
WO2002069566A3 WO2002069566A3 (en) | 2003-12-18 |
Family
ID=25158347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/005084 WO2002069566A2 (en) | 2001-02-22 | 2002-02-21 | Proxy-less packet routing between private and public address realms |
Country Status (6)
Country | Link |
---|---|
US (1) | US7437474B2 (en) |
CN (1) | CN100352234C (en) |
AU (1) | AU2002252038A1 (en) |
GB (1) | GB2389495B (en) |
HK (1) | HK1058443A1 (en) |
WO (1) | WO2002069566A2 (en) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194554B1 (en) | 1998-12-08 | 2007-03-20 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization authentication and accounting |
US8713641B1 (en) | 1998-12-08 | 2014-04-29 | Nomadix, Inc. | Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device |
US8266266B2 (en) | 1998-12-08 | 2012-09-11 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization, authentication and accounting |
US8190708B1 (en) | 1999-10-22 | 2012-05-29 | Nomadix, Inc. | Gateway device having an XML interface and associated method |
US7586940B1 (en) * | 2001-07-24 | 2009-09-08 | Cisco Technology, Inc. | Forwarding packets in a gateway performing network address translation (NAT) |
US7031327B2 (en) * | 2001-08-24 | 2006-04-18 | Permeo Technologies, Inc. | Network application association |
JP4186446B2 (en) * | 2001-09-11 | 2008-11-26 | 株式会社日立製作所 | Address translation method |
US7443859B2 (en) * | 2001-12-18 | 2008-10-28 | Nokia Corporation | Method and apparatus for address allocation in GPRS networks that facilitates end-to-end security |
US6993595B1 (en) * | 2001-12-28 | 2006-01-31 | Nortel Networks Limited | Address translation change identification |
US7752334B2 (en) * | 2002-10-15 | 2010-07-06 | Nomadix, Inc. | Intelligent network address translator and methods for network address translation |
KR100532098B1 (en) * | 2002-11-16 | 2005-11-29 | 삼성전자주식회사 | Incoming and outgoing call system based on duplicate private network |
KR100511479B1 (en) * | 2002-12-27 | 2005-08-31 | 엘지전자 주식회사 | SIP service method in network with NAT |
US7441043B1 (en) | 2002-12-31 | 2008-10-21 | At&T Corp. | System and method to support networking functions for mobile hosts that access multiple networks |
ATE353522T1 (en) * | 2003-12-23 | 2007-02-15 | Cit Alcatel | METHOD FOR EXECUTING A SYMMETRIC ADDRESS CONVERSION |
KR20060059292A (en) * | 2004-11-26 | 2006-06-01 | 한국전자통신연구원 | Network management method in interactive satellite communication system |
CN100556029C (en) * | 2004-12-20 | 2009-10-28 | 上海贝尔阿尔卡特股份有限公司 | The DNS update method and the device of main frame in the IPv6 stateless address configuration |
WO2006081877A1 (en) * | 2005-02-03 | 2006-08-10 | Siemens Aktiengesellschaft | Method for routing internet connections via network gateways |
US8725898B1 (en) * | 2011-03-17 | 2014-05-13 | Amazon Technologies, Inc. | Scalable port address translations |
US9473451B2 (en) * | 2012-09-21 | 2016-10-18 | Ixia | Methods, systems, and computer readable media for providing mapping information associated with port control protocol (PCP) in a test environment |
US11943248B1 (en) | 2018-04-06 | 2024-03-26 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network security testing using at least one emulated server |
US10708163B1 (en) | 2018-07-13 | 2020-07-07 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for automatic configuration and control of remote inline network monitoring probe |
US11799822B2 (en) | 2022-01-21 | 2023-10-24 | Google Llc | Proxyless network address translation with dynamic port allocation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006258A (en) * | 1997-09-12 | 1999-12-21 | Sun Microsystems, Inc. | Source address directed message delivery |
US6029203A (en) * | 1997-09-26 | 2000-02-22 | 3Com Corporation | Apparatus and methods for use therein for an ISDN LAN modem that provides enhanced network activity |
US6047325A (en) * | 1997-10-24 | 2000-04-04 | Jain; Lalit | Network device for supporting construction of virtual local area networks on arbitrary local and wide area computer networks |
US6119171A (en) * | 1998-01-29 | 2000-09-12 | Ip Dynamics, Inc. | Domain name routing |
US6717949B1 (en) * | 1998-08-31 | 2004-04-06 | International Business Machines Corporation | System and method for IP network address translation using selective masquerade |
US6523068B1 (en) * | 1999-08-27 | 2003-02-18 | 3Com Corporation | Method for encapsulating and transmitting a message includes private and forwarding network addresses with payload to an end of a tunneling association |
US6768743B1 (en) * | 1999-10-26 | 2004-07-27 | 3Com Corporation | Method and system for address server redirection for multiple address networks |
US6708219B1 (en) * | 1999-10-26 | 2004-03-16 | 3Com Corporation | Method and system for dual-network address utilization |
US6996621B1 (en) * | 1999-12-07 | 2006-02-07 | 3Com Corporation | Method for supporting secondary address delivery on remote access servers |
US6798782B1 (en) * | 1999-12-10 | 2004-09-28 | Sun Microsystems, Inc. | Truly anonymous communications using supernets, with the provision of topology hiding |
US6879593B1 (en) * | 1999-12-20 | 2005-04-12 | Intel Corporation | Connections of nodes on different networks |
CN1141657C (en) * | 1999-12-29 | 2004-03-10 | 西安交通大学 | Agency for address translation based on transparent network and firewall web gat e |
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 |
US7120701B2 (en) * | 2001-02-22 | 2006-10-10 | Intel Corporation | Assigning a source address to a data packet based on the destination of the data packet |
US7131141B1 (en) * | 2001-07-27 | 2006-10-31 | At&T Corp. | Method and apparatus for securely connecting a plurality of trust-group networks, a protected resource network and an untrusted network |
-
2001
- 2001-02-22 US US09/792,880 patent/US7437474B2/en not_active Expired - Lifetime
-
2002
- 2002-02-21 GB GB0320072A patent/GB2389495B/en not_active Expired - Fee Related
- 2002-02-21 CN CNB028053060A patent/CN100352234C/en not_active Expired - Fee Related
- 2002-02-21 WO PCT/US2002/005084 patent/WO2002069566A2/en not_active Application Discontinuation
- 2002-02-21 AU AU2002252038A patent/AU2002252038A1/en not_active Abandoned
-
2004
- 2004-02-16 HK HK04101086A patent/HK1058443A1/en not_active IP Right Cessation
Non-Patent Citations (2)
Title |
---|
BORELLA M ET AL: "Realm Specific IP: Framework" INTERNET ARTICLE, [Online] July 2000 (2000-07), pages 1-31, XP002234702 Retrieved from the Internet: <URL:http://www.alternic.org/drafts/drafts -i-j/draft-ietf-nat-rsip-framework-05.txt> [retrieved on 2003-03-13] * |
ZACCONE C ET AL: "Address reuse in the Internet, adjourning or suspending the adoption of IP next generation ?" PROCEEDINGS OF IEEE ICON, 5 - 8 September 2000, pages 462-468, XP010514142 singapore * |
Also Published As
Publication number | Publication date |
---|---|
GB0320072D0 (en) | 2003-10-01 |
CN100352234C (en) | 2007-11-28 |
US7437474B2 (en) | 2008-10-14 |
AU2002252038A1 (en) | 2002-09-12 |
CN1602607A (en) | 2005-03-30 |
HK1058443A1 (en) | 2004-05-14 |
US20020116502A1 (en) | 2002-08-22 |
GB2389495B (en) | 2004-11-03 |
GB2389495A (en) | 2003-12-10 |
WO2002069566A3 (en) | 2003-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7437474B2 (en) | Proxy-less packet routing between private and public address realms | |
US7924832B2 (en) | Facilitating transition of network operations from IP version 4 to IP version 6 | |
US7139828B2 (en) | Accessing an entity inside a private network | |
US7120701B2 (en) | Assigning a source address to a data packet based on the destination of the data packet | |
US7526562B1 (en) | Stateful IPv4-IPv6 DNS application level gateway for handling topologies with coexisting IPv4-only, Ipv6-only and dual-stack devices | |
US7450585B2 (en) | Method and system in an IP network for using a network address translation (NAT) with any type of application | |
US7573903B2 (en) | IPv6/IPv4 translator | |
US7277453B2 (en) | Inter private network communications between IPv4 hosts using IPv6 | |
EP2206052B1 (en) | Methods and apparatus for managing addresses related to virtual partitions of a session exchange device | |
US20070094411A1 (en) | Network communications system and method | |
US11770364B2 (en) | Private network peering in virtual network environments | |
JP2004038922A (en) | Technique for enabling a plurality of virtual filers on single filer to participate in a plurality of address spaces with overlapping network addresses | |
EP2260402A1 (en) | Configuring communications between computing nodes | |
TW200924462A (en) | System and method for connection of hosts behind NATs | |
KR20070003890A (en) | Address and port number abstraction when setting up a connection between at least two computational devices | |
US11818035B2 (en) | Augmented routing of data | |
JP4191180B2 (en) | Communication support device, system, communication method, and computer program | |
US20060227769A1 (en) | Method for data exchange between network elements in networks with different address ranges | |
KR100562390B1 (en) | Network Data Flow Identification Method and System Using Host Routing and IP Aliasing Technique | |
Martins et al. | Host identification and location decoupling: A comparison of approaches | |
JP2005065204A (en) | Personal ip system | |
IES84430Y1 (en) | Network communications system and method | |
IE20050519U1 (en) | Network communications system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 0320072 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20020221 Format of ref document f/p: F |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 028053060 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |