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

Podobne dokumenty
Przesyłania danych przez protokół TCP/IP

Sieci komputerowe Warstwa transportowa

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

Protokoły sieciowe - TCP/IP

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

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

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

Sieci komputerowe - Protokoły warstwy transportowej

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

MODEL OSI A INTERNET

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

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

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

Adresy w sieciach komputerowych

Warstwa transportowa. mgr inż. Krzysztof Szałajko

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Ł ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

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

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

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

ARP Address Resolution Protocol (RFC 826)

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

pasja-informatyki.pl

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

ADRESY PRYWATNE W IPv4

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

Model OSI. mgr inż. Krzysztof Szałajko

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Model sieci OSI, protokoły sieciowe, adresy IP

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

Sieci komputerowe - warstwa transportowa

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

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

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

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

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

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

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

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

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

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

ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI, ADRESÓW HOSTÓW I ADRESU ROZGŁOSZENIOWEGO

Protokoły wspomagające. Mikołaj Leszczuk

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Warstwa sieciowa. mgr inż. Krzysztof Szałajko

Sieci Komputerowe Modele warstwowe sieci

Klient-Serwer Komunikacja przy pomocy gniazd

TCP/IP (Transmission Control Protocol / Internet Protocol) komunikacji otwartej stosem protokołów

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

Sieci komputerowe - administracja

Stos TCP/IP Warstwa transportowa Warstwa aplikacji cz.1

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

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

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

Laboratorium Sieci Komputerowe

Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT

Instrukcja 5 - Zastosowania protokołu ICMP

Architektura INTERNET

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

polega na opakowaniu danych - w każdej warstwie modelu OSI, kolejno idąc z góry na dół - w konieczne nagłówki/stopki odpowiednich protokołów

Sieci komputerowe Warstwa sieci i warstwa transportowa

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Bazy Danych i Usługi Sieciowe

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

Adresacja IPv4 (Internet Protocol wersja 4)

Zadania z sieci Rozwiązanie

Sieć komputerowa Adresy sprzętowe Adresy logiczne System adresacji IP (wersja IPv4)

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

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

ISO/OSI TCP/IP SIECI KOMPUTEROWE

Rodzina protokołów TCP/IP

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

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

Struktura adresu IP v4

SIECI KOMPUTEROWE Adresowanie IP

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

Warstwa transportowa

Warstwy i funkcje modelu ISO/OSI

System operacyjny Linux

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

Laboratorium Sieci Komputerowych - 2

Programowanie sieciowe

PORADNIKI. Routery i Sieci

Połączenie sieci w intersieci ( internet ) Intersieci oparte o IP Internet

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

Routing i protokoły routingu

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

Dr Michał Tanaś(

Internet Control Messaging Protocol

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Laboratorium Sieci Komputerowych

Sieci komputerowe: WYŻSZE WARSTWY MODELU OSI. Agata Półrola Katedra Informatyki Stosowanej UŁ

1. Informacje ogólne: 2. Standardy TCP/IP. 2.1 Adresowanie IPv4

Sieci komputerowe W4. Warstwa sieciowa Modelu OSI

Transkrypt:

Protokoły

Protokół IP III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z: Adresu źródłowego Adresu docelowego W sieciach opartych o Ethernet protokół IP wykorzystuje protokół ARP do odwzorowania adresów IP w odpowiednie MAC adresy.

Podstawy sposób działania Sprawdzenie czy podany adres jest lokalny czy zdalny (odległy) Jeśli adres jest lokalny za pomocą ARP odnajdywany jest (sieci Ethernet) adres MAC komputera docelowego i tam dane są wysyłane Jeśli adres jest zdalny wówczas sprawdzana jest tablica routingu i dane wstępnie przesyłane są do odpowiedniego węzła, skąd przesyłane są dalej. Z tablicy routingu odczytywany jest adres IP węzła oraz za pomocą ARP adres MAC węzła. Po dotarciu do węzła następuje trasowanie - znajdywanie optymalnej (w pewnym sensie) trasy jaką pakiet będzie podróżował do komputera docelowego.

Adresy IP Adres IP składa się z 4 oktetów (czterech liczb 8 bitowych) rozdzielonych kropkami: 192.168.0.2 Liczby mogą przyjmować wartości od 0 do 255 ponieważ liczby są 8 bitowe (1 bajt) 192.263.201.1 błędny adres!!! Sieć Internet zbiór różnych podsieci porozrzucanych po całym świecie, każda sieć składa się z komputerów (hostów) Każdy adres IP składa się z dwóch składników ID sieci oraz ID hosta ID sieci unikatowy na skalę światową identyfikator wskazujący określoną sieć ID hosta unikatowy w ramach danej sieci adres pojedynczego komputera Przykład książki w bibliotece odnajdywane są wg. Szafa -> Półka -> Tytuł książki, identycznie jest z Internetem Szafa i półka to konkretny adres ID sieci, natomiast ID host odpowiada tytułowi książki

Adres IP cd. W każdej sieci dwa unikatowe adresy: 1. Adres rozgłoszeniowy adres hosta składający się z samych 1 (w zapisie binarnym) służy wysyłaniu informacji do wszystkich komputerów znajdujących się w danej sieci 2. Adres sieci lokalnej adres hosta składający się z samych 0 identyfikuje on lokalną podsieć

Adres IP uwagi ID sieci musi być unikatowe na skalę światową ID sieci nie może wynosić 127 (%01111111) adres zarezerwowany do lokalnego adresu zwrotnego ID sieci i ID hosta nie może składać się z samych %1 to adres zarezerwowany do rozgłaszania ID sieci i ID hosta nie mogą zawierać samych %0 adres zarezerwowany do pakietów tylko lokalnych nie przesyłanych przez router ID hostów nie mogą się duplikować w ramach jednej sieci

Klasy adresów IP Klas adresów IP do 5 różnych sposobów podziału na część definiującą ID sieci / ID hosta 5 klas adresów od A do E Klasy A, B i C dostępne do użytku powszechnego Klasa D zarezerwowana dla specjalnych aplikacji bazujących na adresowaniu grupowym Klasa E klasa eksperymentalna

Klasy adresów Klasa adresów Zakres 1 Liczba sieci Liczba hostów A 1-126 126 16 777 214 B 128-191 16 384 65 534 C 192-223 2 097 152 254 D 224-239 Nie dotyczy Nie dotyczy E 240-254 Nie dotyczy Nie dotyczy Klasa Oktet 1 Oktet 2 Oktet 3 Oktet 4 A SSSSSSSS HHHHHHHH HHHHHHHH HHHHHHHH B SSSSSSSS SSSSSSSS HHHHHHHH HHHHHHHH C SSSSSSSS SSSSSSSS SSSSSSSS HHHHHHHH

Maska podsieci Wskazuje które bity adresu IP opisują adres sieci. Typowe wartości dla adresów: Klasy A: 255.0.0.0 = 11111111.00000000.00000000.00000000 Klasy B: 255.255.0.0 = 11111111.11111111.00000000.00000000 Klasy C: 255.255.255.0=11111111.11111111.11111111.00000000 Można też definiować własne podsieci w ramach istniejących sieci. Wówczas wykorzystuje się fragment adresu ID hosta do stworzenia takich podsieci

Maska podsieci W celu umożliwienia dodatkowego podziału sieci na podsieci wprowadza się maskę sieci. Maska sieci jest ciągiem binarnych jedynek identyfikujących która część adresu IP odpowiada za sieć, a która za komputery. Maska 11111111.11111111.11111111.11111100 w zapisie dziesiętnym 255.255.255.252, w zapisie skróconym /30 informuje że dla np.. adresu IP 192.168.2.13 klasy C 192.168.2.0 to adres sieci, pozostałe 6 najstarszych bitów najmłodszego słowa adresu 13=%00001101 to adres podsieci czyli %11 = 3, zaś %01=1 to adres komputera.

Budowa datagramu IP

0-3 - zawiera numer wersji protokołu IP (dla IPv4 jest to 4). 4-7 - długość samego nagłówka protokołu (bez danych). 8-15 - "typ usługi" (ang. Type of Service). Może służyć do określenia priorytetu routowania 16 23 - całkowita długość pakietu (razem z danymi). Wartość minimalna to 576 oktetów, maksymalna to 65535 24-31 8 bitowy identyfikator pakietu, potrzebny między innymi do fragmentacji i defragmentacji pakietów. 32-34 - 3-bitowe pole flagi, informacja czy pakiet może być fragmentowany czy nie 35 47-13-bitowe pole służy do odpowiedniego "poukładania" pofragmentowanych pakietów. Określa pozycję w oryginalnym niepofragmentowanym pakiecie liczoną w 64-bitowych jednostkach 48 55 - TTL (8 bitów) życia pakietów (ang. time to live). Liczba z zakresu 0-255. Przy przechodzeniu pakietu przez router jest ona zmniejszana o jeden. W momencie osiągnięcia przez TTL zera, router odrzuca pakiet. 56-61, numer (identyfikator) protokołu warstwy wyższej, np.. ICMP (1), TCP (6) czy UDP (17). 62 86 - Suma kontrolna nagłówka pakietu. Służy do kontroli, poprawności transmisji nagłówka Dalsze pola to adres IP źródła Adres IP docelowy. Ostatnim, 32-bitowym polem są opcje, które w normalnej transmisji zwykle nie są używane. Pole Padding (wypełnienie) jest opcjonalne i jego zawartością są zera dopełniające długość nagłówka do wielokrotności 32 bitów

Protokoły warstwy transportowej

Podstawy Warstwa transportowa łącznik pomiędzy warstwą internetową i warstwą sieci Odpowiada za dane! (w.3 za dotarcie danych do aresata, w.2 za poprawną transmisję w sieciach lokalnych) Dane przesyłane w postaci segmentów odbiór strumienia danych od procesu, podział na segmenty i ich transport Dwa rodzaje protokołów: Połączeniowy TCP Bezpołączeniowy UDP

Zadanie warstwy transportowej Adresowanie (konkretnej usługi) Rozwiązywanie problemu z restartem lub zerowaniem (możliwe są przerwy w działaniu sieci połączenia wówczas niezbędne jest zestawienie nowego połączenia lub retransmisja utraconych danych) Multipleksowanie i demultipleksowanie zbieranie danych z różnych procesów (aplikacji) i umieszczanie ich w jednym strumieniu danych przesyłanych przez sieć, oraz proces odwrotny rozdział odbieranego strumienia na dane dla konkretnych aplikacji Porządkowanie ustalanie odpowiedniej kolejności odebranych posegmentowanych danych, tak by stanowiły spójną całość (problem występuje gdy duży zbiór danych dzielony jest na mniejsze segmenty) Sterowanie przepływem i buforowanie danych (gdy jest ich więcej niż możliwości transmisji sieci) Powielanie i radzenie sobie z powielonymi danymi

Definicje Protokół połączeniowy zanim rozpocznie się transmisja nawiązywane jest połączenie (dialog) pomiędzy dwoma komputerami, dopiero po akceptacji połączenia przez obie strony następuje transmisja danych Protokół bezpołączeniowy dane wysyłane są bez uprzedniego nawiązania połączenia pomiędzy komputerami Dostawy wiarygodne i nie gwarantowane: Wiarygodne dostarczanie danych do adresata we właściwej kolejności i bez uszkodzeń (TCP) Nie gwarantowane brak powyższych założeń w przypadku nie działania lub błędnego działania sieci transmisja może być niepoprawna UDP (ale mniejszy narzut danych sterujących) (wiarygodność można osiągnąć przez transport danych w sposób nie gwarantowany jeśli inne protokoły modelu zapewnią wiarygodność) Dostawy stanowe i bezstanowe Stanowe opierają się na sesji gdzie transmisja porcji danych musi być odpowiednio potwierdzona Bezstanowe każde żądanie jest niezależne nie zawiera informacji połączonych z innymi żądaniami

Porównanie Możliwości \ Dostawy wiarygodne nie gwarantowane Funkcjonalność (transmisja bez uszkodzeń i strat) Porządkowanie Potwierdzanie Ponawianie transmisji Wykrywanie powieleń Sterowanie przepływem Kontrola przeciążeń

UDP Bezpołączeniowa, bezstanowa, nie gwarantowana transmisja danych Identyfikacja procesu przez odpowiednie ID problemy: Dynamiczne tworzenie i usuwanie procesów Możliwość zmiany procesu odbierającego dane, bez informowania o tym procesu nadawczego Porty protokołu identyfikuje usługę. Przy transmisji konieczna jest więc znajomość portu adresata i na tej podstawie realizowane jest transmisja Umożliwia wyszukanie błędów (brak korekcji błędów!!!)

Datagram UDP Port nadawcy nr portu nadającego wiadomość Port odbiorcy numer portu u odbiorcy Długość całkowita długość datagramu Suma kontrola uzupełniona o 1 suma 16-bitowych słów w segmencie

Połączeniowe przesyłanie danych Protokół TCP Obsługuje kontrolę przeciążeń, kontrolowanie i sterowanie przepływu, porządkowanie danych. Nawiązanie połączenia -> Konieczna znajomość numeru portu hosta i jego IP (socket) - gniazdo czyli identyfikacja połączenia Nawiązane połączenie jest automatycznie dwukierunkowe przesył danych jest od A do B i B do A. TCP to protokół point to point

Nawiązanie połączenia Są dwa komputery: klient komputer inicjujący połączenie Server komputer z którym chcemy nawiązać połączenie Aplikacja (proces) informuje protokół TCP że chce nawiązać połączenie z aplikacją serwera Ustanawiane jest połączenie pomiędzy TCP klienta a TCP serwera

Nawiązanie połączenia cd. Klient wysyła specjalny segement nr sekwencji klienta (ISN A ) + ustawiony bit SYN + rozmiar okna (wielkość bufora do składowania danych) Odbiór przez serwer wydzielenie części TCP SYN + przydzielenie odpowiedniego bufora + umieszczenie wartości SYNACK = ISN A +1 + Bit SYN =1 + nr sekwencji serwera (ISN B ) + rozmiar okna po stronie serwera Odbiór potwierdzenia serwera ustawienie odpowiednich buforów przez klienta + biy SYN=0 + SYNACK = ISN B +1

Inicjacja sesji Uzgodnienie parametrów jakości połączenia QoS (negocjacja opcji): Opóźnienie nawiązania połączenia Prawdopodobieństwo niepowodzenia nawiązania połączenia Przepustowość (liczba bajtów transmitowanych przez sekundę) Opóźnienie przejścia Stopa błędu Prawdopodobieństwo niepowodzenia przesyłu Opóźnienie zwolnienia połączenia Prawdopodobieństwo niepowodzenia zwolnienia połączenia Ochrona Priorytet Odporność

Maksymalny rozmiar segmentu MMS (maximum segment size) Parametr określa maksymalną porcję danych jako może zostać jednorazowo przesłana w postaci datagramu Wartość MMS zależna jest od rozmiaru bufora odbiorcy MMS przesyłany jest od odbiorcy do nadawcy aby poinformować komputer nadający o rozmiarze bufora po stronie odbiornika. Wówczas nadawca może przesłać segemnt danych o rozmiarze <=MMS

Okna nadawania i odbioru TCP Klient i serwer implementują ideą okien mieszczących kilka segmentów danych aby rozwiązać problem szybkości transmisji wiarygodnej (z potwierdzeniami) Jak to działa: Serwer może wysłać tyle segmentów danych bez potwierdzenia jaki jest rozmiar okna nadawania. Jeśli zostanie odebrane przez serwer potwierdzenie odebrania okno jest przesuwane o potwierdzone segmenty Jeśli nie zostanie odebrane potwierdzenie przez określony czas to taki segment traktowany jest jako utracony i retransmitowany

Okno przeciążenia Stosowane by uniknąć problemu przy słabej jakości łączach gdzie konieczna jest retransmisja danych które nie dotarły do adresata Okno przesuwne implementowane jest w nadajniku i polega na zmniejszeniu rozmiaru okna nadawania jeśli któryś segment nie został potwierdzony Jeśli kolejne pakiety nie zostaną potwierdzone okno nadawania wykładniczo jest zmniejszane.

Nagłówek TCP

Opis pól Port nadawcy/odbiorcy - 16-bitowe numery oznaczające port źródłowy i docelowy połączenia bazującego na TCP Numer sekwencyjny - 32-bitowy identyfikator określający położenie danego segmentu w większym zbiorze danych Numer potwierdzenia - 32-bitowy numer będący potwierdzeniem otrzymania danego segmentu przez odbiorcę, Długość nagłówka - 4-bitowa liczba, która oznacza liczbę 32-bitowych wierszy nagłówka Zarezerwowane - 6-bitowy ciąg zer, zarezerwowany dla ewentualnego przyszłego użytku. Flagi 6-bitowa informacja/polecenie dotyczące bieżacego pakietu. Poszczególne flagi oznaczają: URG - informuje o istotności pola "Priorytet ; ACK - informuje o istotności pola "Numer potwierdzenia ; PSH - wymusza przesłanie pakietu; RST - resetuje połączenie; SYN - synchronizuje kolejne numery; FIN - oznacza zakończenie przekazu danych Szerokość okna - 16-bitowa informacja o tym, ile danych może aktualnie przyjąć nadawca. Suma kontrolna - 16-bitowa liczba, będąca wynikiem działań na bitach całego pakietu, przez co pozwala na sprawdzenie tego pakietu pod względem poprawnoći danych. Wskaźnik priorytetu - jeżeli flaga URG jest włączona, informuje o ważnośći pakietu. Opcje - czyli ewentualne dodatkowe informacje i polecenia: 0 - koniec listy opcji 1 - brak działania 2 - ustawia maksymalna długość segmentu W przypadku opcji 2 to tzw. Uzupełnienie, które dopełnia zerami długość segmentu do wielokrotności 32 bitów (patrz: informacja o polu "Długość nagłówka")

Porównanie TCP i UDP Kiedy stosować TCP prawie zawsze (nie musimy się o nic martwić) Kiedy stosować UDP kiedy nie zależy nam na jakości połączenia (coś może się zgubić), ale zależy nam na szybkości (mniejszy rozmiar nagłówka mniejszy pakiet = szybsza łączność, mniejszy ruch w sieci związany z transmisją potwierdzeń = szybsza łączność) Brak stanu połączenia brak kontroli różnych parametrów połączenia = większa wydajność serwera bo mniej rzeczy do zrobienia i większe możliwości obsługi większej liczby klientów UDP stosujemy tam gdzie istotna jest szybkość połączenia transmisja dźwięku/wideo (najwyżej nie usłyszymy fragmentu informacji Odwzorowywanie nazw sieciowych serwery DNS Protokoły routingu RIP Protokoły zarządzania sesią SNMP