The invention relates generally to network engineering. More specifically, the invention relates to systems and methods that manage routing information in an IP network using extensible indexing to control the network.
Historically, Internet Protocol (IP) networks managed routes at an aggregate level or at very large subnetworks and could only apply broad-gauge network controls. Today, IP networks operate in data and control planes.
The data plane is the path which IP packets follow as they traverse an IP network. This includes routers and links between routers which carry data traffic. The data plane is organized around paths which are established with the goal of sending a data packet out of any given router on a path that will take it toward the interface(s) that are associated with the destination address of that packet. At any point in time, an IP network's data plane has an understanding of where to forward any packet it receives based primarily on the destination address of that packet.
The control plane is used to exchange routing messages. The routing messages enable the data plane to organize itself in an optimal manner. The control plane allows the data plane to be organized around paths which carry packets from a source to a destination. These paths are composed of numerous forwarding decisions made at each router based on routing messages received from the control plane.
Routers typically contain input ports, output ports, a specialized operating system, memory, and one or more processors. Distributed routers require memory for two purposes besides the operating system itself: storing a routing table which is used to perform routing decisions and program a forwarding table, and storing the forwarding table which is used when making forwarding decisions to forward packets out on particular interfaces. These two functions are critical to the operation of any router employed on an IP network.
For a network router to have complete routing information, every router would have to couple their control plane to every other router (peer with other routers). This is impracticable but in very small networks. This is due to the scalability limits of routers. To compensate, most IP networks use Route Reflectors (RRs) to manage the size of the control plane.
Route reflectors are routers which are dedicated to route exchange only, i.e., they do not pass any customer data packets. Route reflectors operate in the control plane. The route reflectors learn routes by exchanging routing messages from router to router which become route reflector clients. Route reflectors peer with all of the routers in a defined network domain so each has reachability within that defined domain and act as the only gateway for routing information exchange between network domains. FIG. 1 shows a network 101 having data links (solid lines) in the data plane 103 coupling routers R1, R2, R3, R4, R5, R6 (collectively R) and control messages (broken lines) between the routers R and a route reflector RR in the control plane 105. In this network scheme all routing decisions are made based upon route updates exchanged using the route reflector RR.
The challenge for network operators is to improve routing efficiency. In order to achieve this, a system and method is needed that allows for the dynamic management of routes by applying network controls to subnets based on dynamic network conditions.