CS386M: Communication Networks
Homework 1
Spring 2008
Due: March 3rd, 2008
Basic guidelines:
Note that both
the size and the activity level of a group may vary over time. So a small group may become a large one later
and vice versa. Similarly, an active
group may become inactive later and vice versa.
What to turn in:
(i)
Present
your high-level design. Please provide
enough details for me to see how your design works. But there is no need to present low-level
details such as message types and formats. [40
points]
(ii)
Justify
why you think your design can support a billion groups. What are the state requirement, resource consumption,
control overhead, and data forwarding efficiency of your design? Please provide some back-of-the-envelope
calculation here. [30 points]
(iii)
Summarize
how different network design principles are applied in your design. [30 points]
Some potential design issues:
To guide your design, below
I will list a few potential design issues that are worth considering. There are clearly many other
challenges/tradeoffs. So please just use
my list as a starting point.
·
Tradeoff between forwarding
efficiency and state requirement: In order to construct an efficient multicast
forwarding tree for a group, a lot of on-tree routers (that are not group
members) may need to maintain state for that group. If we do so for every group, then the state
requirement may become too expensive.
·
Cost of maintaining group
membership: In
IP multicast, end-systems are required to periodically refresh their membership.
If we do so for every group, then the
control traffic overhead may become too expensive.
·
Explicit versus implicit
group membership: In
IP multicast, the group membership is implicit, i.e. no node knows the set of group
members – they just need to know the group address (Recall that this is an
example of “indirection”). Clearly, such an approach has both advantages and
disadvantages. Now that we have a
billion overlay multicast groups with diverse sizes and activity levels, it may
be worth re-examining the choice between explicit and implicit group
membership.
·
Load balancing: With a billion overlay
multicast groups, if we are not careful, we can easily
overload individual overlay routers (in terms of both state requirement and traffic
concentration).