Trang

Thứ Hai, 9 tháng 5, 2011

Tìm hiểu về DNS

DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống phân giải tên miền được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền.

Chức năng của DNS

Mỗi Website có một tên ( là tên miền hay đường dẫn URL : Universal Resource Locator ) và một địa chỉ IP.Địa chỉ IP gồm 4 nhóm số cách nhau bằng dấu chấm. Khi mở một trình duyệt Web và nhập tên website, 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 của trang web. Quá trình "dịch" 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 ( địa chỉ IP là những con số rất khó nhớ ).
Nguyên tắc làm việc của DNS

- Mỗi nhà cung cấp dịch vụ vận hành và duy trì DNS server riêng của mình, gồm các máy bên trong phần riêng của mỗi nhà cung cấp dịch vụ đó trong Internet. Tức là, nếu một trình duyệt tìm kiếm địa chỉ của một website thì DNS server phân giải tên website này phải là DNS server của chính tổ chức quản lý website đó chứ không phải là của một tổ chức ( nhà cung cấp dịch vụ ) nào khác.

- INTERNIC ( Internet Network Information Center ) chịu trách nhiệm theo dõi các tên miền và các DNS server tương ứng. INTERNIC là một tổ chức được thành lập bởi NFS ( National Science Foundation ), AT&T và Network Solution, chịu trách nhiệm đăng ký các tên miền của Internet. INTERNIC chỉ có nhiệm vụ quản lý tất cả các DNS server trên Internet chứ không có nhiệm vụ phân giải tên cho từng địa chỉ.

- DNS có khả năng tra vấn các DNS server khác để có được một cái tên đã được phân giải. DNS server của mỗi tên miền thường có hai việc khác biệt. Thứ nhất, chịu trách nhiệm phân giải tên từ các máy bên trong miền về các địa chỉ Internet, cả bên trong lẫn bên ngoài miền nó quản lý. Thứ hai, chúng trả lời các DNS server bên ngoài đang cố gắng phân giải những cái tên bên trong miền nó quản lý.

- DNS server có khả năng ghi nhớ lại những tên vừa phân giải. Để dùng cho những yêu cầu phân giải lần sau. Số lượng những tên phân giải được lưu lại tùy thuộc vào quy mô của từng DNS.

Cách sử dụng DNS

Do các DNS có tốc độ biên dịch khác nhau, có thể nhanh hoặc có thể chậm, do đó người sử dụng có thể chọn DNS server để sử dụng cho riêng mình. Có các cách chọn lựa cho người sử dụng. Sử dụng DNS mặc định của nhà cung cấp dịch vụ ( internet ), trường hợp này người sử dụng không cần điền địa chỉ DNS vào network connections trong máy của mình. Sử dụng DNS server khác ( miễn phí hoặc trả phí ) thì phải điền địa chỉ DNS server vào network connections. Địa chỉ DNS server cũng là 4 nhóm số cách nhau bởi các dấu chấm.

Cấu trúc gói tin DNS

ID QR Opcode AA TC RD RA Z Rcode

QDcount ANcount NScount ARcount

ID: Là một trường 16 bits, chứa mã nhận dạng, nó được tạo ra bởi một chương trình để thay cho truy vấn. Gói tin hồi đáp sẽ dựa vào mã nhận dạng này để hồi đáp lại. Chính vì vậy mà truy vấn và hồi đáp có thể phù hợp với nhau.

QR: Là một trường 1 bit. Bít này sẽ được thiết lập là 0 nếu là gói tin truy vấn, được thiết lập là một nếu là gói tin hồi đáp.

Opcode: Là một trường 4 bits, được thiết lập là 0 cho cờ hiệu truy vấn, được thiết lập là 1 cho truy vấn ngược, và được thiết lập là 2 cho tình trạng truy vấn.

AA: Là trường 1 bit, nếu gói tin hồi đáp được thiết lập là 1, sau đó nó sẽ đi đến một server có thẫm quyền giải quyết truy vấn.

TC: Là trường 1 bit, trường này sẽ cho biết là gói tin có bị cắt khúc ra do kích thước gói tin vượt quá băng thông cho phép hay không.

RD: Là trường 1 bit, trường này sẽ cho biết là truy vấn muốn server tiếp tục truy vấn một cách đệ qui.

RA: Trường 1 bit này sẽ cho biết truy vấn đệ qui có được thực thi trên server không .

Z: Là trường 1 bit. Đây là một trường dự trữ, và được thiết lập là 0.

Rcode: Là trường 4 bits, gói tin hồi đáp sẽ có thể nhận các giá trị sau :

0: Cho biết là không có lỗi trong quá trình truy vấn.

1: Cho biết định dạng gói tin bị lỗi, server không hiểu được truy vấn.

2: Server bị trục trặc, không thực hiện hồi đáp được.

3: Tên bị lỗi. Chỉ có server có đủ thẩm quyền mới có thể thiết lập giá trị náy.

4: Không thi hành. Server không thể thực hiện chức năng này .

5: Server từ chồi thực thi truy vấn.

QDcount: Số lần truy vấn của gói tin trong một vấn đề.

ANcount: Số lượng tài nguyên tham gia trong phần trả lời.

NScount: Chỉ ra số lượng tài nguyên được ghi lại trong các phẩn có thẩm quyền của gói tin.

ARcount: Chỉ ra số lượng tài nguyên ghi lại trong phần thêm vào của gói tin.

DNS làm việc như thế nào ?

DNS (Domain Name System) là một hệ cơ sở dữ liệu phân tán dùng để ánh xạ giữa các tên miền và các địa chỉ IP. DNS đưa ra một phương pháp đặc biệt để duy trì và liên kết các ánh xạ này trong một thể thống nhất.

Trong phạm vi lớn hơn, các máy tính kết nối với internet sử dụng DNS để tạo địa chỉ liên kết dạng URL (Universal Resource Locators). Theo phương pháp này, mỗi máy tính sẽ không cần sử dụng địa chỉ IP cho kết nối mà chỉ cần sử dụng tên miền (domain name) để truy vấn đến kết nối đó. Với mô hình phân cấp như hình dưới đây :
Mô hình phân cấp tên miền
Để hiểu rõ hơn về hoạt động của DNS chúng ta xét ví dụ và tham khảo hình vẽ dưới đây :

Ví dụ hoạt động của DNS :

Giả sử PC A muốn truy cập đến trang web www.yahoo.com và server vnn chưa lưu thông tin về trang web này, các bước truy vấn sẽ diễn ra như sau:
Đầu tiên PC A gửi một request hỏi server quản lý tên miền vnn hỏi thông tin về www.yahoo.com.
Server quản lý tên miền vnn gửi một truy vấn đến server top level domain.
Top level domain lưu trữ thông tin về mọi tên miền trên mạng. Do đó nó sẽ gửi lại cho server quản lý tên miền vnn địa chỉ IP của server quản lý miền com (gọi tắt server com).
Khi có địa chỉ IP của server quản lý tên miền com thì lập tức server vnn hỏi server com thông tin về yahoo.com. Server com quản lý toàn bộ những trang web có domain là com, chúng gửi thông tin về địa chỉ IP của server yahoo.com cho server vnn.
Lúc này server vnn đã có địa chỉ IP của yahoo.com rồi. Nhưng PC A yêu cầu dịch vụ www chứ không phải là dịch vụ ftp hay một dịch vụ nào khác. Do đó server vnn tiếp tục truy vấn tới server yahoo.com để yêu cầu thông tin về server quản lý dịch vụ www của yahoo.com.
Lẽ đương nhiên khi nhận được truy vấn thì server yahoo.com gửi lại cho server vnn địa chỉ IP của server quản lý www.yahoo.com.
Cuối cùng là server vnn gửi lại địa chỉ IP của server quản lý www.yahoo.com. cho PC A và PC A kết nối trực tiếp đến nó. Và bây giờ thì server vnn đã có thông tin về www.yahoo.com cho những lần truy vấn đến sau của các client khác.


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

Đăng nhận xét