IP

Charakterystyka grupy protokołów TCP/IP Janusz Kleban Architektura TCP/IP - protokoły SMTP FTP Telnet HTTP NFS RTP/RTCP TCP SNMP UDP IP ICMP ...
3 downloads 0 Views 395KB Size
Charakterystyka grupy protokołów TCP/IP

Janusz Kleban

Architektura TCP/IP - protokoły SMTP

FTP

Telnet HTTP NFS RTP/RTCP

TCP

SNMP

UDP IP

ICMP

Protokoły routingu

ARP

RARP

Bazowa technologia sieciowa

J. Kleban

Grupa protokołów TCP/IP

2

Funkcje protokołu IP • definiowanie datagramów, jednostkami transmisyjnymi;

będących

podstawowymi

• 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 datagramów.

J. Kleban

fragmentacji

i

ponownego

Grupa protokołów TCP/IP

składania

3

Format datagramu IP 0 1

2 3 4

5 6

7 8 9 0 1

Długość nagłówka (IHL)

Wersja (Version)

2 3 4 5 6

7 8 9 0 1

Typ usługi (Type of service)

Identyfikacja (Identyfication) Czas życia pakietu (Time to live)

2 3 4 5 6

7 8 9 0 1

Całkowita długość (Total length) Flagi (Flags)

Protokół (Protocol)

Przesunięcie fragmentu (Fragment offset) Suma kontrolna nagłówka (Header checksum)

Źródłowy adres IP (Source IP address) Docelowy adres IP (Destination IP address) Opcje (Options)

Wypełnienie (Padding) Dane (Data)

J. Kleban

Grupa protokołów TCP/IP

4

Klasy adresów IP 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

ID hosta (24 bity)

Klasa A

0

Klasa B

1 0

Klasa C

1 1 0

Klasa D

1 1 1 0

Adresy rozsyłania grupowego - multicast

Klasa E

1 1 1 1

Zarezerwowane dla zastosowań specjalnych

J. Kleban

ID sieci (7bitów) ID sieci (14 bitów)

ID hosta (16 bitów) ID sieci (21 bitów)

Grupa protokołów TCP/IP

ID hosta (8 bitów)

5

Adresy klasy A • W adresach klasy A pierwszy bit jest równy 0, następnych 7 bitów określa sieć, a ostatnie 24 bity wskazują komputer. Możemy zaadresować 126 sieci klasy A, a każda z nich może się składać z 16.777.124 komputerów. Zakres adresów: 000.000.000.000-127.255.255.255.

J. Kleban

Grupa protokołów TCP/IP

6

Adresy klasy B • Jeśli dwa pierwsze bity adresu przyjmują wartość 1 i 0, to mamy do czynienia z adresami klasy B. Pierwsze dwa bity wyznaczają klasę, następnych 14 określa sieć, a ostatnich 16 identyfikuje komputer. Można zatem zaadresować 16.384 sieci oraz 65.534 komputerów w każdej z nich. Zakres adresów: 128.000.000.000 – 191.255.255.255.

J. Kleban

Grupa protokołów TCP/IP

7

Adresy klasy C • W adresach klasy C trzy pierwsze bity przyjmują wartość 1 1 0, kolejnych 21 bitów to identyfikator sieci, a ostatnich 8 bitów służy do identyfikacji komputera. Można w ten sposób zaadresować 2.097.151 sieci, ale każda z nich może składać się tylko z 256 komputerów. Zakres adresów: 192.000.000.000 – 223.255.255.255.

J. Kleban

Grupa protokołów TCP/IP

8

Adresy klasy D • Cztery pierwsze bity adresu w postaci 1 1 1 0, 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: 224.000.000.000 – 239.255.255.255.

J. Kleban

Grupa protokołów TCP/IP

9

Adresy klasy E

• Adresy rozpoczynające się kombinacją 1 1 1 1 należą do grupy adresów typu E, wykorzystywanych przez IETF do realizacji zadań specjalnych np. testowanie nowych rozwiązań sieciowych. Zakres adresów: 240.000.000.000 – 255.255.255.255.

J. Kleban

Grupa protokołów TCP/IP

10

Funkcje protokołu TCP • detekcja i korekcja błędów; • sterowanie przepływem; • 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

11

Porty Wiadomości dostarczane są przez warstwę transportową do właściwych aplikacji z wykorzystaniem numerów portów. Numer portu jest 16 bitowym adresem, przy czym w zakresie od 0 – 255 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 (23), FTP (21), SMTP (25); dla protokołu UDP: SNMP (161), RPC (111), TFTP (69). Konkatenacja adresu IP i numeru portu jest nazywana gniazdem (ang. socket). J. Kleban

Grupa protokołów TCP/IP

12

Format pakietu TCP 0 1

2 3 4

5 6

7 8 9 0 1

2 3 4 5 6

7 8 9 0 1

Port źródłowy (Source port)

2 3 4 5 6

7 8 9 0 1

Port docelowy (Destination port) Numer sekwencyjny (Sequence number) Numer potwierdzenia (Acknowledgement number)

Przes. danych (Data offset)

Nie wykorzystane (Reserved)

Flagi (Flags)

Okno (Window)

Suma kontrolna (Checksum)

Wskaźnik ważnych danych (Urgent pointer) Opcje (Options)

Wypełnienie (Padding) Dane (Data)

J. Kleban

Grupa protokołów TCP/IP

13

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

14

Format pakietu UDP 0 1 2 3 4

5 6

7 8 9 0 1 2 3 4 5 6

7 8 9 0 1

2 3 4 5 6 7 8 9 0 1

Port źródłowy (Source port)

Port docelowy (Destination port)

Długość pakietu UDP (Length)

Suma kontrolna (UDP Checksum) Dane (Data)

J. Kleban

Grupa protokołów TCP/IP

15

Obliczanie sumy kontrolnej UDP Źródłowy adres IP (Source IP address) Docelowy adress IP (Destination IP address) Zero

Protokół (Protocol)

Długość pakietu UDP (UDP length)

Port źródłowy (Source port)

Port docelowy (Destination port)

Długość pakietu UDP (Length)

Suma kontrolna (UDP Checksum) Dane (Data)

J. Kleban

Pseudo nagłówek

Nagłówek UDP

Dane

Grupa protokołów TCP/IP

16

Protokół IPv6 • 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

17

Datagram IPv6 • elementy datagramu: ¾ podstawowy nagłówek IPv6; ¾ 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

18

Nagłówek datagramu IPv6 • składa się z 8 pól; • stała długość 40 bajtów; • brak pola kontroli błędów; 1

32

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

19

Rozszerzenia nagłówka/opcje • ulepszony mechanizm opcji; • opcje IPv6 są zawarte w osobnych nagłówkach rozszerzeń; • większość nagłówków rozszerzeń IPv6 nie jest analizowana lub przetwarzana przez routery; • całkowita długość pola opcji nie jest ograniczona do 40 bajtów i jest zawsze całkowitą wielokrotnością 8 oktetów.

J. Kleban

Grupa protokołów TCP/IP

20

Rozszerzenia nagłówka Zdefiniowane rozszerzone nagłówki IPv6 w kolejności występowania: ¾ Hop-by-Hop options header; ¾ Destination options header-1; ¾ Source Routing header; ¾ Fragmentation header; ¾ Authentication header; ¾ IPv6 Encryption header; ¾ Destination options header-2. J. Kleban

Grupa protokołów TCP/IP

21

Adresowanie w IPv6 • adresy IPv6 mają długość równą 128 bitom; • służą do identyfikowania konkretnych interfejsów lub ich grup; • pojedynczy interfejs może być skojarzony z wieloma adresami IPv6 dowolnego typu; • trzy typy adresów: unicat, anycast i multicast, brak adresu typu broadcast.

J. Kleban

Grupa protokołów TCP/IP

22

Przestrzeń adresowa • 128 bitów adresu daje 296 razy większą przestrzeń adresową niż IPv4; • teoretycznie umożliwia to przydzielenie 665,570,793,348,866,943,898,599 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 1,564 do 3,911,873,538,269,506,102.

J. Kleban

Grupa protokołów TCP/IP

23

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 IPv6 z zawartymi adresami IPv4.

J. Kleban

Grupa protokołów TCP/IP

24

Anycast • anycastowy adres IPv6 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

25

Multicast • multicastowy interfejsów;

adres

IPv6

identyfikuje

grupę

• interfejs może należeć do dowolnej liczby grup multicastowych; • stałe i tymczasowe adresy multicast; • zasięg grupy multicast.

J. Kleban

Grupa protokołów TCP/IP

26

Notacja adresów IPv6 • format x:x:x:x:x:x:x:x, gdzie x zawiera się w przedziale od 0 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 IPv4, format x:x:x:x:x:x:d:d:d:d, gdzie d zawiera się w przedziale od 0 do 255 (dziesiątkowo).

J. Kleban

Grupa protokołów TCP/IP

27

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 IPv6: • Etykieta Potoku, • Priorytet.

J. Kleban

Grupa protokołów TCP/IP

28

Bezpieczeństwo • nagłówek autoryzacji (IPng Authentication Header): ¾ zapewnienie autoryzacji i danych,

integralności

¾ algorytm MD5. • nagłówek enkapsulacji ładunku (IPng Encapsulating Security Header): ¾ zapewnienie danych,

integralności

i

poufności

¾ algorytm DES CBC. J. Kleban

Grupa protokołów TCP/IP

29

Autokonfiguracja • autokonfiguracja: ¾ bezstanowa konfiguracja adresu z wykorzystaniem adresu MAC; ¾ DHCPv6; • mobilność;

J. Kleban

Grupa protokołów TCP/IP

30

IPv6 ponad IPv4 • znacznie większa adresowa;

i

zhierarchizowana

przestrzeń

• 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 65 535 bajtów. J. Kleban

Grupa protokołów TCP/IP

31

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

32

System autonomiczny Zgodnie z RFC 1771 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

33

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

34

Protokoły routingu wewnętrznego • RIP (Routing Information odległościowo - wektorowy;

Protocol)



protokół

• OSPF (Open Shortest Path First) – protokół stanu łącza; • inne protokoły: IGRP, enhanced IGRP, dual IS-IS.

J. Kleban

Grupa protokołów TCP/IP

35

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ż 15 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

36

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

37

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

38

Protokoły routingu zewnętrznego Protokoły routingu zewnę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

39