Usługa serwera DNS obsługuje funkcje przedawniania i oczyszczania. Stanowią one mechanizm oczyszczania i usuwania starych rekordów zasobów, które mogą gromadzić się w danych strefy w miarę upływu czasu.

Za pomocą aktualizacji dynamicznych rekordy zasobów są automatycznie dodawane do stref, kiedy komputery rozpoczynają pracę w sieci. Jednak w niektórych przypadkach w momencie opuszczania sieci przez komputery rekordy nie są automatycznie usuwane. Jeśli na przykład komputer przy uruchomieniu zarejestruje swój rekord zasobu hosta (A) i zostanie później nieprawidłowo odłączony od sieci, ten rekord może nie zostać usunięty. Jeśli z sieci korzystają użytkownicy mobilni i komputery przenośne, taka sytuacja może występować często.

Pozostawione w ten sposób stare rekordy zasobów w danych strefy mogą powodować określone problemy:

  • Jeśli w strefach pozostaje duża liczba starych rekordów zasobów, po pewnym czasie mogą one zająć dużo miejsca na dysku i powodować niepotrzebne wydłużenie transferów stref.

  • Serwery DNS (Domain Name System) ładujące strefy, które zawierają stare rekordy zasobów, mogą odpowiadać na zapytania klientów przy użyciu przestarzałych informacji, co może powodować problemy w rozpoznawaniu nazw przez klientów za pośrednictwem sieci.

  • Nagromadzenie starych rekordów zasobów na serwerze DNS może zmniejszyć jego wydajność i wydłużyć czas odpowiedzi.

  • W niektórych przypadkach obecność starych rekordów zasobów w strefie może uniemożliwić użycie nazwy domeny DNS przez inny komputer lub urządzenie hosta.

Aby umożliwić rozwiązanie tych problemów, usługa serwera DNS jest wyposażona w następujące funkcje:

  • Sygnatura czasowa (oparta na bieżącej dacie i godzinie ustawionej na komputerze serwera) dla wszystkich rekordów zasobów dodawanych dynamicznie do stref typu podstawowego. Ponadto sygnatury czasowe są rejestrowane w standardowych strefach podstawowych, w których jest włączone przedawnianie i oczyszczanie.

    Dla rekordów zasobów dodawanych ręcznie jest stosowana sygnatura czasowa o wartości zero, wskazująca, że tych rekordów nie dotyczy proces przedawniania i mogą one pozostawać w danych strefy bez ograniczeń czasowych, o ile użytkownik nie zmieni ich sygnatury czasowej albo ich nie usunie.

  • Przedawnianie rekordów zasobów w danych lokalnych (na podstawie podanego okresu odświeżania) w odpowiednich strefach.

    W tym procesie mogą brać udział tylko strefy typu podstawowego, które są ładowane przez usługę serwera DNS.

  • Oczyszczanie rekordów zasobów, które pozostają w danych strefy w czasie przekraczającym podany okres odświeżania.

    Kiedy serwer DNS wykonuje operację oczyszczania, może ustalić, że rekordy zasobów uległy przedawnieniu i usunąć je z danych strefy. Serwery mogą być konfigurowane do automatycznego wykonywania cyklicznych operacji oczyszczania lub też użytkownik może zainicjować natychmiastową operację oczyszczania na serwerze.

    Aby uzyskać więcej informacji, zobacz tematy Włączanie automatycznego oczyszczania starych rekordów zasobów lub Uruchamianie natychmiastowego oczyszczania starych rekordów zasobów.

Przestroga

Domyślnie mechanizm przedawniania i oczyszczania usługi serwera DNS jest wyłączony. Należy go włączać tylko wtedy, gdy wszystkie parametry są w pełni zrozumiałe. W przeciwnym razie konfiguracja serwera mogłaby przypadkowo spowodować usuwanie rekordów, które nie powinny być usuwane. Jeśli rekord zostanie przypadkowo usunięty, użytkownicy nie będą mogli uzyskać wyników rozpoznawania dla zapytań dotyczących tego rekordu, a ponadto każdy użytkownik będzie mógł utworzyć rekord i stać się jego właścicielem (nawet w strefach, w których skonfigurowano zabezpieczone aktualizacje dynamiczne).

Aby ustalić czas usuwania rekordów, serwer korzysta z zawartości poszczególnych sygnatur czasowych specyficznych dla rekordu zasobu oraz innych właściwości przedawniania i oczyszczania skonfigurowanych przez użytkownika.

Wymagania wstępne dla przedawniania i oczyszczania

Aby można było korzystać z funkcji przedawniania i oczyszczania w systemie DNS, musi być spełnionych kilka warunków:

  1. Oczyszczanie i przedawnianie musi być włączone zarówno na serwerze DNS, jak i w strefie.

    Domyślnie przedawnianie i oczyszczanie rekordów zasobów jest wyłączone.

  2. Aby dla rekordów zasobów można było wykonywać operacje przedawniania i oczyszczania, te rekordy muszą zostać dodane dynamicznie do stref lub ręcznie zmodyfikowane.

    Zazwyczaj przedawnianiu i oczyszczaniu podlegają tylko te rekordy zasobów, które zostały dodane dynamicznie za pomocą protokołu aktualizacji dynamicznej systemu DNS.

    Można jednak również włączyć oczyszczanie dla innych rekordów zasobów, które są dodawane metodami niedynamicznymi. W rekordach dodawanych do stref w ten sposób, czyli przez załadowanie pliku tekstowego strefy z innego serwera DNS lub przez ręczne dodanie ich do strefy, jest ustawiana sygnatura czasowa o wartości zero. To powoduje, że rekordy nie podlegają operacjom przedawniania ani oczyszczania.

    Aby zmienić to ustawienie domyślne, można indywidualnie resetować rekordy i zezwalać dla nich na użycie bieżącej (niezerowej) wartości sygnatury czasowej. Sprawia to, że takie rekordy podlegają przedawnianiu i oczyszczaniu.

    Aby uzyskać więcej informacji, zobacz temat Resetowanie właściwości przedawniania i oczyszczania dla określonego rekordu zasobu.

Uwaga

W przypadku zmiany strefy ze standardowej podstawowej na zintegrowaną z usługą Active Directory można włączyć oczyszczanie wszystkich rekordów zasobów w strefie. Aby włączyć przedawnianie wszystkich rekordów zasobów istniejących w strefie, można użyć polecenia AgeAllRecords, które jest dostępne w narzędziu wiersza polecenia dnscmd.

Terminologia procesu przedawniania i oczyszczania

Poniższa tabela zawiera opis nowych lub zmienionych pojęć, które będą pomocne w omawianiu zagadnień związanych z przedawnianiem i oczyszczaniem.

Pojęcie Opis

Sygnatura czasowa rekordu zasobu

Wartość daty i godziny używana przez serwer DNS do określenia, czy rekord zasobu ma zostać usunięty podczas wykonywania operacji przedawniania i oczyszczania.

Bieżący czas serwera

Bieżąca data i godzina na serwerze DNS. Ta liczba może być wyrażona jako dokładna wartość numeryczna w dowolnym momencie.

Interwał braku odświeżania

Przedział czasu ustalany dla każdej strefy, określony przez dwa następujące zdarzenia:

  1. Data i godzina ostatniego odświeżenia rekordu i ustawienia jego sygnatury czasowej.

  2. Data i godzina, kiedy rekord ponownie można odświeżyć i zresetować jego sygnaturę czasową.

Ta wartość jest potrzebna do zmniejszenia liczby operacji zapisu do bazy danych usługi Active Directory. Domyślnie ten interwał jest ustawiony na 7 dni. Nie należy go zwiększać do zbyt wysokiego poziomu, ponieważ można utracić lub ograniczyć korzyści wynikające ze stosowania funkcji przedawniania i oczyszczania.

Interwał odświeżania

Przedział czasu ustalany dla każdej strefy, określony przez dwa następujące zdarzenia:

  1. Najwcześniejsza data i godzina, kiedy rekord można odświeżyć i zresetować jego sygnaturę czasową.

  2. Najwcześniejsza data i godzina, kiedy rekord można oczyścić i usunąć z bazy danych strefy.

Ta wartość powinna być dostatecznie duża, aby umożliwić odświeżanie rekordów dla wszystkich klientów. Domyślnie ten interwał jest ustawiony na 7 dni. Nie należy go zwiększać do zbyt wysokiego poziomu, ponieważ można utracić lub ograniczyć korzyści wynikające ze stosowania funkcji przedawniania i oczyszczania.

Godzina rozpoczęcia oczyszczania

Określona godzina wyrażona liczbowo. Ta godzina jest używana przez serwer do ustalenia, kiedy strefę będzie można oczyścić.

Okres oczyszczania

Kiedy na serwerze jest włączone oczyszczanie automatyczne, ten okres reprezentuje odstęp czasu między powtórzeniami automatycznego procesu oczyszczania. Wartość domyślna to siedem dni. Aby zapobiec dużemu spadkowi wydajności serwera DNS, minimalna dopuszczalna wartość to jedna godzina.

Odświeżanie rekordu

Przetwarzanie aktualizacji dynamicznej w systemie DNS dla rekordu zasobu, w którym zmianie ulega tylko sygnatura czasowa tego rekordu, a inne cechy rekordu pozostają takie same.

Odświeżanie jest zazwyczaj wykonywane z następujących powodów:

  1. Kiedy komputer jest ponownie uruchamiany w sieci, a przy uruchomieniu jego nazwa i adres IP są zgodne z nazwą i adresem, które były używane przed wyłączeniem go, komputer wysyła komunikat odświeżenia w celu odnowienia tych informacji w rekordów zasobów, które są z nim skojarzone.

  2. Kiedy komputer pracuje, wysyła okresowe komunikaty odświeżania.

    Usługa klienta DNS odnawia rejestrację zasobów klienta w systemie DNS co 24 godziny. Jeśli podczas wykonywania takiej aktualizacji dynamicznej żądanie aktualizacji dynamicznej nie powoduje modyfikacji bazy danych DNS, operacja jest traktowana jako odświeżenie, a nie aktualizacja rekordu zasobu.

  3. Inne usługi sieciowe także wykonują próby odświeżenia, na przykład: serwery DHCP, które odnawiają dzierżawy adresów klientów; serwery klastrów, które rejestrują i aktualizują rekordy klastra; usługa Logowanie do sieci, która może rejestrować i aktualizować rekordy zasobów używane przez kontrolery domeny usługi Active Directory.

Aktualizacja rekordu

Przetwarzanie aktualizacji dynamicznej w systemie DNS dla rekordu zasobu, w którym oprócz sygnatury czasowej zmieniane są także inne cechy.

Aktualizacje są zazwyczaj wykonywane z następujących powodów:

  1. Do sieci jest dodawany nowy komputer, który przy uruchomieniu wysyła komunikat aktualizacji, aby po raz pierwszy zarejestrować swoje rekordy zasobów w skonfigurowanej strefie.

  2. Zmieniany jest adres IP komputera z istniejącymi rekordami w strefie, co powoduje wysłanie komunikatów aktualizacji, zawierających informacje o zmianach mapowań nazwa-adres w danych strefy DNS.

  3. Usługa Logowanie do sieci rejestruje nowy kontroler domeny usługi Active Directory.

Serwery oczyszczające

Opcjonalny, zaawansowany parametr strefy, umożliwiający określenie zastrzeżonej listy adresów IP serwerów DNS, które mogą wykonywać oczyszczanie strefy.

Jeśli ten parametr nie jest określony, domyślnie oczyszczanie strefy próbują wykonywać wszystkie serwery DNS, które ładują strefę zintegrowaną z usługą Active Directory (serwery z włączonym oczyszczaniem). W niektórych przypadkach ten parametr może być przydatny, jeśli oczyszczanie powinno być wykonywane tylko na niektórych serwerach ładujących strefę zintegrowaną z usługą Active Directory.

Aby ustawić ten parametr, należy określić listę adresów IP serwerów, które mogą oczyszczać strefę, w parametrze ZoneResetScavengeServers tej strefy. Można to zrobić za pomocą polecenia dnscmd - narzędzia wiersza polecenia służącego do administrowania serwerami DNS systemu Windows.

Kiedy można rozpocząć oczyszczanie

Kiedy zostaną spełnione wszystkie wymagania wstępne umożliwiające korzystanie z funkcji oczyszczania, ten proces może się rozpocząć w strefie serwera w momencie, gdy wartość bieżącego czasu serwera będzie większa niż wartość czasu rozpoczęcia oczyszczania dla strefy.

Serwer ustawia wartość czasu rozpoczęcia oczyszczania indywidualnie dla każdej strefy po wystąpieniu jednego z następujących zdarzeń:

  • Dla strefy zostaną włączone aktualizacje dynamiczne.

  • Zostanie zmieniony stan pola wyboru Oczyść stare rekordy zasobów. Za pomocą Menedżera DNS można zmodyfikować to ustawienie na odpowiednim serwerze DNS albo w jednej z jego stref podstawowych.

  • Serwer DNS załaduje strefę podstawową z włączonym oczyszczaniem.

    Może to się zdarzyć w momencie uruchamiania komputera serwera lub uruchamiania usługi serwera DNS.

  • Strefa wznowi działanie usług po wstrzymaniu.

  • Jeśli strefa jest zintegrowana z usługą Active Directory, replikacja strefy musiała zajść przynajmniej raz od czasu, kiedy została ponownie uruchomiona usługa DNS lub kontroler domeny. Kiedy wystąpią wymienione zdarzenia, serwer DNS ustawia wartość czasu rozpoczęcia oczyszczania, obliczając następującą sumę:

    bieżący czas serwera + interwał odświeżania = czas rozpoczęcia oczyszczania

    Ta wartość jest używana jako podstawa porównań w czasie operacji oczyszczania.

Przykład: proces przedawniania i oczyszczania przykładowego rekordu

Aby zrozumieć działanie procesu przedawniania i oczyszczania na serwerze, można wyobrazić sobie czas życia i kolejne etapy istnienia pojedynczego rekordu zasobu, który jest dodawany do serwera i strefy, w których ten proces jest aktywny. Następnie rekord jest przedawniany i usuwany z bazy danych.

  1. Przykładowy host DNS o nazwie „host-a.example.microsoft.com” rejestruje swój rekord zasobu hosta (A) na serwerze DNS strefy, w której są włączone funkcje przedawniania i oczyszczania.

  2. Podczas rejestrowania rekordu serwer DNS umieszcza w nim sygnaturę czasową na podstawie bieżącego czasu serwera.

    Po zapisaniu sygnatury czasowej rekordu serwer DNS nie akceptuje zgłoszeń odświeżenia tego rekordu przez czas odpowiadający interwałowi braku odświeżania strefy. Może jednak akceptować aktualizacje przed upływem tego czasu. Jeśli na przykład adres IP hosta „host-a.example.microsoft.com” ulegnie zmianie, serwer DNS może zaakceptować aktualizację. W takim przypadku serwer aktualizuje (resetuje) również sygnaturę czasową rekordu.

  3. Po upływie okresu braku odświeżania serwer zaczyna akceptować próby odświeżenia tego rekordu.

    Po zakończeniu wstępnego okresu braku odświeżania natychmiast rozpoczyna się okres odświeżania rekordu. W tym czasie serwer nie odrzuca prób odświeżenia rekordu (w całym pozostałym okresie istnienia rekordu).

  4. Jeśli w trakcie okresu odświeżania lub po jego zakończeniu serwer odbiera polecenie odświeżenia rekordu, przetwarza je.

    Powoduje to zresetowanie sygnatury czasowej rekordu według metody opisanej w kroku 2.

  5. Kiedy serwer wykonuje kolejne oczyszczanie w strefie „example.microsoft.com”, sprawdza dany rekord oraz wszystkie inne rekordy strefy.

    Dla każdego rekordu jest wykonywane porównanie z bieżącym czasem serwera w celu ustalenia (na podstawie poniższej sumy), czy rekord powinien zostać usunięty:

    sygnatura czasowa rekordu + interwał braku odświeżania dla strefy + interwał odświeżania dla strefy

    • Jeśli wartość tej sumy jest większa niż wartość bieżącego czasu serwera, nie są podejmowane żadne czynności i rekord nadal ulega przedawnianiu w strefie.

    • Jeśli wartość tej sumy jest mniejsza niż wartość bieżącego czasu serwera, rekord jest usuwany z wszelkich danych strefy załadowanych obecnie do pamięci serwera, jak również z odpowiedniego magazynu obiektów DnsZone w Usługach domenowych w usłudze Active Directory (AD DS, Active Directory Domain Services) dla zintegrowanej z usługą Active Directory strefy „example.microsoft.com”.


Spis treści