SDN programmability theoretical and standardization aspects
SDN research directions as outlined in IRTF RG [1] outlines i) The need for more flexibility and programmability at the data plane level and ii) The need for higher-level languages for programming together with testing and debugging. There are three fundamental challenges behind these directions (assuming that local function or states can be transformed into network function or states effectively). The first fundamental question is whether the resulting programs should be designed to transform/manipulate network states or manipulate/transform network functions. Hence, we would have basically two choices: either use a programming language that is specialized for state programming or function programming (e.g. Haskell, LISP). The second fundamental challenge is related concurrency as programming states or functions is unlikely to be performed serially (due to the number of interacting states and functions in a "feature-rich" network); in turn, several executions will be required to perform simultaneously, and potentially interacting with each other. The last fundamental challenge is related the on-line verification of the execution of the programs manipulating network states or functions. This last challenge may be overlooked but one should consider that it will be almost impossible to build and/or anticipate at design-time a complete set of primitives to transform/manipulate all the states or functions that network programmers would like to operate on. After detailing these fundamental challenges, the paper will outline the main alternatives to possible address them along with the underlying but inevitable design and performance trade-offs. For each of them, this paper will evaluate the related standardisation aspects, in particular, 1) the identification of the programming components and interfaces to ensure interoperability, 2) the possible roles of standardization bodies and their impact 3) the definition of a standardization approach to enable the deployment of the proposed technologies. [1] D.Meyer, Research Directions in SDN, SDNRG Meeting, Atlanta (GA), USA, Nov.2012