The first eight bytes correspond to the classical UDP header. Then, the Data Offset is placed with the flags and the window field. Placing the Data Offset after the Checksum ensures that a value larger than 0x5 will appear there, which is required for STUN traversal. Then, the sequence numbers and acknowledgment numbers follow. With this translation, the TCP header has been reordered, but starts with a UDP header. The informed reader will have noticed that the URGent pointer has disappeared. This field is rarely used and some middleboxes reset it. This is not a huge loss for most TCP applications.