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?

  • 1
    In 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.
    – rnxrx
    Dec 18, 2016 at 4:28

1 Answer 1


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).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.