Definition: SDN: Software Defined Networks
“SDN Complexity and Reality” by Russ White and Shawn Zandi, was published on page 31 of The Internet Protocol Journal, November 2016 (Volume 19, Number 3). You can download ipj19-3.pdf at http://ipj.dreamhosters.com/.
In the article, White and Zandi, examine the original three crucial elements to the SDN story:
First, SDNs were supposed to remove the intelligence from the distributed control planes and consolidate that intelligence in a centralized controller.
Second, SDNs were supposed to provide a more granular level of control – down to the flow level.
Third, SDNs would enable the network to be programmable…
White and Zandi point out the challenges and issues arising from these three elements.
I would like to propose an additional challenge that was not addressed in the article: network partitioning and subsequent re-joining. In other words, I am focusing on the challenges that SDN networks face when a network splits into two or more parts that may eventually fuse back together.
As the article points out, one of the elements of SDN is the concentration of control plane “intelligence” into one or more control points (not unlike many of the network systems of the 1970’s, such as IBM SNA, and the optimized path calculating traffic-engineering engines used by ATM and MPLS networks.)
In SDN, a network may become partitioned when the one or more of the configured paths fails — even if there might be other physical paths that exist and are potentially usable but which have not been used by the SDN control plane.
When a network partitions, some switching elements will become isolated from the SDN control point. This may leave switching elements isolated without a viable path to reach an SDN control point. And even if there are multiple control points and there fortuitously is at least one control point in each of the partitions, those control points have lost the ability to co-ordinate with one another. Even elements that are in the same partition could lose communication if the path defined by SDN prior to the partition, perhaps for traffic optimization or some other reason, was routed across what would become one of the partition fracture lines.
The chaos of partitioning can be exacerbated when the partitioned network heals: Local actions by SDN controllers during the partition will have to be discovered and reconciled. This can be made more complex if the healing occurs, as it often does, in fits and starts, over a period of time.
I thank the authors for creating this valuable paper and providing guidance to network operators considering a move to SDN.