Method and system for high-volume compression of IPV4 unicast addresses
A method and system for compressing IPv4 unicast addresses, can involve dividing one or more IPv4 unicast addresses among a group of IPv4 unicast addresses into a network portion and a host portion, grouping IPv4 unicast addresses into groups based on the network portion, summarizing the host portion of each group among the groups into a set of IPv4 unicast addresses, and encoding the groups in binary format, thereby resulting in a compression of the IPv4 unicast addresses into compressed IPv4 unicast addresses.
1 . A method for compressing IPv4 unicast addresses, comprising:
dividing, by at least one processor, at least one IPv4 unicast address among a plurality of IPV4 unicast addresses into a network portion and a host portion;
grouping, by at least one processor, the plurality of IPV4 unicast addresses into groups based on the network portion, wherein the network portion is used as a key for the grouping;
summarizing, by at least one processor, the host portion of each group among the groups into a set of IPV4 unicast addresses, wherein the host portion is represented as a set of host values associated with the key;
encoding, by at least one processor, the groups in a binary format, thereby resulting in a compression of the plurality of IPV4 unicast addresses into compressed IPv4 unicast addresses; and
transmitting the compressed IPv4 unicast addresses across a network to reduce network bandwidth utilization and improve transmission efficiency.
2 . The method of claim 1 wherein the binary format comprises a data structure that (i) represents each group as the network portion and the associated set of host values, (ii) uses an end-of-string delimiter to indicate termination of each host value, and (iii) includes additional data associated with each host value.
3 . The method of claim 1 further comprising decompressing the compressed IPv4 unicast addresses at a receiving end of the network.
4 . The method of claim 1 wherein the set of IPV4 unicast addresses comprises at least one of: a blacklist, a whitelist, or a host file.
5 . The method of claim 1 wherein the groups are encoded in the binary format using an end-of-string delimiter to indicate the end of each host address.
6 . The method of claim 5 wherein the groups are further encoded with additional data after the each host address.
7 . The method of claim 1 , wherein:
the network portion of the at least one IPv4 unicast address is used as a key to group the plurality of IPV4 unicast addresses; and
each group among the groups comprises a key-value data structure in which the network portion is the key and a set of host values corresponding to the plurality of IPV4 unicast addresses sharing the network portion are stored as values associated with the key.
8 . The method of claim 1 , wherein the host portion of the at least one IPv4 unicast address is used as a value within the group.
9 . The method of claim 1 , wherein the size of a network mask of the network is specified in a preamble to accommodate an IP list size.
10 . A method of improving a performance of a network, comprising:
compressing a set of a plurality of IPV4 unicast addresses into compressed IPv4 unicast addresses, by at least one processor, wherein compressing comprises grouping the plurality of IPv4 unicast addresses based on a shared portion of the IPV4 unicast addresses and encoding the grouped IPv4 unicast addresses into a binary representation;
transmitting the compressed IPv4 unicast addresses across a network; and
decompressing the compressed IPv4 unicast addresses at a receiving end of the network.
11 . The method of claim 10 , wherein:
the set of the plurality of IPV4 unicast addresses comprises at least one of: a blacklist, a whitelist, or a host file; and
wherein the set comprises a plurality of non-contiguous host portions aggregated within each group.
12 . The method of claim 10 wherein compressing the set of the plurality of IPV4 unicast addresses into compressed IPv4 unicast addresses, comprises:
dividing at least one IPv4 unicast address among the plurality of IPV4 unicast addresses into a network portion and a host portion;
grouping the plurality of IPV4 unicast addresses into groups based on the network portion;
summarizing the host portion of each group among the groups into a set of IPV4 unicast addresses, wherein the set comprises a plurality of non-contiguous host portions aggregated within each group among the groups; and
encoding the groups in binary format, thereby resulting in the compressed IPV4 unicast addresses.
13 . A system for compressing IPv4 unicast addresses, comprising:
at least one processor and a memory, the memory storing instructions to cause the at least one processor to perform:
dividing at least one IPv4 unicast address among a plurality of IPV4 unicast addresses into a network portion and a host portion;
grouping the plurality of IPV4 unicast addresses into groups based on the network portion, wherein the network portion is used as a key for the grouping;
summarizing the host portion of each group among the groups into a set of IPv4 unicast addresses, wherein the host portion is represented as a set of host values associated with the key; and
encoding the groups in binary format, thereby resulting in a compression of the plurality of IPV4 unicast addresses into compressed IPv4 unicast addresses, wherein the binary format comprises a data structure representing each group as the network portion and the associated set of host values.
14 . The system of claim 13 wherein the instructions further cause the at least one processor to perform transmitting the compressed IPv4 unicast addresses across a network.
15 . The system of claim 14 wherein the instructions further cause the at least one processor to perform decompressing the compressed IPv4 unicast addresses at a receiving end of the network.
16 . The system of claim 13 wherein the set of IPV4 unicast addresses comprises at least one of: a blacklist, a whitelist, or a host file.
17 . The system of claim 13 wherein the groups are encoded in the binary format using an end-of-string delimiter to indicate the end of each host address.
18 . The system of claim 17 wherein the groups are further encoded with additional data after the each host address.
19 . The system of claim 13 , wherein the network portion of the at least one IPv4 unicast address is used as a key to group the plurality of IPV4 unicast addresses.
20 . The system of claim 13 , wherein the host portion of the at least one IPv4 unicast address is used as a value within the group.
21 . The system of claim 13 , wherein the size of a network mask of the network is specified in a preamble to accommodate an IP list size.
22 . A method for compressing IPv4 unicast addresses, comprising:
dividing, by at least one processor, at least one IPv4 unicast address among a plurality of IPV4 unicast addresses into a network portion and a host portion;
grouping, by at least one processor, the plurality of IPV4 unicast addresses into groups based on the network portion, wherein the network portion is used as a key for the grouping;
summarizing, by at least one processor, the host portion of each group among the groups into a set of IPV4 unicast addresses, wherein the host portion is represented as a set of host values associated with the key; and
encoding, by at least one processor, the groups in binary format, thereby resulting in a compression of the plurality of IPV4 unicast addresses into compressed IPv4 unicast addresses, wherein the binary format comprises a data structure representing each group as the network portion and the associated set of host values; and
transmitting the compressed IPv4 unicast addresses across a network to reduce network bandwidth utilization and improve transmission efficiency.
23 . The method of claim 22 further comprising decompressing the compressed IPv4 unicast addresses at a receiving end of the network.
24 . The method of claim 22 wherein the set of IPv4 unicast addresses comprises at least one of: a blacklist, a whitelist, or a host file.
25 . The method of claim 22 wherein the groups are encoded in the binary format using an end-of-string delimiter to indicate the end of each host address.
26 . The method of claim 25 wherein the groups are further encoded with additional data after the each host address.
27 . The method of claim 22 , wherein the network portion of the at least one IPv4 unicast address is used as a key to group the plurality of IPV4 unicast addresses.
28 . The method of claim 22 , wherein the host portion of the at least one IPv4 unicast address is used as a value within the group.
29 . The method of claim 22 , wherein the size of a network mask of the network is specified in a preamble to accommodate an IP list size.
30 . A method for compressing IPv4 unicast addresses comprising:
dividing, by at least one processor, an IPV4 unicast address into a network portion and a host portion;
grouping, by at least one processor, the IPv4 addresses based on their network portion, wherein the network portion is used as a key for the grouping;
summarizing, by at least one processor, the host portion of each group into a set, wherein the set comprises host values associated with the key;
encoding, by at least one processor, the resulting groups in binary format, wherein the binary format comprises a data structure representing each group as the network portion and the associated set of host values, using an end-of-string delimiter to indicate the end of each host address and optionally including additional data after each host address; and
transmitting the compressed IPv4 addresses across a network to reduce network bandwidth utilization and improve transmission efficiency.
31 . The method of claim 30 , wherein the associated set of host values comprises a plurality of non-contiguous host portions aggregated based on the key.
32 . The method of claim 30 , wherein the host portion of the IPV4 unicast address is used as a value within the group.
33 . The method of claim 30 , wherein the size of the network mask is specified in a preamble to accommodate IP list size.