Składniki DNS (Domain Name System) obejmują różne elementy, które współpracują, aby zapewnić prawidłowe funkcjonowanie systemu rozwiązywania nazw domenowych. DNS jest kluczowy w internecie, ponieważ tłumaczy czytelne dla człowieka nazwy domen na numeryczne adresy IP, które są zrozumiałe dla komputerów. System DNS składa się z kilku istotnych komponentów, które odpowiadają za różne aspekty rozwiązywania nazw, przechowywania danych i zarządzania dostępem do usług.
Serwery nazw DNS to jeden z głównych składników systemu. Serwery te są odpowiedzialne za przechowywanie i udostępnianie informacji o nazwach domen oraz ich powiązanych adresach IP. Istnieje kilka rodzajów serwerów DNS, w tym serwery główne (master), które przechowują oryginalne pliki strefy, oraz serwery podrzędne (slave), które kopie tych plików replikują. Serwery nazw mogą być również klasyfikowane jako autorytatywne (czyli serwery, które odpowiadają na zapytania dla określonych stref domenowych) oraz rekursywne (które wykonują zapytania do innych serwerów, aby uzyskać odpowiedź na zapytania, dla których same nie mają danych).
Rekordy DNS to struktury danych przechowywane na serwerach DNS, które zawierają różne informacje o domenach. Przykładowe rekordy to:
- A (Address) – mapuje nazwę domeny na adres IPv4.
- AAAA – mapuje nazwę domeny na adres IPv6.
- MX (Mail Exchanger) – wskazuje serwery pocztowe odpowiedzialne za odbiór wiadomości e-mail dla danej domeny.
- CNAME (Canonical Name) – tworzy alias dla innej domeny.
- NS (Name Server) – wskazuje, który serwer DNS jest odpowiedzialny za daną strefę.
- PTR (Pointer) – stosowany w odwrotnym rozwiązywaniu nazw, mapuje adres IP na nazwę domeny.
- SOA (Start of Authority) – zawiera informacje o strefie, w tym dane o serwerze głównym i czasach odświeżania.
Pliki strefy to pliki tekstowe zawierające wpisy DNS dla konkretnej strefy domenowej. Zawierają one rekordy DNS, które są odpowiedzialne za rozwiązywanie nazw w danej domenie. Plik strefy zawiera także informacje konfiguracyjne, takie jak rekord SOA, który określa serwer odpowiedzialny za strefę, oraz czas przechowywania danych w pamięci podręcznej. Pliki strefy są kluczowe dla poprawnego działania DNS, ponieważ zawierają szczegóły dotyczące zarządzania i delegacji domen.
Rekursive zapytania DNS to zapytania, które wymagają od serwera DNS zebrania odpowiedzi od innych serwerów, jeśli nie ma wystarczających informacji lokalnie. Serwery DNS, które obsługują rekursywne zapytania, przeprowadzają cały proces rozwiązywania nazw, przesyłając zapytanie od serwera do serwera, aż znajdą odpowiednią odpowiedź.
Caching w systemie DNS jest mechanizmem przechowywania wyników zapytań DNS przez pewien czas, co pozwala na przyspieszenie kolejnych zapytań do tej samej domeny. Dzięki pamięci podręcznej zapytania są szybsze, a obciążenie serwerów DNS mniejsze, ponieważ nie trzeba każdorazowo wykonywać pełnej procedury rozwiązywania nazw.
Podsumowując, składniki DNS obejmują serwery nazw, rekordy DNS, pliki strefy, mechanizm rekurencyjnych zapytań oraz pamięć podręczną. Wszystkie te elementy współdziałają, aby zapewnić szybkie, efektywne i bezpieczne rozwiązywanie nazw w internecie.
Na pojęcie DNS składają się trzy podstawowe elementy:
- DOMAIN NAME SPACE oraz RESOURCE RECORDS, które specyfikują strukturę drzewa przestrzeni nazw i danych związanych z tymi nazwami. Każda gałąź i każdy liść drzewa DNSPACE zawiera pewien zbiór informacji i sposoby (rodzaje zapytań – queries) potrzebne do uzyskania chcianej informacji z całego zbioru. Zapytanie wyszczególnia domenę, która go interesuje, oraz określa rodzaj informacji, jakiej potrzebuje.
- NAME SERVERS są programami, które przechowują informacje o drzewie struktury domeny i zbiorach informacji. Name server może cache’ować jakiś dowolny fragment struktury sieci, ale generalnie Name Sever zawiera kompletną informację na temat fragmentu przestrzeni nazw i wskaźniki do innych name server’ów, które zapewniają informacje dla pozostałych części lub innych domen. Name Server zna całą część domeny, o której ma kompletną informację i mówi się, że jest autorytatywny dla niej (authoritative). Miarodajne (autorytatywne) informacje są organizowane w jednostki zwane dalej strefami (zones).
- RESOLVERS są również programami, które wyciągają informację od name server’ów w celu udzielenia informacji na pytania żądane przez komputery – klientów. Resolver musi mieć dostęp do co najmniej jednego name server’a, by móc odpowiedzieć na pytanie bezpośrednio, lub wymóc żądanie odpytania innych name server’ów. Żaden protokół nie jest potrzebny do komunikacji między programem użytkownika a Resolver’em, ponieważ ten ostatni jest zwykle wywołaniem systemowym dostępnym bezpośrednio z programów.
Te trzy składniki dość dobrze oddają trzy perspektywy systemu domenowego:
- Punkt widzenia użytkownika:
system jest osiągalny jako prosta procedura, lub wywołanie systemowe kierowane do lokalnego resolver’a. Przestrzeń domeny jest prostą strukturą drzewiastą, a użytkownik może żądać informacji na temat dowolnej części tego drzewa - Punkt widzenia resolver’a:
system składa się z nieznanej liczby name server’ów. Każdy z nich zawiera informacje dla jednego lub kilku fragmentów całej struktury domeny, są one widziane jako całość.
Punkt widzenia name server’a:
Domena składa się z oddzielnych zbiorów informacji lokalnych pogrupowanych w strefy. Name server posiada lokalne kopie różnych stref. Musi co jakiś czas je odświeżać z plików oryginalnych przechowywanych lokalnie lub na innych host’ach. Równocześnie musi odpowiadać na pytania zadawane przez resolvery.