DNS là gì?

DNS (Domain Name System) là 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ư www.example.com) thành địa chỉ IP (như 192.0.2.1) mà các thiết bị mạng sử dụng để định tuyến và kết nối với nhau trên Internet. DNS hoạt động như một danh bạ điện thoại của Internet, giúp người dùng dễ dàng truy cập các trang web mà không cần nhớ địa chỉ IP phức tạp.

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

Giả sử bạn muốn truy cập vào một trang website có địa chỉ như dns.vn. 

Đầu tiên máy người dùng sẽ gửi request đến DNS server để kiểm tra cái tên miền này tương ứng với cái địa chỉ IP nào. Nếu không tìm thấy cái địa chỉ IP có ứng với cái tên miền thì DNS server sẽ trả về thông báo lỗi, nhưng nếu tìm thấy DNS server sẽ trả lại cái địa chỉ IP tương ứng cho Browser (trình duyệt web) và khi browser đã có địa chỉ IP và nó sẽ kết nối server chứa trang website dns.vn mà bạn đang tìm kiếm và truy cập vào trang website này.

Phân loại DNS server

  1. Root Name Server 

    Root Name Server (Máy chủ gốc DNS) là một tập hợp các máy chủ DNS (Domain Name System) trên toàn cầu, chịu trách nhiệm cho việc phân giải tên miền trên mạng internet.

    Các máy chủ này được duy trì bởi các tổ chức quản lý tên miền quốc tế, bao gồm ICANN (Internet Corporation for Assigned Names and Numbers) và Verisign.

    Root Name Server cung cấp danh sách các tên miền cấp cao nhất trên internet, bao gồm các tên miền cấp cao nhất (top-level domain) như .com, .org, .net, .edu, .gov, .mil và các tên miền quốc gia cấp cao nhất như .us, .uk, .fr,..

    Các máy chủ gốc DNS là gì không chứa thông tin về các tên miền cụ thể, mà chỉ cung cấp thông tin về các máy chủ DNS cấp cao hơn để tiếp tục phân giải tên miền.

  2. Local Name Server                                                                                                                                    Local Name Server là một máy chủ DNS được cấu hình trên mạng nội bộ của một tổ chức hoặc doanh nghiệp, giúp hỗ trợ quản lý tên miền và phân giải tên miền nhanh chóng và hiệu quả trên mạng nội bộ.

Chức năng của DNS

DNS Server có chức năng quan trọng trong việc phân giải tên miền thành địa chỉ IP và giúp trình duyệt tìm kiếm và kết nối đến các trang web hoặc tài nguyên trên mạng Internet. Cụ thể, DNS Server có các chức năng như sau: 

  • Phân giải tên miền: DNS Server giúp phân giải tên miền của các trang web thành địa chỉ IP của máy chủ chứa trang web đó.

         Khi bạn nhập tên miền vào trình duyệt, trình duyệt sẽ gửi yêu cầu đến DNS Server để tìm kiếm địa chỉ IP tương ứng.

  • Lưu trữ thông tin DNS: DNS Server lưu trữ thông tin về các tên miền và địa chỉ IP tương ứng. Khi trình duyệt yêu cầu tìm kiếm một tên miền, DNS Server sẽ truy vấn trong cơ sở dữ liệu của nó để tìm kiếm thông tin tương ứng với tên miền đó.
  • Cập nhật thông tin DNS: DNS Server có thể được cấu hình để cập nhật thông tin về tên miền và địa chỉ IP tương ứng. Các thay đổi này có thể được thực hiện bởi quản trị viên mạng hoặc tự động thông qua các công cụ quản lý DNS.
  • Tăng tốc độ truy cập: DNS Server cũng có thể được sử dụng để tăng tốc độ truy cập cho người dùng bằng cách lưu trữ thông tin DNS trong bộ nhớ đệm.

         Khi truy vấn DNS là gì được thực hiện, DNS Server sẽ truy cập thông tin từ bộ nhớ đệm trước, nếu có, thay vì thực hiện truy vấn đến các máy chủ DNS khác.

  • Bảo mật thông tin DNS: DNS Server có thể được cấu hình để đảm bảo tính bảo mật của thông tin DNS.

         Các tính năng bảo mật bao gồm chữ ký số, mã hóa và xác thực người dùng để đảm bảo rằng thông tin DNS là gì được truyền tải an toàn và không bị đánh cắp. 

 

Bài viết khác

BÀI 5: TÌM HIỂU CHUYÊN SÂU VỀ LANGUAGE SWITCHING TRONG FLUTTER

1. Language Switching là gì? Trong một ứng dụng hỗ trợ nhiều ngôn ngữ, việc có sẵn các bản dịch chưa đủ để tạo ra trải nghiệm đa ngôn ngữ hoàn chỉnh. Ứng dụng còn cần xác định ngôn ngữ nào sẽ được sử dụng và cho phép thay đổi ngôn ngữ khi cần thiết. […]

TÌM HIỂU CHUYÊN SÂU VỀ UTC & LOCAL TIME CONVERSION TRONG FLUTTER

1. UTC & Local Time Conversion là gì? Trong một ứng dụng Flutter, thời gian xuất hiện ở rất nhiều chức năng như ngày tạo tài khoản, thời gian đặt hàng, lịch sử giao dịch, lịch hẹn, thời gian gửi thông báo và thời hạn của chương trình khuyến mãi. Khi ứng dụng chỉ chạy […]

TÌM HIỂU CHUYÊN SÂU VỀ DATE / NUMBER / CURRENCY FORMATTING TRONG FLUTTER

1. Date / Number / Currency Formatting là gì? Trong một ứng dụng Flutter, dữ liệu thường được lưu trữ và xử lý dưới dạng số, ngày giờ hoặc các kiểu dữ liệu có cấu trúc. Tuy nhiên, dữ liệu dùng để tính toán không nhất thiết giống với cách dữ liệu được hiển thị […]

TÌM HIỂU CHUYÊN SÂU VỀ LOCALIZATION (l10n) TRONG FLUTTER

1. Localization (l10n) là gì? Khi một ứng dụng được sử dụng ở nhiều quốc gia, sự khác biệt không chỉ nằm ở ngôn ngữ mà còn ở cách người dùng đọc ngày tháng, số, tiền tệ, đơn vị đo lường và các thông tin trên giao diện. Ví dụ, một ứng dụng bán hàng […]

TÌM HIỂU CHUYÊN SÂU VỀ INTERNATIONALIZATION (i18n) TRONG FLUTTER

1. Internationalization (i18n) là gì? Trong quá trình phát triển ứng dụng, lập trình viên thường xây dựng giao diện bằng một ngôn ngữ ban đầu, chẳng hạn như tiếng Việt. Khi ứng dụng được sử dụng bởi người dùng ở nhiều quốc gia, việc chỉ hỗ trợ một ngôn ngữ có thể khiến người […]

TÌM HIỂU CHUYÊN SÂU VỀ APP RELEASE & DEPLOYMENT TRONG FLUTTER

1. App Release & Deployment là gì? Trong quá trình phát triển ứng dụng Flutter, sau khi hoàn thành các chức năng, lập trình viên cần đưa ứng dụng đến người dùng thực tế. Ví dụ, một nhóm đã xây dựng xong ứng dụng bán hàng với những chức năng như đăng nhập, xem sản […]