Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
CNT 5106C Computer Networks
Instructor: Prof. Ahmed Helmy
Homework 2: Application Layer Continuation and Transport Layer
[A lab part will be added later to this homework to intro socket prog.]
Instructions: Be precise and to the point. Read the hints. Many questions require answers using a
few sentences. Some questions will ask you to elaborate, use visual aids or graphs. Use your own
words/expressions, or graphs. Do not copy from any other source.
Q1- DNS-related: Consider a scenario of a user browsing the web from the machine
storm.cise.ufl.edu, accessing an article in a website at URL
The user performs three accesses: - using http, - using https and - using port 8080.
A. Show the sequence of DNS servers queried to resolve the URLs (assume no caching)
B. Write the complete URL for each of the three accesses [you may have to edit the URL]
C. Write the four tuple [src address, src port, dst address, dst port] for each of the accesses
[Hint: To get IP addresses use networking tools, like ping, traceroute, nslookup, ip address, etc.]
Q2- Discuss how the following technologies (or their variations) help in improving the
performance of content distribution networks (CDNs):
A. HTTP
B. DNS
[Hint: Write a one paragraph of ~4-6 lines/sentences on each technology]
Q3- Elaborate on the data ‘push’ vs ‘pull’ in the context of
A. http vs SMTP
B. peer-to-peer network hierarchy communication (e.g., super nodes, group leaders)
C. Proxy and web caching
D. CDNs
[Hint: Write a one paragraph of ~4-6 lines/sentences on each point]
Q4- Someone suggested to use a local file called hosts.txt on each machine instead of DNS. Discuss
the advantages (at least 2) and disadvantages (at least 2) of such suggestion.
Q5- What is ‘saw-tooth’ behavior in TCP, and what is causing it?
Q6- A TCP flow and a UDP flow share a bottleneck link. Discuss the packet rate dynamics if the
link gets congested, and comment on the eventual result. [Write a paragraph of ~4-6 sentences]
Q7- TCP is supposedly fair, dividing the bandwidth between competing TCP flows. You want to
transfer a huge file fast, suggest a way of doing so using TCP to get over the fairness delays, and
approximate your new bandwidth share. The new share you will be getting may not be ‘fair’!
Q8- Comment on (and compare/contrast) response to packet-loss vs ack-loss in
A. Go-back-N
B. selective repeat
[Hint: Write ~3-6 lines/sentences for each]
Q9- Congestion Signaling:
A. What is meant by implicit congestion signaling and explicit congestion signaling? Give
an example of a congestion control protocol that use each type signaling.
B. Discuss the advantages and disadvantages of each of the above schemes.
C. What kind of signaling does TCP use to detect network congestion? Explain the
different signals that TCP uses for that task.
Q10- Network congestion phases:
A. Using a graph, describe the different phases of network load/overload outlining the degrees
of congestion with increase of load. Indicate the point of congestion collapse and explain
why it occurs.
B. Where does TCP operate on that graph? Explain for the various phases of TCP; slow start,
congestion avoidance (due to timeout), fast retransmit-fast recovery triggered by duplicate
ACKs.
Q11- TCP interaction with routing: Argue for or against the following statement: “Packets are lost
only when network failures occur (e.g., a link goes down). But when the network heals (e.g., the
failed link comes back up again), packets do not get lost.”
[Hint: Write ~4-6 lines/sentences]
[A lab part will be added to hwk2 later, to introduce socket programming and using tracing tools
as relates to this homework. Instructions will be posted separately for the lab part.]