Information smuggling

(re)using redundant fields in an existing protocol stack beyond its initial intent to carry information while hiding it, if possible

using fixed reserved fields (0x00, magic number, etc.)
could break conformity, as well as being pretty obvious

using optional extended fields
in conformity with the standards, though, doing so could introduce new characteristics into the traffic, making our "extra bits of information" somehow noticeable

using discretionary fields (e.g. seq/window size in the TCP header)
in accordance with standards, without bringing in any recognisable characteristics(at least at the packet level), this way seems to be the most graceful one among others mentioned above