Tải bản đầy đủ (.doc) (26 trang)

Dịch vụ DNS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (446.67 KB, 26 trang )

Dịch vụ DNS Trang 1
DỊCH VỤ DNS
1. Lịch sử ra đời của dịch vụ DNS
Ban đầu do quy mô mạng ARPAnet (tiền thân của mạng Internet) còn nhỏ chỉ vài trăm
máy chủ, nên chỉ 1 file đơn HOSTS.TXT chứa thông tin về các máy chủ này: ánh xạ
tên máy-địa chỉ IP. Trong đó tên máy chỉ là 1 chuỗi text không phân cấp (flat name).
File này được duy trì tại 1 máy chủ và các máy chủ khác lưu giữ bản sao của nó. Tuy
nhiên khi quy mô mạng lớn hơn, việc sử dụng file HOSTS.TXT có các nhược điểm
như:
o Lưu lượng mạng và tải trên server
 Mạng và máy chủ duy trì file HOSTS.TXT bị quá tải do hiệu ứng
“cổ chai”.
o Xung đột tên
 Không thể có 2 máy chủ có cùng tên trong file HOSTS.TXT . Tuy
nhiên do tên máy không phân cấp và không có gì đảm bảo để ngăn
chặn việc tạo 2 tên trùng nhau vì không có cơ chế uỷ quyền quản lý
file nên có nguy cơ bị xung đột tên.
o Không đảm bảo sự toàn vẹn
 Việc duy trì 1 file trên mạng lớn rất khó khăn. Ví dụ như khi file
HOSTS.TXT vừa cập nhật chưa kịp chuyển đến máy chủ ở xa thì đã
có sự thay đổi địa chỉ trên mạng rồi.
Tóm lại việc dùng file HOSTS.TXT không phù hợp cho mạng rộng lớn vì thiếu cơ
chế phân tán và mở rộng. Dịch vụ DNS ra đời để khắc phục các nhược điểm này.
Người thiết kế cấu trúc của dịch vụ DNS là Paul Mockapetris - USC's Information
Sciences Institute, và các khuyến nghị RFC của DNS là RFC 882 và 883, sau đó là
RFC 1034 và 1035 cùng với 1 số RFC bổ sung như bảo mật trên hệ thống DNS,
cập nhật động các bản ghi DNS …
DNS là 1 CSDL phân tán. Điều này cho phép người quản trị cục bộ quản lý phần
dữ liệu nội bộ thuộc phạm vi của họ, đồng thời dữ liệu này cũng dễ dàng truy cập
được trên toàn bộ hệ thống mạng theo mô hình client-server. Hiệu suất sử dụng
dịch vụ được tăng cường thông qua cơ chế nhân bản (replication) và lưu tạm


(caching).
Mô hình client-server của DNS phần server gọi là máy chủ phục vụ tên - name
server, còn phần client là trình phân giải tên - resolver. Name server chứa các thông
tin về 1 phần của CSDL DNS, còn resolver đơn giản chỉ là các hàm thư viện dùng
để tạo các truy vấn (query) và gửi chúng qua đến name server.
Cấu trúc CSDL DNS giống như 1 cây đảo ngược, với gốc (root) của cây nằm trên
cùng. Mỗi nút của cây có tên nhãn chỉ ra sự quan hệ của nút với gốc. Tên nhãn “”
dùng riêng cho gốc. Cấu trúc cây DNS hoàn toàn tương tự 1 hệ thống file UNIX.
Dịch vụ DNS Trang 2
Mỗi nút trên cây cũng lại là gốc của 1 cây con. Mỗi cây con là 1 phân vùng con
trong toàn bộ CSDL DNS gọi là 1 miền (domain). Mỗi domain có thể phân chia
thành các phân vùng con nhỏ hơn gọi là các miền con (subdomain).
Mỗi domain có 1 tên (domain name). Tên domain chỉ ra vị trí của nó trong CSDL
DNS. Trong DNS tên domain là chuỗi tuần tự các tên nhãn của gốc của domain đi
ngược lên đến gốc của cây cách ra bởi dấu chấm.
Hình vẽ mô tả tên domain trong CSDL DNS so sánh với đường dẫn tuyệt đối của thư
mục trong hệ thống file UNIX.
Dịch vụ DNS Trang 3
Trong DNS, mỗi domain được quản lý bởi 1 tổ chức riêng. Mỗi tổ chức có thể phân
chia domain của họ thành nhiều subdomain và ấn định quyền quản lý subdomain
cho các tổ chức khác. Điều này cũng giống như gắn kết (mount) hệ thống file trên
máy ở xa vào máy cục bộ trên hệ thống file UNIX.
Ví dụ trong hình vẽ tổ chức InterNIC quản lý domain edu, nhưng quyền quản lý
subdomain berkeley.edu lại giao cho tổ chức U.C. Berkeley.
Mỗi máy chủ trên mạng có một tên miền DNS. Tên domain này sẽ trỏ đến các
thông tin về bản thân máy chủ này như là địa chỉ IP, thông tin để chuyển mail hay
đôi khi là 1 bí danh trỏ đến 1 tên miền thật sự khác.
Dịch vụ DNS Trang 4
2. Cơ chế hoạt động của DNS
a. Không gian tên miền DNS

CSDL phân tán DNS được lập chỉ mục theo các tên domain. Mỗi domain là 1
đường dẫn trong cây phân cấp, toàn bộ cây này gọi là không gian tên miền DNS
(Domain Name Space).
Hình vẽ trên máy chủ có tên rincon.ba.ca... có địa chỉ IP 192.2.18.44. Còn tên mailhub.nv…
là bí danh trỏ đến rincon.ba.ca...
Cấu trúc của không gian tên miền DNS
Dịch vụ DNS Trang 5
Domain name: mỗi nút trên cây có tên nhãn (không chứa dấu chấm) dài tối đa 63
ký tự. Tên nhãn rỗng dành riêng cho gốc (root) cao nhất và biểu diễn bởi 1 dấu
chấm. Một tên domain name đầy đủ của 1 nút chính là chuỗi tuần tự các tên nhãn
của nút hiện tại đi ngược lên nút gốc, mỗi tên nhãn cách ra bởi dấu chấm. Tên
domain name có xuất hiện dấu chấm sau cùng được coi là tên tuyệt đối (absolute)
khác với tên tương đối là tên không kết thúc bằng dấu chấm. Tên tuyệt đối cũng
được xem là tên domain đầy đủ đã được chứng nhận (fully qualified domain name)
FQDN.
Hai nút con xuất phát từ 1 nút cha không được có cùng tên để đảm bảo tính duy
nhất của tên domain.
Domain: một domain đơn giản là 1 nhánh con trong cây DNS name space. Tên của
domain (domain name) chính là tên của nút gốc của nhánh con. Ví dụ trong hình vẽ
dưới gốc của domain purdue.edu là nút có tên purdue.edu.
Một domain con (subdomain) cũng chính là một domain và có gốc của nó thuộc
vào domain cha.
Trong domain name space, khái niệm “host” cũng chính là các tên domain mà trỏ
đến thông tin về các máy cụ thể. Và một domain chứa tất cả các host mà có tên
domain thuộc vào bên trong domain này. Các host này chỉ ràng buộc một cách
logic vào một domain chứ không cần thiết phải ở trong cùng một mạng, cùng một
lớp địa chỉ mạng hay cùng kiến trúc phần cứng. Có thể có nhiều máy khác nhau
trong nhiều mạng khác nhau và nằm trên các quốc gia khác nhau vẫn có thể thuộc
cùng một domain.
Chú ý một tên domain có thể vừa biểu diễn một domain đồng thời cũng trỏ đến

thông tin về một host cụ thể. Ví dụ hp.com vừa là tên domain của Công ty Hewlett-
Packard và cũng là tên domain của máy chủ đóng vai trò web server cính của công
ty HP.
Dịch vụ DNS Trang 6
Một số thuật ngữ về domain:
 Top-level domain là domain con của root.
 Fisrt-level domain là domain con của root (chính là top-level domain)
 Second-level domain là domain con của fisrt-levl domain.
Resource Record: dữ liệu kết hợp với tên domain được chứa trong các bản ghi
(resource record). Record được chia thành nhiều lớp, trong đó phổ biến nhất là các
lớp mạng TCP/IP (Internet). Trong mỗi lớp, các bản ghi chia thành nhiều kiểu và
mỗi kiểu có cú pháp riêng.
b. Không gian tên miền Internet:
Các Top-Level Domains
Các top-level nguyên thuỷ gồm 7 domain sau:
 com : các tổ chức thương mạinhư công ty Hewlett-Packard (hp.com), Sun
Microsystems (sun.com), và IBM (ibm.com)
 edu : các tổ chức giáo dục như U.C. Berkeley (berkeley.edu) và Purdue
University (purdue.edu)
 gov : các tổ chức chính quyền như NASA (nasa.gov) và National Science
Foundation (nsf.gov)
 mil : các tổ chức quân sự như U.S. Army (army.mil) và Navy (navy.mil)
 net : các tổ chức liên quan đến mạng như NSFNET (nsf.net)
 org : các tổ chức phi thương mại khác như Electronic Frontier Foundation
(eff.org)
 int : các tổ chức quốc tế như NATO (nato.int)
Hiện tại ngoài các domain trên cơ quan quản lý tên miền InterNIC còn bổ sung một
số top-level khác như firm, shop, web … Ngoài ra còn một số top-level domain
phân chia theo chuẩn ISO 3166 cho các quốc gia, mỗi domain cho quốc gia gồm 2
ký tự : ví dụ Japan là jp, Australia là au, United Kingdom là uk, Viet Nam là vn …

Dưới các top-level domain tại Mỹ thường là subdomain của các tổ chức (như
microsoft.com hay whitehouse.gov …) còn tại các quốc gia khác thì cũng chia các
subdomain hướng theo tính chất của tổ chức, ví dụ edu.vn hay ac.uk.
Dịch vụ DNS Trang 7
c. Uỷ quyền
Một trong các mục tiêu khi thiết kế hệ thống DNS là khả năng quản lý phân tán
thông qua cơ chế uỷ quyền (delegation). Một domain có thể phân chia thành nhiều
subdomain, mỗi subdomain có thể được uỷ quyền cho một tổ chức khác và tổ chức
đó chịu trách nhiệm duy trì thông tin trong subdomain. Domain cha khi đó chỉ cần
một con trỏ trỏ đến subdomain này để tham chiếu đến khi có các truy vấn.
Không phải luôn luôn một domain phân chia và uỷ quyền toàn bộ, có thể domain
chỉ chia vài subdomain và chứa các host thuộc vào chính nó. Ví dụ domain
hcmuns.edu.vn của Trường ĐHKHTN chia một số subdomain như
csc.hcmuns.edu.vn (Trung Tâm Tin Học), fit.hcmuns.edu.vn (Khoa CNTT) hay
math.hcmuns.edu.vn (Khoa Toán), nhưng các máy chủ phục vụ cho toàn trường thì
vẫn thuộc vào domain hcmuns.edu.vn.
d. Name server và zone
Chương trình lưu toàn bộ thông tin về domain name space gọi là name server.
Chương trình phía client gọi là resolver.
Một domain có thể chia thành nhiều đơn vị nhỏ hơn gọi là zone. Zone có thể được
nạp từ một file trên chính server cục bộ hoặc từ một name server khác. Như ta đã
biết một domain có thể chia thành nhiều subdomain, các subdomain này có thể
được uỷ quyền hoặc không. Zone chính là phần domain name không kể các
subdomain đã được uỷ quyền.
Ví dụ: domain stanford.edu được uỷ quyền cho Stanford University.
Domain berkeley.edu có 4 subdomain đều được uỷ quyền. Kết quả là có zone
berkeley.edu và 4 zone khác ứng với 4 subdomain.
Dịch vụ DNS Trang 8
Các loại name server: trong định nghĩa DNS phân biệt 2 loại name server là
primary master và secondary master.

Primary master là name server lấy dữ liệu zone từ file dữ liệu nằm trên chính máy
này. Còn secondary master, đôi khi còn gọi là slave, là name server mà lấy dữ liệu
zone từ một name server khác, name server đó gọi là master server. Thông thường
master server là primary master, tuy nhiên nó cũng có thể là một secondary master.
So sánh giữa domain ca… và zone ca.
Dịch vụ DNS Trang 9
Khi secondary master khởi động, nó liên lạc với primary master để lấy dữ liệu zone
nếu cần. Quá trình này gọi là zone transfer và diễn ra tự động.
Một name server có thể là master cho zone này đồng thời làm slave cho một zone
khác.
Việc cài đặt nhiều name server (master và slave) cho một zone co nhiều ưu điểm
như :
 Có name server dự phòng
 Phân tải DNS
 Giảm thông lượng mạng trên các tuyến kết nối chậm …
File dữ liệu: name server lấy dữ liệu cho zone từ các file dữ liệu zone, gọi là
database file.
Các máy slave cũng có các file dữ liệu được lấy từ các máy master. Khi khởi động
và trong từng khoảng thời gian máy slave kiểm tra file trên bản thân nó và trên máy
master để cập nhật nếu cần.
Nội dung của các file dữ liệu là các bản ghi (record). Các bản ghi mô tả các host
trong zone và đánh dấu sự uỷ quyền cho các subdomain.
Resolver: là thành phần phía client truy xuất các name server. Resolver có thể thực
hiện các công việc:
• Truy vấn một name server.
• Diễn dịch thông tin trả lời (có thể là một bản ghi hay một lỗi).
• Trả thông tin thu được cho chương trình đã yêu cầu.
e. Phân giải tên miền (Resolution)
Root name server : là các máy chủ biết địa chỉ của các máy chủ có quyền quản lý
domain top-level. (Thực tế là hầu hết các root server cũng chính là máy chủ quản lý

top-level domain). Khi có truy vấn về một domain thì root server tối thiểu cũng cung
cấp tên và địa chỉ của các name server quản lý các top-level domain mà tên domain
thuộc vào. Và đến lượt các name server của top-level domain cung cấp danh sách các
name servercó quyền trên các second-level domain mà tên domain này thuộc vào. Cứ
như thế đến khi nào đạt đến máy có quyền trên chính domain name được hỏi.
Như trên cho thấy vai trò rất quan trọng của root server trong quá trình phân giải tên
miền. Nếu mọi root name server trên mạng Internet không liên lạc được thì mọi yêu
cầu phân giải đều không thực hiện được. Do đó có nhiều root name server phân bố trên
mạng như tại 2 server tại mạng MILNET, một tại mạng SPAN và NASA, 2 server tại
châu Âu và một tại Nhật Bản.
Hình vẽ dưới mô tả quá trình phân giải tên miền .
Dịch vụ DNS Trang 10
Hình 2.12: Phân giải tên girigiri.gbrmpa.gov.au trên mạng Internet
Máy chủ name server cục bộ nhận yêu cầu từ resolver, nó sẽ truy vấn một root
name server cho địa chỉ girigiri.gbrmpa.gov.au và được tham chiếu đến name
server quản lý domain au. Máy chủ name server cục bộ lại hỏi tiếp name server
quản lý domain au và được tham chiếu đến máy chủ quản lý domain gov.au. Máy
chủ quản lý gov.au chỉ dẫn máy name server cục bộ tham chiếu đến máy chủ quản
lý doain gbrmpa.gov.au. Cuối cùng máy name server cục bộ truy vấn máy chủ quản
lý domain gbrmpa.gov.au và nhận được câu trả lời.
Các loại truy vấn : truy vấn có thể ở 2 dạng :
 Truy vấn đệ quy (recursive query) : khi name server nhận được truy vấn
dạng này thì nó bắt buộc phải trả về kết quả tìm được hoặc thông báo lỗi
nếu tên truy vấn không tìm thấy hay tên domain không tồn tại. Name server
không thể tham chiếu truy vấn đến một name server khác. Name server có
thể gửi truy vấn dang đệ quy hoặc tương tác đến name server khác nhưng
phải thực hiện cho đến khi nào có kết quả mới thôi.
o Truy vấn tương tác : khi name server nhận được truy vấn dạng này thì nó
đơn giản trả lời với thông tin tốt nhất mà nó có được vào lúc đó cho máy đã
phát ra truy vấn. Bản thân name server không thực hiện bất cứ truy vấn nào

thêm. Thông tin tốt nhất trả về lấy từ dữ liệu cục bộ (kể cả cache). Trong

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×