A Journey to SDN

Software Defined Networking, or SDN for short, is one of those buzzwords that is a bit difficult to understand and put into context. When one hears the acronym for the first time, one might wonder what this is all about. After all, a network represents the hardware that connects devices and not the software. But this first thought obviously misses the word ‘defined’ in the acronym.

The idea behind SDN is that instead of configuring each router in the network manually, one has a central instance on which the complete network is planned and configured. Once done and tested, the configuration can then pushed from a central point to all network components. No need to ‘ssh’ into individual routers anymore to make configuration changes like in the past. In other words, SDN is a new way of configuring routers and switches in a network and making changes later-on.

Still, that sounds quite abstract and a real example would come in handy to better understand the concept and its implementation. I recently came across this video by Ulf Fischer, recorded at DENOG12 late last year, that gives a good example of how a traditional network in a company was replaced by new network components that are configured the SDN way. And it’s really interesting to see how that works in this example: The configuration is done in a central place and pushed to a git repository. A deployment pipeline software (no, not Jenkins…) automatically fetches the configuration from the git server, tests it in a virtual testbed, and finally deploys the configuration in the live network.