I would like to understand the typical format table of a network communication message, in the specification of any protocol.
For example ( https://www.ietf.org/rfc/rfc3561.txt ):
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type |R|A| Reserved |Prefix Sz| Hop Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Sequence Number |
What does each column mean? Is it a byte? a bit?
And, what puzzles me even more, I don't know how to interpret the rows. A message is supposed to be linear, one bit after another, so I don't understand how to interpret the rows.
I would also appreciate if you could show me an example of how to implement it in any programming language.