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

Mike Kosek, Leo Blöcher, Jan Rüth, Torsten Zimmermann, Oliver Hohlfeld
2020 Lecture Notes in Computer Science  
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
more » ... irements. 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.
doi:10.1007/978-3-030-44081-7_8 fatcat:6agtloamvzblvh2msdbawgkwbi