System Design Cơ Bản: Domain Name System (DNS)

2604

Bài viết được sự cho phép của tác giả Edward Thiên Hoàng

DNS là viết tắt của cụm từ Domain Name System, mang ý nghĩa đầy đủ là hệ thống phân giải tên miền. Hiểu một cách ngắn gọn nhất, DNS cơ bản là một hệ thống chuyển đổi các tên miền website mà chúng ta đang sử dụng, ở dạng http://www.tenmien.com sang một địa chỉ IP dạng số tương ứng với tên miền đó và ngược lại.

Thao tác này của DNS giúp liên kết các thiết bị mạng với nhau nhằm mục đích định vị và gán một địa chỉ cụ thể cho các thông tin trên internet.

Xem thêm Việc làm designer hấp dẫn trên TopDev

CHỨC NĂNG CỦA DNS LÀ GÌ?

Về chức năng, DNS có thể được hiểu như một “người phiên dịch” và “truyền đạt thông tin”. DNS sẽ làm công việc dịch tên miền thành một địa chỉ IP gồm 4 nhóm số khác nhau. Ví dụ như http://www.tenmien.com thành 421.64.874.899 hoặc ngược lại dịch một địa chỉ IP thành tên miền.

Khi “dịch” như thế, trình duyệt sẽ hiểu và đăng nhập vào được. Và khi người dùng đăng nhập vào một website, thay vì phải nhớ và nhập một dãy số địa chỉ IP của hosting, thì chỉ cần nhập tên website là trình duyệt tự động nhận diện.

Mỗi máy tính trên Internet đều có một địa chỉ IP duy nhất. Địa chỉ IP này được dùng để thiết lập kết nối giữa server và máy khách để khởi đầu một kết nối. Bất kỳ khi nào, bạn truy cập vào một website tùy ý hoặc gửi một email, thì DNS đóng vai trò rất quan trọng trong trường hợp này.

Trong vô vàn trang web trên thế giới, sẽ không có ai có thể nhớ hết từng dãy số địa chỉ IP trong mỗi lần đăng nhập. Do đó, khái niệm tên miền được đưa ra, từ đó mỗi trang web sẽ được xác định với tên duy nhất.

Tuy nhiên, địa chỉ IP vẫn được sử dụng như một nền tảng kết nối bởi các thiết bị mạng. Đó là nơi DNS làm việc phân giải tên domain thành địa chỉ IP để các thiết bị mạng giao tiếp với nhau. Đồng thời, bạn cũng có thể tải một website bằng cách nhập trực tiếp địa chỉ IP thay vì nhập tên domain của website đó.

DNS đóng vai trò như một “người phiên dịch”

DNS đóng vai trò như một “người phiên dịch”

CÁC LOẠI DNS SERVER VÀ VAI TRÒ CỦA NÓ

ROOT NAME SERVERS LÀ GÌ?

Đây là máy chủ tên miền chứa các thông tin, để tìm kiếm các máy chủ tên miền lưu trữ (authority) cho các tên miền thuộc mức cao nhất (top-level-domain).

Máy chủ ROOT có thể đưa ra các truy vấn (query) để tìm kiếm tối thiểu các thông tin về địa chỉ của các máy chủ tên miền authority thuộc lớp top-level-domain chứa tên miền muốn tìm.

Sau đó, các máy chủ tên miền ở mức top-level-domain có thể cung cấp các thông tin về địa chỉ của máy chủ authority cho tên miền ở mức second-level-domain chứa tên miền muốn tìm. Quá trình tìm kiếm tiếp tục cho đến khi chỉ ra được máy chủ tên miền authority cho tên miền muốn tìm. Theo cơ chế hoạt động này thì bạn có thể tìm kiếm một tên miền bất kỳ trên không gian tên miền.

Một điểm đáng chú ý khác, quá trình tìm kiếm tên miền luôn được bắt đầu bằng các truy vấn gửi cho máy chủ ROOT. Nếu như các máy chủ tên miền ở mức ROOT không hoạt động, quá trình tìm kiếm này sẽ không được thực hiện.

Để tránh điều này xảy ra, trên mạng Internet hiện tại có 13 hệ thống máy chủ tên miền ở mức ROOT. Các máy chủ tên miền này nói chung và ngay trong cùng một hệ thống nói riêng đều được đặt tại nhiều vị trí khác nhau trên mạng Internet.

DNS là gì, Các nhánh gốc của máy chủ hay còn gọi là Root name server

Các nhánh gốc của máy chủ hay còn gọi là Root name server

Hiện nay tại các nhà đăng ký tên miền, việc Quản lý DNS dễ dàng hơn bao giờ hết. Bạn có thể Quản lý bản ghi DNS dễ dàng thêm mới, thay đổi IP, thay đổi địa chỉ phân phối email.

LOCAL NAME SERVERS LÀ GÌ?

Server này chứa thông tin, để tìm kiếm máy chủ tên miền lưu trữ cho các tên miền thấp hơn. Nó thường được duy trì bởi các doanh nghiệp, các nhà cung cấp dịch vụ Internet (ISPs).

Hệ thống máy chủ DNS riêng của mỗi đơn vị

Hệ thống máy chủ DNS riêng của mỗi đơn vị

CƠ CHẾ HOẠT ĐỘNG CỦA DNS LÀ GÌ?

Giả sử bạn muốn truy cập vào trang có địa chỉ matbao.vn

Trước hết chương trình trên máy người sử dụng gửi yêu cầu tìm kiếm địa chỉ IP ứng với tên miền matbao.vn tới máy chủ quản lý tên miền (name server) cục bộ thuộc mạng của nó.

Máy chủ tên miền cục bộ này kiểm tra trong cơ sở dữ liệu của nó có chứa cơ sở dữ liệu chuyển đổi từ tên miền sang địa chỉ IP của tên miền mà người sử dụng yêu cầu không. Trong trường hợp máy chủ tên miền cục bộ có cơ sở dữ liệu này, nó sẽ gửi trả lại địa chỉ IP của máy có tên miền nói trên.

Trong trường hợp máy chủ tên miền cục bộ không có cơ sở dữ liệu về tên miền này nó sẽ hỏi lên các máy chủ tên miền ở mức cao nhất (máy chủ tên miền làm việc ở mức ROOT). Máy chủ tên miền ở mức ROOT này sẽ chỉ cho máy chủ tên miền cục bộ địa chỉ của máy chủ tên miền quản lý các tên miền có đuôi .vn.

Tiếp đó, máy chủ tên miền cục bộ gửi yêu cầu đến máy chủ quản lý tên miền Việt Nam (.VN) tìm tên miền matbao.vn.

Máy chủ tên miền cục bộ sẽ hỏi máy chủ quản lý tên miền vnn.vn địa chỉ IP của tên miền matbao.vn. Do máy chủ quản lý tên miền vnn.vn có cơ sở dữ liệu về tên miền matbao.vn nên địa chỉ IP của tên miền này sẽ được gửi trả lại cho máy chủ tên miền cục bộ.

Cuối cùng, máy chủ tên miền cục bộ chuyển thông tin tìm được đến máy của người sử dụng. Người sử dụng dùng địa chỉ IP này để kết nối đến server chứa trang web có địa chỉ matbao.vn.

Cách thức hoạt động của DNS

Cách thức hoạt động của DNS

NGUYÊN TẮC LÀM VIỆC CỦA DNS LÀ GÌ?

Mỗi nhà cung cấp dịch vụ vận hành và duy trì DNS server riêng của mình, gồm các máy bên trong phần riêng của mỗi nhà cung cấp dịch vụ đó trong Internet.

Tức là, nếu một trình duyệt tìm kiếm địa chỉ của một website bất kỳ thì DNS server phân giải tên website này phải là DNS server của chính tổ chức quản lý website đó chứ không phải là của một tổ chức (nhà cung cấp dịch vụ) nào khác.

INTERNIC (Internet Network Information Center) chịu trách nhiệm theo dõi các tên miền và các DNS server tương ứng. INTERNIC là một tổ chức được thành lập bởi NFS (National Science Foundation), AT&T và Network Solution, chịu trách nhiệm đăng ký các tên miền của Internet. INTERNIC chỉ có nhiệm vụ quản lý tất cả các DNS server trên Internet chứ không có nhiệm vụ phân giải tên cho từng địa chỉ.

DNS có khả năng tra vấn các DNS server khác để có được một cái tên đã được phân giải. DNS server của mỗi tên miền thường có hai việc khác biệt.

  • Thứ nhất, chịu trách nhiệm phân giải tên từ các máy bên trong miền về các địa chỉ Internet, cả bên trong lẫn bên ngoài miền nó quản lý.
  • Thứ hai, chúng trả lời các DNS server bên ngoài đang cố gắng phân giải những cái tên bên trong miền nó quản lý. DNS server có khả năng ghi nhớ lại những tên vừa phân giải. Để dùng cho những yêu cầu phân giải lần sau. Số lượng những tên phân giải được lưu lại tùy thuộc vào quy mô của từng DNS.

SỬ DỤNG DNS NHƯ THẾ NÀO?

Vì tốc độ của DNS khác nhau, nên người sử dụng có thể tự chọn DNS server cho riêng mình. Trong trường hợp sử dụng DNS của nhà cung cấp mạng, người sử dụng không cần phải điền địa chỉ DNs vào kết nối mạng của mình.

Còn nếu trong trường hợp sử dụng máy chủ DNS khác, sẽ phải điền địa chỉ cụ thể của máy chủ đó vào. Để thay đổi DNS Server bạn có thể làm như sau:

  • Bước 1: Trước tiên, bạn vào phần Control Panel, nhấn Start Menu lên sau đó gõ Control Panel là thấy.
  • Bước 2: Tại đây bạn truy cập vào View network status and tasks.
  • Bước 3: Sau đó truy cập vào mạng internet bạn đang sử dụng
  • Bước 4: Tiếp theo nhấn vào phần Properties, nơi đây sẽ cho phép chúng ta thay đổi DNS máy tính.
  • Bước 5: Bạn sẽ thấy có một phần tên là Internet Protocol Version 4, hãy nhấn vào đó.
  • Bước 6: Trong Internet Protocol Version 4 lựa chọn Use the following DNS server addresses và tiến hành đổi DNS tại đây.

Cuối cùng nhấn vào OK để xác nhận thiết lập vừa rồi, như vậy là chúng ta đã hoàn tất công đoạn thay đổi DNS.

Việc đổi địa chỉ DNS giúp việc lướt web được nhanh hơn

DNS SERVERS VÀ ĐỊA CHỈ IP

Như đã đề cập ở trên, nhiệm vụ chính của một DNS (Domain Name Server) là giải quyết (hay nói cách khác là biên dịch) một tên miền thành một địa chỉ IP. Điều này nghe có vẻ đơn giản nhưng thực tế thì không hề đơn giản một chút nào cả. Lý do là bởi vì:

– Có hàng tỷ các địa chỉ IP đang được sử dụng.
– Máy chủ DNS đang xử lý “hàng tỷ” các yêu cầu trên Internet vào các thời điểm bất kỳ.
– Mỗi ngày có hàng triệu người đang thêm và thay đổi tên miền cũng như địa chỉ IP.

Để giải quyết các vấn đề, máy chủ DNS dựa vào hiệu suất mạng và các giao thức Internet. Đối với địa chỉ của IP, mỗi một máy tính trên mạng Internet đều có một địa chỉ IP duy nhất (bao gồm chuẩn IPV4 và IPV6) do IANA (Internet Assigned Numbers Authority) quản lý.

  Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains
  Cách thiết lập một project symfony hỗ trợ làm việc với các subdomain

DANH SÁCH DNS PHỔ BIẾN NHẤT HIỆN NAY

Xem thêm: Danh sách đầy đủ DNS phổ biến nhất hiện nay.

DNS GOOGLE:

DNS Google là một trong những DNS server được sử dụng nhiều nhất hiện nay vì tốc độ nhanh và ổn định.

8.8.8.8

8.8.4.4

DNS OPENDNS:

208.67.222.222

208.67.220.220​

DNS CLOUDFLARE:

Cloudflare là một dịch vụ DNS trung gian, giúp điều phối lưu lượng truy cập qua lớp bảo vệ CloudFlare.

Xem thêm: Cloudflare là gì?

1.1.1.1

1.0.0.1

DNS VNPT:

203.162.4.191

203.162.4.190

DNS VIETTEL:

203.113.131.1

203.113.131.2

DNS FPT:

210.245.24.20

210.245.24.22

DNS nói chung là một phần vô cùng thiết yếu và quan trọng trong quản trị mạng và website. Hy vọng với những thông tin chi tiết mà Mắt Bão cung cấp cho bạn phía trên, bạn sẽ phần nào hiểu rõ hơn về khái niệm DNS và cách sử dụng nó một cách hiệu quả.

Theo matbao

Bài viết gốc được đăng tải tại edwardthienhoang.wordpress.com

Có thể bạn quan tâm: