I n modern packet-switched networks, the source host segments long, application-layer messages (for example, an image or a music file) into smaller packets and sends the packets into the network. The receiver then reassembles the packets back into the original message. We refer to this process as message segmentation. Figure 1 illustrates the end-to-end transport of a message with and without message segmentation. Consider a message that is 8∙106 bits long that is to be sent from source to destination in the Figure 1. Suppose each link in the figure is 2 Mbps. Ignore propagation, queuing, and processing delays. (4 points)
Consider sending the message from source to destination without message segmentation. How long does it take to move the message from the source host to the first packet switch? Keeping in mind that each switch uses store-and-forward packet switching, what is the total time to move the message from source host to destination host? Answer: Time from source host to first packet switch = 8 * 10 6 / 2 * 10 6 = 4 sec, Total time = 4 * 3 hops = 12 secs
Now suppose that the message is segmented into 4,000 packets, with each packet being 2,000 bits long. How long does it take to move the first packet from source host to the first switch? When the first packet is being sent from the first switch to the second switch, the second packet is being sent from the source host to the first switch. At what time will the second packet be fully received at the first switch? Answer: Time to send first packet from source host to first packet switch = 2 * 10 3 / 2 * 10 6 = 1 msec. Time at which second packet is received at the first switch = time at which first packet is received at the second switch = 2 * 1 msec = 2msec
How long does it take to move the file from source host to destination host when message segmentation is used? Compare this result with your answer in part (a) and comment. Answer: Time at which first packet is received at the destination host = 1 msec * 3 hops = 3msec. After this, every 1 msec one packet will be received; thus time at which last (4000th) packet is received = 3 msec + 3999*1msec = 4.002sec. It can be seen that delay in using message segmentation is significantly less (almost 1/3).
Discuss the drawbacks of message segmentation. Answer: 1. packets have to be put in sequence at the destination, 2. the total amount of header bytes is more.
Why is it said that FTP sends control information “out-of-band”? (1 point) Answer: because the control information is not sent over the same connection that the file is sent over.
For the client-server application over TCP, why must the server program be executed before the client program? For the client-server application over UDP, why may the client program be executed before the server program? (2 points)
In this problem we explore designing a hierarchical overlay that has ordinary peers, super peers, and super-duper peers. (2 points)
Suppose each super-duper peer is roughly responsible for 100 super peers, and each super peer is roughly responsible for 400 ordinary peers. How many super-duper peers would be necessary for a network of four million peers? Answer: Each super-duper peer is responsible for 40,000 nodes. Therefore we would need about 100 super-duper peers to support 4 million nodes.
b. What information might each super peer store? What information might each super-duper peer store? How might searches be performed in such a tree-tier design? Answer:
Each super peer might store the meta-data for all of the files its children are sharing. A super-duper peer might store all of the meta-data that its super-peer children store. An ordinary node would first send a query to its super peer. The super peer would respond with matches and then possibly forward the message to its super-duper peer. The
super-duper peer would respond (through the overlay network) with its matches. The super-duper peer may further forward the query to other super-duper peers. 7. Describes how cookies are used in e-Commerce. (1 point) Answer: When the user first visits the site, the site returns a cookie number. This cookie number is stored on the user’s host and is managed by the browser. During each
subsequent visit (and purchase), the browser sends the cookie number back to the site. Thus the site knows when this user (more precisely, this browser) is visiting the site.
In BitTorrent, suppose Alice provides chunks to Bob throughout a 30-second interval. Will Bob necessarily return the favor and provide chunks to Alice in the same interval? Why or why not? (1 point) Answer: It is not necessary that Bob will also provide chunks to Alice. Alice has to be in the top 4 neighbors of Bob for Bob to send out chunks to her; this might not occur even if Alice provides chunks to Bob throughout a 30 second interval.
What is a way using Last-Modified: header line in HTTP? (1 point) Answer: The header line is used by Conditional GET to check whether the object asked has been modified.