These are some of the basic protocol techniques that are used in lower layer protocols.
They are often reused in higher level protocols.