0

DNS - Domain Name System

DNS là gì?

DNS là từ viết tắt của Domain Name System – một hệ thống phân giải tên miền, giúp chuyển đổi các tên miền dễ nhớ (như example.com) thành địa chỉ IP (như 192.0.2.1). Đây là quá trình cần thiết để trình duyệt có thể truy cập vào trang web.

Domains, Zones, and Delegation

Domains (Tên miền)

Tên miền là một chuỗi ký tự dùng để xác định một trang web hoặc một dịch vụ trên Internet. Tên miền có cấu trúc phân cấp, từ cấp cao nhất (Top-Level Domain - TLD) đến các cấp thấp hơn:

Zones (Vùng DNS)

Một vùng (zone) DNS là một tập hợp các bản ghi DNS có trách nhiệm cho một phần của không gian tên miền. Một zone có thể chứa nhiều subdomain, hoặc có thể được chia thành nhiều zone nhỏ hơn. Ví dụ:

Delegation (Ủy quyền)

Delegation là quá trình chuyển quyền quản lý một phần của không gian tên miền cho một máy chủ DNS khác. Điều này thường được thực hiện bằng cách sử dụng các bản ghi NS (Name Server) để trỏ đến máy chủ DNS chịu trách nhiệm cho một subdomain. Ví dụ:

Các loại record phổ biến

  1. A Record (Address Record – IPv4)
  • A record ánh xạ một tên miền → địa chỉ IPv4
  • Ví dụ: Khi bạn gõ www.example.com → DNS dùng A record để biết IP IPv4 của server cần truy cập
  1. AAAA Record (IPv6 Address Record)
  • AAAA record ánh xạ tên miền → địa chỉ IPv6
  • Ví dụ: Khi bạn gõ www.example.com → DNS dùng AAAA record để biết IPv6 của server cần truy cập
  1. CNAME Record (Canonical Name Record)
  • Trỏ một domain → một domain khác
  • Không trỏ trực tiếp đến IP
  1. MX Record (Mail Exchange Record)
  • Xác định mail server nào nhận email cho domain
  • Dùng cho email system

DNS Resolution và DNS Caching

DNS Resolution

Là quá trình tìm kiếm và dịch một tên miền (domain name) thành địa chỉ IP tương ứng. Khi bạn nhập một URL vào trình duyệt, hệ thống DNS (Domain Name System) sẽ phân giải tên miền thành địa chỉ IP của máy chủ để kết nối tới. Quá trình DNS Resolution:

  • Client Query: Trình duyệt hoặc ứng dụng gửi yêu cầu đến DNS resolver (thường là của ISP).
  • Recursive Query: DNS resolver kiểm tra bộ nhớ cache và, nếu không tìm thấy kết quả, sẽ tiếp tục yêu cầu các máy chủ DNS khác (root DNS, authoritative DNS).
  • Return IP: Sau khi tìm thấy địa chỉ IP tương ứng, DNS resolver trả lại kết quả cho client.

DNS Caching

Là quá trình lưu trữ kết quả của các truy vấn DNS trong một khoảng thời gian (TTL - Time To Live) để giảm thiểu độ trễ và tiết kiệm băng thông. Khi một tên miền đã được phân giải, các thiết bị sẽ lưu trữ địa chỉ IP đó trong cache để sử dụng cho các truy vấn tiếp theo, giúp rút ngắn thời gian truy cập. Lợi ích của DNS Caching:

  • Giảm độ trễ khi truy cập các trang web đã được truy vấn trước.
  • Tiết kiệm băng thông và tải cho các máy chủ DNS.
  • Giảm tải cho các hệ thống DNS public.

Quá trình phân giải DNS

Mục tiêu: chuyển tên miền www.example.com thành địa chỉ IP

  1. Bước 1: Browser Cache (Cache của trình duyệt)
  • Kiểm tra DNS cache nội bộ của trình duyệt (Mỗi trình duyệt (Chrome, Firefox, Edge…) có cache riêng)
  • Nếu tìm thấy: Trả về IP ngay → KHÔNG gửi bất kỳ gói DNS nào ra mạng → Kết thúc quá trình
  • Nếu KHÔNG tìm thấy: Chuyển sang bước 2
  1. Bước 2: OS Cache (Cache của hệ điều hành)
  • Hệ điều hành kiểm tra: DNS cache của OS (Windows, Linux, macOS); File hosts (ưu tiên rất cao)
  • Nếu tìm thấy: Trả IP cho trình duyệt → Kết thúc
  • Nếu KHÔNG: Gửi truy vấn ra ngoài → DNS Resolver
  1. Bước 3: DNS Resolver (Recursive Resolver)
  • DNS Resolver là gì?
    • Server DNS do: ISP (VNPT, Viettel, FPT) hoặc public DNS: 8.8.8.8, 1.1.1.1
    • Là DNS đệ quy (recursive) → làm việc thay cho client
  • Resolver làm gì?
    • Kiểm tra cache của chính nó
    • Nếu có → trả IP ngay
    • Nếu không → bắt đầu hỏi từ DNS gốc (Root)
  1. Bước 4: Root DNS Server
  • Root DNS Server là gì?
    • Cấp cao nhất trong hệ thống DNS
    • Có 13 cụm Root Server (A → M)
    • Không biết IP cụ thể của domain
  • Root Server trả lời:
    • “Tôi không biết IP của www.example.com, nhưng TLD .com được quản lý bởi các server này”
  • Trả về địa chỉ DNS server của TLD .com → Resolver tiếp tục hỏi TLD
  1. Bước 5: TLD DNS Server (.com, .org, .vn…)
  • TLD Server làm gì?
    • Quản lý theo đuôi tên miền (.com; .net; .org; .vn)
  • TLD .com trả lời:
    • Domain example.com được quản lý bởi Authoritative DNS server này
  • Trả về:
    • Tên + IP của Authoritative DNS Server → Resolver hỏi server cuối cùng
  1. Bước 6: Authoritative DNS Server
  • Authoritative DNS là gì?
    • Server chứa bản ghi DNS chính thứcl
    • Do: Chủ domain quản lý hoặc Nhà cung cấp DNS (Cloudflare, Route53, GoDaddy…)
  • Resolver hỏi:
  • Authoritative trả lời:
    • www.example.com → 93.184.216.34 → Đây là câu trả lời cuối cùng & chính xác

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí