So sánh hiệu năng giữa DNS servers của OpenDNS và ISP bạn đang dùng

Sunday, December 06, 2009 Long Nguyễn Hoàng 1 Comments

Trước hết, hãy tìm hiểu một cách khái quát về DNS

Mỗi máy tính, thiết bị mạng tham gia vào mạng Internet đều "nói chuyện" với nhau bằng địa chỉ IP (Internet Protocol), mỗi địa chỉ IP là duy nhất. Địa chỉ IP (v4) gồm 4 nhóm số cách nhau bằng dấu chấm, ví dụ như 74.125.67.100. Như vậy, khi muốn truy cập vào một trang web nào đó, về lý thuyết, bạn phải nhớ địa chỉ IP, việc này thật khủng khiếp. Để thuận tiện cho việc sử dụng và dễ nhớ, người ta sử dùng tên miền (domain name) để xác định thiết bị đó thay cho địa chỉ IP. Mỗi Website có một tên (được gọi là tên miền hay đường dẫn URL: Universal Resource Locator) và nó ứng với một địa chỉ IP. Như vậy, hiểu một cách ngắn gọn thì bạn chỉ cần nhớ tên miền, còn DNS sẽ tự động ánh xạ tên miền đó với địa chỉ IP đã được quy định trước, rõ ràng là tên miền dễ nhớ hơn IP phải không. Vậy DNS là gì?

DNS là hệ thống tên miền (viết tắt của cụm từ Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP. Khi bạn mở một trình duyệt Web và nhập tên website (tên miền, là một chuỗi ký tự dễ nhớ), 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 (là một dãy số dài khó nhớ) của trang web. Ví dụ: mỗi lần bạn muốn truy cập vào trang tin tức của WindowsVN.net, bạn chỉ cần gõ i.windowsvn.net (quá dễ nhớ phải không?) thay vì phải nhập 118.69.202.209, hoặc vào google.com thay vì phải gõ 74.125.67.100. Quá trình "dịch" (ánh xạ) tên miền thành địa chỉ IP để cho trình duyệt hiểu và truy cập được vào website là công việc của một DNS server. Các DNS trợ giúp qua lại với nhau để dịch địa chỉ "IP" thành "tên" và ngược lại. Người sử dụng chỉ cần nhớ "tên", không cần phải nhớ địa chỉ IP. Hãy tưởng tưởng nếu Web Hosting giống như nhà bạn và Domain name (tên miền) giống như địa chỉ thì DNS giống như bản đồ. Giúp xác định vị trí ngôi nhà của bạn khi có địa chỉ. Web Hosting hỗ trợ DNS là rất cần thiết bởi nó giúp cho tên miền của bạn liên kết được với Web Hosting. Nếu Web Hosting không hỗ trợ DNS, bạn phải cần đến nhà cung cấp dịch vụ thứ ba. Điều đó cũng đồng nghĩa với sự thiếu đồng bộ, tiêu phí công sức cũng như tiền bạc.

Như vậy, giao thức DNS là một phần rất quan trọng trong cấu trúc mạng, nó làm việc giống như một cuốn danh bạ điện thoại: mỗi lần bạn ghé thăm một trang web, máy tính của bạn sẽ thực hiện việc tìm kiếm DNS. Các trang phức tạp thường đòi hỏi phải thực hiện việc tìm nhiều DNS trước khi chúng có thể được tải, vì vậy, máy tính của bạn có thể đã thực hiện hàng trăm cuộc tìm kiếm mỗi ngày.

Làm thế nào để biết DNS servers nào tốt hơn, OpenDNS hay nhà cung cấp dịch vụ (ISP) của bạn?

Trên mạng có rất nhiều bài viết giới thiệu về OpenDNS và cả việc so sánh tốc độ các máy chủ của OpenDNS so với các máy chủ của nhà cung cấp dịch vụ mạng (ISP) của bạn, bạn cũng thường thấy mọi người “cảm nhận” rằng dường như tốc độ mạng được cải thiện khi chuyển sang sử dụng DNS của OpenDNS, nhưng cái quan trọng nhất là bằng chứng là những số liệu thực tế, chẳng có mấy bài viết đưa ra những chứng cứ cụ thể này cả. Vậy tại sao bạn không tự mình kiểm chứng, liệu có thật là việc sử dụng DNS của OpenDNS thực sự nhanh hơn so với DNS của ISP cung cấp cho bạn?

Bắt đầu nhé!

Để so sánh tốc độ thực tế, tôi sẽ lấy thang đo là thời gian phản hồi DNS khi tôi gửi một truy vấn đến 2 máy chủ DNS, tại cùng một thời điểm. Để thực hiện việc này, tôi sử dụng công cụ DNS Tester của tác giả Charles Putney (Ireland). Đây là một chương trình chạy trên Windows, các bạn có thể tải mã nguồn và chỉnh sửa thêm cho phù hợp với yêu cầu của mình. Sau khi tải chương trình về máy, các bạn có thể giải nén và sử dụng được ngay mà không cần cài đặt.

Bạn cần biết 2 DNS của ISP và OpenDNS là gì để có thể so sánh chúng.

  • OpenDNS cung cấp 2 DNS: DNS chính là 208.67.222.222, phụ là 208.67.220.220.
  • Để biết được DNS của ISP mà bạn đang sử dụng, hãy ấn tổ hợp phím Windows + R để mở Run, gõ cmd và ấn Enter. Trên cửa sổ Command Prompt, gõ lệnh ipconfig /all, sau đó tìm dòng chữ DNS servers, dãy số ghi phía sau chính là DNS của ISP.








Ví dụ, DNS chính của ISP tôi đang sử dụng là 192.168.1.254, tôi sẽ so sánh nó với DNS chính của OpenDNS là 208.67.222.222. Giờ bạn hãy mở chương trình DNS Tester lên, giao diện của nó như sau:





Bạn điền lần lượt 2 DNS vào ô DNS 1 DNS 2, sau đó ấn nút Test.

Đây là kết quả:




Kết quả trên cho biết điều gì?

Bạn có thể thấy tại mục IP Address for DNS 1, rất nhiều ô trống, có nghĩa là máy chủ DNS của ISP tôi đang sử dụng gặp khá nhiều rắc rối với việc ánh xạ (“dịch”) tên miền sang địa chỉ IP, trong khi đó DNS của OpenDNS lại có thể hoàn thành gần như xuất sắc nhiệm vụ này với tỷ lệ khá cao, tới 98%. Nói cách khác, những rắc rối trong việc ánh xạ từ tên miền sang địa chỉ IP sẽ dẫn tới việc trình duyệt của bạn báo lỗi “Request time out”, và thời gian trong cột DNS Timing càng lớn, thì thời gian trễ càng dài, và bạn càng mất nhiều thời gian để truy cập vào một trang web nào đó. Trong ví dụ trên của tôi, thời gian đáp ứng của máy chủ DNS chỉ lớn hơn của ISP trong trường hợp trang youtube.com, còn hầu hết các trường hợp còn lại đều nhỏ hơn (tốc độ truy cập cao hơn).

Công cụ này có chính xác không? Theo tôi là khá chính xác, các bạn có thể đọc thêm chi tiết trên trang giới thiệu của tác giả. Về nguyên tắc, DNS Tester chọn ngẫu nhiên các tên miền bằng cách sử dụng Google để tạo ra một danh sách các website ngẫu nhiên không trùng lặp. Sau khi có danh sách, nó sẽ gửi các truy vấn đồng thời đến các máy chủ DNS và hiển thị thành kết quả như trên. Điểm quan trọng ở đây là do tác giả viết thuật toán sử dụng các danh sách tên miền ngẫu nhiên, nên bộ nhớ tạm của máy tính hay router sẽ không được sử dụng (tất nhiên là trừ trường hợp bạn đã từng ghé thăm trang đó). Nếu bạn muốn kết quả chính xác hơn nữa thì có thể xóa bộ nhớ tạm DNS bằng cách sử dụng lệnh sau: ipconfig /flushdns

Nhớ là hãy thực hiện thật nhiều phép thử (tối thiểu là 5 lần) để có kết quả chính xác nhé (việc set DNS nào là DNS 1 hay 2 không quan trọng).





Vậy bây giờ bạn có muốn chuyển sang sử dụng DNS của OpenDNS để tăng tốc độ truy cập và bảo mật hơn không? Hãy test thử rồi tự quyết định nhé. Ngoài ra, giờ đây bạn cũng có thêm lựa chọn nữa giữa DNS của Google Public DNS và OpenDNS, bạn có thể xem thêm bài so sánh: Google DNS vs OpenDNS


Nguyễn Hoàng Long


Trích từ: www.windowsvn.net

1 comment: