[CS Dept., U Chicago]


Michael J. O'Donnell (Mike)

The Teacher

Courses

Strategic Choices in Designing the Internet

Study questions


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.

  1. * 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?

  2. * 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?

  3. * 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

  4. * 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?

  5. 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?

  6. 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?

  7. * 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.

  8. I classify packet drops into two categories: 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.

  9. * 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?
    1. First, analyze the queue under a steady load and draw the graph of average queue length vs. load.

    2. 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.

  10. 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?

  11. * The hierarchical structure of the DNS name space is overloaded. The hierarchy reflects at least two very different concepts: 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?

  12. * 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?

  13. 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.

  14. 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.


Valid HTML 4.0!


Last modified: Mon Dec 5 19:14:50 CST 2005