Internet protocol (IP) address translation
First Claim
1. A non-transitory computer-readable medium having instructions 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 into a compressed expression using a hashing key associated with a hashing algorithm, 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 available IPv4 address prefix;
combining the selected IPv4 address prefix to the compressed expression to form the IPv4 address, the IPv4 address being valid for IP-based communications;
wherein the combining of the compressed expression and the selected IPv4 address prefix to form the IPv4 address comprises executing a collision detection process to ensure the IPv4 address does not collide with one of a plurality of assigned IPv4 addresses already stored in a mapping table, wherein the mapping table includes the plurality of assigned IPv4 addresses mapped to a corresponding plurality of assigned IPv6 addresses;
the collision detection process comprising;
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 a table; and
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;
receiving a message having the new IPv4 address;
translating the new IPv4 address in the message to the IPv6 address by removing the selected IPv4 address prefix from the new IPv4 address and decompressing the remaining portion of the new IPv4 address using the hashing key, the hashing key recovering the altered IPv6 address from the remaining portion for use in determining the IPv6 address using the altering manipulation recorded in the table; and
transmitting the message with the IPv6 address in place of the new IPv4 address previously included therein.
0 Assignments
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.
-
Citations
20 Claims
-
1. A non-transitory computer-readable medium having instructions 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 into a compressed expression using a hashing key associated with a hashing algorithm, 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 available IPv4 address prefix; combining the selected IPv4 address prefix to the compressed expression to form the IPv4 address, the IPv4 address being valid for IP-based communications; wherein the combining of the compressed expression and the selected IPv4 address prefix to form the IPv4 address comprises executing a collision detection process to ensure the IPv4 address does not collide with one of a plurality of assigned IPv4 addresses already stored in a mapping table, wherein the mapping table includes the plurality of assigned IPv4 addresses mapped to a corresponding plurality of assigned IPv6 addresses; the collision detection process comprising; 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 a table; and 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; receiving a message having the new IPv4 address; translating the new IPv4 address in the message to the IPv6 address by removing the selected IPv4 address prefix from the new IPv4 address and decompressing the remaining portion of the new IPv4 address using the hashing key, the hashing key recovering the altered IPv6 address from the remaining portion for use in determining the IPv6 address using the altering manipulation recorded in the table; and transmitting the message with the IPv6 address in place of the new IPv4 address previously included therein. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 16, 17)
-
-
11. A method executed on a translation device comprising a hardware processor for translating Internet Protocol version 6 (IPv6) and Internet Protocol version 4 (IPv4) addresses to facilitate connecting an IPv4 device with an IPv6 device, the method comprising:
-
the processor determining a plurality of IPv6 addresses for a plurality of IPv6 devices; the processor mapping each of the plurality of IPv6 addresses to a corresponding one of a plurality of IPv4 addresses in a mapping table, each of the plurality of IPv4 addresses being uniquely formed by combining a compressed expression of the corresponding one of the plurality of IPv6 addresses with a selected IPv4 address prefix, each compressed expression being an algorithmic reduction of the corresponding one of the plurality of IPv6 addresses generated using a hashing key of a hashing algorithm, and each of the plurality of IPv4 addresses being sufficient to address messages according to Internet Protocol (IP); wherein forming each of the plurality of IPv4 addresses further comprises the processor executing collision detection to ensure that each of the plurality of IPv4 addresses does not collide with an assigned IPv4 address already stored in the mapping table; upon determining a first IPv4 address of the plurality of IPv4 addresses collides with an assigned IPv4 address already stored in the mapping table, the processor altering a parameter of a corresponding IPv6 address of the plurality of IPv6 addresses corresponding to the first IPv4 address, recording the altering manipulation in a table and 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 corresponding IPv6 address within the mapping table; and upon receiving a request message from the IPv4 device to connect with a first one of the plurality of IPv6 devices, the request message identifying the first one of the plurality of IPv6 devices according to the new IPv4 address, the processor translating the new IPv4 address identified within the request message to the altered IPv6 address by removing the selected IPv4 address prefix from the new IPv4 address and decompressing a remaining portion of the new IPv4 address using the hashing key, the hashing key recovering the altered IPv6 address from the remaining portion for use in determining the corresponding IPv6 address using the altering manipulation recorded in the table, thereafter facilitating communication of the request message to the first one of the plurality of IPv6 devices. - View Dependent Claims (12, 13, 18)
-
-
14. A non-transitory computer-readable medium having instructions stored therein that when operated with a processor facilitate translating Internet Protocol verstion 6 (IPv6) addresses to Internet Protocol version 4 (IPv4) addresses, the non-transitory computer-readable medium comprising instructions for:
-
generating a first compressed expression for a first IPv6 address by compressing the first IPv6 address with a hashing algorithm and generating a second compressed expression for a second IPv6 address by compressing the second IPv6 address with the hashing algorithm, 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; and combining the first compressed expression with a first IPv4 address prefix to form a first IPv4 address, the first IPv4 address being sufficient for addressing message headers according to Internet protocol (IP), and storing the first IPv4 address and the first IPv6 address within a mapping table, wherein the mapping table includes a plurality of assigned IPv4 addresses mapped to a corresponding plurality of assigned IPv6 addresses; combining the second compressed expression with the first IPv4 address prefix to form a second IPv4 address, the second IPv4 addresses being sufficient for addressing message headers according to Internet protocol (IP); executing a collision detection process to ensure the second IPv4 address does not collide with the first IPv4 address in the mapping table and upon detecting the first IPv4 address matches the second IPv4 address, generating a third IPv4 address by; i. manipulating a parameter of the second IPv6 address to generate a third IPv6 address and recording the manipulation in a table; and ii. compressing the third IPv6 address with the hashing algorithm to generate a third compressed expression; iii. forming the third IPv4 address by combining the third compressed expression with the IPv4 address prefix; receiving a message having the third IPv4 address; translating the third IPv4 address to the second IPv6 address by removing the first IPv4 address prefix from the third IPv4 address and decompressing a remaining portion of the third IPv4 address using a hashing key associated with the hashing algorithm, the hashing key recovering the third IPv6 address from the remaining portion for use in determining the second IPv6 address using the manipulation recorded in the table; and transmitting the message with the second IPv6 address in place of the third IPv4 address. - View Dependent Claims (19, 20)
-
Specification