Mỗi máy tính, thiết bị mạng tham gia vào mạng Internetđều giao tiếp với nhau bằng địa chỉ IP (Internet Protocol) . Để thuận tiện cho việc sử dụng và dễ nhớ ta dùng tên (domain name) để xác định thiết bị đó. Hệ thống tên miền (Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP
1. Giới thiệu về DNS : - Mỗi máy tính, thiết bị mạng tham gia vào mạng Internetđều giao tiếp với nhau bằng địa chỉ IP (Internet Protocol) . Để thuận tiện cho việc sử dụng và dễ nhớ ta dùng tên (domain name) để xác định thiết bị đó. Hệ thống tên miền (Domain Name System) được sử dụng để ánh xạ tên miền thành địa chỉ IP. Vì vậy, khi muốn liên hệ tới các máy, chúng chỉ cần sử dụng chuỗi ký tự dễ nhớ (domain name) như: www.microsoft.com, www.ibm.com , thay vì sử dụng địa chỉ IP là một dãy số dài khó nhớ. - Ban đầu, khi DNS chưa ra đời, người ta sử dụng một file tên Host.txt, file này sẽ lưu thông tin về tên host và địa chỉ của host của tất cả các máy trong mạng, file này được lưu ở tất cả các máy để chúng có thể truy xuất đến máy khác trong mạng. Khi đó, nếu có bất kỳ sự thay đổi về tên host, địa chỉ IP của host thì ta phải cập nhật lại toàn bộ các file Host.txt trên tất cả các máy. Do vậy đến năm 1984 Paul Mockpetris thuộc viện USC’s Information Sciences Institute phát triển một hệ thống quản lý tên miền mới lấy tên là Hệ thống tên miền – Domain Name - Hệ thống tên miền này cũng sữ dụng một file tên host.txt, lưu thông tịn của tất cả các máy trong mạng, nhưng chỉ được đặt trên máy làm máy chủ tên miền (DNS). Khi đó, các Client trong mạng muốn truy xuất đến các Client khác, thì nó chỉ việc hỏi DNS. - Như vậy, mục đích của DNS là : + Phân giải địa tên máy thành địa chỉ IP và ngược lại. + Phân giải tên domain. - DNS là Domain Name System, dns là Domain Name Server chạy Domain Name Service. 2. DNS namespace : - Hệ thống tên trong DNS được sắp xếp theo mô hình phân cấp và cấu trúc cây logic được gọi là DNS namespace. 3. Cấu trúc của hệ thống tên miền : - Hiện nay hệ thống tên miền được phân thành nhiêu cấp : - Gốc (Domain root) : Nó là đỉnh của nhánh cây của tên miền. Nó có thể biểu diễn đơn giản chỉ là dấu chấm “.” - Tên miền cấp một (Top-level-domain) : gồm vài kí tự xác định một nước, khu vưc hoặc tổ chức. Nó đươc thể hiện là “.com” , “.edu” …. - Tên miền cấp hai (Second-level-domain): Nó rất đa dạng rất đa dạng có thể là tên một công ty, một tổ chức hay một cá nhân. - Tên miền cấp nhỏ hơn (Subdomain) : Chia thêm ra của tên miền cấp hai trở xuống thường được sử dụng như chi nhánh, phòng ban của một cơ quan hay chủ đề nào đó. 4. Phân loại tên miền : - Com : Tên miền này được dùng cho các tổ chức thương mại. - Edu : Tên miền này được dùng cho các cơ quan giáo dục, trường học. - Net : Tên miền này được dùng cho các tổ chức mạng lớn. - Gov : Tên miền này được dùng cho các tổ chức chính phủ. - Org : Tên miền này được dùng cho các tổ chức khác. - Int : Tên miền này dùng cho các tổ chức quốc tế. - Info : Tên miền này dùng cho việc phục vụ thông tin. - Arpa : Tên miền ngược. - Mil : Tên miền dành cho các tổ chức quân sự, quốc phòng. - Mã các nước trên thế giới tham gia vào mạng internet, các quốc gia này được qui định bằng hai chữ cái theo tiêu chuẩn ISO-3166 .Ví dụ : Việt Nam là .vn, Singapo là sg…. 4. DNS Server : - Là một máy tính có nhiệm vụ làDNS Server, chạy dịch vụDNS service. - DNS Server là một cơ sở dữ liệu chứa các thông tin về vị trí của các DNS domain và phân giải các truy vấn xuất phát từ các Client. - DNS Server có thể cung cấp các thông tin do Client yêu cầu, và chuyển đến một DNS Server khác để nhờ phân giải hộ trong trường hợp nó không thể trả lời được các truy vấn về những tên miền không thuộc quyền quản lý và cũng luôn sẵn sàng trả lời các máy chủ khác về các tên miền mà nó quản lý. DNS Server lưu thông tin của Zone, truy vấn và trả kết quả cho DNS Client. - Máy chủ quản lý DNS cấp cao nhấtlà Root Server do tổ chức ICANN quản lý: + Là Server quản lý toàn bộ cấu trúc của hệ thống tên miền + Root Server không chứa dữ liệu thông tin về cấu trúc hệ thống DNS mà nó chỉ chuyển quyền (delegate) quản lý xuống cho các Server cấp thấp hơn và do đó Root Server có khả năng định đường đến của một domain tại bất kì đâu trên mạng - Phân loại DNS Server : 4A. Primary Server : - Được tạo khi ta add một Primary Zone mới thông qua New Zone Wizard. - Thông tin về tên miền do nó quản lý được lưu trữ tại đây và sau đó có thể được chuyển sang cho các Secondary Server. - Các tên miền do Primary Server quản lý thì được tạo và sửa đổi tai Primary Server và được cập nhật đến các Secondary Server. 4B. Secondary Server : - DNS được khuyến nghị nên sử dụng ít nhất là hai DNS Server để lưu cho mỗi một Zone. Primary DNS Server quản lý các Zone và Secondary Server sử dụng để lưu trữ dự phòng cho Primary Server. Secondary DNS Server được khuyến nghị dùng nhưng không nhất thiết phải có. - Secondary Server được phép quản lý domain nhưng dữ liệu về tên miền (domain), nhưng Secondary Server không tạo ra các bản ghi về tên miền (domain) mà nó lấy về từ Primary Server. - Khi lượng truy vấn Zone tăng cao tại Primary Server thì nó sẽ chuyển bớt tải sang cho Secondary Server .Hoặc khi Primary Server gặp sự cố không hoạt động được thì Secondary Server sẽ hoạt động thay thế cho đến khi Primary Server hoạt động trở lại. - Primary Server thường xuyên thay đổi hoặc thêm vào các Zone mới. Nên DNS Server sử dụng cơ chế cho phép Secondary lấy thông tin từ Primary Server và lưu trữ nó. Có hai giải pháp lấy thông tin về các Zone mới là lấy toàn bộ (full) hoặc chỉ lấy phần thay đổi (incremental). 4C. Caching-only Server : - Tất cả các DNS Server đều có khả năng lưu trữ dữ liệu trên bộ nhớ cache của máy để trả lời truy vấn một cách nhanh chóng. Nhưng hê thống DNS còn có một loại Caching-only Server. - Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả lời dựa trên thông tin có trên cache của máy và cho kết quả truy vấn. Chúng không hề quản lý một domain nào và thông tin mà nó chỉ giới hạn những gì được lưu trên cache của Server. - Lúc ban đầu khi Server bắt đầu chạy thì nó không lưu thông tin nào trong cache. Thông tin sẽ được cập nhật theo thời gian khi các Client Server truy vấn dịch vụ DNS. Nếu sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng caching-only DNS Server là giải pháp hữu hiệu cho phép giảm lưu lượng thông tin truy vấn trên đường truyền. - Caching-only có khả năng trả lời các câu truy vấn đến Client. Nhưng không chứa Zone nào và cũng không có quyền quản lý bất kì domain nào. Nó sử dụng bộ cache của mình để lưu các truy vấn của DNS của Client. Thông tin sẽ được lưu trong cache để trả lời các truy vấn đến Client. 4D. Stub Server : - Là DNS Server chỉ chứa danh sách các DNS Server đã được authoritative từ Primary DNS - Sử dụng stub có thể tăng tốc độ phân giải tên vàdễ quản lý 5. DNS Zone : - DNS Zone là tập hợp các ánh xạ từ host đến địa chỉ IP và từ IP đến host của một phần liên tục trong một nhánh của domain - Thông tin của DNS Zones là những record gồm tên Host và địa chỉ IP được lưu trong DNS Server, DNS Server quản lý và trả lời những yêu cầu từ Client liên quan đến DNS Zones này. - Hệ thống tên miền (DNS) cho phép phân chia tên miền để quản lý và nó chia hệ thống tên miền thành Zone và trong Zone quản lý tên miền được phân chia đó.Các Zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các Zone cấp thấp hơn và phân quyền cho các DNS Server khác quản lý. - Zone file : Lưu thông tin của Zone, có thể ở dạng text hoặc trong Active Dicrectory. - Có 2 loại DNS Zone : Standard Primary Zone và Active Directory Integrated Zones. 5A. Standard Primary Zone : - Được sử dụng trong các single domain, không có Active Dicrectory . - Tất cả những thay đổi trong Zone sẽ không ảnh hưởng đến các Zone khác.Tuy nhiên nếu ta tạo thêm một Zone (Secondary Zone), thì Zone này sẽ bị ảnh hưởng từ Primary Zone. Secondary Zone sẽ lấy thông tin từ Primary Zone. - Quá trình chuyển thông Primary Zone đến Secondary Zone được gọi là Zone Transfer. Sau một khoảng thời gian nhất định, Secondary Zone sẽ cập nhật các records từ Primary Zone, quá trình này được gọi là synchronized ( đồng bộ hóa). - Khi Primary và Secondary Zones được tạo, các tập tin về Zone sẽ được lưu trên ổ đĩa cứng C:WindowsSystem32Dns. 5B. Active Directory Integrated Zones : - Mặc định sẽ được tạo khi máy tính chạy DNS Server được nâng cấp thành Domain Contronller. Active Directory Integrated Zones thực chất là Zone được nâng cấp lên từ Standard Primary Zone khi lênDomain Controller - DNS Zones được lưu như một đối tượng trong cơ sở dữ liệu của Active Directory. - Thông tin về DNS Zones đều chứa trên tất cả Domain Contronller. Cho phép việc cập nhật tự động cơ sở dữ liệu DNS Zones bảo mật(secureupdates). 7. Resource Records : - Là hệ thống cơ sở dữ liệu của DNS, được sử dụng để phục vụ cho quá trình trả lời các truy vấn từ DNS Client. Record Type Mục đích A Host – Phân giải tên máy thành địa chỉ IP (IPv4) MX Mail exchange – Chỉ đến mail Server trong domain. CNAME (Alias) Canonical name – Cho phép một host có thể có nhiều tên. NS Name Server – Chứa địa chỉ IP của DNS Server cùng với các thông tin về domain đó. SOA Start of Authority – Bao gồm các thông tin về domain trên DNS Server. SRV Service – Được sử dụng bởi Active Directory để lưu thông tin về vị trí của Domain Controllers AAAA Host – Phân giải tên máy thành địa chỉ IP (IPv6) PTR Pointer – Phân giải địa chỉ IP thành tên máy. Zone Transfer : - Do đề phòng rủi ro khi DNS Server không hoạt động hoặc kết nối bị đứt người ta khuyên nên dùng hơn một DNS Server để quản lý một Zone nhằm tránh trục trặc đường truyền. Do vậy ta phải có cơ chể chuyển dữ liệu các Zone và đồng bộ giữa các DNS Server khác nhau. - Để cấu hình Zone Transfer, ta chọn Zone, chọn tiếp Properties, chọn tab Zone Transfer, gõ vào địa chỉ IP của DNS Server. 8. Cơ chế hoạt động đồng bộ dữ liệu giữa các DNS Server : - Với trao đổi IXFR (Incremental Zone transfer Request ) Zone thì sự khác nhau giữa số serial của nguồn dữ liệu và bản sao của nó. Nếu cả hai đều có cùng số serial thì việc truyền dữ liệu của Zone sẽ không thực hiên. - Nếu số serial cho dữ liệu nguồn lớn hơn số serial của Secondary Server thì nó sẽ thực hiện gửi những thay đổi của bản ghi nguồn (Resource record – RR) của Zone ở Primary Server. - Để truy vấn IXFR thực hiên thành công và các thay đổi được gửi thì tai DNS Server nguồn của Zone phải được lưu giữ các phần thay đổi để sử dụng truyền đến nơi yêu cầu của truy vấn IXFR. Incremental sẽ cho phép lưu lượng truyền dữ liệu it và thực hiện nhanh hơn. - Zone transfer sẽ xảy ra khi có những hành động sau xảy ra: + Khi quá trình làm mới của Zone đã kết thúc (refresh exprire). + Khi Secondary Server được thông báo Zone đã thay đổi tại nguồn quản lý Zone. + Khi thêm mới Secondary Server. + Tại Secondary Server yêu cầu chuyển Zone. - Các bước yêu cầu chuyển dữ liệu từ Secondary Server đến DNS Server chứa Zone để yêu cầu lấy dữ liệu về Zone mà nó quản lý : + Khi cấu hình DNS Server mới, thì nó sẽ gửi truy vấn yêu cầu gửi toàn bộ Zone ( All Zone transfer request (AXFR) ) đến DNS Server chính quản lý dữ liệu của Zone. + DNS Server chính quản lý dữ liệu của Zone trả lời và chuyển toàn bộ dữ liệu về Zone cho Secondary Server (destination) mới cấu hình + Để xác định có chuyển dữ liệu hay không thì nó dựa vào số serial được khai báo bằng bản ghi SOA. + Khi thời gian làm mới (refresh interval ) của Zone đã hết, thì DNS Server nhận dữ liệu sẽ truy vấn yêu cầu làm mới Zone tới DNS Server chính chứa dữ liêu Zone. + DNS Server chính quản lý dữ liệu sẽ trả lời truy vấn và gửi lại dữ liệu. Trả lời truy vấn dữ liệu gồm số serial của Zone tại DNS Server chính. + DNS Server nhận dữ liệu về Zone và sẽ kiểm tra số serial trong trả lời và quyết định xem có cần truyền dữ liêu không : o Nếu giá trị của số serial của Primary Server bằng với số serial lưu tại nó thì sẽ kết thúc luôn. Và nó sẽ thiết lập lại với các thông số cũ lưu trong máy. o Nếu giá trị của số serial tại Primary Server lớn hơn giá trị serial hiện tại DNS nhận dữ liệu. Thì nó kết luận Zone cần được cập nhật và cần đồng bộ dữ liệu giữa hai DNS Server + Nếu DNS Server nhận kết luận rằng Zone cần phải lấy dữ liệu thì nó sẽ gửi yêu cầu IXFR tới DNS Server chính để yêu cầu truyền dữ liệu của Zone. + DNS Server chính sẽ trả lời với việc gửi những thay đổi của Zone hoặc toàn bộ Zone : o Nếu DNS Server chính có hỗ trợ việc gửi những thay đổi của Zone thì nó sẽ gửi những phần thay đổi của nó (Incremental Zone transfer of the Zone). o Nếu DNS Server chính không hỗ trợ thì nó sẽ gửi toàn bộ Zone (Full AXFR transfer of the Zone). 10. Forwaders : - Cũng giống như Root Hint, forwarder cũng trỏ đến DNS Server khác, khi nó không thể phân giải được các truy vấn do Client gởi đến. - Một số DNS Server nội bộ không cho truy cập đến Internet vì mục đích bảo mật, nên DNS Server không thể truy vấn đến Root Server bằng Root Hint, vì thế ta phải sử dụng Forwarder, để chuyển các truy vấn của Client đến DNS Server được chỉ định. 11. Delegating Zones : - Hệ thống tên miền mới được xây dựng trên cấu trúc quản lý không tập trung. Cấu trúc này được xây dựng bằng cách ủy quyền ( Delegation). Là một quá trình phân chia một Domain thành các Subdomain và giao cho các tổ chức khác nhau quản lý các Subdomain này. - Giả sử ta có một domain : www.microsoft.com. - Ta có 2 chi nhánh ở Aisa và Viet Nam. Vì thế ta sẽ ủy quyền cho 2 nơi này để quản lý các Zone : asia.microsoft.com và vietnam.microsoft.com. - Tất cả máy tính ở Asia và Việt Nam sẽ được quản lý bởi 2 Zone trên. - Các DNS Server quản lý Zone Asia và Việt Nam phải Forwarder về DNS root (DNS ủy quyền cho nó) , trong trường hợp các Client ở Asia muốn truy cập các Client ở Việt Nam và ngược lại. - Serial number : là giá trị được áp dụng cho tất cả dữ liệu trong một Zone. Khi Secondary DNS kết nối Primary DNS để thực hiện chuyển dữ liệu về, Secondary DNS sẽ hỏi giá trị serial number của Primary DNS. Nếu giá trị trên Primary DNS lớn hơn Secondary DNS thì quá trình chuyển dữ liệu mới được bắt đầu. - Refresh interval : thời gian cập nhật các record. - Retry interval : trong trường hợp Secondary DNS không thể kết nối với Primary DNS, thì Secondary DNS sẽ thực hiện kết nối lại sau khoảng thời gian Retry interval. - Expires after : đây là khoảng thời gian mà Secondary DNS không thể kết nối với Primary DNS, dữ liệu trên Secondary DNS sẽ bị hủy. - Minimum (default) TTL : đây là giá trị áp dụng cho tất cả các bản ghi trong file dữ liệu, tham số này xác định dữ liệu sẽ được cache tại Primary DNS trong bao lâu. - TTL ( time to live) : Primary DNS không thể caching dữ liệu mãi mãi, khi dữ liệu về tên miền thay đổi, và sự thay đổi này sẽ không được cập nhật. Để tránh điều này, người ta đưa ra TTL. Đây là khoảng thời gian Primary DNS đươc caching dữ liệu. Khi hết khoảng thời gian này, dữ liệu được caching sẽ bị xóa. TTL ảnh hưởng đến khả năng hoạt động của DNS và tính nhất quán của dữ liệu. DNS Resolvers : - Là dịch vụ sử dụng để truy vấn thông tin từ DNS Server của Client. Qui trình phân giải tên miền được tiến hành như sau : + Giả sử người sử dụng muốn truy cập vào trang web có địa chỉ là http://www.google.com + Trước hết chương trình trên máy người sử dụng gửi yêu cầu tìm kiếm địa chỉ IP ứng với tên miền www.google.com tới máy chủ quản lý tên miền (name Server) cục bộ thuộc mạng của nó (ISP DNS Server). + Máy chủ tên miền cục bộ này kiểm tra trong cơ sở dữ liệu của nó có chứa cơ sở dữ liệu chuyển đổi từ tên miền sang địa chỉ IP của tên miền mà người sử dụng yêu cầu không. Trong trường hợp máy chủ tên miền cục bộ có cơ sở dữ liệu này, nó sẽ gửi trả lại địa chỉ IP của máy có tên miền nói trên (www.google.com) + Trong trường hợp máy chủ tên miền cục bộ không có cơ sở dữ liệu về tên miền này nó thường hỏi lên các máy chủ tên miền ở cấp cao nhất (máy chủ tên miền làm việc ở mức Root). Máy chủ tên miền ở mức Root này sẽ trả về cho máy chủ tên miền cục bộ địa chỉ của máy chủ tên miền quản lý các tên miền có đuôi .com. + Máy chủ tên miền cục bộ gửi yêu cầu đến máy chủ quản lý tên miền có đuôi (.com) tìm tên miền www.google.com. Máy chủ tên miền quản lý các tên miền .com sẽ gửi lại địa chỉ của máy chủ quản lý tên miền google.com. + Máy chủ tên miền cục bộ sẽ hỏi máy chủ quản lý tên miền google.com này địa chỉ IP của tên miền www.google.com. Do máy chủ quản lý tên miền google.com có cơ sở dữ liệu về tên miền www.google.com nên địa chỉ IP của tên miền này sẽ được gửi trả lại cho máy chủ tên miền cục bộ. + Máy chủ tên miền cục bộ chuyển thông tin tìm được đến máy của người sử dụng. + PC của người dùng sẽ sử dụng địa chỉ IP này để mở một phiên kết nối TCP/IP đến Server chứa trang web có địa chỉ http://www.google.com