|  | 12.2 | TCP and UDP
| 12.2.1 | TCP

Transmission Control Protocol (TCP) is a connection-oriented Layer 4 (transport layer) protocol that provides reliable full-duplex data transmission. TCP is part of the TCP/IP protocol stack. - Following are the definitions of the fields in the TCP segment:

- source port -- number of the calling port
- destination port -- number of the called port
- sequence number -- number used to ensure correct sequencing of the arriving data
- acknowledgment number - next expected TCP octet
- HLEN -- number of 32-bit words in the header
- reserved -- set to zero
- code bits -- control functions (such as setup and termination of a session)
- window -- number of octets that the sender is willing to accept
- checksum -- calculated checksum of the header and data fields
- urgent pointer -- indicates the end of the urgent data
- option-one option -- maximum TCP segment size
- data -- upper-layer protocol data