Dr. Alexios Louridas
Guarantee Message Delivery
Deliver order of messages
Support arbitrarily message sizes
Support multiple application processes
Synchronisation between hosts
Message dropping
Message reordering
Duplicate messages
Message sizes
Delays
UDP Segments may be lost or delivered out of order.
No Handshaking required. Each UDP segment is independent from each other.
Reliability transferred in application layer.
Biderectional data flow and maximum segment size (MSS)
Handshaking required. Establish connection before data can be send.
Flow control and reliable.
Flow control in TCP is achieved through a technique called "sliding window."
The sender maintains a buffer of data that it wants to transmit. As the data is transmitted, the sender adjusts the size of the window based on the number of bytes that have been acknowledged by the receiver. If the receiver cannot handle the data, it will reduce the size of the window, causing the sender to slow down its transmission rate.
Slow start: TCP uses a slow start mechanism to gradually increase the amount of data sent over the network.
Congestion avoidance: TCP uses a congestion avoidance mechanism to detect and respond to congestion on the network. This mechanism is based on the detection of packet loss and the adjustment of the sender's transmission rate.
Congestion window: TCP uses a dynamic congestion window to limit the amount of data that can be sent over the network at any given time.
Fast retransmit and recovery: TCP uses a fast retransmit and recovery mechanism to quickly retransmit lost packets and recover from packet loss. Reduces duplicates.
Explicit congestion notification (ECN): TCP uses ECN to provide early notification of network congestion. ECN allows routers to mark packets with a congestion indication, which the receiver can use to adjust the sender's transmission rate.
Checksums
Acknowledgments
Retransmission
Flow control
Congestion control