Domain Name System (DNS, pol. system nazw domen) – hierarchiczny rozproszony system nazw, który umożliwia identyfikację usług i zasobów internetowych, pozwalając urządzeniom użytkowników końcowych na korzystanie z usług routingu internetowego i usług łączności w celu dotarcia do tych usług i zasobówDyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 z dnia 14 grudnia 2022 r. w sprawie środków na rzecz wysokiego wspólnego poziomu cyberbezpieczeństwa na terytorium Unii, zmieniająca rozporządzenie (UE) nr 910/2014 i dyrektywę (UE) 2018/1972 oraz uchylająca dyrektywę (UE) 2016/1148 (dyrektywa NIS 2) ()..
Dzięki DNS nazwa mnemoniczna, na przykład pl.wikipedia.org, jest tłumaczona na odpowiadający jej adres IP, pod którym dostępny jest serwer obsługujący tę stronę.
DNS to złożony system komputerowy oraz prawny. Zapewnia z jednej strony rejestrację nazw domen internetowych i ich powiązanie z adresami IP. Z drugiej strony realizuje bieżącą obsługę komputerów odnajdujących adresy IP odpowiadające poszczególnym nazwom. Jest nieodzowny do działania prawie wszystkich usług sieci Internet.
Historia Zanim powstał DNS, odwzorowania nazw komputerów na adresy utrzymywał Network Information Center w jednym pliku o nazwie HOSTS.TXT, który wszystkie komputery w sieci pobierały protokołem FTP. Rozwiązanie to przestało się skalować wraz ze wzrostem ARPANETu i wczesnego internetu. Ruch potrzebny do rozesłania nowej wersji pliku rósł proporcjonalnie do kwadratu liczby hostów, a obciążenie samego komputera NIC było znaczne. Zmieniał się przy tym charakter sieci: wieloosobowe komputery z podziałem czasu ustępowały lokalnym sieciom stacji roboczych, a organizacje, które samodzielnie zarządzały swoimi nazwami i adresami, musiały czekać na wprowadzenie zmiany w HOSTS.TXT przez NIC, zanim stała się ona widoczna dla reszty sieci. Chciały też nadać własnej przestrzeni nazw wewnętrzną strukturę.
Powstało wówczas kilka propozycji zarządzania przestrzenią nazw, różniących się szczegółami, ale zgodnych co do tego, że przestrzeń ta powinna być hierarchiczna, odpowiadać z grubsza strukturze organizacyjnej, a poziomy hierarchii należy rozdzielać kropką. Jedną z nich był opublikowany w sierpniu 1982 roku dokument RFC 819 autorstwa Zaw-Sing Su i Jona Postela, objaśniający samą konwencję zapisu nazw – zastąpienie prostego oznaczenia komputera nazwą złożoną, czytaną od najbardziej szczegółowej części po lewej do korzenia hierarchii po prawej. Projekt oparty na rozproszonej bazie danych opisano w 1983 roku w dokumentach RFC 882 i RFC 883, a po doświadczeniach z kilkoma implementacjami system przyjął postać zawartą w obowiązujących do dziś dokumentach RFC 1034 i RFC 1035 z listopada 1987 roku.
Nazwy domen Rozproszona baza danych DNS jest indeksowana nazwami domen, tworzącymi drzewiastą strukturę hierarchiczną. Węzły drzewa DNS posiadają etykiety tekstowe o długości od 1 do 63 znaków: pusta etykieta o zerowej długości zarezerwowana jest dla węzła głównego. Etykiety węzłów oddzielone kropkami czytane w kierunku od węzła do korzenia drzewa tworzą pełną nazwę domenową (na przykład „pl.wikipedia.org.”Pusty ciąg za kropką to „nazwa” domeny głównej, obejmującej całą przestrzeń nazw DNS; końcową kropkę najczęściej się pomija.).
Domena jest poddrzewem hierarchii nazw, obejmującym zbiór domen (subdomen) o wspólnym sufiksie, nazwanym tak jak węzeł na szczycie (na przykład domena funkcjonalna com.pl grupująca nazwy zakończone .com.pl). Nazwy „hostów” są nazwami domen, do których przypisana jest informacja o konkretnych urządzeniach i zazwyczaj występują w liściach drzewa DNS (czyli nie mają swoich poddomen), ale ogólnie jedna nazwa może opisywać zarówno hosta (na przykład główny serwer WWW organizacji), jak i całą domenę.
Przykładowo, wewnątrz domeny najwyższego poziomu .pl utworzono wiele domen: regionalnych jak „opole.pl”, „dzierzoniow.pl” czy „warmia.pl”, funkcjonalnych jak „com.pl”, „gov.pl” czy „org.pl”, należących do firm, organizacji lub osób prywatnych jak „wikipedia.pl”, „zus.pl”.
Dozwolone znaki Nazwy domen mogą zawierać litery, cyfry i znak „-”. W nazwach niektórych domen można używać znaków narodowych (IDN) takich jak „ą” czy „ż”. Mechanizm ten opisuje standard IDNA2008, ogłoszony w 2010 roku i zastępujący wcześniejszy IDNA2003. Nie wymaga on żadnych zmian w samym DNS, ponieważ nazwa zapisana znakami Unicode jest po stronie aplikacji przekształcana na postać złożoną wyłącznie ze znaków ASCII. W Polsce domeny zawierające znaki diakrytyzowane praktycznie nie występują.
Administracja DNS Za globalną koordynację nazw domen i adresów IP odpowiada ICANN, wykonujący tak zwane funkcje IANA. Nie jest to odrębna instytucja, lecz zestaw zadań administracyjnych, obejmujących między innymi zarządzanie strefą główną DNS. ICANN wykonuje je od 1999 roku, a w latach 2000–2016 robił to na podstawie umowy z amerykańską National Telecommunications and Information Administration. Od 1 października 2016 zadania te realizuje Public Technical Identifiers – spółka niedochodowa zawiązana w sierpniu 2016 roku jako podmiot zależny ICANN, w którym ICANN jest jedynym członkiem. Koordynacja nie polega na przydzielaniu domen poszczególnym chętnym, lecz na wyznaczaniu podmiotów zarządzających domenami najwyższego poziomu (takimi jak „.pl”, „.gov”, „.com”, „.eu”) i zapisywaniu tych delegacji w bazie strefy głównej. Podmiotem, któremu powierzono zarządzanie domeną .pl, jest Naukowa i Akademicka Sieć Komputerowa, rozdzielająca poddomeny w obrębie domeny .pl pomiędzy zainteresowanych. Ci z kolei mogą rozdzielać te domeny pomiędzy poszczególne komputery lub dalej swoim klientom.
Rejestracja nazwy domeny nie jest nabyciem rzeczy ani prawa do niej. Regulamin NASK stanowi, że zawarcie umowy nie oznacza przyznania abonentowi jakichkolwiek praw związanych z nazwą domeny poza tymi, które wynikają wyraźnie z samej umowy, a jej przedmiotem jest usługa utrzymywania nazwy. Umowa zawierana jest na czas nieoznaczony i abonent może ją wypowiedzieć bez zachowania terminów wypowiedzenia, przy czym za wypowiedzenie uznaje się również nieuiszczenie opłaty za kolejny rok utrzymywania nazwy. Po rozwiązaniu umowy nazwa może zostać zarejestrowana przez kogo innego.
Instytucje administrujące DNS na świecie: ICANN-IANA – nadzór ogólny nad nazewnictwem i strukturą domen najwyższego poziomu (TLD – ), na przykład: .pl, .gov, .com VeriSign Global Registry Services – rejestracja i nadzór nad domenami: .net, .com Public Interest Registry – rejestracja i nadzór nad domeną .org Cybersecurity and Infrastructure Security Agency (CISA) – rejestracja i nadzór nad domeną .gov DoD Network Information Center – rejestracja i nadzór nad domeną .mil GoDaddy Registry – rejestracja i nadzór nad domeną .biz SITA – rejestracja i nadzór nad domeną .aero Identity Digital – rejestracja i nadzór nad domeną .info VeriSign Information Services – rejestracja i nadzór nad domeną .name EurID – rejestracja i nadzór nad domeną .eu organizacje wyznaczone dla poszczególnych krajów: rejestracja i nadzór nad domenami „krajowymi”, na przykład NASK w przypadku .pl
Aktualny wykaz podmiotów zarządzających wszystkimi domenami najwyższego poziomu prowadzi IANA w bazie strefy głównej.
Instytucje administrujące DNS w Polsce: NASK – nadzór nad domeną .pl jako całością oraz obsługa rejestrowania domen: .gov.pl (od 1 lipca 2013), .com.pl, .biz.pl, .org.pl, .net.pl oraz części domen lokalnych, na przykład .waw.pl.
Techniczna strona DNS Ogólny zarys Podstawą technicznego systemu DNS jest ogólnoświatowa sieć serwerów przechowujących informacje na temat adresów domen. Każdy wpis zawiera nazwę oraz odpowiadającą jej wartość, najczęściej adres IP. System DNS jest podstawą dla rozwiązywania nazw hostów w Internecie.
DNS to również protokół komunikacyjny opisujący sposób łączenia się klientów z serwerami DNS. Częścią specyfikacji protokołu jest również zestaw zaleceń, jak aktualizować wpisy w bazach domen internetowych. Na świecie jest wiele serwerów DNS, które odpowiadają za obsługę poszczególnych domen internetowych. Domeny mają strukturę drzewiastą, a na jej szczycie znajduje się 13 głównych serwerów (), które są serwerami autorytatywnymi dla strefy głównej i odsyłają pytających do serwerów obsługujących poszczególne domeny najwyższego poziomu ( – ). Listę serwerów głównych wraz z ich adresami IP można pobrać ze strony InterNIC.
Serwery kolejnych poziomów hierarchii z reguły nie znają szukanego adresu, lecz odsyłają pytającego o poziom niżej. Serwery główne wiedzą, które serwery obsługują domenę com, a dopiero te wskazują serwery odpowiedzialne za domenę example.com. Jeżeli wskazany serwer nazw sam należy do delegowanej domeny – na przykład domenę example.com obsługuje dns.example.com – samo jego wskazanie nie wystarczy, ponieważ żeby poznać jego adres, trzeba by zapytać jego samego. W celu uniknięcia takiego zapętlenia serwery domeny nadrzędnej dołączają do odpowiedzi specjalny rekord (tak zwany ), zawierający adres IP wskazanego serwera nazw.
Najważniejsze cechy System DNS posiada następujące cechy: Nie ma jednej centralnej bazy danych adresów IP i nazw. Najważniejszych jest 13 głównych serwerów (klastrów) rozmieszczonych na wielu kontynentach. Serwery DNS przechowują dane tylko wybranych domen. Każda delegowana strefa wymaga istnienia więcej niż jednego serwera, dzięki czemu awaria jednego z nich nie odcina dostępu do nazw. Zaleca się przy tym, by serwery te znajdowały się w odległych od siebie lokalizacjach i były podłączone do sieci różnymi drogami, tak aby ani zanik zasilania, ani awaria pojedynczego łącza nie unieruchomiły ich wszystkich naraz. Wśród serwerów autorytatywnych strefy wyróżnia się te, które są źródłem transferu strefy i na których wprowadza się jej konfigurację, oraz te, które pobierają od nich zawartość strefy. Pierwsze określa się dziś jako , pozostałe jako , a we wcześniejszych dokumentach IETF nosiły one nazwy i . Serwery DNS mogą przechowywać przez pewien czas odpowiedzi z innych serwerów (ang. ), a więc proces zamiany nazw na adresy IP jest często krótszy niż w podanym przykładzie. Na dany adres IP może wskazywać wiele różnych nazw. Czasami pod jedną nazwą może kryć się więcej niż 1 adres IP po to, aby jeśli jeden z nich zawiedzie, inny mógł spełnić jego rolę. Przy zmianie adresu IP komputera pełniącego funkcję serwera WWW nie ma konieczności zmiany adresu internetowego strony, a jedynie poprawy wpisu w serwerze DNS obsługującym domenę. Protokół DNS posługuje się do komunikacji serwer-klient głównie protokołem UDP, serwer pracuje na porcie numer 53, a transfer strefy między serwerami odbywa się protokołem TCP na tym samym porcie.
Główne serwery DNS DNS opiera się na 13 głównych serwerach, zwanych po angielsku , noszących nazwy od a.root-servers.net do m.root-servers.net. Liczba ta ma podłoże historyczne: RFC 1035 ograniczało komunikat DNS przesyłany po UDP do 512 oktetów, a dołożenie kolejnego serwera sprawiłoby, że odpowiedź na zapytanie startowe przekroczyłaby ten rozmiar. Ograniczenie to straciło na znaczeniu, odkąd serwery otrzymały również adresy IPv6, strefę główną podpisano mechanizmem DNSSEC, a rozszerzenie EDNS pozwoliło przesyłać większe komunikaty.
Trzynaście nazw nie oznacza trzynastu maszyn. Operatorzy serwerów głównych udostępniają usługę z wielu niezależnych instancji rozmieszczonych na świecie, wykorzystując rozsyłanie anycastowe, dzięki czemu pytający trafia do instancji najbliższej sieciowo. Pierwszy operator wdrożył tę technikę w 2002 roku, a obecnie za trzynastoma identyfikatorami stoi ponad 1500 instancji. Serwer k.root-servers.net prowadzi organizacja RIPE NCC, również w oparciu o rozproszone węzły anycastowe IPv4 i IPv6, przy czym węzeł może prowadzić każda organizacja, która zgłosi się i spełni wymagania operatora.
Rodzaje zapytań DNS