Rozdział 12. System nazw domen (DNS) Dogłębnie System nazw domen (DNS) analizuje nazwy hostów zarówno nazwy hostów lokalnych, jak i w pełni kwalifikowane nazwy domen (FQDN) na adresy Protokołu IP. System DNS wykorzystuje hierarchiczną, rozszerzalną bazę danych oraz pojęcie hierarchicznej przestrzeni nazw domen. System ten został zdefiniowany po raz pierwszy w roku 1984 i był jednym z ważniejszych czynników w procesie tworzenia sieci WWW. Kompatybilność DNS systemu Windows 2000 DNS systemu Windows 2000 jest preferowanym systemem nazw dla systemów operacyjnych Windows 2000 zarówno w środowiskach macierzystych, jak i mieszanych. Chociaż inne implementacje systemu DNS, takie jak domena nazw internetowych Berkeley (BIND) w wersji 8.1.2, są kompatybilne z wymaganiami systemu Windows 2000, to Windows 2000 DNS jest w pełni zintegrowany z usługą Active Directory i korzysta z replikacji wielonarzędnej. Klienty niższego poziomu, takie jak Windows NT4, korzystają z rozwiązywania nazw podstawowego sieciowego systemu wejścia/wyjścia (NetBIOS), szczególnie przy lokalizowaniu kontrolerów domeny (DC). Klienty te opierają się na emisjach i usługach nazw NetBIOS (NBNS), takich jak usługa nazw internetowych systemu Windows (WINS). Windows 2000 DNS jest przystosowany do usługi WINS i wykorzystuje integrację WINS w środowiskach mieszanych do lokalizowania usług i zasobów sieciowych. Klienty systemu Windows NT4 mogą rejestrować się w usłudze WINS systemu Windows 2000, a klienty systemu Windows 2000 mogą się rejestrować w usłudze WINS systemu Windows NT4. Klienty systemu Windows 2000 używają DNS do rozpoznawania nazw i lokalizowania usług, włącznie z lokalizowaniem kontrolerów domen. Ponieważ DNS systemu Windows 2000 obsługuje aktualizacje dynamiczne to jest funkcje DNS dynamicznego, lub DDNS nie jest wymagana integracja z WINS w celu rozwiązywania nazw hostów lokalnych w środowisku macierzystym. DNS systemu Windows 2000 jest zintegrowany z protokołem dynamicznej konfiguracji hosta (DHCP) systemu Windows 2000, a przydziały adresów IP dokonywane za pomocą DHCP są wpisywane do bazy danych systemu DNS (patrz: rozdział 11).
Standardy DNS DNS systemu Windows 2000 obsługuje kilka standardów oraz szkiców standardów. W tabeli 12.1 wypisane są obsługiwane standardy specyfikacji RFC zespołu do spraw sieci Internet (IETF), a tabela 12.2 podaje obsługiwane projekty IETF. W momencie czytania niniejszej książki niektóre z projektów IETF mogą już być standardami, inne z kolei mogą być nieaktualne. Tabela 12.1. Obsługiwane specyfikacje RFC Specyfikacja RFC Tytuł 1034 Nazwy domen Pojęcia i cechy 1035 Nazwy domen Implementacja i specyfikacja 1123 Wymagania dla hostów internetowych Stosowanie i obsługa 1886 Rozszerzenia systemu DNS do obsługi protokołu IP w wersji 6 1995 Przyrostowy transfer stref w systemie DNS 1996 Mechanizm powiadamiania systemu DNS o zmianach stref 2136 Dynamiczne aktualizacje w systemie nazw domen (DNS UPDATE) 2181 Wyjaśnienia dotyczące specyfikacji DNS 2308 Negatywne buforowanie kwerend DNS (DNS NCACHE) Tabela 12.2. Obsługiwane projekty Projekt Tytuł Draft-ietf-dnsind-rfc2052bis-02.txt DNS RR do określania lokalizacji usług (DNS SRV) Draft-skwan-utf8-dns-02.txt Draft-ietf-dhc-dhcp-dns-08.txt Draft-ietf-dnsind-tsig-11.txt Draft-ietf-dnsind-tkey-00.txt Draft-skwan-gss-tsig-04.txt Korzystanie z zestawu znaków UTF-8 w systemie nazw domen Interakcja między protokołem DHCP i systemem DNS Sygnatury transakcji tajnego klucza dla systemu DNS (TSIG) Ustanowienie tajnego klucza dla systemu DNS (TKEY RR) Algorytm GSS dla TSIG (GSS-TSIG) RR to rekord zasobów, UTF oznacza format transmisji UCS (gdzie UCS to system znaków Unicode), a GSS oznacza ogólne usługi zabezpieczeń. Internetowe projekty i specyfikacje RFC dostępne są pod adresem www.ietf.org. Pełną listę specyfikacji RFC aktualnie dostępnych w Internecie można uzyskać pod adresem http://info.internet.isi.edu/innotes/rfc/files. Przestrzeń nazw domen System DNS jest implementowany w formie hierarchicznej rozproszonej bazy danych, zawierającej różnego typu dane, łącznie z nazwami hostów i nazwami domen. Nazwy te tworzą hierarchiczną strukturę drzewa, zwaną przestrzenią nazw domen.
Nazwa FQDN jednoznacznie identyfikuje pozycję danego hosta w obrębie przestrzeni nazw systemu DNS poprzez podanie listy nazw określonych kropkami na przykład authors.coriolis.com. Częściami przestrzeni nazw głównego i najwyższego poziomu (tj. com, gov, edu, itd.) zarządza w Internecie urząd rejestracji nazw, na przykład internetowe centrum informacji sieciowej, InterNIC (pod adresem www.internic.net), którego wyznaczonym przedstawicielem jest Network Solutions, Inc. (pod adresem www.networksolutions.com). Organizacje takie jak przedsiębiorstwa i placówki oświatowe rejestrują nazwy domen oraz adresy IP i administrują swoją własną częścią przestrzeni nazw bez potrzeby odwoływania się do urzędu rejestracji nazw. Rysunek 12.1 przedstawia hierarchiczną przestrzeń nazw domen. Serwery główne, lub serwery z kropką (. ).com.edu.mil.net.gov nazw Zarządzane przez urząd rejestracji coriolis.com www.coriolis.com authors.coriolis.com ian.authors.coriolis.com Zarządzane przez Coriolis Rysunek 12.1. Hierarchiczna przestrzeń nazw domen Nazwy domen są zgodne z międzynarodowym standardem ISO 3166. Zastrzeżone skróty pokazane są w tabeli 12.3. Tabela 12.3. Skróty systemu DNS
Skrót com edu org net gov mil num arpa xx Typ organizacji Handlowe i biznesowe Edukacyjne Niekomercyjne Sieci szkieletowe Rządowe, niemilitarne Rządowe, militarne Numery telefoniczne DNS wsteczny Kod krajowy (np. uk, fr, aus) DNS wsteczny tłumaczy adres IP na nazwę FQDN i jest wykorzystywany, na przykład, przez aplikacje zabezpieczeń internetowych. Baza danych systemu DNS Baza danych DNS przechowuje rekordy zasobu w plikach stref. Strefa DNS jest jednostką administracyjną, która niekoniecznie odwzorowuje się na domenę. W domenie może być kilka stref, a w strefie może być więcej niż jedna domena. Podstawowy plik strefy może być kopiowany do pomocniczego pliku strefy tylko do odczytu w celu utworzenia kopii zapasowej i zabezpieczeń, polegających na przejmowaniu zadań przez serwer rezerwowy. Pliki te mogą być przechowywane na różnego typu serwerach nazw DNS. Kwerendy bazy danych DNS dotyczące rozpoznawania nazw mogą być przeprowadzane przy użyciu kwerend rekursywnych lub iteracyjnych. Znajomość struktury i działania bazy danych DNS jest podstawą znajomości samego systemu nazw, przy czym wszystkie te tematy są opisane w niniejszej części. Wskazówka: Niekiedy serwer nazw DNS określa się po prostu jako serwer nazw, z akronimem NS. Dzieje się tak dlatego, że rekord zasobu serwera NS w bazie danych DNS (patrz: poniżej) identyfikuje serwer nazw DNS. Należy jednak ostrożnie używać tej terminologii. Serwer WINS jest również serwerem nazw. Rekordy zasobów (RR) DNS Do rozpoznawania nazw hostów, rozpoznawania wstecznego i innych celów administracyjnych potrzebne są różnego typu rekordy zasobów. Najpopularniejsze typy rekordów zasobów opisane są poniżej. Rekord zasobu adresu startowego uwierzytelniania (SOA) Rekord zasobu SOA identyfikuje strefę DNS (lub strefę pełnomocnictwa). Zawiera on następujące pola danych: Nazwa właściciela nazwa hosta podstawowego serwera nazw DNS autorytatywnego dla danej strefy.
Host Osoba odpowiedzialna adres e-mail osoby odpowiedzialnej za administrację strefy. W tej nazwie e-mail zamiast znaku (@) używana jest kropka (.). Numer seryjny numer poprawki pliku strefy. Ten numer zwiększa się za każdym razem, kiedy rekord zasobu w strefie ulega zmianie. Interwał odświeżania czas, wyrażony w sekundach, przez który pomocniczy serwer DNS czeka, zanim rozpocznie kwerendę zarządcy strefy, mającą na celu dokonanie próby odnowienia informacji dotyczących strefy. Wartością domyślną tego pola jest 900 (15 minut). Interwał ponawiania czas, wyrażony w sekundach, przez który pomocniczy serwer czeka przed ponowieniem nieudanego transferu strefy. Wartością domyślną jest 600 (10 minut). Czas przeterminowania czas, wyrażony w sekundach, przed wstrzymaniem odpowiadania pomocniczego serwera na kwerendy po upłynięciu interwału odświeżania, w którym strefa nie została odświeżona ani zaktualizowana. Po wygaśnięciu tego czasu serwer pomocniczy uznaje swoje dane lokalne za nieprawdziwe. Wartością domyślną jest 86 400 (24 godziny) Minimalny czas TTL czas Time-To-Live (TTL) w sekundach, stosowany wobec wszystkich rekordów zasobów w strefie, które mają nieokreślone wartości czasu TTL specyficzne dla rekordu. Ta wartość określa, jak długo należy buforować rekord zasobu przesłany w odpowiedzi (patrz: dalsza część niniejszego rozdziału). Wartością domyślną jest 3 600 (1 godzina). Rekord zasobu hosta, lub rekord adresu (A), zawiera nazwę hosta (lub nazwę DNS) oraz odpowiedni adres IP (Ipv4). Jest to najprostszy i najpopularniejszy typ rekordu w bazie danych DNS. Rekord A jest wymagany dla każdego hosta współużytkującego zasoby w danej sieci. Host Ipv6 Rekord zasobu hosta Ipv6, lub rekord AAAA, to to samo co rekord A, z tym że odwzorowuje nazwę hosta na 128-bitowy adres IPv6 (patrz: rozdział 18). Wskazówka: Istnieją również inne rekordy zasobu hosta, które nie zostały tutaj opisane, na przykład rekord zasobu bazy danych Andrew File System (AFSDB) czy rekord zasobu adresu trybu transferu asynchronicznego (ATMA). Aby uzyskać więcej szczegółów, odwołaj się, odpowiednio, do dokumentu RFC 1183 oraz do witryny ftp://ftp.atmforum.com/pub/approvedspecs/. Serwer nazw Rekord zasobu serwera nazw (NS) identyfikuje serwer nazw DNS i jest wykorzystywany do przypisywania adresu startowego uwierzytelniania dla strefy DNS określonemu serwerowi na dwa sposoby: Ustanawia serwer nazw autorytatywnych dla danej strefy i identyfikuje ten serwer dla innych, które żądają informacji dotyczących strefy.
Identyfikuje autorytatywny serwer DNS dla każdej domeny podrzędnej delegowanej ze strefy (patrz: dalsza część tego rozdziału). Rekordy zasobów NS zawierają nazwę domeny lub strefy (nazwę właściciela) oraz nazwę FQDN serwera nazw DNS, który jest autorytatywny dla strefy. Wskazówka: Jeżeli serwer nazw zostanie określony w rekordzie zasobu NS jako autorytatywny dla delegowanej strefy, to będzie on miał nazwę pozastrefową. Do rozwiązania tej nazwy pozastrefowej może być konieczny rekord zasobu A. Ów rekord A znany jest jako rekord sklejający. Nazwa kanoniczna Rekord zasobu nazwy kanonicznej (CNAME) zapewnia alias (nazwę alternatywną) dla nazwy hosta poprzez odwzorowanie alternatywnej nazwy domeny DNS określonej w polu właściciel na kanoniczną, lub podstawową, nazwę domeny DNS określoną w nazwa_kanoniczna. Wskaźnik Rekord zasobu wskaźnika (PTR) łączy nazwę DNS w polu właściciel z inną lokalizacją w przestrzeni nazw DNS w sposób określony w polu nazwa_domeny_docelowej. Rekordy PTR są zazwyczaj wykorzystywane do łączenia nazw DNS z rekordami w drzewie domeny in-addr.arpa, aby zapewnić wyszukiwanie wsteczne odwzorowań adresów na nazwy. Usługa wymiany poczty Rekord zasobu usługi wymiany poczty (MX) umożliwia routowanie wiadomości, wysyłanych do nazwy domeny określonej w polu właściciel, do hosta usługi wymiany poczty określonego w polu host_usługi_wymiany_poczty. Dwucyfrowa wartość preferencji określa kolejność preferowaną, jeżeli określonych jest wiele hostów usługi wymiany. Każdy host wymiany musi mieć odpowiadający mu rekord zasobu A. Skrzynka pocztowa Rekord zasobu skrzynki pocztowej (MB) odwzorowuje nazwę skrzynki pocztowej domeny, określoną w polu użytkownik, na nazwę hosta skrzynki pocztowej, określoną w polu mailbox_hostname. Nazwa hosta skrzynki pocztowej musi być taka sama, jak ważny rekord zasobu adresu (A) używany już przez hosta w tej samej strefie. Wskazówka: Inne typy rekordów zasobu związanych z pocztą elektroniczną to grupa pocztowa (MG), informacje listy pocztowej skrzynki pocztowej (MINFO) oraz skrzynka pocztowa o zmienionej nazwie (MR). Szczegółowe informacje można znaleźć w dokumentacji Windows 2000. Lokalizacja usługi Rekord zasobu lokalizacji usługi (SRV) umożliwia lokalizowanie wielu serwerów, zapewniających podobną usługę opartą na protokole TCP/IP, przy użyciu pojedynczej kwerendy DNS. Rekordy zasobu SRV utrzymują listę serwerów dla dobrze znanych portów serwera i typów protokołów transportu dla nazwy domeny DNS. Lista uporządkowana jest według uprzywilejowania. Może ona, na przykład, lokalizować kontrolery domeny korzystające z usługi protokołu uproszczonego dostępu do katalogów (LDAP) przez port TCP 389. Te rekordy zasobu
mają złożoną strukturę o dużej liczbie pól. Aby uzyskać szczegółowe informacje, odwołaj się do dokumentacji Windows 2000. Informacje hosta Rekord zasobu informacji hosta (HINFO) określa typ procesora i systemu operacyjnego (OS) dla nazwy domeny DNS hosta określonej w polu właściciel. Informacje te zawarte są w polach, odpowiednio, typ_cpu i typ_os. Wskazówka: Inne rekordy zasobu, które dostarczają informacji ogólnych, to osoba odpowiedzialna (RP), rozsyłanie poprzez (RT), tekst (TXT), dobrze znana usługa (WKS), Integrated Services Digital Network (ISDN) oraz X25. Aby uzyskać informacje szczegółowe, odwołaj się do dokumentacji Windows 2000. Wyszukiwanie do przodu usługi nazw internetowych systemu Windows Rekord zasobu wyszukiwania do przodu usługi nazw internetowych systemu Windows (WINS) wykorzystywany jest, aby zapewnić rozwiązywanie kwerend DNS dotyczących nazw nie znalezionych w danej strefie, poprzez kwerendę serwerów WINS skonfigurowanych i umieszczonych na liście przy użyciu tego rekordu. Rekord WINS dotyczy tylko najwyższego poziomu strefy, a nie domen podrzędnych wykorzystywanych w tej strefie. Więcej szczegółów można znaleźć w rozdziale 13. Wyszukiwanie wsteczne usługi nazw internetowych systemu Windows Rekord zasobu wyszukiwania wstecznego usługi nazw internetowych systemu Windows (WINS- R) wykorzystywany jest, aby zapewnić dalsze rozwiązywanie kwerend wstecznych nie znalezionych w danej strefie, poprzez użycie w WINS kwerendy stanu węzła karty NetBIOS dla wyszukiwanych adresów IP. Więcej szczegółów można znaleźć w rozdziale 13. Strefy systemu DNS Strefa to część bazy danych DNS zawierająca rekordy zasobów dla nazw właścicieli, które należą do zwartej części przestrzeni nazw systemu DNS. Jeden serwer DNS może być skonfigurowany jako host dla jednej lub większej liczby stref (a czasem dla żadnej strefy). Każda strefa jest definiowana przez konkretną nazwę domeny, określaną jako domena główna. Gdyby na przykład domeną główną strefy była domena coriolis.com, to zawierałaby ona informacje dotyczące wszystkich nazw FQDN kończących się na coriolis.com (każda nazwa hosta lokalnego w domenie coriolis.com ma nazwę FQDN, który kończy się na coriolis.com). Serwer DNS uznawany jest za autorytatywny dla danej nazwy, jeżeli ładuje plik strefy zawierający tę nazwę. Rekord zasobu SOA dla strefy identyfikuje podstawowy serwer nazw DNS strefy jako najlepsze źródło informacji dla danych w obrębie tej strefy i jako serwer przetwarzający aktualizacje dla tej strefy. Nazwy w obrębie strefy mogą być delegowane do innej strefy (lub innych stref). Na przykład nazwy w domenie authors.coriolis.com kończą się na coriolis.com i są, domyślnie, członkami strefy coriolis.com. Jednakże odpowiedzialność za te nazwy może zostać oddelegowana do strefy authors.coriolis.com, która będzie wtedy miała swoją własną strefę pełnomocnictwa, swój własny rekord zasobu SOA i prawdopodobnie, swój własny podstawowy serwer nazw DNS.
Delegowanie to proces przydzielania odpowiedzialności za część przestrzeni nazw DNS oddzielnej jednostce. Jednostka ta może być oddziałem lub zespołem w obrębie przedsiębiorstwa, lub przedsiębiorstwem w obrębie większej organizacji. Delegowanie implementuje się przy użyciu rekordu zasobu NS, określającego zarówno delegowaną strefę, jak i nazwę DNS serwera autorytatywnego dla tej strefy. Delegowanie poprzez wiele stref było jednym z pierwotnych zamierzeń projektu DNS w roku 1984. Autorzy oryginalnych dokumentów RFC 882 i 883 (teraz zastąpionych) zidentyfikowali kilka powodów delegowania przestrzeni nazw DNS: potrzeba oddelegowania zarządzania domeną DNS do kilku przedsiębiorstw lub oddziałów w obrębie organizacji; potrzeba rozdzielenia obciążenia związanego z utrzymywaniem jednej dużej bazy danych DNS na wiele serwerów nazw, aby poprawić wydajność rozpoznawania nazw oraz utworzyć środowisko DNS odporne na uszkodzenia; potrzeba uwzględnienia przynależności organizacyjnej hosta poprzez włączenie go do odpowiedniej domeny. Rekordy zasobów NS znajdują się we wszystkich strefach wyszukiwania w przód i wyszukiwania wstecznego, i wspierają delegowanie poprzez identyfikowanie serwerów DNS dla każdej ze stref. Ilekroć serwer DNS musi zyskać dostęp do rekordu w delegowanej strefie (co jest znane jako krzyżowanie delegowania), zwraca się do rekordów zasobu NS o zidentyfikowanie serwerów DNS w strefie docelowej. Na rysunku 12.2 zarządzanie domeną coriolis.com jest delegowane poprzez dwie strefy, coriolis.com i authors.coriolis.com. Domena coriolis.com.com coriolis.com ftp.coriolis.com www.coriolis.com strefa coriolis.com authors.coriolis.com strefa authors.coriolis.com ian.authors.coriolis.com mary.authors.coriolis.com
Rysunek 12.2. Strefy delegowane Wskazówka: Przeważnie plik strefy dla strefy delegowanej jest ładowany na więcej niż dwa serwery nazw DNS, a zatem serwer najwyższego poziomu dla domeny zawiera wiele rekordów zasobów NS identyfikujących serwery nazw DNS, dostępnych w celu przeprowadzania kwerend. W tej sytuacji Windows 2000 DNS wybiera najbliższy serwer nazw DNS na podstawie interwałów transmisji i potwierdzenia przyjęcia mierzonych w czasie dla każdego ze wspomagających serwerów nazw DNS. Replikacja bazy danych Są dwa typy stref DNS, podstawowe oraz pomocnicze, które mają odpowiadające im pliki stref podstawowych i pomocniczych. Wszystkie aktualizacje rekordów stref przeprowadzane są w strefie podstawowej. Strefa pomocnicza jest kopią tylko do odczytu strefy podstawowej. Wszelkie zmiany dokonywane w pliku strefy podstawowej są replikowane do pliku strefy pomocniczej. Strefy pomocnicze zapewniają zabezpieczenia, polegające na przejmowaniu zadań przez inny serwer i mogą przyspieszać rozpoznawanie nazw w zdalnych segmentach sieci. Możliwe jest, aby serwer nazw DNS zawierał plik strefy podstawowej (lub główną kopię pliku strefy) dla jednej strefy oraz plik strefy pomocniczej (lub kopię tylko do odczytu pliku strefy) dla drugiej. Serwer ten jest w tym przypadku podstawowym serwerem nazw DNS dla pierwszej strefy i pomocniczym serwerem DNS dla drugiej strefy. Proces replikowania pliku strefy do wielu serwerów nazw zwany jest transferem stref. Dokonuje się tego poprzez skopiowanie informacji pliku strefy z serwera nadrzędnego na serwer pomocniczy (zwany czasem serwerem podległym), gdzie serwer nadrzędny jest źródłem informacji o strefie. Serwer nadrzędny może być podstawowy lub pomocniczy. Jeżeli serwer nadrzędny jest podstawowy, to transfer stref pochodzi bezpośrednio od źródła. Jeżeli serwer nadrzędny jest pomocniczy, to plik otrzymany z serwera nadrzędnego za pomocą transferu jest kopią pliku strefy pomocniczej. To rozróżnienie przedstawione jest na rysunku 12.3. Nadrzędne i podstawowe serwery nazw DNS Rozróżnienie pomiędzy nadrzędnym i podstawowym serwerem nazw DNS może być źródłem zamieszania. Podstawowy i pomocniczy odnoszą się do typu strefy. Serwer nazw DNS zawierający podstawowy (możliwy do uaktualnienia) plik strefy jest serwerem podstawowym dla tej strefy. Serwery nazw DNS zawierające pomocniczy (tylko do odczytu) plik strefy są serwerami pomocniczymi dla tej strefy. Serwery nadrzędne stanowią część procesu transferu stref. Jeżeli Serwer C otrzymuje informacje dotyczące strefy DNS od Serwera B, to Serwer B jest serwerem nadrzędnym, a Serwer C jest serwerem pomocniczym dla tego transferu stref. Wszelkie replikowane informacje u adresata są tylko do odczytu. Serwer B może posiadać plik podstawowy dla jednej, określonej strefy oraz plik pomocniczy dla drugiej. Serwer C otrzymuje wtedy pliki pomocnicze dla obydwu stref. Jeżeli plik strefy pomocniczej znajdujący się Serwerze B jest replikowany z Serwera A, który posiada plik podstawowy dla tej strefy, to Serwer A jest serwerem nadrzędnym, a Serwer B jest
serwerem pomocniczym dla tego transferu stref. Odwołaj się do rysunku 12.3 Serwer A Serwer B Serwer C Strefa 1 (podstawowa) Strefa 1 (pomocnicza) Strefa 1 (pomocnicza) Strefa 2 (podstawowa) Strefa 2 (pomocnicza) Jestem podstawowym serwerem nazw dla strefy 1. Jestem podstawowym Jestem pomocniczym serwerem serwerem nazw dla strefy 2. nazw dla strefy 1 i 2. serwerem Jestem pomocniczym serwerem nazw dla strefy 1. Serwer B jest moim nadrzędnym dla obu stref. Serwer A jest moim serwerem nadrzędnym dla strefy 1. Rysunek 12.3. Nadrzędne, podstawowe oraz pomocnicze serwery nazw DNS. Transfer stref inicjowany jest na dwa sposoby: Serwer nadrzędny wysyła do serwera pomocniczego (serwerów pomocniczych) powiadomienie, że plik strefy uległ zmianie. Dokument RFC opisuje ten proces szczegółowo. Kiedy uruchamia się usługa DNS serwera pomocniczego lub ulega przeterminowaniu jego interwał odświeżania, to przeprowadza on kwerendę serwera podstawowego dotyczącą tych zmian. Interwał odświeżania określony jest w rekordzie zasobu SOA i domyślnie wynosi 15 minut.
Są dwa typy replikacji pliku strefy: Pełny transfer strefy (AXFR) replikuje cały plik strefy. Są dwa typy AXFR. Pierwszy z nich przesyła jeden rekord na pakiet, a drugi dopuszcza wiele rekordów na pakiet. DNS systemu Windows 2000 obsługuje obydwa typy. Domyślnie stosuje on wiele rekordów na pakiet, o ile nie został skonfigurowany inaczej dla zapewnienia zgodności ze starymi serwerami DNS, takimi jak BIND w wersji 4.9.4 i wcześniejsze, które obsługują tylko jeden rekord na pakiet. System Windows NT4 obsługuje AXFR o wielu rekordach na pakiet. Przyrostowy transfer strefy (IXFR) replikuje tylko zmienione rekordy strefy. DNS systemu Windows 2000 obsługuje IXFR; Windows NT4 nie. Protokół IXFR jest opisany w dalszej części tego rozdziału. Serwery tylko buforujące Wszystkie serwery nazw DNS buforują kwerendy, które przeanalizowały. Można jednak zainstalować serwer nazw DNS specjalnie jako serwer tylko buforujący. Serwer tylko buforujący wykonuje kwerendy, buforuje odpowiedzi i zwraca wyniki. Nie jest on autorytatywny dla żadnej domeny i zawiera tylko informacje buforowane w czasie analizowania kwerend. Jeżeli masz witrynę o dużym natężeniu ruchu DNS, lub jeśli masz witryny satelickie, takie jak filie, które korzystają z powolnego łącza sieci WAN, to w celu wyrównania obciążenia i obniżenia ruchu w sieci można użyć serwera tylko buforującego. Serwer tylko buforujący nie wykonuje transferów stref, które mogą intensywnie korzystać z sieci w środowiskach WAN. Windows 2000 DNS wprowadza pojęcie analizatora buforującego strony klienckiej. Jest to opisane w dalszej części niniejszego rozdziału. Kwerendy systemu DNS Kwerendy DNS są wysyłane od klienta DNS (analizatora) do serwera nazw DNS (serwera nazw). Ponadto serwer nazw może wysłać kwerendę do drugiego serwera nazw. Kwerendy DNS są przeważnie, lecz nie wyłącznie, kwerendami analizy nazw. Kwerenda może na przykład żądać wszystkich rekordów zasobu hosta o określonej nazwie. Są dwa typy kwerend DNS: Rekursywna żąda, aby serwer nazw zwrócił albo pomyślną odpowiedź, albo komunikat o błędzie. Zazwyczaj kwerendę rekursywną wykonuje analizator. Analizator nie bierze już dalej udziału w procesie kwerendy, tylko czeka na odpowiedź. Serwer nazw może wysłać kwerendę rekursywną do swojego serwera przekazującego, który jest innym serwerem nazw skonfigurowanym specjalnie do obsługiwania przekazywanych do niego żądań. Iteracyjna badany kwerendą serwer nazw dostarcza najlepszych informacji dotyczących kwerendy, jakie są dostępne. Zazwyczaj, jeżeli badany serwer nie jest autorytatywny dla danej strefy, to wysyła odsyłacz, który jest listą zawierającą jeden lub więcej serwerów, które mogą być w stanie spełnić kwerendę lub dostarczyć na jej temat więcej informacji. Serwer wykonujący kwerendę wysyła następnie kwerendę do jednego z serwerów znajdujących się na liście odsyłacza i proces kwerendy przebiega dalej jako szereg iteracji, dopóki kwerenda nie zostanie przeanalizowana.
Rysunek 12.4 przedstawia proces kwerendy. Jest to przykład troszkę nadmiernie uproszczony, ponieważ nie bierze pod uwagę kwerend do bufora żadnego z analizujących uczestników. Nie opisuje on również korzystania z serwerów WINS (ani innych serwerów NBNS), czy emisji mających na celu rozpoznanie lokalnych nazw hostów, co miałoby miejsce w starych lub mieszanych domenach. Ten przykład opisuje jedynie analizowanie nazw DNS. Kwerendy iteracyjne Główny serwer nazw (. ) 2 3 Serwer nazw.com Serwer nazw 4 5 Kwerenda rekursywna 6 Serwer nazw coriolis.com 1 8 7 Analizator Chcę znaleźć www.coriolis.com. www.coriolis.com Rysunek 12.4. Analizowanie nazw DNS W poniższym przykładzie klient (analizator) w domenie zdalnej chce przetłumaczyć www.coriolis.com na adres IP. Mogłoby to mieć miejsce, gdyby przeglądarka kliencka podjęła próbę połączenia z URL. 1. Analizator wysyła do swojego serwera nazw lokalnych kwerendę rekursywną dotyczącą nazwy FQDN www.coriolis.com. 2. Serwer nazw lokalnych nie może przeanalizować nazwy FQDN ze swojej własnej bazy danych. Dlatego też parsuje nazwę FQDN. Jest oczywiste, że wszystkie nazwy FQDN
kończą się kropką. Nie jest ona normalnie wpisywana, ale jej założona obecność jest podstawą analizy składniowej FQDN. Serwer nazw lokalnych parsuje końcową kropkę i rozumie, że oznacza ona w przestrzeni nazw domeny serwer główny (czasem zwany serwerem z kropką). Wszystkie implementacje systemu DNS zawierają w sobie plik bufora (albo root hints serwera), w skład którego wchodzą adresy IP głównych serwerów dla domen internetowych. Serwer nazw lokalnych wysyła iteracyjną kwerendę do serwera głównego, prosząc go o rozpoznanie www.coriolis.com. Wskazówka: Najnowszą wersję pliku bufora serwera głównego można pobrać z witryny InterNIC pod adresem ftp://rs.internic.net/domain/named.cache. 3. Serwer główny nie może rozpoznać www.coriolis.com, ale może rozpoznać com. Dlatego też wysyła z powrotem do serwera nazw lokalnych odsyłacz z listą adresów IP serwerów nazw w przestrzeni nazw com. 4. Serwer nazw lokalnych wysyła kwerendę iteracyjną do serwera nazw com, prosząc go o rozpoznanie www.coriolis.com. 5. Serwer nazw com nie może rozpoznać www.coriolis.com, ale może rozpoznać coriolis.com. Wysyła z powrotem do serwera nazw lokalnych odsyłacz, podający adres autorytatywnego serwera nazw dla coriolis.com. 6. Serwer nazw lokalnych wysyła kwerendę iteracyjną do serwera nazw coriolis.com, który może rozpoznać www.coriolis.com. 7. Serwer nazw coriolis.com zwraca adres IP www.coriolis.com do serwera nazw lokalnych. 8. Serwer nazw lokalnych spełnia kwerendę rekursywną wysyłając adres IP dla www.coriolis.com do analizatora. Serwery przekazujące Jeżeli nie chcesz, aby serwer nazw DNS używał kwerend iteracyjnych (albo w ogóle, albo domyślnie), to możesz go skonfigurować, aby korzystał z serwera przekazującego. Serwer przekazujący to serwer nazw DNS, który zajmuje się żądaniami iteracyjnymi w imieniu innych serwerów i zwraca im wyniki. Serwer nazw DNS, który nie może przeanalizować danego żądania w oparciu o swoje własne informacje dotyczące strefy, może wysłać żądanie rekursywne do serwera przekazującego. Dlatego też mówi się, że serwer przekazujący dostarcza żądającemu serwerowi usługę rekursywną. Serwery przekazujące są zazwyczaj wykorzystywane w przypadku dostępu do zdalnych serwerów nazw DNS poprzez powolne łącze. Mogłoby się na przykład zdarzyć, że administrujesz szybką siecią wewnętrzną podłączoną do Internetu przez względnie wolne połączenie; w takim przypadku możesz zechcieć wykorzystać do kwerend iteracyjnych usługę nazw DNS dostarczoną przez swojego dostawcę usług internetowych (ISP). To mogłoby znacząco obniżyć ruch w Twojej sieci. Serwer nazw DNS, który korzysta z serwera przekazującego, może mieć całkowicie wyłączoną iterację. Ewentualnie można określić serwer przekazujący i opóźnienie czasowe. W tym drugim przypadku serwer najpierw wysyła żądanie rekursywne do swojego serwera przekazującego, a następnie podejmuje próbę iteracji, jeżeli serwer przekazujący nie może spełnić żądania w granicach określonego czasu.
Serwera przekazującego można również używać do współużytkowania informacji dotyczących analizowania nazw. Przypuśćmy na przykład, że nasze przedsiębiorstwo ma kilka serwerów nazw DNS. Zamiast zmuszać każdy z serwerów, aby wysyłał kwerendy do Internetu (prawdopodobnie przez firewalla), można skonfigurować wszystkie swoje serwery, aby przedkładały kwerendy do pojedynczego serwera przekazującego. Serwer przekazujący buduje bufor internetowych nazw DNS z otrzymywanych odpowiedzi i może spełnić kwerendę pochodzącą z jednego serwera bazując na informacjach wynikłych z kwerendy, która pochodzi z innego serwera. Konfigurowanie serwera nazw DNS, aby korzystał z serwera przekazującego jest opisane w podrozdziale rozwiązań natychmiastowych niniejszego rozdziału. Wskazówka: Serwer nazw DNS zainstalowany na serwerze głównym w domenie nie może korzystać z serwerów przekazujących. Czas istnienia rekordów zasobu Po przeanalizowaniu kwerendy zarówno analizator, jak i serwer nazw mogą buforować informacje i używać zapamiętanych odpowiedzi przy odpowiadaniu na kolejne kwerendy. Dane zapamiętane w buforze mają ograniczony czas istnienia, określany w parametrze TTL, który jest zwracany wraz z danymi. Daje to gwarancję, że DNS nie będzie trzymał informacji tak długo, aż staną się one nieaktualne. TTL bufora można ustawić w bazie danych DNS albo dla pojedynczego rekordu zasobów poprzez ustawienie pola TTL zasobu, albo dla strefy, ustawiając pole minimalnego TTL w rekordzie SOA. TTL bufora można również ustawiać na analizatorze. Ustawiając TTL należy wziąć pod uwagę dwa konkurencyjne czynniki. Jeżeli TTL jest krótki, to zmniejsza się prawdopodobieństwo, iż informacje ulegną przedawnieniu, ale zwiększa się ruch w sieci oraz wykorzystanie serwera nazw DNS. Jeżeli TTL jest długi, to klient może otrzymywać błędne odpowiedzi na kwerendy, ale zmniejsza się wykorzystanie serwera DNS i ruch w sieci. Jeżeli odpowiedź na kwerendę zostanie udzielona przy użyciu wpisu zawartego w buforze, to wraz z nią wysyłany jest TTL wpisu, dzięki czemu analizatory otrzymujące odpowiedź wiedzą jak długo jest ona ważna. Analizatory uznają TTL od odpowiadającego serwera i nie ustawiają go ponownie w oparciu o swój własny TTL. Aktualizowanie bazy danych DNS systemu Windows 2000 obsługuje zarówno statyczne, jak i dynamiczne aktualizacje bazy danych DNS. Aktualizacje statyczne implementuje się przy użyciu narzędzia przystawki MMC (konsoli zarządzania firmy Microsoft) systemu DNS. Korzystanie z tego narzędzia jest obszernie opisane w podrozdziale rozwiązań natychmiastowych niniejszego rozdziału. Aktualizacja dynamiczna jest udoskonaleniem DNS systemu Windows 2000 i jest opisana w następnej części. Udoskonalenia systemu Windows 2000 Komunikacja użytkownika z usługą DNS systemu Windows 2000 przebiega poprzez przystawkę konsoli MMC. Zapewnia to zgodność z innymi usługami systemu Windows 2000 i daje administratorowi spójne, łatwe w użyciu narzędzie do zarządzania. Oprócz ułatwionego zarządzania DNS systemu Windows 2000 oferuje kilka udoskonaleń oraz nowych funkcji. W ich skład wchodzą: integracja usługi Active Directory;