Dịch vụ DNS – Phần 2: Tìm hiểu cơ chế phân giải DNS

Mỗi khi người dùng truy cập tài nguyên mạng bằng tên miền hoặc host name (tên máy) ví dụ như truy cập vào trang web https://www.engisv.info bằng trình duyệt web, cái tên truy cập đó sẽ được phân giải thành địa chỉ IP, nếu tên miền và địa chỉ IP này được lưu cache lại trong bộ nhớ đẹm thì máy tính người dùng không cần thiết phải liên hệ với máy DNS server liên tục để phân giải tên mà nó sẽ sử dụng dữ liệu được lưu này để trả ra kết quả cho người dùng. Nếu tên miền này chưa có trong cache trong bộ nhớ đệm, client sẽ liên hệ với DNS server đã được cấu hình ở phần khai báo địa chỉ IP của nó, nếu server này ở trạng thái sẵn sàng và nó không thể xác định được địa chỉ, client sẽ không hỏi thêm một server nào khác. Tuy nhiên, bởi vì DNS là hệ thống phân phối phân cấp, DNS server cục bộ sẽ cần liên hệ với những DNS server khác để có thể phân giải IP mà client yêu cầu.

DNS client được hiểu như là người có nhu cầu cần phân giải DNS. Bởi vì một một client hay một server đều cần sự phân giải địa chỉ tên miền và IP của DNS server để xác định được máy chủ dịch vụ mà chúng cần liên hệ, các client và các server đều có thể là DNS client.

Truy vấn đệ quy (recursive query):

Khi một DNS client truy vấn một DNS server, nó thực hiện một truy vấn đệ quy (recursive query). Trong khi có các yêu cầu từ các host, DNS server có thể trả lời  các yêu cầu dữ liệu này hoặc trả lời tên miền không tồn tại. DNS server cũng có thể thực hiện các truy vấn đệ quy đến các máy chủ DNS khác nếu nó được cấu hình chuyển tiếp yêu cầu đến DNS server khác khi nó không có câu trả lời.

Khi DNS server nhận được yêu cầu, trước tiên nó sẽ kiểm tra có cache của mình xem có dữ liệu của yêu câu này hay không. Sau đó nó kiểm tra để xem nó có thẩm quyền hay không đối với yêu cầu domain. Nếu có biết câu trả lời và đủ thẩm quyền, nó sẽ hồi đáp với câu trả lời.

Truy vấn lặp đi lặp lại (iterative query):

Nếu DNS server không biết câu trả lời và nó không được cấu hình chuyển tiếp yêu cầu đến một DNS server khác thì  lúc này nó sẽ đóng vai trò là client DNS server  và thay client thực hiện truy vấn, client DNS server sẽ sử dụng cơ chế phân cấp của DNS để tìm câu trả lời chính xác. Thay vì thực hiện truy vấn đệ quy, client DNS server sẽ thực hiện truy vấn lặp đi lặp lại (iterative query), với truy vấn này sẽ trả lại câu trả lời tốt nhất hiện nay nếu client DNS server không biết câu trả lời tốt nhất. Ví dụ như, khi user gõ www.contoso.com vào trình duyệt, client DNS server  không có câu trả lời, client DNS server sẽ liên hệ với một root DNS server (.) để biết được địa chỉ của máy chủ tên miền com. Sau khi nhận kết quả từ root DNS server (.), Client DNS server sau đó tiếp tục liên hệ với máy chủ tên miền com để lấy thông tin máy chủ tên của contoso.com. Sau khi có thông tin từ  contoso.com, Client DNS server tiếp tục liên hệ với máy chủ tên miền của contoso.com để lấy địa chỉ IP của www.contoso.com. Và sau cùng sau khi có được thông tin của www.contoso.com, Client DNS server trả lời cho client với địa chỉ IP đã phân giải. Ngoài ra, nó cũng thêm địa chỉ này vào cache của nó phục vụ cho các truy vấn sau này.

Trong một vài trường hợp, client DNS server không biết câu trả lời và nó không thể tìm thấy câu trả lời, client DNS server trả lời cho client rằng nó không thể tìm thấy hoặc là truy vấn domain không tồn tại.

Hầu hết các DNS client cấu hình với hai  hoặc nhiều DNS server (trong phần cấu hình IP của client). DNS server thứ hai sẽ liên hệ truy vấn DNS chỉ khi server đầu tiên không sẵn sàng. Nếu DNS server đầu tiên có hoạt động mà không có câu trả lời cho truy vấn thì DNS server thứ hai trở đi sẽ không được dùng đến.

Để kiểm tra Domain name có tồn tại hay không: Trên command line (cmd) của Windows hoặc terminal của Linux dùng và dùng lệnh nslookup sau đó nhập tên miền cần kiểm tra, kết quả trả ra của lệnh này sẽ cho biết sự tồn tại của domain name và địa chỉ IP của domain đó.

Để xóa cache thông tin DNS, dùng lệnh như sau:

Trên Windows bạn sử dụng lệnh ipconfig /flushdns

Trên Linux bạn dùng lệnh /etc/init.d/nscd restart với điều kiện nscd đã được cài đặt trên máy tính của bạn.

Hãy chia sẻ nếu thích bài viết

Bài có liên quan