nagłówek protokołu tcp

Transkrypt

nagłówek protokołu tcp
DR INŻ. ROBERT WÓJCIK
DR INŻ. JERZY DOMŻAŁ
PROTOKOŁY TCP I UDP
WSTĘP DO SIECI INTERNET
Kraków, dn. 12 grudnia 2016 r.
PLAN
▸TCP:
▹cechy protokołu
▹schemat nagłówka
▹znane numery portów
▸UDP:
▹cechy protokołu
▹typy komunikatów
▸Porównanie protokołów TCP i UDP
PROTOKÓŁ TCP
PROTOKÓŁ TCP - CECHY
▸podstawowy protokół warstwy transportowej
▸odpowiada za:
▹nawiązanie i zakończenie połączenia transportowego
▹zapewnienie niezawodności przekazu danych
▹potwierdzenia
▹retransmisje
▹sprawdzanie sum kontrolnych
▹odtwarzanie kolejności danych
▹kasowanie duplikatów
▹sterowanie przepływem (ang. flow control)
▸TCP doczekało sie wielu wersji przez lata, które głównie
poprawiały jego wydajność
NAGŁÓWEK PROTOKOŁU TCP
dane
nagłówek
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Porty źródłowy i docelowy – 16-bitowe numery identyfikujące
porty (aplikacje) na urządzeniach
▸wraz z adresami IP jednoznacznie identyfikują połączenie
NUMERY PORTÓW
IP: A
port:3545
IP: A
port:80
IP: B
▸Port TCP nr 80 to standardowy port usługi www
serwer WWW
IP: B
port: 80
ZNANE NUMERY PORTÓW
Numer portu
Aplikacja
20
FTP -- Data
21
FTP -- Control
22
SSH Remote Login Protocol
23
Telnet
25
Simple Mail Transfer Protocol (SMTP)
53
Domain Name System (DNS)
69
Trivial File Transfer Protocol (TFTP)
80
HTTP
▸Zakres od 0 do 1023 to tzw. „well-known ports”
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Numer sekwencyjny - identyfikuje bajt w strumieniu danych, który jest
pierwszym bajtem w przesyłanym segmencie
▸numer ten po osiągnięciu wartości 232 – 1 rozpoczyna sie znowu od zera
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Numer potwierdzenia — zawiera kolejny numer sekwencyjny, którego
nadejścia spodziewa sie wysyłający potwierdzenie
▸wykorzystywane są potwierdzenia „piggybacked”
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Długość nagłówka — długość nagłówka oznaczająca liczbę 32 bitowych
wierszy
▸typowy rozmiar bez opcji to 5 (20 bajtów)
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Zarezerwowane do późniejszego użycia (3 bity)
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Flagi – 9-bitowa informacja/polecenie dotyczące bieżącego segmentu
FLAGI
▸Poszczególne flagi oznaczają:
▹NS, CWR, ECE – flagi związane z informowaniem o
przeciążeniach w sieci
▹URG – informuje o istotności pola „Wskaźnik Priorytetu”
▹ACK – informuje o istotności pola „Numer potwierdzenia”
▹PSH – wymusza przesłanie pakietu
▹RST – resetuje połączenie (wymagane ponowne uzgodnienie
sekwencji)
▹SYN – synchronizuje kolejne numery sekwencyjne
▹FIN – oznacza zakończenie przekazu danych
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Szerokość okna - informacja o tym, ile jeszcze danych może aktualnie
przyjąć odbiorca
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Suma kontrolna — liczona dla danych jak i nagłówka
▸weryfikowana po stronie odbiorczej
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Wskaźnik priorytetu – wskazuje na ostatni bajt w przesyłanym
segmencie, który ma status urgent
▸pole jest istotne tylko gdy flaga URG jest ustawiona
NAGŁÓWEK PROTOKOŁU TCP
0
15 16
31
Port źródłowy
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
DN
Rez.
Flagi
Suma kontrolna
Szerokość okna
Wskaźnik priorytetu
Opcje (nieobowiązkowe)
▸Opcje - może określać np. maksymalną długość segmentu, często
określa również współczynnik rozmiaru okna oraz znaczniki czasu
wykorzystywane przy pomiarze czasu dostarczania pakietu
PRZYKŁADY ZASTOSOWANIA TCP
▸transfer plików
▸HTTP (www)
▸FTP
▸e-mail
PROTOKÓŁ UDP
PROTOKÓŁ UDP - CECHY
▸protokół warstwy transportowej
▸jest protokołem zawodnym, tzn. nie chroni przed:
▹zmianą kolejności pakietów
▹gubieniem pakietów
▹duplikacją pakietów
▸siła tego protokołu jest jego prostota
▸znajduje sie nad protokołem IP, dlatego sam nie musi wiele robić
NAGŁÓWEK PROTOKOŁU UDP
0
15 16
31
Port źródłowy
Port docelowy
Długość
Suma kontrolna
▸Porty źródłowy i docelowy – 16-bitowe numery identyfikujące
porty (aplikacje) na urządzeniach
▸wraz z adresami IP jednoznacznie identyfikują połączenie
NAGŁÓWEK PROTOKOŁU UDP
0
15 16
31
Port źródłowy
Port docelowy
Długość
Suma kontrolna
▸Długość – długość nagłówka i danych wyrażona w bajtach
NAGŁÓWEK PROTOKOŁU UDP
0
15 16
31
Port źródłowy
Port docelowy
Długość
Suma kontrolna
▸Suma kontrolna — liczona dla danych jak i nagłówka
▸weryfikowana po stronie odbiorczej
▸jest opcjonalna dla IPv4 (ustawiona na zero) i obowiązkowa dla IPv6
PRZYKŁADY ZASTOSOWANIA UDP
▸transmisja dźwięku
▸transmisja video
▸gry on-line
▸DHCP
▸TFTP
▸DNS
PORÓWNANIE TCP I UDP #1
▸Sposób nawiązania połączenia
▹TCP  połączeniowy
UDP  bezpołączeniowy
▸Niezawodność
▹TCP  niezawodny
UDP  zawodny
▸Kolejność segmentów
▹TCP  zachowana
UDP  może ulec zmianie
▸Nagłówek
▹TCP  20+ bajtów
UDP  8 bajtów
PORÓWNANIE TCP I UDP #2
▸Potwierdzenia
▹TCP  przesyłane
UDP  brak
▸Sterowanie transmisją (prędkość)
▹TCP  TAK
UDP  brak
▸Stracone dane
▹TCP  retransmisje
UDP  brak
▸Sposób traktowania danych
▹TCP  strumieniowy
UDP  segmentowy
PODSUMOWANIE
▸Struktura nagłówków protokołów TCP i UDP
▸Numery portów
▸Przykłady zastosowań protokołów TCP i UDP
▸Podobieństwa i różnice pomiędzy TCP i UDP
Dziękuję za uwagę
Kontakt: [email protected]

Podobne dokumenty