What is DNS?
Ref: https://learn.cantrill.io/courses/2022818/lectures/45637095
YouTube: https://www.youtube.com/watch?v=zEmUuNFBgN8
- 🔧 Domain Name System (DNS) = “the phone book of the internet”
- Can be thought of as a huge DB that maps URLs and website names to their corresponding IP addresses
- URLs, website names and domain names are easy to remember for humans
- Machines use IP addresses to connect to the correct servers
- DNS uses a L7 Protocol designed to get the IP address of a given DNS domain name
- 💡 DNS protocol runs on TCP port 53 → Reason why the AWS product for DNS is called Amazon Route53 (R53)
- Critical infrastructure
- 💡 Many large scale failures on the Internet can be caused by failed DNS or poorly implemented DNS structure
- Domain name = string of text that maps to an IP address via DNS
- e.g. Google's domain name =
google.com
- A domain can have subdomains → e.g.
mail.google.com
, drive.google.com
…
- 💡 A uniform resource locator (URL), sometimes called a web address, contains the domain name of a site as well as other information, including the protocol and the path.
- e.g: for the URL
https://cloudflare.com/learning/
:
cloudflare.com
- domain name
https
- protocol
/learning/
- path to a specific page on the website
- DNS High Level Diagram
DNS Architecture and Infrastructure
Ref: https://learn.cantrill.io/courses/2022818/lectures/45637097
YouTube: https://www.youtube.com/watch?v=QTu7yDnR_58
Why not one DNS server or cluster of servers?

- Risk: bad actors could take down DNS if it were a small cluster of servers
- Scaling: everyone in the Internet uses DNS → would lead to huge NW bottlenecks
- Data volume: ~341 million domains currently → huge DB
- Delegation: ideally DNS domains should be administered locally (
.uk
in UK, .it
in Italy…)
- 🔧 Conclusion: DNS requires a large, distributed & complex infrastructure