Internet protocol (IP) address translation
First Claim
1. A non-transitory computer-readable medium having instructions executable with a processor of a translator to facilitate translating an Internet Protocol version 6 (IPv6) address to an Internet Protocol version 4(IPv4) address, the non-transitory computer-readable medium comprising instructions for:
- compressing an entirety of the IPv6 address determined for an IPv6 device into a compressed expression, the IPv6 address comprising a first number of binary bits and the compressed expression comprising a second number of binary bits, the second number being less than the first number;
selecting an IPv4 address prefix from a plurality of unused IPv4 address prefixes;
adding the IPv4 address prefix to the compressed expression to form the IPv4 address, the IPv4 address being valid for IP-based communications;
receiving at the translator a message a from an IPv4 device, the message including the IPv4 address;
translating the IPv4 address to the IPv6 address by removing the IPv4 address prefix from the IPv4 address and decompressing a remaining portion of the IPv4 address using a compression key associated with a compression algorithm used to compress the entirety of the IPv6 address, the compression key recovering the IPv6 address from the remaining portion; and
transmitting the message from the translator to the IPv6 device with the IPv6 address in place of the IPv4 address previously included in the message.
1 Assignment
0 Petitions
Accused Products
Abstract
Translation of Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6) addresses is contemplated, such as for use in allowing IPv4 devices to connect with IPv6 device without requiring the IPv4 devices to specify the IPv6 address of the connected-to IPv6 device. The IPv6 addresses may be translated to IPv4 addresses suitable for use with the IPv4 devices in a manner that sufficiently compresses the IPv6 for use with the more bit limited nomenclature of an IPv4 address.
41 Citations
17 Claims
-
1. A non-transitory computer-readable medium having instructions executable with a processor of a translator to facilitate translating an Internet Protocol version 6 (IPv6) address to an Internet Protocol version 4(IPv4) address, the non-transitory computer-readable medium comprising instructions for:
-
compressing an entirety of the IPv6 address determined for an IPv6 device into a compressed expression, the IPv6 address comprising a first number of binary bits and the compressed expression comprising a second number of binary bits, the second number being less than the first number; selecting an IPv4 address prefix from a plurality of unused IPv4 address prefixes; adding the IPv4 address prefix to the compressed expression to form the IPv4 address, the IPv4 address being valid for IP-based communications; receiving at the translator a message a from an IPv4 device, the message including the IPv4 address; translating the IPv4 address to the IPv6 address by removing the IPv4 address prefix from the IPv4 address and decompressing a remaining portion of the IPv4 address using a compression key associated with a compression algorithm used to compress the entirety of the IPv6 address, the compression key recovering the IPv6 address from the remaining portion; and transmitting the message from the translator to the IPv6 device with the IPv6 address in place of the IPv4 address previously included in the message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium having instructions executable with a processor of a translator to facilitate translating an Internet Protocol version 6 (IPv6) address to an Internet Protocol version 4 (IPv4) address, the non-transitory computer-readable medium comprising instructions for:
-
receiving a message at the translator, the message including the IPv6 address for an IPv6 device; compressing an entirety of the IPv6 address into a compressed expression, the IPv6 address comprising a first number of binary bits and the compressed expression comprising a second number of binary bits, the second number being less than the first number; selecting an IPv4 address prefix from a plurality of unused IPv4 address prefixes; adding the IPv4 address prefix to the compressed expression to form the IPv4 address, the IPv4 address being valid for IP-based communications; storing the IPv4 address and the IPv6 address within a mapping table of the translator, the mapping table being sufficient to identify the IPv6 address from the IPv4 addresses, wherein the mapping table includes a plurality of assigned IPv4 addresses mapped to a corresponding plurality of assigned IPv6 addresses, and wherein combining the compressed expression and the IPv4 address prefix to form the IPv4 address includes executing a collision detection process to ensure the IPv4 address does not collide with one of the plurality of assigned IPv4 addresses already stored in the mapping table; determining the IPv4 address collides with one of the plurality of assigned IPv4 addresses; altering at least one parameter of the Ipv6 address and recording the altering manipulation in the mapping table; thereafter compressing the altered IPv6 address into a different compressed expression to be combined with the selected IPv4 address prefix to form a new IPv4 address; storing the new IPv4 address and the IPv6 address within the mapping table, the mapping table being sufficient to identify the IPv6 address from the new IPv4 address such that the translator utilizes the new IPv4 address instead of the IPv4 address when requested to translate a message having the IPv6 address.
-
-
12. A non-transitory computer-readable medium having a plurality of instructions sufficient for execution with a processor of a translator to facilitate translating Internet Protocol version 6 (IPv6) addresses and Internet Protocol version 4 (IPv4) addresses for purposes of connecting an IPv4 device with an IPv6 device, the non-transitory computer-readable medium comprising instructions for:
-
determining a plurality of IPv6 addresses for a plurality of IPv6 devices; mapping each of the plurality of IPv6 addresses to a corresponding one of a plurality of IPv4 addresses, each of the plurality of IPv4 addresses being uniquely determined by combining a compressed expression of a corresponding one of the plurality of IPv6 addresses with an IPv4 prefix, each of the plurality of IPv4 addresses being sufficient to address messages according to Internet Protocol (IP), each of the compressed expressions being an algorithmic reduction of the corresponding one of the plurality of IPv6 addresses; receiving a message at the translator from the IPv4 device to connect with the IPv6 device, the message identifying the IPv6 device according to a first IPv4 address of the plurality of IPv4 addresses; translating the first IPv4 address to a first IPv6 address of the plurality of IPv6 address at the translator by removing the IPv4 address prefix from the first IPv4 address and decompressing a remaining portion of the first IPv4 address using a compression key used to compress a compressed expression of the first IPv6 address, the compression key recovering the first IPv6 address from the remaining portion; and faciliating communication of the message to the IPv6 device from the translator with the first IPv6 address in place of the first IPv4 address previously included in the message. - View Dependent Claims (13)
-
-
14. A non-transitory computer-readable medium having instructions stored therein that when operated with a processor of a translator facilitate translating Internet Protocol version 4 (IPv4) addresses and Internet Protocol version 6 (IPv6) addresses, the non-transitory computer-readable medium comprising instructions for:
-
receiving one or more messages at the translator, the messages including one or more of a plurality of IPv6 addresses for one or more IPv6 devices; generating at the translator a first compressed expression for a first IPv6 address of the plurality of IPv6 addresses and a second compressed expression for a second IPv6 address of the plurality of IPv6 addresses, the first compressed expression representing the first IPv6 address with fewer machine-readable bits than the first IPv6 address and the second compressed expression representing the second IPv6 address with fewer machine-readable bits than the second IPv6 address, wherein generating at the translator the first compressed expression comprises compressing the first IPv6 address with a compression algorithm; and generating at the translator the second compressed expression comprises compressing the second IPv6 address with the compression algorithm; determining the first compressed expression matches the second compressed expression; generating at the translator a third compressed expression by; i. varying at the translator a parameter of the second IPv6 address to generate a third IPv6 address; and ii. compressing at the translator the third IPv6 address with the compression algorithm, combining at the translator the first compressed expression with a first IPv4 address parameter to form a first IPv4 address and combining the third compressed expression with the first IPv4 address parameter to form a second IPv4 address, each of the first IPv4 address and the second IPv4 address being sufficient for addressing message headers according to Internet protocol (IP) such that the translator utilizes the first IPv4 address and the second IPv4 address when requested to translate messages respectively having the first IPv6 address and the second IPv6 address. - View Dependent Claims (15, 16)
-
-
17. A non-transitory computer-readable medium having instruction stored therein that when operated with a processor of a translator to facilitate translating Internet Protocol version 4 (IPv4) addresses with Internet Protocol version 6 (IPv6) addresses, the non-transitory computer-readable medium comprising instructions for:
-
generating at the translator a first compressed expression for a first IPv6 address and a second compressed expression for a second IPv6 address, the first compressed expression representing the first IPv6 address with fewer machine-readable bits than the first IPv6 address and the second compressed expression representing the second IPv6 address with fewer machine-readable bits than the second IPv6 address, where generating at the translator the first compressed expressing comprises compressing the first IPv6 address with a compression algorithm; generating at the translator the second compressed expressing comprises compressing the second IPv6 address with the compression algorithm; combining at the translator the first compressed expression with a first IPv4 address parameter to form a first IPv4 address and combining the second compressed expression with the first IPv4 address parameter to form a second IPv4 address, each of the first IPv4 address and the second IPv4 address being sufficient for addressing message headers according to Internet protocol (IP); receiving at the translator a message from an IPv4 device, the message having the first IPv4 address; translating at the translator the first IPv4 address to the first IPv6 address by removing the first IPv4 address parameter and decompressing a remaining portion of the first IPv4 address using a compression key associated with the compression algorithm, the compression key recovering the first IPv6 address from the remaining portion; and transmitting the message from the translator to an IPv6 device corresponding with the first IPv6 address, the message including the first IPv6 address in place of the first IPv4 address.
-
Specification