Lesson 2 - Transport and Application Layers Flashcards

1
Q

Describe the transport layer

A

The transport layer provides an end-to-end connection between two applications that are running on different hosts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the relationship between the network and the transport layer

A

Network layer only delivers data

Transport layer guarantees integrity and delivery of data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the 2 main protocols within the transport layer

A

User datagram protocol (UDP) and the Transmission Control Protocol (TCP)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is connectionless multiplexing/demultiplexing?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is connection-oriented multiplexing/demultiplexing?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the differences between UDP & TCP?

A

UDP is connctionless protocol

TCP is connection oriented protocol

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Explain TCP three-way handshake.

A
  1. client initiates handshake with sequence
  2. server response (SYNACK) includes SYN bit set to 1 & client sequence +1.
  3. Client receives SYNACK segment and acknowledges with SYN bit set to 0.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Explain TCP connection teardown

A
  1. Client ends by sending segment with FIN set to 1.
  2. Server acknowledges and start to close connection.
  3. Server sends segment with FIN set to 1, indicating closed.
  4. Client sends ACK
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Automatic Repeat Request or ARQ (TCP)?

A

method of using acknowledgements and timeouts to deliver and repeat requests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Stop and Wait ARQ (TCP)?

A

Sender sends a packet and waits for its acknowledgement from the receiver.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Go-back-N (TCP)?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is selective ACKing (TCP)?

A

During data exchange, the sender retransmits only those packets that it suspects were received in error.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is fast retransmit (TCP)?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is transmission control and why do we need to control it?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is flow control and why do we need to control it?

A

Flow control is utilized to throttle the transmission rate of the sender to protect the receiver’s buffer from overflowing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the receive window?

A

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.

17
Q

What is congestion control?

A

a mechanism to control the transmission rate at the sender in order to avoid congestion in the network.

18
Q

What are the goals of congestion control?

A

Efficiency - network utilization should be high
Fairness
Low delay
Fast convergence - determine what is “fair” quickly.

19
Q

What is an E2E congestion control?

A

The hosts (ends) infer congestion from the network behavior and adapt the transmission rate.

20
Q

What is network-assisted control?

A

The network layer to provides explicit feedback to the sender about congestion in the network.

21
Q

How does a host infer congestion?

A

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.

22
Q

How does a TCP sender limit the sending rate?

A

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.

23
Q

What is additive increase (TCP)?

A

Every time the sending host successfully sends a congestion window (cwnd) number of packets it increases the window by 1.

24
Q

What is Multiplicative Decrease?

A

When the TCP sender detects that a timeout occurred, then it sets the Congestion Window (cwnd) to half of its previous value.

25
Q

What is a slow start in TCP?

A

The congestion window is increased exponentially instead of linearly as in the case of AIMD. It’s termed “slow start” because the increase starts off slowly only adding 1 packet to the congestion window, but builds quickly.

26
Q

Is TCP fair in case 2 connections have the same RTT? Explain why.

A

Yes. Both will increase/decrease their congestion window similarly and approach an equal bandwidth share.

27
Q

Is TCP fair in case 2 connections have different RTTs? Explain why.

A

connections with smaller RTT values would increase their congestion window faster than the ones with longer RTT values. This leads to an unequal sharing of the bandwidth.

28
Q

Explain how TCP cubic works

A

TCP CUBIC uses a cubic function for congestion window growth so that the window grows aggressively at first, but slow near the transmission rate of the last lost packet (Wmax).

29
Q

Explain TCP throughput calculation

A

On a graph of packets per round trip time, the area under the curve is the number of packets sent per cycle. (Transmission rate = packets per cycle / seconds per cycle)
Or for an increase rate of 1 packet per cycle, the packets per cycle can be calculated as = 3/8 (packets)^2