Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Protokoły sieciowe.

Podobne prezentacje


Prezentacja na temat: "Protokoły sieciowe."— Zapis prezentacji:

1 Protokoły sieciowe

2 Model ISO/OSI a model Internetowy
Model Połączenia Systemów Otwartych (Open System Interconnectin) znormalizowany przez Międzynarodową Organizację Normalizacyjną (International Organization for Standardization – ISO), przewiduje zdefiniowanie w strukturze sieci siedmiu warstw. Pomimo, że model OSI bardzo dokładnie charakteryzuje każdą z warstw, a jego zrozumienie jest kluczowym elementem, by móc pracować z sieciami, do omawiania protokołów internetowych posłużę się alternatywą tego modelu, zaproponowaną przez DoD (Department od Defense – Amerykańskie Ministerstwo Obrony). Omówienie każdej z siedmiu warstw modelu OSI występuje w większości podręczników opisujących struktury sieci, w związku z tym, w niniejszej pracy pominę je. Czterowarstwowy model przedstawia „rodzinę protokołów Internetu”. Jak można zauważyć z powyższego schematu, połączono warstwę 1 z 2 oraz 3 ostatnie, co miało na celu lepsze zobrazowanie struktury komunikacji w Internecie. Dane przekazywane są po kolei przez wszystkie warstwy, w przypadku pakietów wychodzących z góry do dołu, a odbieranych z dołu do góry. Model internetowy: Aplikacja: Transfer plików (TFTP, FTP, NFS); Poczta elektroniczna (SMTP); Zdalne logowanie (Telnet, rlogin); Zarządzanie siecią (SNMP); Zarządzanie nazwami (DNS) Transport: TCP, UDP Sieć: IP, w modelu internetowym warstwa sieci nazywana jest także warstwa INTERNETU Interfejs sieciowy: Sprzęt + sterowniki Model OSI: Aplikacja: HTTP Prezentacja: JPEG Sesja: Planowanie dostępu do systemu operacyjnego Sieć: IP, IPX Łącza danych: Fizyczna: Media transmisyjne (kable, światłowody)

3 Kapsułkowanie n. TCP s.TCP n. IP s. IP n.ramki s. ramki
Dane przekazywane do warstw niższych ulegają kapsulacji, czyli dołączane są do nich nagłówek i stopka, zawierające dodatkowe informacje, służące do złożenia pakietu, a później w warstwie łącza danych ramki. W trakcie odbioru następuje proces odwrotny, czyli każda z warstw usuwa swój nagłówek oraz stopkę i wtedy dopiero przekazuje dane do warstwy wyższej. Dane aplikacji <> segment (TCP) <> pakiet (IP) <> ramka n.ramki s. ramki

4 Rodzina protokołów TCP/IP
TCP/IP jest to rodzina wielu protokołów służących do komunikacji między komputerami (sieciami) Stworzone w połowie lat siedemdziesiątych jako część badań przez organizację DARPA Stanowi środowisko do wymiany pakietów, niezależne od systemu i architektury sprzętowej TCP/IP jest ogólnodostępne, do jego implementacji nie jest koniecznym posiadanie licencji Nazwę zawdzięcza dwóm najważniejszym protokołom IP i TCP

5 Internet Protocol Podstawowe zadnia protokołu IP:
Usługa pakietowania danych Fragmentacja pakietów danych Wybór parametrów transmisji Funkcja adresowania Routing między sieciami Protokół ten jest odpowiedzialny tylko za przesyłanie danych do odbiorcy, które są formowane w niezależne od siebie datagramy. Nie sprawdza on jednak, czy pakiet dotarł na miejsce, ani nie zabezpiecza otworzonego połączenia. W zależności od rodzaju i konfiguracji sieci, długości pakietów tworzonych i obsługiwanych przez IP mogą być różne. W przypadku, gdyby pakiet okazał się za duży, istnieje możliwość jego podzielenia na mniejsze fragmenty. Kolejną zaletą IP jest umożliwienie odbioru pakietów w kolejności innej niż zostały wysłane i złożenie go na urządzeniu odbiorczym.

6 Nagłówek IP Nagłówek pakietu IP może zawierać do 14 parametrów i zazwyczaj ma długość 20 bajtów (bez wypełnionego pola opcji), ale jego wielkość może sięgać do 60 bajtów. Wersja – informacja o wersji używanego protokołu, obecnie IPv4 Długość nagłówka – długość nagłówka mierzona w 32 bitowych słowach Typ usługi – w praktyce pole to jest często ignorowane przez routery, określa poziom pierwszeństwa pakietu i przypisywane jest przez protokół warstwy wyższej. Podzielone jest na 5 części: ·        Pierwszeństwo (3 bity) – stopień ważności pakietu ·        Bit O (1 bit) – ustawiony oznacza prośbę o krótkie czasy oczekiwania ·        Bit S (1 bit) – przesyłanie szybkimi łączami ·        Bit P (1 bit) – duża pewność przesyłania danych ·        Puste (2 bity) Długość całkowita – wartość mierzona w bajtach, określa wielkość całego pakietu IP, wielkość pola danych to różnica między długością całkowitą a długością nagłówka. Maksymalna długość datagramu IP to = bajtów Numer identyfikacyjny – liczba całkowita identyfikująca bieżący pakiet Znaczniki (Flagi) – w tym polu umieszczane są dane odpowiadające za fragmentację pakietu Przesunięcie fragmentu – informacje zawarte w tym miejscu są konieczne do złożenia pofragmentowanego pakietu Czas życia(TTL) – Wartość w sekundach, określająca jak długo pakiet może podróżować po sieci, parametr ten ma na celu wyeliminowanie pakietów krążących w pętli między routerami Protokół – Numer identyfikacyjny protokołu transportowego np. TCP = 6 Suma kontrolna – Suma kontrolna nagłówka, nie obejmuje danych i jest możliwa do ominięcia, większe bezpieczeństwo oferują sumy kontrolne TCP i UDP Opcje i wypełniacz – najczęściej te pola pozostają puste, korzysta się z nich np. przy ustalaniu trasy powrotnej dla pakietu

7 Adres IP składa się z 32 bitów i jest podzielony na dwie części
Adresy IP Adres IP składa się z 32 bitów i jest podzielony na dwie części W Internecie do hostów możemy odwoływać się poprzez: Adresy w postaci mnemonicznej: Adres IP w postaci 4 liczb dziesiętnych: Adres IP zapisany w postaci jednej liczby dziesiętnej: Każdy host podłączony do sieci TCP/IP posiada swój niepowtarzalny adres IP, który jednoznacznie identyfikuje go w sieci. Adres ten składa się z 32 bitów i jest podzielony na dwie części: sieciową i hosta. Do 1992 roku podział na część sieci i hosta był określony statycznie na z podziałem na tzw. klasy: Klasa Pierwszy oktet Adresy sieci od Adresy sieci do Liczba sieci Liczba hostów A 0xxx xxxx = Nie dotyczy B 10xx xxxx = =65 534 C 110x xxxx = =254 D[1] 1110 xxxx Rozgłaszanie do grup E 1111 xxxx Zarezerwowana do celów badawczych [1] Dodatkowych wiadomości na temat adresów tej klasy można szukać pod adresem: Organizacja IETF opracowała dwa rozwiązania: Krótko terminowe: Stworzenie CIDR czyli Bezklasowego Routingu Międzydomenowego i wprowadzenie maski na dzielenie na podsieci, nadsieci, oraz wyeliminowanie adresowania klasowego. Długo terminowe: opracowanie standardu IPv6 Adres IP w postacie liczby dziesiętnej liczy się według wzoru: Adres = a*2^24 + b*2^16 + c*2^8 + d Gdzie a.b.c.d to adres w normalnej postaci

8 Internet Control Message Protocol
Protokół ten służy do informowania o błędach oraz innych zdarzeniach, które wystąpiły podczas transmisji, np. przekazują informację zwrotną do nadawcy pakietu o tym, że nie został on prawidłowo dostarczony oraz informują o przyczynie. Podobnie jak IP, ICMP jest to także protokół warstwy trzeciej, jednakże komunikaty ICMP są kapsułkowane do datagramów IP i dopiero wtedy przekazywane do warstwy łącza danych (kapsulacja w ramki). ICMP jest wymaganą częścią poprawnie zaimplementowanego protokołu IP, ale dla bezpieczeństwa sieci możliwe jest całkowite zablokowanie komunikatów tego protokołu, bez zmniejszenia użyteczności sieci, może to jednak wpłynąć na wydajność. W zależności od przeznaczenia, pakiety ICMP mogą mieć różną budowę, ale zawsze wyróżnić możemy ich strukturze stałe trzy elementy: ·        typ komunikatu (8 bitów) ·        kod (8 bitów) ·        suma kontrolna (16 bitów) – dotyczy tylko komunikatu ICMP Komunikaty ICMP możemy podzielić na dwie klasy meldunków przedstawione na slajdzie

9 Transmission Control Protocol
TCP jest protokołem warstwy czwartej zapewnia kontrolę transmisji Jest zorientowane połączeniowo Ustanowienie połączenia TCP Jest to najpopularniejszy protokół transportowy stosowany w Internecie. Szacuje się, że około 80% pakietów w sieci przekazywanych jest za pomocą Transmission Control Protocol. TCP świadczy usługi dla takich protokołów wyższych warstw jak HTTP, FTP, SMTP. Zaletą tego protokołu jest wiarygodność i kontrola transmisji. TCP jest zorientowany połączeniowo, czyli aby możliwa była wymiana danych, musi być ustanowione połączenie. Nawiązanie połączenia (3 kroki) Początkowo serwer jest pasywnie otwarty (passive open), co oznacza, że jest on przygotowany do przyjęcia połączenia. Klient rozpoczyna otwarcie aktywne (active open) poprzez wysłanie do serwera pakietu z ustawionym bitem SYN równym 1, oraz podaje swój numer sekwencyjny (CSEQ). W tym momencie połączenie jest w stanie half-opened, czyli na wpół otwarte. Następnie serwer potwierdza odbiór pakietu klienta, wysyłając do niego własny pakiet z ustawionymi bitami SYN i ACK, a także podaje swój numer sekwencyjny (SSEQ) i zwiększony o 1 numer sekwencyjny klienta (CSEQ+1). W odpowiedzi klient wysyła do serwera pakiet z ustawionym bitem ACK oraz zwiększonym o jeden numerem sekwencyjnym serwera (SSEQ+1). Połączenie zostało nawiązane i może rozpocząć się wymiana danych. Sesja TCP Transport danych w protokole TCP podlega poniższym regułom: ·        Dane przesyłane są w trybie pełnego dupleksu (full-duplex). ·        Dane przekazane do TCP z usług wyższego poziomu, dzielone są na fragmenty i łączone w segmenty, następnie segment przekazywany jest w dół do warstwy sieci, TCP decyduje o tym, jaki rozmiar będzie miał segment. ·        Po wysłaniu segmentu uruchamiany jest zegar. W tym czasie oczekiwane jest otrzymanie potwierdzenia odbioru pakietu, gdy to nie nastąpi, dane wysyłane są ponownie. ·        Gdy TCP odbierze prawidłowo uformowany segment, wysyła potwierdzenie odbioru, w przypadku stwierdzenia, że suma kontrolna nie jest zgodna, odbiorca nie wysyła potwierdzenia do nadawcy licząc na to, że pakiet zostanie wysłany powtórnie po upływie określonego czasu oczekiwania na odpowiedź. Zakończenie połączenia TCP (4 kroki) Jedna ze stron (Host_1) wysyła pakiet z ustawionym FIN (finish), połączenie przechodzi w stan half-closed. Następnie Host_2 potwierdza odebranie pakietu i po pewnym czasie wysyła do Host_1 pakiet FIN. Host_1 dokonuje zamknięcia aktywnego i wysyła do Host_2 potwierdzenie otrzymania pakietu zamykającego sesje.

10 Nagłówek TCP W zależności od tego, czy pole „Opcje” jest wypełnione, wielkość nagłówka TCP może być różna, najczęściej jednak pole to zostaje puste i nagłówek ma 20 bajtów. Numery portów - Identyfikują procesy, które się pomiędzy sobą komunikują. Numer sekwencyjny - liczba charakteryzująca przesyłany segment danych. Numer potwierdzenia - jeśli jest ustawiony bit ACK, to pole zawiera numer sekwencyjny oczekiwany przez komputer wysyłający dane. Przesunięcie danych - Zawiera liczbę słów 32-bitowych, które składają się na nagłówek TCP i tym samym informuje, gdzie rozpoczynają się dane. Zarezerwowane - 6 bitów przeznaczonych do wykorzystania w przyszłości, muszą być ustawione na 0. Bity kontrolne - jeżeli są ustawione na 1 oznaczają: URG - ważność pola "priorytet" ACK - ważność pola "numer potwierdzenia” PSH - oznacza wykorzystanie funkcji "push" RST - oznacza zakończenie połączenia SYN - wykonanie synchronizacji numerów sekwencyjnych FIN - oznacza koniec transmisji Okno - Liczba oktetów możliwych do zaakceptowania przez komputer wysyłający bieżący segment. Suma kontrolna - To 16-bitowe pole zawiera obliczoną dla całego segmentu danych sumę kontrolną, pozwalającą na wykrycie jakichkolwiek przekłamań. Priorytet - Ma znaczenie tylko wtedy, jeśli jest ustawiona flaga URG. Specyfikuje ona pozycję ważnych danych w przesyłanym segmencie. Opcje - Lista opcji nie jest ustalona i może się zmieniać. Wypełnienie - W przypadku, gdy długość datagramu nie jest wielokrotnością 32, wolne bity zapełnia się zerami.

11 User Datagram Protocol
UDP nie zapewnia kontroli transmisji Używając tego protokołu nie mamy pewności, czy wysłane pakiety zostały dostarczone do celu Nie ma możliwości rozróżnienia duplikatów, ani nie da się zapewnić przekazu pakietów we właściwej kolejności Mimo to, zaletą, dla której wykorzystuje się ten protokół, jest jego szybkość oraz nieduży rozmiar datagramów. UDP jest bezpołączeniowy, czyli, inaczej niż w TCP, nie ma tutaj nawiązywania i kończenia połączenia.

12 Porty, protokoły, gniazda
Well known ports (1 – 1023) Registered ports (1024 – ) Dynamically allocated ports ( – ) Gniazdo jednoznacznie określa proces sieciowy: :80 – usługa WWW na serwerze Wyższej Szkoły Informatyki i Zarządzania w Rzeszowie Jednym z parametrów nagłówka pakietu IP jest 8 bitowe pole „protokół”. Na podstawie informacji zawartych w tym polu, dane są przesyłane z warstwy 3 (modelu OSI) do warstwy 4. Dane zawarte w tym polu to cyfra, która odpowiada określonemu protokołowi warstwy 4 np. 17 oznacza UDP a 6 TCP. Gdy już pakiet zostanie przekazany do odpowiedniego protokołu warstwy transportowej, sprawdzany jest port. Port to 16 bitowa liczba całkowita, mająca na celu identyfikowanie usługi w hoście. Możemy je podzielić na 3 grupy: Dobrze znane porty (well known ports) – oznaczone cyframi od 1 do 1023 odpowiadają określonym przez IANA usługom np. port 23 to telnet Zarejestrowane porty (registered ports) – , te porty przewidziane są dla usług, które zwyczajowo korzystają z określonych portów, np. proxy HTTP zazwyczaj wykorzystuje port 3128 Porty przydzielane dynamicznie (dynamically allocated ports) – – 65535, te porty mogą być wykorzystywane przez użytkownika w sposób dowolny. Gniazdo jest to jednoznaczne określenie w sieci hosta i uruchomionej na niej usługi (procesu sieciowego). Gniazda zapisuje się w następujący sposób adres_ip:port (np. zapis :80 jednoznacznie identyfikuje usługę WWW na serwerze Wyższej Szkoły Informatyki i Zarządzania). Dwa gniazda (nadawcy i odbiorcy) jednoznacznie identyfikują połączenie w sieci. Dwa gniazda jednoznacznie identyfikują połączenie w sieci


Pobierz ppt "Protokoły sieciowe."

Podobne prezentacje


Reklamy Google