Warstwa transportowa

Podobne dokumenty
Sieci komputerowe Warstwa transportowa

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Warstwa transportowa. mgr inż. Krzysztof Szałajko

Sieci komputerowe - Protokoły warstwy transportowej

Protokoły sieciowe - TCP/IP

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

TCP/IP formaty ramek, datagramów, pakietów...

Dr Michał Tanaś(

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

pasja-informatyki.pl

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

PROTOKOŁY WARSTWY TRANSPORTOWEJ

Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński.

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Programowanie współbieżne i rozproszone

Omówienie TCP/IP. Historia

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Przesyłania danych przez protokół TCP/IP

Stos TCP/IP Warstwa transportowa Warstwa aplikacji cz.1

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Bazy Danych i Usługi Sieciowe

Sieci komputerowe - warstwa transportowa

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Programowanie sieciowe

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Podstawy sieci komputerowych

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Moduł 11.Warstwa transportowa i aplikacji Zadaniem warstwy transportowej TCP/IP jest, jak sugeruje jej nazwa, transport danych pomiędzy aplikacjami

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Adresy w sieciach komputerowych

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

MODEL OSI A INTERNET

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

Transport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Sieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Laboratorium Sieci Komputerowych - 2

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Architektura INTERNET

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Transmisja bezpołączeniowa i połączeniowa

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Model sieci OSI, protokoły sieciowe, adresy IP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

ISO/OSI TCP/IP SIECI KOMPUTEROWE

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Test sprawdzający wiadomości z przedmiotu Systemy operacyjne i sieci komputerowe.

Programowanie Sieciowe 1

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Protokół IP. III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z:

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Protokoły transportowe

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

1. Model klient-serwer

Konfiguracja sieci, podstawy protokołów IP, TCP, UDP, rodzaje transmisji w sieciach teleinformatycznych

Transport. część 1: niezawodny transport. Sieci komputerowe. Wykład 6. Marcin Bieńkowski

Klient-Serwer Komunikacja przy pomocy gniazd

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Całkowita długość nagłówka zróżnicowane. Numer identyfikacyjny Flagi Przesunięcie

ADRESY PRYWATNE W IPv4

Sieci komputerowe. Wstęp

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Sieci Komputerowe Modele warstwowe sieci

WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka

1. FTP 2. SMTP 3. POP3

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

Model OSI. mgr inż. Krzysztof Szałajko

Podstawy działania sieci komputerowych

ZiMSK. Konsola, TELNET, SSH 1

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Sieci Komputerowe Protokół TCP

1 Technologie Informacyjne WYKŁAD I. Internet - podstawy

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

DNS - jest "klejem" łączącym adresy sieciowe z obiektami (komputerami / host'ami) z nazwami jakimi się posługują wszyscy użytkownicy.

Protokół sieciowy Protokół

Analiza protokołu TCP/IP

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Technologie cyfrowe semestr letni 2018/2019

Instrukcja 5 - Zastosowania protokołu ICMP

ARP Address Resolution Protocol (RFC 826)

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

5. Model komunikujących się procesów, komunikaty

Dr Michał Tanaś(

Adres IP

Transkrypt:

Sieci komputerowe

Podsumowanie DHCP Serwer DHCP moŝe przyznawać adresy IP według adresu MAC klienta waŝne dla stacji wymagającego stałego IP np. ze względu na rejestrację w DNS Klient moŝe pominąć komunikat DHCPDISCOVER jeśli zna adres serwera DHCP Czas dzierŝawy adresu jest ustalany między klientem i serwerem, który zobowiązuje się nie udostępniać przydzielonego adresu nikomu na wyznaczony czas Klient moŝe prosić serwer o wydłuŝenie czasu dzierŝawy

Warstwa transportowa Warstwa transportowa jest odpowiedzialna za całość transferu danych pomiędzy aplikacjami. Obejmuje następujące funkcje: Umożliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym na tym samym urządzeniu. Zapewnia (jeśli jest to wymagane), że wszystkie dane są dostarczone w sposób niezawodny, w dobrej kolejności i do odpowiedniej aplikacji. Używa mechanizmów obsługi błędów.

Warstwa transportowa - zadania Dane aplikacji Warstwa transportowa przygotowuje dane aplikacji do transportu w sieci oraz przetwarza dane warstwy sieci do postaci wykorzystywanej przez warstwę aplikacji Dane z sieci

Warstwa transportowa - cele Warstwa transportowa zapewnia segmentację danych i konieczną kontrolę nad składaniem poprzez: śledzenie indywidualnej komunikacji pomiędzy aplikacjami na źródłowym i docelowym hoście, segmentację danych i odpowiednie oznaczanie każdego fragmentu, łączenie podzielonych segmentów w strumienie danych, identyfikację różnych aplikacji.

Zadania warstwy transportowej Umożliwia komunikowanie się aplikacji działających na urządzeniach Warstwa transportowa dokonuje wymiany danych pomiędzy aplikacjami uruchomionymi na urządzeniach w sieci

Sterowanie konwersacjami Głównymi funkcjami spełnianymi przez wszystkie protokoły warstwy transportowej są: Segmentacja i scalanie - większość sieci ma określone maksymalne ilości danych, które mogą być umieszczane w jednym segmencie. Dodatkowo niektóre protokoły transportowe zapewniają następujące funkcje: Konwersacja zorientowana połączeniowo. Niezawodność dostarczania danych. Dostarczanie w odpowiedniej kolejności. Kontrola przepływu. Mulitpleksowanie komunikacji - kaŝdy host w sieci moŝe mieć uruchomionych jednocześnie wiele aplikacji. KaŜda z tych aplikacji czy usług ma przyporządkowany adres nazywany portem, aby warstwa aplikacji mogła ustalić do kogo skierować otrzymane dane. Segmentacja pozwala stacją na multipleksację.

Funkcje warstwy transportowej

Warstwa transportowa dzieli dane na segmenty

Scalanie segmentów TCP przywracanie kolejności Różne segmenty mogą wędrować różnymi trasami Dane dzielone są na segmenty Segmenty docierają do celu nie po kolei TCP układa segmenty we właściwej kolejności

Sterowanie konwersacjami Ustanawianie sesji- w celu zapewnienia usługi zorientowanej połączeniowo nawiązuje sesję pomiędzy aplikacjami. Dostarczanie w odpowiedniej kolejności -fragmenty danych mogą dotrzeć w złej kolejności. Dzięki numerowaniu i sekwencjonowaniu warstwa transportowa moŝe zapewnić, Ŝe dane zostaną scalone w odpowiedniej kolejności. Kontrola przepływu - hosty sieciowe mają ograniczone zasoby, takie jak pamięć czy przepustowość. W przypadku powstania zatoru istnieje potrzeba regulacji ilości danych jakie źródło moŝe wysłać do hosta docelowego.

Sterowanie konwersacjami Niezawodność dostarczania danych- zapewnienie, Ŝe wszystkie kawałki zostaną prawidłowo dostarczone, dokonując retransmisji brakujących lub uszkodzonych fragmentów. W warstwie transportowej występują następujące podstawowe operacje związane z zapewnianiem dostarczania: śledzenie transmitowanych danych, potwierdzanie odbioru danych, retransmisja niepotwierdzonych danych. W celu zapewnienia niezawodności wymagane jest zwiększenie ilości danych kontrolnych wymienianych pomiędzy hostami.

Protokoły transportowe- wymagana niezawodność Właściwości protokołu: Szybkość Mały narzut Brak wymagania potwierdzeń Brak wymagania retransmisji Dostarcza dane w kolejności w jakiej otrzymuje Właściwości protokołu: Niezawodność Potwierdzenie danych Retransmisja zagubionych danych Dostarczenie danych w prawidłowej kolejności Charakter aplikacja odpowiada za wybór protokołu

Protokoły TCP i UDP Oba te protokoły są w stanie zarządzać wieloma równoczesnymi transmisjami. TCP (ang. Transmission Control Protocol) - Aplikacje wykorzystujące protokół TCP to: przeglądarki stron WWW, e-mail, programy do przesyłania plików. UDP (ang. User Datagram Protocol) - Aplikacje, które uŝywają protokołu UDP to m.in.: system nazw domenowych DNS (ang. Domain Name System), aplikacje przesyłające strumienie Video, transmisja głosu przez sieć IP (VoIP), DHCP.

Protokoły Podstawy TCP/IP są efektem pracy grupy rozwojowej sieci ARPANET stworzonej w 1968 roku w ramach programu Departamentu Obrony USA W 1971 roku projekt ARPANET został przejęty przez amerykańską agencję zaawansowanych badań systemów obrony DARPA (ang. Defence Advanced Research Projects Agency) W 1975 roku przeprowadzono pierwszy test połączenia TCP/IP między dwoma sieciami w Stanford and University College London (UCL) W 1977 roku zostało zestawione połączenie między 3 sieciami TCP/IP w USA, Wielkiej Brytanii i Norwegii

Protokoły Obecnie protokoły TCP/IP są najbardziej popularnym zestawem protokołów dzięki rozwojowi Internetu. Architektura TCP/IP została opracowana w celu umoŝliwienia komunikacji pomiędzy systemami pochodzącymi od wielu róŝnych dostawców. Architektura TCP/IP jest powiązana z rozwojem Internetu, je standaryzacją i rozwojem zajmuje się organizacja IETF (ang. Internet Engineering Task Force), która publikuje dokumenty o nazwie RFC (ang. Request For Comments).

Protokół TCP TCP (ang. Transmission Control Protocol) to protokół zorientowany połączeniowo działający w warstwie transportowej modelu TCP/IP Został zdefiniowany w RFC793 Protokół TCP zapewnia niezawodny system transmisji umoŝliwia sterowanie przepływem, potwierdzanie odbioru, zachowanie kolejności danych, kontrolę błędów, przeprowadzanie retransmisji WiąŜe się to z dość skomplikowanym i rozbudowanym sposobem obsługi i duŝym nagłówkiem pakietu

Adresacja portów identyfikacja konwersacji Połączenie numeru portu i adresu IP jednoznacznie identyfikuje konkretny proces na konkretnym urządzeniu. Taka kombinacja zwana jest gniazdem (ang. socket). Dane związane z różnymi aplikacjami kierowane są do odpowiedniej aplikacji dzięki zastosowaniu unikalnych numerów portów

Porty TCP i UDP Porty w protokołach TCP i UDP są uŝywanymi w Internecie do identyfikowania działających procesów sieciowych Numery portów to liczby naturalne z zakresu od 0 do 65535 (2 16-1) Numery portów od 0 do 1023 są ogólnie znane (ang. well-known port numbers) i zarezerwowane dla standardowych usług sieciowych Porty o numerach od 1024 do 49151 mogą być uŝywane po zarejstrowaniu w organizacji IANA Lista zarejestrowanych portów jest dostępna pod adresem http://www.iana.org/assignments/portnumbers

Przykładowe porty TCP i UDP ftp-data 20 (TCP) File Transfer Protocol telnet 23 (TCP) smtp 25 (TCP) Simple Mail Transfer Protocol DNS 53 (TCP, UDP) Domain Name Server http 80 (TCP) World Wide Web HTTP pop3 110 (TCP) Post Office Protocol - Version 3 snmp 161 (UDP) Simple Network Management Protocol https 443 (TCP, UDP) http protocol over TLS/SSL Zarezerwowane: 8080 (TCP) dodatkowy port dla HTTP 5060 (UDP) dodatkowy port SIP (VoIP)

Procesy TCP na serwerze. Wysyłanie Ŝądania TCP Klient wysyła żądanie TCP do serwera Serwer odpowiada klientowi TCP używa portu źródłowego z pakietu żądania jako portu docelowego

Nagłówek TCP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Dł. Nagł. Port źródłowy Port docelowy Numer sekwencyjny Numer potwierdzenia Rezerwa Znaczniki Okno Suma kontrola Wskaźnik priorytetu Opcje Uzupełn. Suma Numer Port Okno Długość Poleźródłowy znaczniki kontrolna określa potwierdzenia sekwencyjny nagłówka liczbę oraz zawiera służy wielkość port bajtów do zawiera bitowe docelowy kontroli jaką nagłówka numer flagi może poprawności zawierają dotyczące pierwszego zaakceptować sekwencyjny w 32 bitowych numery całego dodatkowych bajta w pakietu następnego słowach odbiorca portów segmencie informacji/poleceń procesów oczekiwanego aplikacyjnych dotyczących bajtuwysyłających danego po stronie pakietu odbiorczej, oraz jednocześnie odbierających potwierdza dane korzystających poprawne z odebranie usług TCPpoprzednich bajtów

Znaczniki TCP POLE KONTROLNE U R G A C K P S H R S T S Y N F I N URG (Urgent Pointer) - ustawiony na 1 oznacza ważność pola priorytet. ACK (Acknowledgement) - ustawiony na 1 oznacza ważność pola numer potwierdzenia. PSH (Push) RST (Reset) SYN (Synchronize) FIN (Finished) żądanie przesłania otrzymanych danych do aplikacji w pierwszej kolejności. ponowna inicjalizacja połączenia. synchronizacja numerów sekwencyjnych podczas nawiązywania połączenia. ustawiony na 1 oznacza koniec transmisji.

Połączenie TCP Do nawiązania połączenia TCP wykorzystywana jest procedura three-way handshaking Host inicjujący połączenie wysyła pakiet zawierający segment TCP z ustawioną w polu znaczniki flagą SYN Host odbierający połączenie, jeśli zechce je obsłuŝyć, odsyła pakiet z ustawionymi flagami SYN i ACK Następnie host rozpoczynający transmisję wysyła pierwszą porcję danych z ustawioną flagę ACK. Jeśli host odbierający połączenie nie chce lub nie moŝe odebrać połączenia odpowiada pakietem z ustawioną flagą RST Zakończenie połączenia polega na wysłaniu flagi FIN

Three-way handshaking CLOSED A B LISTEN czas SYN-SENT ESTABLISHED <SEQ=100><CTL=SYN> <SEQ=300><ACK=101><CTL=SYN,ACK> SYN-RECEIVED SYN-RECEIVED ESTABLISHED <SEQ=101><ACK=301><CTL=ACK> <SEQ=101><ACK=301><CTL=ACK><DATA> ESTABLISHED ESTABLISHED ESTABLISHED

Nawiązanie i kończenie połączenia TCP Używając 4 etapowego procesu, flagi są wymieniane celem zakończenia połączenia TCP.

Mechanizm okna Potwierdzenia segmentów TCP Rozpoczynam z bajtem nr 1, wystałam 10 bajtów Odebrałem 10 bajtów, począwszy od nr 1, spodziewam się następnego o nr 11 Kolejne bajty od numeru 11

Mechanizm okna Mechanizm przesuwającego się okna (ang. Sliding window) jest uŝywany w TCP do kontroli przepływu Rozmiar okna określa ilość danych, które nadawca moŝe wysłać bez potwierdzenia odbioru od odbiorcy Po otrzymaniu pozytywnego potwierdzenia nadawca moŝe wysłać kolejne dane aŝ do limitu wskazanego przez rozmiar okna Brak otrzymania potwierdzenia w określonym czasie powoduje retransmisje danych Potwierdzenie negatywne (np. z powodu błędu w danych) równieŝ prowadzi do retransmisji Opracowano wiele algorytmów mających na celu usprawnienie mechanizmu okna w TCP

Mechanizm okna przykład Rozmiar wysyłanych danych wynosi 2 Rozmiar okna wynosi 4 (czyli dwa pakiety) Nadawca 9 8 7 6 5 4 3 2 1 0 Potwierdzone -1 15 Odbiorca ACK=5 ACK=1 Odebrane -13579

UDP UDP (ang. User Datagram Protocol) to protokół bezpołączeniowy nie posiadający mechanizmów sprawdzających poprawność transmisji UDP został opisany w RFC768 Protokół UDP jest przeznaczony do transmisji krótkich wiadomości lub danych wymagających szybkiego przesłania

Nagłówek UDP 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Port źródłowy Długość Port docelowy Suma kontrola Port Długość Suma źródłowy kontrolna nagłówka oraz służy wielkość port do docelowy kontroli nagłówka poprawności zawierają w 32 bitowych numery całego pakietu słowach portów procesów aplikacyjnych wysyłających oraz odbierających dane korzystających z usług UDP

UDP Transport danych z małym narzutem Nadawca Odbiorca Brak ustanawiania połączenia

Scalanie datagramów UDP Różne datagramy mogą wędrować różnymi trasami Dane dzielone są na datagramy Datagramy docierają do celu nie po kolei Datagramy odebrane poza kolejnością nie są układane w kolejności nie ma retransmisji zagubionych datagramów

Wysyłanie Ŝądania przy pomocy UDP Klient wysyła żądanie przy pomocy UDP do serwera Serwer w odpowiedzi używa numerów dobrze znanych portów jako portów źródłowych Klient 1 oczekuje odpowiedź serwera DNS skierowaną na port 49152 Klient 2 oczekuje na odpowiedź serwera Radius skierowaną na port 51152

TCP kontra UDP Kontrola poprawności transmisji DuŜy narzut informacyjny Potrzeba zestawiania połączenia Szybka transmisja Sterowania przepływem Identyfikacja procesów TCP TAK TAK TAK NIE TAK TAK UDP NIE NIE NIE TAK NIE TAK

Dziękuję za uwagę