SK Moduł 9: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 12: | Linia 12: | ||
Bardzo szybko sieć stała się medium wykorzystywanym także i w innych obszarach współpracy poprzez przesyłanie plików i wymianę poczty elektronicznej. | Bardzo szybko sieć stała się medium wykorzystywanym także i w innych obszarach współpracy poprzez przesyłanie plików i wymianę poczty elektronicznej. | ||
Komunikacja między komputerami odbywała się w oparciu o adresy numeryczne, co dość szybko okazało się niewygodne i uciążliwe. | Komunikacja między komputerami odbywała się w oparciu o adresy numeryczne, co dość szybko okazało się niewygodne i uciążliwe. | ||
Zdecydowanie łatwiejszym sposobem operowania adresami przez człowieka jest system nazw symbolicznych, które są łatwiejsze do zapamiętania, a także | Zdecydowanie łatwiejszym sposobem operowania adresami przez człowieka jest system nazw symbolicznych, które są łatwiejsze do zapamiętania, a także o wiele rzadziej ulegają zmianie niż adresy numeryczne. | ||
Pierwotnie system nazw symbolicznych oparty był na pliku HOSTS.TXT, który konserwowany był indywidualnie przez każdy ośrodek. | Pierwotnie system nazw symbolicznych oparty był na pliku HOSTS.TXT, który konserwowany był indywidualnie przez każdy ośrodek. | ||
Bardzo szybko okazało się, że utrzymywanie wielu kopii jednego pliku jest nieefektywne, co doprowadziło do rozpoczęcia w 1973 roku prac nad centralizacją systemu zakończonych w roku 1974. W wyniku konsultacji uzgodniono, że oficjalna kopia pliku HOSTS.TXT będzie utrzymywana i udostępniana przez Stanford Research Instutute (SRI) Network Information Center (NIC). | Bardzo szybko okazało się, że utrzymywanie wielu kopii jednego pliku jest nieefektywne, co doprowadziło do rozpoczęcia w 1973 roku prac nad centralizacją systemu zakończonych w roku 1974. W wyniku konsultacji uzgodniono, że oficjalna kopia pliku HOSTS.TXT będzie utrzymywana i udostępniana przez Stanford Research Instutute (SRI) Network Information Center (NIC). | ||
System ten doskonale zdawał egzamin przez prawie 10 lat, do momentu gdy standardowy zestaw protokołów sieci ARPAnet o nazwie TCP/IP dołączono do systemu operacyjnego BSD UNIX. W wyniku tego bardzo dużo komputerów znajdujących się w sieciach lokalnych wielu organizacji uzyskało dostęp do sieci ARPAnet. | System ten doskonale zdawał egzamin przez prawie 10 lat, do momentu gdy standardowy zestaw protokołów sieci ARPAnet o nazwie TCP/IP dołączono do systemu operacyjnego BSD UNIX. W wyniku tego bardzo dużo komputerów znajdujących się w sieciach lokalnych wielu organizacji uzyskało dostęp do sieci ARPAnet. | ||
Lawinowy przyrost | Lawinowy przyrost hostów w sieci sprawił, że niemożliwe stało się centralne utrzymywanie pliku z nazwami komputerów i powstała konieczność wypracowania innego sposobu zarządzania systemem nazw symbolicznych. | ||
Rezultatem prac rozpoczętych w 1982 roku było opublikowanie do 1983 roku kilku dokumentów RFC (810, 811, 819, 830, 881, 882, 883) definiujących sam system nazw symbolicznych oraz sposób jego implementacji. | Rezultatem prac rozpoczętych w 1982 roku było opublikowanie do 1983 roku kilku dokumentów RFC (810, 811, 819, 830, 881, 882, 883) definiujących sam system nazw symbolicznych oraz sposób jego implementacji. | ||
System ten znany pod nazwą DNS (Domain Name System) wykorzystywany jest do dzisiaj. | System ten znany pod nazwą DNS (Domain Name System) wykorzystywany jest do dzisiaj. | ||
Linia 24: | Linia 24: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd3.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd3.png|thumb|500px]] | ||
|valign="top"|Utrzymywanie pliku HOSTS.TXT w sieci ARPAnet było stosunkowo proste i mało kłopotliwe. Administratorzy wysyłali do NIC wprowadzone przez siebie zmiany i raz na jakiś czas (np. dwa razy w tygodniu) pobierali plik HOSTS | |valign="top"|Utrzymywanie pliku HOSTS.TXT w sieci ARPAnet było stosunkowo proste i mało kłopotliwe. Administratorzy wysyłali do NIC wprowadzone przez siebie zmiany i raz na jakiś czas (np. dwa razy w tygodniu) pobierali plik HOSTS.TXT z NIC. System ten zdawał egzamin dopóki sieć składała się z kilkuset hostów. Wraz ze wzrostem liczby hostów wzrosło obciążenie sieci i serwera związane z dystrybucją pliku. Wystąpiły problemy z utrzymaniem spójności pliku w zakresie unikalności nazw. Ponadto proces przeszukiwania dość dużego pliku przez lokalne komputery stanowił poważne źródło obciążenia. | ||
Przystępując do tworzenia nowego systemu przyjęto szereg założeń, których celem było uniknięcie wszystkich dotychczasowych ograniczeń. | Przystępując do tworzenia nowego systemu przyjęto szereg założeń, których celem było uniknięcie wszystkich dotychczasowych ograniczeń. | ||
Najważniejszą cechą systemu nazw symbolicznych jest niewątpliwie hierarchiczna struktura danych, która pozwala zarówno na decentralizację danych, jak i na decentralizację zarządzania danymi. Zarządzanie danymi odbywa się w miejscu ich powstawania w ściśle określonym zakresie, co w naturalny sposób gwarantuje spójność systemu. W podobny, naturalny sposób osiągnięto wysoki stopień odporności i wydajności systemu wprowadzając dodatkowe mechanizmy powielania i buforowania danych, które w połączeniu z trybem pracy typu klient-serwer czynią system w pełni skalowalny. | Najważniejszą cechą systemu nazw symbolicznych jest niewątpliwie hierarchiczna struktura danych, która pozwala zarówno na decentralizację danych, jak i na decentralizację zarządzania danymi. Zarządzanie danymi odbywa się w miejscu ich powstawania w ściśle określonym zakresie, co w naturalny sposób gwarantuje spójność systemu. W podobny, naturalny sposób osiągnięto wysoki stopień odporności i wydajności systemu wprowadzając dodatkowe mechanizmy powielania i buforowania danych, które w połączeniu z trybem pracy typu klient-serwer czynią system w pełni skalowalny. | ||
Linia 33: | Linia 33: | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd4.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd4.png|thumb|500px]] | ||
|valign="top"|Kluczowym elementem projektu DNS jest hierarchiczna struktura nazw. Wszystkie nazwy są wieloczłonowe i rozpoczynają się od wspólnego korzenia (ang. root), reprezentowanego znakiem „.” (kropki). Poszczególne człony nazwy także oddzielane są od siebie znakiem kropki, np.: | |valign="top"|Kluczowym elementem projektu DNS jest hierarchiczna struktura nazw. Wszystkie nazwy są wieloczłonowe i rozpoczynają się od wspólnego korzenia (ang. root), reprezentowanego znakiem „.” (kropki). Poszczególne człony nazwy także oddzielane są od siebie znakiem kropki, np.: | ||
www.pw.edu.pl. | |||
Nazwę zapisuje się począwszy od ostatniego członu, który najczęściej oznacza nazwę hosta w danej organizacji, w kierunku członów bardziej ogólnych tworzących nazwę domeny tej organizacji. | Nazwę zapisuje się począwszy od ostatniego członu, który najczęściej oznacza nazwę hosta w danej organizacji, w kierunku członów bardziej ogólnych tworzących nazwę domeny tej organizacji. | ||
Przyjęto oznaczać pełną nazwę hosta skrótem FQHN od ang. Full Qualified Host Name i podobnie | Przyjęto oznaczać pełną nazwę hosta skrótem FQHN od ang. Full Qualified Host Name i podobnie pełną nazwę domeny FQDN od ang. Full Qualified Domain Name. | ||
Zgodnie z pierwotną specyfikacją poszczególne człony nazwy powinny spełniać następujące warunki: | Zgodnie z pierwotną specyfikacją poszczególne człony nazwy powinny spełniać następujące warunki: | ||
powinny składać się z liter, cyfr i znaku ‘-’, | |||
długość członu powinna wynosić min. 3 znaki, | |||
pierwszy znak powinien być zawsze literą, | |||
wielkość liter nie ma znaczenia. | |||
W późniejszym okresie dopuszczono stosowanie krótszych członów. | W późniejszym okresie dopuszczono stosowanie krótszych członów. | ||
|} | |} | ||
Linia 51: | Linia 51: | ||
Po kilkunastu latach od chwili ogłoszenia pierwszej specyfikacji zostały zgłoszone propozycje nowych domen pierwszego poziomu, z których zaakceptowano kolejnych siedem, z czego cztery .biz, .info, .name, .pro otrzymały status domen ogólnie dostępnych, natomiast pozostałe trzy .aero, .coop, .museum status domen sponsorowanych. | Po kilkunastu latach od chwili ogłoszenia pierwszej specyfikacji zostały zgłoszone propozycje nowych domen pierwszego poziomu, z których zaakceptowano kolejnych siedem, z czego cztery .biz, .info, .name, .pro otrzymały status domen ogólnie dostępnych, natomiast pozostałe trzy .aero, .coop, .museum status domen sponsorowanych. | ||
Spośród domen znajdujących się w pierwotnej specyfikacji, w trzech: | Spośród domen znajdujących się w pierwotnej specyfikacji, w trzech: | ||
.com – firmy comercyjne, | |||
.net – firmy/organizacje zajmujące się ogólnie rozumianą technologią sieciową, | |||
.org – firmy/organizacje non-profit | |||
rejestracja nie podlega ograniczeniom, natomiast w pozostałych czterech rejestracja odbywa się według ściśle określonych kryteriów: | rejestracja nie podlega ograniczeniom, natomiast w pozostałych czterech rejestracja odbywa się według ściśle określonych kryteriów: | ||
.edu – jednostki oficjalnie uznane za edukacyjne w USA, | |||
.mil – Armia USA, | |||
.gov – instytucje rządowe USA, | |||
.int – organizacje oficjalnie zajmujące się obsługą Internetu na podstawie umów międzynarodowych. | |||
Nazwy domen pierwszego poziomu oraz związane z nimi zasady rejestracji zostały przeniesione i zaakceptowane w odniesieniu do domen drugiego poziomu domen narodowych. | Nazwy domen pierwszego poziomu oraz związane z nimi zasady rejestracji zostały przeniesione i zaakceptowane w odniesieniu do domen drugiego poziomu domen narodowych. | ||
Ostatecznie zasady organizacji domen zostały dość mocno rozluźnione. Rozszerzono zestaw domen pierwszego poziomu, dopuszczono stosowanie dowolnych schematów tworzenia domen poniżej poziomu domen narodowych. W związku z tym pojawiły się domeny regionalne (w Polsce waw, czest, katowice), zmieniono nazwy niektórych domen (Wielka Brytania com -> co, edu -> ac), dopuszczono dowolne nazwy poniżej poziomu domen narodowych. | Ostatecznie zasady organizacji domen zostały dość mocno rozluźnione. Rozszerzono zestaw domen pierwszego poziomu, dopuszczono stosowanie dowolnych schematów tworzenia domen poniżej poziomu domen narodowych. W związku z tym pojawiły się domeny regionalne (w Polsce waw, czest, katowice), zmieniono nazwy niektórych domen (Wielka Brytania com -> co, edu -> ac), dopuszczono dowolne nazwy poniżej poziomu domen narodowych. | ||
Linia 75: | Linia 75: | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd6.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd6.png|thumb|500px]] | ||
|valign="top"|Nazwa domeny .arpa to skrót od Address and Routing Parameter Area. Domena ta przeznaczona jest do obsługi infrastruktury Internetu. Administracją domeny zajmuje się IANA wspólnie z Internet Architecture Board. Wymagania oraz wytyczne dotyczące obsługi domeny .arpa znajdują się w RFC3172 (BCP 52). Obecnie w domenie .arpa zdefiniowane są następujące domeny drugiego poziomu: | |valign="top"|Nazwa domeny .arpa to skrót od Address and Routing Parameter Area. Domena ta przeznaczona jest do obsługi infrastruktury Internetu. Administracją domeny zajmuje się IANA wspólnie z Internet Architecture Board. Wymagania oraz wytyczne dotyczące obsługi domeny .arpa znajdują się w RFC3172 (BCP 52). Obecnie w domenie .arpa zdefiniowane są następujące domeny drugiego poziomu: | ||
in-addr.arpa, której zadaniem jest mapowanie numerów IPv4 na nazwy | |||
ip6.arpa, której zadaniem jest mapowanie adresów IPv6 na nazwy | |||
e164.arpa, której zadaniem jest mapowanie numerów telefonicznych zgodnych z E.164 na adresy URI (ang. Uniform Resource Identifier). | |||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 105: | Linia 105: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd10.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd10.png|thumb|500px]] | ||
|valign="top"|Podstawą fizycznej realizacji systemu nazw są serwery DNS zaimplementowane w postaci specjalnych programów komputerowych. Jakkolwiek działanie wszystkich serwerów opiera się na kilku, bardzo podobnych aplikacjach, to ze względów praktycznych | |valign="top"|Podstawą fizycznej realizacji systemu nazw są serwery DNS zaimplementowane w postaci specjalnych programów komputerowych. Jakkolwiek działanie wszystkich serwerów opiera się na kilku, bardzo podobnych aplikacjach, to ze względów praktycznych poszczególne serwery różnią się między sobą funkcjonalnością. Różnice te wynikają tylko i wyłącznie ze sposobu konfiguracji, odzwierciedlającej politykę danej firmy, a nie ze względu na stosowane oprogramowanie. To jak zostanie skonfigurowany dany serwer zależy przede wszystkim od zakresu przechowywanych danych oraz budowy sieci komputerowej firmy. | ||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 128: | Linia 128: | ||
Oprócz serwerów oficjalnych, w sieci można zainstalować rozsądnie dowolną liczbę serwerów typu slave. Dodatkowe serwery typu slave instalowane są najczęściej w poszczególnych segmentach sieci komputerowej i obsługują tylko i wyłącznie komputery należące do danego segmentu. Dzięki temu następuje zmniejszenie ruchu z Internetem poprzez ograniczenie zapytań do zewnętrznych serwerów DNS. Wszystkie podobne zapytania od pojedynczych stacji obsługiwane są przez wewnętrzny serwer typu slave, który tylko raz wysyła zapytanie do serwerów zewnętrznych, a potem przez pewien czas przechowuje uzyskane odpowiedzi w pamięci podręcznej i na tej podstawie udziela odpowiedzi. | Oprócz serwerów oficjalnych, w sieci można zainstalować rozsądnie dowolną liczbę serwerów typu slave. Dodatkowe serwery typu slave instalowane są najczęściej w poszczególnych segmentach sieci komputerowej i obsługują tylko i wyłącznie komputery należące do danego segmentu. Dzięki temu następuje zmniejszenie ruchu z Internetem poprzez ograniczenie zapytań do zewnętrznych serwerów DNS. Wszystkie podobne zapytania od pojedynczych stacji obsługiwane są przez wewnętrzny serwer typu slave, który tylko raz wysyła zapytanie do serwerów zewnętrznych, a potem przez pewien czas przechowuje uzyskane odpowiedzi w pamięci podręcznej i na tej podstawie udziela odpowiedzi. | ||
Innym przykładem wykorzystania serwerów typu slave jest instalacja takiego serwera na komputerze świadczącym inne usługi sieciowe, np. poczta elektroniczna, WWW. Praca serwerów usługowych związana jest z istnieniem wielu podrzędnych instancji serwera danej usługi, które tworzone są w momencie wystąpienia zapytania z sieci. Każda taka instancja jest potencjalnym klientem systemu nazw. W wyniku lokalnej obsługi zapytań występują nie tylko oszczędności pasma związane z łączem do Internetu ale także z łączem danego serwera do sieci lokalnej. | Innym przykładem wykorzystania serwerów typu slave jest instalacja takiego serwera na komputerze świadczącym inne usługi sieciowe, np. poczta elektroniczna, WWW. Praca serwerów usługowych związana jest z istnieniem wielu podrzędnych instancji serwera danej usługi, które tworzone są w momencie wystąpienia zapytania z sieci. Każda taka instancja jest potencjalnym klientem systemu nazw. W wyniku lokalnej obsługi zapytań występują nie tylko oszczędności pasma związane z łączem do Internetu ale także z łączem danego serwera do sieci lokalnej. | ||
W przypadku zbyt dużej liczby serwerów pomocniczych może wystąpić efekt odwrotny, polegający na zbyt dużym obciążeniu ruterów komunikacją między serwerem typu master a serwerami typu slave. Jeżeli konfiguracja sieci uzasadnia potrzebę instalacji tak dużej liczby serwerów pomocniczych, wtedy wybrane serwery typu slave | W przypadku zbyt dużej liczby serwerów pomocniczych może wystąpić efekt odwrotny, polegający na zbyt dużym obciążeniu ruterów komunikacją między serwerem typu master a serwerami typu slave. Jeżeli konfiguracja sieci uzasadnia potrzebę instalacji tak dużej liczby serwerów pomocniczych, wtedy wybrane serwery typu slave pełnią rolę serwerów typu master dla pozostałych serwerów typu slave. Zależności pomiędzy serwerami konfiguruje się w taki sposób, aby możliwie maksymalnie ograniczyć ruch w sieci związany z transferem danych między serwerami. | ||
Wielostopniowa konfiguracja serwerów typu slave oznacza istotne zwiększenie stopnia złożoności systemu, co w konsekwencji oznacza zwiększenie bezwładności systemu oraz powoduje większe utrudnienia w utrzymaniu systemu w ruchu. | Wielostopniowa konfiguracja serwerów typu slave oznacza istotne zwiększenie stopnia złożoności systemu, co w konsekwencji oznacza zwiększenie bezwładności systemu oraz powoduje większe utrudnienia w utrzymaniu systemu w ruchu. | ||
|} | |} | ||
Linia 142: | Linia 142: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd15.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd15.png|thumb|500px]] | ||
|valign="top"|Funkcjonalność serwera typu forward nie wynika z konfiguracji, a ze sposobu jego użytkowania. Serwerem typu forward może być zarówno serwer typu master jak i slave, czy cache, który komunikuje się z serwerami zewnętrznymi w imieniu serwerów wewnętrznych. Jeżeli serwer wewnętrzny otrzyma zapytanie, które wymaga wyszukiwania w Internecie, przekazuje to zapytanie do konkretnego serwera, a ten dokonuje standardowego wyszukiwania danych komunikując się z serwerami zewnętrznymi. Tego typu konstrukcje stosuje się najczęściej w przypadku, gdy sieć wewnętrzna odseparowana jest od Internetu za pomocą FireWall’a i ze względów bezpieczeństwa serwery wewnętrzne komunikują się jedynie z serwerem typu forward, którego rolę pełni zwykły serwer | |valign="top"|Funkcjonalność serwera typu forward nie wynika z konfiguracji, a ze sposobu jego użytkowania. Serwerem typu forward może być zarówno serwer typu master jak i slave, czy cache, który komunikuje się z serwerami zewnętrznymi w imieniu serwerów wewnętrznych. Jeżeli serwer wewnętrzny otrzyma zapytanie, które wymaga wyszukiwania w Internecie, przekazuje to zapytanie do konkretnego serwera, a ten dokonuje standardowego wyszukiwania danych komunikując się z serwerami zewnętrznymi. Tego typu konstrukcje stosuje się najczęściej w przypadku, gdy sieć wewnętrzna odseparowana jest od Internetu za pomocą FireWall’a i ze względów bezpieczeństwa serwery wewnętrzne komunikują się jedynie z serwerem typu forward, którego rolę pełni zwykły serwer DNS zainstalowany na hoście bastionowym w strefie zdemilitaryzowanej. | ||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 163: | Linia 163: | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd18.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd18.png|thumb|500px]] | ||
|valign="top"|Iteracyjny sposób rozwiązywania nazw dla odmiany polega tym, że serwer zwraca najlepszą odpowiedź jaką ma w bazie albo w buforze. W skrajnym przypadku zwraca adres serwera typu root. | |valign="top"|Iteracyjny sposób rozwiązywania nazw dla odmiany polega tym, że serwer zwraca najlepszą odpowiedź jaką ma w bazie albo w buforze. W skrajnym przypadku zwraca adres serwera typu root. | ||
Na przykład, jeżeli trzeba rozwiązać nazwę www.pw.edu.pl klient wysyła zapytanie rekurencyjne do serwera DNS, którego adres znajduje się w plikach konfiguracyjnych systemu operacyjnego. Serwer DNS sprawdza, czy w buforze znajduje się informacja dotycząca tej nazwy. Jeżeli tak, to zwraca do klienta odpowiedź. Jeżeli nie ma takiej nazwy w bazie albo w buforze, to sprawdza, czy | Na przykład, jeżeli trzeba rozwiązać nazwę www.pw.edu.pl klient wysyła zapytanie rekurencyjne do serwera DNS, którego adres znajduje się w plikach konfiguracyjnych systemu operacyjnego. Serwer DNS sprawdza, czy w buforze znajduje się informacja dotycząca tej nazwy. Jeżeli tak, to zwraca do klienta odpowiedź. Jeżeli nie ma takiej nazwy w bazie albo w buforze, to sprawdza, czy master wie jaki serwer obsługuje domenę pw.edu.pl, potem domenę edu.pl i na końcu pl. Jeżeli serwer nie ma takiej informacji w buforze, to wysyła zapytanie do jednego z serwerów głównych typu root. W odpowiedzi otrzyma informację w postaci adresu serwera DNS obsługującego domenę pl, do którego wyśle zapytanie. Serwer obsługujący domenę pl w odpowiedzi prześle adres serwera obsługującego domenę edu.pl, do którego nasz serwer wyśle kolejne zapytanie i od którego otrzyma adres serwera DNS obsługującego domenę pw.edu.pl, który z kolei, jak należy się spodziewać w odpowiedzi zwróci adres IP odpowiadający nazwie www.pw.edu.pl. | ||
Przedstawiony przykład opisuje skrajny przypadek, gdy żaden z serwerów DNS nie wie nic więcej poza adresem serwera domeny podrzędnej wchodzącej w skład nazwy. W praktyce, jeżeli jakiś serwer będzie miał w buforze szukany adres albo adres serwera obsługującego domenę tworzącą nazwę lub jej fragment, to zwróci tę informację przez co znacznie skróci proces poszukiwania rozwiązania. | Przedstawiony przykład opisuje skrajny przypadek, gdy żaden z serwerów DNS nie wie nic więcej poza adresem serwera domeny podrzędnej wchodzącej w skład nazwy. W praktyce, jeżeli jakiś serwer będzie miał w buforze szukany adres albo adres serwera obsługującego domenę tworzącą nazwę lub jej fragment, to zwróci tę informację przez co znacznie skróci proces poszukiwania rozwiązania. | ||
Oczywiście serwer DNS poszukując odpowiedzi gromadzi w buforze wszystkie otrzymane odpowiedzi przez ściśle określony czas. Jeżeli w tym czasie otrzyma zapytanie dotyczące, np. nazwy www.ee.pw.edu.pl, to rozpocznie przeszukiwanie od serwera obsługującego domenę pw.edu.pl. Natomiast poszukując rozwiązania dla nazwy www.fuw.edu.pl skieruje pierwsze zapytanie do serwera obsługującego domenę edu.pl. | Oczywiście serwer DNS poszukując odpowiedzi gromadzi w buforze wszystkie otrzymane odpowiedzi przez ściśle określony czas. Jeżeli w tym czasie otrzyma zapytanie dotyczące, np. nazwy www.ee.pw.edu.pl, to rozpocznie przeszukiwanie od serwera obsługującego domenę pw.edu.pl. Natomiast poszukując rozwiązania dla nazwy www.fuw.edu.pl skieruje pierwsze zapytanie do serwera obsługującego domenę edu.pl. | ||
Linia 216: | Linia 216: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd24.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd24.png|thumb|500px]] | ||
|valign="top"|Zamieszczony w tym module opis konfiguracji serwera DNS stanowi niezbędne minimum jakie należy wykonać aby uruchomić poszczególne typy serwerów. Opis ten jest zgodny z implementacjami BIND w wersji 8 oraz 9 (widoki dotyczą tylko wersji 9). Natomiast, położenie plików konfiguracyjnych oraz sposób uruchamiania i zatrzymywania serwera został przedstawiony na podstawie systemu operacyjnego SUN Solaris. Przyjęto również założenie, że stosowne oprogramowanie aplikacyjne znajduje się już w systemie operacyjnym. | |valign="top"|Zamieszczony w tym module opis konfiguracji serwera DNS stanowi niezbędne minimum jakie należy wykonać, aby uruchomić poszczególne typy serwerów. Opis ten jest zgodny z implementacjami BIND w wersji 8 oraz 9 (widoki dotyczą tylko wersji 9). Natomiast, położenie plików konfiguracyjnych oraz sposób uruchamiania i zatrzymywania serwera został przedstawiony na podstawie systemu operacyjnego SUN Solaris. Przyjęto również założenie, że stosowne oprogramowanie aplikacyjne znajduje się już w systemie operacyjnym. | ||
Podstawowym plikiem konfiguracyjnym systemu BIND 8/9 jest plik „named.conf”, znajdujący się zazwyczaj w katalogu /etc. Natomiast pliki z bazami danych, buforami, logami itp. umieszczane są w domyślnym katalogu bazowym /var/named. Katalog ten może zostać zmieniony odpowiednią deklaracją w pliku „named.conf”. Również nazwy wszystkich plików konfiguracyjnych mogą zostać ustawione dowolnie przez administratora systemu, jak i położenie tych plików wewnątrz katalogu bazowego. | Podstawowym plikiem konfiguracyjnym systemu BIND 8/9 jest plik „named.conf”, znajdujący się zazwyczaj w katalogu /etc. Natomiast pliki z bazami danych, buforami, logami itp. umieszczane są w domyślnym katalogu bazowym /var/named. Katalog ten może zostać zmieniony odpowiednią deklaracją w pliku „named.conf”. Również nazwy wszystkich plików konfiguracyjnych mogą zostać ustawione dowolnie przez administratora systemu, jak i położenie tych plików wewnątrz katalogu bazowego. | ||
Linia 243: | Linia 243: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd26.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd26.png|thumb|500px]] | ||
|valign="top"|Slajd przedstawia pierwsza część pliku named.conf, | |valign="top"|Slajd przedstawia pierwsza część pliku named.conf, zawierającą deklaracje „options” oraz „logging”. | ||
Deklaracja „options” służy do ustawienia opcji podstawowych, jak np. położenie plików oraz innych opcji, o znaczeniu globalnym, obowiązujących we wszystkich innych deklaracjach, chyba że zostaną one jawnie zmienione w obszarze konkretnej deklaracji szczegółowej. W naszym przypadku pokazano deklaracje dwóch opcji: | Deklaracja „options” służy do ustawienia opcji podstawowych, jak np. położenie plików oraz innych opcji, o znaczeniu globalnym, obowiązujących we wszystkich innych deklaracjach, chyba że zostaną one jawnie zmienione w obszarze konkretnej deklaracji szczegółowej. W naszym przypadku pokazano deklaracje dwóch opcji: | ||
Linia 267: | Linia 267: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd28.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd28.png|thumb|500px]] | ||
|valign="top"|Plik zawierający bazę root serwerów składa się z dwóch typów rekordów. Jeden typ to rekordy stosowane opisu delegacji domeny: | |valign="top"|Plik zawierający bazę root serwerów składa się z dwóch typów rekordów. Jeden typ to rekordy stosowane do opisu delegacji domeny: | ||
. 3600000 IN NS A.ROOT-SERVERS.NET. | |||
oraz drugi do opisu mapowania nazwy na numer IP: | oraz drugi do opisu mapowania nazwy na numer IP: | ||
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 | |||
W programie BIND v9. plik ten można pominąć, gdyż program sam potrafi uzyskać aktualna bazę root serwerów. Jest to o tyle wygodne, że administrator nie musi śledzić zmian adresów root serwerów. | W programie BIND v9. plik ten można pominąć, gdyż program sam potrafi uzyskać aktualna bazę root serwerów. Jest to o tyle wygodne, że administrator nie musi śledzić zmian adresów root serwerów. | ||
Linia 323: | Linia 323: | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd33.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd33.png|thumb|500px]] | ||
|valign="top"|W przypadku serwera typu „slave” do znanych już opcji dochodzi opcja „masters”, która pokazuje serwer lub serwery główne dla danej domen/strefy, z których serwer będzie transferował dane. | |valign="top"|W przypadku serwera typu „slave” do znanych już opcji dochodzi opcja „masters”, która pokazuje serwer lub serwery główne dla danej domen/strefy, z których serwer będzie transferował dane. | ||
Wartość opcji type zmienia się na slave, co jest jednoznacznie związane z funkcjonalnością serwera dla danej | Wartość opcji type zmienia się na slave, co jest jednoznacznie związane z funkcjonalnością serwera dla danej domeny/strefy. Natomiast ciągi znaków w opcji „file” są nazwami plików, w których serwer będzie przechowywał bazy uzyskane w wyniku transferu danych z serwerów typu master. Pliki te tworzone są automatycznie. Ich wewnętrzna zawartość, co do sposobu deklaracji dość mocno odbiega od oryginału, jednak co do treści pokrywa się całkowicie z treścią zawartą w bazie źródłowej. | ||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 330: | Linia 330: | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd34.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd34.png|thumb|500px]] | ||
|valign="top"|W momencie wprowadzenia do konfiguracji sieci mechanizmu mapowania adresów (NAT) pojawił się problem obsługi tego typu konstrukcji przez serwery DNS. | |valign="top"|W momencie wprowadzenia do konfiguracji sieci mechanizmu mapowania adresów (NAT) pojawił się problem obsługi tego typu konstrukcji przez serwery DNS. | ||
Zazwyczaj fizyczna i logiczna budowa sieci firmowej przewiduje dwie główne części: strefę | Zazwyczaj fizyczna i logiczna budowa sieci firmowej przewiduje dwie główne części: strefę zdemilitaryzowaną (DMZ), do której jest dostęp z Internetu, i w której znajdują się Internetowe serwery usługowe oraz sieć wewnętrzną, do której nie ma dostępu z Internetu, a dostęp do Internetu jest filtrowany. W sieci wewnętrznej, w takich przypadkach stosowana jest numeracja oparta na adresach prywatnych. | ||
Konfiguracja systemu nazw zakłada, że sieć wewnętrzna firmy ma dostęp do usług Internetowych oraz Intranetowych, natomiast użytkownicy Internetu mają dostęp tylko do takich usług i informacji | Konfiguracja systemu nazw zakłada, że sieć wewnętrzna firmy ma dostęp do usług Internetowych oraz Intranetowych, natomiast użytkownicy Internetu mają dostęp tylko do takich usług i informacji jakie przewiduje polityka bezpieczeństwa firmy. | ||
W przypadku serwerów DNS realizowane jest to za pomocą tzw. widoków. W konfiguracji serwera definiuje się dwie sekcje (views) o różnej zawartości. Pierwsza sekcja przeznaczona jest do obsługi ściśle określonych hostów, natomiast druga do obsługi reszty sieci, z Internetem włącznie. | W przypadku serwerów DNS realizowane jest to za pomocą tzw. widoków. W konfiguracji serwera definiuje się dwie sekcje (views) o różnej zawartości. Pierwsza sekcja przeznaczona jest do obsługi ściśle określonych hostów, natomiast druga do obsługi reszty sieci, z Internetem włącznie. | ||
|} | |} | ||
Linia 373: | Linia 373: | ||
|valign="top"|Rekord typu MX określa nazwę serwera pocztowego, obsługującego daną domenę lub konkretny host. | |valign="top"|Rekord typu MX określa nazwę serwera pocztowego, obsługującego daną domenę lub konkretny host. | ||
Wartością rekordu, jest wartość składająca się z dwóch elementów: | Wartością rekordu, jest wartość składająca się z dwóch elementów: | ||
priorytetu, | priorytetu, nazwy serwera pocztowego. | ||
nazwy serwera pocztowego. | |||
Jeżeli jakiś serwer pocztowy chce dostarczyć przesyłkę do adresata w konkretnej domenie, sprawdza w systemie nazw jaki serwer obsługuje pocztę dla domeny adresata. | Jeżeli jakiś serwer pocztowy chce dostarczyć przesyłkę do adresata w konkretnej domenie, sprawdza w systemie nazw jaki serwer obsługuje pocztę dla domeny adresata. | ||
Dla danej domeny może być więcej niż jeden serwer pocztowy. O kolejności w jakiej serwer wysyłający będzie kontaktował się z serwerami odbierającymi decyduje pole priorytetu. | Dla danej domeny może być więcej niż jeden serwer pocztowy. O kolejności w jakiej serwer wysyłający będzie kontaktował się z serwerami odbierającymi decyduje pole priorytetu. | ||
Linia 383: | Linia 382: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd38.png|thumb|500px]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd38.png|thumb|500px]] | ||
|valign="top"| | |valign="top"|Rekordy typu NS służą do definiowania serwerów DNS obsługujących daną domenę (a) albo jej poddomenę (c). Adres serwera DNS może zostać wpisany w formie pełnej, kwalifikowanej nazwy domenowej, koniecznie zakończonej „.” (a) (c), co jest najczęściej stosowane albo w postaci adresu IP (b). Jeżeli adres serwera zostanie podany w postaci nazwy domenowej, to w tym samym pliku dodawane są tzw. rekordy „sklejające” (ang. glue records), których zadaniem jest: | ||
przyśpieszenie poszukiwań, | przyśpieszenie poszukiwań, | ||
nie dopuszczanie do zapętleń w wyniku stosowania odwołań. | nie dopuszczanie do zapętleń w wyniku stosowania odwołań. | ||
Bardzo często obsługa domen odbywa się na zasadzie hostingu, gdy np. dostawca Internetu utrzymuje serwery DNS dla swoich klientów. Normy nie narzucają miejsca usytuowania serwera DNS dla danej domeny. Serwer ten może być gdziekolwiek w Internecie. Praktyka pokazuje, że najlepiej gdy serwer DNS znajduje się możliwie blisko szeroko rozumianego administratora domeny. | Bardzo często obsługa domen odbywa się na zasadzie hostingu, gdy np. dostawca Internetu utrzymuje serwery DNS dla swoich klientów. Normy nie narzucają miejsca usytuowania serwera DNS dla danej domeny. Serwer ten może być gdziekolwiek w Internecie. Praktyka pokazuje, że najlepiej, gdy serwer DNS znajduje się możliwie blisko szeroko rozumianego administratora domeny. | ||
Ponadto dobrą praktyką jest umieszczenie serwera zapasowego w innym segmencie sieci niż master serwer. Szczególnie korzystne jest umiejscowienie serwera zapasowego poza siecią firmową. | Ponadto dobrą praktyką jest umieszczenie serwera zapasowego w innym segmencie sieci niż master serwer. Szczególnie korzystne jest umiejscowienie serwera zapasowego poza siecią firmową. | ||
|} | |} | ||
Linia 395: | Linia 394: | ||
|valign="top"|Slajd pokazuje początek typowego pliku z definicją domeny. Zgodnie z normami, plik otwiera rekord SOA i towarzysząca mu deklaracja TTL dla pozytywnego buforowania. | |valign="top"|Slajd pokazuje początek typowego pliku z definicją domeny. Zgodnie z normami, plik otwiera rekord SOA i towarzysząca mu deklaracja TTL dla pozytywnego buforowania. | ||
Następnie, występują deklaracje serwerów DNS oraz serwera pocztowego. | Następnie, występują deklaracje serwerów DNS oraz serwera pocztowego. | ||
W dalszej kolejności znajdują głównie | W dalszej kolejności znajdują się głównie rekordy mapowania typu nazwa -> adres IP. Rekordy oznaczane są w za pomocą symbolu „A” (ang. address). W przypadku mapowania nazwy na adres IPv6, stosuje się oznaczenie „AAA”. | ||
W tego typu plikach często spotykanym rekordem jest rekord typu „CNAME” (ang. canonical name). Rekord ten używany jest do mapowania nazw za pomocą innych nazw. | W tego typu plikach często spotykanym rekordem jest rekord typu „CNAME” (ang. canonical name). Rekord ten używany jest do mapowania nazw za pomocą innych nazw. | ||
Przykładem stosowania tego typu konstrukcji są wirtualne serwery WWW, które mają jeden adres IP, ale obsługują serwery wirtualne różnych organizacji, gdzie identyfikacja serwera odbywa się poprzez nazwę. Można oczywiście dla każdej nazwy serwera wirtualnego dokonać deklaracji za pomocą rekordu typu „A”. Jednak w przypadku zmiany adresu IP znacznie prościej jest zmienić ten adres w jednym miejscu, zmniejszając tym samym ryzyko pomyłki. | Przykładem stosowania tego typu konstrukcji są wirtualne serwery WWW, które mają jeden adres IP, ale obsługują serwery wirtualne różnych organizacji, gdzie identyfikacja serwera odbywa się poprzez nazwę. Można oczywiście dla każdej nazwy serwera wirtualnego dokonać deklaracji za pomocą rekordu typu „A”. Jednak w przypadku zmiany adresu IP znacznie prościej jest zmienić ten adres w jednym miejscu, zmniejszając tym samym ryzyko pomyłki. | ||
Linia 435: | Linia 434: | ||
Program ten wywołany bez opcji uruchamia się w trybie interakcyjnym wypisując parametry domyślnego serwera DNS. | Program ten wywołany bez opcji uruchamia się w trybie interakcyjnym wypisując parametry domyślnego serwera DNS. | ||
Polecenie „set” służy do konfiguracji zakresu odpowiedzi. W przykładzie ze slajdu ustawiono wartość opcji „querytype” (w skrócie „q”) na „any”, co oznacza, że program w odpowiedzi na postawione zapytanie wyświetli wszystkie informacje, które będzie w stanie uzyskać o danym obiekcie. Zakres odpowiedzi można ograniczyć do wybranych elementów. Szczegóły można znaleźć w manualu do polecenia nslookup (man nslookup). | Polecenie „set” służy do konfiguracji zakresu odpowiedzi. W przykładzie ze slajdu ustawiono wartość opcji „querytype” (w skrócie „q”) na „any”, co oznacza, że program w odpowiedzi na postawione zapytanie wyświetli wszystkie informacje, które będzie w stanie uzyskać o danym obiekcie. Zakres odpowiedzi można ograniczyć do wybranych elementów. Szczegóły można znaleźć w manualu do polecenia nslookup (man nslookup). | ||
W wyniku zapytania o nazwę hosta rose.ee.pw.edu.pl, program wyświetlił parametry serwera, który udzielił odpowiedzi, parametry | W wyniku zapytania o nazwę hosta rose.ee.pw.edu.pl, program wyświetlił parametry serwera, który udzielił odpowiedzi, parametry adresowe hosta oraz parametry adresowe serwerów DNS obsługujących domenę do której należy host. | ||
Z programu wychodzimy poleceniem „exit”. | Z programu wychodzimy poleceniem „exit”. | ||
|} | |} | ||
Linia 444: | Linia 443: | ||
|valign="top"|Slajd przedstawia odpowiedź na zapytanie dotyczące mapowania odwrotnego. Charakterystyczne jest to, że zapytanie sformułowane jest zgodnie z budową domeny in-addr.arpa, czyli od ostatniego elementu adresu IP do pierwszego. | |valign="top"|Slajd przedstawia odpowiedź na zapytanie dotyczące mapowania odwrotnego. Charakterystyczne jest to, że zapytanie sformułowane jest zgodnie z budową domeny in-addr.arpa, czyli od ostatniego elementu adresu IP do pierwszego. | ||
W przedstawionych przykładach zaprezentowano typowe podczas testowania zapytania o mapowanie proste i odwrotne. Jeżeli w obu przypadkach odpowiedzi pokrywają można uznać, że system działa poprawnie. | W przedstawionych przykładach zaprezentowano typowe podczas testowania zapytania o mapowanie proste i odwrotne. Jeżeli w obu przypadkach odpowiedzi pokrywają się można uznać, że system działa poprawnie. | ||
Na ogół tego typu testowanie przeprowadza się nie tylko podczas uruchamiania serwera DNS, ale także po dokonaniu nowych wpisów w bazach. | Na ogół tego typu testowanie przeprowadza się nie tylko podczas uruchamiania serwera DNS, ale także po dokonaniu nowych wpisów w bazach. | ||
|} | |} | ||
Linia 462: | Linia 461: | ||
|valign="top"|Wszystkie cztery serwery należy w fazie początkowej skonfigurować jednakowo, w sposób jaki konfiguruje się serwer buforujący. W pliku /etc/named.conf powinny znaleźć się bloki „options”, „logging” oraz „zone” dla sieci wewnętrznej (loopback). W zależności od wersji programu BIND można dodać lub nie blok „zone” dla root serwerów. | |valign="top"|Wszystkie cztery serwery należy w fazie początkowej skonfigurować jednakowo, w sposób jaki konfiguruje się serwer buforujący. W pliku /etc/named.conf powinny znaleźć się bloki „options”, „logging” oraz „zone” dla sieci wewnętrznej (loopback). W zależności od wersji programu BIND można dodać lub nie blok „zone” dla root serwerów. | ||
Ponadto zgodnie z wpisami w pliku named.conf należy w katalogu /var/named albo innym, w zależności od wartości deklaracji „directory” bloku „options” umieścić pliki wymienione w blokach „zone”. | Ponadto zgodnie z wpisami w pliku named.conf należy w katalogu /var/named albo innym, w zależności od wartości deklaracji „directory” bloku „options” umieścić pliki wymienione w blokach „zone”. | ||
Po uruchomieniu, serwery będą samodzielnie wysyłały zapytania do Internetu. Na tym etapie, w konfiguracji serwerów wewnętrznych można dodać w bloku „options” deklarację: „forwarders { <ip serwera | Po uruchomieniu, serwery będą samodzielnie wysyłały zapytania do Internetu. Na tym etapie, w konfiguracji serwerów wewnętrznych można dodać w bloku „options” deklarację: „forwarders { <ip serwera zewnętrznego>; };”, w której należy podać numer IP serwera zewnętrznego, znajdującego się w strefie DMZ danego oddziału. W wyniku tego zabiegu, wszystkie zapytania generowane przez serwery wewnętrzne powinny być obsługiwane przez serwery znajdujące się w strefie DMZ. | ||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> |
Aktualna wersja na dzień 16:55, 21 gru 2006
![]() |
![]() |
Pierwszym członem w nazwie domenowej jest tzw. domena pierwszego poziomu TLD (and. Top-Level Domain). Poniżej domeny pierwszego poziomu może znajdować się dowolnie dużo poddomen drugiego poziomu, poniżej których może znajdować się dowolnie wiele poddomen trzeciego poziomu, itd.
W pierwotnej specyfikacji znalazło się siedem domen pierwszego poziomu: .com, .edu, .mil, .gov, .net, .org, .int, oraz dwuliterowe domeny narodowe. Obsługa każdej z domen delegowana jest do odpowiedniej organizacji, odpowiedzialnej za daną domenę. Po kilkunastu latach od chwili ogłoszenia pierwszej specyfikacji zostały zgłoszone propozycje nowych domen pierwszego poziomu, z których zaakceptowano kolejnych siedem, z czego cztery .biz, .info, .name, .pro otrzymały status domen ogólnie dostępnych, natomiast pozostałe trzy .aero, .coop, .museum status domen sponsorowanych. Spośród domen znajdujących się w pierwotnej specyfikacji, w trzech: .com – firmy comercyjne, .net – firmy/organizacje zajmujące się ogólnie rozumianą technologią sieciową, .org – firmy/organizacje non-profit rejestracja nie podlega ograniczeniom, natomiast w pozostałych czterech rejestracja odbywa się według ściśle określonych kryteriów: .edu – jednostki oficjalnie uznane za edukacyjne w USA, .mil – Armia USA, .gov – instytucje rządowe USA, .int – organizacje oficjalnie zajmujące się obsługą Internetu na podstawie umów międzynarodowych. Nazwy domen pierwszego poziomu oraz związane z nimi zasady rejestracji zostały przeniesione i zaakceptowane w odniesieniu do domen drugiego poziomu domen narodowych. Ostatecznie zasady organizacji domen zostały dość mocno rozluźnione. Rozszerzono zestaw domen pierwszego poziomu, dopuszczono stosowanie dowolnych schematów tworzenia domen poniżej poziomu domen narodowych. W związku z tym pojawiły się domeny regionalne (w Polsce waw, czest, katowice), zmieniono nazwy niektórych domen (Wielka Brytania com -> co, edu -> ac), dopuszczono dowolne nazwy poniżej poziomu domen narodowych. Z wyjątkiem wspomnianych wyżej reguł rejestracji w 4 domenach pierwszego poziomu, które zaadoptowano także dla drugiego poziomu domen narodowych oraz takich wyjątków jak rejestracja w domenie .eu, gdzie stworzono bufor czasowy dla firm i organizacji posiadających osobowość prawną, rejestracja odbywa się w dowolny sposób na zasadzie „kto pierwszy ten lepszy”. Szczegóły dotyczące zasad funkcjonowania nazw domenowych można znaleźć na stronach ICANN (Internet Corporation For Assigned Names and Numbers): http://www.icann.org/tlds/ - Top-Level Domains (gTLDs), http://www.icann.org/topics/TLD-acceptance/ - Universal Acceptance of all Top-Level Domains http://data.iana.org/TLD/tlds-alpha-by-domain.txt - List of Top Level Domains |
![]() |
Na slajdzie zaprezentowana jest przestrzeń mapowania odwrotnego dla adresów IPv4. |
![]() |
Slajd pokazuje położenie domeny .arpa w przestrzeni nazw DNS. |
![]() |