Solution

advertisement
Exam 1 of Computer Networks (ICE 1230)
2008.3.7
Answer in English and Total 15 points
1. Why is it said that packet switching employs statistical
multiplexing? Contrast statistical multiplexing with the
multiplexing that takes place in TDM. (1 point)
Answer: In a packet switched network, the packets from different sources
flowing on a link do not follow any fixed, pre-defined pattern. In TDM
circuit switching, each host gets the same slot in a revolving TDM frame.
2. Can you illustrate the four sources of packet delay in terms
of the highway system? (2 points)
Answer: Processing delay: selecting a tollbooth and ticketing,
Queueing delay: waiting at the tollbooth, Transmission delay:
required for the tollbooth to push the cars onto the highway,
Propagation delay: traveling between tollbooths
3. In 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
Figure 1. End-to-End message transport: (a) without message segmentation;
(b) with message segmentation.
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)
a. 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
b. 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
c. 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).
d. 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.
4. Why is it said that FTP sends control information “out-ofband”? (1 point) Answer: because the control information is
not sent over the same connection that the file is sent over.
5. 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)
Answer: With the UDP server, there is no welcoming socket,
and all data from different clients enters the server through
this one socket. With the TCP server, there is a welcoming
socket, and each time a client initiates a connection to the
server, a new socket is created. Thus, to support n
simultaneous connections, the server would need n+1
sockets.
6. In this problem we explore designing a hierarchical overlay
that has ordinary peers, super peers, and super-duper
peers. (2 points)
a. 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 superduper 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.
8. 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.
9. 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.
Download