click below
click below
Normal Size Small Size show me how
Network #11
From 5.1 [transport layer]
Term | Definition |
---|---|
Transport layer | Controls the transportation of a message from one process(source node) to another process(destination node). Provides Process-to-Process communication. PDU - Segment. Address - Port number |
Process-to-Process communication | "Process" is an executing instance of a program. Operating systems assign every process a numeric identifier called process ID(PID). One host may have multiple processes for multiple programs |
Port numbers | Identify source and destination processes for a communication |
Well known ports | Range: 0 to 1023. Operating system or admin use |
Registered ports | Range: 1024 to 49151. Network users, processes with no special privileges |
Dynamic ports | Range: 49152 to 65535. No restrictions. Aka ephemeral ports / private ports |
Socket address | The machine's IP address and specific port. Ex: Port num - 23, Host address - 10.10.1.1, Socket address - 10.10.1.1:23 |
Transport Protocols | User Datagram Protocol (UDP) and Transmission Control Protocol(TCP) |
User Datagram Protocol (UDP) | "Connection-less" protocol used for its simplicity and efficiency. Process-to-Process communication using socket address. Each segment is sent independently. No flow, congestion, and error control |
UDP segment | Aka UDP datagram. Made up of UDP header and user data payload. UDP has a fixed header size of 8 bytes, with 4 fields: Source port number, Destination port num, Total length (of the datagram), Checksum |
UDP use cases | For processes requiring request-response communication but not requiring flow and error control. Interactive real-time apps that cannot tolerate jitter (variable delay) in arrival (ex. video calls) and multicasting apps. Not for apps that need reliability |
Transmission Control Protocol(TCP) | "Connection-oriented" protocol that can be used in any app where reliability is important. Controls the logical connection between the hosts. Process-to-Process communication using socket address. Full duplex. Reliable: Error checking, Flow control, etc |
TCP segments | Larger application data is divided into small pieces called segments, and sent sequentially from buffer |
TCP packet | Made up of TCP header and Data. Header is min 20 byte. Fields in the header: Source port num, Destination port num, Sequence num, Acknowledgement num, Control flags, Window size |
Control flags | Used to indicate what type of segment is being sent. Instructs the receiver about how to handle the segment |
TCP connection establishment | Connection, Flow, and Termination. Called Three-way handshaking. The client sends a SYN request, the server respond with a SYN-ACK, and the client finalize with an ACK, confirming both sides are ready to communicate |
Typical TCP apps | Apps that require reliable service (detects lost packets and retransmits). Apps using TCP need to tolerate jitter(variable delay) if retransmission occurred |