Quiz 2 for Internetwork Programming | ECE 4110, Quizzes of Electrical and Electronics Engineering

Material Type: Quiz; Class: Internetwork Programming; Subject: Electrical & Computer Engr; University: Georgia Institute of Technology-Main Campus; Term: Fall 2002;

Typology: Quizzes

Pre 2010

Uploaded on 08/05/2009

koofers-user-gf5
koofers-user-gf5 🇺🇸

10 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECE 4110 Quiz 2
October 30, 2002
Name ______________________________________
This test is open book, open notes. You have 50 minutes.
Explain or justify your answer in detail for full credit.
1) A telnet session sends the following packets:
1: client -> server (client sends to server)
(user presses ‘b’ key)
seq number 400:401, ack 100
2 client <- server (server sends to client)
(echo of ‘b’ key)
seq number 100:101, ack 401
3 client -> server (client sends to server)
(no data)
seq number 401:401: ack 101
If packet #2 is lost, and the network is otherwise uncongested (ie, no other packets get
lost), what sequence of packets would result? Explain your answer in terms of timers,
error control, etc.
Packet #2 is doing two things,
1) Acking receipt of the ‘b’ key (ack 401)
2) Sending the ‘b’ key echo (essentially, new data)
The client’s TCP retransmission timer would start when packet #1 was sent.
The server’s TCP retransmission timer would start when packet #2 was sent.
While the client’s timer was started earlier, since the client and server have different
RTT estimates, it is possible that either one could time out first (although it is more likely that the client’s
would time out first).
If the client’s RTO timers times out first, then it would resend packet #1 as #3, and the server would
generate a new ‘ack’ (packet #4, with no data). When the server’s RTO timer expires, it would resend the
‘b’ key echo (packet #5) which would then get acknowledged by the client (#6).
1: client -> server (‘b’ pressed), seq 400:401, ack 100
2: server-> (lost) (‘b’ echo + ack), seq 100:101, ack 401
3: client-> server (‘b’ resend), seq 400:401, ack 100
4: server->client (ack) seq 101:101, ack 401
4a: client says what’s 101? (client->server, seq 401:401, ack 100)
4b: server RTO expires
pf3
pf4

Partial preview of the text

Download Quiz 2 for Internetwork Programming | ECE 4110 and more Quizzes Electrical and Electronics Engineering in PDF only on Docsity!

ECE 4110 Quiz 2

October 30, 2002

Name ______________________________________

This test is open book, open notes. You have 50 minutes.

Explain or justify your answer in detail for full credit.

  1. A telnet session sends the following packets:

1 : client -> server (client sends to server) (user presses ‘b’ key) seq number 400:401, ack 100 2 client <- server (server sends to client) (echo of ‘b’ key) seq number 100:101, ack 401 3 client -> server (client sends to server) (no data) seq number 401:401: ack 101

If packet #2 is lost, and the network is otherwise uncongested (ie, no other packets get lost), what sequence of packets would result? Explain your answer in terms of timers, error control, etc.

Packet #2 is doing two things,

  1. Acking receipt of the ‘b’ key (ack 401)
  2. Sending the ‘b’ key echo (essentially, new data) The client’s TCP retransmission timer would start when packet #1 was sent. The server’s TCP retransmission timer would start when packet #2 was sent. While the client’s timer was started earlier, since the client and server have different RTT estimates, it is possible that either one could time out first (although it is more likely that the client’s would time out first).

If the client’s RTO timers times out first, then it would resend packet #1 as #3, and the server would generate a new ‘ack’ (packet #4, with no data). When the server’s RTO timer expires, it would resend the ‘b’ key echo (packet #5) which would then get acknowledged by the client (#6).

1: client -> server (‘b’ pressed), seq 400:401, ack 100 2: server-> (lost) (‘b’ echo + ack), seq 100:101, ack 401 3: client-> server (‘b’ resend), seq 400:401, ack 100 4: server->client (ack) seq 101:101, ack 401 4a: client says what’s 101? (client->server, seq 401:401, ack 100) 4b: server RTO expires

Alternately, if the server’s RTO timer expires first:

  • 5: server->client (‘b’ echo resend) seq 100:101, ack
  • 6: client->server(echo ack) seq 401:401, ack
  • 1: client -> server (‘b’ pressed), seq 400:401, ack
  • 2: server-> (lost) (‘b’ echo + ack), seq 100:101, ack
  • 3: server->client (‘b’ echo resend), seq 100:101, ack
  • 4: client->server (ack of ‘b’ echo), seq 401:401, ack

a) Describe the “silly window syndrome”

Due to buffer size limitations and the window advertisement mechanism, even though a large amount of data is waiting to be sent, each packet only carries one byte (or a very small number of bytes), which is inefficient from a network standpoint and increases network congestion.

b) What two techniques are used to prevent the “silly window syndrome”

Sender:

Nagle’s algorithm (to collect data into larger packets before sending)

Reciever:

Delayed acks (wait for more buffer space to advertise) Clarkes solution (if receiver buffer space<MSS, advertise receiver buffer = 0)