Protokoły sieciowe.

Slides:



Advertisements
Podobne prezentacje
Generator liczb losowych a bezpieczeństwo w sieci
Advertisements

Protokoły sieciowe.
Sieci komputerowe Protokół TCP/IP Piotr Górczyński 27/09/2002.
Sieci komputerowe Protokół TCP/IP.
Adresowanie MAC Adresowanie IP Protokół ARP
ZAPORY SIECIOWE Firewall – ściana fizycznie oddzielająca silnik od pasażerów w samochodzie Sposób zabezpieczenia komputera/sieci przed osobami niepowołanymi.
MODEL OSI.
Sieci komputerowe Usługi sieciowe Piotr Górczyński 27/09/2002.
Model TCP/IP – OSI.
Przegląd protokołów rodziny TCP/IP (1)
Rozszerzalność systemów rozproszonych
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Stream Control Transmission Protocol
Sieci komputerowe Model warstwowy OSI Piotr Górczyński 20/09/2003.
Architektura Systemów Komputerowych
WPROWADZENIE DO SIECI I INTERSIECI
Pojęcia sieciowe.
SYSTEMY OPERACYJNE Adresowanie IP cz1.
Usługi sieciowe Wykład 5 DHCP- debian Jarosław Kurek WZIM SGGW 1.
Połączenia za pomocą TCP
Model ISO / OSI Model TCP /IP
Monitoring Sieci Narzędzia Sieciowe.
12. GNIAZDA BSD Biblioteka funkcji związanych z gniazdami jest interfejsem programisty do obsługi protokołów komunikacyjnych. Została utworzona dla Unixa.
Protokoły komunikacyjne
KONFIGURACJA KOMPUTERA
Historia Internetu Podstawowe pojęcia.
POJĘCIA ZWIĄZANE Z SIECIĄ.
Protokół Komunikacyjny
MODEL WARSTWOWY PROTOKOŁY TCP/IP
Adresy komputerów w sieci
RODZAJE TRANSMISJI PRZESYŁANIE INFORMACJI W MODELU WARSTWOWYM
Wymiana informacji w sieciach komputerowych
Informatyka 1 Sieć.
Rozdział 5: Protokoły sieciowe
Pojęcia związane z siecią
Podstawy adresowania hostów w sieciach komputerowych
Sieci komputerowe.
Wymiana informacji w sieciach komputerowych Opracowanie: Maria Wąsik.
Model OSI Model OSI (Open Systems Interconnection Reference Model) został wprowadzony w celu ujednolicenia regół komunikacji sieciowej. Obejmuje on cały.
Internet – definicja Zgodnie z definicją słowa internet oznacza ono globalny system informacyjny spełniający następujące warunki: jest logicznie połączony.
BROADCAST rozsiewczy (rozgłoszeniowy) tryb transmisji danych polegający na wysyłaniu przez jeden port (kanał informacyjny) pakietów, które powinny być.
ADRES IP – unikatowy numer przyporządkowany urządzeniom sieci komputerowych. Adres IPv4 składa się z 32 bitów podzielonych na 4 oktety po 8 bitów każdy.
Protokół TCP/IP.
Temat 10: Komunikacja w sieci
Adresowanie w sieci komputerowej
Laboratorium systemów operacyjnych
Aplikacje TCP i UDP. Łukasz Zieliński
Model OSI i TCP/IP, HTML, WWW
Systemy operacyjne i sieci komputerowe
Systemy operacyjne i sieci komputerowe
Model warstwowy sieci ISO/OSI
Systemy operacyjne i sieci komputerowe
1 Programowanie sieciowe Protokoły sieciowe, model warstwowy DOD, protokoły TCP i UDP, adresy IP, porty, gniazda, operacje na adresach - klasa InetAddress.
Systemy operacyjne i sieci komputerowe
Sieci komputerowe Model warstwowy OSI.
Model OSI.
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH LEKCJA 1: Zadania sieci komputerowych i modele sieciowe Dariusz Chaładyniak.
Systemy operacyjne i sieci komputerowe DZIAŁ : Systemy operacyjne i sieci komputerowe Informatyka Zakres rozszerzony Zebrał i opracował : Maciej Belcarz.
Model warstwowy ISO-OSI
Model OSI. Aplikacji Prezentacji Sesji Transportowa Sieciowa Łącza Danych Fizyczna WARSTWY: Aplikacji Prezentacji Sesji Transportowa Sieciowa Łącza Danych.
Wykład 7 i 8 Na podstawie CCNA Exploration Moduł 5 i 6 – streszczenie
Internet jako sieć globalna Struktura Internetu Dostęp do Internetu na kilka sposobów Pobieranie plików - FTP.
 Wi-Fi  światłowody  skrętka Protokół komunikacyjny to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia.
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
Model TCP/IP Wykład 6.
SIECI KOMPUTEROWE WYKŁAD 2. STANDARDY. PROJEKTY. MODELE WARSTWOWE.
Protokoły internetowe
Wydział Matematyki, Informatyki i Architektury Krajobrazu
Podstawy sieci komputerowych
Zapis prezentacji:

Protokoły sieciowe

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: 802.3 Fizyczna: Media transmisyjne (kable, światłowody)

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

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

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.

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 216-1 = 65535 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

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: www.onet.pl Adres IP w postaci 4 liczb dziesiętnych: 213.180.130.200 Adres IP zapisany w postaci jednej liczby dziesiętnej: 3585376968 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 1.0.0.0 126.0.0.0 126 224-2 = 16 777 214 0111 1111 127.0.0.0 1 Nie dotyczy B 10xx xxxx 128.0.0.0 191.255.0.0 214=16384 216-2=65 534 C 110x xxxx 192.0.0.0 223.255.255.0 221=2097152 28-2=254 D[1] 1110 xxxx 224.0.0.0 239.255.255.255 Rozgłaszanie do grup E 1111 xxxx 240.0.0.0 254.255.255.255 Zarezerwowana do celów badawczych [1] Dodatkowych wiadomości na temat adresów tej klasy można szukać pod adresem: http://www.iana.org/assignments/multicast-addresses 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

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

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.

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.

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.

Porty, protokoły, gniazda Well known ports (1 – 1023) Registered ports (1024 – 49 151) Dynamically allocated ports (49 152 – 65 535) Gniazdo jednoznacznie określa proces sieciowy: 212.160.98.204: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) – 1024- 49151, 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) – 49152 – 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 212.160.98.204: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