CS204 Fall 2008
Assignment 1
Due: 11:59pm Monday October 20, 2008
- In an Ethernet "switch" (i.e., a layer-2 transparent bridge), one
can use the SNMP protocol to: (a) retrieve a count of the total number
of octets (i.e., bytes) received from port i since the last time the switch
was rebooted, and (b) select whether or not to run the Spanning Tree
protocol on port i. What are
the formats of the SNMP request packets and the associated response
packets for querying this octet counter, and for instructing the
Spanning Tree protocol to run. You must cite references from the
appropriate standards document to explain the general format of the
SNMP packet, the names of each object you wish to manage, and the
format of the results returned.
- Recall from lectures that Link
Aggregation is a technique for
simulating a single
higher data-rate connection between endpoints (typically Bridges or
large servers) by distributing the traffic across a set of parallel
physical links (known as a Link Group),
and that it provided a
practical real-world example where trying to maintain strict layering
of protocols gets into trouble. For this question, you will need to
read sections from various IEEE 802 standards, which you can download
from here. (Don't
be frightened by the standards documents! I think it is an important
skill for students to learn how to read standards, but we won't be
doing a lot more of it in this class.)
- Read chapters 7 (Principles
of Bridge operation) and 17 (Rapid
Spanning Tree Protocol) from the IEEE 802.1D-2004 standard, and
briefly
summarize the relationship (in terms of hierarchical layering and
services used) between the RSTP application executing on this Bridge,
the set of Ports connected to the Bridge, and the MAC layer
entities serving those Ports.
- One possible approach for implementing Link Aggregation would
be to add the functionality into the MAC
Relay Entity in the Bridge. In
other words, the MAC Relay Entity would need to be modified so that it
learns which MAC addresses are associated with each Link Group (rather
than individual Bridge Port), and its forwarding decisions would send a
packet to any Bridge Port associated with the output Link Group. Briefly explain why this
approach is not compatible with the Rapid
Spanning Tree Protocol.
- Now suppose Link Aggregation were placed below the MAC layer in
the protocol hierarchy (so the distribution of traffic across the Link
Group is pushed down to the interface between the MAC layer and
Physical layer). Briefly explain why the requirement to maintain packet
ordering across all packets belonging to a single "conversation"
conflicts with the principle of layering in this case.
- Read chapter 43 (Link
Aggregation) from the IEEE 802.3-2005 Ethernet standard to
see how the standards development process resolved this dilemma. (BTW,
this is a
very large document, and you will find chapter 43 in Section 3). Does
this architectural approach solve the packet ordering problem in an
extended (i.e., Bridged) LAN environment without
violating the prinicple of layering?
- Briefly describe the problem if we try to apply Link
Aggregation to the ports of an IP
router instead of a Bridge? Since IP routers don't mind networks that
contain cycles, and certain well-known routing algorithms (such as
OSPF) are happy to load-balance traffic across multiple equal-cost
paths anyway, how much does this really matter?
- This problem illustrates the point from the "End-to-End
Arguments" paper, that adding link-level reliability may lead to a
significant performance increase, even though it cannot by itself
provide a reliable delivery service. Suppose Alice and Bob are
connected by an N-hop path
through an unreliable wireless network. In particular, assume that L=10% of the packet transmisions by
a node, chosen at random, are not successfully received by its next-hop
neighbor along the
path.
- Suppose "dumb" sensor node Alice sends periodic temperature
readings (say) to gateway Bob using a lossy-datagram protocol like raw
UDP, where there is no effort to detect and recover from packet losses.
What fraction of Alice's sensor readings does Bob receive? (Make sure
to express your answer in terms of L
and N.)
- Now assume that Alice and Bob add end-to-end reliability on top
of their lossy-datagram protocol. For simplicity, assume that Bob has
an "ideal timeout mechanism" that notifies him when each missing sensor
reading should have arrived. Thus, Bob always sends an ACK/NACK control
message to Alice in response to each sensor message she tried to send
him, and somehow every one of Bob's ACK/NACK messages are reliably
delivered to Alice. Whenever Alice receives a NACK, she immediately
retransmits a duplicate copy of her most recent sensor message, and so
on until she gets an ACK. (Assume that the roundtrip time for a single
attempt is much smaller than the time between sensor readings, so we
don't need to worry about queued requests.) In this case, what fraction
of Alice's sensor readings does Bob recieve? On average, how many
copies of each sensor message are transmitted over each hop along the
path?
- Now assume that we add link-level acknowledgmenets to the
network. In this case, whenever a packet transmission by a node is not
received by its next-hop neighbor along the path, this node immediately
sends a duplicate copy of the same packet to the same next-hop
neighbor, and so on until the packet has reliably reached the next-hop
neighbor. How many copies of each sensor message are transmitted over
each hop?
- Compare the combined number of one-hop message transmissions
required
to deliver a single sensor message all the way from Alice
to Bob in parts (b) and (c). What happens in each case as the number of
hops (N) or loss probability (L) increases
- GPS (Global Positioning System) allows one device to compute its
own physical location using messages received from multiple trusted
"beacons" with known locations. Protocols for solving the inverse
problem, where multiple trusted "verifiers" jointly compute the
physical location of a stranger, is an area of active research known as
"position verification" or "secure localization." The key point is that
the stranger might be dishonest, so the correctness of the protocol
cannot depend on the stranger sending truthful information in its
messages. Waters
and Felten have proposed a secure localization system which
assumes that the stranger has a tamper-proof "device" issued by some
trusted Certification Authority. The details of their protocol are not
important for answering this question: all that matters is that (i) the
trusted "device" is a separate entity from the untrusted stranger, and
(ii) the verifier measures the round-trip time for the "device" to
answer some skill-testing question to determine its distance from the
verifier.
- Waters and Felten do not describe the interface between their
"device" and the stranger to whom it was issued. Assuming the
"stranger" is a laptop computer, use the End-to-End Argument to explain
why it is important to know whether the "device" is a simple add-on
card that relies on the laptop's network interface to communicate with
the verifier, or is completely self-contained (like a cell phone or
PDA) and thus equipped with its own independent network interface.
- If the "device" was completely self-contained, then clearly we
could provide it with an internal GPS receiver and simply allow it tell
the verifier of its location without resorting to skill testing
questions and RTT measurements. What's wrong with this approach? (Think
of the End-to-End Argument again, and the fact that the ultimate goal
for the protocol is to determine the location of the stranger, and not
simply the "device".)
What to turn in.
An online document (PDF preferred, but plain text is OK) containing
your written answers to the four questions above. 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.