DNS (Domain Name System)
DNS là gì?
- DNS (Domain Name System) là hệ thống phân giải tên miền, chuyển đổi các hostname dễ nhớ cho con người thành địa chỉ IP của máy.
- Ví dụ:
www.google.com→172.217.18.36
- Ví dụ:
- DNS là xương sống của Internet
- DNS sử dụng cấu trúc đặt tên phân cấp
.com
example.com
www.example.com
api.example.comThuật ngữ trong DNS
- Domain Registrar: Ví dụ như Amazon Route 53, GoDaddy, ...
- DNS Records: Các bản ghi DNS như:
A: ánh xạ domain → IPv4AAAA: ánh xạ domain → IPv6CNAME: ánh xạ domain → domain khácNS: định nghĩa Name Server
- Zone File: File chứa tất cả bản ghi DNS của một domain cụ thể
- Name Server: Máy chủ phân giải DNS (có thể là authoritative – có thẩm quyền, hoặc non-authoritative – không có thẩm quyền)
- Top Level Domain (TLD):
.com,.us,.in,.gov,.org, ... - Second Level Domain (SLD):
amazon.com,google.com,example.com, ...

DNS hoạt động như thế nào ?

- Web Browser
- Người dùng muốn truy cập vào trang
example.com, họ nhập URL này vào trình duyệt. Trình duyệt cần biết IP của server đang chứa website này (ví dụ:9.10.11.12), vì HTTP hoạt động trên IP chứ không phải domain. - Đầu tiên, trình duyệt kiểm tra local cache của chính nó (browser DNS cache). Nếu không có, nó gửi truy vấn DNS đến Local DNS Server được cấu hình (thường do ISP cung cấp hoặc được thiết lập trong hệ thống nội bộ).
- Người dùng muốn truy cập vào trang
- Local DNS Server
- Local DNS Server là tầng trung gian, thường được quản lý bởi:
- Doanh nghiệp (với DNS nội bộ)
- Nhà mạng ISP (với IP tự động qua DHCP)
- Nhiệm vụ:
- Tra cứu cache nội bộ (TTL): Nếu có bản ghi trước đó cho
example.com, trả về IP luôn. - Nếu không có cache, nó bắt đầu quy trình recursive DNS resolution.
- Tra cứu cache nội bộ (TTL): Nếu có bản ghi trước đó cho
- Local DNS Server là tầng trung gian, thường được quản lý bởi:
- Root DNS Server
- Local DNS Server gửi truy vấn "example.com?" đến Root DNS Server (được ICANN quản lý).
- Root server không biết IP của
example.com, nhưng biết rằng tên miền này thuộc .com, nên nó trả lời:- "Tôi không biết IP của
example.com, nhưng bạn nên hỏi TLD server quản lý.com, ví dụ: NS 1.2.3.4"
- "Tôi không biết IP của
- TLD DNS Server (.com)
- Local DNS tiếp tục hỏi NS 1.2.3.4 (là máy chủ quản lý domain
.com) câu hỏi:- "example.com là gì?"
- TLD server kiểm tra và trả lời:
- "Tôi cũng không chứa IP, nhưng
example.comđang được quản lý bởi một name server khác, ví dụ: NS 5.6.7.8" - TLD server này do IANA (một nhánh của ICANN) quản lý.
- "Tôi cũng không chứa IP, nhưng
- Local DNS tiếp tục hỏi NS 1.2.3.4 (là máy chủ quản lý domain
- SLD DNS Server (example.com)
- Local DNS tiếp tục gửi truy vấn đến Name Server chính thức của example.com, ví dụ: 5.6.7.8 (được Domain Registrar thiết lập – như Route 53, GoDaddy, Cloudflare,...)
- SLD DNS server này chứa các bản ghi DNS của
example.com, bao gồm:- A Record →
example.comtrỏ tới IP9.10.11.12 - CNAME, MX, NS, TXT... tùy theo cấu hình
- A Record →
- → Cuối cùng, nó trả lại:
- "
example.comcó IP là9.10.11.12"
- "
- Quay lại trình duyệt
- Local DNS lưu kết quả này vào cache (TTL – time to live).
- Sau đó trả IP về trình duyệt người dùng.
- Trình duyệt dùng IP này để gửi HTTP/HTTPS request đến Web Server và lấy nội dung.
Bạn thấy bài này thế nào?