Photo by Alina Grubnyak on Unsplash
[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: 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
How DNS works
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).
- 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.
- 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)
- 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
- 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.
- 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)
- 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.
- 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
Ở 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
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 chohoangpn.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
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 domainhoangpn.com
. Hoặc có thể truy cậpfb.hoangpn.com
sẽ được trỏ sangfb.com/hoangpn
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.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.
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.
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é.