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]