Skip to content

Presentation at WRIPE 2013 on the ability of the network to compute

Peter presented our paper on demonstrating the ability of the network to compute at WRIPE 2013. The paper itself is available here. The slides are also available

[db-video id=”i9w2afb0″]

 

Ensuring correct network behavior is hard.  Previous state of the art has demonstrated that analyzing a network containing middleboxes is hard.  In this paper, we show that even using only statically configured switches, and asking the simplest possible question – “Will this concrete packet reach the destination?” – can make the problem intractable.  Moreover, we demonstrate that this is a fundamental property because a network can perform arbitrary computations.  Namely, we show how to emulate the Rule 110 cellular automaton using only basic network switches with simple features such as packet matching, header rewriting and round-robin loadbalancing.  This ultimately means that analyzing dynamic network behavior can be as hard as analyzing an arbitrary program.

Our upcoming HotSDN paper: “OF.CPP: Consistent Packet Processing for OpenFlow”

Our paper titled “OF.CPP: Consistent Packet Processing for OpenFlow” will appear at HotSDN 2013 in Hong Kong. Peter Peresini will present the work. Here is the abstract:

This paper demonstrates a new class of bugs that is likely to occur in enterprise OpenFlow deployments. In particular, step-by-step, reactive establishment of paths can cause network-wide inconsistencies or performance- and space-related inefficiencies. The cause for this behavior is inconsistent packet processing: as the packets travel through the network they do not encounter consistent state at the OpenFlow controller. To mitigate this problem, we propose to use transactional semantics at the controller to achieve consistent packet processing. We detail the challenges in achieving this goal (including the inability to directly apply database techniques), as well as a potentially promising approach. In particular, we envision the use of multi-commit transactions that could provide the necessary serialization and isolation properties without excessively reducing network performance.

SOFT presentation at CoNEXT 2012

Maciej presented our SOFT paper at CoNEXT 2012 in Nice. The paper itself is available here.

[db-video id=”unsxuqj6″]

 

The increasing adoption of Software Defined Networking, and OpenFlow in particular, brings great hope for increasing extensibility and lowering costs of deploying new network functionality.  A key component in these networks is the OpenFlow agent, a piece of software that a switch runs to enable remote programmatic access to its forwarding tables. While testing high-level network functionality, the correct behavior and interoperability of any OpenFlow agent are taken for granted. However, existing tools for testing agents are not exhaustive nor systematic, and only check that the agent’s basic functionality works. In addition, the rapidly changing and sometimes vague OpenFlow specifications can result in multiple implementations that behave differently.

This paper presents SOFT, an approach for testing the interoperability of OpenFlow switches. Our key insight is in automatically identifying the testing inputs that cause different OpenFlow agent implementations to behave inconsistently. To this end, we first symbolically execute each agent under test in isolation to derive which set of inputs causes which behavior. We then crosscheck all distinct behaviors across different agent implementations and evaluate whether a common input subset causes inconsistent behaviors. Our evaluation shows that our tool identified several inconsistencies between the publicly available Reference OpenFlow switch and Open vSwitch implementations.