Slide 5 of 41
Notes:
In this and the next few slides, we look briefly at the historical development of approaches to encoding, and see how the idea of “tags” emerged.
This first example shows a part of the Internet Protocol (IPv4) specification, and illustrates a form of protocol specification in which pictures of the message are drawn, with numbered bits within a byte and (in this case) four bytes across the page.
All such “notation” (sometimes called bit level definition) is both informal and very unreadable to computers! This makes it almost impossible to provide general-purpose tools to support the implementation of protocols defined in this way.
The approach can work fairly well if all fields are mandatorily present, of fixed length and have no internal structure. It copes much less well if variable length fields are needed, if fields are themselves composed of sub-fields, and if arbitrary many repetitions of fields are needed.
There has always been interest in re-defining such protocols using ASN.1 type definitions, as this describes only the fields carrying application semantics without concern for encoding issues, but until the development of the Packed Encoding Rules, such attempts could never reproduce the bits-on-the-line of the old protocols. With PER it is possible to get close, and with the recent work on an Encoding Control Notation, ASN.1 (and ASN.1 tool) support for these legacy protocols is expected to become possible.