Sieci komputerowe Modele pracy w sieci Model klient
Transkrypt
Sieci komputerowe Modele pracy w sieci Model klient
Sieci komputerowe wykład 12 Modele pracy w sieci rok ak. 2004/2005 Agata Półrola Katedra Informatyki Stosowanej UŁ [email protected] http://www.math.uni.lodz.pl/~polrola Model klient - serwer Model klient – serwer – c.d. Podstawowym modelem interakcji mi dzy programami u ytkowymi jest model klient – serwer 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 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 – 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 Domain Name System Zapotrzebowanie Interakcja klient - serwer 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 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: 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 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 Struktura nazw DNS – Domain Name System – system nazw domen (dziedzin) Struktura nazw – c.d. System DNS Najbardziej znacz cy człon nazwy to tzw. główny poziom DNS Najwa niejsze domeny głównego poziomu (tzw. top-level domains): System DNS – c.d. System odwzorowywania nazw działa w nast puj cy sposób: Oprócz reguł dotycz cych nazw i podziału odpowiedzialno ci za nazwy, system DNS zawiera równie rozproszony system odwzorowywania nazw na adresy .com, .edu, .gov, .mil, .net, .org, .arpa, .int kody krajów System DNS – c.d. 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 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 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 Drzewo serwerów DNS – c.d. serwer główny serwer .com serwer .pl serwer .edu serwer .edu.pl 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) w praktyce powy szy schemat jest bardziej skomplikowany Drzewo serwerów DNS – c.d. Odwzorowywanie nazw 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 – 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) 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 odpowied 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. Klient wysyła zapytanie do „znanego mu” serwera DNS Serwer DNS sprawdza, czy otrzymane zapytanie dotyczy poddomeny za któr odpowiada. 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. 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 odpowied ). 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 odpowied , 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ł Rodzaje serwerów DNS 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 Domena odwrotna ma posta odwrócony_numer_sieci.in-addr.arpa np. 65.192.212.in-addr.arpa serwer DNS tej domeny umo liwia tłumaczenie adresów IP nale cych do sieci 212.191.65.0 na nazwy 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 Domeny odwrotne Dan domen mo e obsługiwa : Odwzorowywanie nazw – c.d. Domena prosta nie musi odpowiada domenie odwrotnej (ani na odwrót) np. dwa komputery w tej samej sieci fizycznej (a wi c domenie odwrotnej) mog by zarejestrowane w dwóch ró nych domenach prostych 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