Wykład10.doc

(110 KB) Pobierz
Inicjalizacja Winsock

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

                                                        86400              ; Refresh 24 hours

                                                            7200              ; Retry   2 hours

                                                        2592000              ; Expire  30 days

                                                           86400              ; Minimum 24 hours

                                          )

lub:

xx.yy.edu.pl   SOA              gandalf.xx.yy.edu.pl.               root.gandalf.xx.yy.edu.pl. (

                                                        2001261104              ; Serial

                                                        86400              ; Refresh 24 hours

                                                            7200              ; Retry   2 hours

                                                        2592000              ; Expire  30 days

                                                           86400              ; Minimum 24 hours

                                          )

 

·         A                                          Określenie adresu IP (32 bitowego), np.:
lambda                            A              ...

Zgłoś jeśli naruszono regulamin