CS386M: Communication Networks

Homework 2

Fall 2008

Due: October 7, 2008

 

 

Basic guidelines:

 

 

Problem 1: SS7 vs. Mobile IP (18 points)

In SS7, call forwarding is accomplished as follows (excerpted from the Modarressi and Skkog SS7 tutorial article, pg 29, cited in our readings page). "Upon receipt of an IAM, with a called party number for which call forwarding is in effect, the destination exchange determines if the redirection number is in the same exchange. If so ... it sends back an ACM containing the redirection number to the original exchange. If the redirection number is in another exchange, an IAM that contains the redirection number as the called party number is send from the original destination exchange to the exchange with the redirection number. The latter exchange [the exchange with the redirection number] then sends an ACM containing the redirection number to the originating exchange." The originating exchange now has the redirection number and can place the call.

Consider how this call forwarding is done in SS7 and how forwarding is done in Mobile IP.

 

Problem 2: Randomization for Reliable Multicast (36 points).

This problem examines how randomization can be used to further improve the performance of reliable multicast.  Let S be a single sender, and R1, R2, …, Rn be n  receivers.   Let pk be the packet loss rate for the path from S to Rk.  We assume that the event of packet loss is independent from packet to packet and from path to path.  The path from receivers to the sender has zero packet loss (so feedback is reliable).   Suppose S wants to send a file with F data packets reliably to all the receivers.  For question (a) and (b) below, we do not consider local loss recovery, i.e., loss recovery is completely done by the sender in the form of retransmission through (unreliable) multicast. 

(a)     Naïve approach: S keeps retransmitting each data packet until all receivers have successfully received the packet.  Using this approach, what is the expected number of packets that S needs to transmit in order for the entire file to be delivered to all the receivers?  Hint: the number of expected transmissions for each original data packet = sum_{t=1..inf} prob{ after t transmissions of the packet, at least 1 receiver didn’t receive any of the t transmissions }.

(b)     Digital fountain approach: Instead of transmitting the original data packets, S transmits random linear combinations of the original data packets.  The receivers can then reconstruct the original data packets after they have received F linearly independent coded packets.  Using this solution, what is the expected number of packets that S needs to transmit in order for the entire file to be delivered to all the receivers?  For simplicity, we assume that F is large enough so that no F-1 packets ever generated by S are linearly dependent.  Hint: the expected number of total transmissions = sum_{t=1..inf} prob{ after t transmissions, at least 1 receiver receives less than F transmissions }.  Please also refer to the Wikipedia page on Binomial distribution: http://en.wikipedia.org/wiki/Binomial_distribution

(c)     Discuss how local loss recovery can be added to the digital fountain approach.  In particular, what should a receiver ask for when it does not receive enough packets?  What should the repair packets be?

(d)     For n = 100, pk = 0.5 (for any k), F = 100. Please numerically answer (a) and (b).  You may need to write a little program (or use something like matlab) to obtain the numerical answers.  For (a), you can set inf to 20, for (b) you can set inf to 2000.

 

Problem 3: Randomization and Indirection (20 points)

Read the paper, M. Reiter, A. Rubin, "Crowds: Anonymity for Web Transactions" ACM Transactions on Information and System Security. You only need to read sections 1, 2 and 4. What are randomization and indirection used in this protocol? Pick two examples of randomization and indirection that we studied in class, and compare and contrast the use of randomization and indirection in Crowds, and in these two protocols.

 

Problem 4: Concast (16 points).

We saw how the I3 architecture can be used to implement unicast, multicast, and anycast communication. Consider a model of communication known as concast, in which data sent from two senders is "fused" together before being sent to the receiver (for example, the data being fused might be two acks being sent by two multicast receivers back to a multicast sender).  For our purposes here, suppose that "fusing" means the addition of two values (one sent from each of two senders) that should be added together before being sent to the receiver.  Show how concast can be implemented using the I3 architecture and describe how and why your solution works.

 

Problem 5: Internet Design Principles (10 points)

Clark describes the design goals that guided the development of the Internet protocols.  Describe a negative artifact that remains due to the priority placed on different goals.  How could this problem be addressed?