[Basic knowledge][Internet] DNS là gì?

Domain Name Services là gì, và cách nó hoạt động ra sao?

What is DNS

Trong phần này, chúng mình sẽ điểm qua, và nhắc lại nhanh một vài khái niệm cơ bản trong internet

  • Network: Một nhóm các máy tính và các thiết bị kết nối với nhau
  • Internet
    • Global
    • Networks của networks
  • IP: Mỗi thiết bị trong internet sẽ có 1 địa chỉ IP khác nhau, và đây cũng chính là cách mà một máy tính (thiết bị) có thể nói chuyện với một máy tính (thiết bị) khác

    dns-and-how-it-works-1.png

  • DNS: Domain Name System: là một hệ thống giúp phân giải từ domain name (tên miền), sang địa chỉ IP

    dns-and-how-it-works-2.png

How DNS works

dns-and-how-it-works-3.png

Trên đây là tổng quan về việc tìm kiếm IP từ domain.

Tìm kiếm ở máy client

Khi truy cập vào một domain bất kì (mở trình duyệt và nhập đường dẫn).

  1. Việc tìm kiếm sẽ được bắt đầu từ Browser Cache - nếu trước đó trình duyệt đã truy cập domain đó, thì địa chỉ IP sẽ được trả về ngay. và thực hiện thao tác request tới server tương ứng.
  2. Nếu Browser Cache không có dữ liệu tương ứng. Việc tìm kiếm sẽ được đi tiếp sang tầng DNS Cache (lưu ở máy client), và Hosts File (được định nghĩa trong file hosts ở máy client)
  3. Nếu Toàn bộ các phần trên không có. Chúng sẽ bắt đầu tìm kiếm ra ngoài máy client.

Tìm kiếm ở ngoài máy client

  1. Nơi đầu tiên được tìm đến là Recursive DNS Servers (thường là các ISP - Internet Service Provider, ví dụ như Viettel, FPT, …). Các ISP này không lưu trữ IP của các domain, mà nó sẽ có cache - ví dụ một user khác truy cập vào trang web tương tự, thì địa chỉ IP và domain tương ứng sẽ được cache lại.
  2. Và nếu không tìm thấy, từ Recursive DNS Servers sẽ gọi đến Root DNS Servers, ở đây sẽ lưu trữ Top Level Domains (TLDs), ví dụ như .com, .vn, .net. Từ đây sẽ trả về địa chỉ IP của TLD server tương ứng với domain mà user đang truy cập (ở ví dụ đang là .com)
  3. Recursive DNS Servers sau khi có được địa chỉ IP của TLD server, chúng sẽ gọi vào đây để lấy thông tin của authoritative name server (NS) - là nơi lưu trữ lại thông tin chính xác của server chứa thông tin domain.
  4. Sau khi có được địa chỉ IP của Authoritative Name Server, Recursive DNS Servers sẽ gọi vào đây để lấy thông tin của địa chỉ IP tương ứng với domain (ở ví dụ là google). Và thông tin này có thể được cache lại tại Recursive DNS Servers. Sau đó sẽ trả về cho browsers của người dùng (đương nhiên, cũng có thể được browsers cache lại)

Domain Info

dns-and-how-it-works-4.png

Ở phần này, chúng ta cùng tìm hiểu sâu hơn về Domain Info, nơi chứa các DNS records, hoặc Zone files.

DNS records, hoặc Zone files được phân thành các loại như sau

  1. A record - Address record: là record dùng để trỏ tên miền sang địa chỉ IP tương ứng

    Như ở ví dụ bên dưới, giả sử website là https://hoangpn.com

    Chúng ta thấy

    • @ naked domain, tượng trưng cho hoangpn.com sẽ được trỏ đến IP là 76.76.21.21
    • app hoặc bất kì tên miền nào khác - sẽ là sub domain: app.hoangpn.com được trỏ đến địa chỉ IP là 76.76.21.21
    • Note: TTL = Time To Live: đây là khoảng thời gian mà DNS cache lưu trữ tương ứng name tương ứng với địa chỉ IP image.png
  2. CNAME record - Canonical Name record là bản ghi quy định alias cho một domain nào đó, được chỉ đến domain, hoặc sub domain nào đó

    Như ví dụ bên dưới, chúng ta alias việc truy cập www.hoangpn.com sẽ trỏ sang domain hoangpn.com. Hoặc có thể truy cập fb.hoangpn.com sẽ được trỏ sang fb.com/hoangpn

    image.png

  3. MX record - Mail Exchange record: là record xác định mail server mà email sẽ được gửi tới

    Như ví dụ bên dưới, chúng ta có thể thấy được những mail đuôi @hoangpn.com, ví dụ như admin@hoangpn.com, user_a@hoangpn.com sẽ được gửi về mail server là mail.example.com mail-2.example.com , với trọng số là 10, và 20 - đây chính là độ ưu tiên xem sẽ ưu tiên gửi vào mail server nào trước.

    image.png

  4. TXT record - Text record: giúp chứa các thông tin dưới dạng text của 1 tên miền. Chủ yếu dùng cho server bên thứ 3 xác định xem domain có đáng tin cậy hay không. image.png

  5. NS record - Name Server record: giúp xác định thông tin của một tên miền cụ thể được khai báo và quản lý trên máy chủ nào.

    image.png

Tổng kết

Qua các phần trình bày bên trên, chúng ta đã nắm được cơ bản về domain name services là gì và cách nó hoạt động ra sao. Hy vọng các kiến thức trên sẽ giúp ích cho các bạn ít nhiều.

Nhưng mọi khi, tuy đã rà soát lại, nhưng cũng sẽ không tránh khỏi việc có sai sót. Mong các bạn để lại góp ý, và cùng giúp nhau tiến bộ nhé.

Did you find this article valuable?

Support Hoàng Phạm ngọc by becoming a sponsor. Any amount is appreciated!