Transport Layer Flashcards
What are the differences between connectionless and connection-oriented transport?
Connectionless:
- Fast and simple communication
- No connection setup
- Limited error control (simple checksums)
- No flow control
Connection-oriented:
- Reliable communication
- Separation of concerns
- 3 phases: Establishment, data transfer and release
What’s the difference between the data link layer and the transport layer?
The data link layer provides communication between two hosts on the same physical link, while hosts at the transport layer may be seperated by a whole network.
Discuss addressing
Transport Service Access Points define an end-point for transport layer traffic. These are necessary, because processes on the same host may exchange data. In the Initial Connection Protocol a process server listens for connections on TSAPs.
Discuss connection management
Transport layer protocols operate over a network, so the segments are part of network layer packets. There are different end-to-end paths through the network, one faster than the other. This causes packets to be received out of order. A bounded packet lifetime is added to each packet to know for sure that a packet is lost or that it took a slower path. A sequence number is also added for duplicate detection.
Discuss error control
By putting the transferred data into a hash function, we get a simple checksum to see whether or not the data has been corrupted. If the data is corrupted, the hash function will return a different value than the original checksum.
We know that packets are received when the sender receives an acknowledgement for that packet.
Discuss Stop-and-Wait
The window size of the sender is equal to 1. It stores the latest segment until an ACK for that segment is received. The receiver stores the next segment it wants to receive. When the sender doesn’t receive an acknowledgement in time, a timeout occurs. The last segment will be resent until an acknowledgement is received. Stop-and-Wait can be optimized for bidirectional connections by sending data segments and acknowledgements at once. The downside of Stop-and-Wait is the high roundtrip time compared to speed.
Discuss Go-Back-N
Window size sender is N, size of receiver remains 1. The sender can send multiple segments in one roundtrip. The sender window starts sliding when ACKs are received. Let’s assume we send out segments 0, 1 and 2. If we receive ACK 2 before ACK 0 and ACK 1, we still know that the receiver received segments 0 and 1. Otherwise, segment 2 would’ve been discarded. This is called cumulative acknowledgements. When the ACK of a certain segment isn’t received before the segment timer runs out, that segment and all the following ones in the current sender window are retransmitted. The downside of Go-Back-N is the repeated transmission of received packets.
Discuss Selective Repeat
Now the sender AND the receiver have a buffer. This means that the receiver can receive packets out of order. If the acknowledgement of a packet isn’t received before the packet timer runs out, the packet gets retransmitted individually. The window size has to be equal to or less than half of the size of our sequence numbers. Otherwise, the receiver could accept duplicate segments.
Why can’t we use all available bandwidth while transmitting?
When we use almost all of the bandwidth, bursts of higher traffic cause losses in network buffers. These losses cause more retransmissions, initiating congestion collapse.
Discuss convergence in congestion control
Any approach to fair allocation must converge quickly to the ideal operating point. TCP uses Additive Increas Multiple Decrease. This gives a saw-tooth fashion convergence. It is easy to drive the network into congestion, but it’s difficult to recover.
Discuss UDP
Connectionless transfer protocol, avoiding connection overhead while transmitting segments. UDP also provides ports and checksums. These checksums are end-to-end, which is impossible in the network layer. However, there is no flow and congestion control. There is also no ordering of the sent data.
Discuss the working of RTP
The Real-time Transfer Protocol takes multimedia streams and multiplexes them. The different streams need to be synchronized so that the order of the streams at the receiving side is the same as at the sending side. RTP transmits packets over UDP because multicast is critical for efficient media distribution. Since RTP uses UDP, it can be seen as an application protocol.
Discuss the working of RTP
The Real-time Transfer Protocol takes multimedia streams and multiplexes them. The different streams need to be synchronized so that the order of the streams at the receiving side is the same as at the sending side. RTP transmits packets over UDP.
Discuss jitter
Packets can take multiple paths to end up at the receiver. This results in out of order packets and a variable delay between sender and receiver. This variability of delay has a big impact on the quality of the stream. To minimize the effect, a buffer is used to store the received packets. If the delay is too long, the buffer needs te be bigger of the packet needs to be dropped.
What is the Modifying Playback Point?
The playback point determines how long to wait at the receiver before playing incoming RTP packets. If this playback point is too long, an unnecessary high delay can occur. If it’s too short, a lot of packets will get lost.