A router is a device that forwards traffic between networks. Routers use headers and a forwarding table to determine where packets go, and they use messaging such as the Border Gateway Protocol (BGP) to communicate with each other and configure the best route between any two hosts.
Conventional routers include a packet forwarding component and a route processor (RP). The RP determines and controls configuration, security, accounting, debugging, and network management processes of the packet-forwarding component. Examples of route processors include the Cisco® CSC/3 and the CSC/4 route processors. Route processors are typically implemented on an electronic printed circuit board.
The RP typically has relatively more processing and resource requirements than the packet-forwarding component. As the traffic between networks increases, router capacity must also increase. This places an even greater processing demand on the RP. The RP can, therefore, become a “bottleneck” as processing in the router is slowed by inadequate processing capability within the RP.
One solution for meeting the increased processing demands on the RP is to distribute the RP function across two or more loosely coupled processors. A problem with this approach is how to direct locally addressed packets to the appropriate RP out of the two or more distributed route processors. Another problem is how to reassemble fragments in an RP distributed across two or more processors.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a system and method for routing packets within routers having distributed route processors.