ACM Comm 2014 10 Abstractions for Software-Defined Networks (Notes)

From University
Jump to: navigation, search
"Reading News with Maps by Exploiting Spatial Synonyms" CACM October 2014

Abstractions for Software-Defined Networks
by Martin Casado, Nate Foster, and Arjun Guha, p.86-95

Abstractions for Software-Defined Networks

"New abstractions are critical for achieving SDN goals."
Main idea in italics
MutantOS is literally a software-defined network where the kernel is broken up among many subprograms.

People

Ideas

  1. Software-Defined Networks (SDN)
    1. Packet-processing functions in a collected standard.
    2. Decouple the software that controls the network from the underlying hardware.
  2. Exposing the network software to all the servers. This makes implementing network wide algorithms possible.
  3. Distributed Updates - Update mechanisms that provide consistency guarantees during periods of transition can simplify the development of dynamic programs.
  4. Modular Composition - Controllers that provide compositional programming interfaces make it easy to specify orthogonal aspects of network behavior in terms of modular components.
  5. Virtualization - Decoupling application logic from the physical topology simplifies programs, ensures isolation, and provides portability.
  6. Formal Verification - Add tools to controller software for automatically checking formal properties.
  7. Network Wide Data Structures - Allow network wide distributed programming much easier than previously.
  8. Updating
    1. The Network needs updating
    2. Packets in transit during a network update are also updated. This can create loops and other network errors.
  9. The SDN servers and routers can each be in a different update state until the whole network converges to the updated state. If the network is distributed to a sufficiently large scale, it may never converge to any single revision state.
  10. Creating a virtual network requires mapping elements in the physical network to elements in the virtual one. Something that now is done by hand.

References

  1. OpenFlow[1]
    1. Rules based.
  2. Network Information Base (NIB)
  3. Spanning Tree[2]
  4. Prim's Algorithm[3]
  5. Paxos Algorithm[4]
  6. FlowVisor[5]
  7. VMware's Network Virtualization Platform (NSX)[6]

Conclusion

Many of the initial efforts around SDN have focused on architectural concerns—making it possible to evolve the network and develop rich applications. But the growth of this new software ecosystem has also led to the development of fundamental new abstractions that exploit the ability to write network control software on standard servers with a less constrained state distribution model. We believe these abstractions are critical for achieving the goals of SDN and may prove to be some of its most lasting legacies.

Internal Links

Parent Article: Reading Notes