Sieci komputerowe 1 Sieci komputerowe 2 Plan wykładu Domain Name System System Nazw Domen Definicja DNS Wymagania Przestrzeń nazw domen Strefy i ich obsługa Zapytania Właściwości Sieci komputerowe 3 Sieci komputerowe 4 Definicja DNS Po co nazwy? DNS to rozproszona baza danych używana przez aikacje TCP/IP do odwzorowywania nazw hostów na adresy IP i odwrotnie. Rozproszenie polega na tym, że żaden system nie posiada pełnej informacji o odwzorowaniu; informacja ta jest współdzielona pomiędzy niezależne serwery. Adresy IP są dobre dla komputerów Adresy IP są trudne do zapamiętania dla człowieka Adresu IP nie można zgadnąć Jaki jest adres IP firmy CISCO?
Sieci komputerowe 5 Sieci komputerowe 6 Historia Na początku zależności pomiędzy nazwami komputerów a ich numerami IP znajdowały się w pojedynczym iku. Administratorzy wysyłali wprowadzane zmiany emailem i okresowo ściągali zawartość iku. Olbrzymi rozmiar iku Kolizje nazw Obciążenie sieci Opóźnienie w propagowaniu informacji, możliwość posiadania nieaktualnej informacji Wymagania Spójna przestrzeń nazw Unikalne wskazywanie zasobów Rozproszenie odpowiedzialności za tworzenie i kasowanie nazw Rozproszona baza danych Lokalna administracja danych pamięć podręczna polepszająca wydajność Udostępnianie danych globalnie Kompromis pomiędzy aktualnością danych, szybkością odświeżania, kosztem itp. kontroluje źródło danych Sieci komputerowe 7 Sieci komputerowe 8 Wymagania Działanie systemu nie może być ograniczone do jednego rodzaju aikacji wprowadzenie typów (nazwa -> IP, mail) do jednego protokołu wprowadzenie klas Niezależność od systemu komunikacyjnego, który służy do wymiany danych DNS Powstał w 1984 roku Wersja obowiązująca dzisiaj: 1987 Podstawowe komponenty DNS Przestrzeń nazw domen Rekordy zasobów Serwery nazw Resolvery
Sieci komputerowe 9 Sieci komputerowe 10 Domeny górnego poziomu Domeny drugiego poziomu Przestrzeń nazw domen Korzeń bez nazwy arpa com edu gov int net mil org uk zw in-addr noao edu Unikalność nazw Hierarchiczne składanie nazw sprawia, że wystarczy zapewnić unikalność nazw wywodzących się od jednego rodzica znajdujących się na poziomie o 1 niższym. 149 tuc agh 156 sun com edu int mil uk zw Domena 97 10.agh.edu.. Domeny podstawowe Domeny geograficzne.com... Sieci komputerowe 11 Sieci komputerowe 12 Nazwy w DNS.cs.agh.edu.. Każdy węzeł drzewa może mieć etykietę do 63 znaków (A-Z,a-z,0-9,-), w sumie do 255 znaków. Wyjątkiem jest korzeń, który nie ma nazwy (ma nazwę pustą). Nazwy nie rozróżniają wielkości liter. Nazwa zakończona kropką jest nazywana absolutną nazwą domeny lub w pełni określoną nazwą domeny (ang. FQDN) Zakłada się, że nazwa bez końcowej kropki jest względna względem jakiejś domeny (aby stworzyć FQDN musi być uzupełniona) jeśli składa się z jednego członu jest uzupełniana zawsze jeśli składa się z dwóch lub więcej członów może być traktowana jako w pełni określona może ona też być uzupełniona przez dodanie nazwy zależnej od lokalizacji węzła Rekordy zasobów Z każdym węzłem w drzewie nazw mogą być związane dane: zbiór rekordów zasobów Operacja zapytania wskazuje na odpowiedni element oraz opisuje jaki typ zasobu jest wyszukiwany Nazwa domeny TTL Klasa Typ Dane
Sieci komputerowe 13 Sieci komputerowe 14 Skalowalność Obszar całego drzewa DNS jest podzielony na strefy. Strefa jest częścią drzewa DNS, która jest oddzielnie administrowana. może być podzielona na mniejsze obszary następuje wtedy delegacja odpowiedzialności. Delegowanie odpowiedzialności za zarządzanie etykietami sprawia, że rozwiązanie staje się skalowalne. Nigdy pojedyncza jednostka nie zarządza wszystkimi etykietami w drzewie. Odpowiedzialność jest delegowana w dół. Problem wymiany danych między strefami później. Strefy przykład com edu int mil uk zw eu noao tuc sun przez InterNIC edu agh Sieci komputerowe 15 Strefy przykład com edu int mil uk zw eu przez IBM noao tuc sun przez InterNIC pk edu agh przez PK przez AGH przez Polskę Sieci komputerowe 16 Wymiana danych między strefami NIE MA globalnej wymiany danych między strefami korzystanie z DNS polega na wysyłaniu zapytań i otrzymywaniu odpowiedzi Program, który uzyskuje informacje od serwerów DNS to resolver nslookup host W każdej strefie uruchomiony jest serwer DNS, który udziela odpowiedzi na konkretne zapytania. Serwer(y) odpowiedzialne za strefę posiadają wiedzę na temat: adresów hostów ze swojej strefy adresów serwerów do których delegował odpowiedzialność adresów serwerów głównych wiedzą gdzie znajdują się serwery odpowiedzialne za domeny najwyższego poziomu Rekurencyjne i iteracyjne
Sieci komputerowe 17 Sieci komputerowe 18 Zapytania rekurencyjne Zapytania iteracyjne Jaki adres IP ma komputer.agh.edu.? moj.komputer.tpsa. Twój serwer DNS: dns.com. 1 8 2 7 5 10.43.2.1 6 4 1.2.3.4 agh.edu. główny 3 120.3.4.1 Zapytanie Odpowiedź Jaki adres IP ma komputer.agh.edu.? moj.komputer.tpsa. Twój serwer DNS: dns.com. 1 2 8 7 3 4 5 6 1.2.3.4 agh.edu. 10.43.2.1 główny 120.3.4.1 Zapytanie Odpowiedź Sieci komputerowe 19 Sieci komputerowe 20 Jaki adres IP ma komputer.agh.edu.? Rzeczywistość mieszane moj.komputer.tpsa. Twój serwer DNS: dns.com. 1 8 2 3 4 7 6 5 1.2.3.4 agh.edu. 10.43.2.1 główny 120.3.4.1 Rekurencyjne Iteracyjne Pamięć podręczna Wszystkie serwery DNS stosują pamięć podręczną aby zredukować wymianę komunikatów DNS i zwiększyć efektywność działania odpowiedzi autorytatywne pochodzą od serwerów z odpowiedniej domeny odpowiedzi z pamięci podręcznej nie są autorytatywne wraz z odpowiedzią autorytatywną serwer otrzymuje TTL określający jak długo należy przechowywać daną informację w pamięci podręcznej Decyzję podejmuje oprogramowanie klienta Serwer jest konfigurowalny Serwer główny nigdy nie jest rekurencyjny
Sieci komputerowe 21 O co pytamy? Zapytania o adres Najczęściej występujące Jaki jest adres IP urządzenia o nazwie.internic.net.? RRtype = A Sieci komputerowe 22 O co pytamy? Zapytania wskazujące Po podaniu adresu IP dostajemy nazwę DNS: 149.156.98.14 -> x.y.z? Wykorzystywana jest domena in-addr.arpa. 149.156.98.14 -> 14.98.156.149.in-addr.arpa. arpa RR type = PTR in-addr 149 156 Bez oddzielnej gałęzi drzewa DNS należałoby przeszukiwać wszystkie domeny. 98 14 Sieci komputerowe 23 O co pytamy? Inne typy MX serwer poczty dla określonej nazwy maciek@poczta. -> mail.poczta.. NS autorytatywny serwer DNS dla danej domeny CNAME nazwa kanoniczna (alias) HINFO informacje na temat komputera inne Sieci komputerowe 24 Podstawowy i drugoanowy serwer nazw Każda strefa musi zawierać podstawowy serwer nazw i jeden lub więcej drugoanowych serwerów nazw Serwer drugoanowy otrzymuje informacje poprzez transfer strefy (odpytywanie lub pętla zwrotna) podstawowy PLIK: 1.2.2.3 - IPAQ.domena 1.2.2.9 - PC.domena 1.2.2.1 - SUN.domena Transfer strefy Transfer strefy drugoanowe
Sieci komputerowe 25 Sieci komputerowe 26 Serwery podstawowe Czytają swoją konfigurację z ików ik z informacjami o serwerach głównych ik z konfiguracją związaną ze strefą obsługiwaną przez serwer. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 ;. 3600000 IN NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 IN A 128.9.0.107 ; ;... i.t.d.. 3600000 IN NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 ; ; FTP.RS.INTERNIC.NET/domain/named.root ; Plik konfiguracyjny dla serwera BIND FQDN Przykład konfiguracji serwera Serwer podstawowy edu.. IN SOA dns.edu.. hostmaster.edu.. ( Wersja iku 123456 ;serial Minimalny TTL 86400 ;minimum of a day ) edu.. IN NS dns2.edu.. edu.. IN NS dns3.edu.. agh.edu.. IN NS dns.agh.edu.. agh.edu.. IN NS dns2.agh.edu.. dns.edu.. IN A 10.5.32.241 Priorytet Osoba kontaktowa dns.edu.. IN MX 10 dns2.edu.. dns2.edu.. IN A 10.5.32.242 dns3.edu.. IN A 10.5.32.243 243.32.5.10.in-addr.arpa. IN PTR dns3.edu.. 242.32.5.10.in-addr.arpa. IN PTR dns2.edu.. ftp.edu.. IN CNAME dns.edu.. Serwery drugoanowe Rekord wymiany poczty Rekord prosty Rekord wskazujący Nazwa kanoniczna Ustawienia domeny Delegacja odpowiedzialności na podstrefę Sieci komputerowe 27 Sieci komputerowe 28 UDP i TCP DNS obsługuje zarówno UDP jak i TCP. Dobrze znany port UDP i TCP nr 53 UDP stosowane jest najczęściej TCP wykorzystywane jest jeśli odpowiedź od serwera nazw przekracza 512 bajtów jest to wielkość pakietu UDP jaki musi być w stanie odebrać każdy host jeśli odpowiedź UDP zawiera informację o tym, że ilość informacji została obcięta do wymaganych 512 bajtów to resolver ponawia zapytanie po TCP TCP jest używane do transmisji stref przy stosowaniu UDP programy muszą same obsługiwać czasy oczekiwania i retransmisje Dokumentacja RFC 1034 RFC 1035 http://.isc.org/products/bind/ DNS and BIND O Reilly