The base of networks today is made of concepts that have not changed in 20 years and are hard to change. Network researchers have a hard time carrying out new ideas, as the network devices are only open for their manufacturer. Such a concept prevents researchers to develop new ideas and implement them on a production network, leaving them with the option of software based implementations, or the need to create their own prototype equipment.
The Software Defined Networking concept overcomes this necessity of open hardware and proposes a way for equipment manufacturers to keep their devices closed but also enables researchers to implement their own ideas easier. To achieve this, the OpenFlow protocol – a Software Defined Networking solution – separates the forwarding and the controlling plane to separate network elements. It leaves the forwarding plane for the manufacturers with standardized access through the OpenFlow protocol and letting the researchers writing their own controller functions. Such a solution has great promises, but it still isn’t mature enough to handle a production size network.
In my thesis I present the Software Defined Networking concept and it’s most important representatives: the ForCES and OpenFlow protocol. I also discuss the need for a production network scale operating system for Software Defined Networking and propose the use of declarative network languages to produce consistent policies throughout the network, such as Frenetic and Nettle. I identify the most important features needed in such a network and implement an important part of this concept, which generates networking policies. To achieve this I use the OpenFlow protocol and the Frenetic network definition language and implement a controlling point where the entire network could be controlled.