System rozwiązywania nazw DNS

Zdecydowana większość serwerów stron www, pocztowych i innych funkcjonuje w oparciu o protokół IP zatem posiadają swój stały adres IP. System DNS (ang. Domain Name System) został stworzony, ponieważ w pewnym momencie użytkownikom trudno było zapamiętać coraz to więcej adresów w postaci IP.

Zadania DNS

DNS ma za zadanie zamienić nazwę domenową (np. www.speedtest.pl) na adres IP tego serwera, tak aby nie trzeba było wpisywać tego adresu w przeglądarce w postaci IP. Każdy system operacyjny obsługuje kilka sposobów tzw. rozwiązywania nazw domenowych. W pierwszej kolejności system zawsze sięga do swojej pamięci podręcznej (ang. cache), aby sprawdzić czy żądana nazwa nie została wcześniej już rozwiązana. Jeśli nie znajdzie tam odpowiednich wpisów, przegląda swoją własną tablicę hostów. W systemie Windows znajduje się ona w pliku:

\Windows\System32\Drivers\net\etc\hosts

Natomiast w systemach unixowych i linuxowych w pliku:

/etc/hosts

W przypadku dalszego braku odpowiedzi na żądanie rozwiązania nazwy, system sprawdzi, czy w konfiguracji sieci ustawiono przynajmniej jeden adres IP serwera DNS, znajdującego się w Internecie lub w sieci lokalnej. Jeśli tak to do adresu IP serwera DNS wysłane zostanie żądanie rozwiązania nazwy a ewentualna odpowiedź serwera DNS zostanie wykorzystana do dalszej transmisji i dodatkowo zapisana w pamięci podręcznej systemu operacyjnego. W przypadku braku odpowiedzi od serwera DNS, zostanie wyświetlony komunikat o błędzie rozwiązania nazwy.

Awarie DNS

Jednym ze sposobów na uniemożliwienie komunikacji w Internecie jest blokada lub awaria serwerów DNS tak, aby użytkownicy stracili możliwość używania nazw domenowych. Jednak nie jest to zadanie proste, ponieważ należałoby jednocześnie wyłączyć wszystkie serwery DNS. System DNS ma strukturę drzewiastą a każdy serwer DNS ma swoją pamięć podręczną, w której zapisuje wyniki żądań użytkowników analogicznie do tego, jak robi to system operacyjny użytkownika. Serwer DNS nie zawsze musi znać odpowiedź na żądanie użytkownika i w takim przypadku może przesłać to żądanie do serwera DNS wyższego poziomu (i tak dalej). Zatem jeśli wszystkie serwery DNS nie zostałyby jednocześnie wyłączone to istnieje duże prawdopodobieństwo, że zawsze znajdzie się taki, który zna odpowiedź na żądanie użytkownika.