Zadania systemu DNS

5/5 - (1 vote)

Zadania systemu DNS (Domain Name System) są kluczowe dla funkcjonowania Internetu, ponieważ umożliwiają prawidłowe kierowanie ruchu sieciowego do odpowiednich zasobów. System DNS pełni rolę tłumacza, przekształcając przyjazne dla użytkownika nazwy domenowe (np. example.com) na numeryczne adresy IP, które są niezbędne do nawiązania połączeń pomiędzy urządzeniami w sieci. Poniżej przedstawiam główne zadania systemu DNS.

Tłumaczenie nazw domenowych na adresy IP to podstawowa funkcja systemu DNS. Kiedy użytkownik wpisuje w przeglądarkę adres strony internetowej, np. example.com, system DNS tłumaczy tę nazwę na odpowiadający jej adres IP (np. 192.0.2.1). Adres IP jest używany do nawiązywania połączenia z odpowiednim serwerem. Dzięki DNS użytkownicy nie muszą zapamiętywać skomplikowanych adresów numerycznych, co ułatwia korzystanie z Internetu.

Rozdzielanie obciążenia w sieci to kolejna ważna rola systemu DNS. DNS może wykorzystywać mechanizmy takie jak load balancing (równoważenie obciążenia), które umożliwiają równomierne rozdzielanie ruchu pomiędzy serwerami. Dzięki temu, gdy jedna domena posiada wiele serwerów, DNS może wskazać na różne adresy IP w zależności od obciążenia lub geograficznej lokalizacji użytkownika. Przykładem może być serwis internetowy, który posiada serwery w różnych częściach świata i kieruje ruch do najbliższego serwera, co zwiększa wydajność i niezawodność usług.

Zarządzanie subdomenami jest kolejnym zadaniem DNS. Pozwala to na tworzenie różnych podstron lub usług pod główną domeną, jak np. blog.example.com, shop.example.com. Każda z tych subdomen może wskazywać na różne serwery lub usługi, umożliwiając organizowanie zasobów w sposób bardziej elastyczny i hierarchiczny. Administratorzy mogą zarządzać różnymi subdomenami niezależnie od siebie, co upraszcza zarządzanie i konfigurację.

Przechowywanie i udostępnianie rekordów DNS to zadanie związane z przechowywaniem informacji o nazwach domenowych w systemie. Rekordy DNS zawierają różne dane, takie jak adresy IP, informacje o serwerach pocztowych (rekordy MX), serwery nazw (NS) oraz inne informacje, które pomagają w prawidłowym funkcjonowaniu sieci. Dzięki rozproszonej strukturze DNS, zapytania o domeny są rozdzielane pomiędzy różne serwery, co zapewnia odporność na awarie i szybkie uzyskiwanie odpowiedzi.

Zarządzanie bezpieczeństwem to zadanie systemu DNS, które jest coraz bardziej istotne w dzisiejszym Internecie. Wprowadzenie takich rozwiązań jak DNSSEC (Domain Name System Security Extensions) pozwala na zapewnienie integralności i autentyczności danych przekazywanych przez DNS. DNSSEC pomaga w zapobieganiu atakom, takim jak DNS spoofing czy cache poisoning, które mogą prowadzić do przekierowania użytkowników na złośliwe strony internetowe.

System DNS pełni zatem wiele istotnych ról, które zapewniają funkcjonalność, wydajność i bezpieczeństwo korzystania z Internetu. Dzięki niemu możliwe jest wygodne i bezpieczne korzystanie z nazw domenowych, zarządzanie ruchem sieciowym, a także organizowanie usług w sieci w sposób elastyczny i efektywny.

Strukturę bazy DNS można porównać do struktury drzewa (wykorzystywanego np. w programowaniu). DNS posiada korzeń, krawędzie i węzły. Ponieważ jest to baza danych – pozwala na wyszukiwanie informacji za pomocą kluczy. Na przykładzie nazwy amazon.com widać wszystkie te elementy. Tak naprawdę ta nazwa ma następującą postać amazon.com. – końcowa kropka jest pomijana ale trzeba pamiętać, że reprezentuje ona korzeń drzewa. Tak jak w programowaniu wymagana jest informacja, gdzie ten korzeń się znajduje, nie jest możliwe automatyczne odnalezienie go. Jeśli odnajdziemy korzeń, wtedy wiadomo, gdzie znaleźć pozostałe elementy. Korzeń drzewa DNS nazywany jest często domeną główną. Każda z jego części reprezentuje domenę lub subdomenę zależnie od punktu widzenia. Aby sprawnie się poruszać między węzłami drzewa, którymi są serwery nazw potrzebne są krawędzie, w przypadku systemu DNS ich funkcję pełnią dane przechowywane w serwerach DNS.

Odwzorowanie nazw na adresy ulega częstym zmianom, więc możliwy jest wzrost kosztów utrzymania poprawnych kopii pełnej listy nazw w każdym ośrodku wraz ze wzrostem liczby ośrodków. Jeśli zamiast tego używa się jednej bazy danych w centralnym ośrodku, to wraz ze wzrostem liczby ośrodków rośnie jej obciążenie i ruch w sieci. Rozwiązaniem tego problemu jest decentralizacja mechanizmu przydzielania nazw przez podzielenie przestrzeni nazw na niezależnie zarządzane części i na rozproszeniu odpowiedzialności za odwzorowywanie nazw na adresy.

Nazwa dziedziny składa się z ciągu nazw cząstkowych, oddzielonych od siebie separatorem.(kropką) Poszczególne człony nazwy reprezentują ośrodki lub grupy wszystkie dla systemu dziedzin nazywają się etykietami. Nazwy dziedzin zapisuje się zaczynając od etykiety lokalnej i kończąc na dziedzinie najwyższego poziomu. Standard dotyczący nazw dziedzin określa abstrakcyjną, hierarchiczną przestrzeń nazw umożliwiającą używania dowolnych etykiet. Jednak większość użytkowników używa hierarchii nazw obowiązującej w systemie nazw dziedzin Internetu, bo jest on elastyczny, można go dopasować do potrzeb wielu organizacji. Umożliwia wybór między hierarchią opartą na lokalizacji geograficznej i na strukturze organizacyjnej. Umożliwia łatwe przyłączenie ich sieci do Internetu bez zmiany hierarchii nazw.

Na głównym poziomie nazwy dziedzin umożliwiają utworzenie dwóch całkowicie odrębnych hierarchii nazw: geograficznej i organizacyjnej. W hierarchii geograficznej zbiór maszyn jest dzielony według krajów. Gdy jakiś kraj chce rejestrować maszyny w systemie nazw dziedzin, władze centralne przydzielają mu dziedzinę na głównym poziomie, której etykietą jest standardowy dwuliterowy kod danego kraju.

Alternatywą jest hierarchia organizacyjna. Gdy jakaś organizacja chce uzyskać nazwę w systemie nazw dziedzin wybiera nazwę dla siebie i prosi o zgodę. Władze centralne rozpatrują zgłoszenie i przydzielają organizacji poddziedzinę w jednej z istniejących dziedzin głównego poziomu. System nazw dziedzin umożliwia używanie wielu hierarchii nazw w obrębie tego samego systemu. Chcąc umożliwić klientom rozróżnianie różnych rodzajów pozycji w hierarchii, z każdą nazwą przechowuje się typ tej nazwy, który wskazuje czy chodzi o:

  • adres maszyny
  • skrzynki pocztowej
  • użytkownika

Klient zadający systemowi pytanie o nazwę musi jednocześnie określić typ tej nazwy Np. gdy program pocztowy pyta DNS o nazwę, to wskazuje jednocześnie, że chodzi o adres komputera zajmującego się wymianą poczty –  program do zdalnej pracy w sieci wskazuje, że chodzi o adres IP komputera. Dana nazwa w systemie nazw dziedzin może mieć wiele różnych znaczeń. Pytając o nazwę klient określa typ obiektu, który go interesuje a serwer udziela odpowiedzi dotyczącej obiektu tego typu. Poza określeniem typu nazw DNS pozwala klientowi na podanie rodziny protokołów. DNS dzieli wszystkie obiekty na klasy, co umożliwia przechowywanie w jednej bazie danych odwzorowań dotyczących wielu różnych zestawów protokołów. Na podstawie składni nazwy nie można określić typu obiektu ani klasy zestawu protokołów. Na podstawie liczby członów nazwy nie da się określić czy chodzi o pojedynczy obiekt czy o dziedzinę. Mechanizm odwzorowywania nazw na adresy składa się z niezależnych współdziałających systemów nazywanych serwerami nazw. Serwer jest programem, który realizuje odwzorowania nazw na adresy IP. Oprogramowanie klienta program odwzorowania nazw korzysta podczas pracy z jednego lub więcej serwerów.

Podstawowe cele postawione przy projektowaniu serwisu DNS mają oczywiście wpływ na jego strukturę.

  • głównym celem jest stworzenie spójnej przestrzeni nazwowej, która posłuży do odwoływania się do zasobów. Aby pozbyć się problemu spowodowanego przez      nieprzemyślane wpisywanie danych, nazwy powinny nie zawierać identyfikatorów sieciowych, adresów, szlaków (routes) lub podobnych informacji, jako części nazwy
  • rozmiar  bazy danych z nazwami i częstość z jaką należy ją uaktualniać sugeruje, by była ona prowadzona w sposób łatwy do dystrybucji (z wykorzystaniem takich udogodnień, jak lokalne cache’owanie). Wszystkie podejścia proponujące trzymanie kompletnych kopii bazy danych są nieprzydatne, jako zbyt  kosztowne i trudne do zorganizowania. Powinny być unikane. Takie same zasady dotyczą struktury przestrzeni nazw, a w szczególności mechanizmów  tworzenia i usuwania nazw.
  • ponieważ  potrzebny jest sposób, w którym konieczne będzie połączenie różnych typów sieci i aplikacji, należy zapewnić możliwość zachowania struktury adresowania dla różnych protokołów sieciowych i sposobów zarządzania zasobami sieciowymi.
  • transakcje  dokonywane przez name server muszą być niezależne od systemów komunikacyjnych, na których się opierają.  Np. jedne z systemów będą chciały diagramów zapytań i odpowiedzi
  • serwis powinien być niezależny sprzętowo do pewnego poziomu – to znaczy uwzględniać możliwości innych typów komputerów i nie wychodzić poza nie, lub organizować je w sposób zapewniający działanie niezależnie od rodzaju komputera.

System domen zapewnia kilka z powyższych postulatów:

  • standardowe  formaty danych źródłowych
  • standardowe  metody zapytań baz danych
  • standardowe metody pozwalające name server’om na odświeżanie danych z obcych name server’ów
image_pdf

Dodaj komentarz