SIECI KOPMPUTEROWE I TECHNOLOGIE INTERNETOWE (SKiTI) Wykład 7 Model TCP/IP protokoły warstwy aplikacji Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II Opracowanie: dr inż. Tomasz Rutkowski Katedra Inżynierii Systemów Sterowania 1
Plan Wykładu 1. Wybrane technologie warstwy aplikacji Klient-Serwer, P2P, P2M 2. Wybrane protokoły warstwy aplikacji DNS, DHCP, SSL, SMTP, POP, IMAP, FTP, HTTP, Telnet, SSH, NNTP, SNTP, IRC, NTP, NetBIOS / NetBEUI, VoIP 2
Technologie Wybrane technologie warstwy aplikacji 3
Technologia Klient-Serwer W celu komunikowania się w sieci potrzebne jest połączenie pomiędzy dwoma rozmawiającymi ze sobą usługami (programami), komputerami Model Klient-Serwer dzieli usługi (programy), komputery na dwie kategorie: Klient Serwer 4
Technologia Klient-Serwer Serwer To program (proces, aplikacja, usługa) lub komputer (na którym jest uruchomiony ten program) świadczący usługi na rzecz innych programów (znajdujących się zazwyczaj na innych komputerach połączonych w sieć) Serwer udostępniania określone zasoby, usługi innym programom, komputerom lub pośredniczy w przekazywaniu danych między tymi programami, komputerami Przykłady serwerów: serwer WWW serwer aplikacji serwer baz danych 5
Technologia Klient-Serwer Klient To program lub komputer (na którym ten program jest uruchomiony) korzystający z usług dostarczanych przez serwer Przykłady klientów: przeglądarka internetowa programy pozwalające zdalnie korzystać z zasobów innych komputerów (np. telnet) 6
Technologia Klient-Serwer SERWER KLIENT 1 KLIENT N Pasywny Cechy Serwera Czeka na żądania od klientów W momencie otrzymania żądania, przetwarza je, a następnie wysyła odpowiedź Aktywny Cechy Klienta Wysyła żądania do serwera Oczekuje na odpowiedź od serwera 7
Technologia P2P P2P (ang. peer-to-peer) P2P to model komunikacji pomiędzy dwoma punktami (komputerami) w sieci, w którym obydwie strony mają zagwarantowane równorzędne prawa W sieciach P2P, każdy komputer znajdujący się w sieci może jednocześnie pełnić zarówno funkcję klienta, jak i serwera Można wyróżnić dwa rodzaje sieci P2P: z centralnym serwerem/serwerami bez centralnego serwera Sieć P2P charakteryzuje się zmienną strukturą, która zmienia się w zależności od tego, jakie komputery są w niej aktualnie zalogowane 8
Technologia P2M P2M (ang. Peer-to-mail) P2M to model wymiany plików przy pomocy poczty elektronicznej udostępniane pliki wysyła się w postaci załączników wiadomości e-mail na konkretne konto pocztowe (na serwer poczty) udostępnia się login i hasło (w postaci zaszyfrowanej) pliki pobiera się poprzez zalogowanie na podanym koncie i pobranie odpowiednich załączników (klient poczty) 9
Wybrane protokoły warstwy aplikacji 10
Protokoły warstwy aplikacji Model ISO/OSI Model TCP/IP Przykładowe protokoły Warstwa aplikacji Warstwa prezentacji Warstwa sesji Warstwa aplikacji DNS SNMP Telnet, SHH, FTP, SFTP, SMTP, POP, IMAP, HTTP, SHTTP Warstwa transportowa Warstwa transportowa UDP TCP Warstwa sieciowa Warstwa Internetu IP ICMP Warstwa łącza ARP, danych Warstwa dostępu RARP Warstwa fizyczna do sieci IEEE 802.3 PPP SLIP... 11
Protokoły warstwy aplikacji Zamiana nazwy komputera na jego adres IP: DNS Automatyczna konfiguracja parametrów sieciowych: DHCP Bezpieczna transmisja zaszyfrowanych danych: SSL Poczta elektroniczna: SMPT, POP, IMAP Transfer plików: FTP, SFTP Transfer stron WWW: HTTP, s-http, HTTPS Zdalne logowanie: Telnet, SSH Transmisja i odczytywanie listów z grup dyskusyjnych: NNTP Zarządzanie i monitorowanie urządzeń sieciowych: SNMP Chat: IRC Synchronizacja czasu: NTP... 12
DNS DNS (ang. Domain Name System) DNS to system (protokół i serwer) świadczący usługi zamieniania (rozwiązywania) nazwy komputera na jego adres IP Jest jedną z najważniejszych usług warstwy aplikacji (często nieświadomie wykorzystywaną przez użytkowników Internetu) Program który wysyła zapytania do serwerów DNS nazywany jest resolwerm (ang, resolver) Zapytania resolwera przesyłane są protokołem UDP (port 53) a odpowiedź z serwera DNS kierowana jest na port klienta z którego padło pytanie (zazwyczaj > 1024) 13
DNS Jak działa zamiana nazwy komputera na jego adres IP? (szukamy adresu IP hosta o nazwie www.pg.gda.pl) 1. Resolwer wysyła zapytanie do serwera DNS (oznaczmy go jako Serwer A) 2. Serwer (A) łączy się z jednym z głównych serwerów DNS i pyta o adres www.pg.gda.pl. Serwer główny nie ma informacji o zawartości domeny pl, wiec odpowiada listą kliku serwerów posiadających autoryzację dla domeny pl 3. Serwer (A) wysyła zapytanie o adres www.pg.gda.pl do jednego z serwerów domeny pl.. Serwer nazw domeny pl odpowiada, podając adresy serwerów DNS domeny gda.pl 4. Serwer (A) wysyła zapytanie o adres www.pg.gda.pl do jednego z serwerów domeny gda.pl.. Serwer nazw domeny gda.pl odpowiada, podając adresy serwerów DNS domeny pg.gda.pl 5. Serwer (A) wysyła zapytanie o adres www.pg.gda.pl do jednego z serwerów domeny pg.gda.pl.. Otrzymuje w odpowiedzi adres IP poszukiwanego hosta Główny Serwer DNS jeden z 13 serwerów DNS dla Internetu, zawiera informacje o adresach IP serwerów zarządzających domenami głównego poziomu 14
DNS Niektóre z instytucji administrujące DNS na świecie: ICANN-IANA IANA - nadzór ogólny nad nazewnictwem i strukturą domen najwyższego poziomu (TLD - ang. Top Level Domains), np.:.pl,.gov,.com VeriSign Global Registry Services - rejestracja i nadzór nad domenami:.net,.org,.com Rząd USA - rejestracja i nadzór nad domenami -.mil i.gov NeuLevel - rejestracja i nadzór nad domeną -.biz Afilias Limited - rejestracja i nadzór nad domeną -.info EurID - rejestracja i nadzór nad domeną -.eu rządy poszczególnych krajów: rejestracja i nadzór nad domenami "krajowymi", np..pl (zwykle rządy poszczególnych krajów przekazują ten nadzór wyspecjalizowanym instytucjom) 15
DNS Niektóre z instytucji administrujących DNS w Polsce: NASK - nadzór nad domeną.pl,, oraz obsługa rejestrowania domen:.com.pl,.biz.pl,.org.pl,.net.pl IPPT PAN - rejestracja domeny.gov.pl ICM -.art.pl,.mbone.pl TASK -.med.pl,.gda.pl,.gdansk.pl,.gdańsk.pl,.sopot.pl,.gdynia.pl 16
DNS Konfiguracja hosta np.: w Windows XP KROK 1 Należy wprowadzić: Adresy serwerów DNS Wybrać zakładkę: Zawansowane... 17
DNS Konfiguracja hosta np.: w Windows XP KROK 2 Wybrać zakładkę DNS Można dodać więcej niż dwa serwery DNS W polu Sufiks DNS dla tego połączenia można skonfigurować domenę domyślną 18
DHCP DHCP (ang. Dynamic Host Configuration Protocol) DHCP zapewnia automatyczną konfigurację parametrów sieciowych hostów (adres IP, maska, adres bramki itp.) wszystkie informacje w jednym pakiecie TCP/IP DHCP identyfikuje hostów na podstawie adresu sprzętowego MAC DHCP jest protokołem typu klient-serwer Serwer DHCP umożliwia stosowanie trzech mechanizmów przydzielania (alokacji) adresów IP: automatycznie host otrzymuje z serwera DHCP stały adres IP dynamicznie - host otrzymuje z serwera DHCP adres IP na określony czas ręcznie - host otrzymuje z serwera DHCP adres IP ręcznie określony przez administratora 19
DHCP Konfiguracja klienta DHCP np.: w Windows XP Należy zaznaczyć opcje: Uzyskaj adres serwera DNS automatycznie 20
SSL SSL (ang. Secure Socket Layer) SSL to protokół służący do bezpiecznej transmisji zaszyfrowanego strumienia danych SSL to zestandaryzowany zestaw znanych algorytmów szyfrowania i deszyfrowania (symetryczne, asymetryczne) oraz technik wykorzystywanych do zapewnienia bezpieczeństwa SSL składa się z dwóch protokołów: SSL Handshake definiuje metody negocjowania parametrów bezpiecznej sesji (algorytm szyfrujący, algorytm uwierzytelniania i itegralność informacji) SSL Record definiuje format przesyłanych pakietów danych Możliwość szyfrowania szerokiej gamy protokołów: HTTP, Telnet, SMTP, POP, IMAP, NNTP, FTP... W wersji 3 wykorzystuje algorytmy szyfrowania: DES, 3DES, IDEA, RC2, RC4, RSA, DSS, Diffiego-Hellmana 21
SSL Idea działania 1/2 klucz publiczny klucz prywatny Źródło: http://pl.wikipedia.org/wiki/kryptografia_klucza_publicznego 22
SSL Idea działania 2/2 Źródło: http://pl.wikipedia.org/wiki/kryptografia_klucza_publicznego 23
SSL Zasada działania SSL w strukturze klient-serwer: 1. Klient łączy się z serwerem. Podaje jakich algorytmów szyfrujących może używać 2. Serwer ustala wspólne algorytmy szyfrowania. Przesyła swój certyfikat (klucz publiczny) 3. Klient uwierzytelnia serwer za pomocą klucza publicznego CA (ang. Certificate Authority) certyfikatu instytucji godnej zaufania 4. Klient generuje klucz główny na podstawie dwóch liczb losowych i szyfruje go z pomocą klucza publicznego serwera, a efekt operacji przesyła do serwera 5. Serwer odkodowuje klucz główny klienta za pomocą swojego klucza prywatnego 6. Klient i serwer tworzą identyczne klucze sesji na podstawie klucza głównego i liczb wygenerowanych wcześniej przez klienta 7. Dane transmitowane kanałem SSL szyfrowane są kluczem sesji 24
SMTP SMTP (ang. Simple Mail Transfer Protocol) SMTP jest podstawowym protokołem transmisji poczty elektronicznej e-mail w Internecie różnorodne środowiska systemowe SMTP określa format komunikatów wymienianych pomiędzy klientem a serwerem SMTP oraz pomiędzy serwerami SMTP (komunikaty w postaci tekstu ASCII) SMTP często jest określany serwerem poczty wychodzącej SMTP do transportu wykorzystuje protokół TCP (port 25) Główne pola nagłówka SMTP to: From, To, Cc, Bcc, Subject, Date, Reply-to SMTP wykorzystuje protokół MIME (ang. Multipurpose Internet Mail Extensions), który daje możliwość podzielenia treści listu na części, przy czym każda może mieć inny typ (tekst, dane binarne grafika...) 25
POP POP (ang. Post Office Protocol) POP jest protokołem pocztowym za pomocą którego można odbierać pocztę z serwera Popularnie wykorzystywana wersja POP3 nie jest zgodna z poprzednimi wersjami tego protokołu POP3 do transportu wykorzystuje protokół TCP (port 110) POP3 w przeciwieństwie do SMTP wymaga zalogowania się do serwera login i hasło użytkownika 26
IMAP IMAP (ang. Internet Message Access Protocol) IMAP podobnie jak POP3 jest protokołem pocztowym za pomocą którego można odbierać pocztę z serwera Obecnie stosowana wersja IMAP ma o wiele bardziej rozbudowane możliwości od POP3 IMAP do transportu wykorzystuje protokół TCP (port 143) Umożliwia przechowywanie wiadomości na serwerze, podzielenie jej na foldery, zarządzać swoimi wiadomościami, wyszukiwać słowa w ich treści Użytkownik ma możliwość korzystania ze skrzynki pocztowej jakby miał ją skopiowaną na lokalnym komputerze 27
FTP FTP (ang. File Transfer Protocol) FTP jest protokołem transmisji i odbioru plików z odległych systemów FTP jest protokołem typu klient-serwer FTP do transportu wykorzystuje protokół TCP FTP wykorzystuje dwa porty: Port 20 (data) służy do transmisji danych (UDP) Port 21 (command, control) służy do przekazywania poleceń (ASCII) Typowo użytkownik ma możliwość połączenia się z serwem FTP anonimowo, lub po podaniu loginu i hasła Istnieją dwa tryby pracy protokołu FTP (z punktu widzenia protokołów warstw niższych): Tryb aktywny FTP (serwer FTP wykorzystuje porty 20 i 21) Tryb pasywny FTP (serwer FTP wykorzystuje porty 21 i >1024) 28
HTTP HTTP (ang. Hypertext Transfer Protocol) HTTP jest odpowiedzialny za przesyłanie w Internecie stron WWW HTTP jest protokołem typu klient-serwer HTTP do transportu wykorzystuje protokół TCP (port 80) W protokole HTTPS, protokół HTTP jest enkapsulowany przez strumień SSL tworzony jest bezpieczny kanał transmisji (port 443) S-HTTP (ang. Secure HTTP) ) to protokół zorientowany na bezpieczną transmisję pojedynczych komunikatów protokołu HTTP 29
Telnet Telnet (ang. Network Terminal Protocol) Jest terminalem protokołu sieciowego, służy do zalogowania się i zdalnej pracy na odległym komputerze z wykorzystaniem konsoli tekstowej Wykorzystywany głównie do pracy zdalnej w powłoce systemów uniksowych Transmisja za jego pośrednictwem odbywa się bez żadnego kodowania (nieuprawnione osoby mogą uzyskać login i hasło do konta na serwerze) 30
SSH SSH (ang. Secure Shell Login) Jest bezpiecznym protokołem terminalu sieciowego udostępniającym usługi szyfrowania połączenia Ma za zadanie zastąpienie starych i niebezpiecznych poleceń umożliwiających zdalne logowanie (np. telnet) Aktualnie istnieją dwie wersje protokołu ssh1 i ssh2 ssh2 kompatybilny w dół z ssh1 SSH wykorzystuje technologię przekierowywania niechronionych połączeń poprzez chroniony kanał ssh1 jest uważany za mało bezpieczny (są programy umożliwiające przejęcie sesji ssh1) 31
NNTP NNTP (ang. Network News Transfer Protocol) Jest to protokół transmisji USENET-owej NNTP służy do transmisji listów na grupę dyskusyjną i ich odczytywania z grup dyskusyjnych Artykuły (listy, posty) są przechowywane na serwerze Serwerów grup dyskujnych jest wiele i wymieniają się one bazą danych o artykułach USENET to jedno z bardziej rozpoznawalnych forów publicznych dyskusji w Internecie Codziennie internauci z całego świata publikują na jego grupach dyskusyjnych około 1,2 miliona wiadomości 32
SNMP SNMP (ang. Simple Network Management Protocol) Jest protokołem stworzonym do monitorowania stanu sieci Jest protokołem typu klient-serwer (we własnej technologii menadżer-agent) agent) Agent (serwer) działa na obsługiwanym urządzeniu i monitoruje jego stan Menadżer (klient) działa na stacji zarządzającej siecią i wysyła zapytania i odbiera odpowiedzi od agenta 33
SNMP AGENT Serwer 2 AGENT Router 1 MENADŻER Stacja zarządzająca siecią sieć AGENT Serwer 1 34
IRC IRC (ang. Internet Relay Chat) Jest to protokół służący do prowadzenia rozmów za pomocą konsoli tekstowej Jedna ze starszych usług sieciowych Jest to usługa funkcjonująca w technologii klient-serwer 35
NTP NTP (ang. Network Time Protocol) Jest to protokół służący do synchronizacji czasu na wielu serwerach Jeden serwer jest wybierany jako źródło podstawy czasu, a pozostałe co pewien czas pytają go o aktualny czas i w razie konieczności modyfikują swój czas systemowy NTP tworzy 4 warstwową strukturę obejmującą Internet: Warstwa 1: serwery mające bezpośredni dostęp do zegarów atomowych Warstwa 2: serwery połączone z serwerami Warstwy 1 Warstwa 3: serwery znajdujące się w sieciach lokalnych Warstwa 4: samodzielne komputery korzystające z serwerów 36
NetBIOS / NetBEUI NetBIOS (ang. Network Basic Input/Output System) NetBIOS nie jest protokołem sieciowym, jest interfejsem programowym aplikacji API (ang. Application Program Interface) Pierwotnie opracowany przez firmę IBM, następnie wykorzystany przez Microsoft, który zaimplementował w swoich produktach protokół NetBEUI (wykorzystujący NetBIOS) NetBEUI zapewnia automatyczną konfigurację i dostrajanie się do parametrów sieci (małe sieci LAN z komputerami opartymi o systemy firmy Microsoft) NetBIOS rozwiązuje i rejestruje nazwy netbiosowych hostów w sieci Każdy host musi mieć swoją unikalną nazwę, która jest mapowana przez NetBIOS na adres IP Umożliwia przeglądanie zasobów sieciowych Jest protokołem nierutowalnym, przystosowanym do enkapsulacji przez TCP/IP 37
VoIP VoIP (ang. Voice over IP) VoIP jest to zestaw protokołów zapewniający transmisję dźwięku poprzez protokół IP, są to między innymi: SIP (ang. Session Initiation Protocol) ) służący do zestawienia komunikacji pomiędzy punktami końcowymi sieci SDP (ang. Sesion Description Protocol) ) opisuje parametry stacji końcowej (IP, kodeki) RTP (ang. Real Time Transport Protocol) ) przenosi rozmowę pomiędzy punktami końcowymi sieci Technologia VoIP umożliwia wykonywanie w sposób przezroczysty rozmów telefonicznych pomiędzy użytkownikami telefonów VoIP i telefonów stacjonarnych Telefony VoIP istnieją w formie telefonów podłączeniowych jak i oprogramowania instalowanego na komputerze PC 38
Bibliografia Przykładowa Literatura: K. Jamsa. Programowanie WWW. Warszawa, 1997. NIKOM K. Krysiak. Sieci Komputerowe. Gliwice, 2005. Helion M. Sportack. Sieci Komputerowe, Księga Eksperta. Gliwice, 2005. Helion 39
Dziękuję za uwagę!!! 40