The present invention provides a routing architecture including a control plane, a compute plane, and a forward plane. The forward plane provides traditional forwarding of packets to the next-hop address, along with any necessary header manipulation, while the control plane configures the forward plane and the compute plane for desired operation. The compute plane is configured for high-speed processing of packets to provide application level support, including manipulating application data in the payload of the packets during routing. The forward plane preferably implements forwarding rules using filters sufficient to forward a received packet to the next-hop address, to the compute plane for application processing, or to the control plane to facilitate control or configuration.
FIELD OF THE INVENTION
The present invention relates to processing and routing packets in a network, and in particular, to providing high-speed, application level processing on the packets during routing.
BACKGROUND OF THE INVENTION
Existing routers have limited computation capacity and offer little or no application layer support during routing. These routers are typically divided into a control plane and a forward plane. The control plane is used for basic setup and control of the router. For example, the control plane is generally used to establish routing tables used by the forward plane. The forward plane receives packets, processes the packets based on the routing tables set up by the control plane, and delivers the packets to the next-hop address or the final destination, depending on the termination point for each packet.
The forward plane in existing routers is typically limited to packet delivery based on basic header analysis and manipulation. Application layer support, such as that requiring analysis or manipulation of the packet’s payload, is typically avoided. Those specially configured devices capable of providing application processing, such as firewalls, are uniquely configured for the special application wherein the routing speeds for normal routing in the forward plane are significantly impacted or the control plane is uniquely adapted to handle such processing. In either case, basic routing capability of the forward plane is inhibited. Thus, traditional network routers typically do not provide application level processing, and routing devices providing such support are only used in limited applications.
Given the general desire to distribute processing over a network, there is a need for efficient routing devices capable of providing application level processing without significantly impacting forwarding performance for the packets being processed at an application level or for those requiring only basic routing. There is a further need to provide a routing device that is readily configurable to provide various types of application support in any number of network environments.
SUMMARY OF THE INVENTION
The present invention provides a routing architecture including a control plane, a compute plane, and a forward plane. The forward plane provides traditional forwarding of packets to the next-hop address, along with any necessary header manipulation, while the control plane configures the forward plane and the compute plane for desired operation. The compute plane is configured for high-speed processing of packets to provide application level support, including manipulating application data in the payload of the packets during routing.
The forward plane preferably implements forwarding rules using filters sufficient to forward a received packet to the next-hop address, to the compute plane for application processing, or to the control plane to facilitate control or configuration. For those packets not sent to the compute plane or control plane, the forward plane will provide any necessary processing and forward the packets from an input port to an output port. Additionally, the forward plane receives packets from the control plane and the compute plane for forwarding after processing by the respective planes.
Preferably, the compute plane is implemented using high-speed field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), digital signal processors (DSP), network processors, or a combination thereof sufficient to provide processing speeds that are close to forwarding speeds of the forward plane. Further, the compute plane is preferably configurable by the control plane to provide various types of application processing. The compute plane may be configured to provide different types of application processing for different packets. The forward plane may be set to determine where to send the packets in the compute plane for processing, or the compute plane may determine how or where to process the packets upon receipt.
With the present invention, the routing device is able to perform application level processing on packets without impacting forwarding performance. The invention separates the task of control from computation to avoid negatively impacting performance for either task. A new, high-speed computation plane is provided in the routing device to handle application level processing, while the forward plane provides basic forwarding. The routing abilities of the present invention may be provided in any number of network devices, including traditional routers and media gateways capable of routing packets over homogeneous or heterogeneous networks.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
An apparatus and method for dynamic assignment of classes of traffic to a priority queue. Bandwidth consumption by one or…
Embodiments of the invention provide a portable device comprising at least one processor. The portable device also comprises a memory…
A Grid Proxy Architecture for Network Resources (GPAN) is proposed to allow Grid applications to access resources shared in communication…
A network element (NE) includes an intelligent interface (II) with its own operating environment rendering it active during the NE…
A method and apparatus has been shown and described which allows Quality of Service to be controlled at a temporal…
The invention provides a system and method for providing security against unauthorized access to a java enabled network device. The…