Software-Defined Networking

Software-Defined Networking

Topic home

Computer Networks
 Topics
 Tools

Publications:
 By type
 By year

Software-Defined Networking

    Research directions on a cutting-edge approach to networking.

    Software-Defined Networking (SDN) is a paradigm that advocates more flexibility and control on the behavior of network devices. It enforces a true separation between the data plane and the control plane: network devices are in charge of accomplishing the former, whereas a suitable piece of software, generally executed on a separate device, implements the logic for the latter.

    SDN-enabled network devices (datapaths) expose an interface by which their behavior con be fully programmed. A controller installs flow entries on each datapath, thus specifying how that datapath should handle network traffic. A flow entry matches an incoming packet on header field values and, upon successful match, undertakes actions on that packet (forward, drop, header modification, etc.). If a datapath has no matching flow entries for a specific packet, it forwards the packet to the controller, waiting for instructions about the action to undertake.

    The most popular and widely adopted realization of SDN is OpenFlow, an open specification that includes a protocol for the communication between controller and datapaths. Basically every implementation of a software SDN switch is OpenFlow-compliant, hardware vendors are progressively adhering to the specification, and even proprietary SDN implementations usually offer OpenFlow compatibility modules.

    SDNS: Exploiting SDN and the DNS to Allow Communication in Federated Networks

    A federated network is an ensemble of interconnected infrastructures managed by independent, yet cooperating partners. Federations are strongly based on resource sharing, which is pursued in order to optimize their usage, improve the quality of the offered services, and reduce provisioning costs.

    Supporting communication among federated parties is one of the fundamental issues in establishing a federated network: the involved networks often have a private IP addressing plan and are connected by a simple IP-based infrastructure. It happens that those private IP addresses can overlap, preventing end hosts to have a communication channel. The goal of SDNS is to allow the communication in such situations, by interacting with the DNS, in order to suitably manipulate DNS packets, thus overcoming limitations imposed by traditional protocols.

    We are working on a prototype implementation of the SDNS controller which implements our approach, based on the Ryu framework. As new versions are released, we will make them available at the following link, along with usage instructions.

    Download our SDNS controller for interacting with the DNS in federated networks

    SDNS controller, release 1.0 (19 Jan 2017)
    (requires Netkit)

    Usage instructions
    How to install Netkit
    How to customize topologies

    Testing Commercially Available Datapaths for SDN Readiness

    Despite the fervent interest around SDN and the growing activity of the research as well the operational community in the field, there is limited awareness of the true applicability of innovative SDN-based architectures and approaches on currently available SDN-enabled hardware. We fill this gap by defining a comprehensive device testing methodology and by applying it to a set of hardware datapaths manufactured by major vendors which have a prominent position on the market (unfortunately, due to NDA constraints, we cannot reveal their names).

    More details about our methodology, as well as a list of the tests it comprises, can be found in a dedicated page.

    SDN-based Communication in Federated Networks

    A federated network is an ensemble of interconnected infrastructures managed by independent, yet cooperating partners. Federations are strongly based on resource sharing, which is pursued in order to optimize their usage, improve the quality of the offered services, and reduce provisioning costs.

    Supporting communication among federated parties is one of the fundamental issues in establishing a federated network: the involved networks often have a private IP addressing plan and are connected by a simple IP-based infrastructure. As one of our research goals, we are working on an SDN-based approach that can support such communication with a very little setup effort, and without adding any dependencies on specific technologies. Our approach leverages Network Address and Port Translation (NAPT), thus being fully compatible with IP networks, and requires limited exchange of information among the SDN controllers managed by different federated parties, thus reducing the latency in setting up communication channels.

    We are working on a prototype implementation of an SDN controller which implements our approach, based on the Ryu framework. As new versions are released, we will make them available at the following link, along with usage instructions.

    Download our SDN controller for supporting communication in federated networks

    SDN controller, release 1.1 (06 Oct 2015) – changelog
    (requires MiniNExT and Ryu)

    Usage instructions

    MPLS VPNs and SDN

    Multi Protocol Label Switching (MPLS) Virtual Private Networks (VPNs) are an extremely successful realization of a service by which Internet Service Providers (ISPs) can interconnect geographically dispersed sites of their customers. Their setup is notoriously difficult, because it involves a lot of interplaying technologies. This makes provisioning, configuration, management, and troubleshooting of VPNs very hard tasks for administrators.

    Our research aims at simplifying these tasks by taking advantage of SDN. We propose a reimplementation of MPLS VPNs which, besides supporting the same features currently offered by VPNs, introduces an extremely simple setup interface, augments the flexibility of configuration, and improves controllability and predictability of network behaviors.

    The first output of this research is an SDN controller that realizes an alternative MPLS VPNs fulfilling the above requirements. For the benefit of the community, we make a prototype implementation of our controller available for download in the form of a ready-to-use virtual machine. The implementation is based on the Ryu SDN framework, works in conjunction with the software switch Open vSwitch (any other OpenFlow 1.1-compliant switch is equally fine), and can be run in the network virtualization platform Mininet. All these components are included in the virtual machine.

    Download the software for experimenting with our SDN-based VPN architecture

    SDN controller (~40KB, last update: 20 Oct 2014)
    Virtual appliance with all the required software tools (1.7GB, last update: 20 Oct 2014)

    Getting started
    How to customize topologies and VPN configurations

    Useful links