Charakterystyka grupy protokołów TCP/IP

Transkrypt

Charakterystyka grupy protokołów TCP/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
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

Podobne dokumenty