Welcome back. In this lesson, we will be talking about the 4D Network Architecture. We'll talk about the motivation for the 4D Network Architecture and we'll define the 4Ds of the Architecture. We'll also talk about how 4D terminology relates to SDN Today. And we'll look at 4D in the context of several real world network management applications. To understand the 4D architecture, it's helpful to compare the architecture against that of conventional IP routers. We look at how conventional IP routers are managed. We can think of network management in terms of three planes. The control and data planes which we've all ready talked about, as well as a management plane, which constructs a network wide view, and is used to configure the routers to achieve various network wide goals. The control plane that the 4D architecture talks about is a little bit different than the control plane we've been talking about this far. And then it just really is talking about the routing protocols, the track topology changes, compute routes, and then install forwarding tables but isn't really talking about something that would have a network-wide view. So, in that sense, we are talking about a control plane in the strictly conventional sense, something that would just compute routes but not do anything more sophisticated like achieve network-wide management calls. The goal in the 4D routing architecture is to remove or minimize this conventional routing plan. In other words, it's very similar to the goals of the RCA paper, which aims to remove the functions of routing from the routers themselves and move that into a separate software system. The benefits of doing so include faster innovation in network management by moving a lot of the intelligence into software and removing the dependence on vendors in the IETF. Another consequence is simpler management systems. Since instead of inverting control plane operations to figure out what the network is going to do as a result of a particular routing configuration, the network management system can simply directly control the forming table of the network. Interoperability between vendors becomes easier because compatibility is only necessary in the on the wire protocols. For example, a protocol like PGP could be used to control the routers, but as long as the intelligence of figuring out how to populate routing tables is done in software, we have much more flexibility in designing that intelligence. Routers should, hopefully, also be simpler and cheaper since there would be little or no software on the router. We're seeing that kind of trend come to fruition today in the notion of white box switches. One of the realizations of the 4D architecture was that it's actually possible to remove the control plane from the routers. That realization in some sense inspired the open flow movement, which followed the 4D architecture. It's possible to remove this conventional control plane, or the routing intelligence from the routers because control software can run elsewhere. State and computation is reasonable. System overhead can be amortized because a lot of functions are duplicated across routers. The control plane can get easier access to other auxiliary information that it can use to make intelligent decisions about forwarding. In some cases the control, can even move to the end hosts. The 4D architecture has three goals. One is to achieve network level objectives, rather than router level objectives, and network operators should be configuring the entire network to achieve a goal, rather than individual routers. Those goals might include minimizing the maximum link utilization across the network, and ensuring connectivity under all layer two failures. A second goal of the 4D architecture is achieve network wide views. The complete visibility of what's going on in the network allows for more coherent decision making. These views might include views of the network wide traffic matrix, the topology and the status of various equipment across the network. The third goal of the 4D architecture is direct control. The software subsystem that controls forwarding should have direct sole control over data plan operations such as packet forwarding, filtering, marking, and buffering. Here are the 4D plans. At the lowest level we have the data plan, which is exactly as it exists today. The responsibility of the data plan is simply to forward traffic according to what is in the forwarding tables. At the top level, we have the decision plan, which performs all management and control. It's essentially the brains of the network, if you will. It comprises all of the logic. That makes decisions about what should ultimately go in the data plane. In between the decision and the data plane, we have two other planes. One is the dissemination plane that simply a control channel that allows the decision plane to receive a network-wide view from the data plane and to directly control the data plane based on decisions that it makes. In the context of RCP, the dissemination plane is, for example, the BGP routing protocol, which the RCP uses to get a network wide view, as well as to push routing decisions to individual routers. Finally, we have the discovery plane, which allows the decision plane. To discover topology, monitor traffic, and discover other things about the network. The decision plane includes essentially all functions that operate on a view of the entire network, and perform any network level objectives. These include path selection and traffic engineering, reachability control, configuration of VPNs, and so forth. The Dissemination Plane includes all functions that support the creation of a network wide view, such as topology discovery and other measurements. It is also responsible for installing statements of the data plane. The key observation of the 4D Architecture is that good abstractions should reduce complexity or as before the routing protocol contain a lot of complexity and a lot of duplicated function with things that network operators would want to do at higher levels in this so called management plane. In the 4D architecture, the dissemination plane becomes simply a control channel between the decision plane and the data plane. In other words, routing protocols become nothing more than a control channel, and all complex logic resides in the decision plane. Let's look at two network management applications in the context of 4D. In traffic engineering, topology information from the dissemination plane is used to both compute the traffic matrix and to compute the paths that should achieve at the particular network level objective. Traffic engineering also takes traffic load information from the data plane and passes it to the decision plane for help in computing that traffic matrix. Once the resulting tasks are computed, the decision plane uses the dissemination plane to push those decisions back to the data plane. As another example, lets suppose that we want to use access control or some other mechanism to isolate traffic. In this case, we have the same type of interaction as in traffic engineering, but the operator might also specify a reachability matrix, that specifies who should be able to talk to who and who should not be able to talk to who. So in addition to pushing paths, the decision playing might also push axis control lists. The interesting thing about this example is that because the decision plane sees both traffic engineering and access control it can perform decisions that optimize traffic load while still respecting reachability constraints. This is in stark contrast to a conventional network where these configuration options are often performed independently. When reading the 4D paper and some of its motivation, it might be confusing to those of us who are familiar with SDNs terminology of a control plane and a data plane, which is essentially the standard terminology now. The 4D paper talks about eliminating the control plane. Well, SDN still has a control plane, but its not really what the 4D paper was calling as a control plane. What the 4D call a control plane is actually the distributed routing protocols that are implemented across the routers. And what we refer to as a control plane today as is essential what the decision plane is in 4D. In other words, we moved the routing protocols from the distributed routers into a separate software system that can be logically centralized. In terms of the 4D terminology, the dissemination plane still lives on, but we often just call it a control channel. In RCP, the dissemination plane is BGP, and an OpenFlow is something that was originally called secchan. The dissemination plane is nothing more than the control protocol that the control plane uses to talk to the data plane or in 4D terminology the decision plane uses to talk to the data plane. In summary, architecture has four layers: the data plane that processes packets, the discovery plane that collects topology, and traffic information. The dissemination plan that installs packet processing rules and the decision plan where logical centralized controllers convert network wide objectives into the state that handles packet and forwards traffic. The 4D architecture followed on the RCP work as a generalization. And in some sense inspired the entire SDN movement, because others followed up with more general implementations that didn't just focus on routing, but also achieved other network level objectives, and ultimately used other protocols besides routing protocols as the as the dissemination plane.