TY - GEN
T1 - Parsing Protocol Standards to Parse Standard Protocols
AU - McQuistin, Stephen
AU - Band, Vivian
AU - Jacob, Dejice
AU - Perkins, Colin
N1 - Publisher Copyright:
© 2020 ACM.
PY - 2020/7/27
Y1 - 2020/7/27
N2 - Internet protocol standards have been slow to adopt formal protocol description languages and methodologies, and are still largely written as English prose. This makes it hard to check them for correctness, or to automatically derive implementations from standards. Reasons for this are both technical and social. Some methodologies effectively describe complex communication patterns, but cannot model protocol data. Others are unnecessarily tied to particular description formats, or use unfamiliar concepts and terminology, and don't address usability by standards developers. We assess the viability of existing approaches to modelling and parsing protocol data, and identify missing features needed to represent emerging protocols. We present a typed protocol representation that can describe: (i) the format of protocol data, including data-dependent formats; (ii) contextual information needed to maintain parser state, where correct parsing may depend on out-of-band information or prior packets; and (iii) transformations and helper functions needed for multi-stage parsing. We discuss social barriers to adoption, and describe a set of principles to encourage use of formal languages within the Internet standards process. We show how to integrate our approach with the existing standards process, using QUIC as an example.
AB - Internet protocol standards have been slow to adopt formal protocol description languages and methodologies, and are still largely written as English prose. This makes it hard to check them for correctness, or to automatically derive implementations from standards. Reasons for this are both technical and social. Some methodologies effectively describe complex communication patterns, but cannot model protocol data. Others are unnecessarily tied to particular description formats, or use unfamiliar concepts and terminology, and don't address usability by standards developers. We assess the viability of existing approaches to modelling and parsing protocol data, and identify missing features needed to represent emerging protocols. We present a typed protocol representation that can describe: (i) the format of protocol data, including data-dependent formats; (ii) contextual information needed to maintain parser state, where correct parsing may depend on out-of-band information or prior packets; and (iii) transformations and helper functions needed for multi-stage parsing. We discuss social barriers to adoption, and describe a set of principles to encourage use of formal languages within the Internet standards process. We show how to integrate our approach with the existing standards process, using QUIC as an example.
UR - http://www.scopus.com/inward/record.url?scp=85095124671&partnerID=8YFLogxK
U2 - 10.1145/3404868.3406671
DO - 10.1145/3404868.3406671
M3 - Conference contribution
AN - SCOPUS:85095124671
T3 - ANRW 2020 - Proceedings of the 2020 Applied Networking Research Workshop
SP - 25
EP - 31
BT - ANRW 2020 - Proceedings of the 2020 Applied Networking Research Workshop
PB - ACM
T2 - 2020 Applied Networking Research Workshop, ANRW 2020
Y2 - 27 July 2020 through 30 July 2020
ER -