1. Wiadomości wstępne


1.1. Co to jest DNS i dlaczego się go stosuje

Skrót DNS pochodzi z angielskiego Domain Name Service, bądź też Domain Name Servers i nie będę próbował go tłumaczyć, łatwiej bowiem posłużyć się skrótem, niż złym tłumaczeniem. Część z pojęć zostanie poddana tłumaczeniu na język polski w tekście, jednak towarzyszyć im będą nazwy oryginalne - szczególnie w przypadkach, gdy nie stosuje się polskich odpowiedników. Ponieważ tłumaczenia zawsze zostawiają możliwości interpretacji i wyboru słów, w tekście mogą pojawić się różne pojęcia oznaczające ten sam termin angielski.

DNS stosuje się dla wygody i zmyślą o użytkownikach rozległych sieci komputerowych a w szczególności (w obecnej dobie jej popularności) sieci Internet. Prawdopodobnie z myślą o tak dynamicznym (by nie powiedzieć agresywnym) rozwoju sieci komputerowych (np. Internetu) myślano o posłużeniu się takim rodzajem usług komputerowych.

W tym opracowaniu postaram się wytłumaczyć dlaczego stosuje się DNS, co się na niego składa i podam szczegóły techniczne dotyczące rozwiązań obecnie stosowanych w DNS.

1.2. Nazwy i adresy w sieci komputerowej

Wyobraźmy sobie środowisko sieciowe, w którym mogą znajdować się różne typy obiektów (oczywiście może być ich wiele z każdego rodzaju). Niech będą to przykładowo:

Użytkownicy sieci będą na pewno chcielikorzystać z tych wszystkich (lub części) urządzeń w środowisku sieciowym. Aby jednak z nich skorzystać każdemu z nich musimy przyznać adres sieciowy, zarezerwowany tylko dla tego obiektu. Najprościej jest to zrobić przy użyciu adresów cyfrowych (łatwo "przyswajanych" przez komputer).

I tu pojawia się pierwszy złożony problem. Taki adres:

Z punktu widzenia zwykłego użytkownika najbardziej niewygodnym jest trudność w zapamiętaniu adresu, ponieważ trzeba użyć odpowiednio dużej liczby do opisania wszystkich obiektów w sieci.

1.3. Nazwy obiektów a ich adresy

Aby jakoś sobie poradzić trzeba by rozwiązać po kolei wszystkie wyżej wymienione problemy jakie stawia adresowanie obiektów w sieci komputerowej.

Każdy użytkownik wolałby używać zamiast adresu (długiego ciągu cyfr) czegoś bardziej naturalnego - nazwy. Jakie byłyby dobre strony używania nazw dla obiektów w sieci komputerowej:

Przykład:

	Obiekt:		host (komputer) rozsyłający pocztę (mail relay host)
	Adres:		131.130.17.5
	Nazwa:		MAIL-RELAY

Tylko teraz należy postawić pytanie: jak połączyć (skojarzyć) adresy sieciowe i nazwy?

I właśnie do tego służy DNS - jest "klejem" łączącym adresy sieciowe z obiektami (komputerami/host'ami) z nazwami jakimi się posługują wszyscy użytkownicy.

1.4. Sytuacja panująca w Internecie

Nikt początkowo nie zakładał tak gwałtownego rozwoju Internetu w momencie gdy on powstawał (a przecież na początku był to wojskowy eksperyment). Dziś Internet jest największą ogólnoświatową siecią komputerową. Liczbę użytkowników szacuje się na kilkanaście milionów na całym świecie.

Początek Internetu datuje się na rok 1969, kiedy to projekt ARPA (Advanced Research Project Agency) został wprowadzony w życie. Rozwój liczby komputerów podłączonych do Internetu można prześledzić na Tabeli 1.
Rozwój rozpoczęto od zbudowania 15 węzłów i połączenia 23 komputerów. Z końcem marca 1996 w samej Europie jest już 2.5 miliona komputerów w sieci Internet.

Tabela 1.
Liczba hostów w Europie
DataLiczba hostówDataLiczba hostówDataLiczba hostów
197123Luty 19862,000Wrzesień 1991617,000
197462Listopad 19865,00019921,000,000
1982235198720,00019932,000,000
19835001989100,00019943,000,000
19841000Styczeń 1991376,00019954,000,000

Praktyczną koordynacją całej sieci Internet zajmują się dwie organizacje:

Lokalne sieci są administrowane przez lokalne organizacje i lokalnych administratorów.

Adres głównej domeny sieciowej jest przyznawany przez GSI lub RIPE lub też lokalnych rejestratorów (local registers), natomiast adresy sieciowe poszczególnych komputerów wpiętych do sieci (lub podsieci lokalnych) ustalane są przez administratorów (po uprzednim sprawdzeniu, czy taki numer nie jest już zajęty przez inny host). Nazwy host'ów ustala się lokalnie.

Przykład:
Nowy host (komputer - wyrażenia mogą być stosowane zamiennie) musi otrzymać poprawną nazwę w obrębie domeny, lecz nie jest konieczne informowanie o tym fakcie GSI lub innych organizacji (a nawet innych administratorów lokalnych).
Jednakże, by mieć dostęp do nowego host'a z zewnątrz (innych sieci) informacja na temat jego istnienia musi być ogólnodostępna w Internecie.

1.5. łączenie nazw z adresami host'ów

Skoro już wiemy, że adresom komputerów musimy skojarzyć nazwy, które użytkownicy mogliby łatwo pamiętać, czas się uporać z przedstawieniem rozwiązania, które byłoby najbardziej optymalne.

Potrzebny jest system dystrybucji nazw skojarzonych z adresami.

Przykład:
Został zainstalowany nowy komputer, nadano mu adres i nazwę. Ten nowy host powinien być widziany z każdego miejsca w Internecie. Host jest znany tylko z nazwy., ponieważ wszyscy użytkownicy wolą stosować nazwy a nie adresy sieciowe.

Pytania:

  1. W jaki sposób można się z tym host'em skontaktować i gdzie powinna być przechowywana informacja o tym, z jakim adresem sieciowym należy nawiązać połączenie?
  2. Jeżeli host zmieni adres (np. z przyczyn technicznych), jak w takim razie inni użytkownicy Internetu będą się mogli o tym dowiedzieć?


Rozwiązanie pierwsze:

Informacja na temat adresów komputerów i ich nazw, jakimi się będą posługiwać użytkownicy będzie przechowywana w specjalnym pliku "hosts", którego zawartość będą stanowić dwa pola:

nazwa_host'a adres_Internet'owy

Dla uzyskania połączenia program będzie wyszukiwał nazwę host'a w pliku "hosts" i zamieniał go na adres i szukał już adresu sieciowego, aż do uzyskania połączenia.

Przykład:

	riad.usk.pk.edu.pl		149.156.132.152

Należy teraz sobie wyobrazić sytuację taką, iż każdy host powinien móc się skontaktować z każdym innym znajdującym się Internecie. Czyli każdy host potrzebuje pliku "hosts" zawierającego adresy i nazwy wszystkich innych komputerów w sieci.
NIE JEST TO WYKONALNE!

Przykład:
Administrator sieci lokalnej chce zmienić adres jednego z host'ów lub też chce dodać nowy komputer do sieci.
Wszystkie pliki "hosts" w komputerach w Internecie muszą być zmienione! Dla przypomnienia - obecna przybliżona liczba komputerów podłączonych do Internetu w samej Europie - 25000000.

Oczywiście nie byłoby to wykonalne obecnie, w dzisiejszych czasach. Początek historii Internetu był jednak skromny i właśnie podobne rozwiązanie przyjęto na samym jego początku. Mapowanie nazw host'ów na adresy Internetowe (host name mapping) było zarządzane przez specjalną organizację sieciową NIC (Network Information Center) i było zapisywane do pojedynczego pliku HOSTS.TXT, który był później rozsyłany FTP'em do wszystkich host'ów. Ponieważ jednak zmniejszenie przepustowości całej sieci spowodowane transferem nowych wersji plików HOSTS.TXT postępowało w przyroście kwadratowym (nawet przy użyciu wielopoziomowych sesji FTP) obciążenie serwera NIC'u było znaczne. Lawinowy rozwój Internetu pokazał bezzasadność dalszego stosowania tej metody.

Do tego zmieniał się charakter sieci. Pierwotna sieć ARPANET (składająca się z komputerów wielodostępnych) przekształcała się w skomplikowany organizm sieci lokalnych (z np. stacjami roboczymi). Lokalne organizacje i administratorzy musieli czekać na zmianę wpisów do pliku HOSTS.TXT dokonywanych przez NIC. Struktura sieci komplikowała się i wymagała nowej metody na zarządzanie nazwami i adresami.

Rozwiązanie drugie:

Jeżeli ma dojść do komunikacji między dwoma komputerami, program pobiera nazwę host'a i wysyła pytanie do specjalnego serwera (name server) o powiązany z tą nazwą adres sieciowy.

Name server zna adresy wszystkich lokalnych komputerów w zdefiniowanej strefie, jaką obsługuje (sieci lokalnej).

Name server zna adresy innych name server'ów w Internecie.

Jeżeli więc skądś nadchodzi zapytanie (query) o adres komputera po podaniu nazwy tego komputera, name server może:

Potrzebne jest teraz zdefiniowanie struktury hierarchicznej, która mogłaby reprezentować strukturę sieci oraz dokonać podziału na strefy, by każdy z name server'ów mógł odpowiadać tylko za jedną strefę - domenę (domain). W ten sposób informacja na temat obecności komputerów w sieci byłaby ogólnie dostępna a przechowywanie i modyfikowanie informacji nie sprawiałoby kłopotu. Za zmianę i przechowanie nowego adresu w sieci lokalnej odpowiadałby tylko lokalny name server a nie cała sieć. W ten sposób informacje są przechowywane tylko tam, gdzie powinny - lokalnie.

Sposób szukania i odczytywania (resolving) adresu przez name server jest opisany w Rozdziale 2.6.4.

1.6. Cele serwisu DNS

Zatem podstawowe cele postawione w projektowaniu serwisu DNS mają oczywiście wpływ na jego strukturę.

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

Przykład:
Fizycznie, resolver może być ulokowany na tym samym komputerze co name server i mogą dzielić wspólną bazę danych składającą się ze stref zarządzanych przez tenże name server a cache'owanych przez tenże resolver.


poprzedni dokument[ Poprzedni rozdział ] | spis treści[ Spis treści ] | następny dokument[ Następny rozdział ]

Copyright © 1995-1996 Piotr Marek, Jr. pmj@usk.pk.edu.pl
Wykorzystywanie i kopiowanie bez zezwolenia zabronione.