Today, I learned about the DNS in Network programming class.
So, What is DNS??
DNS stands for "Domain Name System."
In real world, we identifies people with SSN, their name or passport number.
Like this, our network server identifies with IP address and "name" like human.
- DNS is a distributed database.
- Implemented in a hierachy of many name servers.
- DNS is an application-layer protocol.
- Hosts and name servers communicate to resolve names (address/name translation).
- Your application (browser) creates a DNS request, and sends it to local DNS server.
- Complexity is at network's "edge": your local DNS server is in charge of mapping to IP.
- Hosts and name servers communicate to resolve names (address/name translation).
In the main DNS server, the server converts server's name to ID add.
In DNS services
- Hostname to IPv4 address translation type=A, Hostname to IPv6 address translation type=AAAA
- Host name to host alias: host aliasing type=CNAME
- Mapping an alias name to the canonical (formal) name
- For example, www.abc123.com is an alias name for something different domain. (Canonical)
- Mail-server name to mail-ser ver alias type=MX
- Load distribution: distributes requests among servers
- replicated Web servers: many IP addresses correspond to one name
In DNS structure
Why do network have not centralized DNS?
- Single point of failure
- Traffic Volume
- Distant centralized database
- Maintenance
- Each LAN has a DNS server
- If LAN is large enough -> a machine is the DNS server.
- If LAN is small -> it uses the ISPS DNS server.
Here is the picture for how DNS has a distributed, hierarchical database
Three levels of DNS servers:
- Root
- TLD
- Authoritative
Authoritative DNS servers
- Oragnization's own DNS server(s), providing authoritative hostname to IP mappings for organization's named hosts.
- They can be maintained by organization or service provider
Local DNS name server
- It does not strictly belong to hierarchy
- Each ISP has one local DNS server
- It is also called "default name server"
- When host makes DNS query, query is first sent to its local DNS server
- It has local cache of recent name-to-address translation pairs(but may be out of date!)
- It acts as proxy (cache), forwards query into hierachy
This is the example how local DNS server works on my campus when I try to open the oxford webpage!
And this is the example how DNS name resolution works
'Computer Science ๐ > Network Programming ๐ฐ๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
IP address vs MAC address (0) | 2023.04.19 |
---|---|
NAT, Apr/14/2023 (0) | 2023.04.15 |
HTTP(3), Apr/11/2023 (0) | 2023.04.12 |
HTTP(2), Apr/11/2023 (0) | 2023.04.12 |
HTTP(1), Apr/11/2023 (0) | 2023.04.12 |