Jakas reklama 

 

DNS (ang. Domain Name System, system nazw domenowych) to system serwerów oraz protokół komunikacyjny zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla urządzeń tworzących sieć komputerową. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. pl.wikipedia.org, może zostać zamieniona na odpowiadający jej adres IP, czyli 145.97.39.155.

Adresy DNS składają się z domen internetowych rozdzielonych kropkami. Dla przykładu w adresie Wikipedii org oznacza domenę funkcjonalną organizacji, wikipedia domenę należącą do fundacji Wikimedia, a pl polską domenę w sieci tej instytucji. W ten sposób możliwe jest budowanie hierarchii nazw, które porządkują Internet.

DNS to złożony system komputerowy oraz prawny. Zapewnia z jednej strony rejestrację nazw domen internetowych i ich powiązanie z numerami IP. Z drugiej strony realizuje bieżącą obsługę komputerów odnajdujących adresy IP odpowiadające poszczególnym nazwom.

Spis treści

edytuj Struktura domen

Wewnątrz każdej domeny można tworzyć tzw. subdomeny - stąd mówimy, że system domen jest 'hierarchiczny'. Przykładowo wewnątrz domeny .pl utworzono wiele domen:

Nazwy domen i poszczególnych komputerów składają się z pewnej liczby nazw, oddzielonych kropkami. Ostatnia z tych nazw jest domeną najwyższego poziomu. Każda z tych nazw może zawierać litery, cyfry lub znak '-'. Od niedawna w nazwach niektórych domen można używać znaków narodowych (IDN) takich jak 'ą' czy 'ż', ale większość współczesnych programów nie przewiduje możliwości wykorzystania takich funkcji. Trwają prace nad nowymi standardami odpowiadającymi DNS, które będą obsługiwać kodowanie Unicode, co pozwoli na umieszczanie w nazwach domen dowolnych znaków np. polskich albo chińskich równocześnie. W Polsce domeny zawierające znaki diakrytyczne praktycznie nie występują. Wewnątrz każdej z poddomen można tworzyć dalsze poddomeny, np. w domenie 'wikipedia.org' można utworzyć domenę pl.wikipedia.org.

edytuj Administracja DNS

DNS, jako system organizacyjny, składa się z dwóch instytucji - IANA i ICANN. Nadzorują one ogólne zasady przyznawania nazw domen i adresów IP. Jednak te dwie instytucje nie są w stanie zajmować się całym światem i dlatego cedują swoje uprawnienia na szereg lokalnych instytucji i firm. W wielu krajach domena internetowa przyznana przez system DNS staje się własnością tego, kto pierwszy ją kupi. W Polsce jest ona tylko wynajmowana na określony czas. Jeżeli ktoś zrezygnuje ze swojej popularnej domeny i zwróci ją administratorowi DNS, to może się spodziewać, że trafi ona w niepowołane ręce.

edytuj Instytucje administrujące DNS na świecie

edytuj Instytucje administrujące DNS w Polsce

Oprócz tego wiele domen typu nazwa-firmy.pl wykupiły od NASK rozmaite firmy i zarządzają tymi domenami we własnym zakresie.

Dokładne informacje o rejestracji domen .pl znajdują się na stronie: http://www.dns.pl/

edytuj Techniczna strona DNS

edytuj Ogólny zarys

Podstawą technicznego systemu DNS jest ogólnoświatowa sieć serwerów. Przechowują one informację na temat adresów domen. Każdy wpis zawiera nazwę oraz odpowiadający jej adres IP. Wpisy udostępniane są automatycznie, co pozwala na pracę Internetu.

DNS to również protokół komunikacyjny. Opisuje on sposób łączenia się klientów z serwerami DNS. Częścią specyfikacji protokołu jest również zestaw zaleceń, jak aktualizować wpisy w bazach domen internetowych. Po całym świecie rozsiane są DNS, które odpowiadają za obsługę poszczególnych adresów internetowych. Listę 13 głównych serwerów odpowiedzialnych za obsługę poszczególnych domen najwyższego poziomu można pobrać z ftp://ftp.rs.internic.net/domain/named.root

Może być tak, że przy wywołaniu adresu www.example.com serwer odpowiedzialny za obsługę .com powie Ci żebyś zapytał dns.example.com. I tutaj powstaje problem, bo aby uzyskać adres dns.example.com musisz zapytać dns.example.com itd. Powstaje pętla. Rozwiązaniem problemu jest tak zwany glue record. Glue record jest rekordem typu A umieszczonym na tym samym serwerze nazw, który obsługuje delegację domeny. Jest on tworzony przez registrara Twojej domeny. W tym wypadku serwer obsługujący .com poda adres dns.example.com, który z kolei po odpytaniu poda adres www.example.com i będzie można nawiązać połączenie. Problem może się pojawić jeśli glue record dla dns.example.com wskazuje na adres IP np 1.2.3.4, a sam serwer BIND jest skonfigurowany tak, że jako dns.example.com podaje np. IP 2.3.4.5. W tym wypadku większość (ale nie wszystkie) odwołań do dns.example.com będzie się odnosiło do numeru IP 1.2.3.4 (czyli glue record "ma przewagę").

edytuj Najważniejsze cechy

System DNS posiada następujące cechy:

edytuj RFC

Podstawy protokołu DNS zostały opisane w 1982 roku w dokumencie IETF - RFC 819 przez Jona Postela i Zaw-Sing Su. Dokumenty z 1983 r. - RFC 882 i RFC 883 były oficjalną specyfikacją DNS aż do roku 1989. Nowa, aktualna specyfikacja DNS jest zawarta w RFC 1034 i RFC 1035. W 1996 wydano jeszcze RFC 1918, które wprowadziło zasady "Internet Best Current Practices" oraz dodało do specyfikacji pulę adresów IP przeznaczoną na tzw. prywatne podsieci.

edytuj Rodzaje zapytań DNS

zmusza serwer do znalezienia wymaganej informacji lub zwrócenia wiadomości o błędzie. Ogólną zasadą jest, że zapytania od resolwera (program, który potrafi wysyłać zapytania do serwerów DNS) do serwera są typu rekurencyjnego, czyli resolwer oczekuje podania przez serwer adresu IP poszukiwanego hosta. Wykonywanie zapytań rekurencyjnych pozwala wszystkim uczestniczącym serwerom zapamiętać odwzorowanie (ang. DNS caching), co podnosi efektywność systemu.
wymaga od serwera jedynie podania najlepszej dostępnej mu w danej chwili odpowiedzi, przy czym nie musi on łączyć się jeszcze z innymi serwerami. Zapytania wysyłane pomiędzy serwerami są iteracyjne, przykładowo wiarygodny serwer domeny org nie musi znać adresu IP komputera www.pl.wikipedia.org, podaje więc najlepszą znaną mu w tej chwili odpowiedź, czyli adresy serwerów autorytarnych dla domeny wikipedia.org

edytuj Odpowiedzi na zapytania

edytuj Protokół DNS

Zapytania i odpowiedzi DNS są najczęściej transportowane w pakietach UDP. Każdy komunikat musi się zawrzeć w jednym pakiecie UDP (standardowo 512 oktetów, ale wielkość tę można zmieniać pamiętając również o ustawieniu takiej samej wielkości w MTU – Maximum Transmission Unit). W innym przypadku przesyłany jest protokołem TCP i poprzedzony dwubajtową wartością określającą długość zapytania i długość odpowiedzi (bez wliczania tych dwóch bajtów). Format komunikatu DNS został zdefiniowany w RFC 1035.

Format <a>komunikatu</a> DNS:

NAGŁÓWEK - (Header)

ZAPYTANIE - (Question) do serwera nazw

ODPOWIEDŹ - (Answer) zawiera rekordy będące odpowiedzią

ZWIERZCHNOŚĆ - (Authority) wskazuje serwery zwierzchnie dla domeny

DODATKOWA - (Additional) sekcja informacji dodatkowych


Forma nagłówka, który określa rolę całego komunikatu:

Sekcja nagłówka występuje zawsze. W sekcji zapytania zawsze znajduje się jedno zapytanie zawierające nazwę domenową, żądany typ danych i klasę (IN). Sekcja odpowiedzi zawiera rekordy zasobów stanowiące odpowiedź na pytanie.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

ID
QR OPCODE AA TC RD RA Z RCODE
QDCOUNT
ANCOUNT
NSCOUNT
ARCOUNT


0 – QUERY – standardowe zapytanie,

1 – IQUERY – zapytanie zwrotne,

2 – STATUS – pytanie o stan serwera,

3-15 – zarezerwowane do przyszłego użytku

0 – brak błędu

1 – błąd formatu – serwer nie potrafił zinterpretować zapytania

2 – błąd serwera – wewnętrzny błąd serwera

3 – błąd nazwy – nazwa domenowa podana w zapytaniu nie istnieje

4 – nie zaimplementowano – serwer nie obsługuje typu otrzymanego zapytania

5 – odrzucono – serwer odmawia wykonania określonej operacji, np. transferu strefy

6-15 – zarezerwowane do przyszłego użytku

edytuj Przykład działania systemu DNS

Oto przykład działania systemu DNS. Użytkownik komputera wpisuje w swojej przeglądarce stron WWW adres internetowy pl.wikipedia.org. Przeglądarka musi poznać adres IP komputera będącego serwerem WWW dla tej strony. Cały proces przebiega zgodnie z tabelą.

Pobieranie adresu DNS
Wysyła Odbiera Komunikat Uwagi
Przeglądarka Serwer DNS providera (194.204.152.34) Czy znasz adres IP komputera pl.wikipedia.org? Przeglądarka wysyła pakiet UDP z pytaniem do serwera DNS zdefiniowanego w konfiguracji systemu operacyjnego - najczęściej jest to serwer DNS providera Internetu, (dla TPSA jest to np. 194.204.152.34).
Serwer DNS providera (194.204.152.34) Główny serwer DNS (198.41.0.4) Czy znasz adres IP komputera pl.wikipedia.org? Serwer DNS providera (194.204.152.34) wysyła zapytanie do jednego z 13 serwerów głównych (np. tego o adresie IP 198.41.0.4).
Główny serwer DNS (198.41.0.4) Serwer DNS providera (194.204.152.34) Nie znam, ale dla domeny org serwerami są 204.74.112.1 i 204.74.113.1. Zapytany serwer główny (198.41.0.4) odpowiada na zapytanie serwera providera.
Serwer DNS providera (194.204.152.34) Serwer DNS domeny "org" (204.74.112.1) Czy znasz adres IP komputera pl.wikipedia.org? Serwer DNS wysyła do jednego z tych 2 serwerów (np. tego o adresie IP 204.74.112.1) zapytanie.
Serwer DNS domeny "org" (204.74.112.1) Serwer DNS providera (194.204.152.34) Nie znam, ale dla domeny wikipedia.org serwerami są 216.21.226.87 i 216.21.234.87. Serwer domeny "org" odpowiada.
Serwer DNS providera (194.204.152.34) Serwer domeny "wikipedia.org" (216.21.226.87) Czy znasz adres IP komputera pl.wikipedia.org? Serwer DNS wysyła do jednego z tych 2 serwerów, np. tego o adresie IP 216.21.226.87 zapytanie.
Serwer DNS domeny "wikipedia.org" (216.21.226.87) Serwer DNS providera (194.204.152.34) pl.wikipedia.org ma adres IP 207.142.131.245. Serwer domeny "wikipedia.org" (216.21.226.87) odpowiada.
Serwer DNS providera (194.204.152.34) Przeglądarka pl.wikipedia.org ma adres IP 207.142.131.245. Serwer DNS TPSA (194.204.152.34) odpowiada przeglądarce.
Przeglądarka Serwer "pl.wikipedia.org" (207.142.131.245) Transakcja pobrania strony WWW. Przeglądarka łączy się serwerem "pl.wikipedia.org" (o adresie IP 207.142.131.245) i wyświetla otrzymaną stronę.

edytuj Typy rekordów DNS

Najważniejsze typy rekordów DNS, oraz ich znaczenie:

Inne typy rekordów dostarczają informacje o położeniu hosta (np. rekord LOC), lub o danych eksperymentalnych.

edytuj DNS w domu

edytuj Diagnostyka

Użytkownik komputera ma kilka narzędzi przydatnych do sprawdzenia, dlaczego jakaś nazwa mnemoniczna nie jest poprawnie zamieniana na adres IP.

edytuj Program host

W systemie Linux korzystając z konsoli można do tego użyć polecenia host. Dla przykładu po wpisaniu:

 host pl.wikipedia.org

otrzymamy listę adresów IP komputerów, które obsługują stronę internetową pl.wikipedia.org:

 Komputer# host pl.wikipedia.org
 pl.wikipedia.org is an alias for rr.gdns.wikimedia.org.
 rr.gdns.wikimedia.org is an alias for rr.knams.wikimedia.org.
 rr.knams.wikimedia.org has address 145.97.39.136
 rr.knams.wikimedia.org has address 145.97.39.137
 rr.knams.wikimedia.org has address 145.97.39.138
 rr.knams.wikimedia.org has address 145.97.39.139
 rr.knams.wikimedia.org has address 145.97.39.134
 rr.knams.wikimedia.org has address 145.97.39.135

edytuj Program dig

Po wydaniu polecenia, z typem zwracanych rekordów ustawionym na ANY:

 root@komp:~# dig wikipedia.pl ANY  

otrzymamy:

; <<>> DiG 9.3.2 <<>> wikipedia.pl any
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62732
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 2, ADDITIONAL: 2

;; SECTION:
;wikipedia.pl.                  IN      ANY

;; ANSWER SECTION:
wikipedia.pl.           86400   IN      SOA     nsa.rozeta.com.pl. hostmaster.rozeta.com.pl. 2006120104 10800  3600 604800 86400
wikipedia.pl.           86400   IN      MX      10 mail.wikipedia.pl.
wikipedia.pl.           44504   IN      A       145.97.39.155
wikipedia.pl.           86400   IN      NS      nsb.rozeta.com.pl.
wikipedia.pl.           86400   IN      NS      nsa.rozeta.com.pl.

;; AUTHORITY SECTION:
wikipedia.pl.           86400   IN      NS      nsa.rozeta.com.pl.
wikipedia.pl.           86400   IN      NS      nsb.rozeta.com.pl.

;; ADDITIONAL SECTION:
nsa.rozeta.com.pl.      15077   IN      A       212.12.114.14
nsb.rozeta.com.pl.      15077   IN      A       81.3.18.135

;; Query time: 62 msec
;; SERVER: 10.8.0.2#53(10.8.0.2)
;; WHEN: Mon Dec 18 13:14:23 2006
;; MSG SIZE  rcvd: 221

Jeżeli chcemy uzyskać odpowiedz z serwera autorytatywnego dla danej strefy (w tym przypadku nsa.rozeta.com.pl) wpisujemy:

root@komp:~# dig @nsa.rozeta.com.pl wikipedia.pl any

; <<>> DiG 9.3.2 <<>> @nsa.rozeta.com.pl wikipedia.pl any
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34597
;; flags: qr aa rd; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;wikipedia.pl.                  IN      ANY

;; ANSWER SECTION:
wikipedia.pl.           86400   IN      A       145.97.39.155
wikipedia.pl.           86400   IN      NS      nsa.rozeta.com.pl.
wikipedia.pl.           86400   IN      NS      nsb.rozeta.com.pl.
wikipedia.pl.           86400   IN      MX      10 mail.wikipedia.pl.
wikipedia.pl.           86400   IN      SOA     nsa.rozeta.com.pl. hostmaster.rozeta.com.pl. 2006120104 10800  3600 604800 86400

;; Query time: 36 msec
;; SERVER: 212.12.114.14#53(212.12.114.14)
;; WHEN: Mon Dec 18 13:26:19 2006
;; MSG SIZE  rcvd: 178

W tym przypadku otrzymaliśmy pięć odpowiedzi od serwera autorytatywnego:

edytuj Konfiguracja

Zwykle dane o konfiguracji protokołu DNS w domowym komputerze przekazywane są przez dostawcę Internetu (ISP). Większość operatorów udostępnia w swojej sieci protokół DHCP. Dzięki niemu komputer automatycznie może pobrać adres serwera DNS operatora. Serwer ISP działa najszybciej, bo ma zgromadzone w swojej pamięci najważniejsze adresy i jest blisko użytkownika Internetu. Serwery DNS Telekomunikacji Polskiej to 194.204.152.34 oraz 194.204.159.1. Kiedy system automatycznego pobierania adresów serwera DNS nie działa, można je wprowadzić ręcznie. W systemie GNU/Linux pozwala na to plik:

/etc/resolv.conf

który zawiera listę serwerów DNS. Dla przykładu, jeżeli chcemy ręcznie ustawić serwery TPSA jako aktywne to możemy wpisać do tego pliku ich adresy:

nameserver 194.204.152.34
nameserver 194.204.159.1

i wtedy komputer wykorzysta je do odnajdywania nazw DNS.

W GNU/Linuksie i innych wersjach Uniksa istnieje plik:

/etc/hosts

który zawiera listę zdefiniowanych przez użytkownika nazw komputerów:

127.0.0.1      localhost #adres lokalnego interfejsu sieciowego
192.168.0.1    brama #serwer dostępu do sieci
192.168.0.2    kasia #inne komputery w sieci lokalnej
192.168.0.3    janek

W systemach Windows NT, Windows 2000 oraz Windows XP plik taki można znaleźć w:

%SYSTEMROOT%\system32\drivers\etc\hosts

najczęściej odpowiada to ścieżce:

C:\WINDOWS\system32\drivers\etc\hosts

Użytkownik może do tego pliku wpisać własne nazwy dla komputerów lokalnych. Dzięki temu nie będzie musiał wpisywać ich adresów IP, tylko łatwe do zapamiętania nazwy. Nazwa mnemoniczna localhost oznacza komputer, na którym pracujemy.

Jeżeli użytkownik chce w swojej sieci lokalnej uruchomić własny serwer DNS może posłużyć się programem BIND. Jednak jest on dosyć skomplikowany w użytkowaniu i podatny na atak. Z tego względu lepiej jest uruchomić własny serwer DHCP, który wszystkim komputerom w sieci lokalnej przekaże właściwe adresy DNS.

edytuj Bezpieczeństwo

Należy zdać sobie sprawę, że system DNS został zaprojektowany wiele lat temu przez naukowców. Nie przewidzieli oni istnienia światowej sieci używanej do prowadzenia poważnych operacji. W Internecie pojawiła się grupa osób wykorzystująca luki w systemie DNS do łamania prawa.

Wyobraźmy sobie Alicję, która jest użytkownikiem e-banku o adresie tanibank.pl. Alicja płaci przez Internet swoje rachunki i obserwuje, jak rośnie jej debet. W tym momencie pojawia się Paweł i wysyła do Alicji list, podając się za Tani Bank SA i prosi ją, żeby weszła na stronę tanibank.pt i zaktualizowała dane, bo inaczej skasuje jej konto. Zdenerwowana Alicja wchodzi na stronę tanibank.pt podaje swoje hasła i wpisuje jeszcze raz swoje dane. Adres tanibank.pt naprawdę prowadzi do komputera Pawła, który korzystając z hasła Alicji robi jej naprawdę spory debet.

Błąd Alicji polegał na tym, że zaufała systemowi DNS. Oczywiście komputery zadziałały poprawnie. Alicja nie zauważyła, że przesłany przez Pawła adres różni się ostatnią literą. Administrator domeny .pt przyznał Pawłowi domenę tanibank.pt, nie zdając sobie sprawy z istnienia strony tanibank.pl. Jeżeli Alicja chce być pewna, że nie zostanie oszukana, musi posłużyć się oprócz DNS jakimś systemem kryptografii, np. SSL. Klucze cyfrowe pozwalają na weryfikację tożsamości banku. Przeglądarka internetowa zazwyczaj informuje użytkownika, że strona WWW jest autentyczna odpowiednią ikoną, zwykle w kształcie kłódki.

edytuj Zobacz też

edytuj Linki zewnętrzne


. - . - . - . - . poradnik do wiedźmina nieruchomości opole Mitologia Rockwool nowowsci Bilety promowe Lodówki pompy ciepła Kredyty zaproszenia ślubneGryzmoły | Gryzmoły | Artykuły | Teksty | tłumacz | Jądro ciemności | Król Edyp | Zemsta | Proces | Pozytywizm | Zdana matura z angielskiego Tanio i skutecznie | Zemsta | Brzechwa | Mitologia | Dziady