0708z sieciTM w07


Sieci komputerowe
wykład dla II roku Inf. zao w filiii UA w Tomaszowie Maz.
2007/2008
wykład 7
Agata Półrola
Wydział Matematyki i Informatyki UA
http://www.math.uni.lodz.pl/~polrola
Modele pracy w sieci
Model klient - serwer

Podstawowym modelem interakcji między
programami użytkowymi jest model
klient  serwer
Model klient  serwer  c.d.

Serwer  każdy program oferujący usługę
dostępną przez sieć. Przyjmuje przez sieć
zamówienia, wykonuje usługę i zwraca
wyniki zamawiającemu

Klient  program wysyłający zamówienia
do serwera i korzystający z jego usług
Różnice
między klientem a serwerem

Serwer rozpoczyna działanie zanim
rozpocznie współpracę przez sieć;
zazwyczaj działa w sposób ciągły,
przyjmując zlecenia i odpowiadając na nie

Klient wysyła zlecenia i czeka na ich
realizację, zwykle kończąc działanie po
kilkakrotnym skorzystaniu z usługi
udostępnianej przez serwer
Różnice między
klientem a serwerem  c.d.

Serwer oczekuje na zlecenia korzystając
z zarezerwowanego portu, przeznaczonego
dla usługi którą oferuje

Klient na potrzeby swojej komunikacji
rezerwuje dowolny, nie zarezerwowany
i nie używany port

Przypisanie każdej usłudze jednoznacznego
identyfikatora portu ułatwia tworzenie zarówno
klientów, jak i serwerów
Alternatywa
dla modelu klient - serwer

Alternatywą jest rozgłaszanie informacji na
dany temat przez określone maszyny

Każdy z komputerów przechowuje
w pamięci podręcznej uzyskane informacje

dane te można łatwo udostępnić

rozwiązanie zużywające czas procesora oraz
obciążające sieć
System odwzorowywania nazw
Domain Name System
Zapotrzebowanie

Użytkownicy sieci wolą korzystać z nazw
(np. www.wp.pl) zamiast z adresów IP

Protokoły sieciowe wymagają do
komunikacji adresów IP

Nazwy należy zatem przetłumaczyć na
odpowiadające im adresy IP

w większości przypadków tłumaczenie to jest
wykonywane automatycznie, a wynik nie jest
przedstawiany użytkownikowi, tylko
zachowywany w pamięci i wykorzystywany do
przesyłania datagramów
Interakcja klient - serwer

Działanie oprogramowania dokonującego
tłumaczenia nazw na adresy IP jest przykładem
interakcji klient  serwer

Gdy program ma przetłumaczyć nazwę, staje się
klientem systemu nazw:

baza danych z nazwami jest rozproszona po serwerach w
cały, Internecie

klient wysyła do serwera nazw komunikat
z zapytaniem, serwer odnajduje odpowiedni adres i wysyła
komunikat z odpowiedzią

jeśli serwer nie potrafi udzielić odpowiedzi, to staje się
tymczasowo klientem innych serwerów, dopóki nie znajdzie
odpowiedzi na pytanie

DNS  Domain Name System  system
nazw domen (dziedzin)
Struktura nazw

Nazwa  ciąg znaków alfanumerycznych. którego
poszczególne człony pooddzielane są kropkami

Nazwy domen są zhierarchizowane. Najbardziej
znacząca część nazwy znajduje się po prawej
stronie, skrajna lewa część jest zazwyczaj nazwą
konkretnego komputera

Liczba członów nazwy może być dowolna,
system nazw nie narzuca również co reprezentują
poszczególne człony nazwy. Decyzje o postaci
nazwy podejmowane są lokalnie
Struktura nazw  c.d.

Najbardziej znaczący człon nazwy to tzw.
główny poziom DNS

Najważniejsze domeny głównego poziomu
(tzw. top-level domains):

.com, .edu, .gov, .mil, .net, .org, .arpa, .int

kody krajów
System DNS

Oprócz reguł dotyczących nazw i podziału
odpowiedzialności za nazwy, system DNS
zawiera również rozproszony system
odwzorowywania nazw na adresy
System DNS  c.d.

System odwzorowywania nazw działa
w następujący sposób:

większość nazw można odwzorować lokalnie,
tylko niewiele zapytań wymaga przesyłania
komunikatów w intersieci

system określa się jako niezawodny  awaria
pojedynczej maszyny nie powoduje
niepoprawnej pracy systemu
System DNS  c.d.

System rozproszony  złożony z wielu
serwerów znajdujących się w różnych
ośrodkach.

Serwery są niezależne, ale współpracują ze
sobą przy odwzorowywania nazw

Dla każdej domeny istnieje serwer DNS,
który jest za nią odpowiedzialny
Drzewo serwerów DNS
serwer główny
serwer serwer
.com .pl
serwer
.edu
serwer
.edu.pl

w praktyce powyższy schemat
jest bardziej skomplikowany
Drzewo serwerów DNS  c.d.

Ze względu na efektywność działania systemu
istnieje kilka serwerów głównych (root servers)

Serwery główne przechowują listy serwerów
DNS odpowiedzialnych za domeny głównego
poziomu

Serwer danej domeny przechowuje informacje
o serwerach odpowiedzialnych za poddomeny tej
domeny (jest tak na każdym poziomie drzewa)
Drzewo serwerów DNS  c.d.

Krawędzie drzewa nie mają nic wspólnego
z fizycznymi połączeniami między serwerami;
serwery mogą znajdować się w dowolnym
miejscu Internetu

W praktyce drzewo serwerów jest dość płytkie;
pojedynczy serwer może przechowywać
informacje dotyczące większej części hierarchii
nazw niż wynika z przedstawionego schematu
Odwzorowywanie nazw

Klient wysyła zapytanie do  znanego mu
serwera DNS

Serwer DNS sprawdza, czy otrzymane zapytanie
dotyczy poddomeny za którą odpowiada.

jeśli tak  udziela odpowiedzi, korzystając ze swojej
bazy danych

jeśli nie  podejmuje jedno z dwóch możliwych
działań, w zależności od typu zapytania które
przesłał klient:
Odwzorowywanie nazw  c.d.

jeżeli klient zażądał pełnego tłumaczenia (tzw.
rekurencyjnego odwzorowywanie nazw), to
serwer DNS kontaktuje się z innym serwerem
DNS, który potrafi obsłużyć zapytanie klienta,
uzyskuje od niego odpowiedz i przesyła ją
klientowi

jeżeli klient zażądał nierekurencyjnego (tzw.
iteracyjnego) odwzorowania nazw, serwer DNS
informuje klienta o adresie następnego serwera
z którym klient powinien się skontaktować
Odwzorowywanie nazw  c.d.

Nielokalne odwzorowanie nazwy wymaga
zazwyczaj albo skontaktowania się
z serwerem głównym, albo skorzystania
z informacji uzyskanej wcześniej od
takiego serwera
Odwzorowywanie nazw  c.d.

klient powinien znać adres przynajmniej
jednego serwera DNS

każdy serwer DNS musi znać adres
przynajmniej jednego serwera głównego

serwer DNS zazwyczaj zna również adres
serwera DNS domeny bezpośrednio
nadrzędnej (tzw. domeny macierzystej)
(np. serwer domeny math.uni.lodz.pl zna adres serwera
domeny uni.lodz.pl)
Odwzorowywanie nazw  c.d.

W celu zapewnienia większej efektywności
działania systemu serwery DNS przechowują
w pamięci podręcznej informacje uzyskane od
innych serwerów DNS (są to ostatnio
odwzorowane nazwy wraz z informacjami, skąd
została uzyskana odpowiedz).

Mechanizm ten jest skuteczny, jeśli powiązania
nazw z adresami nie zmieniają się zbyt często
Odwzorowywanie nazw  c.d.

W przypadku otrzymania zapytania, którego nie
można odwzorować lokalnie, sprawdzana jest
zawartość pamięci podręcznej. Jeśli znajduje się
w niej odpowiedz, serwer odsyła ją klientowi,
informując, że jest ona nie w pełni wiarygodna
(tzw. non-authoritative answer). Podaje również
adres serwera, od którego ją otrzymał
Odwzorowywanie nazw  c.d.

Serwery przechowują uzyskane informacje tylko
przez jakiś czas. Jeśli po jego upływie serwer
ponownie otrzyma zapytanie o usuniętą
z pamięci podręcznej nazwę, to musi ponownie
skontaktować się z odpowiednim serwerem
DNS i uzyskać potrzebne informacje

Czas przechowywania informacji w pamięci
podręcznej określany jest przez serwer, od
którego ta informacja została uzyskana
Rodzaje serwerów DNS

Daną domenę może obsługiwać:

serwer  pierwszorzędny dla tej domeny (tzw.
primary lub master server), posiadający bazę danych
opisującą zawartość domeny

jeden lub kilka serwerów pomocniczych
(drugorzędnych, tzw. secondary lub slave servers),
udzielające odpowiedzi na podstawie
przechowywanej kopii bazy danych serwera
głównego. Kopia ta jest okresowo uaktualniana

Istnieją również tzw. serwery  keszujące (cache
servers), nie posiadające własnych baz, a jedynie
pamięć podręczną
Domeny odwrotne

Serwery domen tzw. prostych (jak
math.uni.lodz.pl, wp.pl) umożliwiają
przetłumaczenie nazwy na adres IP

Serwery domen tzw. odwrotnych (reversed
domains) umożliwiają przetłumaczenie
adresu IP na nazwę


Wyszukiwarka