Routing using global address pairs
First Claim
1. A storage device having stored instructions which, when executed by at least one computing processor, implement a method for sending communications, the method comprising:
- an act of receiving a network packet from an application at a computer system within a site, the network packet having an address header and a data payload, the address header including a destination address field and a source address field, the destination address field containing a unique identifier for another computer system at another site from the perspective of the application, the source address field containing a local address for the application within the site, the data payload containing data for the other computer system;
an act of accessing an address mapping that maps the unique identifier to a site address for the other site and to a local address for the other computer system within the other site;
an act of modifying the network packet based on the address mapping to include an outer address header, an inner address header, and the data payload, the outer address header including a destination address field and a source address field, the destination field of the outer address header containing the site address for the other site, the source address field of the outer address header containing a site address for the site, the inner address header also including a destination address field and a source address field, the destination address field of the inner address header containing the local address for the other computer system within the other site, the source address field of the inner address header containing the local address for the application within the site; and
an act of sending the modified network packet to the other site based on the site address for the other site.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for routing using global address pairs. Embodiments of the invention use publicly routable Internet Protocol (“IP”) addresses to represent sites rather than individual hosts. Hosts can be represented by a global address pair, including site public IP address and a node private IP address. Nodes route packets to address processing modules using IP-in-IP encapsulation. An outer header contains a site public IP address and is destined to a site on inter-site links. An inner header contains a node private IP address and is destined to a private endpoint in intra-site links. In some embodiments, a site public IPv4 address and a node private IPv4 address are encoded into an IPv6 address. Use of an IPv6 address makes encoding of the two IPv4 address transparent to IPv6 applications.
-
Citations
20 Claims
-
1. A storage device having stored instructions which, when executed by at least one computing processor, implement a method for sending communications, the method comprising:
-
an act of receiving a network packet from an application at a computer system within a site, the network packet having an address header and a data payload, the address header including a destination address field and a source address field, the destination address field containing a unique identifier for another computer system at another site from the perspective of the application, the source address field containing a local address for the application within the site, the data payload containing data for the other computer system; an act of accessing an address mapping that maps the unique identifier to a site address for the other site and to a local address for the other computer system within the other site; an act of modifying the network packet based on the address mapping to include an outer address header, an inner address header, and the data payload, the outer address header including a destination address field and a source address field, the destination field of the outer address header containing the site address for the other site, the source address field of the outer address header containing a site address for the site, the inner address header also including a destination address field and a source address field, the destination address field of the inner address header containing the local address for the other computer system within the other site, the source address field of the inner address header containing the local address for the application within the site; and an act of sending the modified network packet to the other site based on the site address for the other site. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage device having stored instructions which, when executed by at least one computing processor, implement a method for receiving communications, the method comprising:
-
an act of receiving a network packet at a site, the network packet having been transferred over a wide area network from another site, the network packet including an outer address header, an inner address header, and a data payload, the outer address header including a destination address field and a source address field, the destination field of the outer address header containing a site address for the site, the source address field of the outer address header containing a site address for the other site, the inner address header also including a destination address field and a source address field, the destination address field of the inner address header containing the local address for an application within the site, the source address field of the inner address header containing the local address for the other computer system within the other site; an act of accessing an address mapping that maps the site address for the other site and the local address for the other computer system within the other site to a unique identifier for the other computer system from the perspective of the application; an act of modifying the network packet based on the address mapping to have an address header and the payload, the address header including a destination address field and a source address field, the destination address field containing the local address for the application within the site and the source address field containing the unique identifier; and an act of sending modified network packet to the application based on the local address for the application within the site, the unique identifier indicating where the application can send any response data packets. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification