Assignments for CSC 460
Assignment 1
(Due 1/31)
- Page 64, Problem 7:
In this problem we consider sending voice from Host A to Host B
over a packet-switched network (for example, Internet phone).
Host A converts analog voice to a digital 64 kbps bit stream
on the fly. Host A then groups the bits into 48-byte packets.
There is one link between Host A and B; its transmission
rate is 1 Mbps and its propagation delay is 2 msec.
As soon as Host A gathers a packet, it sends it to Host B.
As soon as Host B receives an entire packet, it converts the
packet's bits to an analog signal. How much time elapses from
the time a bit is created (from the original analog signal as Host A)
until the bit is decoded (as part of the analog signal at Host B)?
- Page 66, Problem 18:
Suppose there is a 10 Mbps microwave link between a geostationary
satellite and its base station on Earth. Every minute the satellite
takes a digital photo and sends it to the base station.
Assume a propagation speed of 2.4 * 108 meters/sec.
- What is the propagation delay of the link?
- What is the bandwidth-delay product, R * tprop?
- Let x denote the size of the photo. What is the
minimum value of x for the microwave link to be continuously
transmitting?
- Page 172, Problem 2:
Read RFC 959 for FTP. List all of the client commands that
are supported by the RFC.
- Page 172, Problem 6:
Suppose within your Web browser you click on a link to obtain a
Web page. The IP address for the associated URL is not cached
in your local host, so a DNS look-up is necessary to obtain the
IP address. Suppose that n DNS servers are visited before
your host receives the IP address from DNS; the successive visits
incur a RTT of RTT1, ..., RTTn. Further
suppose that the Web page associated with the link contains
exactly one object, consisting of a small amount of HTML text.
Let RTT0 denote the RTT time between the local host
and the server containing the object. Assuming zero transmission
time of the object, how much time elapses from when the client
clicks on the link until the client receives the object?
- Page 174, Problem 14:
Suppose you are downloading MP3s using some P2P file-sharing
system. The bottleneck in the Internet is your residential
access link, which is a 128 kbps full-duplex link. While you
are downloading MP3s, all of a sudden 10 other users start uploading
MP3s from your computer. Assuming that your computer is very
powerful, and all of these downloads and uploads are not putting
any strain on your computer (CPU, disk I/O, and so on), will the
simultaneous uploads - which are also passing through your
bottleneck link - slow down your downloads? Why or why not?
Also answer the same question for when you have 128kpbs upstream
and 512kbps downstream as part of an ADSL connection.
- Page 174, Problem 16:
In our coverage of Gnutella in Section 2.6, we described in some
detail how a new peer joins the Gnutella network. In this problem
we want to explore what happens when a peer leaves the Gnutella
network. Suppose every participating node maintains TCP connections
to at least four distinct peers at all times. Suppose Peer X,
which has five TCP connections to other peers, wants to leave.
- First consider the case of a graceful departure, that is,
Peer X explicitly closes his application, thereby gracefully
closing its five TCP connections. What actions would each of the
five formerly connected peers take?
- Now suppose that X abruptly disconnects from the Internet
without notifying its five neighbors that it is closing the TCP
connections. What would happen?
Assignment 2
(Due 2/7)
- Page 287, Problem 7:
Give a trace of the operation of protocol rdt3.0 when
data packets and acknowledgement packets are garbled. Your trace
should be similar to that used in Figure 3.16
- Page 289, Problem 15:
Consider a scenario in which a Host, A, wants to simultaneously send
messages to Hosts B and C. A is connected to B and C via a
broadcast channel - a packet sent by A is carried by the channel
to both B and C. Suppose that the broadcast channel connecting
A, B, and C can independently lose and corrupt messages (and so,
for example, a message sent from A might be correctly received
by B, but not by C). Design a stop-and-wait-like error-control
protocol for reliably transferring a packet from A to B and C, such
that A will not get new data from the upper layer until it knows
that both B and C have correctly received the current packet.
Give FSM descriptions of A and C. (Hint: The FSM for B
should be essentially the same as for C.) Also, give a
description of the packet format(s) used.
- Page 291, Problem 25:
In Section 3.5.4, we saw that TCP waits until it has received
three duplicate ACKs before performing a fast retransmit. Why do
you think the TCP designers chose not to perform a fast retransmit
after the first duplicate ACK for a segment is received?
- Page 291, Problem 27:
Consider the following plot of TCP window size as a function of time.
Image on page 291 not shown
Assuming TCP Reno is the protocol experiencing the behavior
shown above, answer the following questions. In all cases, you
should provide a short discussion justifying your answer
- Identify the intervals of time when TCP slow start is
operating
- Identify the intervals of time when TCP congestion
avoidance is operating
- After the 16th transmission round, is segment loss detected
by a triple-duplicate ACK or by a timeout?
- After the 22nd transmission round, is segment loss detected
by a triple-duplicate ACK or by a timeout?
- What is the initial value of Threshold at the
first transmission round?
- What is the value of Threshold at the 18th
transmission round?
- What is the value of Threshold at the 24th
transmission round?
- During what transmission round is the 70th segment sent?
- Assuming a packet loss is detected after the 26th round by
the receipt of a triple duplicate ACK, what will be the
values of the congestion-window size and of Threshold?
- Page 293, Problem 34:
Consider sending an object of size O = 100 Kbytes from
server to client. Let S = 536 bytes and RTT = 100 msec.
suppose the transport protocol uses static windows with window
size W. (See Section 3.7.2)
- For a transmission rate of 28 kbps, determine the minimum
possible latency. Determine the minimum window size that
achieves this latency.
- Repeat (a) for 100 kbps.
- Repeat (a) for 1 Mbps.
- Repeat (a) for 10 Mbps.
Assignment 3
(Due 2/14)
- Page 404, Problem 4:
Consider a VC network with a 2-bit field for the VC number.
Suppose that the network wants to set up a virtual circuit over
four links: link A, link B, link C, and link D.
Suppose that each of these links is currently carrying two other
virtual circuits, and the VC numbers of these other
VCs are as follows:
| Link A |
Link B |
Link C |
Link D |
00 01 |
01 10 |
10 11 |
11 00 |
In answering the following questions, keep in mind that each of
the existing VCs may only traverse one of the four links.
- If each VC is required to use the same VC number
on all links along its path, what VC number could be
assigned to the new VC?
- If each VC is permitted to have different VC numbers
in the different links along its path (so that the forwarding
table must perform VC number translation), how many
different combinations of four VC numbers (one for each
of the four links) could be used?
- Page 405, Problem 7:
Consider a datagram network using 32-bit host addresses. Suppose
a router has four links, numbered 0 through 3, and packets are
to be forwarded to the link interfaces as follows:
| Destination Address Range |
Link Interface |
11100000 00000000 00000000 00000000
through
11100000 11111111 11111111 11111111 |
0 |
11100001 00000000 00000000 00000000
through
11100001 00000000 11111111 11111111 |
1 |
11100001 00000001 00000000 00000000
through
11100001 11111111 11111111 11111111 |
0 |
| otherwise |
0 |
- Provide a forwarding table that has four entries,
uses longest-prefix matching, and forwards packets to
the correct link interfaces
- Describe how your forwarding table determines the
appropriate link interface for datagrams with
destination addresses:
11001000 10010001 01010001 01010101
11100001 00000000 11000011 00111100
11100001 10000000 00010001 01110111
- Page 407, Problem 15:
Consider sending a 3000-byte datagram into a link that has
a MTU of 500 bytes. Suppose the original datagram is stamped
with the identification number 422. How many fragments are
generated? What are their characteristics?
- Page 407, Problem 19:
Following up on the previous problem, now suppose that both
Arnold and Bernard are behind NATs. Try to devise a technique
that will allow Arnold to establish a TCP connection with
Bernard without application-specific NAT configuration. If you
have difficulty devising such a technique, discuss why.
- Page 408, Problem 21:
Consider the following network (figure on page 408). With the
indicated link costs, use Dijkstra's shortest-path algorithm to
compute the shortest path from x to all network nodes.
Show how the algorithm works by computing a table similar
to Table 4.3.
- Page 411, Problem 33:
Consider the topology shown in Figure 4.41. Suppose that all
links have unit cost and that node E is the broadcast source.
Using arrows like those shown in Figure 4.41, indicate links
over which packets will be forwarded using RPF, and links over
which packets will not be forwarded, given that node E
is the source.
Assignment 4
(Due 2/23)
- Page 494, Problem 4:
Consider the 4-bit generator, G, shown in Figure 5.8, and
suppose the D has the value 10101010. What is the
value of R?
- Page 496, Problem 11:
Suppose nodes A and B are on the same 10Mbps Ethernet segment, and
the propagation delay between the two nodes is 225 bit times. Suppose
node A begins transmitting a frame and, before it finishes, node B
begins transmitting a frame. Can A finish transmitting before it
detects that B has transmitted? Why or why not? If the answer is yes,
then A incorrectly believes that its frame was successfully transmitted
without a collision. Hint: Suppose at time t=0 bit
times, A begins transmitting a frame. In the worst case, A transmits
a minimum-sized frame of 512+64 bit times. So A would finish
transmitting the frame at t=512+64 bit times. Thus, the answer
is no, if B's signal reaches A before bit time t=512+64.
In the worst case, when does B's signal reach A?
- Page 497, Problem 164:
Recall that ATM uses 53-byte packets consisting of 5 header bytes
and 48 payload bytes. Fifty-three bytes is unusually small for
fixed-length packets; most networking protocols (IP, Ethernet,
Frame Relay, and so forth) use packets that are, on average,
significantly larger. One of the drawbacks of a small packet
size is that a large fraction of link bandwidth is consumed
by overhead bytes; in the case of ATM, almost 10 percent of the
bandwidth is "wasted" by the ATM header. In this problem we
investigate why such a small packet size was chosen. To this end,
suppose that the ATM cell consists of L bytes (possibly
different from 48) and 5 bytes of header.
- Consider sending a digitally encoded voice source
directly over ATM. Suppose the source is encoded at
a constant rate of 64 kbps. Assume each cell is
entirely filled before the source sends the cell into
the network. The time required to fill a cell is the
packetization delay. In terms of L,
determine the packetization delay in milliseconds
- Packetization delays greater than 20 msec can cause
a noticeable and unpleasant echo. Determine the
packetization delay for L=1,500 bytes (roughly
corresponding to a maximum-sized Ethernet packet) and
for L=48 (corresponding to an ATM cell)
- Calculate the store-and-forward delay at a single
ATM switch for a link rate of R=155 Mbps (a
popular link speed for ATM) for L=1,500 bytes,
and for L=48 bytes.
- Comment on the advantages of using a small cell size.
- Page 560, Problem 3
Suppose that the receiver in Figure 6.5 wanted to receive the
data being sent by sender 2. Show (by calculation) that the
receiver is indeed able to recover sender 2's data from
the aggregate channel signal by using sender 2's code.
- Page 561, Problem 11
Consider two mobile nodes in a foreign network having a
foreign agent. It is possible for the two mobile nodes to
use the same care-of address in mobile IP? Explain your answer.
Assignment 5
(Due 3/28)
You are to create a simple POP3 client. You may choose any language
you want (it does not have to be in Java, although I expect many of
them will be). When starting, it should ask the user for their account
name and password (you may be lazy and allow the password to show
on the screen). When you connect to the POP3 server, you should
list the numbers assigned to the available messages.
You should then respond to four commands:
| l | List the numbers of the available messages |
| r99 | Read message 99 |
| d99 | Delete message 99 |
| q | Disconnect from the server and quit |
Blackboard course documents contain account information.
The assignment on Blackboard also contains a complied
Java byte-code example program.
Assignment 6
(Due 4/4)
Create a Perl/CGI script to handle a pizza buisness. The
CGI script should display a form for ordering a pizza. The user should
have a choice between Large, Medium, and Small pizza, and have a
choice of at least four toppings, as well as a place to enter their
name and address. When the user submits the form, you should display
the requested pizza, the cost of the pizza, and the user name and
address. You may choose for yourself the cost of each pizza size and
toppings. If you wish, you may use either one file or separate files
for ordering the pizza and processing the order.
Assignment 7
(Due 5/4)
- Page 723, Problem 1: Using the monoalphabetic cipher in Fig 8.3,
encode the message "this is an easy problem." Decode the message
"rmij'u uamu xyj."
- Using the Vigenère cipher discussed in class, encode the
message "I am a computer science student." using the
keyword "binary".
- Page 724, Problem 7: The Internet BGP routing protocol uses the
MD5 digest rather than public key encryption to sign BGP messages.
Why do you think MD5 was chosen over public key encryption?
- Page 724, Problem 9: In the protocol and discussion of Figure
8.19, why doesn't Alice have to authenticate Bob explicitly?
- Page 724, Problem 12: Consider the following variation of the
packet-filtering firewall discussed in Section 8.6. Suppose Alice wants
to disallow access to her network 222.22.0.0/16 from the public Internet
(rule R3 in the first table below). Alice is again collaborating with
Bob and his colleagues, who are at an university, and so Alice wants to
let users from Bob's university (whose network address is 111.11.0.0/16)
access a specific subnet, 222.22.22/24, within her company's network
(rule R1 below). Alice knows that Trudy, a well-known hacker, is in Bob's
university and that Trudy's subnet, 111.11.11/24, is an insecure hacker
haven. So Alice doesn't want any traffic from 111.11.11/24 entering
anywhere into her network (rule R2 below) except into the special
subnet 222.22.22/24 (allowed under rule R1; this exception is the important
difference from our example in Section 8.6). Alice's packet filtering
rules are summarized in the table below.
| Rule |
Source Address |
Destination Address |
Action |
Comments |
| R1 |
111.11/16 |
222.22.22/24 |
permit |
Let datagrams from Bob's university network (including Trudy's
hacker subnet) into a restricted subnet |
| R2 |
111.11.11/24 |
222.22/16 |
deny |
Don't let traffic from Trudy's subnet into Alice's network;
but see R1. |
| R3 |
0.0.0.0/0 |
0.0.0.0/0 |
deny |
don't let traffic into Alice's network |
- Fill in the table below for the actions taken for this
scenario under ordering R1, R2, and R3, and under ordering
R2, R1, R3.
- For packets P1, P2, P3, and P4, what would be the result of
removing rule R2?
| Datagram Number |
Source IP Address |
Destination IP Address |
Desired Action |
Action Under R2, R1, R3 |
Action Under R1, R2, R3 |
| P1 |
111.11.11.1 (hacker subnet) |
222.22.6.6 (corp net) |
deny |
| |
| P2 |
111.11.11.1 (hacker subnet) |
222.22.22.2 (special subnet) |
permit |
| |
| P3 |
111.11.6.6 (univ. net, not the hacker subnet) |
222.22.22.2 (special subnet) |
permit |
| |
| P4 |
111.11.6.6 (univ. net, not the hacker subnet) |
222.22.6.6 (corp net) |
deny |
| |
Return to the CSC 460 home page
Return to my home page