MUST, SHOULD, DON'T CARE: TCP Conformance in the Wild

02/13/2020
by   Mike Kosek, et al.
0

Standards govern the SHOULD and MUST requirements for protocol implementers for interoperability. In case of TCP that carries the bulk of the Internets' traffic, these requirements are defined in RFCs. While it is known that not all optional features are implemented and nonconformance exists, one would assume that TCP implementations at least conform to the minimum set of MUST requirements. In this paper, we use Internet-wide scans to show how Internet hosts and paths conform to these basic requirements. We uncover a non-negligible set of hosts and paths that do not adhere to even basic requirements. For example, we observe hosts that do not correctly handle checksums and cases of middlebox interference for TCP options. We identify hosts that drop packets when the urgent pointer is set or simply crash. Our publicly available results highlight that conformance to even fundamental protocol requirements should not be taken for granted but instead checked regularly.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/24/2021

Zeroing in on Port 0 Traffic in the Wild

Internet services leverage transport protocol port numbers to specify th...
research
11/18/2021

Parametricity Features and their Requirements

In this note, we discuss a number of parametricity features and what the...
research
04/10/2018

What's (Not) Validating Network Paths: A Survey

Validating network paths taken by packets is critical for a secure Inter...
research
06/15/2019

The Anatomy of Requirements

Requirements engineering is crucial to software development but lacks a ...
research
04/08/2019

New Phenomena in Large-Scale Internet Traffic

The Internet is transforming our society, necessitating a quantitative u...
research
08/30/2023

QUIC Library Hunter: Identifying Server Libraries Across the Internet

The new QUIC protocol can be implemented in user space, and various impl...

Please sign up or login with your details

Forgot password? Click here to reset