Sieci komputerowe wykład 10.
DNS, NetBIOS, WINS.
W sieciach TCP/IP komputer jest rozpoznawany na podstawie numeru IP (w Ipv4 jest to 32 bitowa liczba). Oprócz numeru IP komputer ma przyporządkowaną nazwę. Istnieje kilka konwencji nazywania komputerów, najczęściej spotykane to nazwy hosta, nazwy DNS oraz nazwy NetBIOS. Istnieją mechanizmy tłumaczące nazwy na numery IP (i odwrotnie). W kolejnych punktach przedstawione będą sposoby tłumaczenia.
DNS (Domain Name System).
Nazwa hosta. W czasach gdy istniała sieć ARPAnet każdy komputer miał przydzieloną własną unikalną nazwę. Nazwy wszystkich komputerów były przechowywane w pliku Hosts.txt. Plik ten musiał być ręcznie aktualizowany i centralnie zarządzany oraz rozsyłany z centrum do lokalnych komputerów (zarządzaniem zajmował się Stanford Research Institute – Network Information Center).
DNS. W miarę rozwoju sieci powyższe rozwiązanie stało się nieakceptowalne. Powstał Domain Name System – system nazw domen, który jest rozproszonym systemem bazy danych przechowującym informacje o nazwach komputerów i ich numerach IP. System ten zawiera mechanizmy tłumaczenia nazw.
Baza danych DNS w Internecie rozłożona jest na tysiące serwerów, jest to baza rozproszona. Każdy serwer DNS jest odpowiedzialny za swój fragment systemu i udostępnia swoje dane innym serwerom. (Można spotkać określenie serwer nazw, należy jednak pamiętać, że serwery DNS nie są jedynymi serwerami nazw, o innych będzie mowa w dalszej części wykładu).
DNS zapewnia protokół, który pozwala klientom i serwerom komunikować się ze sobą.
Dostęp do serwera jest realizowany przez mechanizm określany czasem jako resolver (ta nazwa oznacza również plik konfiguracyjny np. /etc/resolv.conf). Resolver w Unix dostępny jest przez dwie funkcje biblioteczne – gethostbbyname oraz gethostbyaddr. Funkcje te były wykorzystywane w programach klient-serwer prezentowanych na poprzednich wykładach.
Przestrzeń nazw DNS jest hierarchiczna i może być przedstawiana jako drzewo z korzeniem bez nazwy. Od korzenia „odchodzą” gałęzie prowadzące do węzłów odpowiadających domenom górnego (najwyższego) poziomu (TLD – Top Level Domains). Od tych węzłów odchodzą gałęzie prowadzące do domen niższych poziomów.
Słowo domena określa część przestrzeni nazw DNS od wybranego węzła w dół hierarchii. Różne domeny zarządzane są przez różne instytucje/organizacje.
Ciałem nadzorującym od strony technicznej różne działania związane z uzyskiwaniem (rejestrowaniem) nazw domen, numerów Ip, numerów portów jest ICANN - Internet Corporation for Assigned Names and Numbers (http://www.icann.org/).
Oto fragment strony www.icann.org:
The Internet Corporation for Assigned Names and Numbers (ICANN) is a technical coordination body for the Internet. Created in October 1998 by a broad coalition of the Internet's business, technical, academic, and user communities, ICANN is assuming responsibility for a set of technical functions previously performed under U.S. government contract by IANA and other groups.
Specifically, ICANN coordinates the assignment of the following identifiers that must be globally unique for the Internet to function:
· Internet domain names
· IP address numbers
· protocol parameter and port numbers
In addition, ICANN coordinates the stable operation of the Internet's root server system.
As a non-profit, private-sector corporation, ICANN is dedicated to preserving the operational stability of the Internet; to promoting competition; to achieving broad representation of global Internet communities; and to developing policy through private-sector, bottom-up, consensus-based means. ICANN welcomes the participation of any interested Internet user, business, or organization.
ICANN utrzymuje internetowy serwis informacyjny (InterNIC), poprzez który jest możliwa rejestracja domen (http://www.internic.net).
Domeny górnego poziomu (http://www.internic.net):
1) arpa specjalna, wykorzystywana do odwzorowania adresów w nazwy.
2) Domeny podstawowe (organizacyjne):
com organizacje komercyjne
edu instytucje edukacyjne
gov organizacje rządowe w USA
mil wojsko USA
int organizacje międzynarodowe
net sieci
org inne organizacje
Nowe domeny podstawowe (www.internic.net), nie wszystkie działają:
aero przemysł lotniczy (http://www.sita.com/aero/info/compinfo.asp)
biz biznes (już działa) (http://www.nic.biz/)
info dowolne zastosowanie (już działa) (http://www.nic.info/)
museum muzea (http://www.nic.museum/)
name użytkownicy indywidualni (na razie test. http://www.nic.name/)
pro zawody (professions) (http://www.registrypro.com)
coop cooperatives (http://www.cooperative.org/)
3) Domeny krajowe (geograficzne), np.:
pl Polska
uk Zjednoczone Królestwo
at Austria
de Niemcy
us USA
Kiedyś domeny takie jak com, edu były zarezerwowane tylko dla USA, obecnie tak nie jest, np. wiele organizacji i firm spoza USA rejestruje się w domenie com.
Domeny drugiego poziomu – w wielu krajach domeny drugiego poziomu odzwierciedlają domeny organizacyjne pierwszego poziomu, ale ujmowane na swoim terytorium. Przykłady:
edu.pl, edu.com.
W niektórych krajach domeny drugiego poziomu określane są przez dwa znaki, nie trzy, np.:
co.uk (zamiast com.uk), ac.uk (instytucje akademickie).
W DNS (np. w plikach konfiguracyjnych) występują często tzw. absolutne nazwy domeny, inaczej zwane w pełni określonymi nazwami domeny (FQDN – Fully Qualified domain name). FQDN jest to nazwa domeny zakończona kropką (np. wsb-nlu.edu.pl. ). Jeśli nazwa nie jest zakończona kropką, to jest jakoś uzupełniana (przykład na podstawie analizy plików konfiguracyjnych).
Obszar, inaczej strefa (zone) jest częścią DNS, która jest oddzielnie administrowana. Domeny drugiego poziomu dzielone są na mniejsze strefy (zones). Z kolei strefy mogą być dalej dzielone. Występuje tu delegowanie zarządzania w dół struktury drzewa. Jednostka odpowiedzialna za zarządzanie daną strefą decyduje ile serwerów DNS będzie w strefie, rejestruje i udostępnia nazwy i numery IP nowych komputerów zainstalowanych w strefie.
Typy serwerów DNS:
W każdej strefie musi być uruchomiony podstawowy serwer DNS oraz pewna liczba serwerów drugoplanowych, zapewniających usługi w razie awarii serwera podstawowego. Serwer podstawowy pobiera dane z pliku, natomiast serwery drugoplanowe uzyskują dane od serwera podstawowego na drodze tzw. transferu strefy (zone transfer). Serwery drugoplanowe odpytują serwer podstawowy o dane w sposób regularny, zwykle co kilka godzin. Oprócz dwóch wymienionych rodzajów serwerów są jeszcze serwery podręczne (lokalne), których zadaniem jest zapamiętanie na pewien czas w pamięci podręcznej danych uzyskanych od innych serwerów tak, aby kolejne zapytania klientów mogły być obsłużone lokalnie.
Serwery DNS działają na portach 53 UDP oraz 53 TCP. Na ogół używany jest UDP. Wyjątkiem jest m.in. transmisja danych z serwera podstawowego do drugoplanowego (większe porcje danych) oraz komunikaty w sieciach WAN. Również kiedy w odpowiedzi od serwera (przez UDP) ustawiony jest bit TC (patrz niżej) ponawiane jest zapytanie z wykorzystaniem TCP.
W DNS są trzy typy poszukiwań:
Przeszukiwanie rekurencyjne – klient oczekuje od serwera żądanej informacji. W przypadku, gdy serwer nie przechowuje żądanej informacji, sam znajduje ją na drodze wymiany komunikatów z innymi serwerami.
Przeszukiwanie iteracyjne – występuje między lokalnym serwerem DNS a innymi serwerami DNS. Jeśli odpytywany serwer nie zna adresu szukanego IP, odsyła pytającego do innych serwerów (odpowiedzialnych za daną domenę).
Przeszukiwanie odwrotne – klient zna adres IP i chce uzyskać nazwę domenową (zapytanie wskazujące).
Komunikacja klienta z serwerem DNS.
Aplikacja, wykorzystująca nazwę domenową najpierw sprawdza, czy nie jest to nazwa hosta lokalnego, następnie sprawdza plik hosts - o ile istnieje - (np. /etc/hosts, C:\Windows\hosts). Jeśli tam nie znajdzie odpowiedniego wpisu, to wysyłane jest zapytanie do pierwszego serwera DNS, którego adres znajduje się w pliku konfiguracyjnym (np. /etc/resolv.conf, w Windows adresy serwerów DNS wpisujemy w ustawieniach TCP/IP).
Przykładowy plik /etc/resolv.conf
nameserver 149.156.78.3
nameserver 149.156.78.95
domain xyz.edu.pl
Podstawowe wpisy to – po słowie nameserver – numery IP kolejnych serwerów DNS, które mają być odpytywane w przypadku braku odpowiedzi od poprzedniego. Maksymalnie można wpisać trzy nazwy.
Linia ze słowem domain oznacza domyślną domenę (tzn. co ma być „doklejone” do nazwy w przypadku użycia nazw hosta, np. ftp gandalf).
Może się pojawić linia podobna do domain, ze słowem search, po którym jest maks. 6 nazw domen. Oznacza, że poszukiwania mają być prowadzone dla nazw z „doklejonymi” kolejno nazwami podanych domen.
Plik konfiguracyjny serwera /etc/named.boot (/etc/named.conf).
Omówienie na wykładzie:
Przykładowy plik /etc/named.boot
;
directory /var/named
cache . root.cache
primary xx.yy.edu.pl pl.edu.yy.xx
primary abc.yy.edu.pl pl.edu.yy.abc
primary 0.0.127.in-addr.arpa localhost.rev
primary 78.156.139.in-addr.arpa 139.156.78
; secondary servers
secondary pl 148.81.16.51 148.81.4.16
secondary edu.pl 148.81.16.51 148.81.4.16
Przykładowy plik pl.edu.yy.xx (pokazany na wykładzie).
Przykładowy plik 78.156.139.in-addr.arpa (pokazany na wykładzie).
Rekordy zasobów.
· SOA (Start of Authority) Rekord uwierzytelnienia – pierwszy rekord w pliku strefy, określa podmiot odpowiedzialny od tego punktu hierarchii „w dół”, np.:65.156.149.in-addr.arpa. IN SOA gandalf.xx.yy.edu.pl. root.gandalf.xx.yy.edu.pl. (
2001261106 ; Serial
86400 ; Refresh 24 hours
7200 ; Retry 2 hours
2592000 ; Expire 30 days
86400 ; Minimum 24 hours
)
lub:
@ SOA gandalf.xx.yy.edu.pl. root.gandalf.xx.yy.edu.pl. (
2001261104 ; Serial
xx.yy.edu.pl SOA gandalf.xx.yy.edu.pl. root.gandalf.xx.yy.edu.pl. (
· A Określenie adresu IP (32 bitowego), np.:lambda A ...
adanis