540 likes | 885 Views
DNS (Domain Name System). Domain Name System (DNS ). Domain Name System (DNS) pozwala używać hierarchicznych, przyjaznych dla użytkownika nazw, ułatwiających lokalizację komputerów i innych zasobów sieci IP
E N D
Domain Name System (DNS) • Domain Name System (DNS) pozwala używać hierarchicznych, przyjaznych dla użytkownika nazw, ułatwiających lokalizację komputerów i innych zasobów sieci IP • DNS jest rozproszoną bazą danych, zawierającą odwzorowania nazw domen DNS na dane. Jest to także protokół dla sieci Transmission Control Protocol/Internet Protocol (TCP/IP)
Domain Name System (DNS) (2) • Zanim w Internecie został zaimplementowany DNS, w celu lokalizacji zasobów używany był plik zwany Hosts. • Zarówno plik Hosts jak i DNS używają obszaru nazw. Obszar nazw jest zgrupowaniem, w którym do symbolicznej reprezentacji informacji jednego typu (jak adresy IP) mogą być używane nazwy, oraz w którym określone zostały pewne zasady tworzenia i używania tych nazw. Niektóre obszary nazw, w tym DNS, mają strukturę hierarchiczną i zasady umożliwiające dzielenie obszaru nazw na podsieci nazw, w celu dystrybucji i delegacji części obszaru nazw.
Struktura DNS • System DNS jest oparty na hierarchicznej i logicznej strukturze drzewa, zwanej obszarem nazw domen. Organizacje używając swoich własnych obszarów nazw domen tworzą swoje sieci prywatne, które nie są widoczne z Internetu.
Struktura DNS (2) • Każdy węzeł drzewa DNS reprezentuje nazwę DNS. Przykładami nazw DNS są domeny DNS, komputery i usługi. Domeny DNS mogą zawierać hosty (komputery i usługi) oraz inne domeny (nazywane poddomenami). Każda organizacja jest autorytatywna dla swojej części obszaru nazw domen i jest odpowiedzialna za administrowanie, dzielenie i nazewnictwo domen DNS i komputerów znajdujących się w obrębie swojej części. • Komputery i domeny DNS nazywane są na podstawie położenie w drzewie domen.
Domain Name System (2) • Każdy węzeł w drzewie domen DNS może być zidentyfikowany poprzez pełną nazwę domeny (FQDN, Fully Qualified Domain Name). FQDN jest jednoznaczną nazwą domeny DNS. • Na przykład, nazwa FQDN dla serwera znajdującego się w domenie DNS aon.edu.pl tworzona jest jako chrobry.aon.edu.pl. co jest połączeniem nazwy hosta (chrobry) z podstawowym przedrostkiem DNS (aon.edu.pl ) i kropką kończącą (.). Kropka kończąca jest standardowym separatorem pomiędzy nazwą domeny wysokiego poziomu a pustym ciągiem znaków, odpowiadającym domenie głównej.
Domain Name System (3) • Pełne nazwy domen posiadają ograniczenia, pozwalające na używanie wyłącznie znaków a-z, A-Z, 0-9 i myślnika. Użycie kropki dozwolone jest tylko pomiędzy oznaczeniami nazw domen (np. „ aon.edu.pl ”) oraz na końcu FQDN. Nazwy domen nie rozróżniają wielkich i małych liter.
Zarządzanie domenami • Domena główna (najwyższego poziomu) obszaru nazw domen internetowych zarządzana jest przez rejestratora nazw internetowych, który deleguje odpowiedzialność administracyjną za części obszaru nazw organizacjom podłączającym się do Internetu. • Pod główną domeną DNS znajdują się domeny wysokiego poziomu, również zarządzane przez rejestratora nazw internetowych.
Praktyczną koordynacją całej sieci Internet zajmują się: • GSI (USA) http://www.gsi.net/ • RIPE (Europa) http://www.ripe.net/ • NASK (Polska) http://nask.pl
Typy domen Istnieją trzy typy domen wysokiego poziomu: • Domeny organizacji. Nazywane są z użyciem trzy - znakowego kodu, który wskazuje na podstawową funkcję lub działalność organizacji znajdującej się w danej domenie. • Domeny geograficzne. Nazywane są z użyciem dwu - znakowych kodów kraju bądź regionu, ustanowionych przez International Standards Organization (ISO) 3166. • Domeny wsteczne. Jest to specjalna domena o nazwie in-addr.arpa, która używana jest do odwzorowywania adresów IP na nazwy (zwanego wyszukiwaniem wstecznym).
Elementy DNS • Serwery DNS - komputery, na których działają programy serwerów DNS, zawierające informacje bazy danych DNS o strukturze drzewa domen DNS. Serwery DNS starają się także odpowiadać na zapytania klientów. Zapytany, serwer DNS może dostarczyć żądaną informację, dostarczyć wskaźnik do innego serwera, który może pomóc w znalezieniu zapytania lub odpowiedzieć, że nie posiada takich informacji albo, że informacje nie istnieją.
Elementy DNS (2) • Przelicznik (Resolver), klient DNS - program używający zapytań DNS do pobierania informacji z serwerów. Przeliczniki mogą łączyć się zarówno ze zdalnymi serwerami DNS, jak i z programem serwera działającym na komputerze lokalnym. Przeliczniki są zazwyczaj wbudowane w programy narzędziowe lub są dostępne poprzez funkcje biblioteczne. Przelicznik może działać na każdym komputerze, także na serwerze DNS.
Elementy DNS (3) • Rekordy zasobów - zbiory informacji w bazie danych DNS, które mogą być używane do przetwarzania zapytań klienta. Strefy - sąsiednie części obszaru nazw DNS, za które odpowiedzialny jest serwer. Serwer może być autorytatywny dla jednej lub więcej stref. • Pliki stref - pliki zawierające rekordy zasobów dla stref, dla których dany serwer jest autorytatywny. W większości wdrożeń DNS strefy są tworzone jako pliki tekstowe.
Strefa • Strefa jest częścią obszaru nazw DNS. Każda strefa zakotwiczona jest w konkretnym węźle domeny. Domena DNS to gałąź obszaru nazw, podczas gdy strefa jest częścią obszaru nazw DNS przechowywaną w pliku i może zawierać różne domeny.
Strefa (2) • Strefy mogą być przechowywane na różne sposoby. Na przykład, mogą być przechowywane jako pliki stref. Na serwerach Windows 2000 mogą być także przechowywane w usłudze katalogowej Active Directory. Niektóre serwery pomocnicze przechowują je w pamięci i po każdym uruchomieniu dokonują transferu stref.
Schemat nazwy domeny Uproszczony schemat tworzenia Domain Name: hostname(.subdomain)*.topleveldomain gdzie odpowiednio: - hostname nazwa host'a (komputera) - subdomain poddomena (może ich być kilka) - topleveldomain główna domena
Przykład: gen1.wwl.aon.edu.pl gdzie odpowiednio: - gen1 nazwa konkretnego komputera - wwl domena wydziałowa, - aon domena AON - edu strefa edukacyjna w Polsce - pl domena Polska (topleveldomain)
Serwer nazw (ang. name server) • Serwery nazw są magazynami informacji składających się na bazę danych domeny. Baza danych podzielona jest na sekcje - strefy, które są później dystrybuowane pomiędzy serwerami. • Dane o strefach są osiągalne z kilku name serverów, by zapewnić dostęp do informacji nawet w przypadku awarii komputera lub łączy komunikacyjnych. Wymagane jest, by dane o strefach były umieszczone na conajmniej dwóch serwerach. • Ponieważ name server przechowuje tylko niewielki wycinek drzewa domeny (i dla niej jest "autorytetem"), może również trzymać dane z innych części drzewa zawartą w np. cache'u (są one nieautoryzowane).
Serwer nazw (2) Dla każdej domeny Internetowej potrzebne jest uruchomienie name servera. Dla domen głównych (top level domains) jest to wymóg konieczny, natomiast jest bardzo zalecane uruchamianie name servera w każdej poddomenie (subdomain). Potrzebne są następujące serwery: • ROOT SERVER dla trzymania informacji wszystkich domen głównych • NAME SERVER dla każdej domeny głównej • NAME SERVER dla wszystkich poddomen • NAME SERVER dla każdej domeny odwróconej (reverse domain - .in-addr.arpa)
Typy serwerów nazw Rozróżnia się pięć podstawowych typów name serverów: • ROOT SERVER • MASTER SERVER • CACHING SERVER • FORWARDING SERVER • SLAVE SERVER
ROOT SERVER A.ROOT-SERVERS.NET 198.41.0.4 B.ROOT-SERVERS.NET 128.9.0.107 C.ROOT-SERVERS.NET 192.33.4.12 D.ROOT-SERVERS.NET 128.8.10.90 E.ROOT-SERVERS.NET 192.203.230.10 F.ROOT-SERVERS.NET 192.5.5.241 G.ROOT-SERVERS.NET 192.112.36.4 H.ROOT-SERVERS.NET 128.63.2.53 I.ROOT-SERVERS.NET 192.36.148.17
MASTER SERVER • Jest "miarodajny" dla całego obszaru bieżącej domeny, prowadzi bazy danych dla całej strefy. Istnieją dwa rodzaje MASTER SERVER'ow: • PRIMARY MASTER SERVER • SECONDARY MASTER SERVER
CACHING SERVER Wszystkie serwery (PRIMARY jak i SECONDARY) prowadzą buforowanie informacji, które otrzymują, dla poprawienia wydajności i szybkości obsługi. Dzieje się tak aż do zdezaktualizowania danych. CACHING SERVER-y 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 FORWARDING SERVER (FORWARDER) 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 serwerach).
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 SERVER-ami by uzyskać niedostępną w lokalnym systemie informację.
Round-robin • Serwery DNS używają mechanizmu zwanego round-robin lub dzielenie obciążenia, opisanego w RFC 1794, do dzielenia i rozkładania obciążenia zasobów sieciowych. Round-robin dokonuje rotacji rekordów zasobów hostu (A) zawartych w odpowiedzi na zapytanie, jeśli dla nazwy hosta zostanie znalezionych kilka rekordów zasobów A.
Buforowanie i czas wygasania • informacje zebrane w procesie rekursywnego zapytania mogą być buforowane na określony czas. Czas ten nazywany jest czasem wygasania (TTL, Time To Live) i określony jest w sekundach. Krótszy czas TTL pozwala zapewnić większą spójność danych dotyczących domeny znajdujących się w sieci, gdy są one często zmieniane. Jednocześnie zwiększa to obciążenie serwerów zawierających daną witrynę i generują dodatkowy ruch w Internecie.
Buforowanie i czas wygasania (2) • Po umieszczeniu danych w buforze serwer DNS musi zacząć zmniejszać TTL tak, aby wiedział, kiedy ma usunąć dane z bufora. • Oprócz buforowania pozytywnych odpowiedzi przeliczniki i serwery mogą także buforować odpowiedzi negatywne, czyli informacje, że nie istnieje rekord zasobu poszukiwanej nazwy.
Rekordy zasobów i strefy • Aby rozwiązać nazwę, serwery sięgają do swoich stref (zwanych także plikami bazy danych DNS lub plikami db). Strefy zawierają rekordy zasobów (RR), które wiążą informacje o zasobach z nazwami domen DNS. Na przykład niektóre rekordy zasobów odwzorowują nazwy na adresy IP, a inne na odwrót. • Pewne rekordy zasobów nie tylko zawierają informacje o serwerach w domenie DNS, ale służą także do określania domen podając, które serwery są autorytatywne, dla których stref.
Format rekordów zasobów Rekordy zasobów mają następującą składnię:
Typy rekordów zasobów Do dostarczania danych DNS, dotyczących komputerów w sieciach TCP/IP, używanych jest wiele typów rekordów zasobów. W tej sekcji opisano następujące rekordy zasobów: • SOA • NS • A • PTR • CNAME • MX • SRV
Rekordy zasobów SOA Na początku każdej ze stref znajduje się rekord adresu startowego uwierzytelniania SOA (ang. Start of Authority) Przykład: ; name ttl addr-class entry-type origin person @ IN SOA utah.states.dec.com hes.utah.states.dec.com ( 5987 ; sesrial 3600 ; refresh - co godzinę 300 ; retry co 5 minut 3600000 ; expire co 1000 godzin 86400 ) ; min - ttl wynosi 24 godziny
Rekordy zasobów NS Rekord zasobów serwera nazw (NS, name server), zawiera serwery autorytatywne dla strefy. Takie rekordy wskazują serwer podstawowy i pomocnicze, określone przez rekord SOA, oraz wskazują delegowane serwery stref wl.aon.edu.pl. IN NS chrobry.wl.aon.edu.pl.
Rekordy zasobów A Rekord zasobu adresu hosta (A) odwzorowuje pełną nazwę węzłów domeny na adres IP, co pozwala przelicznikom żądać adresu IP odpowiadającego FQDN. Przykład chrobry IN A 172.16.48.1
Rekordy PTR Wskaźnik do nazwy domeny (Domain Name Pointer - PTR) pozwala na odwoływanie się przez specjalne nazwy do innych lokalizacji w domenie Przykład: Dla sieci o adresie 192.168.192.0 plik 196.168.192.in-addr.arpa. ............ 1 1D IN PTR gw.linux.bogus. 2 1D IN PTR ns.linux.bogus. 3 1D IN PTR donald.linux.bogus. 4 1D IN PTR mail.linux.bogus. 5 1D IN PTR donald.linux.bogus. ………
Rekordy zasobów CNAME Rekord zasobu nazwy kanonicznej (CNAME), tworzy alias (synonim) dla podanej nazwy FQDN. Rekordów CNAME można używać w celu ukrycia szczegółów jej implementacji przed odwiedzającymi ją klientami ftp.wl.aon.edu.pl. IN CNAME srv01.wl.aon.edu.pl.
Rekordy zasobów MX Rekord zasobu wymiany poczty (MX, Mail Exchange) określa serwer poczty dla nazwy domeny DNS. *.wl.aon.edu.pl. IN MX 0 mailserver1.wl.aon.edu.pl. *.wl.aon.edu.pl. IN MX 10 mailserver2.wl.aon.edu.pl. *.wl.aon.edu.pl. IN MX 10 mailserver3.wl.aon.edu.pl.
Rekordy SRV Rekordy SRV są używane do mapowania serwisusieciowego do nazwy domenowej komputera, oferującego tę usługę Np. w strukturze domenowej Windows Server, rekordem lokalizującym kontroler domenyjest rekord zasobówldap. Kiedy stacja robocza loguje się w domenie, odpytuje DNS o rekordy SRV w postaci: _Serwis._Protokół.NazwaDNSDomeny Np.. _ldap._tcp.mojafirma.pl Przykład rekordu SRV: _ldap._tcp.mojafirma.pl SRV 0 0 389 Frodo.mojafirma.pl
Transfer stref Po dokonaniu zmian w strefie na serwerze głównym danej strefy, zmiany te muszą zostać zreplikowane na wszystkie serwery pomocnicze danej strefy, do czego wykorzystywany jest mechanizm o nazwie transfer stref. Oryginalna specyfikacja DNS przewidywała tylko jeden sposób transferu, tzw. pełny transfer stref. Nowe dokumentacje RFC rozważają dodatkowy sposób transferu: transfer przyrostowy.