Week 6 - Transport Layer & Application Layer Flashcards
What are the two types of transport over IP?
TCP:
- reliable
- controlled rate
- complex
UDP:
- unreliable
- uncontrolled
- simple
What are some of the functions of TCP?
TCP handles the communication after the IP packet has got it to the destination.
What are some of the functions of TCP?
TCP handles the communication after the IP packet has got it to the destination.
What is the 3 way handshake for TCP?
What is full-duplex?
Full-duplex data transmission means that data can be transmitted in both directions on a signal carrier at the same time. For example, on a local area network with a technology that has full-duplex transmission, one workstation can be sending data on the line while another workstation is receiving data. Full-duplex transmission implies a bidirectional line that can move data in both directions simultaneously.
TCP is full-duplex
How does TCP multiplexing work?
What is the Nagle algorithm?
A computer only sends data in a packet when the user writes more than the maximum segment size (MSS), this avoids packets being sent with few bytes.
What is the TCP sliding window?
It is used for flow control. The TCP sliding window determines the number of unacknowledged bytes, x, that one system can send to another. Two factors determine the value of x:
The size of the send buffer on the sending system
The size and available space in the receive buffer on the receiving system
The sending system cannot send more bytes than space that is available in the receive buffer on the receiving system. TCP on the sending system must wait to send more data until all bytes in the current send buffer are acknowledged by TCP on the receiving system.
On the receiving system, TCP stores received data in a receive buffer. TCP acknowledges receipt of the data, and advertises (communicates) a new receive window to the sending system. The receive window represents the number of bytes that are available in the receive buffer. If the receive buffer is full, the receiving system advertises a receive window size of zero, and the sending system must wait to send more data. After the receiving application retrieves data from the receive buffer, the receiving system can then advertise a receive window size that is equal to the amount of data that was read. Then, TCP on the sending system can resume sending data.
What is the slow start algorithm?
When transmission of data from sender to receiver begins in a network, there may be unknown conditions as to what the network can handle. Slow start helps to mitigate the pitfalls of this unknown by implementing the following functionality.
A sender begins transmissions to a receiver by slowly probing the network with a packet that contains its initial congestion window (cwnd).
The client receives the packet and replies with its maximum buffer size, also known as the receiver’s advertised window (rwnd).
If the sender receives an acknowledgement from the client, it then doubles the amount of packets to send to the client.
Step 3 is repeated until the sender no longer receives acknowledgment from the receiver which means either congestion is detected, or the client’s window limit has been reached.
How do we detect packet loss?
The ACK times out (a specific amount of time passes, configurable)
We receive 3 dupacks - 3 ack packets received after the original message (superseded). See picture for timeout calculation.
What is ensemble and temporal sharing in advanced TCP?
What are TCP connections closed?
What does a TCP packet look like?
What other TCP overrides can be applied?
TCP Selective Ack - Sender asks receiver to transmit additional data in response about what dataframes are queued/not yet processed
Delayed Acks.- receiver can delay sending acks to saves bandwidth and instead bundle them up
TCP keepalive - a tcp connection can be kept alive for months with no data flow - controversial.
TCP Cubic - Optimises TCP for high bandwith, high delay networks. It has two operating regions, the first where the window quickly ramps up to the window size before hte last congestion event, and the second when the convex growth prober for more bandwith, slowly at first then very rapidly.
Explicit congestion notifications - routers can tell end systems that the network is getting congested and therefore they should reduce their congestion windows.
What is TCP BBR?
Bottleneck Bandwidth and Round-trip propagation time (BBR) is a new congestion control algorithm developed at google.
For a given network connection, it uses recent measurements of the network’s delivery rate and round-trip time to build an explicit model that includes both the maximum recent bandwidth available to that connection, and its minimum recent round-trip delay. BBR then uses this model to control both how fast it sends data and the maximum amount of data it’s willing to allow in the network at any time.
Google used to use CUBIC.