![]() |
Enhanced internet packet routing lookupNo:6512766 -Application no:08918506 -Filed date:1997-08-22 -Issue date:2003-01-28Abstract:The invention provides a method and system for routing information lookup for packets using routing protocols such as IP or IP multicast (IGMP), or MPLS (multiprotocol label switching, also known as tag switching or label switching) or MPLS multicast, in which both the destination address and the length of that destination address are matched using a lookup table having separate entries for selected addresses and their lengths, which can be accessed in parallel for multiple representations of destination addresses, and in which the input interface associated with the packet is included in the information used for matching. US Classes:Inventors:Agents:Assignees:Claims:What is claimed is: 1. A method including: receiving a packet header and an input interface identifier; coupling said packet header to plural encapsulation recognizers configured to produce header information from said packet header, said plural encapsulation recognizers recognizing packet headers for multiple protocols, said header information including said input interface identifier; coupling said header information to plural longest match recognizers so as to produce routing information, said plural longest match recognizers operating in parallel, said routing information determined responsive to a longest match recognized for said header information including said input interface identifier; and using said routing information to index to one or more routing lookup tables having treatment information regarding treatment of packets, said treatment information being responsive to said routing information and therefore to said input interface identifier. 2. A method as in claim 1, wherein said one or more routing lookup tables include a plurality of entries corresponding to said packet header and differing with regard to said input interface identifier. 3. A method as in claim 2, wherein said one or more routing lookup tables include a plurality of entries corresponding to said packet header and responsive to a multicast packet. 4. A method as in claim 3, wherein said multicast packet is encapsulated using an multiprotocol lable switching protocol. 5. An apparatus for use in packet routing, comprising: an input interface that receives a packet header, said input interface having an input interface identifier; plural encapsulation recognizers configured to produce header information from said packet header, said plural encapsulation recognizers recognizing packet headers for multiple protocols, said header information including said input interface identifier; plural longest match recognizers that produce routing information from said header information, said plural longest match recognizers operating in parallel, said routing information determined responsive to a longest match recognized for said header information including said input interface identifier; and one or more routing lookup tables having treatment information regarding treatment of packets, said treatment information being responsive to said routing information and therefore to said input interface identifier. 6. An apparatus as in claim 5, wherein said one or more routing lookup tables include a plurality of entries corresponding to said packet header and differing with regard to said input interface identifier. 7. An apparatus as in claim 6, wherein said one or more routing lookup tables include a plurality of entries corresponding to said packet header and responsive to a multicast packet. 8. An apparatus as in claim 7, wherein said multicast packet is encapsulated using an multiprotocol lable switching protocol. 9. A memory storing information including instructions, the instructions executable by a processor, the instructions comprising: code to receive a packet header and an input interface identifier; code to couple said packet header to plural encapsulation recognizers configured to produce header information from said packet header, said plural encapsulation recognizers recognizing packet headers for multiple protocols, said header information including said input interface identifier; code to couple said header information to plural longest match recognizers so as to produce routing information, said plural longest match recognizers operating in parallel, said routing information determined responsive to a longest match recognized for said header information including said input interface identifier; and code to use said routing information to index to one or more routing lookup tables having treatment information regarding treatment of packets, said treatment information being responsive to said routing information and therefore to said input interface identifier. 10. A memory as in claim 9, wherein said one or more routing lookup tables include a plurality of entries corresponding to said packet header and differing with regard to said input interface identifier. 11. A memory as in claim 10, wherein said one or more routing lookup tables include a plurality of entries corresponding to said packet header and responsive to a multicast packet. 12. A memory as in claims 11, wherein said multicast packet is encapsulated using an multiprotocol lable switching protocol. Text:This application is submitted in the name of the following inventor:
The assignee is Cisco Technology, Inc., a California corporation having an office at 170 West Tasman Drive, San Jose CA 95134. Title of InventionEnhanced Internet Packet Routing Lookup BACKGROUND OF THE INVENTION1. Field of the Invention The invention relates to packet switching. 2. Related Art In a packet-switched network, a ârouterâ is a device which receives packets on one or more input interfaces and which outputs those packets on one of a plurality of output interfaces, so as to move those packets within the network from a source device to a destination device. Each packet includes header information which indicates the destination device (and other information), and the router includes routing information which associates an output interface with information about the destination device (possibly with other information). The router can also perform other operations on packets, such as rewriting the packets according to their routing protocol or to reencapsulate the packets from a first routing protocol to a second routing protocol. It is advantageous for routers to operate as quickly as possible, so that as many packets as possible can be switched in a unit time. One problem which has arisen in the art is that routing lookup, that is, determining an output interface on which to output the packet in response to the header information from the packet, can take substantial processing time, and that the demand on the router from that processing time continues to grow with increased network demand and increased network size. This problem has been exacerbated by addition of more complexity in routing protocols and routing techniques, such as the use of access control lists, network flow switching, quality of service requirements, and of attempts to determine the nature or routing treatment of packets in response to their source. Some known routers, such as those described in U.S. application Ser. No. 08/655,429, âNetwork Flow Switching and Flow Data Exportâ, filed May 28, 1996, in the name of inventors Darren Kerr and Barry Bruins, and assigned to Cisco Systems, Inc., attorney docket number CIS-016, now U.S. Pat. No. 6,243,667 and U.S. application Ser. No. 08/771,438, having the same title, filed Dec. 19, 1996, in the name of the same inventors, assigned to the same assignee, attorney docket number CIS-017, now U.S. Pat. No. 6,308,148 determine routing lookup in response to a network âflowâ associated with the packet, rather than just in response to the destination address for the packet. This technique, called network flow switching, allows the router to determine routing procedure a single time for the entire flow, and to route all packets for the flow in the same manner. While such routers are able to reduce the number of routing lookup operations required for a sequence of packets in a flow, they do not take advantage of all information available for rapid routing. For a first example, for some packets the amount of packet header information for determining an output interface can be relatively longer or shorter (as in IP protocols, where entire sets of destination addresses can sometimes be assigned to a single output interface). For a second example, for some packets (as in multicast protocols, due to the nature of the multicast tree) the choice of output interface can be responsive to the input interface from which the packet was received. Accordingly, it would be desirable to provide a method and system for performing routing lookup, which is responsive both to the header information associated with a packet and to the length of that header information, and which is makes use of all useful information including an input interface from which the packet was received. These advantages are achieved in an embodiment of the invention in which both the destination address and the length of that destination address are matched using a lookup table having separate entries for selected addresses and their lengths, which can be accessed in parallel for multiple representations of destination addresses, and in which the input interface associated with the packet is included in the information used for matching. SUMMARY OF THE INVENTIONThe invention provides a method and system for routing information lookup for packets using routing protocols such as IP or IP multicast (IGMP), or MPLS (multiprotocol label switching, also known as tag switching or label switching) or MPLS multicast, in which both the destination address and the length of that destination address are matched using a lookup table having separate entries for selected addresses and their lengths, which can be accessed in parallel for multiple representations of destination addresses, and in which the input interface associated with the packet is included in the information used for matching. BRIEF DESCRIPTION OF THE DRAWINGSDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTIn the following description, a preferred embodiment of the invention is described with regard to preferred process steps and data structures. Those skilled in the art would recognize after perusal of this application that embodiments of the invention can be implemented using general purpose processors or special purpose processors or other circuits adapted to particular process steps and data structures described herein, and that implementation of the process steps and data structures described herein would not require undue experimentation or further invention. Inventions described herein can be used in conjunction with inventions described in the following applications: application Ser. No. 08/918,505, filed the same day, Express Mail Mailing No. EM337222825US, in the name of the same inventor, titled âMultiprotocol Packet Recognition and Switchingâ, attorney docket number CIS-020A, now U.S. Pat. No. 6,157,641; and application Ser. No. 08/917,654, filed the same day, Express Mail Mailing No. EM166118235US, in the name of the same inventor, titled âMultiple Parallel Packet Routing Lookupâ, attorney docket number CIS-020B, now U.S. Pat. No. 6,212,183. Each of these applications is hereby incorporated by reference as if fully set forth herein. System For Enhanced Internet Packet Routing LookupA system for enhanced internet packet routing lookup includes a multiprotocol packet recognizer as further described in application Ser. No. 08/918,505, titled âMultiprotocol Packet Recognition and Switchingâ, attorney docket number CIS-020A, now U.S. Pat. No. 6,308,148 and in application Ser. No. 08/917,654, titled âMultiple Parallel Packet Routing Lookupâ, attorney docket number CIS-020B, now U.S. Pat. No. 6,212,183 each of which is hereby incorporated by reference as if fully set forth herein. As more fully described in these incorporated applications, each packet is input to a packet buffer, coupled to a set of encapsulation recognizers and an encapsulation multiplexer, and coupled to a set of longest-match recognizers and a set of longest-match multiplexers, so as to first recognize the type of packet encapsulation and to second recognize relevant packet header information for routing the packet. As used herein, âMPLSâ refers to multiprotocol label switching, also known as âtag switchingâ or âlabel switchingâ, as defined in RFC 2105, âCisco Systems' Tag Switching Architecture Overviewâ, by Y. Rekhter, D. Katz, E. Rosen, and G. Swallow (February 1997), which document describes label formats and packet formats, and is hereby incorporated by reference as if fully set forth herein. 1. MPLS Packet Header The information for the example packet includes an example packet header In a preferred embodiment, the line information In a preferred embodiment, the fixed code The MPLS label In a preferred embodiment, additional information is included with the packet header Computation of the checksum value CHK 2. Packet Header Information The information for the example packet includes a set of packet header information In a preferred embodiment, the packet header information As described herein, the input interface identifier As described herein, the checksum value CHK As specified by the MPLS protocol, the 20-bit label value As also specified by the MPLS protocol, other values comprising in the packet header information 3. MPLS Routing Information The information for the example packet includes a set of example routing information The routing information Method of OperationA method At a flow point At a step At a step At a step At a step At a step At a step At a flow point Alternative EmbodimentsAlthough preferred embodiments are disclosed herein, many variations are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application. Field of search:Foreign documents:References: |
Browse by classes
Agriculture
Animals Automotives and Transportation Business and Commerce Chemistry Communications Construction Containers Electricity Energy Engineering Entertainment Fashion and Accessories Food Hardware and Tools Health and Medicine Home Industrial Information Technology Machines Materials and Material Science Miscellaneous Optics Outdoors Paper and Office Materials Physics Sanitation Technology Textiles Weaponry
Advertisements
|
|||||||||||||||||||
