Automatyczne uaktualnianie bazy danych DNS

DNS (Domain Name Service) jest usługą nazewnictwa internetowego. Odwzorowuje nazwy hostów na przydzielone im adresy IP, pozwalając użytkownikom lokalizować ośrodki webowe i serwery pocztowe. Bazy danych DNS tradycyjnie uaktualniane są przez administratorów ręcznie.

DNS (Domain Name Service) jest usługą nazewnictwa internetowego. Odwzorowuje nazwy hostów na przydzielone im adresy IP, pozwalając użytkownikom lokalizować ośrodki webowe i serwery pocztowe. Bazy danych DNS tradycyjnie uaktualniane są przez administratorów ręcznie.

Opracowany przez Microsoft i zaakceptowany przez IETF protokół DHCP (Dynamic Host Configuration Protocol) pozwala automatyzować przydzielanie adresów IP w sieci. Jednak DHCP może przydzielać hostowi jedynie adres tymczasowy. W ten sposób adres mogą uzyskiwać setki lub tysiące komputerów ośrodka. W rezultacie liczba i częstotliwość zmian adresów IP czyni ręczne administrowanie DNS niepraktycznym.

Aby rozwiązać ten problem, IETF rozszerzyła DNS w celu przystosowania go do dynamicznych środowisk sieciowych. IETF zaprojektowała specyfikację określaną jako Dynamic DNS, która jest standardowym mechanizmem dla zarządzania tożsamością dynamicznych sieci tworzonych przez DHCP. DDNS jest specyfikacją obejmującą 3 powiązane rozszerzenia protokołu DNS: Dynamic Update, Notify oraz Incremental Zone Transfer (IXFR). Te 3 rozszerzenia protokołowe DDNS są ze sobą ściśle powiązane.

Ułatwienie administrowania

Dynamic DNS

Dynamic DNS

Serwery nazw, zazwyczaj implementowane przez oprogramowanie, zapewniają informacje DNS dla komputerów w sieci. Informacja ta jest dzielona na jednostki administracyjne zwane strefami (zones).

Zanim pojawił się DDNS, administratorzy sieci administrowali danymi strefowymi, edytując zazwyczaj pliki tekstowe, zwane plikami danych strefowych. W celu dodania informacji o nowych hostach, administrator dodaje rekord A (adres) do nazwy hosta, specyfikujący jego adres IP, oraz rekord PTR (odniesienia) do adresu IP hosta, specyfikując nazwę hosta związaną z tym adresem.

Dynamic Update jest podstawową operacją DDNS pozwalającą oprogramowaniu, takiemu jak klient lub serwer DHCP, wysyłać specjalną wiadomość do serwera nazw, aby uaktualnić dane strefowe. Serwer DHCP może wysłać np. wiadomość uaktualniającą do pierwotnego serwera nazw strefy, żądając dopisania rekordu dla tej strefy w celu przydzielenia nazwie klienta DHCP nowego, wydanego przez DHCP adresu IP. Serwer DHCP może wysłać kolejną wiadomość uaktualniająca do pierwotnego serwera nazw dla zwrotnego odwzorowania - dodania rekordu PTR dla klienta DHCP.

Dynamicznie uaktualniana strefa może zmieniać się dużo szybciej niż strefa uaktualniana ręcznie przez administratora, edytującego ręcznie pliki danych strefy. Niestety, DNS tradycyjnie używa mechanizmu, który raportuje te zmiany w interwałach 15-minutowych. Może to być wieczność w skali dynamicznego uaktualniania.

Notify pozwala serwerowi pierwotnemu strefy powiadomić serwery wtórne nazw o tym, że zawartość strefy uległa zmianie. Serwer nazw wysyła komunikat do wtórnych serwerów nazw strefy, powiadamiając: Nowy numer seryjny dla site.com to 10. Wtórne serwery nazw odbierające ten komunikat sprawdzają, czy zmiany dotyczą ich strefy i żądają jej transferu. Pozwala to na szybką konwergencję wszystkich serwerów nazw strefy.

Serwer nazw określa inne serwery nazw, które należy powiadomić, przeszukując rekordy serwerów nazw dla strefy, która uległa zmianie (rekordy serwerów nazw tworzą listę zestawu pierwotnych i wtórnych serwerów nazw dla strefy). Rodzi to nowy problem - dużo większą częstotliwość transferu strefy przez serwery wtórne. Ponieważ transfer strefy pociąga za sobą wysłanie kompletnego zestawu, marnotrawstwo pasma zachodzi nawet wówczas, gdy wydarzy się jedna czy kilka zmian.

W celu poprawienia efektywności takich transferów strefy IETF zaprojektował IXFR, który pozwala wtórnemu serwerowi nazw żądać jedynie różnic pomiędzy wersją danych, jakie strefa ma, a wersją bieżącą. Wtórny serwer może wydać komunikat: Mam numer seryjny 10 strefy site.com. Proszę przysłać zmiany niezbędne do uaktualnienia moich danych. Pierwotny serwer nazw sprawdza dziennik w celu określenia, które zmiany odpowiadają której wersji strefy, następnie wysyła rekord tych zmian - serię uzupełnień lub usunięć - do wtórnego.