CS386M: Communication Networks
Homework 2
Fall 2009
Due: October
6, 2009 (Tuesday)
Basic guidelines:
Problem 1: SS7
vs.
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 and Indirection (12 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 3: Concast and I3 (15 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 4: The End-to-End Principle.
(16 points)
(a) Why are overlay networks of interest?
That is, what value do they provide over and above IP networks? Do overlay
networks violate the end-to-end principle? Comment. If
you conclude that they do violate the end-to-end principle, what does this
imply for their eventual impact in the Internet? If you conclude that they do
not violate the end-to-end principle, explain why not.
(b) Does a content distribution
network such as Akamai, which creates a large
infrastructure that sits "between" an end user and an origin server,
violate the end-end principle? Your answer can be short (a paragraph). For more
information about content distribution networks, see http://en.wikipedia.org/wiki/Content_Delivery_Network
Problem 5:
Internet Design (10 points)
Problem 6:
Randomization for Reliable Multicast (32 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=0..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=0..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.