Cai dat va cau hinh Windows Server 2012 R2 (37)

(Tiếp theo của "Cai dat va cau hinh Windows Server 2012 R2 (36)")

4.3. DNS


DNS (domain name system – hệ thống tên miền) là một thành phần quan trọng trong hoạt động của Internet cũng như của AD (Active Directory).

Trong hệ thống mạng, mọi giao tiếp TCP/IP đều sử dụng địa chỉ IP. Mỗi một máy tính trong mạng có ít nhất một cạc mạng, người ta gọi cạc mạng này là một host. Mỗi host có một địa chỉ IP duy nhất trong mạng. Trong mỗi gói tin trên hệ thống TCP/IP luôn có địa chỉ IP của máy gửi và máy nhận.

Tuy nhiên, khi người dùng truy cập một thư mục chia sẻ trong mạng hoặc truy cập một website trên Internet, họ thường sử dụng địa chỉ dạng tên (tên máy - host name hoặc tên miền – domain name) hơn là sử dụng địa chỉ IP. Việc sử dụng địa chỉ dạng tên giúp họ dễ nhớ, dễ dùng.


Kiến trúc của DNS


Để sử dụng địa chỉ dạng tên trong quá trình hoạt động, TCP/IP phải có cách thức để chuyển đổi qua lại giữa tên và địa chỉ IP.

Trong những ngày đầu của hệ thống mạng TCP/IP, người ta sử dụng một danh sách chuyển đổi giữa tên và địa chỉ IP tại mỗi máy tính, danh sách này được gọi là host table. Ở thời gian này, do số lượng các máy tính còn ít, kiến trúc của Internet còn đơn giản, nên giải pháp này vẫn có thể chấp nhận được.

Tuy nhiên, hiện nay với hàng triệu máy tính trên hệ thống Internet, việc duy trì và phân tán host table tới từng máy tính đơn lẻ là không khả thi. Thay vì vậy, người ta sử dụng hệ thống các DNS server để chuyển đổi từ tên sang địa chỉ IP. Quá trình chuyển đổi này thường được gọi là quá trình phân giải tên.

Về bản chất, hệ thống DNS vẫn hoạt động dựa trên danh sách chuyển đổi giữa tên và địa chỉ IP. Tuy nhiên, cách thức tạo, lưu trữ, và truy vấn thì khác so với hệ thống ban đầu. Hệ thống DNS gồm ba thành phần sau:

- DNS namespace (hệ thống tên): hệ thống tên của DNS được tổ chức theo cấu trúc cây (tree). Mỗi nhánh của cây xác lập một miền (domain). Mỗi miền chứa các bản ghi (resource record): là thông tin ánh xạ giữa tên và địa chỉ IP, và các thông tin khác. Mục đích của quá trình truy vấn DNS là tìm kiếm các thông tin chứa trong các bản ghi tại mỗi miền.

- Name server: là máy tính đã được cài đặt dịch vụ DNS server và có chứa các bản ghi thông tin của miền. Đôi khi, máy này cũng chứa thông tin liên quan đến việc quản lý các nút con trong miền. Name server có thể trả lời các truy vấn liên quan đến tên miền do nó quản lý, ngoài ra, nó cũng có khả năng chuyển tiếp các truy vấn tới các name server khác trong trường hợp nó không thể trả lời được. Nói chung, tất cả các DNS server (máy tính được cài đặt dịch vụ DNS server) đều có khả năng trả lời các truy vấn DNS.

- Resolver (DNS client): là chương trình DNS client, chương trình này sẽ tạo truy vấn DNS và gửi nó tới DNS server. Mỗi DNS client phải được chỉ dẫn để truy cập tới ít nhất một DNS server. Ngoài ra, trong một số tình huống, DNS client cũng có thể gửi yêu cầu truy vấn tới các DNS server khác.

Ở chế độ hoạt động đơn giản nhất, DNS client sẽ bắt đầu quá trình phân giải tên bằng việc gửi một yêu cầu chuyển đổi từ tên sang IP cho DNS server (tạm gọi là DNS server 1). Nếu DNS server 1 không thể chuyển đổi được, nó sẽ chuyển tiếp yêu cầu tới DNS server khác (tạm gọi là DNS server 2) trên mạng. DNS server 2 sẽ gửi trả kết quả chuyển đổi cho DNS server 1. Sau đó, DNS server 1 gửi trả lại kết quả cho DNS client. Xem hình minh họa.



Tuy nhiên, thực tế hoạt động của DNS sẽ phức tạp hơn, như các nội dung sẽ được trình bày trong các phần tiếp theo.


Hoạt động của DNS


Hầu như tất cả các ứng dụng trên Internet đều sử dụng DNS để chuyển đổi địa chỉ dạng tên sang địa chỉ IP. Để đơn giản, bạn hãy quan sát quá trình duyệt web. Để duyệt web, bạn nhập địa chỉ của website (URL) vào thanh địa chỉ của trình duyệt (ví dụ: www.google.com), gõ phím Enter, quan sát thanh trạng thái của trình duyệt sẽ có nội dung thông báo là đang tìm trang web (Finding site…hoặc Looking up…), sau đó vài giây sẽ có thông báo là đang kết nối tới trang web (Connecting…). Khoảng thời gian từ lúc bạn gõ phím Enter tới lúc xuất hiện thông báo “đang kết nối…” là khoảng thời gian diễn ra quá trình chuyển đổi địa chỉ dạng tên sang IP (đổi từ www.google.com sang IP).

Dưới góc nhìn từ phía client, hoạt động của DNS chỉ đơn giản là: ứng dụng trên máy client sử dụng DNS client gửi địa chỉ dạng tên tới DNS server để yêu cầu chuyển đổi từ tên sang IP, DNS server trả về cho client địa chỉ IP tương ứng. Khi đã có địa chỉ IP, client sẽ tạo gói tin để gửi các yêu cầu (duyệt web) tới server.

Để thấy được sự phức tạp của quá trình phân giải địa chỉ, bạn sẽ nhìn hoạt động từ phía DNS server. Sau đây là các bước của quá trình phân giải địa chỉ:

  1. Người dùng trên máy client nhập địa chỉ dạng tên vào ứng dụng, ví dụ, nhập tên của website vào trình duyệt web. Ứng dụng sẽ sử dụng lời gọi API (application programming interface) để gọi chương trình DNS client (resolver) trên máy client. Chương trình DNS client tạo một truy vấn đệ quy - recursive query (yêu cầu chuyển đổi địa chỉ dạng tên sang IP), gửi truy vấn này tới DNS server. Địa chỉ IP của DNS server đã được thiết lập trong cạc mạng của máy client. Xem hình minh họa.


  1. Khi nhận được yêu cầu truy vấn, DNS server sẽ kiểm tra các bản ghi của nó xem nó có thể trả lời hay không. Nếu không (thường là như vậy), DNS server sẽ tạo một truy vấn mới (truy vấn lặp – iterative query), và gửi truy vấn này tới một trong các name server gốc (root name server). Name server gốc xem xét tên cần chuyển đổi, tìm trong các bản ghi của nó để xác định tên và địa chỉ IP của name server mức một (top-level domain) của tên cần chuyển đổi, tạo gói tin và gửi lại cho DNS server. Xem hình minh họa.


  1. Tới đây DNS server đã có địa chỉ IP của máy name server mức một. DNS server tạo tiếp một truy vấn mới (truy vấn lặp), gửi truy vấn tới name server mức một. Name server mức một xem xét truy vấn, xác định tên và địa chỉ IP của máy name server mức hai (second-level domain) của tên cần chuyển đổi, tạo gói tin và gửi lại cho DNS server. Xem hình minh họa.


  1. Tới đây DNS server đã có địa chỉ IP của máy name server mức hai. DNS server tạo tiếp một truy vấn mới (truy vấn lặp), gửi truy vấn tới máy name server mức hai. Name server mức hai xem xét truy vấn, nếu nó có bản ghi của tên cần chuyển đổi, nó sẽ gửi địa chỉ IP tương ứng với tên cần chuyển đổi cho DNS server. Xem hình minh họa.


  1. DNS server nhận được gói trả lời của name server mức hai, trong đó có địa chỉ IP của tên miền cần chuyển đổi. DNS server gửi địa chỉ IP cho DNS client. DNS client chuyển địa chỉ IP cho chương trình ứng dụng. Từ đây, chương trình ứng dụng bắt đầu thực hiện các giao tiếp mạng với server (ví dụ: web server) bằng địa chỉ IP. Xem hình minh họa.


Tùy theo tên cần chuyển đổi, quá trình chuyển đổi có thể đơn giản hoặc phức tạp hơn so với năm bước ở trên. Ví dụ, nếu DNS server chứa bản ghi của tên cần chuyển đổi, thì DNS server sẽ trả lời luôn cho DNS client mà không cần truy vấn tới các name server khác. Ngược lại, nếu tên cần chuyển đổi có mức là ba hoặc nhiều hơn, thì DNS server sẽ cần thực hiện thêm các truy vấn lặp nữa.


Ở đây, chúng ta cũng đã giả định là mọi truy vấn đến các name server (gốc, mức một, mức hai...) đều thành công. Tuy nhiên, nếu DNS server nhận được bất kì thông báo lỗi nào từ các name server, nó sẽ chuyển tiếp thông báo lỗi đến cho DNS client, kết quả là người dùng sẽ nhận được thông báo rằng quá trình chuyển đổi tên bị thất bại.

---------------------------
Tham khảo (Lược dịch): Craig Zacker, Exam Ref 70-410 - Installing and Configuring Windows Server 2012 R2, Microsoft Press, 2014

--------------------------- 
Cập nhật 2015/3/5
---------------------------
Đọc thêm
Cai dat va cau hinh Windows Server 2012 R2 (38)