scispace - formally typeset
Journal ArticleDOI

Packet types: abstract specification of network protocol messages

Peter J. McCann, +1 more
- Vol. 30, Iss: 4, pp 321-333
TLDR
In writing networking code, one is often faced with the task of interpreting a raw buffer according to a standardized packet format, for example, when monitoring network traffic for specific kinds of packets, or when unmarshaling an incoming packet for protocol processing.
Abstract
In writing networking code, one is often faced with the task of interpreting a raw buffer according to a standardized packet format. This is needed, for example, when monitoring network traffic for specific kinds of packets, or when unmarshaling an incoming packet for protocol processing. In such cases, a programmer typically writes C code that understands the grammar of a packet and that also performs any necessary byte-order and alignment adjustments. Because of the complexity of certain protocol formats, and because of the low-level of programming involved, writing such code is usually a cumbersome and error-prone process. Furthermore, code written in this style loses the domain-specific information, viz. the packet format, in its details, making it difficult to maintain.

read more

Citations
More filters
Journal ArticleDOI

P4: programming protocol-independent packet processors

TL;DR: This paper proposes P4 as a strawman proposal for how OpenFlow should evolve in the future, and describes how to use P4 to configure a switch to add a new hierarchical label.
Proceedings ArticleDOI

Shield: vulnerability-driven network filters for preventing known vulnerability exploits

TL;DR: An examination of a sample set of known vulnerabilities suggests that Shield could be used to prevent exploitation of a substantial fraction of the most dangerous ones, and it is shown that this concept is feasible by describing a prototype Shield framework implementation that filters traffic above the transport layer.
Proceedings ArticleDOI

PISCES: A Programmable, Protocol-Independent Software Switch

TL;DR: PISCES is a software switch derived from Open vSwitch (OVS), a hard-wired hypervisor switch whose behavior is customized using P4, and it is shown how the compiler can analyze the high-level specification to optimize forwarding performance.
Proceedings ArticleDOI

binpac: a yacc for writing application protocol parsers

TL;DR: Binpac is presented, a declarative language and compiler designed to simplify the task of constructing robust and efficient semantic analyzers for complex network protocols and can then be used to express application-level analysis of network traffic in high-level terms that are both concise and expressive.
Journal ArticleDOI

PADS: a domain-specific language for processing ad hoc data

TL;DR: From such descriptions, the PADS compiler generates libraries and tools for manipulating the data, including parsing routines, statistical profiling tools, translation programs to produce well-behaved formats such as Xml or those required for loading relational databases, and Tools for running XQueries over raw PADS data sources.
References
More filters
Journal ArticleDOI

The ESTEREL synchronous programming language: design, semantics, implementation

TL;DR: This paper presents the imperative primitives of E esterel and the temporal manipulations they permit, and shows how the E Esterel v2 and V3 compilers efficiently translate concurrent E esteretl programs into efficient equivalent sequential automata that can be implemented in conventional sequential languages.
Journal ArticleDOI

A behavioral notion of subtyping

TL;DR: This paper presents a way of specifying types that makes it convenient to define the subtype relation, and discusses the ramifications of this notion of subtyping on the design of type families.

The BSD packet filter: a new architecture for user-level packet capture

TL;DR: The BSD Packet Filter (BPF) uses a new, register-based filter evaluator that is up to 20 times faster than the original design, and uses a straighforward buffering strategy that makes its overall performance up to 100 times better than Sun's NIT running on the same hardware.
Journal ArticleDOI

The x-Kernel: an architecture for implementing network protocols

TL;DR: The authors' experience implementing and evaluation several protocols in the x-Kernel shows that this architecture is general enough to accommodate a wide range of protocols, yet efficient enough to perform competitively with less-structured operating systems.

XDR: External Data Representation Standard

R. Srinivasan
TL;DR: This document describes the External Data Representation Standard (XDR) protocol as it is currently deployed and accepted.