Each TCP (Transmission Control Protocol) packet consists of a header followed by a data field. The header length can vary between 20 and 60 bytes, and the total size of the packet can be up to 65535 bytes. Actually, many systems cannot handle packets as large as the protocol allows, and a working maximum size is 576 bytes.
| TCP Header | Data |
|---|
The header must have 5 words (of 32 bits each) of defined contents, and may have up to 10 more words of optional information.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Source Port | Destination Port | ||||||||||||||||||||||||||||||
| Sequence Number | |||||||||||||||||||||||||||||||
| Acknowledgement Number | |||||||||||||||||||||||||||||||
| Data Offset | Reserved | Flags | Window | ||||||||||||||||||||||||||||
| Checksum | Urgent Pointer | ||||||||||||||||||||||||||||||
| Options | Padding | ||||||||||||||||||||||||||||||
| 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| URG | ACK | EOL | RST | SYN | FIN |
As required to make the header length a multiple of 32 bits.
| IP Packet Structure | Compouter Science Now | |
| Transmission Control Protocol | The Internet Engineering Task Force | |
| Protocol Numbers | IANA | |
| The TCP Protocol | Connected: An Internet Encyclopedia | |
| TCP Protocol Overview | Connected: An Internet Encyclopedia | |
| Decomposition of a TCP Packet | Michael Egan | |
| Internet Protocols | Cisco |
|
copyright 2000-2006, j.h.young, revised 8/23/06 |