Pobierz - zszwg.edu.pl
Transkrypt
Pobierz - zszwg.edu.pl
Protokoły internetowe O czym powiem? • • • • • • Wstęp Model OSI i TCP/IP Architektura modelu OSI i jego warstwy Architektura modelu TCP/IP i jego warstwy Protokoły warstwy transportowej Protokoły warstwy aplikacji Wstęp Protokół internetowy jest to podzbiór protokołów komunikacyjnych, mający zastosowanie w środowisku Internetu. Protokoły internetowe jest to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia w celu nawiązania łączności i wymiany danych. Model OSI i TCP/IP Architektura ISO/OSI • Model wzorcowy ISO OSI (angielskie Open System Interconnection Reference Model), jest kompleksowy standard komunikacji sieciowej (ISO 7498). Proces komunikacji wg tego modelu został podzielony na 7 etapów, zwanych warstwami, ze względu na sposób przechodzenia informacji pomiędzy nimi. Architektura ISO/OSI • Według modelu OSI każdy protokół komunikuje się ze swoim odpowiednikiem, będącym implementacją tego samego protokołu w równorzędnej warstwie komunikacyjnej systemu odległego. Architektura ISO/OSI • Dane przekazywane są od wierzchołka stosu, poprzez kolejne warstwy, aż do warstwy fizycznej, która przesyła je poprzez sieć do odległego hosta. 1. Warstwa fizyczna • Zapewnia transmisję danych pomiędzy węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Określa m.in. sposób połączenia mechanicznego, elektrycznego, standard fizycznej transmisji danych. W skład jej obiektów wchodzą min.: przewody, karty sieciowe, modemy, wzmacniacze, koncentratory. 2. Warstwa łącza danych • Zapewnia niezawodność łącza danych. Definiuje mechanizmy kontroli błędów w przesyłanych ramkach lub pakietach - CRC (Cyclic Redundancy Check). Jest ona ściśle powiązana z warstwą fizyczną, która narzuca topologię. 2. Warstwa łącza danych • Warstwa ta często zajmuje się również kompresją danych. W skład jej obiektów wchodzą sterowniki urządzeń sieciowych, np.: sterowniki kart sieciowych oraz mosty i przełączniki. 3. Warstwa sieciowa • Zapewnia metody ustanawiania, utrzymywania i rozłączania połączenia sieciowego. Obsługuje błędy komunikacji. Ponadto jest odpowiedzialna za trasowanie pakietów w sieci, czyli wyznaczenie optymalnej trasy dla połączenia. 3. Warstwa sieciowa • W niektórych warunkach dopuszczalne jest gubienie pakietów przez tę warstwę. W skład jej obiektów wchodzą min.: rutery. 4. Warstwa transportowa • Zapewnia przezroczysty transfer danych typu pointto-point. Dba o kolejność pakietów otrzymywanych przez odbiorcę. Sprawdza poprawność przesyłanych pakietów i w przypadku ich uszkodzenia lub zaginięcia, zapewnia ich retransmisję. 5. Warstwa sesji • Zapewnia aplikacjom na odległych komputerach realizację wymiany danych pomiędzy nimi. Kontroluje nawiązywanie i zrywanie połączenia przez aplikację. Jest odpowiedzialna za poprawną realizację zapytania o daną usługę. 5. Warstwa sesji • Do warstwy tej można zaliczyć funkcje API udostępniane programiście przez bibliotekę realizującą dostęp do sieci na poziomie powyżej warstwy transportowej takie jak np. biblioteka strumieni i gniazdek BSD. 6. Warstwa prezentacji • Zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię. Umożliwia przekształcenie danych na postać standardową, niezależną od aplikacji. Rozwiązuje takie problemy jak niezgodność reprezentacji liczb, znaków końca wiersza, liter narodowych itp. Odpowiada także za kompresję i szyfrowanie. 7. Warstwa aplikacji • Zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi końcowe dla aplikacji, min.: udostępnianie zasobów (plików, drukarek). Na tym poziomie rezydują procesy sieciowe dostępne bezpośrednio dla użytkownika. Protokoły modelu TCP/IP • W warstwie transportowej: • • • • TCP SSL NetBEUI UDP Protokoły modelu TCP/IP • W warstwie aplikacji • • • • • FTP HTTP SMTP SSH POP3 Warstwa transportu - TCP • TCP (Transmission Control Protocol) Strumieniowy protokół komunikacji między dwoma komputerami. Twórcy: Vinton Cerf i Robert Kahn. Jest to część większej całości określanej jako stos TCP/IP. TCP zapewnia wiarygodne połączenie dla wyższych warstw komunikacyjnych(sumy kontrolne i numery sekwencyjne pakietów). Obsługa brakujących pakietów – retransmisja. Odebrane pakiety są porządkowane według numerów sekwencyjnych. TCP c.d. Aplikacje, w których jest wykorzystywany protokół TCP to: • HTTP • FTP • SSH • IMAP • SMTP • POP3 • inne Warstwa transportu - SSL • SSL (Secure Sockets Layer) Protokół, w pierwotnej wersji zaprojektowany przez firmę Netscape Communications Corporation, zapewniający integralność i poufność transmisji danych oraz uwierzytelnianie. Opierał się na szyfrach asymetrycznych oraz certyfikatach. Ponieważ ten protokół działa w warstwie transportu można stosować go do zabezpieczenia protokołów warstwy aplikacji. SSL c.d. Istnieją trzy wersje tego protokołu: • wersja 1 – dziura w bezpieczeństwie • wersja 2 – dziura została usunięta • wersja 3 - najczęściej obecnie używana i uznawana za standard bezpiecznej transmisji danych. Obecnie rozwijana pod nazwą TLS (Transport Layer Security) Warstwa aplikacji - FTP • FTP (File Tranfser Protocol) Jest to protokół transmisji plików typu klient- serwer. Umożliwia przesyłanie plików z i na serwer z wykorzystaniem TCP/IP. Wykorzystywane są dwa połączenia TCP. Jedno jest kontrolne a drugie używane jest do przesyłania danych. Dwa tryby działania: aktywny i pasywny. W zależności od nich wykorzystywane są inne porty. FTP c.d. Porty odpowiadające trybowi aktywnemu i pasywnemu Tryb Port dla poleceń Port do przesyłu danych Aktywny 21 20 Pasywny 21 >1024 FTP c.d. W trybie aktywnym połączenie dla poleceń nawiązuje klient a dla przesyłu danych serwer. W pasywnym zaś oba połączenia nawiązuje klient. Komunikacja gdy klient jest za firewallem – muszą być odblokowane odpowiednie porty. Wiele serwerów FTP za jednym routerem – rozdzielone porty. Warstwa aplikacji - HTTP • HTTP (Hypertext Transfer Protocol) Za pomocą tego protokołu przesyłamy żądanie udostępnienia strony www, informacje o kliknięciu odnośnika a także informacje z formularzy. Protokół HTTP udostępnia znormalizowany sposób komunikowania się komputerów. Określa formę żądań i odpowiedzi. Protokół HTTP jest typu stateless(bezstanowy) – efekt: popularyzacja cookies. HTTP c.d. Port: 80 Wywołanie: http: Odmianą protokołu HTTP jest protokół HTTPS (HyperText Transfer Protocol Secure). Jest to szyfrowana wersja HTTP. Szyfrowanie odbywa się za pomocą technologii SSL. Port: 443 Wywołanie: https: Warstwa aplikacji - SMTP • SMTP(Simple Mail Transfer Protocol) Jest to protokół opisujący sposób przekazywania poczty elektronicznej w Internecie. Jest to dość prosty protokół tekstowy, określa się przynajmniej jednego odbiorcę – najczęściej jest sprawdzane jego istnienie a następnie przekazywana jest treść wiadomości. Początki SMTP to wczesne lata osiemdziesiąte XX wieku. Wtedy stosowany jako uzupełnienie UUCP. SMTP c.d. Problemy z plikami binarnymi – protokół oparty o ASCII. Rozwiązanie: standard MIME. Obecnie serwery obsługują rozszerzenie 8BITMIME pozwalające przesyłać pliki binarne tak jak tekst. SMTP nie pozwala na pobieranie wiadomości z serwera zdalnego. Trzeba użyć POP3 lub IMAP. Pierwotnie nie był weryfikowany nadawca co pozwalało na rozprzestrzenianie spamu. Rozwiązaniem jest rozszerzenie SMTP-AUTH. Warstwa aplikacji - SSH • SSH (secure shell) Następca protokołu telnet. Służy do terminalowego łączenia się ze zdalnym komputerem. Transfer danych jest zaszyfrowany(w telnecie nie). Wiele sposobów rozpoznawania użytkownika. Istnieją dwie wersję: SSH1 i SSH2. W wersji 2 mamy do dyspozycji cztery sposoby rozpoznawania użytkownika(w 1 tylko dwa) i dowolne sposoby szyfrowania(w 1 kilka). SSH c.d. Implementacje SSH: • ssh.com • OpenSSH • Wersja stosowana w programie PuTTY Zazwyczaj SSH korzysta z portu 22, ale często ze względu na bezpieczeństwo serwera jest to inny port. Linki • • • • • • • • • Wikipedia Specyfikacja protokołu TCP Opis protokołu TCP (ang) Strona www darmowej implementacji SSL Specyfikacja protokołu FTP Specyfikacja protokołu HTTP Specyfikacja protokołu SMTP Strona www projektu OpenSSH Model osi iso Dziękuję za uwagę