1. 10

  2. 4

    Can someone here actually explain SDN? The Wikipedia page is filled with incomprehensible marketing fluff. I mean, “an architecture purporting to be dynamic, manageable, cost-effective, and adaptable, seeking to be suitable for the high-bandwidth, dynamic nature of today’s applications”, seriously?

    The ZodiacFX page says:

    […] I Have Complete Control of EVERY Byte in EVERY Packet. I could now create my own applications to do NAT, Load Balance connections, redirect packets to an Intrusion Detection System and so much more…

    But… I get that control on any machine with network cards and a modern unix.

    Is the whole point just like, doing that but with Very Efficient Hardware™ instead of regular computers that have the overhead of PCIe and a complex CPU running a complex OS?

    1. 5

      Yeah, there’s a lot of marketing fluff, and SDN seems to mean more of a family of approaches than something precise. The main characteristic of SDN as I think of it is that you “make programmable” various things that would have been a fixed layer or protocol of a more conventionally run network. Things like BGP and TCP being different protocols at different layers of a network stack, MAC addresses and LAN and WAN networks being different things, etc., can be treated as merely conventions rather than physical requirements.

      If you look at networking from the perspective of all these layers and protocols being conventions to help with organizing bits on wires exchanged by (mostly) peers, the general tendency of SDN is to flatten the layers and centralize control of the exchanges. Given enough computing power and control over our infrastructure, the SDN philosophy is that we can directly program which bits we want to go on which wires for maximally efficient operation, rather than restricting ourselves to these different abstraction layers and peer-negotiation conventions.

      I’ve personally found this ACM Queue article useful.