In praise of under-specification?


strongly from this concept. Several specific examples came to mind. The Internet Protocol (IP) specification does not contain any information about routing. It specifies what packets look like as they emerge from or arrive at the hosts at the edge of the Internet, but routing is entirely outside of that specification partly because it was not entirely clear what procedures would be used for Internet routing at the time the specification was developed and, indeed, a number of them have been developed over time. There is nothing in the specification that describes the underlying transmission technology nor is there anything in the specification that speaks to how the packet’s payload (a string of bits) is to be interpreted. These matters are open to instantiation independent of the specification of packet formats. Some of the under-specification can be a manifestation of layering that figured strongly in the ARPANET host-host protocols and was carried over in the Internet Protocol suite. The idea is that while there is a well-defined interface between the layers that specifies how information crosses the layer boundary, the details of the layer above or below are hidden. This feature allows for changes in the implementation of and even the characteristics of the upper or lower layer. For example, above the IP layer, one finds a number of different

DOI: 10.1145/3110531

Cite this paper

@article{Cerf2017InPO, title={In praise of under-specification?}, author={Vinton G. Cerf}, journal={Commun. ACM}, year={2017}, volume={60}, pages={7} }