Lesson 2 - Transport and Application Layers Flashcards
Describe the transport layer
The transport layer provides an end-to-end connection between two applications that are running on different hosts.
What is the relationship between the network and the transport layer
Network layer only delivers data
Transport layer guarantees integrity and delivery of data.
What are the 2 main protocols within the transport layer
User datagram protocol (UDP) and the Transmission Control Protocol (TCP)
What is connectionless multiplexing/demultiplexing?
requires the “IP Address” and “destination port #” whether it be TCP or UDP. It requires only that two-tuple to identify where to send the datagram.
UDP is connectionless.
What is connection-oriented multiplexing/demultiplexing?
is only TCP viable and requires a four-tuple, meaning in order for the datagram to know where to be sent it needs (source IP address, source port number, destination IP address, destination port number).
What are the differences between UDP & TCP?
UDP is connctionless protocol
TCP is connection oriented protocol
Explain TCP three-way handshake.
- client initiates handshake with sequence
- server response (SYNACK) includes SYN bit set to 1 & client sequence +1.
- Client receives SYNACK segment and acknowledges with SYN bit set to 0.
Explain TCP connection teardown
- Client ends by sending segment with FIN set to 1.
- Server acknowledges and start to close connection.
- Server sends segment with FIN set to 1, indicating closed.
- Client sends ACK
What is Automatic Repeat Request or ARQ (TCP)?
method of using acknowledgements and timeouts to deliver and repeat requests.
What is Stop and Wait ARQ (TCP)?
Sender sends a packet and waits for its acknowledgement from the receiver.
What is Go-back-N (TCP)?
receiver ACK last received in-order packet. sender sends all packets from the most recently received. May cause the receiver to discard out of order packets.
What is selective ACKing (TCP)?
During data exchange, the sender retransmits only those packets that it suspects were received in error.
What is fast retransmit (TCP)?
When the sender receives 3 duplicate ACKs for a packet, it considers the packet to be lost and will retransmit it instead of waiting for the timeout.
(EX. packet 7 was missed, when 8, 9, & 10 are received the receiver sends an ACK for the last in-order packet (6) for each packet received. Once the receiver receives the 3 ACKs for packet 6, it would resend 7 without waiting for a timeout)
What is transmission control and why do we need to control it?
transmission control is the process of limiting transmission rate. It is utilized to enable a fair use of the bandwidth available (congestion control) and protect the receiver’s buffer from overflowing (flow control)
What is flow control and why do we need to control it?
Flow control is utilized to throttle the transmission rate of the sender to protect the receiver’s buffer from overflowing.
What is the receive window?
The receive window (rwnd) is the spare unused space in the receiver’s buffer. The receiver advertises this value of rwnd in every segment/ACK it sends back to the sender.
What is congestion control?
a mechanism to control the transmission rate at the sender in order to avoid congestion in the network.
What are the goals of congestion control?
Efficiency - network utilization should be high
Fairness
Low delay
Fast convergence - determine what is “fair” quickly.
What is an E2E congestion control?
The hosts (ends) infer congestion from the network behavior and adapt the transmission rate.
What is network-assisted control?
The network layer to provides explicit feedback to the sender about congestion in the network.
How does a host infer congestion?
Packet delay - round-trip time can be based on ACKs
Packet loss - TCP’s earliest implementation utilized this because it was already in use to provide reliability.
How does a TCP sender limit the sending rate?
TCP uses a congestion window which is similar to the receive window used for flow control.
Under regular conditions, TCP increases the congestion window trying to achieve the available throughput. Once it detects congestion then the congestion window is decreased.
What is additive increase (TCP)?
Every time the sending host successfully sends a congestion window (cwnd) number of packets it increases the window by 1.
What is Multiplicative Decrease?
When the TCP sender detects that a timeout occurred, then it sets the Congestion Window (cwnd) to half of its previous value.