We want resources to be accessible by meaningful names (i.e. usable by humans) rather than IP addresses - map IP address to name, vice versa.
- e.g. translate URL into IP
These mappings are done via DNS.
DNS Overview/Architecture
Domain Name System (DNS) is:
- Distributed database implemented in hierarchy of many name servers
- Application-level protocol where hosts and DNS servers communicate to resolve names (i.e. perform an address/name translation)
- A core Internet function implemented as an application-layer protocol
- Only runs at edge of network - not “core” of router/switches - transparent
- Runs on port 53
Services of DNS include:
- hostname to IP address translation
- host aliasing via canonical and alias names
- mail server aliasing
- load distribution via many IP addresses corresponding to a single name - give addresses in random order to balance load across machines
DNS is not centralized due to scalability reasons:
- Avoid single point of failure