$30
CNT 4700C Computer Networks Fundamentals
Homework 2: Application Layer Continuation and Transport Layer
Instructions: Be precise and to the point. Many questions require answers using a sentence or two).
Some questions will ask you to elaborate, use visual aids or graphs, or show traces/code. Use your
own words and phrases, 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:
www.nytimes.com/2019/09/26/technology/ai-computer-expense.html
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
Q2- Discuss how the following technologies (or their variations) help in improving the
performance of content distribution networks (CDNs):
A. HTTP
B. DNS
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
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 walk into a network, sharing a bottleneck link …. Complete the
story, detailing the packet rate dynamics if the link gets congested, and comment on the end result.
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.
Q8- Given that most data-link layers perform error checking (and correction to some extent) why
do we need checksum in UDP (and TCP)?
Q9- Comment on response to packet-loss vs ack-loss in
A. Go-back-N
B. selective repeat
Q10- Congestion Signaling:
A. What is meant by implicit congestion signaling and explicit congestion signaling? Give
examples of congestion control protocols 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.
Q11- Network congestion phases:
A. Describe (with the aid of a graph) 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.
Q12- Argue for or against this statement (reason using examples as necessary): “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.”
Q13- Compare and contrast AIMD vs MIMD. Focus on network stability.
[A lab part will be added to hwk2 later on using tracing tools as relates to this homework.
Instructions will be posted separately for the lab part.]