1. Model klient-serwer

Podobne dokumenty
Protokoły sieciowe - TCP/IP

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Programowanie Sieciowe 1

Architektura aplikacji sieciowych. Architektura klient-serwer

Programowanie współbieżne i rozproszone

Klient-Serwer Komunikacja przy pomocy gniazd

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Technologie internetowe

Dr Michał Tanaś(

Sieci komputerowe i bazy danych

Protokoły internetowe

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Model sieci OSI, protokoły sieciowe, adresy IP

Przesyłania danych przez protokół TCP/IP

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Stos TCP/IP. Warstwa aplikacji cz.2

PROTOKOŁY WARSTWY TRANSPORTOWEJ

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

SSL (Secure Socket Layer)

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Laboratorium 3.4.3: Usługi i protokoły

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

ZiMSK. Konsola, TELNET, SSH 1

Bazy Danych i Usługi Sieciowe

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Sieci komputerowe Warstwa aplikacji

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Sieci komputerowe. Wykład 1: Podstawowe pojęcia i modele. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Adres IP

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Programowanie sieciowe

Bezpieczeństwo poczty elektronicznej

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Lab5 - Badanie protokołów pocztowych

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Dr Michał Tanaś(

I.Wojnicki, Tech.Inter.

Sieci komputerowe - Protokoły warstwy transportowej

Sieci komputerowe Warstwa transportowa

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Laboratorium Sieci Komputerowych - 2

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

Mechanizmy pracy równoległej. Jarosław Kuchta

Wstęp. Sieci komputerowe. Wykład 1. Marcin Bieńkowski

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński.

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Bazy Danych i Usługi Sieciowe

Wybrane działy Informatyki Stosowanej

Sieci Komputerowe Modele warstwowe sieci

Protokoły zdalnego logowania Telnet i SSH

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Warstwy i funkcje modelu ISO/OSI

Moduł 11.Warstwa transportowa i aplikacji Zadaniem warstwy transportowej TCP/IP jest, jak sugeruje jej nazwa, transport danych pomiędzy aplikacjami

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Plan wykładu. 1. Poczta elektroniczna protokół SMTP, protokół POP, protokół IMAP. 2. Zdalna praca - Telnet. 3. Transfer plików usługa FTP.

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Tomasz Greszata - Koszalin

Specyfikacja techniczna. mprofi Interfejs API

Programowanie rozproszone w języku Java

5. Model komunikujących się procesów, komunikaty

Telefonia Internetowa VoIP

Remote Quotation Protocol - opis

Adresy w sieciach komputerowych

Aplikacja Sieciowa wątki po stronie klienta

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Podstawowe typy serwerów

Laboratorium - Obserwacja procesu tłumaczenia nazw DNS

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2012 POCZTA ELEKTRONICZNA PROTOKÓŁ SMTP PRZYKŁADY KOMUNIKACJI

Transport. część 1: niezawodny transport. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Java wybrane technologie

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Sieci komputerowe Computer networks. Informatyka I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

TCP/IP formaty ramek, datagramów, pakietów...

B.B. Połączenie kończy polecenie exit.

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Sieci komputerowe Wykład

Teoria sieci komputerowych

ZiMSK. mgr inż. Artur Sierszeń mgr inż. Łukasz Sturgulewski ZiMSK 1

INFORMATYKA dla kierunku MECHATRONIKA

Transkrypt:

1. 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podziała zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy usługę lub udostępnia zasoby Komunikacja między klientem i serwerem realizowana jest w warstwie aplikacji. Typowy schemat pracy klienta: 1. Nawiązuje kontakt z serwerem 2. Wysyła do serwera żądanie wykonania usługi i czeka na odpowiedź 3. Po otrzymaniu odpowiedzi od serwera kontynuuje działanie. Typowy schemat pracy serwera: 1. Rozpoczyna pracę i zasypia czekając na klienta, który się z nim skontaktuje. 2. Gdy otrzyma zlecenie klienta budzi się i wykonuje usługę. 3. Po zakończeniu wykonywania usługi zasypia i czeka na nadejście następnego żądania. Rodzaje usług standardowe zdefiniowane w standardach RFC niestandardowe wszystkie inne 1

1.2. Klient Charakterystyka klienta wywoływany przez użytkownika, który chce skorzystać z usługi aktywnie inicjuje kontakt z serwerem działa lokalnie na komputerze użytkownika nie wymaga specjalnych uprawnień systemowych może kontaktować się z wieloma serwerami, ale w danej chwili aktywnie komunikuje się tylko z jednym Wymagania dla klienta Przykłady usług standardowych: zdalnie działający terminal (ang. remote terminal client) - protokół TELNET poczta elektroniczna (ang. electronic mail client) protokół SMTP przesyłanie plików między komputerami (ang. file transfer client) protokół FTP Parametryzacja - dostęp do serwerów wielu usług Przykład: telnet oceanic.wsisiz.edu.pl (telnet) telnet oceanic.wsisiz.edu.pl 25 (smtp) 1.3. Serwer Charakterystyka serwera uruchamiany automatycznie przy starcie systemu czeka pasywnie na zgłoszenia od dowolnych klientów działa na publicznie dostępnym komputerze jest specjalizowanym, uprzywilejowanym programem, którego zadaniem jest świadczenie konkretnej usługi zwykle świadczy jedną usługę, ale może obsługiwać wielu klientów Wymagania dla serwera Działa w trybie uprzywilejowanym, jeśli musi mieć dostęp do zasobów chronionych Obsługa wielu klientów sekwencyjna (serwer iteracyjny) kilka zgłoszeń jednocześnie (serwer współbieżny) Zapewnienie bezpiecznej pracy: uwierzytelnianie (ang. authentication) - sprawdzenie tożsamości klienta kontrola uprawnień (ang. autorization) - sprawdzenie, czy dany klient ma prawo dostępu do usługi realizowanej przez serwer ochrona danych (ang. security) - zabezpieczenie danych przez niezamierzonym naruszeniem lub ujawnieniem poufność (ang. privacy) - zabezpieczenie przed dostępem nieupoważnionych użytkowników ochrona zasobów (ang. protection) - zabezpieczenie zasobów systemowych przed niewłaściwym użyciem programów użytkowych działających w sieci 2

1.4. Protokół warstwy aplikacji Protokół jest to zbiór reguł, których muszą przestrzegać klient i serwer, aby mogły się ze sobą komunikować. Przykład: Czas Klient Połącz z serwerem Żądanie pobrania pliku Czekaj na plik Rozłącz Serwer Czekaj na połączenie Czekaj na żądanie pobrania pliku Wyślij plik Przykład: protokół SMTP Klient (otwiera połączenie) EHLO wp.pl MAIL FROM:adam@wp.pl RCPT To: dorota@poczta.onet.pl DATA Serwer 220 poczta.onet.pl Wed, 10 Sep 2004 20:45:41 +0200 250-poczta.onet.pl Hello wp.pl [213.135.45.70], pleased to meet you 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-SIZE 250-DSN 250-ONEX 250-ETRN 250-XUSR 250 HELP 250 2.1.0 <adam@wp.pl>... Sender ok 250 2.1.5 <dorota@poczta.onet.pl>... Recipient ok 354 Enter mail, end with "." on a line by itself From: adam@wp.pl To: dorota@poczta.onet.pl Subject: Test Czesc!.. QUIT (Połączenie zamknięte) 250 2.0.0 h8aijfe01432 Message accepted for delivery 221 2.0.0 poczta.onet.pl closing connection Każdy przesłany wiersz kończy się znakami CRLF (carriage return, line feed) 3

Przykład: protokół HTTP żądanie i odpowiedź GET /~projekt/index.html HTTP/1.1. Host: oceanic.wsisiz.edu.pl Connection: close HTTP/1.1 200 OK Date: Sat, 25 Feb 2006 09:09:01 GMT Server: Apache Last-Modified: Tue, 15 Nov 2005 14:54:42 GMT ETag: "1c8627-c9e-4059bc4859080" Accept-Ranges: bytes Content-Length: 3230 Connection: close Content-Type: text/html dane dane dane... Ogólna postać żądania: metoda sp URL sp wersja cr lf wiersze nagłówków cr lf dane Ogólna postać odpowiedzi: wersja sp kod odpowiedzi sp opis cr lf wiersze nagłówków cr lf dane 4

1.5. Komunikacja - protokół transportowy: TCP czy UDP Typy komunikacji Wyróżnia się następujące typy komunikacji: strumieniowa (stream) pomiędzy dwoma punktami końcowymi przesyłany jest strumień bajtów (w obydwu kierunkach). Na strumień ten nie jest nakładana żadna określona struktura. Wysyłane dane mogą być agregowane lub dzielone. Przykład protokołu strumieniowego: TCP datagramowa (datagram) wysyłany jest pojedynczy komunikat od nadawcy do odbiorcy, bez nawiązywania połączenia. Przykład protokołu datagramowego: UDP rozgłoszeniowa (broadcast) komunikat jest wysyłany do wszystkich jednostek w sieci, nie trzeba ustalać odbiorcy, oparty jest na UDP. rozgłoszeniowa ograniczona (multicast) komunikat jest wysyłany do grupy odbiorców, trzeba taką grupę zdefiniować, oparty jest na UDP. Protokoły warstwy transportowej Komunikacja jest realizowana w oparciu o protokoły warstwy transportowe, takie jak. TCP i UDP. Protokół TCP połączeniowy, niezawodny, dane są przesyłane w postaci strumienia bajtów Protokół UDP bezpołączeniowy, zawodny, dane przesyłane w postaci datagramów określonej długości, możemy je traktować tak jak rekordy Serwer: połączeniowy (ang. connection-oriented) oparty na TCP bezpołączeniowy (ang. connectionless) oparty na UDP O wyborze decyduje protokół aplikacyjny: niezawodność uporządkowanie pakietów sterowanie przepływem pełny duplex narzuty czasowe Przykład: kiedy zazwyczaj stosuje się protokół UDP wymaga tego protokół aplikacji ale wtedy zawiera mechanizmy zapewniające niezawodność czasochłonność obsługi lub opóźnienia uniemożliwiają poprawne działanie aplikacji protokół aplikacji korzysta z trybu rozgłaszania Przykłady: Aplikacja Protokół warstwy aplikacji Protokół transportowy Poczta SMTP (RFC 2821) TCP Zdalny dostęp do terminala Telnet (RFC 854) TCP WWW HTTP(RFC 2616) TCP Zdalne przesyłanie plików FTP (RFC 959) TCP Zdalny serwer plików NFS (McKusnik 1996) UDP lub TCP Strumieniowe usługi multimedialne Często własność producenta UDP lub TCP 5

1.6. Własny protokół warstwy aplikacji Projektowanie własnego protokołu wymaga podjęcia takich decyzji jak: format wymienianych komunikatów, czy serwer będzie bierny czy aktywny, czy serwer ma przetwarzać polecenia pojedynczo, czy protokół będzie wymagał nawiązania sesji, czy protokół będzie tekstowy czy binarny, czy będzie uwzględniał uwierzytelnianie, czy będzie zapewniał poufność. Należy przeczytać: Douglas E. Comer, David L. Stevens: Sieci komputerowe TCP/IP, tom 3: str. 35-48 W. Richard Stevens: Unix, programowanie usług sieciowych, tom 1: API gniazda i XTI: str. 82-137 6