In the first post of a four-part series, Andy Pearce, system architect at Wiretap Labs, discusses the initial work behind ONF’s SampleTap application.
In late 2013, ONF approached Wiretap Labs with an interesting request – to create an open-source application based on OpenFlow® and built on OpenDaylight. This project was proposed as an educational process, and ONF was interested in having us document the journey of a traditional network developer into the new world of Software-Defined Networking (SDN), OpenDaylight APIs, and OpenFlow® applications.
Historically, the creation of the enterprise networking infrastructure was achieved using standard protocols like OSPF, BGP, and even spanning tree on local area networks. Through these protocols, networks more or less self-organized, charting the most ideal path through a collection of network devices without any type of centralized oversight or controls. And for those of us writing networked applications, we never gave any thought to the network itself, counting on TCP and IP to just do the right thing once a packet was placed on the wire. Since the arrival of OpenFlow® and SDN, the entire paradigm has now changed, and network developers have significantly increased control over the configuration of the network itself.
SDN is appealing for network applications developers like me because it allows the capabilities of network devices to be accessed remotely and in a fairly unified way. SDN has the potential to transform the network from a collection of discrete devices, each configured individually with files and scripts, into a powerful virtualized platform for developers to use for building innovative applications.
As exciting as this sounds, the full potential of SDN has yet to be realized. We recognized that by sharing my experiences in developing ONF’s application, we could hopefully encourage others to experiment more with OpenFlow.
After taking this project on, I spoke with Wiretap Labs’ Roy Chua to discuss potential applications that we could create. We were inspired by Dan Hersey’s blog post, where he proposes using OpenFlow-capable switches to build a network patch panel, and we wanted to build on this concept to create a network tapping application using OpenDaylight. This tapping application, called SampleTap, could be used by network administrators to troubleshoot network flows and gain better visibility into their networks. The application had the ability to be developed relatively quickly, and it would use several important APIs within the OpenDaylight framework, including the SwitchManager, FlowManager and StatisticsManager interfaces.
It is important to emphasize that ONF’s SampleTap was created to be an educational resource for programmers looking to gain experience with OpenFlow® and OpenDaylight. It is not a commercial product, nor is it meant to be highly scalable or to support features for high-availability. The aim of this exercise was to demonstrate how OpenFlow® can easily be used today to create a low-cost yet highly flexible tap-aggregation solution.
In my next post, I’ll go deeper into the process of designing and modeling SampleTap, including the application requirements, system design, and diagrams that were helpful throughout the project. We are holding a webinar on Friday, April 11 at 10 a.m. PDT as well to discuss the experience. Documentation of the application’s development was critical to us, and I’m excited to share the process. I hope you will join us.
– Andy Pearce, System Architect, Wiretap Labs
Andy Pearce has spent his last 20 years as a software developer and system architect. Most of his career has been spent building high-performance, real-time and embedded systems using communications and networking technology. Andy’s development work has been primarily focused on using C and C++ with a heavy emphasis on STL.
Andy is currently the lead developer and architect for Wiretap Labs, which provides custom development and system architecture services for enterprise customers, specializing in SDN, NFV, cloud-based solutions and network security. Andy spends his days working with clients to help architect cloud and SDN-based solutions.