CS 457 -
Fall 2012
Homework
1
Date due: Sept 22,
2013 at midnight
Submission tag: HW1 (use this tag in the subject line of
your email to the TA)
- Problem 1 (20pts):
Calculate the total time required to transfer a 2000 KB
file in the following cases, assuming an RTT of 110 ms,
a packet size of 1KB data, and an initial 2 x RTT of
"handshaking" before data is sent.
- The bandwidth is 2 Mbps, and data packets can be
sent continuously.
- What is the transmit time per packet?
- How many packets do we need to send?
- What is the transmit time for all of the
packets?
- What is the total time?
- The bandwidth is 2 Mbps, but after we finish
sending each data packet we must wait one RTT before
sent the next.
- How many packets do we need to send?
- How many RTTs must we wait?
- What is the total time?
- The bandwidth is "infinite", meaning that we take
transmit time to be zero, and up to 20 packets can
be sent per RTT.
- How many packets do we need send?
- How many RTTs must we wait for? (Hint: what is
special about the last 20 packets?)
- What is the total time?
- The bandwidth is infinite, and during the first
RTT we can send one packet (21-1), during
the second RTT we can send two packets (22-1),
during third we can send four (23-1), and
so on.
- How many packets do we need send?
- How many iterations must we go through to send
all the packets?
- How many RTTs must we wait for? (Hint: what is
special about the last 20 packets?)
- What is the total time?
- Problem 2 (20pts):
Suppose that a certain communications protocol involves
a per-packet overhead of 100 bytes for headers and
framing. We send 1 million bytes of data using this
protocol; however, one data byte is corrupted and the
entire packet containing it is thus lost. Give the total
number of overhead + loss bytes for packet data sizes of
1,000 , 5,000 , 10,000, and 20,000. Which size is
optimal?
- Problem 3 (20pts):
Consider a simple protocol for transferring files over a
link, After some initial negotiation, 'A' sends data
packets of size 1 KB to 'B'; B then replies with an
acknowledgement A always waits for each ACK before
sending the next data packet; this is known as
stop-and-wait. Packets that are overdue are presumed
lost and are retransmitted.
- In the absence if any packet losses or
duplication, explain why it is not necessary to
include any "sequence number" data in the packet
headers.
- Suppose that the link can lose occasional packets,
but that packets do not always arrive in the order
sent. Is a 2-bit sequence number (that is, N mod 4)
enough for A and B to detect and resend any lost
packets? Is a 1-bit sequence number enough?
- Now suppose that the link can deliver out of
order, and that sometimes a packet can be delivered
as much as 1 minute after subsequent packets. How
does this change the sequence number requirements?
- Problem 4 (10pts):
Explain in your own words the term "hourglass design",
and how does it relate to the design of IP.
- Problem 5 (10pts):
Explain in your own words the term "statistical
multiplexing".
- Problem 6 (20pts): Read the Linux manual page for
traceroute. You don't need to understand all the
options, but make sure you understand what it does.
Visit the traceroute tools at www.traceroute.org
and trace the path from three sites to
www.colostate.edu. Pick places geographically as
follows: one on the east coast, one on the west coast
and one as close as possible to CSU (but different
city). Look at the results of each run. Try to classify
hops as local, access and backbone (where local means
within an institution, access means between ISPs and
backbone means within a Tier 1 provider). You may use
both hop latency and the DNS name to make your
determination. Justify your answer. Turn in results for all
three paths.
Note: All homework
assignments are individual assignments. Please do your own
work.
|