Sunday, October 1, 2017

Kiến trúc DNS

Kiến trúc DNS (Domain Name System) là một cơ sở dữ liệu phân tán phân tầng và kết hợp với tập các giao thức xác định:
·        Cơ chế truy vấn và cập nhật cơ sở dữ liệu
·        Cơ chế sao chép thông tin trong cơ sở dữ liệu giữa các máy chủ
·        Một lược đồ cơ sở dữ liệu
DNS bắt nguồn từ những ngày đầu của Intenet khi Internet chỉ là một mạng nhỏ được thiết lập bởi Bộ Quốc phòng Mỹ dành cho mục đích nghiên cứu. Máy chủ lưu trữ của các máy tính trong mạng này được quản lý thông qua việc sử dụng một tệp tin HOSTS nằm ở máy chủ quản lý tập trung. Mỗi trang web cần máy chủ lưu trữ trong mạng phải tải về tệp này. Số máy chủ trên Internet ngày càng tăng, lưu lượng được tạo ta trong quá trình cập nhật, cũng như sự mở rộng dung lượng của tệp tin HOSTS. Như cầu có một hệ thống mới, nơi có thể cung cấp những tính năng như khả năng mở rộng, quản trị phân quyền, hỗ trợ nhiều kiểu dữ liệu ngày càng trở lên cần thiết và rõ ràng.
Hệ thống phân giải tên miền được giới thiệu năm 1984 trở thành hệ thống DNS mới. Cùng với DNS, host names nằm trong một cơ sở dữ liệu có thể phân phối giữa nhiều máy chủ, giảm tải đối với bất kỳ máy chủ nào và cung cấp khả năng quản trị hệ thống tên này trên cơ sở phân vùng. DNS hỗ trợ phân cấp tên và cho phép đăng ký nhiều kiểu dữ liệu ngoài việc tạo bản đồ giữa host names và địa chỉ IP được sử dụng trong tệp tin HOSTS. Bởi vậy, cơ sở dữ liệu của DNS bị phân tán, khả năng mở rộng không giới hạn và hiệu suất không bị xuống cấp khi có thêm nhiều máy chủ.
Ban đầu DNS dựa trên Request for Comment (RFC) 882 (Domain Names: Concepts and Facilities) và RFC 883 (Domain Names–Implementation and Specification), được thay thế bởi RFC 1034 (Domain Names–Concepts and Facilities), và RFC 1035 (Domain Names–Implementation and Specification). Các RFCs bổ sung miêu tả các vấn đề an ninh, triển khai và quản trị DNS sau đó tăng cường thêm các đặc điểm theo thiết kế ban đầu.
Việc thực hiên DNS - Berkeley Internet Name Domain (BIND) – ban đầu được phát triển cho hệ điều hành BSD UNIX 4.3. Việc thực hiện DNS của Microsoft trở thành một phần của hệ điều hành Microsoft Windows NT Server 4.0. Máy chủ DNS Windows NT 4.0 cũng như hầu hết các thực thi DNS khác có nguồn gốc RFCs 1034 and 1035. Các RFCs được sử dụng trong hệ điều hành Windows Server® 2008 là 1034, 1035, 1886, 1996, 1995, 2136, 2308, and 2052.

Tên miền DNS
Hệ thống phân giải tên miền được thực hiện như là một cơ sở dữ liệu phân tán và phân cấp có chứa nhiều kiểu dữ liệu, bao gồm máy chủ lưu trữ và tên miền. Tên trong cơ sở dữ liệu DNS có dạng cấu trúc cây phân nhánh được gọi là không gian tên miền. Tên miền bao gồm các nhãn riêng rẽ và được ngăn cách bởi dấu “.”, ví dụ: mydomain.microsoft.com
Một tên miền đầy đủ điều kiện (FQDN – Fully Qualified Domain Name) được xác định dhuy nhất vị trí máy chủ lưu trữ trong cây phân cấp DNS bằng cách chỉ định một danh sách tên riêng biệt được ngăn cách bởi dấu “.” trong đường dẫn từ máy chủ tham chiếu tới gốc. Hình 1 là một ví dụ cây DNS cùng máy chủ được gọi là mydomain trong tên miền microsoft.com. FQDN của máy chủ sẽ là mydomain.microsoft.com.

Hiểu không gian tên miền DNS
Không gian tên miền DNS, như hình 1 là dựa trên khái niệm cây của các tên miền. Mỗi cấp của cây có thể đại diện cho một nhánh hoặc một lá của cây. Một nhánh là cấp mà ở đó có nhiều hơn một tên được dùng để xác định một tập hợp nguồn lực được đặt tên. Một lá đại diện cho một tên đơn lẻ được sử dụng một lần, mức lá biểu thị một nguồn lực cụ thể.


Hình 1: Một ví dụ về cây phân cấp DNS

Phân cấp tên miền DNS
Hình 1 cho thấy Microsoft được phân quyền bởi máy chủ root Internet sở hữu một phần trong cây không gian tên miền DNS trên Internet. DNS Client và DNS Server sử dụng truy vấn như một phương thức cơ bản để phân giải tên trong cây với các kiểu thông tin tài nguyên cụ thể. Thông tin này được cung cấp bởi DNS Server trong truy vấn phản hồi tới DNS Client, sau khi trích xuất thông tin và  gửi nó tới một chương trình yêu cầu phân giải tên truy vấn. Trong quá trình xử lý, nên nhớ rằng DNS Server thường có chức năng như DNS Client, các truy vấn theo thứ tự để phân giải hoàn toàn một tên truy vấn.

Không gian tên miền DNS được tổ chức thế nào
Bất kỳ một tên miền DNS sử dụng trong cây đều có tính kỹ thuật. Hầu hết các thảo luận về DNS, để xác định tên theo một trong năm cách, dựa trên cấp và cách mà tên thường được sử dụng. Ví du: tên miền đăng ký cho Microsoft (microsoft.com) được biết đến là tên miền cấp hai. Điều này vì tên có hai phần (được gọi là nhãn) chỉ ra nó nằm ở cấp hai dưới root hoặc tên miền cấp một của cây. Hầu hết các tên miền có hai nhãn hoặc nhiều hơn, mỗi nhãn chỉ ra một cấp độ mới trong cây. Khoảng được dùng ở trong tên để tách nhãn.
Năm loại được sử dụng để mô tả tên miền theo chức năng chủa chúng trong không gian tên được miêu tả ở bảng dưới, cùng với một ví dụ cho từng loại.

Kiểu tên miền DNS
Bảng 1: Các kiểu tên miền DNS
Tên kiểu
Miêu tả
Ví dụ
Tên miền gốc (Root domain)
Đây là đỉnh của cây, đại diện cho mức không tên, thi thoảng nó hiện thị dưới dạng hai dấu trích dẫn trống chỉ giá trị null (""). Khi sử dụng trong tên miền DNS, nó được chỉ ra bởi dấu khoảng (.) để chỉ ra rằng cái tên đó nằm ở root hay mức cao nhất của hệ thống. Trong trường hợp, tên miền DNS được xem là hoàn thành và chỉ tới một vị trí chính xác trong cây. Tên này cho theo cách là FQDNs.
Một khoảng (.) hoặc một khoảng được dùng ở cuối của một tên như là: “example.microsoft.com.”
Tên miền cấp cao nhất (Top-level domain)
Một tên dùng để chỉ ra một quốc gia, một vùng hoặc một tổ chức nào đó.
“.com”, cho biết là tên đăng ký của một doanh nghiệp sử dụng tương mại trên Internet.

Tên miền cấp hai (Second-level domain)
Tên đăng ký cho một cá nhân hay một tổ chức sử dụng trên Internet. Những tên này luôn luôn dựa vào sự thích hợp với tên miền cấp một, phụ thuộc vào kiểu của tổ chức hoặc vị trí địa lý nơi mà tên miền được sử dụng.
“microsoft.com.”, là tên miền cấp hai được cấp phát cho Microsoft bởi hệ thống tên miền Internet – DNS.
Tên miền con (Subdomain)
Tên miền này có thể tạo từ nguồn tên miền cấp hai của một tổ chức. Chúng bao gồm các tên được bỏ sung vào làm mở rộng cây DNS trong một tổ chức tới các phòng ban hoặc vị trí địa lý…
“example.microsoft.com”, là tên miền con được Microsoft giao để sử dụng trong các tài liệu.
Host or resource name
Tên đại diện cho một lá trên cây DNS và xác định một tài nguyên cụ thể. Thông thường, nhãn hầu hết các lá của tên miền DNS xác định một máy tính cụ thể trên mạng. Ví dụ: nếu một tên ở cấp này được sử dụng trong một bản ghi tài nguyên host A, nó được sử dụng để tra cứu địa chỉ IP dựa trên host name của chúng.
“host-a.example.microsoft.com”, nơi chứa nhãn đầu tiên “host-a” là tên máy chủ lưu trữ DNS cho một máy tính cụ thể trên mạng.

Tên miền DNS và Internet
Hệ thống tên miền Internet được quản lý bởi Cơ quan đăng ký trên miền trên Internet, chịu trách nhiệm duy trì tên miềm cấp cao nhất được thừa hưởng bởi các tổ chức, các quốc gia và vùng lãnh thổ. Những tên miền này theo chuẩn International Standard 3166. Một số chữ cái viết tắt dùng cho các tổ chức, 2 hoặc 3 chữ cái viết tắt dùng cho các quốc gia và vùng lãnh thổ được quy định cụ thể ví dụ ở bảng dưới đây:

Một số tên miền DNS cấp cao (TLDs)
Bảng 2: Ví dụ một số kiểu tên miền cấp cao
Tên miền DNS
Kiểu tổ chức
com
Tổ chức thương mại
edu
Học viện giáo dục
org
Tổ chức phi lợi nhuận
net
Mạng (xương sống của Internet)
gov
Tổ chức chính phủ phi quân sự
mil
Các tổ chức quân sự
arpa
Đảo ngược DNS
“xx”
Mã quốc gia (ví dụ: us, vn, ca, fr)
Bản ghi Tài nguyên
Cơ sở dữ liệu DNS bao gồm các bản ghi tài nguyên (RRs - Resource Records). Mỗi RR xác định một tài nguyên cụ thể cùng với cơ sở dữ liệu. có nhiều loại RR trong DNS. Phần này cung cấp thông tin về cấu trúc chung của các bản ghi tài nguyên. Bảng 3 dưới đây cung cấp thông tin chi tiết về cấu trúc chung của các bản ghi tài nguyên.

Bản ghi tài nguyên DNS chung
Bảng 3: Cấu trúc chung của bản ghi tài nguyên
Miêu tả
Lớp
Time to Live (TTL)
Kiểu
Dữ liệu
Start of Authority
Internet (IN)
Mặc định TTL là 60 phút
SOA
Bản ghi SOA được hiểu là “Start of Authority“, tức là thông tin xác nhận từ phía máy chủ tiếp nhận của tên miền.
Ví dụ:  ns1.anycast.vn admin.anycast.vn-2013022001 86400 7200 604800 300
ns1.anycast.vn: giá trị DNS chính của tên miền hoặc máy chủ.
admin.anycast.vn: chuyển đổi từ dạng admin@anycast.vn, thể hiện chủ thể sở hữu tên miền này. Trong nhiều trường hợp, đây cũng sẽ trùng với email quản lý DNS của khách hàng trên hệ thống AnyCast hoặc các hệ thống DNS trung gian khác.
2013022001: Thời gian cập nhật DNS cho tên miền mới nhất. Định dạng thời gian được hiểu là: yyyy-mm-dd-hh-mm
86400: số giây trước khi bản ghi DNS được tự động cập nhật lại
7200: số giây trước khi bản ghi DNS bị lỗi không thể tự động cập nhật lại và cần lấy lại thông tin DNS lần tiếp theo.
604800: giới hạn thời gian tính bằng giây sau khi bản ghi DNS được gỡ bỏ trên server và không còn hiệu lực trên server.
300: TTL – có giá trị âm tính, xác định sau bao lâu (tính bằng giây) bản ghi con (vd sub-domain) được thử lại và xác thực.
Host
Internet (IN)
Ghi cụ thể TTL nếu có, hoặc khu vực khác (SOA) TTL
A
Trường Kiểu A chỉ ra rằng Giá trị là một địa chỉ IP.
Ví dụ như mẫu tin: (ns.utehy.edu.vn, 203.162.41.166, A, IN) chỉ ra rằng địa chỉ IP của host có tên ns.utehy.edu.vn là 203.162.41.166.
Name Server
Internet (IN)
Ghi cụ thể TTL nếu có, hoặc khu vực khác (SOA) TTL
NS
Trường Giá trị NS chỉ ra tên miền của máy tính đang chạy dịch vụ tên, và dịch vụ đó có khả năng thông dịch các tên trong một miền cụ thể.
Ví dụ như mẫu tin: (ctu.edu.vn, ns.ctu.edu.vn, NS, IN) chỉ ra rằng server tên của miền ctu.edu.vn có tên là ns.ctu.edu.vn.
Mail Exchanger
Internet (IN)
Ghi cụ thể TTL nếu có, hoặc khu vực khác (SOA) TTL
MX
MX: Trường Giá trị chỉ ra tên miền của host đang chạy chương trình mail server mà server đó có khả năng tiếp nhận những thông điệp thuộc một miền cụ thể.
Ví dụ mẫu tin (ctu.edu.vn, mail.ctu.edu.vn, MX, IN) chỉ ra rằng host có tên mail.ctu.edu.vn là mail server của miền ctu.edu.vn.
Canonical Name
(bí danh)
Internet (IN)
Ghi cụ thể TTL nếu có, hoặc khu vực khác (SOA) TTL
CNAME
CNAME: Trường Giá trị chỉ ra một cái tên thêm vào (bí danh) của một host nào đó. Kiểu này được dùng để đặt thêm bí danh cho các host trong miền.

Phân phối cơ sở dữ liệu DNS: tệp tin vùng và ủy thác
Cơ sở dữ liệu DNS có thể được chia làm nhiều vùng. Một vùng là một phần của cơ sở dữ liệu DNS chứa các bản ghi tài nguyên (RRs) cùng với tên chủ sở hữu thuộc về phần tiếp giáp của không gian tên miền DNS. Tệp tin vùng được duy trì trên DNS Server. Một máy chủ DNS riêng có thể cấu hình để lưu trữ 0, 1 hoặc nhiều vùng.
Mỗi vùng được neo tại một tên miền cụ thể gọi là tên miền gốc của vùng. Một vùng bao gồm thông tin về tất cả các tên và được kết thúc cùng tên miền gốc của vùng đó. Một DNS Server được xem là có thẩm quyền cho một tên nếu nó tải vùng chứa tên đó. Bản ghi đầu tiên trong bất kỳ một tệp tin vùng nào cũng là bản ghi SOA, bản ghi SOA xác định một tên DNS Server chính cho vùng như là thông tin tài nguyên tốt nhất cho dữ liệu trong vùng và như là một thực thể xử lý cập nhật cho một vùng.
Một tên trong một vùng cũng có thể được ủy thác tới một vùng khác để lưu trữ trên một DNS Server khác. Sự ủy thác là một quá trình phân công trách nhiệm cho một phần của không gian DNS tới chủ sở hữu máy chủ DNS  bởi một thực thể riêng biệt. Thực thể này có thể là một tổ chức, một phòng ban hay một nhóm trong công ty của ạn. Sự ủy thác đại diện bởi bản ghi tài nguyên NS xác định vùng được ủy thác và tên DNS của máy chủ ủy quyền cho vùng đó. Ủy thác qua nhiều vùng là một phần trong mục tiêu thiết kế ban đầu của DNS.
Những lý do chính để uy thác không gian tên miền DNS bao gồm:
·        Cần ủy thác quản lý tên miền DNS cho các tổ chức, phòng ban trong một tổ chức.
·        Cần phân tải việc duy trì một cơ sở dữ liệu lớn giữa các DNS Server để tăng cao hiệu suất phân giải tên miền cũng như tạo một môi trường DNS chịu lỗi.
·        Cần cho phép liên kết các máy chủ của tổ chức bằng cách đưa máy chủ lưu trữ vào tên miền thích hợp.
Bản ghi NS tạo thuận lợi cho việc phân quyền bằng cách xác định DNS Server cho từng vùng và bản ghi NS xuất hiện trong tất cả các vùng. Bất cứ khi nào DNS Server cần vượt qua sự phân quyền để phân giải một tên, nó sẽ tham chiếu tới các bản ghi NS cho DNS Server trong vùng mục tiêu. Trong hình dưới, quản lý tên miền microsoft.com. được phân thành 2 vùng: microsoft.com và mydomain.microsoft.com.

Phân quyền DNS
Hình 2: Ví dụ về phân quyền DNS trong tên miền microsoft.com
Ghi chú:  Nếu có nhiều bản ghi NS tồn tại trong một vùng được ủy thác xác định nhiều DNS Server có sẵn để truy vấn, dịch vụ DNS Server Windows Server 2008 sẽ có thể lựa chọn một máy chủ DNS gần nhất dựa trên khoảng cách giữa các điểm được do theo thời gian cho mỗi DNS Server.

Sao chép cơ sở dữ liệu DNS
Có thể có nhiều vùng đại diện cho cùng một phần của không gian tên. Trong số các vùng này có 3 loại: chính, phụ và stub.
Vùng chính là vùng cập nhật tất cả các bản ghi thuộc về vùng đó được thực hiện. Vùng phụ là chính sao chép bản sao chỉ đọc của vùng chính. Vùng Stub là vùng sao chép bản sao chỉ đọc của vùng chính chỉ bao gồm các bản ghi tài nguyên xác định DNS Server có thẩm quyền cho một tên miền DNS. Bất kỳ sự thay đổi nào của vùng chính được sao chép tới tệp tin vùng phụ. DNS Server lưu trữ vùng chính, phụ và stub được cho là có chủ quyền cho tên DNS trong vùng.
Bởi vì DNS Server có thể lưu trữ nhiều vùng, bởi vậy nó có thể lưu trữ cả vùng chính (có bản sao có thể ghi được của tệp tin vùng) và một vùng phụ riêng biệt (có các bản sao chỉ đọc của  tệp rin vùng). DNS Server lưu trữ vùng chính gọi là DNS Server chính của vùng đó, và DNS Server lưu trữ vùng phụ gọi là DNS Server phụ của vùng đó.
Ghi chú: Vùng phụ và vùng stub không thể được lưu trữ trên DNS Server lưu trữ vùng chính cho cùng một tên miền.

Chuyển vùng – Zone Transfer
Quá trình sao chép tệp tin vùng tới nhiều DNS Server được gọi là chuyển vùng. Chuyển vùng được thực hiện bởi việc sao chép tệp tin vùng từ DNS Server này tới DNS Server khác. Chuyển vùng có thể được thực hiện từ DNS Server chính và phụ.
DNS Server master là nguồn thông tin vùng trong quá trình chuyển. DNS Server master có thể là DNS Server chính hay phụ. Nếu DNS Server master là DNS Server chính, chuyển vùng đến trực tiếp từ DNS Server lưu trữ trên vùng chính. Nếu DNS Server master là DNS Server phụ, tệp tin vùng nhận được từ DNS Server master bằng chuyển vùng là một bản sao chỉ đọc tệp tin vùng phụ.
Việc chuyển vùng bắt đầu bằng một trong hai cách dưới đây:
·        DNS Server master gửi một thông báo (RFC 1996) tới một hay nhiều DNS Server phụ của một thay đổi tệp tin vùng.
·        Khi dịch vụ DNS Server trên DNS Server phụ bắt đầu, hoặc trong khoảng thời gian làm mới vùng khi hết hạn (mặc định là 15 phút cho bản ghi tài nguyên SOA của vùng), DNS Server phụ sẽ truy vấn DNS Server master để thay đổi.

Kiểu sao chép tệp tin vùng                                  
Có hai kiểu sao chép tệp tin vùng. Thứ nhất, chuyển vùng đầy đủ (AXFR) là sao chép toàn bộ tệp tin vùng. Thứ hai, chuyển vùng từng bước (IXFR) là sao chép chỉ những bản ghi thay đổi.
BIND 4.9.3 và phần mềm DNS Server trước đó cũng như Windows NT 4.0 DNS chỉ hỗ trợ AXFR. Có hai kiểu AXFR: một là yêu cầu bản ghi đơn trong một gói, hai là nhiều bản ghi trong một gói tin. Dịch vụ DNS Server trong Windows 2000 và Windows Server 2003 hỗ trợ cả hai cách chuyển vùng, những mặc định là dùng nhiều bản ghi trong một gói tin. Nó có thể được cấu hình khác cho phù hợp với khả năng của máy chủ không cho phép nhiều bản ghi trong một gói tin như máy chủ BIND 4.9.4 trở lên.

Truy vấn cơ sở dữ liệu
Truy vấn DNS có thể được gửi từ DNS Client (resolver) tới DNS Server, hoặc giữa hai DNS Server.
Một truy vấn DNS đơn thuần là yêu cầu bản ghi tài nguyên DNS của bản ghi tài nguyên được chỉ dịnh cùng tên DNS chỉ định. Ví dụ, một truy vấn DNS có thể yêu cầu tất cả các bản ghi tài nguyên kiểu A cùng với tên DNS chỉ định. Có hai kiểu truy vấn DNS có thể gửi tới DNS Server: đệ quy và lặp lại.
Một truy vấn đệ quy bắt buộc DNS Server phản hồi lại yêu cầu cho dù là phản gồi lỗi hay thành công. DNS Client (resolvers) thường gửi truy vấn đệ quy. Với truy vấn đệ quy, DNS Server phải liên hệ với các DNS Server khác điều này cần để giải quyết yêu cầu . Khi nhận được phản hồi thành công từ DNS Server khác (hoặc nhiều), gửi phản hồi về DNS Client. Truy vấn đệ quy là kiểu truy vấn thường dùng bởi DNS Client tới DNS Server và từ DNS Server khi chuyển tiếp, các DNS Server khác cấu hình để xử lý yêu cầu được chuyển tiếp tới nó.
Khi DNS Server xử lý một truy vấn đệ quy và truy vấn không thể được giải quyết từ dữ liệu cục bộ (tệp tin vùng cục bộ hoặc bộ nhớ cache của những truy vấn trước đó), truy vấn đệ quy phải chuyển tới DNS Server gốc. Mỗi việc thực hiện dựa trên chuẩn của DNS bao gồm tệp tin cache (hoặc những gợi ý máy chủ root) nơi chứa những mục cho DNS Server gốc của tên miền Internet. (Nếu DNS Server được cấu hình chuyển tiếp, chuyển tiếp được dùng trước khi máy chủ gốc được dùng)
Một truy vấn lặp đi lặp lại là truy vấn mà DNS Server được dự kiến phản hồi cùng với những thông tin cục bộ tốt nhất mà nó có dựa trên những thông tin mà DNS Server biết từ tệp tin vùng cục bộ hoặc từ bộ nhớ cache. Những phản hồi này còn được biết là giới thiệu (quảng bá) nếu DNS Server không có thẩm quyền cho tên. Mếu một DNS Server không có bất kỳ một thông tin cục bộ có thể trả lời truy vấn, nó đơn giản gửi một phản hồi tiêu cực. Một DNS Server thực hiện kiểu truy vấn này cố gắng tìm tên bên ngoài tên miền cục bộ (hoặc tên miền) của nó (khi nó không được cấu hình chuyển tiếp). Nó sẽ phải gửi truy vấn một số DNS Server bên ngoài để cố gắng giải quyết.
Hình vẽ dưới đây thể hiện một số ví dụ về 2 kiểu truy vấn

Kiểu truy vấn DNS

Hình 3: Ví dụ về 2 kiểu truy vấn
Hình vẽ thể hiện một số các truy vấn thường được sử dụng để xác định địa chỉ IP của tên miền www.whitehouse.gov. Chuỗi truy vấn được miêu tả dưới đây: :
1.      Truy vấn đệ quy www.whitehouse.gov (A resource record)
2.      Truy vấn lặp đi lặp lại for www.whitehouse.gov (A resource record)
3.      Giới thiệu tên máy chủ cho .gov (NS resource records, for .gov); để đơn giản, một truy vấn lặp đi lặp lại của DNS Server (bên trái) để phân giải địa chỉ IP của tên máy chủ  của máy chủ tên đã trả về bởi các máy chủ DNS khác đã bị bỏ qua.
4.      Truy vấn lặp đi lặp lại cho www.whitehouse.gov (A resource record)
5.      Giới thiệu tên máy chủ cho whitehouse.gov (NS resource record, for whitehouse.gov)
6.      Truy vấn lặp đi lặp lại cho www.whitehouse.gov (A resource record)
7.      Trả lời truy vấn lặp đi lặp lại từ máy chủ whitehouse.gov (địa chỉ IP của www.whitehouse.gov)
8.      Trả lời truy vấn đệ quy ban đầu tư DNS Server cục bộ tới resolver. (địa chỉ IP của www.whitehouse.gov)

Time-to-Live (TTL) cho bản ghi tài nguyên
Giá trị TTL trong một bản ghi tài nguyên chỉ ra độ dài thời gian dùng bởi các DNS Server khác để xác định mất bao lâu để lưu thông tin cho một bản ghi trước khi nó hết hạn hoặc bị loại bỏ. Ví dụ, hầu hết các bản ghi tài nguyên tạo bởi dịch vụ DNS Server thừa kể thời gian tối thiểu (mặc định) của một giờ từ khi bắt đầu bản ghi chính thực (SOA), ngăn cản việc mở rộng cache bởi các DNS Server khác.
DNS Client lưu (cache) lại những phản hồi nó nhận được khi yêu cầu. Những phản hồi trong bộ nhớ cache này có thể được dùng để trả lời những truy vấn cùng thông tin lúc sau. Tuy nhiên, dữ liệu cache có thời gian sống cụ thể trong tham số TTL trả về cùng với dữ liệu phản hồi. TTL đảm bảo rằng DNS Server không giữ thông tin quá lâu trước khi trở thành lỗi thời. Giái trị TTL cho cache có thể được đặt trong cơ sở dữ liệu DNS (mỗi một bản ghi tài nguyên bằng cách xác định trường TTL cho bản ghi và mỗi vùng thông qua TTL tối thiểu của bản ghi SOA) cũng như DNS Client xác đinh TTL tối đa cho phép cache các bản ghi tài nguyên.
Có hai yếu tố cạnh tranh cần xem khi thiết lập TTL. Thứ nhất là tính chính xasv của thông tin cache, thứ hai là việc sử dụng DNS Server và lưu lượng mạng. Nếu TTL nhỏ, khả năng tồn tại những thông tin cũ giảm đáng kể, nhưng tăng việc sử dụng DNS Server và lưu lượng mạng bởi DNS Client phải truy vấn DNS Server cho những dữ liệu hết hạn vào lần yêu cầu kế tiếp. Nếu TTL dài, phản hồi cache có thể bị lỗi thời, nghĩa là có thể sẽ gửi một câu trả lời sai cho truy vấn. Đồng thời, TTL dài làm giảm việc sử dụng DNS Server và giảm lưu lượng giảm bởi vì DNS Client dùng dữ liệu trong cache.
Nếu một truy vấn được trả lời từ một mục từ cache, TTL của mục đó vượt qua phản hồi. Đây là cách Resolvers nhận phản hồi biết thời hạn của mục đó còn giá trị. Resolvers tôn trọng TTL từ máy chủ phản hồi; không đặt lại dựa trên TTL của chúng. Do đó các mục thực sự hết hạn tồn tại lâu khi họ di chuyển từ DNS Server tới DNS Server cùng bản cập nhật TTL.
Ghi chú: Nói chung, không bao giờ cấu hình TTL bằng 0. Sự khác nhau giữa việc cài đặt từ 0 đến 60 đối với tính chính xác mỗi bản ghi, but khi TTL đặt bằng 0, có một tác động đáng kể trên hiệu suất máy chủ DNS bởi vì máy chủ DNS liên tục truy vấn dữ liệu hết hạn.

Cập nhật cơ sở dữ liệu DNS
Bởi các bản ghi tài nguyên trong tệp tin vùng có thể thay đổi, chúng phải được cập nhật. Việc triển khai DNS trong Windows Server 2008 hỗ trợ cả cập nhật cơ sở dữ liệu DNS tĩnh và động. Chi tiết sẽ được trình bày ở phần cấu trúc vật lý DNS ở bài viết khác.
Sơ đồ kiến trúc DNS
Sơ đồ dưới đây minh họa cách mà các dịch vụ của DNS Server và DNS Client hoạt động và cung cấp thêm thông tin về phân giải tên, cập nhật và quản trị.
Sơ đồ thứ nhất minh họa kiến trúc dịch vụ DNS Client trong việc phân giải tên và cập nhật. Trong sơ đồ này, kiến trúc phân giải tên được chứng minh bằng cách sử dụng trình duyệt Web, Microsoft Outlook  và cập nhật được đại diện bởi DHCP Client.

Kiến trúc dịch vụ máy khách DNS
Hình 4: Kiến trúc dịch vụ DNS Client
Dưới đây là sơ đồ minh họa kiến trúc dịch vụ DNS Server cùng với công cụ quản trị của nó và gaio diện Windows Management Instrumentation (WMI).

Kiến trúc dịch vụ máy chủ DNS
Hình 5: Kiến trúc dịch vụ DNS Server


No comments:

Post a Comment