Protocol ossification


Protocol ossification is a progressive reduction in the flexibility of network protocol design caused by the presence of middleboxes in the network which cannot easily be removed or upgraded to allow protocol changes. An example of this is the presence of firewalls and carrier grade NAT proxies and other middleboxes in the Internet, where over-cautious checking of protocol fields has prevented the use of those fields for future protocol expansion, breaking the end-to-end principle of the Internet architecture.
For example, protocol ossification initially prevented the adoption of TLS 1.3, a problem which was fixed by a workaround which introduced elements into the TLS 1.3 handshake which appeared to middleboxes to be a TLS 1.2 handshake.
Protocol ossification can be avoided by the use of encryption or tunnelling to hide the structure of new protocol extensions from older middleboxes. QUIC is an examples of a protocol which uses encryption to avoid middleboxes.
The Internet Engineering Task Force created the Transport Services Working Group in 2015 as an attempt to address the problem.
GREASE, described in RFC 8701, adds randomly generated unknown options to TLS connections to prevent middleboxes from blocking unknown values. It is an attempt to stop the TLS protocol from "rusting shut" in the future.