

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Assignment; Class: Communication Networks; Subject: Electrical and Computer Engr; University: University of Illinois - Urbana-Champaign; Term: Spring 2007;
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


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