Browsing by Subject "OpenFlow"
Now showing 1 - 3 of 3
Results Per Page
Sort Options
Item Design, Conformance Verification, and Performance Evaluation of OpenFlow Message Layer(2014-05-08) Wang, DaoqiThe message layer is a critical part of a network protocol stack. The quality of the protocol implementation is closely tied to that of the message layer. The responsibilities of the message layer include conversion between binaries from the network interface and message structures in the device memory, along with validation of these messages. Design and implementation of the message layer pose major challenges, especially for modern protocols that have complex message structures. Poor design choices and errors in the implementation lead to safety issues, performance inefficiencies, and expose vulnerabilities, opening door to potential exploitations and attacks. In this thesis we develop a systematic approach to design and implementation of efficient and correct-by-construction message layer components of the protocol stack. To achieve this goal, we identify some common design trade-off s and evaluate their impacts on performance and/or safety using the OpenFlow protocol as a case study. A performance benchmarking framework leveraging existing tools is developed to conduct these evaluations. Furthermore, the thesis develops a framework for conformance verification. The conformance framework proposes a methodology that generates test messages to identify vulnerabilities in the message layer. In particular, we present an algorithm that minimizes the number of required test messages by exploiting the structure of the message format. A safe message layer is developed as part of the Flowgrammmable OpenFlow stack. Flowgrammable and several existing OpenFlow stack implementations, such as Beacon Controller and CPqD Soft Switch, are evaluated using both proposed conformance and performance frameworks. It is shown that unlike Flowgrammable, implementations of Beacon and CPqD Soft Switch message layer contain conformance violations. Furthermore, design choices such as omitting semantic checking, inlining small and frequently used functions, and header optimization can yield performance gain in protocol stack implementations. The work can be extended by automating the message layer implementation and testing by using a programming language approach. Even though OpenFlow is used as an example, the work can be applied to improve the performance and level of conformance in other network protocols as well. This thesis intends to help developers take a more systematic approach and make better design choices in implementing a conformant message layer for a broad range of network protocols.Item Mobileflow: Applying SDN to Mobility in Wireless Networks(2014-08-10) Al-Shaikhli, RaghdahWireless technology has become an increasingly popular way for network access. Wireless networks provide efficient, reliable service; supporting a broad range of emerging applications including multimedia streaming and video conferencing. Currently, there are two dominant technologies for providing wireless network access: cellular broadband networks and wireless local area networks (Wi-Fi). Cellular networks offer ubiquitous coverage, high reliability, and support mobility; yet such networks require expensive specialized equipment and expensive spectrum bands. In contrast, Wi-Fi networks utilize unlicensed frequency bands; relying on commodity equipment. As a result, Wi-Fi infrastructure operational costs are lower than cellular network costs. Wi-Fi networks however, have limited coverage, do not support mobility, and are less reliable than cellular networks. Recently, software-defined-networking architectures are gaining interest. The Software-Defined Networking (SDN) approach separates control (forwarding decisions) and data plane (packet processing). This approach provides an abstraction of a network switch and an interface for manipulating this abstraction with clear semantics. The SDN approach enables applications to control underlying network services without knowing the low-level details of specific network equipment. Thus, this approach allows network programming by modifying the behavior of the routers and switches to meet network application requirements. This thesis introduces a reference architecture that supports user mobility through integration of the SDN technology into Wi-Fi networks. This project then implements a mobility manager application on top of an SDN controller to handle clients? handoff between access points. It proposes an algorithm for mobility prediction, allowing the network operator to minimize packet loss and delays during handoffs. Algorithm validation uses real data traces from the Texas A&M University network. Trace analysis was conducted to extract mobility patterns to build a prediction model which was implemented as an application in the SDN controller. The approach was tested by measuring packet loss that was decreased by approximately nine times. Collected mobility traces were used to analyze our prediction model performance, whose accuracy reached 65% and 95% when selecting five users with Last-in-First-out scheme with a high- and low-load access point, respectively. This research lays out groundwork for enhancing the functionality of WiFi networks, including mobility support, while maintaining their advantages in terms of lower cost, flexibility, and user of off-the-shelf components.Item Storageflow: An SDN Approach to Storage Networks(2014-08-04) Bose, PradiptaNetwork Attached Storage (NAS) systems have become popular due to their efficiency, ease of use, and ability to protect and restore data. Many NAS implementations provide efficient service and utilize sophisticated techniques such as coding and striping of data to better utilize the available space, provide fast recovery from disk failures and avoid loss of data. Unfortunately, the current architectures are complex and inflexible which necessitates the need to introduce greater flexibility and support for experimentation. Additionally, there is a significant potential to improve the performance of the system by leveraging regenerative coding techniques and by allowing the intermediate network nodes to perform encoding operations. OpenFlow (OF) is a rich SDN protocol that has gained significant popularity in recent years. OpenFlow defines a standard communications interface between the control and forwarding layers of an SDN architecture, as well as the forwarding architecture of a switch. While OpenFlow currently supports only a limited number set of protocols, it has attracted significant attention from both industry as well as research community and has significant potential to be widely adopted by the industry. The key idea of this thesis is to utilize multifunctional SDN-enabled switches that can perform both traditional forwarding operations as well as new encoding operation on the packets. For this purpose, we propose to extend the OpenFlow datapath by enabling the switch to perform encoding operations on select flows upon the request from the controller. Our approach utilizes commodity hardware, which makes it cost-efficient and attractive. In contrast to the traditional approaches which rely on dedicated servers to perform coding and striping operations, our approach has better performance and flexibility, and can be easily customized to serve the requirements of a particular storage scheme. In addition, our approach makes it easier to experiment with new applications, including the use of different encoding schemes by enabling fast prototyping and testing. Since none of the existing SDN protocols (including OpenFlow) provide support for basic storage functions such as striping and coding, we propose several extensions of the OpenFlow protocol to support such functionality as well as encoding operations. The extensions we develop are part of a systematic approach to design an SDN-enabled NAS system. We identify some common design trade-offs and evaluate their impacts on performance and reliability. Furthermore, the thesis presents a forwarding data path extension that uses custom data structures and groups at the switch. This design also effectively reduces required bandwidth and enables traffic engineering and load balancing at network links.