Multilayered distributed router architecture
AssigneeAT&T Intellectual Property I, L. P.
InventorRobert Bays
Life of this patent
Estimating the term…
Abstract
A distributed multilayered network routing architecture comprises multiple layers including a controller layer comprising a controller, a control plane layer comprising one or more control plane subsystems, and a data plane layer comprising one or more data plane subsystems. A controller may be coupled to one or more control plane subsystems. A control plane subsystem may in turn be coupled to one or more data plane subsystems, which may include one or more software data plane subsystems and/or hardware data plane subsystems. In certain embodiments, the locations of the various subsystems of a distributed router can be distributed among various devices in the network.
Claims20
A system comprising:
- a control plane subsystem;
- and
- a plurality of data plane subsystems configured to forward data packets, the plurality of data plane subsystems including a first data plane subsystem and a second data plane subsystem;
- wherein the control plane subsystem comprises a processor and a memory storing instructions that, when executed by the processor, cause the processor to perform operations comprising:
- receiving an instruction;
- determining an action based upon the instruction;
- communicating, using a control channel, the action to be performed to the first data plane subsystem and the second data plane subsystem;
- wherein the first data plane subsystem is a software data plane subsystem that comprises a processor and a memory storing instructions that, when executed by the processor, cause the processor to perform processing corresponding to the action;
- and
- wherein the second data plane subsystem is a hardware data plane subsystem comprising forwarding hardware and is configured to perform processing corresponding to the action.
A method comprising:
- receiving, by a control plane subsystem, an instruction;
- determining, by the control plane subsystem, an action based upon the instruction;
- communicating, by the control plane subsystem, using a control channel, the action to a first data plane subsystem that is a software data plane subsystem, wherein communicating the action to the first data plane subsystem causes the first data plane subsystem to perform processing corresponding to the action;
- and
- communicating, by the control plane subsystem, using the control channel, the action to a second data plane subsystem that is a hardware data plane subsystem comprising forwarding hardware, the second data plane subsystem configured to forward data packets causing the second data plane subsystem to perform processing corresponding to the action.
A method, comprising:
- receiving, by a control plane subsystem, an instruction related to a network policy;
- determining, by the control plane subsystem, an action based upon the instruction;
- and
- communicating, by the control plane subsystem, using a control channel, a message corresponding to the action to a first data plane subsystem, wherein communicating the message corresponding to the action to the first data plane subsystem causes the first data plane subsystem to perform operations comprising:
- forwarding a data packet received on an input port of the first data plane subsystem to a second data plane subsystem for performing a first service,
- receiving the data packet from the second data plane subsystem after the second data plane subsystem has performed the first service,
- determining an output port for forwarding the data packet, and
- forwarding the data packet using the output port.
Dependencies are inferred from the claim text.