DNS

Introduction

A Domain Name System (DNS) translates a domain name such as www.example.com to an IP address.

DNS 就是一个翻译机,把网址转换成 IP 地址

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).

  • 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 and Route 53 provide managed DNS services. Some DNS services can route traffic through various methods:

Algorithm

  • Prevent traffic from going to servers under maintenance

  • Balance between varying cluster sizes

  • A/B testing

  • Latency-based

  • Geolocation-based

round robin 基本上就是 equally distribute request。所有在 pool 里的 host 挨个接收 request。而 weighted round robin 做了改进,比如有三个 hosts,他们的 weight 分别是 6:3:1。那么 每十个 requests,6 个 dispatch 到 host1,3 个 dispatch 到 host2,1 个 dispatch 到 host3。这在 hosts 他们的性能不一样的时候优化的效果明显。

Disadvantages

  • Accessing a DNS server introduces a slight delay, although mitigated by caching described above.

  • DNS server management could be complex and is generally managed by governments, ISPs, and large companies.

  • DNS services have recently come under DDoS attack, preventing users from accessing websites such as Twitter without knowing Twitter's IP address(es).

Last updated