Internetworking and End-to-End Protocols - Problem Set 6 | ECE 438, Assignments of Organizational Communication

Material Type: Assignment; Class: Communication Networks; Subject: Electrical and Computer Engr; University: University of Illinois - Urbana-Champaign; Term: Spring 2007;

Typology: Assignments

Pre 2010

Uploaded on 03/16/2009

koofers-user-8wt
koofers-user-8wt 🇺🇸

5

(1)

9 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS/ECE 438: Communication Networks for Computers Spring 2007
Problem Set 6 Due: start of class, Wednesday, April 18th
Internetworking and End-to-End Protocols
Assigned reading: Peterson and Davie: Chapters 4, 5 and 9.1. All problems carry equal weight. For full credit, show
all work.
1. TCP RTT Estimation
One difficulty with the original TCP SRTT estimator is the choice of an initial value. In the absence of any special
knowledge of network conditions, the typical approach is to pick an arbitrary value, such as 3 seconds, and hope this
will converge quickly to an accurate value. If this estimate is too small, TCP will perform unnecessary
retransmissions. If it is too large, TCP will wait a long time before retransmitting if the first segment is lost. Also,
the convergence might be slow.
a. Choose = 0.8 and SRTT(0) = 3 seconds, and assume all measured RTT values = 1 second with no packet
loss. What is SRTT(19)? Recall, SRTT(k + 1) = * SRTT(k) + (1 - ) * RTT(k + 1).
b. Now let SRTT(0) = 1 second and assume RTT values = 3 seconds and no packet loss. What is SRTT(19)?
2. TCP Slow Start
Although slow start with congestion avoidance is an effective technique for coping with congestion, it can result in
long recovery times in high-speed networks.
a. Assume a roundtrip time delay of 75 ms (about what might occur across a continent) and a link with an
available bandwidth of 1 Gbps and a segment size of 576 octets. Determine the window size needed to
keep the pipe full and the time it will take to reach that window size after a time out using the Jacobson
Algorithm.
b. Repeat for a segment size of 16 Kbytes.
3. Domain Name Service (DNS)
a. DNS uses UDP instead of TCP. If a DNS packet is lost, there is no automatic recovery. Does this cause
a problem, and if so, how is it solved?
b. In addition to being subject to loss, UDP packets have a maximum length, potentially as low as 576
bytes. What happens when a DNS name to be looked up exceeds this length? Can it be sent in two
packets?
c. Can a machine with a single DNS name have multiple IP addresses? How could this occur?
d. Can a computer have two DNS names that fall in different top-level domains? If so, give a plausible
example. If not, explain why not.
4. Adaptive Retransmission, Part I
a. What is the retransmission ambiguity problem addressed by the Karn-Partridge algorithm? How does
the algorithm avoid the ambiguity?
b. Write a C program to estimate the frequency of unnecessary retransmission with the original TCP
adaptive retransmission algorithm. In particular, write a one-million-iteration loop that calls a function
double get_rtt ();
to measure RTT, calculates an estimated RTT, and counts the number of times that the next measured
RTT exceeds the current estimate. Use a damping factor of 0.15 (α on P&D p. 390 is 0.825) and
double-precision floating-point variables. Programs longer than 50 lines will receive no credit.
c. Repeat part (b) for Jacobson’s algorithm (Jacobson-Karels in P&D, defined on p. 392), using δ = 0.15.
pf2

Partial preview of the text

Download Internetworking and End-to-End Protocols - Problem Set 6 | ECE 438 and more Assignments Organizational Communication in PDF only on Docsity!

CS/ECE 438: Communication Networks for Computers Spring 2007

Problem Set 6 Due: start of class, Wednesday, April 18

th

Internetworking and End-to-End Protocols

Assigned reading: Peterson and Davie: Chapters 4, 5 and 9.1. All problems carry equal weight. For full credit, show all work.

1. TCP RTT Estimation One difficulty with the original TCP SRTT estimator is the choice of an initial value. In the absence of any special knowledge of network conditions, the typical approach is to pick an arbitrary value, such as 3 seconds, and hope this will converge quickly to an accurate value. If this estimate is too small, TCP will perform unnecessary retransmissions. If it is too large, TCP will wait a long time before retransmitting if the first segment is lost. Also, the convergence might be slow. a. Choose  = 0.8 and SRTT(0) = 3 seconds, and assume all measured RTT values = 1 second with no packet loss. What is SRTT(19)? Recall, SRTT(k + 1) =  * SRTT(k) + (1 - ) * RTT(k + 1).

b. Now let SRTT(0) = 1 second and assume RTT values = 3 seconds and no packet loss. What is SRTT(19)?

2. TCP Slow Start Although slow start with congestion avoidance is an effective technique for coping with congestion, it can result in long recovery times in high-speed networks. a. Assume a roundtrip time delay of 75 ms (about what might occur across a continent) and a link with an available bandwidth of 1 Gbps and a segment size of 576 octets. Determine the window size needed to keep the pipe full and the time it will take to reach that window size after a time out using the Jacobson Algorithm.

b. Repeat for a segment size of 16 Kbytes.

3. Domain Name Service (DNS) a. DNS uses UDP instead of TCP. If a DNS packet is lost, there is no automatic recovery. Does this cause a problem, and if so, how is it solved?

b. In addition to being subject to loss, UDP packets have a maximum length, potentially as low as 576 bytes. What happens when a DNS name to be looked up exceeds this length? Can it be sent in two packets?

c. Can a machine with a single DNS name have multiple IP addresses? How could this occur?

d. Can a computer have two DNS names that fall in different top-level domains? If so, give a plausible example. If not, explain why not.

4. Adaptive Retransmission, Part I a. What is the retransmission ambiguity problem addressed by the Karn-Partridge algorithm? How does the algorithm avoid the ambiguity?

b. Write a C program to estimate the frequency of unnecessary retransmission with the original TCP adaptive retransmission algorithm. In particular, write a one-million-iteration loop that calls a function double get_rtt (); to measure RTT, calculates an estimated RTT, and counts the number of times that the next measured RTT exceeds the current estimate. Use a damping factor of 0.15 ( α on P&D p. 390 is 0.825) and double-precision floating-point variables. Programs longer than 50 lines will receive no credit.

c. Repeat part (b) for Jacobson’s algorithm (Jacobson-Karels in P&D, defined on p. 392), using δ = 0.15.

5. Adaptive Retransmission, Part II Execute your code from problem 4 parts (b) and (c) using the get_rtt() function given below and report the frequency of unnecessary retransmissions as a percentage of packets (rounded off to an integer).

#include <stdio.h> #include <stdlib.h> #include <time.h> double get_rtt () { static int init = 0; if (!init) { init = 1; srandom (time (NULL)); } if ((random () % 100) < 18) return 500.0; return 100.0; }

6. nslookup Network Utility Use the ews machines for this problem. Show the commands that you use to solve the problem and the output you get. No credit if you don't show your work. The nslookup utility allows you to query domain name servers for the internet. Review the section of the text on domain name servers and read the man page for nslookup. You can enter the interactive mode of nslookup by simply typing nslookup, and from there you can type? for a list of commands. a. Find the names of the nameservers known to ece.uiuc.edu. b. Find the canonical name and IP address for the machine with alias www.ece.uiuc.edu. c. Find the names of the mailserver(s) for the machine with alias www.ece.uiuc.edu