In different wire protocols there is often a set of reserved bits that must be set to 0 or else the connection is ended. What is the purpose of such reserved bits? When was the last time these were actually used in 'future'? If other machine is going to end the connection on it being non-zero, how is it going to be backwards compatible in the future then?
-
1In the RFC's some reserved bits are defined as MUST be zero and others less stringently. In the latter case the use of these bits is sometimes taken on first by vendor extensions that are later merged back in as a newer version of a given protocol. It's also worth noting that the credo for protocol implementations is to be incredibly strict with what you transmit but permissive with what you receive - which means that many implementations could overlook the non-zero value even if they don't use it themselves.– rnxrxCommented Dec 18, 2016 at 4:28
Add a comment
|
1 Answer
The reserved bits are so that the protocol can gain additional features in the future. This happens every once in a while.
For example, off the top of my head I know that the original IPv6 multicast protocol (RFC 3306) called for four flag bits (00PT
), the first two of which were reserved. A more recent RFC (RFC 3956) updated this to use one of the reserved bits to indicate the presence of an embedded RP address (0RPT
).