Clippy(ing) Network Functions: Towards Better Abstractions for Checking and Designing Network Programs

12/28/2018
by   Zeeshan Lakhani, et al.
0

When programming network functions, changes within a packet tend to have consequences---side effects which must be accounted for by network programmers or administrators via arbitrary logic and an innate understanding of dependencies. Examples of this include updating checksums when a packet's contents has been modified or adjusting a payload length field of a IPv6 header if another header is added or updated within a packet. While static-typing captures interface specifications and how packet contents should behave, it does not enforce precise invariants around runtime dependencies like the examples above. Instead, during the design phase of network functions, programmers should be given a easier way to specify checks up front, all without having to account for and keep track of these consequences at each and every step during the development cycle. In keeping with this view, we present a unique approach for adding and generating both static checks and dynamic contracts for specifying and checking packet processing operations. We develop our technique within an existing framework called NetBricks and demonstrate how our approach simplifies and checks common dependent packet and header processing logic that other systems take for granted, all without adding much overhead during development.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/12/2023

Random Segmentation: New Traffic Obfuscation against Packet-Size-Based Side-Channel Attacks

Despite encryption, the packet size is still visible, enabling observers...
research
08/19/2017

Abstractions for Verifying Isolation Properties in Stateful Networks

Modern networks achieve robustness and scalability by maintaining states...
research
01/05/2022

Pythia: Scheduling of Concurrent Network packet Processing Applications on Heterogeneous Devices [EXTENDED VERSION]

Modern commodity computing systems are composed by a number of different...
research
10/07/2019

Voice Packet Performance Estimation through Step Network Using OPNET

VoIP transfer voice over networks such as LAN. This technology is growin...
research
10/06/2018

Eiffel: Efficient and Flexible Software Packet Scheduling

Packet scheduling determines the ordering of packets in a queuing data s...
research
09/30/2021

Self-Adjusting Packet Classification

This paper is motivated by the vision of more efficient packet classific...
research
08/19/2017

Modular Safety Verification for Stateful Networks

Modern networks achieve robustness and scalability by maintaining states...

Please sign up or login with your details

Forgot password? Click here to reset