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ę