CS204 Fall 2013
Assignment 1
Due: 11:59pm Monday October 28, 2013
- We say that a packet switch (such as an Ethernet "switch" aka.
layer-2 transparent bridge or an IP router) is non-blocking
if its internal components can forward packets at "wire speed" between
all ports simultaneously without dropping anything. For example, if the
switch has N ports
with a data rate of 100 Mbps,
it must be capable of receiving packets at a combined rate of 100*N Mbps across all ports, and
transmitting packets at a combined rate of 100*N Mbps across all ports, as
long as the required output rate through every port is no more than 100 Mbps. In particular, such a
switch must be capable of supporting any permutation, P, where all arrivals on port k exit through port P(k).
- Suppose I give you several identical
switches, each with the N
ports running at the same data rate. Can you combine them to build a non-blocking
network structure that connects more than N users?
Explain
your
answer.
- Now let us relax the traffic-handling requirement in the
following way. This time, let us assume that the destinations for
packets arriving at each port is evenly distributed over
the
other
ports. (Don't worry about random fluctuations -- just assume
that a fraction 1/(N-1) of the
packets from port i must exit
through port j, for all j != i.) Also assume that N is "large enough" for us to
ignore the fact that no packet exits through its entry port, so that
half the traffic entering from any port exits through ports 1 through N/2, and half exits through ports N/2+1 through N. What is the maximum number of
users that can be supported under this traffic model using two
identical N-port switches?
[HINT: Because of symmetry, assume that each switch uses M
ports to create a multi-channel connection to the other switch and the
remaining N-M ports to connect users.]
- Repeat part (b) assuming you have three
identical N-port
switches. Ignore the requirement that layer-2 bridged networks
cannot have cycles, and consider both options where the three switches
are directly connected to form a triangle, or switches 1 and 3 must
communicate along a 2-hop path through switch 2. [HINT: Because of
symmetry, assume each switch-switch connection uses M parallel
channels, so in the second topology switch 2 has only N-2M
ports available for connecting users.]
- Many commercial Ethernet switches include one or more "uplink
ports", whose data rate is exactly 10 times higher than a "normal"
port,
since
Ethernet supports a variety of link speeds including 100
Mbps, 1 Gbps, 10 Gbps and 100 Gbps. Thus, for this question assume
that: (i) all users are connected to "edge" switches (twenty 100 Mbps
downlinks + two 1 Gbps uplinks), (ii) the uplinks from edge switches
may be connected to "mid level" switches (twenty 1 Gbps downlinks + two
10 Gbps uplinks), and (iii) the uplinks from mid level switches may be
connected to "core" switches (twenty 10 Gbps downlinks + two 100 Gbps
uplinks).
- Suppose you have exactly two "core" switches and
plenty of "edge" and "mid level" switches available. What is the
largest (in terms of the number of connected users) non-blocking
layer-2 bridged network you can construct below an interconnected pair
of "core" switches?
- Now suppose each "core" switch can function as an IP router (for
traffic exchanged with other core switches, typically through its 100
Gbps uplinks) as well as a layer-2 transparent bridge (for traffic
exchanged with its mid level switches through certain 10 Gbps
downlinks). Briefly explain why this change allows us to construct a much larger network
(in terms of number of connected users). The routed core should have
very high capacity, but doesn't need to be fully non-blocking.
- In addition to supporting high throughput and large numbers of
connections, a large data center network must also be reliable, in
the sense of continuing to operate despite the failures of a few links
and/or switches. Unfortunately, the "fat-tree" bridged network
you created in problem 2(a) has zero
redundancy, so that any single failure will disconnect the
network. A naïve solution to this problem would be to duplicate the entire
network, by installing a backup ("blue") switch next to each
regular ("red") switch and then: (i) installing "red" and "blue"
network cards in all users and connecting each to the same-colored
"edge" switch; (ii) adding "blue" switch-switch links to connect all
"blue" switches in the same pattern as the "red" network"; and (iii)
adding "purple" switch-switch links to connect each "red" switch to the
backup "blue" switch on the next level (both up and down) of the tree.
- How must the total number of ports in each switch change to
support the "purple" connections?
- Suppose you run Spanning Tree on your "red"/"blue"/"purple"
network. What fraction of the total number of links and switches
will be active, assuming one of the "red" core switches forms the root
of the (active) tree?
- Suppose you have been able to force the active tree to include
all "red" and "blue" links, plus a single "purple" link between core
nodes. What happens when a user tries to send a packet from its "red"
network interface to its neighbor's "blue" network interface?
- If we eliminate the tree topology restriction, we could make use
of "backup" hardware all the time, to increase throughput and/or
shorten path lengths in the network. However, doing so by moving from
layer-2 bridging to IP routing has disadvantages related to management
complexity and higher equipment cost. Thus both the IETP (via "TRILL")
and IEEE 802 (via "Shortest Path Bridging") are developing separate
standards for layer-2 switched networks that can support mesh-like
topologies. Read at least two sources describing each proposal
(including at least one standards document) and then summarize their
main ideas in a couple of paragraphs (say 200-300 words).
What to turn in.
Send online document to my email account mart@cs.ucr.edu (PDF
preferred, but plain text is OK) containing your written answers to the
above questions. Note that your answers can include references to
online documents or other web pages. However, even if you find a
document that contains the exact answer to the question, you must still
provide a summary in your own words, rather than just telling me to
read the other document(s). In addition, your answers to question
1 must be specific: don't
just tell me the answer is located somewhere in document X without identifying the
particular section/clause, figure, or table that contains the
information.