Spring 2015





This assignment is due at 5:00pm on February 20th and will be graded by your TAs. Submit your write-up via our submission site.

For this assignment, your job is to analyze and critique DNS. Your focus will be on the system itself, not on analyzing and critiquing a particular source material (that will come in future critiques). To help in this assignment, you should consult our guide to analyzing systems. That guide contains many common questions we ask about systems, though it is not exhaustive.

Answer the following questions about DNS using book sections 2.2, 3.1, and 4.4 for reference.

Understanding how the system works:

  1. What problem does DNS solve?
  2. What is a typical use-case for DNS?
  3. Briefly describe the technique that preceded DNS. What were the problems with that technique?
  4. What are the modules in DNS? How does information flow through the system?

Understanding its design principles

  1. Does DNS scale well? If so, describe the mechanisms that allow it to scale.
  2. Name at least one type of failure that can occur in DNS and describe how it is handled.

Critiquing the system

  1. Think about scale, failures, and security/trustworthiness. If any of these issues are not handled by DNS, explain whether that is a shortcoming of the system (and if so, why).
  2. Within DNS's environment, under which use cases does it perform poorly, if any? Are those use cases common (if they exist)?

Questions or comments regarding 6.033? Send e-mail to the 6.033 staff at .

Top // 6.033 home //