http://www.cs.cmu.edu/~4D/papers/greenberg-ccr05.pdf
the 4D architecture — an extreme design point
today’s data network is surprisingly fragile and difficult to manage. the root of these problems lies in the complexity of the control and management planes — the software and protocols coordinating network elements — the way the decision logic and the distributed-system issues are inexorably inter-winded.
e.g., a traffic-engineering objective could be stated as “keep all links below 70% utilization, even under single-link failures.” e.g., do not allow hosts in subnet A to access accounting servers in subnet B
the decision plane implements logic that converts network-wide views and network-wide objectives into directives for the data plane
an ambitious goal is to create a language or notion for expressing network-level objectives
e.g.,
Traffic engineering : Given a network topology and traffic ma- trix, compute a forwarding graph — a forwarding-table entry for each destination prefix at each router — that minimizes an objective function, such as the maximum link utilization.e.g.,
Reachability policies : Given a network topology, a traffic matrix, and a reachability matrix, compute a forwarding graph and packet filters that minimize an objective function, while satisfying the reachability constraintse
Planned maintenance : Given a network topology, a traffic matrix, and a planned event to disable certain equipment, compute a sequence of changes to the forwarding graph to avoid using the routers and links undergoing maintenance.
Independent decision elements (DEs) operate independently, without any explicit coordination. A network element resolves commands from different DEs based on static priorities and/or a timeout mechanism. Initial studies in the context of BGP routing suggest that this approach is viable 1,
[12] M. Caesar, D. Caldwell, N. Feamster, J. Rexford, A. Shaikh, and Jacobus van der Merwe, Design and implementation of a Routing Control Platform in Proc. Networked Systems Design and Implementation, May 2005. ↩