Du hast recht, ip kann einem mit seinem blocks ganzschön freude machen.
Ich selbst empfehle die Kombination Länge(short)/Data (um transparente Daten zuzulassen). Das tun auch viele andere, manche nehmen auch 32-bit längen, scheint mir aber überdrüber.
Start-Stop zeichen verwendet bei Ip keiner, den ich kenne (also nicht professionell, sonst weiss ich nix, ja, eventuell EDI)

Das zusammenschustern von den Daten beim receive muß halt so oder so immer gemacht werden, die Exception-behandlung aber auch, was soll's

EDIT
Achja, die ganzen Internet geschichten gibt's auch noch, aber das ist nicht für transparente daten