+-----------------------------------+-----------------------------------+ | | | | 16-bit source port number | 16-bit destination port number | | | | +-----------------------------------+-----------------------------------+ | | | 32-bit sequence number | | | +-----------------------------------------------------------------------+ | | | 32-bit acknowledgement number | | | +--------+--------------+-+-+-+-+-+-+-----------------------------------+ | 4-bit | reserved |U|A|P|R|S|F| | | header | |R|C|S|S|Y|I| 16-bit window size | | length | 6 bits |G|K|H|T|N|N| | +--------+--------------+-+-+-+-+-+-+-----------------------------------+ | | | | 16-bit checksum | 16-bit urgent pointer | | | | +-----------------------------------+-----------------------------------+ | | / options (if any) / | | +-----------------------------------------------------------------------+ | | | | / / \ data \ / / | | | | +-----------------------------------------------------------------------+