ACM SIGCOMM Computer Communication Review · 2005 · 24 citations · 15 references
ComputingComputer ScienceComputer SystemsDigital CommunicationFormal MethodsNetwork SecurityInternet Protocol SuiteNetwork ArchitectureNetwork ProtocolsProtocol VerificationSpecification LanguagesCommunication ProtocolsImplementation BugsNetwork Protocol ImplementationProtocol DesignProtocol SpecificationProtocol TestingSocketsSpecification-based Testing
Let's aggregate content. Background sentences: - Network protocols are hard to implement correctly. - Despite RFCs etc, implementations often have subtle differences and bugs. - One reason is specifications are informal, hence ambiguous.
Network protocols are hard to implement correctly. Despite the existence of RFCs and other standards, implementations often have subtle differences and bugs. One reason for this is that the specifications are typically informal, and hence inevitably contain ambiguities. Conformance testing against such specifications is challenging.In this paper we present a practical technique for rigorous protocol specification that supports specification-based testing. We have applied it to TCP, UDP, and the Sockets API, developing a detailed 'post-hoc' specification that accurately reflects the behaviour of several existing implementations (FreeBSD 4.6, Linux 2.4.20-8, and Windows XP SP1). The development process uncovered a number of differences between and infelicities in these implementations.Our experience shows for the first time that rigorous specification is feasible for protocols as complex as [email protected] We argue that the technique is also applicable 'pre-hoc', in the design phase of new protocols. We discuss how such a design-for-test approach should influence protocol development, leading to protocol specifications that are both unambiguous and clear, and to high-quality implementations that can be tested directly against those specifications.
15
Automated packet trace analysis of TCP implementations
Vern Paxson · 1997 · 273 citations · Full text
Jitendra Pahdye, Sally Floyd · 2001 · 199 citations · Full text
Model checking large network protocol implementations
Madanlal Musuvathi, Dawson Engler · 2004 · 174 citations
A readable TCP in the Prolac protocol language
Eddie Kohler, M. Frans Kaashoek, David R. Montgomery · 1999 · 68 citations