Teoria 2.doc

(57 KB) Pobierz
DNS

DNS

Jest to skrót nazwy Domain Name System. Skrót DNS można swobodnie przetłumaczyć jako system nazw domen.Czym jest DNS i jaka była przyczyna jego powstania? Odpowiedź na drugą część tego pytania jest trywialna, adresy IP zapisywane nawet jako ciąg liczb dziesiętnych rozdzielonych kropkami, są trudne do zapamiętania dla człowieka, pozatym mogą szybko się deaktualizować ( co do oczekiwanej zawartości ). Weźmy przykład: mamy serwer www, na którym jest umieszczona strona pokazująca bierzącą pogodę. Adres serwera to 81.219.18.4, adres ten może stać się nie aktualny ( pod tym adresem po pewnym czasie może znajdować się nie serwer www lecz serwer poczty ) bo właściciel postanowił przenieść serwer www na inny komputer o jak się łatwo domyślić odmiennym adresie IP.
Pomocne mogłoby się okazac zapisywanie adresu "mnemonicznie" za pomocą ciągów znaków ASCII. Rozwiązanie to jest wygodne dla człowieka ( łatwość w zapamiętywaniu słów ) pozwala na stosowanie tego samego "adresu ASCII" a zmianę właściwego adresu IP.Jednak to rozwiązanie jest kłopotliwe dla sprzętu, który interpretuje adresy w postaci liczbowej. I tutaj powoli pojawia się odpowiedź na pierwszą część postawionego wcześniej pytania, DNS jest mechanizmem dokonującym konwersji nazw ( "adresów ASCII" ) na stoowne adresy IP.
Serwery DNS po ptrzymaniu zapytania próbują zamienić adres domenowy ( np.: sekal.ics.p.lodz.pl ) na adres IP ( 212.51.220.245 ). Gdy serwer nie może odwzorować nazwy domeny, zwraca odwołanie do kolejnego serwera DNS. Cała procedura przekazywania zapytania między serwerami DNS może być powtarzana aż, do osiągnięcia limitu czasu. W takim przypadku pod wyjściowy adres IP zostanie zwrócony komunikat o błędzie. Odwołania do kolejnych serwerów DNS są generowane za pomocą cyklu zapytań iteracyjnych, klient DNS zaś posługuje się zapytaniami rekurencyjnymi.
 

Hierarchiczna struktura systemu DNS

Zestaw domen tworzy pewna hierarchię, jest to graf skierowany, dla pewnego uproszczenia możemy przyjąć, że struktura DNS to drzewo, którego korzeniem jest domena najwyższego poziomu. Domeny takie ( np.: com, edu, org ) są nazywane Uniwersum Nazewniczym ( Naming Universe ), gdyż zawierają wszystkie im podporządkowane domeny drugiego poziomu ( tzw.: Second level domain ), które rejestruje się aby obejmowały pewien zakres domen podrzędnych lub domen końcowych ( Endpoint domain ). Opisaną wyżej hierarchiczną strukturę można wyobrazić sobie następująco:

                       U                    
   / | \
  J  J  J
 /|  |  |\
E E  E  E E
gdzie:
U - Uniwersum nazewnicze
J - Poddomeny
E - Domeny końcowe


Domeny najwyższego poziomu - można powiedzieć, że cały internet został podzielony na ponad 200 różnych domen najwyższego poziomu ( TLD - Top Level Domain ), każda z tych domen stanowi swoisty zbiór hostów. Każda z tych domen dzieli się na poddomeny, które też można dzielić. Stworzono dwie kategorie domen najwyższego poziomu tzw.:
-rodzajowe ( generic )
-narodowe ( countries )
 

Do roku 2000 pierwsza z wymienionych kategorii obejmowała następujących siedem doemn najwyższego poziomu:
- com - ( comercial ) - do zastosowań komercyjnych, firmy etc.
- edu - ( education ) - do zastosowań edukacyjnych, dla uniwerystetów, insytutów naukowych etc.
- gov - ( government ) - do zastosowań rządów krajów ( początkowo rządu USA ), strony kongresu, sejmu etc.
- int - ( institutions ) - stworzona dla instytucji
- mil - ( military ) - dla wojska
- net - ( networking ) - do zastosowań dla dostawców usług internetowych
- org - ( organization ) - dla organizacji pozarządowych, non-profit

Do zestawu tych siedmiu domen dołączyły następujące:
- biz - ( biznes ) - dla biznesu
- info - ( information ) - dla celow informacyjnych
- name - stworzone dla indywidualnych użytkowników
- pro - ( proffesional ) - dla profesjonalistów, popularnych zawodów etc.

- aero - dla przemysłu kosmicznego
- coop - dla współpracy ( kooperacji )
- museum - dla muzealnictwa

Delegacja i zarządzanie domenami - Nazwy domen mogą mieć dwie postaci: absolutna i relatywną. Nazwa absolutna zawsze konczy się kropką w przeciwieństwie do nazwy relatywnej. Niezależnie od swego charakteru każda z domen identyfikuje pewne poddrzewo w drzewie hierarchii przestrzeni nazw. Poporstu identyfikuje węzeł grafu wraz z węzłami będącymi jego potomkami. Wielkość liter w nazwie domeny nie ma znaczenia, nazwy każdego członu domeny mogą liczyć co najwyżej 63 znaki, długość całej nazwy domeny ograniczona jest natomiast do 255 znaków.

Każda domena może zostać umieszczona w drzewie przestrzeni nazw na dwa sposoby na przykład ( rodzajowo ) domena uni.lodz.edu może również zostać umieszczona jako domena narodowa uni.lodz.edu.pl Można skorzytsać z obu możliwości ale zazwyczaj pozwalają sobie na to duże firmy lub organizacje.

Aby stworzyć domenę potrzebna jest zgoda zarządzającego domeną macierzystą. Jeżeli sekcja algorytmiczna chciałby być widoczna dla świata jako sekal.ics.p.lodz.pl musiałby wyrazić na to zgodę właściciel domeny ics.p.lodz.pl. Trzeba wiedzieć, że właściciel nowo utworzonej domeny staje się jej zarządcą i może definiować jej poddomeny bez pytania kogokolwiek wyżej w hierarchi nazw o zgodę.

Rodzaje zapytań DNS

Wyróżniamy dwa rodzaje zapytań DNS: rekurencyjne i iteracyjne.
Rekurencyjne zapytanie - zmusza serwer aby albo zwrócił poszukiwaną informację albo zwrócił powiadomienie o błędzie.
Iteracyjne zapytanie - zapytanie to nie wymaga od serwera DNs, łączenia sie z innymi serwerami DNS lecz podania akurat najlepszej dostępnej dla niego odpowiedzi. Zapytania wysyłane pomiędzy serwerami DNS są iteracyjne. Weźmy przykład wiarygodny ( autorytarny ) serwer domeny pl nie musi znać adresu komputera www.ics.p.lodz.pl ale jako odpowiedź zwróci adresy autorytarnych serwerów domeny lodz.pl.

Rekordy DNS

Rekord Zasobów (RR) - pierwsze pole rekordu DNS zawiera nazwę stacji albo adres IP. Jeśli jest ich brak stosowana jest nazwa z poprzedniego rekordu. Drugie pole określa typ adresu. W obecnych bazach DNS najczęściej jest to wartość "IN", wskazująca adres internetowy. Pole to jednak występuje wyłącznie w celach historycznych i ma za zadanie powodować zgodność ze starszymi systemami.

Rekord SOA ( Start of Authority ) pozwala zidentyfikować serwer jako najlepsze źródło danych dotyczących danej domeny. W nim również umieszczany jest adres e-mail opiekuna strefy, identyfikator wersji pliku bazy danych strefy oraz wartości określające częstotliwość aktualizacji danych. Rekord SOA składa się więc z numeru seryjnego, pola odświeżenie, pola ponawianie, pola wygasanie oraz polu zawierającego czas TTL:
- Numer seryjny - wartość numeru seryjnego ( serial number ) identyfikuje aktywną wersję bazy danych DNS. Po uaktualnieniu bazy musi wzrosnąć, informując serwery pomocnicze o nowej wersji danych.
- Odświeżanie - ( refresh ) oznacza częstotliwość sprawdzania przez serwery pomocnicze uaktualnionych informacji (10800 sekund = 3 godziny ).
- Ponawianie - jeżeli serwer pomocniczy nie może nawiązać łączności z serwerem podstawowym, ponawia próbę ustanowienia połączenia w odstępach okreśonych iterwałem ponawiania (retry).
- Wygasanie - jeśli pomocniczy serwer nazw nie może skontaktować się z podstawowym przed upływem czasy wygasania (expire), przestaje odpowiadać na pytania DNS dotyczące domeny. Idea przyświecająca takiemu działaniu jest następująca: w pewnym momencie dane są tak stare, że stają się potencjalnie szkodliwe. Brak odpowiedzi jest lepszy od złej odpowiedzi ( 604800 sekund = 1 tydzień ).
- Czas TTL - czas życia - określa termin ważności informacji w rekordzie. Dla informacji zawsze aktualnych pole to zawiera dużą wartość, zwykle 86400 ( jedna doba w sekundach ).

Rekord adresu - ( A, Address ) zawiera adres IP kojarzony z nazwą stacji, znajdującą się w pierwszym polu rekordu.

Rekord serwera nazw - ( NS , Name Serwer ) zawiera adres serwera nazw dla domeny. W typowych konfiguracjach informacje o danej domenie przechowują dwa różne serwery, którym odpowiadają dwa różne rekordy.

Rekord nazwy kanonicznej - (CNAME , Canonikal Name ) zawiera nazwę alternatywną (alias ), kojarzoną z nazwą stacji, znajdującą się w pierwszym polu rekordu. Jednemu komputerowi można przypisywać jeden rekord A i wiele rekordów CNAME, należy jednak robić to ostrożnie. Część oprogramowania pocztowego w odpowiedzi na żądanie zmiany nazwy stacji z rekordu MX, odwołującego się do rekordu CNAME zamiast do rekordu A, wykonuje działania nieprzewidywalne.

Rekord wskaźnika - ( PTR, Pointer ) mapuje adres IP do nazwy stacji w domenie wyszukiwania odwrotnego DNS ( in-addr.arpa). Jego pola zawierają adres IP oraz przypisaną mu nazwę stacji. Nazwa musi być w pełni kwalifikowana. Wiele ośrodków internetowych odmawia dostępu komputerom, dla których nie zostały zdefiniowane zgodne rekordy A i PTR ( to jeden ze środków bezpieczeństwa sieci ), warto więc dbać o ich synchronizację.

Rekord informacji o wyposażeniu ( HINFO ) - dostarcza informacji o platformie sprzętowej i systemie operacyjnym stacji

Rekord sieci ISDN - rekord sieci cyfrowych z integracją usług, mapuje nazwę stacji do adresu ISDN.

Rekord skrzynki pocztowej (MB) - identyfikuje skrzynkę poczty elektronicznej właściwą dla opisywanej stacji. Jest to rekord eksperymentalny.

Rekord grupy pocztowej (MG) - - identyfikuje skrzynkę poczty elektronicznej należącą do listy wysyłkowej opisywanej domeny DNS. Jest to rekord eksperymentalny.

Rekord danych obsługi poczty (MINFO) - dostarcza informacji o liście wysyłkowej lub skrzynce poczty elektronicznej

Rekord zmiany adresu pocztowego (MR) - pozwala zmienić nazwę skrzynki poczty elektronicznej. Zawiera nazwę nowej skrzynki. Jego zastosowanie to zapewnianie obsługi poczty w przypadkach gdy skrzynka została przeniesiona do innej stacji. Jest to rekord eksperymentalny.

Rekord przekaźnika poczty (MX) - wskazuje serwer poczty dla określonej domeny DNS lub stacji.

Rekord osoby odpowiedzialnej (RP) - służy do identyfikacji osoby odpowiedzialnej za urządzenie opisywane daną nazwą DNS.

Rekord stacji pośredniczącej (RT) - identyfikuje stację, która przekazuje pakiety do stacji docelowej, nie dysponującej łacznościa bezpośrednią.

Rekord tekstowy (TXT) - obejmuje ciąg liczacy nie wiecej jak 255 dowolnych znaków.

Strefy zwykłe i odwrotne

Serwer nazw ma zazwyczaj informacje o pewnej części przestrzeni nazw, to właśnie tą część nazywamy strefą.W momencie kiedy znamy adres IP komputera a chcemy uzyskac jego nazwe kanoniczna, musimy posluzyc sie tzw. odwzorowaniem odwrotnym. W początkowym etapie odbywa sie ono w oparciu o plik /etc/hosts i polega na przeszukaniu pliku. Jezeli wynik tego poszukiwania okarze sie negatywny wtedy zaczyna sie problem, gdyz nie jest mozliwe przeszukiwanie kolejnych serverow DNS ze wzgledu na posiadany adres. W celu umozliwienia takiej operacji stworzono specjalna domene in-addr.arpa zawierajaca adresy IP wszystkich hostów zapisane w odwrotnej notacji kropkowej. I tak adresowi 127.0.0.1 odpowiada nazwa 1.0.0.127.in-addr.arpa. Tego typu nazwy sa laczone z nazwami kanonicznymi odpowiednich hostów za pomoca rekordu typu PTR.

Rodzaje serwerów DNS

 

 

ROOT SERVER - Zna wszystkie domeny najwyższego poziomu (TLD) w sieci Internet. Informacja o hostach jest zbierana z tych domen. Na przykład ROOT SERVER nie zna w ogóle lokalnej poddomeny ics.p.lodz.pl. Jednak poprzez przeprowadzenie zapytania dla komputera z innej strefy (name server query) ROOT SERVER może stwierdzić miarodajnie o istnieniu danego hosta w tej poddomenie.

 

MASTER SERVER - Jest "miarodajny" dla całego obszaru bieżšcej domeny, prowadzi bazy danych dla całej strefy. Istnieją dwa rodzaje master serwerów:
- PRIMARY MASTER SERVER
- SECONDARY MASTER SERVER

Może się zdarzyć, że serwer jest zarazem MASTER SERVERem dla kilku domen - dla jednych PRIMARY MASTER SERVERem, dla innych SECONDARY MASTER SERVERem.

CACHING SERVER - Serwer buforujący - Wszystkie serwery (PRIMARY jak i SECONDARY) prowadzą cache'owanie informacji, które otrzymują, dla poprawienia wydajności i szybkości obsługi. Dzieje się tak aż do zdezaktualizowania danych. Wygasanie określone jest w polu ttl, które jest zawsze dołączane do danych dostarczanych serwerowi. Ono właśnie określa czas w jakim informacje są aktualne. CACHING SERVERy nie mają pełnomocnictw dla żadnej strefy, w związku z tym nie zarządzają żadnymi bazami danych. Mogą natomiast odpowiadać poprzez wysyłanie queries (zapytań) do innych serwerów posiadających takie pełnomocnictwa a dane z zapytań są później przechowywane (aż do wyczerpania daty ważności).

FORWARDING SERVER (FORWARDER) - FORWARDERem może być każdy serwer w Internecie. Może nim być również MASTER SERVER (główny lub zapasowy) lub CACHING SERVER. Głównym zadaniem FORWARDERów jest przeprowadzanie rekursywnych zapytań, które nie mogły zostać rozwiązane (resolved) lokalnie. FORWARDER ma pełny dostęp do Internetu, przez co jest w stanie otrzymać każdą informację (nieosiągalną w lokalnych CACHE SERVERach) od ROOT SERVERów. Ponieważ FORWARDERy otrzymują wiele zgłoszeń od SLAVE SERVERów tendencją jest posiadanie przez nie większego cache'u lokalnego niż mają SLAVE SERVERy. Dzięki takiemu rozwiązaniu wszystkie hosty w domenie korzystają z tego większego cache'u, co powoduje zredukowanie całkowitej liczby zgłoszeń i przesyłania ich poza Internet do ROOT SERVERów. Oczywiście zmniejsza to stan obciążenia sieci i komputerów.

SLAVE SERVER - Ponieważ nie posiada bezpośredniego dostępu do Internetu, w związku z tym nie może bezpośrednio kontaktować się z np. ROOT SERVERami by uzyskać niedostępną w lokalnym systemie. Zamiast tego, SLAVE SERVER wysyła zapytania (queries) do wszystkich FORWARDerów wyszczególnionych w swoim pliku konfiguracyjnym. Wysyłane one są aż do otrzymania informacji, lub wyczerpania listy FORWARDEDRów. W miarę jak SLAVE SERVERy żądają nowych informacji do FORWARDERów, te przechowują je we własnych cache'ach.

Całkowite i przyrostowe transfery stref - System nazw domen (DNS) umożliwia podział obszaru nazw DNS na strefy, w których są przechowywane informacje o nazwach jednej lub kilku domen DNS. Dla każdej nazwy domeny DNS zawartej w strefie strefa staje się autorytatywnym źródłem informacji o tej domenie.
Ze względu na ważną rolę, jaką strefy odgrywają w systemie DNS, pożądane jest, aby były dostępne z kilku serwerów DNS w sieci. Takie rozwiązanie zapewnia dostępność i odporność na uszkodzenia przy rozwiązywaniu kwerend o nazwy. W przeciwnym razie, jeśli jest używany jeden serwer, który przestanie odpowiadać, kwerendy o nazwy zawarte w tej strefie mogą zakończyć się niepowodzeniem. Aby strefę mogły obsługiwać dodatkowe serwery, niezbędne są transfery strefy, które pozwalają replikować i synchronizować wszystkie kopie strefy na każdym serwerze skonfigurowanym do roli hosta strefy.
Serwer dokonujący całkowitego transferu strefy, robi to aby uzyskać i zreplikować kopię pełnego zestawu rekordów zasobów strefy. Dzieje się to w sytuacji gdy podłaczany jest np.: nowy serwer pomocniczy.
Przyrostowe transfery stref są opisane w specyfikacji RFC 1995 - gdy jakas część rekordu strefy zmieni się nie jest wysyłany w celu uaktualnienia innych serwerów DNS caly rekord strefy lecz tylko jego zmieniony fragment.

Serwery autorytatywne i nieutorytatywne - można tłumaczyć to na serwery wiarygodne co do informacji jakie udzielają, i serwery których informacje mogą być zdezaktualizowane.

Działanie (klienta) resolvera DNS

Resolverem nazywamy program, który potrafi wysyłać zapytania do serwera DNS. Gdy system operacyjny potrzebuje określić adres IP ukryty pod daną nazwą domenową, zleca to zadanie resolwerowi. Program ten wysyła zapytanie do serwera DNS na port 53 w pakiecie UDP. Gdy serwer DNS odwzoruje nazwę wysyła pakiet UDP z adresem IP poszukiwanego hosta z portu 53 na port powyżej 1024 ( z tego portu wyszło zapytanie ).

Cały proces poszukiwania adresu IP żądanego hosta:
1) Klient DNS wysyła zapytanie o adres IP www.sekal.ics.p.lodz.pl do serwera DNS
2) Serwer DNS wysyła zapytanie do jednego z głównych serwerów nazw dla internetu ( jest ich 13 - tzw.: root servers ich obowiązkiem jest udostępnianie informacji o adresach IP serwerów zarządzających domenami najwyższego poziomu ).
3) "Root Server" odsyła liste serwerów posiadających informacje dla domeny .pl
4) Serwer DNS wysyła więc zapytanie o host www.sekal.ics.p.lodz.pl do serwera odpowiedzialnego za domenę .pl, zwraca on listę adresów IP serwerów DNS odpowiedzialnych za domenę .lodz.pl
5) Podobna kolejność zdarzeń wysłanie przez serwer DNS zapytania o host i odpowiedź serwera DNS odpowiedzialnego za daną domenę występuję ąz do określenia adresu IP serwera DNS odpowiedzialnego za domenę sekal.ics.p.lodz.pl, który po otrzymaniu zapytania o adres IP host-a zwraca go do naszego "początkowego" serwera DNS.

I dopiero teraz nasz serwer DNS może odesłać dopowiedź resolverowi DNS ( klientowi ). Aby uprościć cały proces odwzorowywania nazw na adresy IP, serwer DNS buforuje raz uzyskane dane ( tzw.: caching ), ze względu na duże prawdopodobieństwo ponownego zapytania o ten adres. Ponadto serwer DNS sprawdza czy nie ma w buforze adresu serwera ics.p.lodz.pl, p.lodz.pl, lodz.pl i dopiero .pl aby cały proces poszukiwań skrócić do minimum. Jednak dane w buforze mogą ulec przedawnieniu, dlatego każda dana przechowywan w buforze musi posiadać pole określające jej czas życia ( TTL - Time To Live ) - po upłynięciu tego czasu dana ta musi zostać usunięta z bufora.

 

Zgłoś jeśli naruszono regulamin