Giao thức DNS là gì? DNS hoạt động như thế nào?
Giao thức DNS là gì?
Hệ thống tên miền (DNS) là danh bạ của Internet. Con người truy cập thông tin trực tuyến thông qua tên miền, như nytimes.com hoặc espn.com. Trình duyệt web tương tác thông qua địa chỉ Giao thức Internet (IP). DNS chuyển đổi tên miền thành địa chỉ IP để trình duyệt có thể tải tài nguyên Internet.
Mỗi thiết bị kết nối với Internet đều có một địa chỉ IP duy nhất mà các máy khác sử dụng để tìm thiết bị đó. Các máy chủ DNS loại bỏ nhu cầu cho con người nhớ địa chỉ IP như 192.168.1.1 (trong IPv4) hoặc địa chỉ IP chữ số chữ cái phức tạp hơn như 2400:cb00:2048:1::c629:d7a2 (trong IPv6).
Làm thế nào DNS hoạt động?
Quá trình giải quyết DNS bao gồm chuyển đổi tên máy chủ (như www.example.com) thành một địa chỉ IP thân thiện với máy tính (như 192.168.1.1). Mỗi thiết bị trên Internet đều có một địa chỉ IP được gán và địa chỉ đó là cần thiết để tìm thiết bị Internet phù hợp - giống như địa chỉ nhà được sử dụng để tìm một ngôi nhà cụ thể. Khi người dùng muốn tải một trang web, quá trình dịch phải xảy ra giữa những gì người dùng gõ vào trình duyệt web của họ (example.com) và địa chỉ thân thiện với máy tính cần thiết để định vị trang web example.com.
Để hiểu quá trình đằng sau giải quyết DNS, quan trọng là phải tìm hiểu về các thành phần phần cứng khác nhau mà một truy vấn DNS phải đi qua. Đối với trình duyệt web, việc tra cứu DNS xảy ra "ẩn sau cánh gà" và không đòi hỏi tương tác nào từ máy tính của người dùng ngoại trừ yêu cầu ban đầu.
Có 4 máy chủ DNS liên quan đến việc tải một trang web
- DNS recursor - Máy chủ recursor có thể được coi như một người thủ thư được yêu cầu đi tìm một cuốn sách cụ thể nào đó trong một thư viện. Máy chủ recursor được thiết kế để nhận truy vấn từ các máy khách thông qua ứng dụng như trình duyệt web. Thông thường, recursor sau đó có trách nhiệm đưa ra các yêu cầu bổ sung để đáp ứng truy vấn DNS của máy khách.
- Root nameserver - Máy chủ gốc là bước đầu tiên trong việc chuyển đổi (giải quyết) tên miền dễ đọc của con người thành địa chỉ IP. Nó có thể được xem như một chỉ mục trong một thư viện chỉ đến các kệ sách khác nhau - thường nó hoạt động như một tham chiếu đến các vị trí cụ thể khác.
- TLD nameserver - Máy chủ tên miền cấp cao nhất (TLD) có thể được coi như một kệ sách cụ thể trong thư viện. Máy chủ này là bước tiếp theo trong quá trình tìm kiếm một địa chỉ IP cụ thể và nó chứa phần cuối cùng của một tên miền (trong example.com, máy chủ TLD là "com").
- Authoritative nameserver - Máy chủ cuối cùng này có thể được coi như một từ điển trên một kệ sách, trong đó một tên cụ thể có thể được dịch thành định nghĩa của nó. Máy chủ có thẩm quyền là điểm dừng cuối cùng trong truy vấn máy chủ tên miền. Nếu máy chủ tên miền có thẩm quyền có quyền truy cập vào bản ghi được yêu cầu, nó sẽ trả lại địa chỉ IP cho tên miền được yêu cầu trở lại cho DNS Recursor (người thủ thư) đã thực hiện yêu cầu ban đầu
Sự khác biệt giữa Máy chủ DNS có thẩm quyền và Máy chủ DNS đệ quy
Cả hai khái niệm đều đề cập đến các máy chủ (nhóm máy chủ) quan trọng cho cơ sở hạ tầng DNS, nhưng mỗi cái thực hiện một vai trò khác nhau và đặt ở các vị trí khác nhau trong chuỗi của một truy vấn DNS. Một cách để nghĩ về sự khác biệt là máy chủ đệ quy nằm ở đầu của truy vấn DNS và máy chủ tên miền có thẩm quyền nằm ở cuối.
Máy chủ DNS đệ quy
Máy chủ DNS đệ quy là máy tính phản hồi vào một yêu cầu đệ quy từ một máy khách và dành thời gian để tìm bản ghi DNS. Điều này được thực hiện thông qua một loạt các yêu cầu cho đến khi nó đến máy chủ DNS có thẩm quyền cho bản ghi được yêu cầu (hoặc hết thời gian hoặc trả về lỗi nếu không tìm thấy bản ghi). May mắn thay, máy chủ DNS đệ quy không luôn cần phải thực hiện nhiều yêu cầu để tìm các bản ghi cần thiết để phản hồi cho một máy khách; việc lưu trữ đệ quy là quá trình duy trì dữ liệu giúp rút ngắn các yêu cầu cần thiết bằng cách phục vụ bản ghi tài nguyên được yêu cầu trước trong quá trình tra cứu DNS.
Máy chủ DNS có thẩm quyền
Nói một cách đơn giản, máy chủ DNS có thẩm quyền là một máy chủ thực sự giữ và chịu trách nhiệm cho các bản ghi tài nguyên DNS. Đây là máy chủ ở cuối chuỗi tra cứu DNS sẽ phản hồi với bản ghi tài nguyên được truy vấn, cuối cùng cho phép trình duyệt web thực hiện yêu cầu đến địa chỉ IP cần thiết để truy cập một trang web hoặc tài nguyên web khác. Một máy chủ tên miền có thẩm quyền có thể đáp ứng các truy vấn từ dữ liệu của chính mình mà không cần truy vấn nguồn khác, vì nó là nguồn thông tin cuối cùng cho một số bản ghi DNS nhất định.
Stress rằng trong các trường hợp truy vấn cho một siêu miền như foo.example.com hoặc blog.KDATA.vn, một máy chủ tên miền phụ bổ sung sẽ được thêm vào chuỗi sau máy chủ có thẩm quyền, chịu trách nhiệm lưu trữ bản ghi CNAME của siêu miền đó.
Có một sự khác biệt quan trọng giữa nhiều dịch vụ DNS và dịch vụ mà KDATA cung cấp. Các bộ giải quyết đệ quy DNS khác nhau như Google DNS, OpenDNS và các nhà cung cấp như Comcast đều duy trì các cài đặt trung tâm dữ liệu của mình cho bộ giải quyết đệ quy DNS. Những bộ giải quyết này cho phép truy vấn nhanh chóng và dễ dàng thông qua các cụm máy tính được tối ưu hóa cho DNS, nhưng chúng khác biệt cơ bản so với các máy chủ tên miền được đặt tại KDATA.
KDATA duy trì các máy chủ tên miền ở cấp độ cơ sở hạ tầng quan trọng cho hoạt động của Internet. Một ví dụ quan trọng là mạng máy chủ gốc f-root mà KDATA chịu trách nhiệm một phần trong việc lưu trữ. F-root là một trong những thành phần cơ sở hạ tầng máy chủ tên miền cấp gốc chịu trách nhiệm cho hàng tỷ yêu cầu Internet mỗi ngày. Mạng Anycast của chúng tôi đặt chúng tôi ở một vị trí độc đáo để xử lý lưu lượng DNS lớn mà không làm gián đoạn dịch vụ.
Các bước trong quá trình tra cứu DNS
Trong hầu hết các tình huống, DNS quan tâm đến việc dịch tên miền thành địa chỉ IP thích hợp. Để hiểu cách quá trình này hoạt động, hãy theo dõi quá trình của một truy vấn DNS khi nó đi từ trình duyệt web, thông qua quá trình tra cứu DNS và quay lại. Hãy xem xét các bước sau đây.
Lưu ý: Thông thường, thông tin tra cứu DNS sẽ được lưu trữ ở cả địa phương bên trong máy tính truy vấn hoặc từ xa trong cơ sở hạ tầng DNS. Thông thường có 8 bước trong quá trình tra cứu DNS. Khi thông tin DNS được lưu trữ, các bước sẽ bị bỏ qua từ quá trình tra cứu DNS, làm cho quá trình nhanh chóng hơn. Ví dụ dưới đây chỉ ra tất cả các bước khi không có gì được lưu trữ.
8 bước trong quá trình tra cứu DNS:
- Người dùng gõ 'example.com' vào trình duyệt web và truy vấn đi vào Internet, được nhận bởi một bộ giải quyết DNS đệ quy.
- Bộ giải quyết sau đó truy vấn một máy chủ DNS gốc (.).
- Máy chủ gốc sau đó phản hồi với bộ giải quyết địa chỉ của một máy chủ DNS Top Level Domain (TLD) (như .com hoặc .net), lưu trữ thông tin cho các miền của nó. Khi tìm kiếm example.com, yêu cầu của chúng tôi được trỏ đến máy chủ TLD .com.
- Bộ giải quyết sau đó thực hiện yêu cầu đến máy chủ TLD .com.
- Máy chủ TLD sau đó phản hồi với địa chỉ IP của máy chủ tên miền của miền, example.com.
- Cuối cùng, bộ giải quyết đệ quy gửi một truy vấn đến máy chủ tên miền của miền.
- Địa chỉ IP cho example.com sau đó được trả lại cho bộ giải quyết từ máy chủ tên miền.
- Bộ giải quyết DNS sau đó phản hồi với trình duyệt web địa chỉ IP của miền được yêu cầu ban đầu.
Khi 8 bước của tra cứu DNS đã trả về địa chỉ IP cho example.com, trình duyệt có thể thực hiện yêu cầu cho trang web:
- Trình duyệt thực hiện yêu cầu HTTP đến địa chỉ IP.
- Máy chủ tại địa chỉ IP đó trả lại trang web để được hiển thị trong trình duyệt (bước 10)
Resolver DNS là gì?
Resolver DNS là bước đầu tiên trong quá trình tra cứu DNS, và nó chịu trách nhiệm xử lý cho máy khách đã đưa ra yêu cầu ban đầu. Resolver bắt đầu chuỗi các yêu cầu cuối cùng dẫn đến việc một URL được dịch thành địa chỉ IP cần thiết.
Lưu ý: Một quá trình tra cứu DNS không được lưu trữ thông thường sẽ liên quan đến cả truy vấn đệ quy và truy vấn đệ quy.
Quan trọng là phải phân biệt giữa một truy vấn DNS đệ quy và một resolver DNS đệ quy. Truy vấn đề cập đến yêu cầu được thực hiện đối với resolver DNS yêu cầu giải quyết truy vấn. Resolver DNS đệ quy là máy tính chấp nhận truy vấn đệ quy và xử lý phản hồi bằng cách thực hiện các yêu cầu cần thiết.
Các loại truy vấn DNS là gì?
Trong một tra cứu DNS điển hình, có ba loại truy vấn:
-
Truy vấn đệ quy (Recursive query): Trong truy vấn đệ quy, một máy khách DNS yêu cầu một máy chủ DNS (thường là một resolver DNS đệ quy) phản hồi với bản ghi tài nguyên được yêu cầu hoặc một thông báo lỗi nếu resolver không thể tìm thấy bản ghi.
-
Truy vấn lặp (Iterative query): Trong tình huống này, máy khách DNS cho phép một máy chủ DNS trả về câu trả lời tốt nhất có thể. Nếu máy chủ DNS được truy vấn không có kết quả cho tên truy vấn, nó sẽ trả về một tham chiếu đến một máy chủ DNS có thẩm quyền cho một cấp độ thấp hơn của không gian tên miền. Máy khách DNS sau đó thực hiện một truy vấn đến địa chỉ được tham chiếu đó. Quá trình này tiếp tục với các máy chủ DNS bổ sung xuống chuỗi truy vấn cho đến khi xảy ra lỗi hoặc hết thời gian.
-
Truy vấn không đệ quy (Non-recursive query): Thường xảy ra khi một máy khách DNS resolver truy vấn một máy chủ DNS cho một bản ghi mà nó có quyền truy cập, entweder bởi vì nó là máy chủ có thẩm quyền cho bản ghi hoặc bản ghi tồn tại trong bộ nhớ đệm của nó. Thông thường, một máy chủ DNS sẽ lưu trữ bản ghi DNS trong bộ nhớ đệm để ngăn chặn sự tiêu thụ băng thông và tải trọng trên các máy chủ trên cấp độ.
DNS Caching là gì? Nơi DNS Caching xảy ra?
Mục đích của caching là lưu trữ tạm thời dữ liệu ở một vị trí mà dẫn đến cải thiện hiệu suất và độ tin cậy cho các yêu cầu dữ liệu. Caching DNS liên quan đến việc lưu trữ dữ liệu gần máy khách yêu cầu để có thể giải quyết truy vấn DNS sớm và tránh được các truy vấn bổ sung xuống chuỗi tra cứu DNS, từ đó cải thiện thời gian tải và giảm tiêu thụ băng thông/CPU. Dữ liệu DNS có thể được lưu trữ cache ở nhiều địa điểm, mỗi địa điểm sẽ lưu trữ bản ghi DNS trong một khoảng thời gian được xác định bởi thời gian sống (TTL).
Caching DNS của trình duyệt
Trình duyệt web hiện đại được thiết kế theo mặc định để lưu trữ các bản ghi DNS trong một khoảng thời gian nhất định. Mục đích ở đây rất rõ ràng; càng gần nơi lưu trữ DNS cache xảy ra với trình duyệt web, càng ít các bước xử lý phải được thực hiện để kiểm tra bộ nhớ đệm và thực hiện các yêu cầu đúng địa chỉ IP. Khi có yêu cầu cho một bản ghi DNS, bộ nhớ đệm của trình duyệt là nơi đầu tiên được kiểm tra cho bản ghi được yêu cầu.
Trong Chrome, bạn có thể xem trạng thái của bộ nhớ đệm DNS của mình bằng cách đi đến chrome://net-internals/#dns.
Caching DNS ở cấp độ hệ điều hành (OS)
Trình giải quyết DNS cấp hệ điều hành là điểm dừng cục bộ thứ hai và cuối cùng trước khi một truy vấn DNS rời khỏi máy của bạn. Quá trình bên trong hệ điều hành của bạn được thiết kế để xử lý truy vấn này thường được gọi là "stub resolver" hoặc "DNS client". Khi một truy vấn được gửi từ ứng dụng, stub resolver đầu tiên kiểm tra bộ nhớ đệm của mình để xem liệu nó có bản ghi hay không. Nếu không, nó sau đó gửi một truy vấn DNS (với cờ đệ quy được đặt) ra khỏi mạng cục bộ đến một resolver DNS đệ quy bên trong nhà cung cấp dịch vụ Internet (ISP).
Khi resolver đệ quy trong ISP nhận một truy vấn DNS, giống như tất cả các bước trước đó, nó cũng kiểm tra xem sự dịch chuyển từ tên máy được yêu cầu đã được lưu trữ trong lớp lưu trữ cục bộ của mình hay chưa.
Resolver đệ quy cũng có thêm chức năng tùy thuộc vào các loại bản ghi mà nó có trong bộ nhớ đệm của mình:
- Nếu resolver không có bản ghi A nhưng có bản ghi NS cho các máy chủ tên miền có thẩm quyền, nó sẽ truy vấn trực tiếp các máy chủ tên miền đó, bỏ qua một số bước trong truy vấn DNS. Điều này ngăn chặn việc tìm kiếm từ máy chủ gốc và máy chủ .com (trong trường hợp tìm kiếm example.com của chúng ta) và giúp quá trình giải quyết truy vấn DNS diễn ra nhanh chóng hơn.
- Nếu resolver không có bản ghi NS, nó sẽ gửi một truy vấn đến máy chủ TLD (.com trong trường hợp của chúng ta), bỏ qua máy chủ gốc.
- Trong trường hợp không thể tưởng tượng, nếu resolver không có các bản ghi trỏ đến máy chủ TLD, nó sau đó sẽ truy vấn máy chủ gốc. Sự kiện này thường xảy ra sau khi bộ nhớ đệm DNS đã được làm mới.
Như vậy, từ những bước đầu tiên của quá trình DNS resolution cho đến những chi tiết về các loại truy vấn và cơ chế caching, chúng ta đã được làm quen với bản chất và vai trò quan trọng của giao thức DNS trong việc kết nối chúng ta với thế giới số. Một địa chỉ IP có thể là một dãy số không thể nhớ, nhưng chính giao thức DNS đã giúp chúng ta dễ dàng nhớ những tên miền quen thuộc, làm cho cuộc sống trực tuyến trở nên thuận lợi và mượt mà hơn.
Mọi người cùng tìm kiếm: dns là gì, dns vu van khoi, dns server là gì, dns hoạt động như thế nào, dns dùng để làm gì, giao thức dns, các loại bản ghi dns, dns server la gi, chặn lưu lượng dns là gì, cname là gì, dns la gì, dịch vụ dns server có chức năng chính là gì, cơ chế hoạt động của dns, cname la gi, cname record là gì, ddns là gì, dns 1 1 1 1
Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:
👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất