Method and apparatus for making end-host network address translation (NAT) global address and port ranges aware
AssigneeCisco Technology, Inc.
InventorsKaushik P. Biswas, Siva S. Jayasenan, Michael L. Sullenberger, Mark A. Denny
Life of this patent
Estimating the term…
Abstract
Disclosed are methods and apparatus for handling data having an embedded address (and port). In general terms, a host of a private network is operable to obtain from its corresponding edge router a global address (GA) and optionally an additional global port range (GPR). When the host then wishes to transmit data out of the private network, the obtained GA (and GPR) may then be used for an embedded address (and port) within data sent by the host to a public network. The obtained GA (and GPR) may also be used by the host to translate its own source address and port in its IP and/or TCP/UDP header if needed.
Claims50
A method of sending data from a first host of a private network, the method comprising:
- sending a request for an address from the first host prior to the first host sending a first data to a second host;
- in response to the request for the address, receiving at the first host a local address for the first host prior to the first host sending the first data to the second host;
- in response to the request for the address, receiving at the first host a global address for the first host prior to the first host sending the first data to the second host;
- at the first host, determining whether the first data is to be sent to a public or private network;
- and
- at the first host, inserting either the local address or the global address into the first data's payload as an embedded address based on the determination of whether the first data is to be sent to a public or private network and sending the first data with the inserted local address or global address from the first host to the second host.
A computer system in the form of a first host that is operable to send data from the first host of a private network, the computer system comprising:
- one or more processors;
- one or more memory, wherein at least one of the processors or memory are adapted to:
- send a request for an address from the first host prior to the first host sending a first data to a second host;
- in response to the request for the address, receive at the first host a local address for the first host prior to the first host sending the first data to the second host;
- in response to the request for the address, receive at the first host a global address for the first host prior to the first host sending the first data to the second host;
- at the first host, determine whether the first data is to be sent to a public or private network;
- and
- at the first host, insert either the local address or the global address into the first data's payload as an embedded address based on the determination of whether the first data is to be sent to a public or private network and sending the first data with the inserted local address or global address from the first host to the second host.
A computer program product for sending data from a first host of a private network, the computer program product comprising:
- at least one computer readable medium that is non-transitory;
- computer program instructions stored within the at least one computer readable product configured to:
- send a request for an address from the first host prior to the first host sending a first data to a second host;
- in response to the request for the address, receive at the first host a local address for the first host prior to the first host sending the first data to the second host;
- in response to the request for the address, receive at the first host a global address for the first host prior to the first host sending the first data to the second host;
- at the first host, determine whether the first data is to be sent to a public or private network;
- and
- at the first host, insert either the local address or the global address into the first data's payload as an embedded address based on the determination of whether the first data is to be sent to a public or private network and sending the first data with the inserted local address or global address from the first host to the second host.
An apparatus for sending data from the apparatus, which is in the form of a first host of a private network, the apparatus comprising:
- means for sending a request for an address from the first host prior to the first host sending a first data to a second host;
- means for in response to the request for the address, receiving at the first host a local address for the first host prior to the first host sending the first data to the second host;
- means for in response to the request for the address, receiving at the first host a global address for the first host prior to the first host sending the first data to the second host;
- means for determining, at the first host, whether the first data is to be sent to a public or private network;
- and
- means for inserting, at the first host, either the local address or the global address into the first data's payload as an embedded address based on the determination of whether the first data is to be sent to a public or private network and sending the first data with the inserted local address or global address from the first host to the second host.
Dependencies are inferred from the claim text.