Basic design assumptions
- provide at least all the same information as hosts.txt
- allow the database to be maintained in a distributed manner
- no obvious size limits for names, name components, data associated with a name, etc.
- interoperate across the DARPA Internet and in as many other environments as possible
- tolerable performance
- Lean service versus general distributed database
- Hierarchical organization (zones) and namespace
- Caching, negative caching
- Resource Record: Type, Class, TTL, data of variable types
- servers and resolvers
- root servers (with rates of 1 query/sec in 1988)
- datagram (UDP) access
- Pre-DNS: hosts.txt was used for quiet a long time
- it took time to convert more hosts from pre-DNS hosts.txt to DNS and delegate domains
- the importance of Berkeley UNIX's bind
- applications had to be modified to handle transient failures when using DNS instead of hosts.txt lookups
- DNS was intended to be far more general to lookup up names of anything. Today it is used almost exclusively to map "hostname <-> IP (+MX)"
- in the early days, people controling a domain didn't necessarily have the expertise to configure DNS correctly (and I thought in the good old days, only people who knew what they were doing had access to the Internet)
- RR had Class field which would allow different namespaces for DARPA net, ISO directory service, ...
No comments:
Post a Comment