$30
1. What information is used by a process running on one host to identify a
process running on another host?
2. This elementary problem begins to explore propagation delay and transmission
delay, two central concepts in data networking. Consider two hosts, A and B,
connected by a single link of rate R bps. Suppose that the two hosts are separated by
m meters, and suppose the propagation speed along the link is s meters/sec. Host A is
to send a packet of size L bits to Host B.
a. Express the propagation delay, dprop, in terms of m and s.
b. Determine the transmission time of the packet, dtrans, in terms of L and R.
c. Ignoring processing and queuing delays, obtain an expression for the end
to-end delay.
3. Suppose users share a 3 Mbps link. Also suppose each user requires 150 kbps when
transmitting, but each user transmits only 10 percent of the time.
a. When circuit switching is used, how many users can be supported?
b. Suppose there are 120 users. Find the probability that at any given time,
exactly n users are transmitting simultaneously. Your answer could be
given in formula (no need for computation).
4. Write a simple TCP program for a server that accepts lines of input from a client and
prints the lines onto the server’s standard output. (Please modify the following
TCPServer.py program) Compile and execute your program. On any other machine
that contains a Web browser, set the proxy server in the browser to the host that is
running your server program (localhost); also configure the port number
appropriately. Your browser should now send its GET request messages to your
server, and your server should display the messages on its standard output. Use this
platform to determine whether your browser generates conditional GET messages for
objects that are locally cached.TCPServer.py
from socket import *
serverPort = 12000
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind((‘’,serverPort))
serverSocket.listen(1)
print ‘The server is ready to receive’
while 1:
connectionSocket, addr = serverSocket.accept()
sentence = connectionSocket.recv(1024)
capitalizedSentence = sentence.upper()
connectionSocket.send(capitalizedSentence)
connectionSocket.close()
5. Install traceroute (or nmap.org or any similar) and perform a traceroute from
your location to destination host of your choice in Korea (perhaps to KT’s
DNS server ip? Search for it!). Provide the results of the traceroute.