Method and device for routing or compressing packets destination address containing classless address
First Claim
1. A method of routing packets with a destination address (2, 2A, 2B) through an electronic routing device, said packets destination address comprises bit packets and wherein said address is a classless address indicative of a desired destination, said routing device having at least a database (10) of prefix entries, said entries corresponding to a desired output data link, wherein said method for each packet destination address (2, 2A, 2B) comprises the steps of:
- generating an address mask (3, 3A, 3B-C, 6A-I) having a number of bits equal to that of the packets destination address (2, DA, 2B) and comprising two portions;
a first portion (14, 14A) starting from bit 0 (MSB) and ending with a bit (n−
1)−
i, and a second portion (15, 15A) starting from bit n−
i and ending with bit n−
1, wherein the first portion (14,14A) comprises only a non masking value and the second portion (15, 15A) comprises only a masking value,i being an integer comprised between 0 and n−
1,wherein i=0 in the first iteration, and i being incremented by one for each subsequent iteration until a match is found or it has reached a fixed value (n−
1);
continuing to generate an address mask (3, 3A, 3B-C, 6A-1) until an entry, matching a masked address (1, 1A) obtained by performing a masking operation on said packet destination address (2, 2A, 2B) and said address mask (3, 3A, 3B-C, 6A-1), is found in said data base (10);
wherein said masking operation is an AND operation if a masking value is 0 and a non masking value 1, said masking operation is an OR operation if the masking value is 1 and the not masking value 0, and the packets destination address and the address mask are negated before being inputted to the OR operation and the output of said OR operation is negated;
stopping, if a match is found, said generation of address masks (3, 3A, 3B-C, 6A-I) and outputting the output data link corresponding to said match; and
outputting, if no match is found or i is equal to said fixed value (Nbit), a message indicating that no output data link was found.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a method of routing or compressing packets destination address through an electronic routing or compressing device, the packets destination address being n bit packets and having address indicative of a desired destination, the address being classless, the routing device having at least a data base of prefix entries, each of which containing entries corresponding to a desired output data link, the method having the steps of: a) generating an address mask until an entry matching a masked address obtained by making an AND operation between the packets destination address and the address mask, is found in the data; the address mask having a number of bit equal to that of the packets destination address and having, starting from the most significant n-bit equal to 1 and the remaining i bit equal to 0, with 0<=u<=b.1, with the first generated mask having i=0 or i=1, b) if a match is found, stopping the generation of masked address and outputting the output data link corresponding to the match, c) if no match is found, outputting a message indicating that no output data link was found.
-
Citations
24 Claims
-
1. A method of routing packets with a destination address (2, 2A, 2B) through an electronic routing device, said packets destination address comprises bit packets and wherein said address is a classless address indicative of a desired destination, said routing device having at least a database (10) of prefix entries, said entries corresponding to a desired output data link, wherein said method for each packet destination address (2, 2A, 2B) comprises the steps of:
-
generating an address mask (3, 3A, 3B-C, 6A-I) having a number of bits equal to that of the packets destination address (2, DA, 2B) and comprising two portions;
a first portion (14, 14A) starting from bit 0 (MSB) and ending with a bit (n−
1)−
i, and a second portion (15, 15A) starting from bit n−
i and ending with bit n−
1, wherein the first portion (14,14A) comprises only a non masking value and the second portion (15, 15A) comprises only a masking value,i being an integer comprised between 0 and n−
1,wherein i=0 in the first iteration, and i being incremented by one for each subsequent iteration until a match is found or it has reached a fixed value (n−
1);continuing to generate an address mask (3, 3A, 3B-C, 6A-1) until an entry, matching a masked address (1, 1A) obtained by performing a masking operation on said packet destination address (2, 2A, 2B) and said address mask (3, 3A, 3B-C, 6A-1), is found in said data base (10); wherein said masking operation is an AND operation if a masking value is 0 and a non masking value 1, said masking operation is an OR operation if the masking value is 1 and the not masking value 0, and the packets destination address and the address mask are negated before being inputted to the OR operation and the output of said OR operation is negated; stopping, if a match is found, said generation of address masks (3, 3A, 3B-C, 6A-I) and outputting the output data link corresponding to said match; and outputting, if no match is found or i is equal to said fixed value (Nbit), a message indicating that no output data link was found. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
2. A method of compressing packets with a destination address (2, 2A, 2B) through an electronic compressing device, said packets destination address comprising bit packets and wherein said address is a classless address indicative of a desired destination, said compressing device having at least a database (10) of prefix entries, each of which containing entries corresponding to a desired output data link, wherein said method for each packet destination address (2, 2A, 2B) comprises the steps of:
-
generating an address mask (3, 3A, 3B-C, 6A-I), having a number of bits equal to that of the packets destination address (2, 2A, 2B) and comprising two portions;
a first portion (14, 14A) starting from bit 0 and ending with a bit (n−
1)−
i, and a second portion (15, 15A) starting from bit n−
i and ending with bit n−
1, wherein the first portion (14, 14A) comprises only a not masking value and the second portion (15, 15A) comprises only a masking value,wherein i is an integer between 0 and n−
1;wherein i=0 in the first iteration, and i being incremented by one for each subsequent iteration until a match is found or it has reached a fixed value (n−
1);continuing to generate an address mask (3, 3A, 3B-C, 6A-I) until an entry, matching a masked address (1, 1A), obtained by performing a masking operation on said packet destination address (2, 2A, 2B) and said address mask (3, 3A, 3B-C, 6A-I), is found in said data base (10); wherein said masking operation is an AND operation if a masking value is 0 and a not masking value 1; and
the not masking value 0, and the packets destination address and the address mask are negated before being inputted to the OR operation and the output of said OR operation is negated;stopping, if a match is found, said generation of address masks (3, 3A, 3B-C, 6A-I) and outputting the output data link corresponding to said match; and outputting, if no match is found or i is equal to said fixed value (Nbit), a message indicating that no output data link was found.
-
-
15. Routing device for routing packets with a destination address (2, 2A, 2B), said packets destination address comprising bit packets and a classless address indicative of a desired destination, said routing device comprising at least a database (10) of prefix entries, each of which containing entries corresponding to a desired output data link, comprising:
-
means (11, 13) for generating an address mask (3, 3A, 3B-C, 6A-I) having a number of bits equal to that of the packets destination address (2, 2A, 2B) and comprising two portions;
a first portion (14, 14A) starting from bit 0 and ending with a bit (n−
1)−
i, and a second portion (15, 15A) starting from bit n−
i and ending with bit n−
1;
wherein the first portion (14, 14A) comprises only a not masking value and the second portion (15, 15A) comprises only a masking value, i being an integer comprised between 0 and n−
1;means (12) for generating a masked address (1, 1A) obtained by performing a masking operation on said packet destination address (2, 2A, 2B) and said address mask (3, 3A, 3B-C, 6A-I) said masking operation is an AND operation if a masking value is 0 and a not masking value 1;
said masking operation is an OR operation if the masking value is 1 and the not masking value 0, and the packet destination address and the mask are negated before being inputted to the OR operation and the output of said OR operation is negated;means (9) for searching in said database (10) for an entry matching the current masked address; control means (11) for creating a first address mask comprising only said first part wherein i=0 in the first iteration, and for generating said masked address and for making said search until an entry matching said masked address is found in said data base or no match is found, said control means incrementing i until a match is found or it has reached a fixed value (Nbit), and if found outputting the found output data link corresponding to the matching entry. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
16. Compression device for compressing packets with a destination address (2, 2A, 2B), said packets destination address comprising n bit packets and a classless address indicative of a desired destination, and compressing device having at least a database (10) of prefix entries, each of which containing entries corresponding to a desired output data link, comprising:
-
means (11, 13) for generating an address mask (3, 3A, 3B-C, 6A-I) having a number of bits equal to that of the packets destination address (2, 2A, 2B) and comprising two portions;
a first portion (14, 14A) starting from bit 0 and ending with a bit (n−
i)−
i, and a second portion (15, 15A) starting from bit n−
i and ending with bit n−
1;
wherein the first portion (14, 14A) comprises only a not masking value and the second portion (15, 15A) comprises only a masking value, i being an integer comprised between 0 and n−
1;means (12) for generating a masked address (1, 1A) obtained by performing a masking operation on said packet destination address (2, 2A, 2B) and said address mask (3, 3A, 3B-C, 6A-I), said masking operation is an AND operation if a masking value is 0 and a not masking value 1;
said masking operation is an OR operation if;
the masking value is 1 and the not masking value 0, and the packet destination address and the address mask are negated before being inputted to the OR operation and the output of said OR operation is negated;means (9) for searching in said database (10) for an entry matching the current masked address; and control means (11) for creating a first address mask comprising only said first part wherein i=0 in the first iteration, and for generating said masked address and for making said search until an entry matching said masked address is found in said data base or no match is found, said control means incrementing i until a match is found or i has reached a fixed value (Nbit), and if found, outputting the output data link corresponding to the matching entry.
-
Specification