MCS-394 Homework (Spring 2002)
When turning in a homework problem, if it is one from the book, you
should indicate not only the exercise number, but also which kind of
exercise it is: review question, problem, or discussion question. The
code I will use for this is as follows: 1.r2 is review question 2 of
chapter 1; 1.p7 is problem 7 of chapter 1; 1.d1 is discussion problem
1 of chapter 1. Please use this code when you turn in the problems,
and I will use them in reporting back your standing on the homework.
For any problems that are not from the book, I will specify the
problem number to use, which will have an x in it (e.g., 1.x2).
Note that I will add problems to this list from time to time, but
unless I warn you otherwise, only by adding entire new chapters at the
end. So if you check back, tell your browser to reload the page (in
case it has an old version cached) and then look and see if there are
any new chapters after what used to be the last chapter with problems
Chapter 1
- Problem 1.r2, p. 64.
- Problem 1.p7, pp. 67-68.
- Problem 1.d1, p. 68.
Chapter 2
- Problem 2.r12, p. 160. Assume Bob's mail server is different from Alice's.
- Problem 2.r18, p. 160. Assume the organization's web and mail
servers are different. For example, they might be www.foo.com and
mail.foo.com, each with a type A record with a different IP address.
Web access to foo.com should be just like to www.foo.com, whereas mail
addressed to foo.com should go to mail.foo.com. What RR type is used
to provide the translation of foo.com in each context? (The book just
asks about the mail context; I want both.) There may be more than one
correct answer.
- Problem 2.p6, p. 162.
- Problem 2.p8, p. 162. Don't just repeat the RFC's technical
description of what UIDL does. Summarize it, but also give some
thought to what that function might be useful for.
Chapter 3
- Problem 3.r6, p. 261.
- Problem 3.p3, p. 262. Note that this problem refers to a
correction in protocol rdt2.1 that may not have been fully made in
your book. The original (buggy) version of rdt2.1 had the receiver
FSM shown in the problem on page 262 in place of that in Figure 3.12
on page 189. It also had buggy text at the bottom of page 189, which
your book may well still have: "A negative acknowledgement is sent
whenever a corrupted packet or an out-of-order packet is received."
This refers to the buggy FSM on page 262. The correct text for page
189, to go with Figure 3.12, is "When an out-of-order packet is
received, the receiver sends a positive acknowledgement for the packet
it has received. When a corrupted packet is received, the receiver
sends a negative acknowledgment." Also, the problem itself has a typo
in it: the question should be how a deadlock can occur when the FSM on
p. 262 is used together with that of Figure 3.11 (not 3.12). Assume
that the sender starts in the "Wait for call 0 from above" state and
the receiver starts in the "Wait for 0 from below" state.
- Problem 3.p9, p. 263.
- Problem 3.x1: Normally if a TCP host receives a segment with
sequence number 1000 and length 1460 (for example), it will respond
with an ACK of 2460, since that is the sequence number of the next
byte anticipated. Suppose instead that it sent two ACKs, one with the
ACK number field being 2000 and the second with it being 2460. In
terms of the simplified TCP sender of Figure 3.31 (p. 217), is there
any harm in this "divided ACK"? Next, consider the TCP congestion
control algorithm as described on page 242. What would the impact of
the divided ACK be on this algorithm? Is this a good or a bad thing?
Chapter 4
- Problem 4.r10, p. 369. Be sure to justify your answer.
- Problems 4.r23 and 4.r25, p. 370. (I will mark these as a single
problem, which I will label 4.r2325.)
- Problem 4.p3, pp. 370-371.
- Problem 4.p4, p. 371.
Chapter 5
- Problem 5.p4, p. 474.
- Problem 5.p14, p. 476.
- Problem 5.p15, p. 476.
Chapter 6
- Problem 6.p11, p. 560.
- Problem 6.p15, p. 561.
- Problem 6.p17, p. 561.
Chapter 7
- Problem 7.x1: Read one of the following papers, determined by the
start of your last name. Write a one-page summary, in your own words,
of the paper. All these papers were published in the 10th
USENIX Security Symposium, October, 2001.
- Last names B-F
- "Using Client
Puzzles to Protect TLS," by Drew Dean and Adam Stubblefield
- Last names J-M
- "Network
Intrusion Detection: Evasion, Traffic Normalization, and End-to-End
Protocol Semantics," by Mark Handley, Vern Paxson, and Christian Kreibich
- Last names P-St
- "Dos and
Don'ts of Client Authentication on the Web," by Kevin Fu, Emil
Sit, Kendra Smith, and Nick Feamster
- Last names Sw-W
- "Inferring
Internet Denial-of-Service Activity," by David Moore, Geoffrey
M. Voelker, and Stefan Savage
- Problem 7.p10, p. 622.
Chapter 8
- Problem 8.x1: Do any of the problems at the end of chapter 8 (in
any category) that looks interesting to you. Label the problem as
8.x1 and also the problem's actual number.
- Problem 8.x2: Do any of the problems at the end of chapter 8 (in
any category) that looks interesting to you, other than the one you
did for 8.x1. Label the problem as 8.x2 and the problem's actual number.
Instructor: Max Hailperin