Trong bài viết hôm nay cùng Websitegiatot.net tìm hiểu về DNS là gì và các loại DNS. Để có thể hiểu rõ hơn, các bạn hãy cùng chúng tôi đọc qua bài viết ngay dưới đây.
DNS là gì?
Hệ thống phân giải tên miền (Domain Name System – DNS) là danh bạ của Internet. Con người truy cập thông tin trực tuyến thông qua các tên miền, như nytimes.com hoặc espn.com. Các trình duyệt web tương tác thông qua các địa chỉ Giao thức Internet (Internet Protocol – IP). DNS dịch 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ị được kết nối với Internet 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 con người phải ghi nhớ các địa chỉ IP như 192.168.1.1 (trong IPv4) hoặc các địa chỉ IP chữ và số phức tạp hơn mới hơn như 2400:cb00:2048:1::c629:d7a2 (trong IPv6).
DNS hoạt động như thế nào?
Quá trình phân giải DNS liên quan đến việc chuyển đổi tên máy chủ (chẳng hạn như www.example.com) thành địa chỉ IP thân thiện với máy tính (chẳng hạn như 192.168.1.1). Một địa chỉ IP được cung cấp cho mỗi thiết bị trên Internet và địa chỉ đó là cần thiết để tìm thiết bị Internet thích hợp – giống như địa chỉ đường phố được sử dụng để tìm một ngôi nhà cụ thể. Khi người dùng muốn tải trang web, bản dịch phải diễn ra giữa nội dung người dùng nhập vào trình duyệt web của họ (example.com) và địa chỉ thân thiện với máy cần thiết để định vị trang web example.com.
Để hiểu quy trình đằng sau độ phân giải DNS, điều 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à truy vấn DNS phải chuyển qua. Đối với trình duyệt web, quá trình tra cứu DNS diễn ra “ở hậu trường” và không yêu cầu tương tác từ máy tính của người dùng ngoài yêu cầu ban đầu.
Có 4 DNS liên quan đến việc tải trang web:
DNS recursor – DNS này có thể được coi là một thủ thư được yêu cầu đi tìm một cuốn sách cụ thể ở đâu đó trong thư viện. Con trỏ DNS là một máy chủ được thiết kế để nhận các truy vấn từ các máy khách thông qua các ứng dụng như trình duyệt web. Thông thường, bộ đệ quy sau đó chịu trách nhiệm thực hiện các yêu cầu bổ sung để đáp ứng truy vấn DNS của máy khách.
Root nameserver – Root nameserver là bước đầu tiên trong việc dịch (giải quyết) tên máy chủ có thể đọc được của con người thành địa chỉ IP. Nó có thể được coi giống như một chỉ mục trong thư viện trỏ đến các giá sách khác nhau – thông thường, nó đóng vai trò là 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 (The top level domain server – TLD) có thể được coi là một giá sách cụ thể trong thư viện. Máy chủ tên này là bước tiếp theo trong quá trình tìm kiếm địa chỉ IP cụ thể và nó lưu trữ phần cuối cùng của tên máy chủ (Trong example.com, máy chủ TLD là “com”).
Authoritative nameserver – Máy chủ tên cuối cùng này có thể được coi là một từ điển trên giá 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ủ tên có thẩm quyền là điểm dừng cuối cùng trong truy vấn máy chủ tên. Nếu máy chủ tê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 máy chủ được yêu cầu trở lại Bộ truy cập DNS (thủ thư) đã thực hiện yêu cầu ban đầu.
Sự khác biệt giữa authoritative DNS server và Recursive DNS resolver là gì?
Cả hai khái niệm đều đề cập đến các máy chủ (nhóm máy chủ) không thể thiếu đối với cơ sở hạ tầng DNS, nhưng mỗi máy chủ thực hiện một vai trò khác nhau và nằm ở các vị trí khác nhau bên trong quy trình truy vấn DNS. Một cách để suy nghĩ về sự khác biệt là trình phân giải đệ quy ở đầu truy vấn DNS và máy chủ tên có thẩm quyền ở cuối.
Recursive DNS resolver
Recursive DNS resolver là máy tính đáp ứng yêu cầu đệ quy từ máy khách và dành thời gian để theo dõi bản ghi DNS. Nó thực hiện điều này bằng cách thực hiện một loạt yêu cầu cho đến khi đến được máy chủ tên DNS có thẩm quyền cho bản ghi được yêu cầu (hoặc hết thời gian chờ hoặc trả về lỗi nếu không tìm thấy bản ghi nào). May mắn thay, trình phân giải DNS đệ quy không phải lúc nào cũng cần thực hiện nhiều yêu cầu để theo dõi các bản ghi cần thiết để phản hồi ứng dụng khách; bộ nhớ đệm là một quy trình lưu giữ dữ liệu giúp rút ngắn các yêu cầu cần thiết bằng cách cung cấp bản ghi tài nguyên được yêu cầu trước đó trong quá trình tra cứu DNS.
Authoritative DNS server
Nói một cách đơn giản, một máy chủ DNS có thẩm quyền là một máy chủ thực sự nắm giữ và chịu trách nhiệm về 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 đưa ra yêu cầu truy cập địa chỉ IP cần thiết để truy cập trang web hoặc các tài nguyên web khác. Máy chủ định danh có thẩm quyền có thể đáp ứng các truy vấn từ dữ liệu của chính nó mà không cần truy vấn nguồn khác, vì đó là nguồn xác thực cuối cùng đối với một số bản ghi DNS nhất định.
Điều đáng nói là trong trường hợp truy vấn dành cho tên miền phụ, chẳng hạn như foo.example.com hoặc blog.cloudflare.com, một máy chủ tên bổ sung sẽ được thêm vào trình tự sau máy chủ tên có thẩm quyền, chịu trách nhiệm lưu trữ bản ghi CNAME của tên miền phụ
Có một điểm khác biệt chính giữa nhiều dịch vụ DNS và dịch vụ mà Cloudflare cung cấp. Các trình phân giải đệ quy DNS khác nhau như Google DNS, OpenDNS và các nhà cung cấp như Comcast đều duy trì cài đặt trung tâm dữ liệu của các trình phân giải đệ quy DNS. Các trình phân giải này cho phép thực hiện các truy vấn nhanh chóng và dễ dàng thông qua các cụm hệ thống máy tính được tối ưu hóa DNS, nhưng chúng khác về cơ bản so với các máy chủ định danh do Cloudflare lưu trữ.
Cloudflare duy trì các máy chủ định danh cấp cơ sở hạ tầng không thể thiếu đối với hoạt động của Internet. Một ví dụ điển hình là mạng máy chủ f-root mà Cloudflare chịu trách nhiệm lưu trữ một phần. F-root là một trong những thành phần cơ sở hạ tầng máy chủ tên DNS 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 vào một vị trí duy nhất để xử lý khối lượng lớn lưu lượng DNS mà không bị gián đoạn dịch vụ.
Các bước tra cứu DNS là gì?
Đối với hầu hết các trường hợp, DNS liên quan đến việc tên miền được dịch sang địa chỉ IP thích hợp. Để tìm hiểu cách thức hoạt động của quy trình này, bạn nên đi theo đường dẫn tra cứu DNS khi nó di chuyển từ trình duyệt web, qua quy trình tra cứu DNS và quay lại. Chúng ta hãy xem các bước.
Lưu ý: Thường thì thông tin tra cứu DNS sẽ được lưu trữ cục bộ 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 tra cứu DNS. Khi thông tin DNS được lưu vào bộ đệm ẩn, các bước sẽ được bỏ qua khỏi quy trình tra cứu DNS, giúp quá trình tra cứu nhanh hơn. Ví dụ dưới đây phác thảo tất cả 8 bước khi không có gì được lưu vào bộ đệm.
8 bước tra cứu DNS:
Người dùng nhập ‘example.com’ vào trình duyệt web và truy vấn sẽ đi vào Internet và được nhận bởi DNS recursive resolver.
Trình phân giải sau đó truy vấn DNS root nameserver (.).
Sau đó, máy chủ gốc phản hồi trình phân giải bằng địa chỉ của máy chủ DNS Tên miền cấp cao nhất (TLD) (chẳng hạn như .com hoặc .net), nơi 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 hướng tới TLD .com.
Trình phân giải sau đó đưa ra yêu cầu tới .com TLD.
Sau đó, máy chủ TLD sẽ phản hồi bằng địa chỉ IP của máy chủ tên miền, example.com.
Cuối cùng, DNS resolver gửi một truy vấn đến máy chủ định danh của miền.
Địa chỉ IP cho example.com sau đó được trả lại cho trình phân giải từ máy chủ định danh.
Sau đó, trình phân giải DNS sẽ phản hồi trình duyệt web bằng địa chỉ IP của tên miền được yêu cầu ban đầu.
Khi 8 bước tra cứu DNS đã trả về địa chỉ IP example.com, trình duyệt có thể đưa ra yêu cầu cho trang web:
Trình duyệt tạo một yêu cầu HTTP tới địa chỉ IP.
Máy chủ tại IP đó trả về trang web sẽ được hiển thị trong trình duyệt (bước 10).
DNS resolver là gì?
DNS resolver là điểm dừng đầu tiên trong quá trình tra cứu DNS và chịu trách nhiệm xử lý ứng dụng khách đã đưa ra yêu cầu ban đầu. Trình phân giải bắt đầu chuỗi truy vấn cuối cùng dẫn đến một URL được dịch sang địa chỉ IP cần thiết.
Lưu ý: Một DNS resolver không được lưu trong bộ nhớ cache điển hình sẽ bao gồm cả truy vấn đệ quy và lặp lại.
Điều quan trọng là phải phân biệt giữa truy vấn recursive DNS và recursive DNS resolver. Truy vấn đề cập đến yêu cầu được thực hiện đối với trình phân giải DNS yêu cầu độ phân giải của truy vấn. DNS recursive resolver là máy tính chấp nhận truy vấn recursive 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 tra cứu DNS điển hình, có ba loại truy vấn xảy ra. Bằng cách sử dụng kết hợp các truy vấn này, quy trình được tối ưu hóa cho độ phân giải DNS có thể giúp giảm khoảng cách di chuyển. Trong một tình huống lý tưởng, dữ liệu bản ghi được lưu trong bộ nhớ đệm sẽ có sẵn, cho phép máy chủ tên DNS trả về một truy vấn không đệ quy.
3 loại truy vấn DNS:
Recursive query – Trong Recursive query, máy khách DNS yêu cầu máy chủ DNS (thường là trình phân giải đệ quy DNS) sẽ phản hồi máy khách bằng bản ghi tài nguyên được yêu cầu hoặc thông báo lỗi nếu trình phân giải không thể tìm thấy bản ghi.
Iterative query – trong tình huống này, máy khách DNS sẽ cho phép 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 khớp với tên truy vấn, nó sẽ trả về một giới thiệu đến máy chủ DNS có thẩm quyền cho cấp thấp hơn của không gian tên miền. Máy khách DNS sau đó sẽ thực hiện truy vấn đến địa chỉ giới thiệu. Quá trình này tiếp tục với các máy chủ DNS bổ sung trong chuỗi truy vấn cho đến khi xảy ra lỗi hoặc hết thời gian chờ.
Non-recursive query – thông thường, điều này sẽ xảy ra khi ứng dụng khách trình phân giải DNS truy vấn máy chủ DNS để tìm bản ghi mà nó có quyền truy cập vì bản ghi đó có thẩm quyền hoặc bản ghi tồn tại bên trong bộ nhớ cache của nó. Thông thường, một máy chủ DNS sẽ lưu trữ các bản ghi DNS để ngăn chặn việc tiêu thụ thêm băng thông và tải trên các máy chủ ngược dòng.
Bộ nhớ đệm(Cache) DNS là gì? Bộ nhớ đệm DNS xảy ra ở đâu?
Mục đích của bộ nhớ đệm là lưu trữ dữ liệu tạm thời ở một vị trí giúp cải thiện hiệu suất và độ tin cậy cho các yêu cầu dữ liệu. Bộ nhớ đệm DNS liên quan đến việc lưu trữ dữ liệu gần máy khách yêu cầu hơn để truy vấn DNS có thể được giải quyết sớm hơn và có thể tránh được các truy vấn bổ sung ở phía dưới chuỗi tra cứu DNS, nhờ đó cải thiện thời gian tải và giảm mức tiêu thụ băng thông/CPU. Dữ liệu DNS có thể được lưu trong bộ nhớ cache ở nhiều vị trí khác nhau, mỗi vị trí sẽ lưu trữ các bản ghi DNS trong một khoảng thời gian nhất định được xác định bởi thời gian tồn tại (TTL).
Bộ nhớ đệm DNS của trình duyệt
Các 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 là rõ ràng; bộ nhớ đệm DNS xảy ra với trình duyệt web càng gần thì càng phải thực hiện ít bước xử lý hơn để kiểm tra bộ đệm và thực hiện các yêu cầu chính xác tới một địa chỉ IP. Khi yêu cầu bản ghi DNS được thực hiện, bộ nhớ cache của trình duyệt là vị trí đầ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 bộ đệm ẩn DNS của mình bằng cách truy cập chrome://net-internals/#dns.
Bộ nhớ đệm DNS cấp Operating system (OS)
Trình phân giải 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 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à “trình phân giải sơ khai” hoặc máy khách DNS. Khi một trình phân giải sơ khai nhận được yêu cầu từ một ứng dụng, trước tiên, nó sẽ kiểm tra bộ đệm của chính nó để xem nó có bản ghi hay không. Nếu không, nó sẽ gửi một truy vấn DNS (có đặt cờ đệ quy), bên ngoài mạng cục bộ tới trình phân giải đệ quy DNS bên trong nhà cung cấp dịch vụ Internet (ISP).
Khi trình phân giải đệ quy bên trong ISP nhận được một truy vấn DNS, giống như tất cả các bước trước đó, nó cũng sẽ kiểm tra xem bản dịch từ máy chủ sang địa chỉ IP được yêu cầu đã được lưu trữ bên trong lớp lưu trữ cục bộ của nó chưa.
Trình phân giải đệ quy cũng có chức năng bổ sung tùy thuộc vào loại bản ghi mà nó có trong bộ nhớ đệm:
Nếu trình phân giải không có bản ghi A, nhưng có bản ghi NS cho máy chủ định danh có thẩm quyền, thì nó sẽ truy vấn trực tiếp các máy chủ định danh đó, bỏ qua một số bước trong truy vấn DNS. Lối tắt này ngăn tra cứu từ máy chủ tên gốc và .com (trong tìm kiếm của chúng tôi là example.com) và giúp giải quyết truy vấn DNS diễn ra nhanh hơn.
Nếu trình phân giải không có bản ghi NS, nó sẽ gửi truy vấn đến máy chủ TLD (trong trường hợp của chúng tôi là .com), bỏ qua máy chủ gốc.
Trong trường hợp không chắc là trình phân giải không có các bản ghi trỏ đến các máy chủ TLD, thì nó sẽ truy vấn các máy chủ gốc. Sự kiện này thường xảy ra sau khi bộ đệm ẩn DNS đã bị xóa.
Nguồn: Tổng hợp