Protokoły sieciowe
Typy protokołów
Definicja
• Protokół komunikacyjny to zbiór ścisłych reguł i kroków postępowania, które są
automatycznie wykonywane przez urządzenia komunikacyjne w celu nawiązania łączności i wymiany danych.
Po co są
• Protokoły sieciowe - zapewniają usługi łączy systemów komunikacyjnych, obsługują
adresowanie, informacje routingu, weryfikację błędów oraz żądania retransmisji. Obejmują także procedury dostępu do sieci, określone przez wykorzystywany rodzaj sieci.
Podział – typy protokołów (1/2)
• Ze względu na otwartośd:
– Protokoły otwarte – są to standardy oficjalne, które nie są własnością żadnej konkretnej firmy czy organizacji. Są to rozwiązania opracowane w odniesieniu do oficjalnych
standardów i wspierane przez różnych producentów. Takim znanym przykładem standardu otwartego jest grupa
protokołów czy też stos TC/IP.
– Protokoły charakterystyczne dla producenta- są
opracowane przez określonych producentów rozwiązao sieciowych, uwzględniają ich specyfikę ich środowisko sieciowe i własne rozwiązania. Są też własnością
konkretnego producenta. Przykładem takiego stosu,
takiego rozwiązania może byd grupa protokołów IPX/SPX opracowanych przez firmę Novell.
Podział – typy protokołów (2/2)
• Ze względu na warstwę, w której działają:
– Protokoły warstwy sieciowej: IP, protokoły routingu (RIP, OSPF, IGRP), ICMP;
– Protokoły warstwy transportowej: TCP, UDP;
– Protokoły warstwy aplikacji: FTP, HTTP, SMTP, DNS;
Przykłady
• Najpopularniejsze protokoły sieciowe to:
– IP (Internet Protocol), częśd zestawu protokołów TCP/IP;
– APPN (Advanced Peer-to-Peer Networking) firmy IBM;
– CONS (OSI Connection-Oriented Network Service);
– CLNS (OSI Connectionless Network Service);
– IPX, częśd zestawu protokołów SPX/IPX firmy Novell;
– Interfejsy Microsoft NetBEUI;
– AppleTalk DDP (Datagram Delivery Protocol).
Najczęściej używane
• Trzy najczęściej używane protokoły w sieciach lokalnych i w internecie to TCP/IP, SPX/IPX i NetBEUI
TCP/IP
• OSI - model OSI, czyli powiązania między protokołami TCP/IP.
Chyba najczęściej
używany, zarówno dla sieci lokalnych jak i
połączenia z internetem.
Powiązania te najlepiej przedstawi poniższy
rysunek.
TCP/IP -> IP
• IP - Protokół międzysieciowy (ang. Internet Protocol) obsługuje doręczanie pakietów dla protokołów TCP, UDP oraz ICMP. Procesy
użytkownika normalnie nie muszą komunikowad się z warstwą IP.
TCP/IP -> IP (struktura nagłówka)
Wersja określa wersję protokołu, obecnie 4 lub 6
IHL (Internet Header Length) długośd nagłówka wyrażona w liczbie 4- bajtowych części (np. wartośd 5 oznacza 20 bajtów)
Typ Obsługi (Type of Service) określa, jaki priorytet powinien mied pakiet Długośd całkowita zawiera długośd pakietu w bajtach (maksimum 65535
bajtów – maksymalna wartośd liczby 16-bitowej; minimum 20 bajtów, bo taka jest długośd nagłówka)
Identyfikator pomaga poskładad pakiet, który został podzielony na części Flagi jedna flaga mówi, czy pakiet może byd fragmentowany (DF: Don't
fragment), druga mówi, czy istnieją następne fragmenty danego pakietu (MF: More Fragments) – ostatni fragment ma ustawione MF na 0
TCP/IP -> IP (struktura nagłówka)
Przemieszczenie fragmentu pole służy do złożenia w całośd pakietu, określając miejsce danego fragmentu w całym pakiecie
TTL (Time To Live) liczba przeskoków, przez które może przejśd, zanim zostanie zignorowany (rutery i komputery zmniejszają tę wartośd o 1, gdy przesyłają pakiet), np. TTL = 16 pozwala na przejście przez 16 ruterów, zanim zostanie usunięty)
Protokół zawiera protokół (TCP, UDP, ICMP, itd.)
Suma kontrolna nagłówka liczba używana w sprawdzaniu poprawności nagłówka
Adres źródłowy i adres docelowy 32-bitowe adresy IP
TCP/IP ->TCP
• TCP - Protokół sterowania transmisją (ang.
Transmission Control Protocol) jest
protokołem obsługi połączeniowej procesu użytkownika, umożliwiającym niezawodne i równoczesne (ang. full-duplex) przesyłanie strumienia bajtów. W większości
internetowych programów użytkowych stosuje się protokół TCP. TCP korzysta z protokołu IP,
więc całą rodzinę protokołów nazywamy TCP/IP.
TCP/IP ->TCP (struktura nagłówka)
Port nadawcy – 16-bitowy numer identyfikujący port nadawcy.
Port odbiorcy – 16-bitowy numer identyfikujący port odbiorcy.
Numer sekwencyjny – 32-bitowy identyfikator określający miejsce pakietu danych w pliku przed fragmentacją (dzięki niemu, można "poskładad" plik z poszczególnych pakietów).
Numer potwierdzenia – 32-bitowy numer będący potwierdzeniem otrzymania pakietu przez odbiorcę, co pozwala na synchronizację nadawanie-potwierdzenie.
Długośd nagłówka – 4-bitowa liczba, która oznacza liczbę 32-bitowych wierszy nagłówka, co jest
niezbędne przy określaniu miejsca rozpoczęcia danych. Dlatego też nagłówek może mied tylko taką długośd, która jest wielokrotnością 32 bitów.
Zarezerwowane – 4-bitowy ciąg zer, zarezerwowany dla ewentualnego przyszłego użytku.
TCP/IP ->TCP (struktura nagłówka)
Flagi 8-bitowa informacja/polecenie dotyczące bieżącego pakietu. Poszczególne flagi oznaczają:
CWR – (ang. Congestion Window Reduced) flaga potwierdzająca odebranie powiadomienia przez nadawcę, umożliwia odbiorcy zaprzestanie wysyłania echa.
ECE – (ang. ECN-Echo) flaga ustawiana przez odbiorcę w momencie otrzymania pakietu z ustawioną flagą CE URG – informuje o istotności pola "Priorytet"
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 zakooczenie przekazu danych
Szerokośd okna – 16-bitowa informacja o tym, ile danych może aktualnie przyjąd odbiorca. Wartośd 0 wskazuje na oczekiwanie na segment z innym numerem tego pola. Jest to mechanizm zabezpieczający komputer nadawcy przed zbyt dużym napływem danych.
Suma kontrolna – 16-bitowa liczba, będąca wynikiem działao na bitach całego pakietu, pozwalająca na sprawdzenie tego pakietu pod względem poprawności danych.
Wskaźnik priorytetu – jeżeli flaga URG jest włączona, informuje o ważności pakietu.
Opcje – czyli ewentualne dodatkowe informacje i polecenia:
0 – koniec listy opcji 1 – brak działania
2 – ustawia maksymalna długośd segmentu
TCP/IP -> UDP
• UDP - Protokół datagramów użytkownika (komunikaty przesyłane między systemami jeden niezależnie od drugiego) (ang. User
Datagram Protocol) jest protokołem obsługi bezpołączeniowej procesów użytkownika. W odróżnieniu od protokołu TCP, który jest
niezawodny, protokół UDP nie daje gwarancji, że datagramy UDP zawsze dotrą do celu.
TCP/IP -> UDP (struktura nagłówka)
Port nadawcy identyfikuje port, z którego została wysłana wiadomośd, kiedy znaczący to wskazuje port wysyłającego procesu i może zostad przyjęty jako port, do którego powinna zostad zwrócona wiadomośd zwrotna w przypadku braku innej informacji.
Port nadawcy jest polem opcjonalnym. Gdy pole to nie jest używane przyjmuje wartośd zero.
Port odbiorcy identyfikuje port odbiorcy i jest polem wymaganym.
Długośd 16-bitowe pola specyfikują długośd w bajtach całego datagramu: nagłówek i dane. Minimalna długośd to 8 bajtów i jest to długośd nagłówka. Wielkośd pola ustala teoretyczny limit 65,527 bajtów, dla danych przenoszonych przez pojedynczy datagram UDP.
Suma kontrolna 16 bitowe pole, które jest użyte do sprawdzania poprawności
nagłówka oraz danych. Pole jest opcjonalne. Ponieważ IP nie wylicza sumy kontrolnej dla danych, suma kontrolna UDP jest jedyną gwarancją, że dane nie zostały
uszkodzone.
TCP/IP -> ICMP
• ICMP - Protokół międzysieciowych
komunikatów sterujących (ang. Internet Control Message Protocol) obsługuje
zawiadomienia o błędach i informacje
sterujące między bramami (ang. gateway) a
stacjami (ang. host). Chociaż komunikaty ICMP są przesyłane za pomocą datagramów IP, są
one zazwyczaj generowane i przetwarzane
przez oprogramowanie sieciowe TCP/IP, a nie przez procesy użytkownika.
TCP/IP -> ARP
• ARP - Protokół odwzorowania adresów (ang.
Address Resolution Protocol) służy do
odwzorowania adresów internetowych na adresy sprzętowe. Ten protokół i protokół
RARP nie jest używany we wszystkich sieciach, lecz tylko w niektórych
TCP/IP -> RARP
• RARP - Protokół odwrotnego odwzorowywania adresów (ang. Reverse Address Resolution
Protocol) służy do odwzorowywania adresów sprzętowych na adresy internetowe.
TCP/IP -> protokoły routingu
• Protokoły trasowania (routingu, routujące, ang. routing protocols) używane są do
wymiany informacji o trasach pomiędzy sieciami komputerowymi, co pozwala na dynamiczną budowę tablic trasowania.
• Metryka trasowania jest wartością używaną przez algorytmy trasowania do określenia, która trasa jest lepsza.
TCP/IP -> protokoły routingu (RIP)
• RIP (ang. Routing Information Protocol) – protokół bram wewnętrznych (IGP), oparty jest na zestawie algorytmów wektorowych, służących do obliczania najlepszej trasy do celu.
• Cechy protokołu RIP
– Jest to protokół trasowania działający na podstawie wektora odległości,
– Do utworzenia metryki stosuje się jedynie liczbę przeskoków (liczba kolejnych routerów na danej trasie),
– Jeżeli liczba przeskoków osiągnie 15, pakiety na następnym routerze zostaną odrzucone
– Aktualizacje trasowania są rozgłaszane tylko do routerów sąsiednich,
– RIP wysyła informacje o trasach w stałych odstępach czasowych (domyślnie co 30 sekund) oraz po każdej zmianie topologii sieci,
– Pomimo wieku, oraz istnienia bardziej zaawansowanych protokołów wymiany informacji o trasach, RIP jest ciągle w użyciu. Jest szeroko używany, dobrze opisany i łatwy w konfiguracji i obsłudze,
– Wadami protokołu jest wybór mało optymalnych ścieżek i brak mechanizmów równoważenia obciążenia przez nadmiarowe łącza.
TCP/IP -> protokoły routingu (IGRP)
• IGRP (ang. Interior Gateway Routing Protocol) – protokół
trasowania bramy wewnętrznej, będący jednym z protokołów sieciowych kontrolujących przepływ pakietów wewnątrz systemu autonomicznego– części sieci tworzącej spójną całośd.
• Cechy protokołu
– Działa na podstawie algorytmu wektora odległości.
– Decyzje co do ścieżki, na którą skierowad pakiet, są podejmowane przez router wykorzystujący IGRP na podstawie metryki złożonej
wyliczonej z szerokości pasma, obciążenia, opóźnienia i niezawodności.
– Informacje o dostępności tras, wraz z parametrami łącza potrzebnymi do wyliczenia metryki, są rozgłaszane cyklicznie (domyślnie – co 90 sekund) oraz po zmianie stanu sieci.
– IGRP jest protokołem "własnościowym", opracowanym przez firmę Cisco i może byd implementowany tylko w urządzeniach jej produkcji lub firm posiadających licencję.
TCP/IP -> protokoły routingu (OSPF)
• OSPF (ang. Open Shortest Path First), w wolnym tłumaczeniu: "pierwszeostwo ma najkrótsza
ścieżka"– protokół trasowania typu stanu łącza (ang. Link State).
• W przeciwieostwie do protokołu RIP, OSPF charakteryzuje się dobrą skalowalnością, wyborem optymalnych ścieżek i brakiem
ograniczenia skoków powyżej 15, przyspieszoną zbieżnością. Przeznaczony jest dla sieci
posiadających do 500 routerów w wyznaczonym obszarze trasowania.
IPX/SPX (1/2)
• IPX/SPX - jest to zestaw protokołów firmy Novell, bierze on nazwę od swoich dwóch głównych protokołów: międzysieciowej wymiany pakietów IPX i sekwencyjnej wymiany pakietów SPX.
• Ten firmowy stos protokołów został oparty na protokole systemów sieciowych firmy Xerox, wykorzystywanym w pierwszej generacji Ethernet. Wymiana IPX/SPX zyskała na znaczeniu we wczesnych latach 80, jako integralna częśd systemu Novell Netware. Netware stał się faktycznym standardem sieciowego systemu operacyjnego dla sieci lokalnych pierwszej generacji.
• Protokół IPX w dużym stopniu przypomina IP. Jest
bezpołączeniowym protokołem datagramowym, który nie wymaga ani nie zapewnia potwierdzenia każdego transmitowanego pakietu.
IPX/SPX (2/2)
• Protokół IPX polega na SPX w taki sam sposób, w jaki protokół IP polega na TCP w zakresie porządkowania kolejności i innych usług połączeniowych warstwy 4.
• Stos protokołów IPX/SPX obejmuje cztery warstwy funkcjonalne: dostępu do nośnika, łącza danych, Internetu i aplikacji.
• Głównym protokołem warstwy aplikacji jest protokół rdzenia NetWare ( NCP). Protokół NCP można
bezpośrednio sprzęgnąd zarówno z protokołem SPX, jak i IPX. Jest wykorzystywany do drukowania,
współdzielenia plików, poczty elektronicznej i dostępu do katalogów.
NetBEUI (1/2)
• NetBEUI - interfejs NetBEUI został opracowany przez IBM i wprowadzony na rynek w 1985 roku.
Jest stosunkowo małym ale wydajnym protokołem komunikacyjnym LAN.
• NetBEUI jest wyłącznie protokołem transportu sieci LAN dla systemów operacyjnych Microsoft.
Nie jest trasowany. Dlatego jego implementacje ograniczają się do warstwy 2, w których działają wyłącznie komputery wykorzystujące systemy operacyjne firmy Microsoft.
NetBEUI (2/2)
• Zalety korzystania z protokołu NetBEUI są następujące:
– Komputery korzystające z systemów operacyjnych lub oprogramowania sieciowego firmy Microsoft mogą się komunikowad.
– NetBEUI jest w pełni samo dostrajającym się protokołem i najlepiej działa w małych segmentach LAN.
– Ma minimalne wymagania odnośnie pamięci.
– Zapewnia doskonałą ochronę przed błędami transmisji, a także powrót do normalnego stanu w razie ich
wystąpienia.
• Wadą protokołu NetBEUI jest fakt, że nie może byd trasowany i niezbyt dobrze działa w sieciach WAN.
Pytania kontrolne
• Jakie dwa podziały stosujemy w obrębie protokołów sieciowych?
• 3 najczęściej stosowane protokoły?
• UDP i TCP – co to i czym się różnią?
• Protokoły trasowania – po co są?
• Metryka routingu – co to jest?
Koniec
• Dziękuje za uwagę