sprawozdanie

Transkrypt

sprawozdanie
Przemysław Rakoczy
DNS – historia i zasada działania
DNS jest to skrót od nazwy Domain Name System (ang. system nazw domen). System ten
odwzorowuje nazwy składające się z ciągu znaków na adresy ip. Przykładowo nazwa „wp.pl.”
odpowiada adresowi 212.77.100.10.
1. Historia DNS
Historia DNS sięga lat 80-tych, jednak aby lepiej zrozumieć przyczynę powstania tego
systemu, należy się cofnąć do lat 70-tych. Wtedy to powstaje sieć ARPANET, protoplasta
dzisiejszego Internetu. Każdy komputer połączony w sieć miał unikatowy adres ip, dzięki któremu
był rozpoznawalny przez inne komputery w sieci. Jednak nazwa składająca się z samych cyfr jest
trudna do zapamiętania przez człowieka. Pierwszym rozwiązaniem tego problemu było stworzenie
pliku „Hosts.txt”. Plik ten odwzorowywał nazwy komputerów na adresy ip. Wraz ze rozrostem
ARPANET pojawiały się coraz większe problemy administrowaniem pliku „Hosts.txt”. Zaczęto
więc szukać lepszego rozwiązania. W 1984 powstaje DNS, którego zasada działania przetrwała do
dnia dzisiejszego.
2. Zasada działania DNS
DNS jest tak naprawdę rozproszoną bazą danych, składającą się z serwerów, tworzących
strukturę drzewiastą. Nazwy mają postać „maszyna.domena.”.
Na samym szczycie hierarchii stoi 13 root serwerów (ang. root-domain), oznaczonych „.”. Niżej są
domeny główne (ang. top-lever), które dzielimy na krajowe (np. „pl”, „ru”) oraz funkcjonalne (np.
„com”, „org”). Następne w hierarchii są domeny niższego poziomu (np. „google.com”, „waw.pl”).
Na samym dole stoją maszyny (subdomeny). Ze względów bezpieczeństwa każdy serwer ma co
najmniej jeden serwer zapasowy.
Rys. 1 Schemat hierarchicznej struktury DNS.
Dane w systemie DNS są udostępniane za pomocą technologii „klient-serwer” tzn. wpisując nazwę
jesteśmy „klientem” i wysyłamy zapytanie do „serwera”, po czym czekamy na odpowiedz.
Zapytania dzielimy na dwa rodzaje: rekurencyjne i iteracyjne.
Zapytania rekurencyjne są wysyłane przez klienta do serwera. Charakteryzują się tym, że serwer
otrzymujący zapytanie rekurencyjne musi zwrócić klientowi adres ip odpowiadający nazwie
otrzymanej w zapytaniu.
Zapytania iteracyjne są wysyłane przez serwery do innych serwerów. Charakteryzują się tym, że
serwer nie musi zwrócić adresu ip nazwy otrzymanej w zapytaniu. Zamiast tego może wysłać
wskazania do serwerów przechowujących informację o domenach znajdujących się o poziom niżej
w hierarchii.
3. Przykładowe zapytanie DNS.
Załóżmy, że chcemy uzyskać adres ip strony o nazwie „xyz.elblag.pl”. Wpisując w
przeglądarce internetowej dany adres wysyłamy zapytanie do lokalnego serwera DNS. Ten wysyła
zapytanie do jednego z trzynastu serwerów root. W odpowiedzi otrzymuje adres serwera
posiadającego informacje o domenie „pl” i wysyła zapytanie do tego właśnie serwera. Maszyna ta
nie zna szukanego przez nas adresu, jednak zna adres serwerów domeny „elblag.pl”. Nasz lokalny
serwer otrzymuje więc w odpowiedzi adres serwerów domeny „elblag.pl” i wysyła zapytanie na
adres otrzymany w odpowiedzi. Serwer „elblag.pl” posiada informacje o adresie strony
„xyz.elblag.pl” i wysyła go naszemu lokalnemu serwerowi DNS. Ten wysyła szukany przez nas
adres ip do naszego komputera, dzięki czemu strona „xyz.elblag.pl” otwiera się w naszej
przeglądarce.
Mechanizm działania systemu DNS został przyspieszony dzięki tzw. „buforowaniu”. Serwery
„zapamiętują” wskazania do innych serwerów. Np. po wpisaniu przez nas w przeglądarce
internetowej strony „pwsz.elblag.pl”, nasz lokalny serwer zapisze wskazania do serwerów domen
„elblag.pl” oraz „pl”. Gdy za jakiś czas wpiszemy w przeglądarce „wp.pl”, lokalny serwer DNS w
pierwszym kroku nie wyśle zapytania do root serwera, tylko do serwera domen „pl”. Informacje o
wskazaniach są zapisywane w pamięci podręcznej. Po upłynięciu tzw. „time to live” dane te są
kasowane z pamięci podręcznej.

Podobne dokumenty