5.1 – Introduction
- We’ll see how the forwarding and flow tables inside routers are computed, there’s two different ways to do it:
- Per-router control:
- A routing algorithm runs in each and every router; both a forwarding and a routing function are contained within each router. Each router has a routing component that communicates with the routing components in other routers to compute the values for its forwarding table.
- The OSPF and BGP proctols are based on this per-router approach.
- Logically Centralized control:
- Logically centralized controller computes and distributes the forwarding table to be used by each and every router. The generalized math-plus-action abstraction allows the router to perform traditional IP forwarding as well as a rich set of other functions that had been previously implemented in separated middleboxes.
- The controller interacts with a control agent (CA) in each of the routers via a well-defined protocol to configure and manage that router’s flow table. Typically the CA has minimum functionality: its job is to communicate with the controller, and to do as the controller commands.
- The CA do not directly interact with each other nor do they actively take part in computing the forwarding table.
- By “logically centralized” we mean that the routing control service is accessed as if it were a single central service point, even though the service is accessed as if it were a single central service point, even though the service is likely to be implemented via multiple servers for fault-tolerance, and performance scalability reasons.