DNS Queries & Resolution Process

Giới thiệu
Bài này sẽ giúp các bạn hiểu được các truy vấn DNS hoạt động trên Internet và mạng gia đình của bạn như thế nào. Có 2 cách sử dụng hệ thống tên miền để phân giải 1 host hoặc 1 tên miền sang 1 địa chỉ IP và chúng ta sẽ xem xét từng cách một.

Các loại truy vấn và cách giải quyết
Như đã đề cập trong phần giới thiệu, có 2 cách cho 1 client sử dụng hệ thống tên miền.
Cách thứ nhất, client liên hệ với các máy chủ tên (điều này tương đương với 1 truy vấn không đệ quy) cùng 1 lúc cho tới khi nó tìm thấy máy chủ có chứa những thông tin mà nó yêu cầu. Cách khác là yêu cầu hệ thống máy chủ tên thực hiện bản dịch đầy đủ (điều này tương đương với 1 truy vấn đệ quy), trong trường hợp này, client sẽ gửi truy vấn và nhận được phản hồi có chứa địa chỉ IP của tên miền đang tìm kiếm.
Thật sự rất thú vị khi tìm hiểu về cách mà truy vấn DNS hoạt động như thế nào. Trong khi phân tích những gói tin được gửi và nhận từ các máy chủ DNS, tôi sẽ chỉ cho bạn cách mà client lựa chọn phương pháp mà client muốn truy vấn của nó sẽ được giải quyết.

Ví dụ về DNS Resolution
Chúng ta hãy cùng xem ví dụ sau:
Khi ai đó muốn truy cập trang web của Cisco (www.cisco.com), họ sẽ dùng trình duyệt web và gõ "http://www.cisco.com" hoặc "www.cisco.com" và sau 1 vài giây, trang web sẽ được hiển thị. Nhưng những gì xảy ra đằng sau những thao tác đó không phải ai cũng biết. Đó là những gì mà chúng ta sẽ tìm hiểu ngay bây giờ.

Hình dưới đây sẽ cho chúng ta thấy những gì xảy ra trong ví dụ ở trên (để cho đơn giản thì chúng ta không minh họa cả 2 máy chủ Primary DNS và Secondary DNS, chỉ có Primary DNS được minh họa ở đây):


Giải thích:
1. Bạn mở trình duyệt web và nhập www.cisco.com trong thanh địa chỉ. Vào thời điểm đó, máy tính không biết địa chỉ IP cho www.cisco.com, do đó nó sẽ gửi 1 truy vấn DNS tới máy chủ DNS của ISP của bạn (truy vấn tới DNS của ISP vì điều này đã được thiết lập qua các thuộc tính dial-up; nếu bạn đang ở trên 1 kết nối thường trực thì nó được thiết lập qua các thuộc tính TCP/IP của card mạng).
2. Máy chủ DNS của ISP không biết địa chỉ IP của www.cisco.com, vì vậy nó sẽ gửi yêu cầu đến 1 trong các máy chủ ROOT DNS.
3. Máy chủ ROOT DNS kiểm tra cơ sở dữ liệu của nó và thấy rằng Primary DNS cho Cisco.com là 198.133.219.25. Đó là câu trả lời cho máy chủ của ISP.
4. Máy chủ DNS của ISP bây giờ đã biết nơi để liên lạc máy chủ DNS của Cisco và tìm ra www.cisco.com cùng với địa chỉ IP của nó nếu tồn tại. Máy chủ DNS của ISP sẽ gửi 1 truy vấn đệ quy đến máy chủ DNS của Cisco.com và hỏi địa chỉ IP của www.cisco.com.
5. Máy chủ DNS của Cisco kiểm tra cơ sở dữ liệu của nó và tìm thấy 1 entry là "www.cisco.com". Entry này có địa chỉ IP là 198.133.219.25. Nói cách khác, dịch vụ Web và dịch vụ DNS được chạy trên cùng 1 máy chủ. Nếu Web và DNS không được chạy trên cùng 1 máy chủ, nó sẽ có địa chỉ IP khác nhau.
6. Máy chủ DNS của ISP bây giờ đã biết địa chỉ IP của www.cisco.com và gửi kết quả cho máy tính của bạn.
7. Máy tính của bạn bây giờ đã biết cần liên hệ với ai để có được trang web. Vì vậy nó sẽ gửi 1 http request trực tiếp đến máy chủ Web của Cisco và tải trang web đó về.

Hãy nhớ rằng loại truy vấn vừa nêu ra trong ví dụ ở trên (truy vấn đệ quy) là loại phổ biến nhất. Loại truy vấn khác (truy vấn không đệ quy) cũng theo 1 quy trình tương tự, sự khác biệt là client sẽ thực hiện tất cả các hoạt động để cố gắng tìm ra máy chủ DNS có thẩm quyền cho tên miền mong muốn, hay nói 1 cách khác về nó là: "tự phục vụ" (self service).

Lược dịch từ bài gốc: Click Here

Bài tiếp theo: DNS Query Message Format

Không có nhận xét nào:

Đăng nhận xét