Software Defined Networking Flashcards
Label each of the follow as being either a “control plane” or “data plane” protocol, and explain why it is so labeled.
- IS-IS
control – this is used to calculate routes that allow routers to later forward data packets, but does not carry data for any application
- IP
data – the actual IP packets that are forwarded by routers are the packets that contain application data
- UDP
data – similar to b), these UDP packets contain application data
- DHCP
control – this is used to automatically assign IP addresses to end hosts (and sometimes subnet and DNS server locations as well), which is required for that end host to then be able to send and receive data packets, but DHCP messages do not contain any application data themselves
- 802.11 (Wi-Fi)
data – this is a link layer protocol that carries data for applications or higher level protocols (which would be considered “data” by the link layer, even if they are not data at the application layer)
Name some situations/scenarios in which using SDN provides a benefit. Be as specific as you can, and see if you can come up with at least two.
One scenario in which SDN is helpful is when something breaks in the network (at the software/configuration level). Since the control plane is separate and policies are centralized in the SDN controller, it is easier to see the “big picture” of what your network configuration is actually doing and you can find and fix problems more easily. Another scenario is when you want to update your network. Instead of buying all new hardware to get the latest control plane features, you simply update your software in the SDN controller. Similarly, updating policies is easier as you just update the configuration expressed by the DNS controller software, and you don’t have to go around to each network device and update its individual piece of the global policy separately (and hope that you didn’t miss one or accidentally misconfigure one in the process!). Finally, SDN is useful in research or testbed network. Because SDN is flexible, you can create new control techniques or try different policies to experiment with them, without having to build a new piece of hardware that implements the new behavior. This is useful not only because experiments to test new ideas are easier and less expensive, but also because it allows rapid iteration on those ideas if it becomes apparent some further refinement on the idea is needed.
Name some places where network virtualization is useful, and some places where it is not normally especially useful. (See if you can come up with 2 of each.)
Network virtualization is useful in multi tenant data centers (or “the cloud”) in order to provide each tenant with the illusion that they have a private network connecting their servers/Vms, and possibly to allow them some ability to configure their virtual network without affecting other tenants. It is also useful in R&D environments (e.g., universities or anyplace else research is done) in order to isolate networking experiments from the rest of the general-purpose traffic in their enterprise. Thus experimental techniques that be tried without causing problems for the rest of the network. Finally, it is useful in computer networking classes. Similar to the research scenario, we want to try doing some different things that may not be a good idea on the production network in order to learn more about how networking works. Virtualization allows us to try things without breaking the network for everyone else. Other answers may be possible, but these are three major use cases. Network virtualization is generally bad in situations where you can consider it overkill, or where the costs outweigh the benefits. For example your home network connecting to your ISP or the corporate network you use at work are poor candidates for network virtualization. Networks that are highly sensitive to latency are not good candidates. For example systems with system critical cyber-physical devices would likely not be able to trade a layer of virtualization to obtain the flexibility provided. For example, a network of hosts and physical devices used to launch manned space vehicles, conduct air traffic control, control a nuclear reactor, etc. are bad candidates for network virtualization.