Professional Documents
Culture Documents
PROTOKOŁY
PROTOKOŁY
transmisją, protokół kontroli transmisji, TCP (od ang. Transmission Control Protocol) – połączeniowy, niezawodny,
strumieniowy protokół komunikacyjny stosowany do przesyłania danych między procesami uruchomionymi na
różnych maszynach. TCP jest protokołem działającym w trybie klient–serwer. Serwer oczekuje na nawiązanie
połączenia na określonym porcie. Klient inicjuje połączenie do serwera.
W przeciwieństwie do UDP, TCP gwarantuje wyższym warstwom komunikacyjnym dostarczenie wszystkich pakietów
w całości, z zachowaniem kolejności i bez duplikatów. Zapewnia to wiarygodne połączenie kosztem większego
narzutu w postaci nagłówka i większej liczby przesyłanych pakietów. Chociaż protokół definiuje pakiet TCP, z punktu
widzenia wyższej warstwy oprogramowania dane płynące połączeniem TCP należy traktować jako ciąg oktetów.
W celu weryfikacji wysyłki i odbioru TCP używa sum kontrolnych i sekwencyjnych numerów pakietów. Odbiorca
potwierdza otrzymanie pakietów o określonych numerach sekwencyjnych, ustawiając flagę ACK. Brakujące pakiety są
retransmitowane. Host odbierający pakiety TCP defragmentuje je i porządkuje je według numerów sekwencyjnych
tak, by przekazać wyższym warstwom modelu OSI pełny złożony segment.
UDP – [SZYBKI PRZESYŁ DANYCH] (ang. User Datagram Protocol – protokół pakietów użytkownika) – jeden z
protokołów internetowych, stosowany jest w warstwie transportowej modelu OSI. Nie gwarantuje dostarczenia
datagramu.
Jest to protokół bezpołączeniowy, więc nie ma narzutu na nawiązywanie połączenia i śledzenie sesji (w
przeciwieństwie do TCP). Nie ma też mechanizmów kontroli przepływu i retransmisji. Korzyścią płynącą z takiego
uproszczenia budowy jest szybsza transmisja danych i brak dodatkowych zadań, którymi musi zajmować się host
posługujący się tym protokołem. Z tych względów UDP jest często używany w takich zastosowaniach jak
wideokonferencje, strumienie dźwięku w Internecie i gry sieciowe, gdzie dane muszą być przesyłane możliwie
szybko, a poprawianiem błędów zajmują się inne warstwy modelu OSI. Przykładem może być VoIP lub protokół DNS.
UDP udostępnia mechanizm identyfikacji różnych punktów końcowych (np. pracujących aplikacji, usług czy serwisów)
na jednym hoście dzięki portom (porównaj: gniazdo). UDP zajmuje się dostarczaniem pojedynczych pakietów,
udostępnionych przez IP, na którym się opiera. Kolejną cechą odróżniającą UDP od TCP jest możliwość transmisji do
kilku adresów docelowych naraz (tzw. multicast).
Pakiety UDP, zwane też datagramami, zawierają oprócz nagłówków niższego poziomu nagłówek UDP. Składa się on z
pól zawierających sumę kontrolną, długość pakietu oraz porty: źródłowy i docelowy.
1. Autoryzacja – dostarczenie przez użytkownika danych uwierzytelniających tj. login, hasło, klucz publiczny lub
certyfikat
2. Ustanowienie sesji – ustanowienie sesji w ramach, której przesyłane będą dane
3. Szyfrowanie – SSH wykorzystuje m.in. AES (Advanced Encryption Standard)
4. Komunikacja – wymiana danych między klientem, a serwerem
5. Zakończenie sesji – rozłączenie klienta z serwerem
ICMP powstał, aby umożliwić routerom informowanie o błędach oraz udostępnianie informacji o niespodziewanych
sytuacjach. Jednak każda maszyna, nie tylko router, może wysyłać komunikaty ICMP do dowolnego innego
urządzenia podłączonego do sieci. W ramach ICMP możemy rozróżnić dwa typy komunikatów, te do raportowania o
błędach i komunikaty diagnostyczne.
• Przetestowanie łączności sieciowej (np. program ping - służy do sprawdzania łączności między urządzeniami
sieciowymi i określania opóźnień sieci)
Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem sterującym, a drugie służy do
transmisji danych. Połączenie za pomocą protokołu FTP może działać w dwóch trybach: aktywnym i pasywnym:
- aktywny używa portu 21 dla sterowania i portu 20 do przesyłu danych (zestawiane przez serwer)
- pasywny używa portu 21 dla sterowania i portu o numerze powyżej 1024 do transmisji danych (zestawiane przez
klienta)
Połączenie sterujące - Do wysyłania informacji kontrolnych, takich jak identyfikacja użytkownika, hasło, polecenia
zmiany katalogu zdalnego, polecenia pobierania i przechowywania plików itp., FTP wykorzystuje połączenie
sterujące. Połączenie sterujące jest inicjowane na porcie numer 21.
W sieciach chronionych zaporą sieciową komunikacja z serwerami FTP wymaga zwolnienia odpowiednich portów na
tej zaporze lub routerze. Możliwe jest zainstalowanie wielu serwerów FTP na jednym routerze. Warunkiem jest
rozdzielenie portów przez router dla każdego serwera.
Serwer FTP, zależnie od konfiguracji, może pozwalać na anonimowy, czyli bez podawania hasła uwierzytelniającego,
dostęp do jego zasobów. Najczęściej jednak serwer FTP autoryzuje każde połączenie za pomocą loginu i hasła
- tryb ascii - wykorzystuje standardowy 8-bitowy kod ASCII do przesyłania plików tekstowych,
Tryby transmisji:
Tryb strumieniowy - plik jest transmitowany jako strumień bajtów, bez żadnych ograniczeń dotyczących
wykorzystywanego typu danych.
Tryb blokowy - plik jest transmitowany jako szereg bloków danych poprzedzonych jednym lub większą ilością bajtów
nagłówka. Bajty nagłówka zawierają pole liczby oraz kod deskryptora. Pole liczby zawiera całkowitą długość bloku
danych w bajtach, oznaczając w ten sposób początek następnego bloku danych. Kod deskryptora definiuje atrybuty
bloków, takie jak ostatni blok w pliku (EOF), ostatni blok w rekordzie (EOR), znacznik ponownego uruchomienia, czy
dane podejrzane.
Tryb zagęszczony - umożliwia kompresję danych składających się z bajtów wypełniacza lub replikacji. Nagłówek trybu
zagęszczonego określa liczbę takich bajtów (do 127). Te są następnie wysyłane po upakowaniu do pojedynczego
bajta.