Error Control Flashcards
What are the four types of packet errors and what causes them?
Loss - due to uncorrectable bit errors/overflow.
Duplication - same packet received twice.
Insertion - Packet from another convosation received.
Reordering - packets receieved in the wrong order.
How many sequence numbers are needed?
R(T + MPL + A + MPL) = R(T + 2MPL + A)
R - Transmission Rate
T - Time before sender gives up on resending
MPL - Maximum packet lifetime
A - time for which receiver daddles before sending ACK.
What is the packet insertion problem? What are some solutions?
A host can terminate its connection and subsequently create a new one with the same (source IP, dest. IP, source port, dest. port) tuple.
Some solutions are:
- Per-connection incarnation number.
- Reassign port numbers only after 1MPL.
- Assign port numbers serially.
- Assign initial sequence numbers serially.
But all the solutions listed so far require stable storage.
A better solution is to wait 1MPL on startup, so that all previous packets expire.
Why is a three-way handshake used?
This protects against delayed SYNs.
How can we set the timeout value?
Exponentially sample the RTT. Even better is to sample the error as well.
What is Go-Back-N retransmission?
On a timeout, we resumbit the entire error control window. The receiver only accepts in order packets.
What is selective retransmission?
Each ack has a bitmap of received packets, so that the sender can deduce which packets are lost.
What is fast retransmit?
The ack contains the sequence number of the last packet that was recieved in order.
What is SMART?
SMART sends the packet number causing the ACK as well as the last packet receieved in order.