These are not homework exercises. They are questions to think about
as we discuss topics in the course. Some questions have fairly
objective answers. Others are matters of opinion. The course will not
provide definitive answers to all questions, but it should illuminate
some interesting ways to think about them. Think about these questions
as the course progresses, and look for information that helps to
answer them, or illuminates the issues involved.
I ordered the questions according to the order of topics in the
class. I put a * by questions that should be comprehensible before the
class discussion. For other questions, you may not even understand the
question until we reach that topic in class. Some of the questions are
very hard.
- * Think of examples of useful services that violate the layered
models of the Internet. In each example, does the design of the
service inherently violate the layered models, or just one method of
implementation?
- * Consider the importance of aggregation in route tables. Discuss
whether mobile network hosts should gain their mobility by using
mobile IP numbers [P&D 4.2.5], or whether mobility should be supported
at a higher level of abstract address.
Open question: How can we route messages in a totally
wireless network in which all hosts are mobile?
- * The structure of the Internet design is determined mostly by
delivery to normal unicast IP numbers. But in principle, any token
or data structure that directs delivery of a packet is a sort of
address. Find examples of different sorts of implicit and explicit
Internet addresses. Consider
- other sorts of IP numbers besides unicast;
- port numbers, and structures including port numbers (think about
UDP and NAT);
- domain names (think about multihosting and Akamai);
- tokens, such as URLs, used in protocols above the IP/UDP/TCP
level;
- try to think of other sorts of addresses.
- * Discuss the structural differences between the space of IP
numbers and the space of port numbers. Think of good and bad
consequences of the global assignment of specific port numbers to
specific protocols. How does virtualization (especially, virtual
hosts) affect your evaluation of globally assigned port numbers? Is
global assignment of ports more appropriate for certain types of
protocol, and less appropriate for others?
- Assuming my layers of Internet design (see slide called "Layers of
Internet design"), the need for address aggregation in routing tables
has an important impact on the organizational structure of the
network. Think of examples of that impact. Does the specific
aggregation by prefixes in CIDR have an important impact, or would
other sorts of aggregation, such as aggregation by arbitrary netmask,
have the same impact?
- IP forwarding does not require or encourage acknowledgment on
individual hops, or subpaths, of a packet's path from source to
destination. To what extent is this policy an application of the
end-to-end principle? What other principles of design support
it?
- * We may extend the internet beyond the earth
(Inter{planetary net}).
A direct link from Earth to Mars has a latency of 4 to 20 minutes,
depending on the positions of the planets in their orbits. Such long
links may call for adjustments to the behavior of IP routers. Perhaps
some routers should save packets that they forward until they receive
acknowledgment that the packet is received further along its
path.
Should a router save packets that are about to traverse the
interplanetary link, and wait for acknowledgment from the other
planet? Should packets be saved until acknowledged at some other point
in their paths?
I plan to discuss this question in class. You should think about it on
your own first. Maybe you will think of some different ideas than
mine.
- I classify packet drops into two categories:
- capacity drops, which are unavoidable due to limited
network capacity;
- congestion drops, where the
network performs below its capacity due to congestion.
The purpose of the classification is to guide congestion-control
methods by identifying which drops they can and cannot avoid. Think of
some other categories of packet drops, and discuss whether they are
useful.
- * Think of a single point-to-point link, with a single router
sending packets along the link, and using a queue to hold packets
while the link is busy (there is no contention with other routers on
this link).
What determines the queue length at a router?
- First, analyze the queue under a steady load and draw the graph
of average queue length vs. load.
- Then, consider the behavior under a varying load.
Qualitatively, what characteristic of the load causes a finite average
queue length greater than 0? If you know your probability and
statistics, you may define it mathematically.
Most people naturally decide to use
First-In-First-Oout queueing, because it
sounds fair. Similarly, when the queue is full, most people naturally
decide to drop arriving packets. This may not be the best strategy to
maximize useful throughput.
Explain why LIFO and dropping the oldest packet in queue be good
policies? That is, why they might produce greater useful throughput
that FIFO and dropping the arriving packet. Someone told me that
queueing for dial tone in the phone system actually worked this
way.
We generally think of longer queues as valuable resources, and we
limit queue length because of the memory cost. With FIFO and dropping
new arrivals, show how a longer queue may increase the number of
packets dropped due to congestion, instead of decreasing it.
- In class, we will find the optimal size of a reservation from the
graph of value vs. size. Our analysis implicitly assumes that the cost
of a reservation is proportional to its size.
More likely, there is a fixed cost R for reservation setup,
plus some additional cost S per packet. How does this change
the opimal reservation size? Does it get larger or smaller? Draw a
picture showing how to find the optimal reservation size on a graph of
value vs. size (see the slide called "Value function---limited helpful
reservation").
Suppose that best-effort delivery costs P per packet, where
P<S. Given a graph of value vs. size, how can we
determine whether or not a reservation is cost-effective?
- * The hierarchical structure of the DNS name space is
overloaded. The hierarchy reflects at least two very different
concepts:
- authority: different agents assign the names at
different nodes in the hierarchy;
- meaning: subhierarchies correspond to humanly
meaningful categories, such as institutions of higher education for
.edu
.
Think about principles for making the authority and meaning
hierarchies compatible. E.g., is it better to have authority-driven
nodes or meaning-driven nodes nearer to the root? Does the current DNS
follow your principles or violate them?
Should we consider even more than two hierarchical concepts for DNS?
E.g., should we separate responsibility for name servers from
authority for registering names?
Hierarchical file systems suffer from similar overloading. You might
get some ideas by thinking about all the different reasons for
collecting files/directories into a single subdirectory.
Open question: Is there a good way to separate the
two (or more) hierarchical concepts into different modules?
- * Discuss how services that organize the discovery of services on
the network, such as Google and Yahoo, may affect the need for
DNS. Should DNS become completely obsolete? Should the policies by
which it is administered change?
- In class, we will discuss a Public-Key
Infrastructure to provide information about a key owner from an
identifier (called a handle) based on the key. These
identifiers may be valuable even if the only messages actually signed
with the key are those entering information in the database.
Inexpert users might be unwilling or unable to manage private
keys. Describe a service that provides password control of handles for
such users. List several choices in the design, and discuss reasons
for choosing a particular option. Include the choice to use or not to
use hashes of public keys, and the choice of what to do with a private
key if the system uses public keys.
- In class, we will see how a PKI could be embedded in a selected
DNS zone, with public keys encoded into domain names. DNS allows PKI
zones to alternate freely with conventional zones in the tree
structure of domain names.
Discuss uses for PKI zones in the middle of DNS paths. What
combinations are not likely to be useful? Think about sequences of
reorganization that a handle owner might need to perform.
|
|
|
Last modified: Mon Dec 5 19:14:50 CST 2005