TCP & UDP Operations Notes
Transportation Layer Protocols
- Three main Layer 4 protocols in TCP/IP:
- TCP (Transmission Control Protocol):
- Connection-oriented and reliable.
- UDP (User Datagram Protocol):
- Connectionless and not reliable.
- SCTP (Stream Control Transmission Protocol):
- New protocol designed for reliable transmission over a connectionless network.
TCP Overview
- Reliable host-to-host connection:
- Controls for initiation, flow control, and termination.
- Various revisions exist:
- Slow Start, Reno, Tahoe, Vegas, Compound TCP, BIC/CUBIC.
- Structure of TCP header:
- Source Port, Destination Port
- Sequence number, Acknowledgement number
- Data offset, Checksum, Options
- Window, Urgent Pointer
- Key Fields:
- IHL, Version, Type of Service (TOS), Total Length.
- Identification, Fragment Offset, Time to Live (TTL), Protocol.
- Source Address, Destination Address.
- Important Flags: Do Not Fragment (D), More Fragments (M).
Well-Known Port Numbers (IANA)
- Selected protocols and their corresponding ports:
- UDP:
- Port 53 for DNS
- Port 67 for DHCP
- TCP:
- Port 80 for HTTP
- Port 25 for SMTP
- Port 21 for FTP
- Main fields:
- Sequence Number: Identifier for transmitted segment.
- Acknowledgement Number: Next sequence number expected.
- Data Offset: Where the payload begins.
- Control Flags (1 bit each):
- URG, ACK, PSH, RST, SYN, FIN.
- Window: Number of bytes that can be accepted.
- Checksum: Validates integrity of the segment.
TCP Connection Establishment
- Steps in Establishing a Connection:
- 1. SYN: Request to establish a connection.
- 2. SYN+ACK: Server acknowledges request.
- 3. ACK: Client acknowledges to complete the process.
Terminating a TCP Connection
- Steps in Termination:
- 1. FIN: Client requests to close.
- 2. ACK: Server acknowledges the request.
- 3. FIN: Server requests to close, and the process concludes with ACK.
TCP State Machine
- States involved in TCP connection management:
- CLOSED, LISTEN, SYNRCVD, SYNSENT, ESTABLISHED, FINWAIT1, FINWAIT2, CLOSEWAIT, LASTACK, TIME_WAIT.
UDP Overview
- Characteristics:
- Minimal delivery capabilities, not reliable.
- Lacks robust features such as error checking and flow control.
- Key structure:
- 16-bit Source Port, Destination Port.
- 16-bit Length of the segment, 16-bit Checksum.
Review Points
- Understand basic features of both TCP and UDP, especially why TCP is reliable.
- Familiarize with TCP and UDP headers, their functions, and the differences between their operations.
- Know the reasoning behind the existence of both protocols and their comparison in different applications.