Charakterystyka grupy protokołów TCP/IP Janusz Kleban Architektura TCP/IP - protokoły SMTP FTP Telnet HTTP NFS RTP/RTCP SNMP TCP UDP IP ICMP Protokoły routingu ARP RARP Bazowa technologia sieciowa J. Kleban Grupa protokołów TCP/IP Funkcje protokołu IP definiowanie datagramów, będących podstawowymi jednostkami transmisyjnymi; definiowanie schematu adresowania używanego w sieci; przekazywanie danych między warstwą dostępu do sieci, a warstwą transportową host-to-host; kierowanie datagramów do komputerów oddalonych; dokonywanie fragmentacji i ponownego składania datagramów. J. Kleban Grupa protokołów TCP/IP
Format datagramu IP Wersja (Version) Długość nagłówka (IHL) Czas życia pakietu (Time to live) Identyfikacja (Identyfication) Typ usługi (Type of service) Protokół (Protocol) Opcje (Options) Źródłowy adres IP (Source IP address) Docelowy adres IP (Destination IP address) Dane (Data) Flagi (Flags) Całkowita długość (Total length) Przesunięcie fragmentu (Fragment offset) Suma kontrolna nagłówka (Header checksum) Wypełnienie (Padding) J. Kleban Grupa protokołów TCP/IP Klasy adresów IP Klasa A Klasa B Klasa C Klasa D Klasa E ID sieci (bitów) ID sieci ( bitów) ID sieci ( bitów) ID hosta ( bity) ID hosta ( bitów) Adresy rozsyłania grupowego - multicast Zarezerwowane dla zastosowań specjalnych ID hosta ( bitów) J. Kleban Grupa protokołów TCP/IP Adresy klasy A W adresach klasy A pierwszy bit jest równy, następnych bitów określa sieć, a ostatnie bity wskazują komputer. Możemy zaadresować sieci klasy A, a każda z nich może się składać z.. komputerów. Zakres adresów:...-... J. Kleban Grupa protokołów TCP/IP
Adresy klasy B Jeśli dwa pierwsze bity adresu przyjmują wartość i, to mamy do czynienia z adresami klasy B. Pierwsze dwa bity wyznaczają klasę, następnych określa sieć, a ostatnich identyfikuje komputer. Można zatem zaadresować. sieci oraz. komputerów w każdej z nich. Zakres adresów:...... J. Kleban Grupa protokołów TCP/IP Adresy klasy C W adresach klasy C trzy pierwsze bity przyjmują wartość, kolejnych bitów to identyfikator sieci, a ostatnich bitów służy do identyfikacji komputera. Można w ten sposób zaadresować.. sieci, ale każda z nich może składać się tylko z komputerów. Zakres adresów:...... J. Kleban Grupa protokołów TCP/IP Adresy klasy D Cztery pierwsze bity adresu w postaci, wskazują specjalną grupę adresów zarezerwowanych dla połączeń typu multicast. Adresy takie są czasem nazywane adresami klasy D, ale nie odnoszą się do żadnej konkretnej sieci tylko do strumienia pakietów przenoszących informacje dla usługi wymagającej połączenia punkt-grupa. Zakres adresów:...... J. Kleban Grupa protokołów TCP/IP
Adresy klasy E Adresy rozpoczynające się kombinacją należą do grupy adresów typu E, wykorzystywanych przez IETF do realizacji zadań specjalnych np. testowanie nowych rozwiązań sieciowych. Zakres adresów:...... J. Kleban Grupa protokołów TCP/IP detekcja i korekcja błędów; sterowanie przepływem; Funkcje protokołu TCP składanie wiadomości w całość; odrzucanie duplikatów segmentów wiadomości. Protokół TCP jest protokołem niezawodnym, zorientowanym połączeniowo. Transmisja między urządzeniami (komputerami) może się rozpocząć dopiero po otwarciu połączenia. Połączenie jest zamykane po zakończeniu wymiany danych. Brak możliwości transmisji multicast i broadcast. J. Kleban Grupa protokołów TCP/IP Porty Wiadomości dostarczane są przez warstwę transportową do właściwych aplikacji z wykorzystaniem numerów portów. Numer portu jest bitowym adresem, przy czym w zakresie od zdefiniowano tzw. dobrze znane porty (ang. wellknown ports), które przyporządkowano do powszechnie wykorzystywanych usług warstwy aplikacji np. dla protokołu TCP: Telnet (), FTP (), SMTP (); dla protokołu UDP: SNMP (), RPC (), TFTP (). Konkatenacja adresu IP i numeru portu jest nazywana gniazdem (ang. socket). J. Kleban Grupa protokołów TCP/IP
Format pakietu TCP Przes. danych (Data offset) Port źródłowy (Source port) Nie wykorzystane (Reserved) Suma kontrolna (Checksum) Numer potwierdzenia (Acknowledgement number) Flagi (Flags) Opcje (Options) Numer sekwencyjny (Sequence number) Dane (Data) Port docelowy (Destination port) Okno (Window) Wskaźnik ważnych danych (Urgent pointer) Wypełnienie (Padding) J. Kleban Grupa protokołów TCP/IP Funkcje protokołu UDP Protokół UDP jest bezpołączeniowym, zawodnym protokołem transportowym. Pozwala na przesyłanie wiadomości do jednego lub wielu urządzeń (komputerów) bez uprzedniego nawiązania połączenia. Nie wymaga przesyłania potwierdzeń dostarczenia pakietów. Dla niektórych aplikacji jest to najbardziej efektywny sposób przesyłania informacji. Daje możliwość realizowania transmisji typu broadcast. J. Kleban Grupa protokołów TCP/IP Format pakietu UDP Port źródłowy (Source port) Długość pakietu UDP (Length) Dane (Data) Port docelowy (Destination port) Suma kontrolna (UDP Checksum) J. Kleban Grupa protokołów TCP/IP
Obliczanie sumy kontrolnej UDP Zero Port źródłowy (Source port) Długość pakietu UDP (Length) Źródłowy adres IP (Source IP address) Docelowy adress IP (Destination IP address) Protokół (Protocol) Długość pakietu UDP (UDP length) Port docelowy (Destination port) Suma kontrolna (UDP Checksum) Pseudo nagłówek Nagłówek UDP Dane (Data) Dane J. Kleban Grupa protokołów TCP/IP Protokół IPv znacznie rozszerzone możliwości adresowania i rutingu; wprowadzenie adresu typu Anycast; uproszczenie formatu nagłówka; udoskonalone wsparcie dla opcji; mechanizmy Quality-of-Service; możliwości praktycznej realizacji autoryzacji i zapewnienia prywatności. J. Kleban Grupa protokołów TCP/IP Datagram IPv elementy datagramu: podstawowy nagłówek IPv; nagłówki rozszerzeń; nagłówek protokołu wyższej warstwy + dane; ścisła kolejność nagłówków rozszerzeń. J. Kleban Grupa protokołów TCP/IP
Nagłówek datagramu IPv składa się z pól; stała długość bajtów; brak pola kontroli błędów; Wersja Priorytet Etykieta potoku Długość pola danych Następny nagłówek Limit skoków Adres źródła Adres przeznaczenia J. Kleban Grupa protokołów TCP/IP Rozszerzenia nagłówka/opcje ulepszony mechanizm opcji; opcje IPv są zawarte w osobnych nagłówkach rozszerzeń; większość nagłówków rozszerzeń IPv nie jest analizowana lub przetwarzana przez routery; całkowita długość pola opcji nie jest ograniczona do bajtów i jest zawsze całkowitą wielokrotnością oktetów. J. Kleban Grupa protokołów TCP/IP Rozszerzenia nagłówka Zdefiniowane rozszerzone nagłówki IPv w kolejności występowania: Hop-by-Hop options header; Destination options header-; Source Routing header; Fragmentation header; Authentication header; IPv Encryption header; Destination options header-. J. Kleban Grupa protokołów TCP/IP
Adresowanie w IPv adresy IPv mają długość równą bitom; służą do identyfikowania konkretnych interfejsów lub ich grup; pojedynczy interfejs może być skojarzony z wieloma adresami IPv dowolnego typu; trzy typy adresów: unicat, anycast i multicast, brak adresu typu broadcast. J. Kleban Grupa protokołów TCP/IP Przestrzeń adresowa bitów adresu daje adresową niż IPv; razy większą przestrzeń teoretycznie umożliwia to przydzielenie,,,,,,, adresów na każdy metr kwadratowy Ziemi; uwzględniając wprowadzenie hierarchii adresów szacuje się ich liczbę na metr kwadratowy Ziemi w przedziale od, do,,,,,,. J. Kleban Grupa protokołów TCP/IP Unicast identyfikacja pojedynczego interfejsu; kilka typów adresów typu unicast: adresy jednostkowe przypisywane przez usługodawców sieciowych (Provider based unicast addresses); adresy użytku lokalnego (Local-Use Addresses): Link-Local, Site-Local; adresy IPv z zawartymi adresami IPv. J. Kleban Grupa protokołów TCP/IP
Anycast anycastowy adres IPv jest skojarzony z więcej niż jednym interfejsem (typowo z interfejsami należącymi do różnych węzłów); pakiet wysłany na adres tego typu jest kierowany do najbliższego - według odpowiedniego protokołu rutingu - interfejsu posiadającego taki adres; format adresu jak dla unicast. J. Kleban Grupa protokołów TCP/IP Multicast multicastowy adres IPv identyfikuje grupę interfejsów; interfejs może należeć multicastowych; do dowolnej liczby grup stałe i tymczasowe adresy multicast; zasięg grupy multicast. J. Kleban Grupa protokołów TCP/IP Notacja adresów IPv format x:x:x:x:x:x:x:x, gdzie x zawiera się w przedziale od do FFFF; kompresja zer - ciąg powtarzających się zer można zastąpić parą dwukropków; zapis końcówki adresu w notacji dziesiętnej z kropkami przy transporcie adresu IPv, format x:x:x:x:x:x:d:d:d:d, gdzie d zawiera się w przedziale od do (dziesiątkowo). J. Kleban Grupa protokołów TCP/IP
Mechanizmy QoS mechanizm rezerwacji zasobów; potok jako ścieżka poprzez sieć, na której pośrednie routery gwarantują określoną jakość obsługi; zapewnienie określonej przepustowości, opóźnienia i/lub jittera; pola nagłówka IPv: Etykieta Potoku, Priorytet. J. Kleban Grupa protokołów TCP/IP Bezpieczeństwo nagłówek autoryzacji (IPng Authentication Header): zapewnienie autoryzacji i integralności danych, algorytm MD. nagłówek enkapsulacji ładunku (IPng Encapsulating Security Header): zapewnienie integralności i poufności danych, algorytm DES CBC. J. Kleban Grupa protokołów TCP/IP Autokonfiguracja autokonfiguracja: bezstanowa konfiguracja adresu z wykorzystaniem adresu MAC; DHCPv; mobilność; J. Kleban Grupa protokołów TCP/IP
IPv ponad IPv znacznie większa i zhierarchizowana przestrzeń adresowa; elastyczny format nagłówka opcje w nagłówkach rozszerzeń; zmniejszenie obciążenia routerów; potoki i QoS; autokonfiguracja; możliwość przesyłania pakietów o długości większej od bajtów. J. Kleban Grupa protokołów TCP/IP Protokoły routingu Wybór i zestawienie drogi przesyłania pakietu, nazywane jest routingiem. Protokoły wyznaczania tras, czyli protokoły routingu, stanowią najobszerniejszą grupę protokołów z rodziny TCP/IP w warstwie sieciowej. Są to także protokoły o największym stopniu złożoności. Routing w sieci komputerowej jest realizowany przez rutery. J. Kleban Grupa protokołów TCP/IP System autonomiczny Zgodnie z RFC system autonomiczny to zestaw ruterów pozostający pod jedną administracją techniczną, korzystający z wewnętrznego protokołu routingu i wspólnej metryki tras dla pakietów w ramach systemu, oraz korzystający z zewnętrznego protokołu routingu dla przesyłania pakietów do innych systemów autonomicznych. J. Kleban Grupa protokołów TCP/IP
Klasyfikacja protokołów routingu W celu realizacji procesu routingu routery komunikują się między sobą, aby wymieniać informacje o dostępnych połączeniach i ich parametrach. Komunikacja pomiędzy routerami prowadzona jest zgodnie z zasadami opisanymi przez protokoły routingu. W zależności od zastosowania, protokoły routingu nazywane są zewnętrznymi (Exterior Routing Protocol) lub wewnętrznymi (Interior Routing Protocol). J. Kleban Grupa protokołów TCP/IP Protokoły routingu wewnętrznego RIP (Routing Information Protocol) protokół odległościowo - wektorowy; OSPF (Open Shortest Path First) protokół stanu łącza; inne protokoły: IGRP, enhanced IGRP, dual IS-IS. J. Kleban Grupa protokołów TCP/IP Protokół RIP RIP wybiera trasy charakteryzujące się najmniejszą liczbą przeskoków (hops). Liczba przeskoków jest to liczba routerów, przez które musi przejść pakiet, by osiągnąć węzeł przeznaczenia. Protokół zakłada, że najlepsza droga prowadzi przez najmniejszą liczbę routerów. RIP nie nadaje się do dużych systemów autonomicznych, w których trasy mogą prowadzić przez więcej niż routerów. Założenie protokołu RIP, że najlepsza trasa to trasa najkrótsza, nie uwzględnia obciążenia poszczególnych ścieżek i opóźnienia występującego na każdej z nich podczas przesyłania pakietów. J. Kleban Grupa protokołów TCP/IP
Protokół OSPF W odróżnieniu od RIP routery OSPF nie przesyłają tablic routingu między sobą. Zamiast tego używają pięciu różnych rodzajów komunikatów do wymiany informacji potrzebnych do utrzymania tablic routingu: komunikaty Hello; opisy baz danych (database descriptions); żądanie danych o stanie połączeń (requests link-state); dane aktualizujące stan połączeń (updates link-state); potwierdzenia stanu połączenia (acknowledgments linksstate). J. Kleban Grupa protokołów TCP/IP Protokół OSPF OSPF reprezentuje grupę protokołów stanu łącza. Protokoły te charakteryzują się tym, że routery nie przekazują informacji o adresach, które za ich pośrednictwem są osiągalne, a przekazywana jest informacja o topologii sieci i parametrach łączy np. przepustowość łącza i jego bieżące obciążenie, współczynniki administracyjne, ograniczenia w przesyłaniu pewnych pakietów przez łącza. Na tej podstawie każdy router buduje sobie własny obraz sieci i aktualnego stanu wszystkich tworzących ją łączy, a następnie wylicza najlepszą dla siebie trasę do poszczególnych miejsc w sieci i tworzy tablicę routingu. Sposób określenia najlepszej trasy zależy od zastosowanego algorytmu. J. Kleban Grupa protokołów TCP/IP Protokoły routingu zewnętrznego Protokoły routinguzewnętrznego odpowiadają za wymianę informacji o routingu między systemami autonomicznymi. EGP - Exterior Gateway Protocol; wymiana informacji pomiędzy ruterami odbywa się w trzech krokach: neighbor acquisition; neighbor reachability; network reachability; BGP - Border Gateway Protocol; posiada znacznie więcej możliwości od protokołu EGP, jest bardziej elastyczny, wymieniane są informacje o atrybutach ścieżek; CIDR Classless Inter-Domain Routing. J. Kleban Grupa protokołów TCP/IP