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:
- What problem does DNS solve?
- What is a typical use-case for DNS?
- Briefly describe the technique that preceded DNS. What were the
problems with that technique?
- What are the modules in DNS? How does information flow through
the system?
Understanding its design principles
- Does DNS scale well? If so, describe the mechanisms that allow
it to scale.
- Name at least one type of failure that can occur in DNS and
describe how it is handled.
Critiquing the system
- 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).
- Within DNS's environment, under which use cases does it perform
poorly, if any? Are those use cases common (if they exist)?
|