Claims
- 1. A method of forwarding network frames in a network switching device, comprising the steps of:providing a lookup table including network addresses and a comparison field associated with the network addresses; receiving a network frame that includes a destination address; searching the lookup table to find a network address to analyze; applying the comparison field to the destination address to determine a portion of the destination address to analyze; and comparing the network address found in the searching step against the portion of the destination address determined in the applying step.
- 2. The method of claim 1 further including inserting fictitious addresses into the lookup table to expedite the searching step.
- 3. The method of claim 1 wherein the lookup table includes addresses of different lengths.
- 4. The method of claim 1 wherein the lookup table includes collapsed addresses and network addresses.
- 5. The method of claim 1 wherein the comparison field includes mask bits for masking the destination address or length bits for identifying the bits to be compared.
- 6. The method of claim 1 wherein the lookup table includes mask bits associated with the network addresses and the method further includes:searching the lookup table for an exact match between the destination address and a network address; when an exact match is not found, selecting a first network addresses to be analyzed; applying the mask bits associated with the first network address to the destination address; comparing masked destination address to the first network address; if the masked destination address matches the first network address, obtaining a port number corresponding to the first network address; and forwarding the network frame over a port associated with the port number.
- 7. The method of claim 6 further including:if the masked destination address does not match the first network address; selecting a second network address that is adjacent to the first network address; applying a second mask associated with the second network address to the destination address; comparing destination address as modified by the second mask to the second network address; if the destination address as modified by the second mask matches the second network address; obtaining a port number corresponding to the second network address; and forwarding the network frame over a prot associated with the obtained port number.
- 8. The method of claim 1 wherein the comparison field is applied to both the destination address and the network addresses.
- 9. The method of claim 1 wherein the comparison field includes a length value and further including:applying the length value to the destination address to determine a number of bits associated with the destination that is to be compared against the network address.
- 10. In a network switching device having two or more ports that receive network frames and that transmit the network frames towards a final destination, and having a search engine coupled to a lookup table for analyzing the network frames by comparing portions thereof to network addresses stored within the lookup table, an improvement including storing a comparison field associated with entries in the lookup table that is applied to the portions of the network frames or the network addresses in the lookup table to determine a number of bits associated with said portions of the network frames or network addresses that are to be compared.
- 11. The network switching device of claim 10 wherein the comparison field includes mask bits associated with the network addresses.
- 12. The network switching device of claim 10 wherein the network addresses are different in length.
- 13. The network switching device of claim 10 wherein the lookup table includes fictitious network addresses that do not uniquely identify a node on a network.
- 14. In a network switching device having two or more ports that receive network frames having a destination address embedded therein and that forward the network frames to a final destination on a network, the switching device having a search engine mounted therein that analyzes the network frames by comparing the destination address to network addresses within a lookup table, which is stored within the switching device and coupled to the search engine, an improvement including storing mask bits associated with network addresses within the lookup table, the mask bits being applied by the search engine to at least the destination address of the network frames for comparing the masked destination address to the network addresses or to masked network addresses.
- 15. The network switching device of claim 14 further including a management processor coupled to the search engine that monitors the lookup table and ensures network addresses are maintained in sorted order.
- 16. The network switching device of claim 14 further including a switch fabric coupled between the search engine and the ports, the switch fabric for allowing a receiving port to communicate with a transmitting port.
- 17. The network switching device of claim 14, further including a switching fabric control coupled to the search engine and the switch fabric for coordinating communication between the search engine and the ports.
- 18. The network forwarding device of claim 17 wherein the switch fabric is a crossbar switch.
- 19. The network forwarding device of claim 17 wherein the switch fabric is a memory that the search engine stores network frames in and that the transmitting ports receive the network frames from.
- 20. The network forwarding device of claim 14, wherein the switching device is chosen from a list consisting of a router, a routing switch, a switch, and combinations thereof.
- 21. The network forwarding device of claim 14, wherein the network addresses include a fictitious address inserted into the lookup table to expedite the searching process.
- 22. The network forwarding device of claim 14, wherein some of the network addresses stored within the lookup table differ in length from other network addresses stored within the lookup table.
- 23. In a network switching device having two or more ports for connecting to different portions of a network and having a search engine for analyzing network frames received from the portions of the network and having a lookup table stored in a memory coupled to the search engine, an improvement wherein the lookup table includes network addresses of differing lengths intermingled throughout the lookup table.
- 24. The network switching device of claim 23 wherein the network addresses are in ascending or descending order within the network address table.
- 25. A method of forwarding network frames in a network switching device, comprising the steps of:providing an address lookup table including network addresses; receiving a destination address from a network; searching an address lookup table for a match between one of the network addresses and the destination address; when no match occurs in the searching step, storing a point of failure in the searching step; and inserting a fictitious address in the lookup table adjacent to or at the point of failure.
- 26. A method of forwarding network frames in a network switching device, the method comprising the steps of:providing the lookup table having a network addresses in ascending or descending order and corresponding port numbers and a comparison field for the network addresses; receiving a network frame including a destination address that the frame is to be forwarded to; searching the lookup table for a network address that matches the destination address; if a network address matches the destination address, forwarding the frame to a port number corresponding to the matching network address; if the destination address does not match any network addresses in the lookup table, then storing a point in the lookup table where the search failed; choosing a current network address to be analyzed as the network address adjacent to or at the point of failure; obtaining the comparison field for the current network address; and applying the comparison field to the destination address to determine a portion of the destination address to analyze.
- 27. The method of claim 26 further including applying the comparison field to the current network address to determine a portion of the current network address to analyze and comparing the portion of the current network address to the portion of the destination address to see if they match.
- 28. The method of claim 26 further including comparing the portion of the destination address to the network address.
- 29. The method of claim 26 further including:if the masked destination address matches the current network address, forwarding the network frame to the port number associated with the current network address in the lookup table; if the masked destination address does not match the current network address, analyzing the network address adjacent to the current network address.
- 30. The method of claim 26 wherein the comparing step further includes applying the mask bits to the current network address so that the current network address is a masked.
- 31. The method of claim 26 wherein the network frames are received from a computer network.
- 32. The method of claim 26 wherein the network frames are received from a telephone network.
- 33. A method of forwarding network frames, the method comprising the steps of:providing a lookup table including lookup keys; receiving a network frame; determining a search key associated with the network frame; choosing a lookup key from the lookup table to analyze; obtaining a comparison field associated with the chosen lookup key; and applying the comparison field to the search key so that only a portion of the search key is analyzed.
- 34. The method of claim 33 wherein the determining step includes deriving the search key from the network frame based on the characteristics of the network frame.
- 35. The method of claim 33 wherein the network frame explicitly includes the search key.
- 36. The method of claim 33 wherein the choosing step includes using a searching algorithm to obtain the current lookup key to analyze.
- 37. The method of claim 33 wherein the comparison field is a mask field or a length value.
- 38. The method of claim 33 further including comparing the portion of the search key with the chosen lookup key.
- 39. The method of claim 33 further including applying the comparison field to the chosen lookup key to obtain a portion of the lookup key to analyze and comparing the portion of the search key to the portion of the lookup key.
CROSS-REFERENCE TO RELATED APPLICATION
This application is based on provisional U.S. patent application Ser. No. 60/072,697, filed Jan. 27, 1998, and entitled “Variable Length Address Search Mechanism.”
US Referenced Citations (6)
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/072697 |
Jan 1998 |
US |