Protocol Header Design 101

We cover some theory and elicit some recommendations for networking protocol design especially with regards to protocol headers