25 thg 8, 2007

Kiến thức cơ bản về mạng: Phần 3 - DNS Server

Unknown
Đây là phần tiếp theo của loạt bài Kiến thức cơ bản dành cho những người mới bắt đầu làm quen và tìm hiểu về mạng máy tính. Sau hai bài giới thiệu Hub và Switch, Router, nội dung của bài này đề cập đến hoạt động của các server DNS (hệ thống tên miền).

Đây cũng là phần cuối cùng chúng tôi nói đến cách các máy tính trong một phân đoạn mạng chia sẻ vùng địa chỉ IP chung như thế nào.

Như chúng ta đã biết, khi một máy tính cần truy cập thông tin trên một máy nằm ở mạng khác hay phân đoạn mạng khác, nó cần đến sự trợ giúp của router. Router sẽ chuyển các gói dữ liệu cần thiết từ mạng này sang mạng khác (chẳng hạn như Internet). Nếu bạn đã từng đọc phần hai, chắc hẳn bạn nhớ, chúng tôi có đưa ra một ví dụ tạo một tham chiếu đến địa chỉ IP kết hợp với một website. Để có thể truy cập vào website này, trình duyệt Web của bạn phải biết địa chỉ IP của website. Sau đó trình duyệt cung cấp địa chỉ cho router, router sẽ xác định đường đi tới mạng khác và yêu cầu các gói dữ liệu tới máy đích phù hợp. Mỗi website đều có một địa chỉ IP nhưng bạn có thể ghé thăm các website này hằng ngày mà không cần quan tâm đến dãy con số đó của nó. Trong bài này chúng tôi sẽ chỉ cho bạn thấy lý do vì sao có thể thực hiện được.

Địa chỉ IP cũng giống như địa chỉ nhà vậy. Nó gồm có vị trí mạng (là dãy số hiệu chỉ phân đoạn mạng máy tính đang hoạt động trong đó), tương tự như tên phố; và vị trí thiết bị (xác định một máy tính cụ thể trong mạng), tương tự như số nhà. Biết về địa chỉ IP là yêu cầu cần thiết cho hoạt động truyền thông cơ sở TCP/IP giữa hai máy tính.

Khi bạn mở một trình duyệt Web và nhập tên website (được biết đến như là tên miền hay đường dẫn URL(Universal Resource Locator - bộ định vị vị trí tài nguyên chung)), trình duyệt sẽ đến thẳng website mà không cần phải thông qua việc nhập địa chỉ IP. Bạn có thể hình dung quá trình mở website cũng giống như quá trình chuyển thư đến địa chỉ nhận ghi trên phong bì ở bưu điện vậy. Địa chỉ IP trong truyền thông mạng đóng vai trò như địa chỉ trên phong bì. Thư không thể đến đúng nơi nếu bạn chỉ ghi tên người nhận mà "quên mất" địa chỉ của họ. Việc đến và mở được một website cũng như vậy. Máy tính của bạn không thể liên lạc được với website trừ khi nó biết địa chỉ IP của website đó.

Nhưng bạn không cần gõ địa chỉ IP mà trình duyệt vẫn mở được đúng website bạn muốn khi nhập tên miền vào. Vậy địa chỉ IP ở đâu? Quá trình "dịch" tên miền thành địa chỉ IP là công việc của một server DNS (trình chủ hệ thống tên miền).

Trong hai bài trước chúng ta đã từng nói tới một số khái niệm về cấu hình TCP/IP của máy tính, như địa chỉ IP, mặt nạ mạng con (subnet mask) và cổng vào mặc định (default gateway). Nhìn hình A bên dưới bạn sẽ thấy có thêm một tuỳ chọn cấu hình khác là "Preferred DNS server" (trình chủ hệ thống tên miền tham chiếu).

Hình A: Tuỳ chọn Preferred DNS Server được định nghĩa như là một phần của cấu hình TCP/IP trong máy tính.

Như bạn có thể thấy trong hình minh hoạ, tuỳ chọn "Preferred DNS server" được định nghĩa như là một phần của cấu hình TCP/IP. Có nghĩa là máy tính sẽ luôn biết địa chỉ IP của DNS server. Điều này là hết sức quan trọng vì máy tính không thể liên lạc được với máy tính khác sử dụng giao thức TCP/IP nếu nó không biết địa chỉ IP của máy kia.

Bây giờ chúng ta sẽ xem xét điều gì xảy ra khi bạn cố gắng tới thăm một website. Quá trình bắt đầu với việc bạn mở trình duyệt Web và nhập đường dẫn URL. Khi đó, trình duyệt biết rằng nó không thể xác định được vị trí của website nếu chỉ dựa vào một mình địa chỉ URL. Do đó nó truy vấn thông tin địa chỉ IP của DNS sever từ cấu hình TCP/IP của máy tính và đưa đường dẫn URL lên trình chủ DNS server. DNS server sau đó sẽ tra tìm đường dẫn URL trên bảng có danh sách địa chỉ IP của website. Sau đó nó trả ra địa chỉ IP cho trình duyệt Web và trình duyệt có thể liên lạc với website được yêu cầu.

Thực sự quá trình giải thích này có thể được mô tả đơn giản hơn một chút. Giải pháp tên miền trong DNS chỉ có thể hoạt động nếu DNS server có chứa một bản ghi tương ứng với website được yêu cầu. Nếu bạn vào một website ngẫu nhiên, DNS sever sẽ không có bản ghi về website này. Lý do là bởi Internet quá lớn. Có hàng triệu website và website mới được tạo ra mỗi ngày. Không có cách nào cho một server DNS đơn có thể bắt kịp tất cả các website và đáp ứng được tất cả yêu cầu từ bất kỳ ai có kết nối tới Internet.

Bây giờ giả sử một trình chủ DNS server đơn có thể lưu trữ các bản ghi cho mọi website tồn tại. Nếu dung lượng của trình chủ không phải là vấn đề thì server cũng sẽ bị tràn bởi các yêu cầu xử lý tên nhận được từ người dùng Internet ở khắp mọi nơi. Một DNS server trung tâm hoá thường là đích nhắm rất phổ biến của các cuộc tấn công.

Do đó, các trình chủ DNS server thường được phân phối sang nhiều điểm, tránh cho một server DNS đơn phải cung cấp xử lý tên cho toàn bộ Internet. Trên thế giới hiện nay có một tổ chức chuyên phụ trách việc cấp phát, đăng ký tên miền Internet là Internet Corporation for Assigned Names and Numbers (hay ICANN). Do quản lý tên miền cho toàn bộ mạng là một công việc khổng lồ nên ICANN phân bổ nhiều phần đáp ứng tên miền cho các hãng khác nhau. Chẳng hạn, Network Solutions phụ trách tên miền ".com". Nhưng không có nghĩa là Network Solutions duy trì danh sách các địa chỉ IP kết hợp với toàn bộ tên miền .com. Trong hầu hết mọi trường hợp, DNS server của Network Solution đều chứa bản ghi trỏ tới DNS server được xem là chính thức cho từng miền.

Để thấy được tất cả hoạt động như thế nào, tưởng tượng rằng bạn muốn vào website www.brienposey.com. Khi nhập yêu cầu vào trình duyệt, trình duyệt gửi địa chỉ URL vào trình chủ DNS server được chỉ định bởi cấu hình TCP/IP của máy tính bạn. Trình chủ DNS server không biết địa chỉ của website này. Do đó, nó gửi yêu cầu tới DNS server của ICANN. DNS server của ICANN cũng không biết địa chỉ IP của website bạn đang muốn vào mà chỉ biết địa chỉ IP của DNS server chịu trách nhiệm với tên miền có đuôi .COM. Nó sẽ trả lại địa chỉ này cho trình duyệt và trong quá trình trả về nó cũng thực hiện việc đưa yêu cầu tới DNS server cụ thể đó.

Mức DNS server cao nhất dành cho tên miền đuôi .COM sẽ không biết đến địa chỉ IP nào của website được yêu cầu, nhưng nó biết địa chỉ IP của DNS server chính thức cho tên miền brienposey.com. Nó sẽ gửi địa chỉ này trở lại máy đưa ra yêu cầu. Sau đó trình duyệt Web gửi truy vấn DNS tới DNS server có đủ thẩm quyền cho miền được yêu cầu. Và DNS server này sẽ trả ra địa chỉ IP của website, cho phép máy liên lạc với website nó yêu cầu.

Như bạn có thể thấy, có nhiều bước phải hoàn thành để một máy tính tìm ra địa chỉ IP của một website. Nhằm giảm bớt số truy vấn DNS phải thực hiện, kết quả của các truy vấn này thường được lưu trữ liệu trong vài giờ hoặc vài ngày, tuỳ thuộc vào máy được cấu hình như thế nào. Việc lưu trữ các địa chỉ IP nâng cao một cách tuyệt vời khả năng thực thi và tối thiểu hoá tổng lượng băng thông tiêu thụ cho các truy vấn DNS. Bạn có thể hình dung ra quá trình duyệt Web sẽ tệ hại đến mức nào nếu máy tính của bạn phải thực hiện tập hợp đầy đủ các truy vấn DNS bất kỳ thời gian nào bạn muốn xem trang Web mới.

Kết luận

Trong bài này chúng tôi đã giải thích cách trình chủ DNS server được dùng để xử lý tên miền cho địa chỉ IP. Mặc dù quá trình được mô tả có vẻ khác đơn giản, nhưng bạn cần nhớ rằng ICANN và các nhà đăn ký DNS mức cao như Network Solutions sử dụng công nghệ load balacing (tải cân bằng) để phân phối yêu cầu qua nhiều server DNS khác. Điều này giúp các server khỏi bị tràn và loại trừ khả năng có điểm lỗi đơn.

Quản Trị Mạng

About the Author

Unknown / Author & Editor

Has laoreet percipitur ad. Vide interesset in mei, no his legimus verterem. Et nostrum imperdiet appellantur usu, mnesarchum referrentur id vim.