Skip to Main Content
Frequently Asked Questions
Submit an ETD
Global Search Box
Need Help?
Keyword Search
Participating Institutions
Advanced Search
School Logo
Files
File List
NguyenH.the (final).pdf (757.04 KB)
ETD Abstract Container
Abstract Header
Steve - A Programming Language for Packet Processing
Author Info
Nguyen, Hoang Vinh
Permalink:
http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307
Abstract Details
Year and Degree
2016, Master of Science, University of Akron, Computer Science.
Abstract
Software-defined networking (SDN) aims to make network switches programmable to enable a class of intelligent networking applications that can automate network flow direction in ways that conventional switches cannot. We present Steve, a protocol-independent, domain-specific language (DSL) for writing these networking applications on SDN devices. Steve provides high-level language features for expressing protocol structure, decoding rules, forwarding decisions, packet manipulation, and event handling for reactive non-distributed control planes. These features define a packet processing pipeline -- the algorithm used to make forwarding decisions. Steve solves two issues in SDN language development: safe packet access and safe pipeline composition. Vulnerabilities in an application running a network switch can be disastrous, therefore the Steve compiler is designed to catch potential errors. Steve uses a type and constraints system which enforces these safety guarantees. To verify our work, we produced a Steve language compiler which implements these safety guarantees. We also present four compilable Steve applications: a MAC and IPv4 learning switch, a stateless firewall, and a wire. These applications are tested with a runtime environment which provides Steve access to switch resources.
Committee
Andrew Sutton, Dr. (Advisor)
Kathy Liszka, Dr. (Committee Member)
Michael Collard, Dr. (Committee Member)
Pages
187 p.
Subject Headings
Computer Science
Keywords
software-defined networking
;
compiler
;
programming language
;
network switches
Recommended Citations
Refworks
Refworks
EndNote
EndNote
RIS
RIS
Mendeley
Mendeley
Citations
Nguyen, H. V. (2016).
Steve - A Programming Language for Packet Processing
[Master's thesis, University of Akron]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307
APA Style (7th edition)
Nguyen, Hoang.
Steve - A Programming Language for Packet Processing.
2016. University of Akron, Master's thesis.
OhioLINK Electronic Theses and Dissertations Center
, http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307.
MLA Style (8th edition)
Nguyen, Hoang. "Steve - A Programming Language for Packet Processing." Master's thesis, University of Akron, 2016. http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307
Chicago Manual of Style (17th edition)
Abstract Footer
Document number:
akron1467985307
Download Count:
573
Copyright Info
© 2016, all rights reserved.
This open access ETD is published by University of Akron and OhioLINK.
Release 3.2.12