mirror of
https://github.com/donnemartin/system-design-primer.git
synced 2024-03-22 13:11:35 +08:00
Add Domain name system section
This commit is contained in:
parent
801d52ba8d
commit
001c5c8a5b
38
README.md
38
README.md
|
@ -653,3 +653,41 @@ This topic is further discussed in the [Database](#database) section:
|
|||
|
||||
* [Master-slave replication](#master-slave-replication)
|
||||
* [Master-master replication](#master-master-replication)
|
||||
|
||||
## Domain name system
|
||||
|
||||
<p align="center">
|
||||
<img src="http://i.imgur.com/IOyLj4i.jpg">
|
||||
<br/>
|
||||
<i><a href=http://www.slideshare.net/srikrupa5/dns-security-presentation-issa>Source: DNS security presentation</a></i>
|
||||
</p>
|
||||
|
||||
A Domain Name System (DNS) translates a domain name such as www.example.com to an IP address.
|
||||
|
||||
DNS is hierarchical, with a few authoritative servers at the top level. Your router or ISP provides information about which DNS server(s) to contact when doing a lookup. Lower level DNS servers cache mappings, which could become stale due to DNS propagation delays. DNS results can also be cached by your browser or OS for a certain period of time, determined by the [time to live (TTL)](https://en.wikipedia.org/wiki/Time_to_live).
|
||||
|
||||
* **NS record (name server)** - Specifies the DNS servers for your domain/subdomain.
|
||||
* **MX record (mail exchange)** - Specifies the mail servers for accepting messages.
|
||||
* **A record (address)** - Points a name to an IP address.
|
||||
* **CNAME (canonical)** - Points a name to another name or `CNAME` (example.com to www.example.com) or to an `A` record.
|
||||
|
||||
Services such as [CloudFlare](https://www.cloudflare.com/dns/) and [Route 53](https://aws.amazon.com/route53/) provide managed DNS services. Some DNS services can route traffic through various methods:
|
||||
|
||||
* [Weighted round robin](http://g33kinfo.com/info/archives/2657)
|
||||
* Prevent traffic from going to servers under maintenance
|
||||
* Balance between varying cluster sizes
|
||||
* A/B testing
|
||||
* Latency-based
|
||||
* Geolocation-based
|
||||
|
||||
### Disadvantage(s): DNS
|
||||
|
||||
* Accessing a DNS server introduces a slight delay, although mitigated by caching described above.
|
||||
* DNS server management could be complex, although they are generally managed by [governments, ISPs, and large companies](http://superuser.com/questions/472695/who-controls-the-dns-servers/472729).
|
||||
* DNS services have recently come under DDoS attack, preventing users from accessing websites such as Twitter without knowing Twitter's IP address(es).
|
||||
|
||||
### Source(s) and further reading
|
||||
|
||||
* [DNS architecture](https://technet.microsoft.com/en-us/library/dd197427(v=ws.10).aspx)
|
||||
* [Wikipedia](https://en.wikipedia.org/wiki/Domain_Name_System)
|
||||
* [DNS articles](https://support.dnsimple.com/categories/dns/)
|
||||
|
|
Loading…
Reference in New Issue
Block a user