TCP Flashcards
True/False - The transport layer runs in end systems
True
What are the units in TCP
TCP - Segments, UDP - Datagrams
True/False - UDP does not provide error control only error checking
True
In UDP what happens to datagrams with errors
They are dropped
True/False - In UDP when datagrams are dropped there are gaps at the application level
True
True/False - neither TCP nor UDP provides for guaranteed delay or guaranteed bandwidth
True
True/False - IP does not provide for full delivery
True
Describe UDP
Connectionless (no handshake), unreliable
Describe TCP
Connection oriented (Handshake), reliable. used for services that cannot tolerate loss, byte oriented (no msg boundary)
In the TCP header, what is the purpose of the sequence number
To identify the number of the 1st byte in the payload
In the TCP header, what is the purpose of ack acknowledgment field
To provide the number of the next byte expected to be rx’d
In the TCP header, what is the purpose of the rx window size field
To specify the number of bytes the rx’er is willing to accept (space in buffer)
Describe the TCP 3-way Handshake process
- The initiator selects a random initial sequence number
- The initiator sends a segment with the Syn byte flagged and the ISN
- The rx’er selects a random initial sequence number
- The rx’er sends a segment with the the Syn and Ack bytes flagged and it’s ISN along with an ACK of the next seq number expected and its window size
- The connection is opened on the initiator side
- The initiator sends the next segment with the Ack byte flagged, The ACk with the next expected seq number from the rx’er and its window sz.
- The connection is opened on the rx’er side
True/False - The final Ack of the TCP three way handshake can contain data
True
Describe piggy backing in the TCP data transfer phase
The an ack is embedded with a data segment
True/False - When the connection is to be closed the fin bit is set, there is no payload and 1 seq number is consumed
True
True/False - There is only 1 Retransmission timer which is for the oldest segment when multiple segments are sent. When the oldest segment is acknowledged the timer gets set to the next oldest segment
True
In TCP, what two things trigger retransmission
T/O expiration and 3 duplicate acknowledgements
True/False - The rx’er may wait for up to 500 ms for more possible segments to arrive and use a cumulative acknowledgement
True
Why does TCP consider T/O to be more serious than 3 dupes
Because dupes mean that other segments are getting through so the network congestion must have just been for a short time
True/False - If the rx’er gets duplicates or already acknowledged segments it drops them
True
True/False - If the rx’er has its own data to send it will not wait the 500ms for more segments
True
In TCP flow control what is the rx’er window spare room
rx’er buffer - [ seq # last byte rx’d - seq # last byte read into app ]
In TCP flow control what is the sender window size
Advertised Rx’er Window Size - [ Seq # last byte sent - seq # last byte ack’d ]
True/False - IP does not provide any mechanism for congestion Control
True
In TCP congestion control what is the max # of bytes that can be sent
min{advertised rx win sz, congestion window}
True/False - In the TCP Tahoe implementation T/O and 3 Dup acks are weighed equally
True
Describe the TCP Tahoe Flow
(Slow Start Phase)
- Start by setting congestion win to 1 MSS
- Each time the sender rx an ACK it increases congestion window by 1
(Congestion Avoidance)
- Upon reaching slow start threshold Congestion Window is increased by 1 for each RTT
(Congestion Control)
- Upon detecting t/o or 3 dupes, the slow start threshold is set to 1/2 what it was (min{Wa, Wc}) and the congestion window is set to 1 MSS
- The slow start phase starts again
True/False - In the TCP Reno implementation T/O is weight more severely than 3 Dupes
True
Describe the TCP Reno Flow
(Slow Start Phase)
- Start by setting Wc to 1 MSS
- increase Wc by 1 for each ACK rx’d
- Upon reaching ss thresh inc Wc by 1 for each RTT
- Upon T/O reduce SS thresh to 1/2 current Wc (min{Wc,Wa}) and reduce Wc to 1 MSS
- Upon 3 Dupes reduce Wc to current SS thresh
Describe the TCP AIMD approach
- Inc Wc by 1 for every RTT until a loss is detected then cut Wc by half and start again