This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Solution to CSE 489/589Homework Assignment 2 Prepared by Hung Q. Ngo * October 18, 2010 Problem 1 (Birthday attack) . To poison the cache of a DNS server, in the old days the attacker only needed to match the Query ID, which is a 16bit number. Let n = 2 16 be the size of this sample space. The attacker sends m DNS requests (for the same domain), which will trigger m DNS queries with different (presumably randomized) IDs being sent, and then the attacker sends k faked replies whose IDs are chosen randomly in the set [ n ] = { 1 , ,n } . The probability that no (faked) reply has a matching ID with a query was shown in class to be ( 1 m n ) k e mk/n . So the attackers failure probability can be approximated to be e mk/n . Generally, the attacker wants to minimize the total number of packets he has to send (thats m + k ) and mimimize the chance of failure too. For n = 2 16 , to guarantee at most a 1 / 1000 chance of failure, whats the minimum number of packets he has to send? (Use e mk/n as the failure probability.) Repeat the quesiton for n = 2 32 , which is the case with randomized port numbers and Query IDs. Answer. We want to minimize m + k subject to e mk/n 1 / 1000 , which is equivalent to mk n ln1000 . For a fixed integer m , the number of packets sent is at least f ( m ) = m + n ln1000 m . The function is minimized at m n ln1000 for a total of roughly 2 n ln1000 . (We will be off by 1 at most, due to integral rounding. So, its ok for your answer to be within 1 of the given answers below. The entire process is an approximation anyway because we have used e x to approximate 1 x .) When n = 2 16 , 2 n ln1000 is approximately 1346 . When n = 2 32 , 2 n ln1000 is approximately 344 , 491 . Problem 2. Suppose we run the GoBackN protocol for a channel with endtoend delay 30 ms (typical for coasttocoast). Suppose the window size is 2 16 bytes long. (This number is indeed the maximum TCP window size without window scale option). The channel is perfectly reliable with bit rate 10 Gbps. What is the maximum utilization theoretically achievable? (Assume ACK transmission time is negligi ble.) Answer. The amount of time it takes to send a full window is only 65536 8 10 10 = 524 , 288 10 7 ms, much less than RTT = 60 ms. The maximum utilization is the maximum fraction of time the channel is busy within an RTT, which is 524 , 288 10 7 60 = 0 . 000873813333 . This is horrible, illustrating the need for the Window Scale Option. Problem 3. In this problem, we attempt to derive a highly simplified macroscopic model for the steadystate behavior of TCP. The major question wed like to answer is: given a certain loss rate, whats the maximum throughput TCP (Reno) can achieve. For simplicity, we will assume that all losses are signaled by the receipts of triple duplicate ACKs. (If there was a timeout event, slowstart with recover * Please let me know of any mistake/typo ASAP.Please let me know of any mistake/typo ASAP....
View
Full
Document
This note was uploaded on 12/03/2010 for the course CS 489 taught by Professor Hungngo during the Fall '10 term at SUNY Buffalo.
 Fall '10
 hungngo
 Networking

Click to edit the document details