Sieci IP

Transkrypt

Sieci IP
Warstwa sieciowa
• Usługi dla warstwy transportowej
• Niezależne od sieci podkładowych
• Oddzielenie warstwy transportu od parametrów sieci
(numeracja,topologia, etc.)
• Adresy sieciowe dostępne dla warstwy transportowej
powinny być jednolite i niezależne od rodzajów LANów czy
WANów
• Dwa rodzaje usług
( zależne od oceny sieci podkładowych)
• Połączeniowe – „telekomunikacja”
• Bezpołączeniowe – „Internet”
• Połączenie sieci w intersieci ( internet ) –
• Intersieci oparte o IP – Internet
• Intranet sieć wewnętrzna na protokole TCP/IP
Warstwa sieciowa w Internecie
• Protokół IP - Internet Protocol
• Protokoły kontrolne – ICMP
• Internet Control Message Protocol
• Protokoły routingu:
• OSPF – Open Short Path First
• The Interior Gateway Routing Protocol
• BGP – Border Gateway Protocol
• The Exterior Gateway Routing Protocol
• Rozgłaszanie w IP - Internet Multicasting
• Mobile IP
• IPv6
Założenia podstawowe dla
Internetu
•
•
•
•
•
•
•
•
Pewność działania
Prostota
Klarowność wyborów
Modularność
Heterogeniczne środowisko
Unikanie statycznych opcji i parametrów
Poprawna ( niekoniecznie perfekcyjna) architektura
Przestrzeganie reguł przy wysyłaniu, tolerancja przy
odbiorze
• Przewidywanie skalowalności
• Uwzględnianie wydajności i kosztów
Funkcje protokołu IP
definiowanie datagramów,
transmisyjnymi w Internecie
będących
podstawowymi
jednostkami
definiowanie schematu adresowania używanego w Internecie
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.
IP jest protokołem bezpołączeniowym, przed wysłaniem danych, nie
wymienia żadnych informacji sterujących
wymagać będzie adresowania każdego datagramu
Protokół IP
Protokół IP (2)
• Wersja ( 4 bity) – IPv4
• Długość nagłówka - IHL – Internet Header Length (4 bity)
• Długość w słowach 32 bitówych – minimum 5
• Typ usługi – TOS – Type of service (8 bitów)
• Pierwszeństwo – 3 bity
• Opóźnienia – 1 bit – małe
• Przepustowość – 1 bit - duża
• Pewność – 1 bit – duża
• Koszty – 1 bit - małe
• Długość datagramu – 16 bitów
• W oktetach – max 65 535 oktetów
• Identyfikacja – 16 bitów
• Numer sekwencyjny – łącznie z adresami nadawcy i odbiorcy oraz
protokołem identyfikuje w pełni datagram
• Flagi – 3 bity
• DF – Don’t fragment
• MF – More fragment
Figure 3.1
Protokół IP (3)
• Offset fragmentu ( 13 bitów)
• Wskazuje gdzie w oryginalnym datagramie (id) powinien być
umieszczony ten fragment ( w 64 bitowych – 8 oktetowych jednostkach)
• Ostatni fragment może nie być wielokrotnością 8 oktetów
• Czas życia – TTL – time to live (8 bitów)
• Mierzony w przeskokach wezłów ( routerów)
• Oryginalnie w sekundach – jak to mierzyć ?
• Każdy router zmniejsza o 1 ( max 255)
• Protokół ( 8 bitów)
• Wskazuje protokół wyższej wartwy, gdzie przekazana będzie zawartość
datagramu
• Np. 1 ICMP, 17 UDP, 6 TCP, /etc/protocols
• Suma kontrolna nagłówka – 16 bitów
• Suma 16 bitowych fragmentów datagramów (uzupełnienie do 1) i
uzupełnienie wyniku do 1
• Przed obliczeniem suma kontrolna wynosi 0
Fragmentacja
Protokół IP (4)
• Adres źródłowy ( 32 bity)
• Adres przeznaczenia ( 32 bity)
• Opcje
• Różne opcje żądane przez nadawcę
• Kod opcji – 8 bitów
• Bit kopiowania ( we fragmentach)
• 2 bity klasy opcji –
• 0 – kontrola datagramów/sieci
• 2 – pomiary , poprawa błędów
• 5 bitów numeru opcji
• Rodzaje opcji
• Swobodne trasowanie według nadawcy
• Rygorystyczne trasowanie według nadawcy
• Zapisuj trasę
• Zapisywanie czasów
• Bezpieczeństwo ( ?) - DoD
• Uzupełnienie ( padding)
• Uzupełnienie nagłówka IP do wielokrotności 32 bitów
• Dane – różnie, ale wielokrotność 8 bitów
Usługi protokołu IP
• Wyślij / odbierz datagram IP
• Parametry:
•
•
•
•
•
•
•
•
•
Adresy źródłowy i przeznaczenia
Protokół (użytkownik protokołu IP)
TOS – rodzaj usługi
Identyfikator ( tylko przy wysłaniu)
DF Identyfikator ( tylko przy wysłaniu)
TTL – (tylko przy wysłaniu)
Długość danych
Opcje
Dane
• Adresy IP interfejsów sieciowych
• Podział adresów na część sieciową i hostów
• Globalność adresowa
• Przykład zapisu adresu IP w różnych notacjach:
• zapis binarny 00000110 | 10000100 | 00000010 | 00000001
• zapis szesnastkowy
0x06840201
• zapis dziesiętny
109314561
• zapis kropkowo-dziesiętny 6.132.2.1
Adresy IP
Format adresów IP – podział na klasy
Adresy specjalne IP
•
•
•
adres sieciowy
• x.x.0.0 – dowolny komputer w sieci x.x
adres rozgłoszenia ukierunkowanego - broadcast sieciowy
• x.x.255.255 – wszystkie komputery w sieci x.x
• adres, w którym części adresu komputera składa się z samych jedynek i jest dodana do prefiksu.
adres rozgłoszenia ukierunkowanego typu Berkeley
• x.x.0.0) – sufiks złożony z samych zer
•
•
adres rozgłoszenia ograniczonego - ograniczony broadcast
255.255.255.255 – adres wszystkich hostów w sieci lokalnej
•
•
•
•
wiele implementacji umożliwia wybranie pomiędzy standardem TCP/IP a rozwiązaniem typu Berkeley.
stosowany przy starcie systemu przez komputery, które nie znają w tym momencie numeru sieci, nigdy nie jest
przekazywany przez rutery.
adres komputera podczas startu
• 0.0.0.0 – ten komputer w tej sieci
• podawany jako adres źródłowy w trakcie uruchamiania komputera, gdy nie zna on jeszcze swojego adresu IP
adres pętli zwrotnej- loopback
• 127.x.y.z – pakiet wysłany na taki adres, nie może zostać wysłany poza komputer
adres komputera w danej sieci
• 0.x.y.z – komputer x.y.z w tej sieci
• podawany podczas uruchamiania jako adres źródłowy w komputerze posiadającym niekompletne informacje.
Podsieci i nadsieci IP
• Cechy adresu IP:
•
•
•
•
jest hierarchiczny,
jest powiązany z położeniem „geograficznym” adresowych urządzeń
skalowalny
podobny w istocie do numerów telefonicznych.
•
samoidentyfikujący się
• 4 początkowe bity wyznaczają rodzaj klasy i podział na część sieci i pozostałą
•
Powody podziału sieci IP w klasach na podsieci
• zbyt duża ilość komputerów w klasach A - (224-2) i B - (216-2)
• przezwyciężenie problemów topologicznych i organizacyjnych (decentralizacja
zarządzania adresami)
• zmniejszenie domeny rozgłoszeniowej
• pozwala ukryć szczegóły budowy sieci przed ruterami zewnętrznymi
• mogą istnieć różne rodzaje sieci lokalnej, które trzeba jakoś połączyć (każda fizyczna
sieć musi mieć swój adres, podział adresu spowoduje powstanie podsieci o unikalnych
adresach)
• lepsze efekty daje stosowanie podsieci w klasie B, niż wiele sieci klasy C (redukuje to
wzór tablic rutowania).
• Wyczerpywanie się wolnych klas typu C –
Podsieci i Nadsieci
• Maska IP
• maska podsieci
• maska nadsieci
• CIDR - Classless InterDomain Routing
•
•
•
•
•
2 miliony klas C
194.0.0.0 - 195.255.255.255 Europe
198.0.0.0 - 199.255.255 North America
200.0.0.0 - 201.255.255.255 Central and South America
202.0.0.0 - 203.255.255.255 Asia and the Pacific
• Obsługa routingu w węzłach
• Przed CIDR
• Analiza klas
• Identyfikacja numeru klasy
• Decyzja routingu
• Z CIDR
• Problem jednoznaczności
• Zasada najdłuższych masek
Przykład podsieci
Sieć klasy B podzielona na 64 podsieci
Podsieci przykłady
Podsieć „256” komputerów z sieci klasy B
130.66.12.1 netmask 255.255.255.0
Lub 130.66.12.1/24 ( ilość bitów sieci –jedynek maski)
broadcast dla tej sieci 130.66.12.255
Podsieć „64” komputery z sieci klasy C
192.65.16.64 netmask 255.255.255.192
broadcast 192.65.16.128
Podsieć „16” komputerów z sieci klasy C
192.65.16.250 netmask 255.255.255.240
broadcast - ???
Podział na podsieci nie musi być jednakowy
Z klasy C – można np. utworzyć podsieci – 128 + 64 + 2*32
adresowe
Nadsieci przykłady
Cambridge University 2048 adresów
194.24.0.0 do 194.24.7.255 netmask 255.255.248.0
Oxford University 4096 adresów
194.24.16.0 do 194.24.31.255 netmask
255.255.240.0
University od Leeds 1024 adresów
194.24.8.0 do 194.24.11.255 netmask
255.255.???. 0
Routing w podsieciach
NAT – Network Address
Translation
Placement and operation of a NAT box.
RFC 1918
Adresy specjalne – do użytku wewnętrznego
Nie powinny być routowane na zewnątrz sieci
korporacyjnych
Sieć klasy A 10.0.0.0 maska 255.0.0.0
Sieć klasy B 172.16.0.0 maska 255.255.0.0
Sieci klasy C (ile?) 192.168.0.0 maska 255.255.0.0
IP – operacje w węzłach
Które pola w nagłówkach są zmieniane ?
TTL
Suma kontrolna
Opcje
Flagi ?
?? TOS
Adresy ?? Kiedy ?
Które ignorowane ?
TOS ??
Opcje ??
Dlaczego ?
Jak zachowywały się przełączniki warstwy 2 ?
Internet Control Message Protocol
Podstawowe typy wiadomości ICMP
5-61
Pole Typu – 8 bitowe – 0-18
Pole Kodu – 8 bitowe - zależne od typu
np. dla typu 3 – nieosiągalne : 0 – sieć, 1 – węzeł, 2 –protokół, 3port, 4-konieczna fragmentacja itp. ( 12 kodów)
Format komunikatu ICMP
ARP– The Address Resolution
Protocol
Protokół do uzyskiwania adresu sprzętowego
Przykład: 3 połączone sieci-2*ETH +FDDI
Format komunikatu ARP
16
32
Rodzaj sprzętu
Dł. Dla sprzętu
Rodzaj protokołu
Dł dla protokołu
Operacja
Adres sprzętowy nadawcy ( oktety 0-3)
Adres sprzętowy nadawcy ( oktety 4-5)
Adres IP Nadawcy ( oktety 0-1 )
Adres IP Nadawcy oktety 2-3
Adres sprzętowy odbiorcy (oktety 0-1)
Adres sprzętowy odbiorcy (oktety 2-5)
Adres IP odbiorcy oktety 0-3
Ramka ETH – pole protokolu 0806 HEX
Ramka ARP/Rarp - :
Sprzęt – 1 – ETH
Protokół – 0800 HEX – IP
Operacja – ARP –1 , Odp ARP –2 , RARP – 3 Odp RARP – 4
IP v6 –
IP v 1-3 zdefiniowane i zastąpione
IP v4 – bieżąca wersja
IP v5 – Protokół strumieniowy
IP v6 – ma zastąpić IP v4
⌧W czasie prac projektowych nazywany IPng (Next Generation)
⌧ RFC 2460 - 2466
Po co zmieniać IP?
Wyczerpywanie puli adresów
⌧Dwa poziomy adresowania (network and host) – „marnotrawstwo
przestrzeni adresowej”
⌧Adresy sieciowe używane nawet bez połączenia z Internetem
⌧Gwałtowny wzrost sieci i Internetu
⌧Wzrost wykorzystania protokołów TCP/IP
⌧Pojedynczy adres dla hosta
Wymagania dla nowych typów usług
⌧Zapewnienie bezpieczeństwa
⌧Autoryzacji
⌧QoS
Struktura
Nagłówek IP v6
Adresy w IPv6
128 bitowe
Przypisane do interfejsów
Pojedynczy interfejs może mieć wiele adresów
unicastowych
Trzy typy adresów:
Unicast
⌧Pojedynczy interfejs
Anycast
⌧Zestaw interfejsów (typowo dla różnych węzłów)
⌧Dostarczanie do dowolnego interfejsu
• Zazwyczaj „najbliższy”
Multicast
⌧Też zestaw interefejsów
⌧Dostarczanie do wszystkich zidentyfikowanych interfejsów
Nagłówek IP v6
Wersja – 6
Problem obsługi
• Wolne
• Może nowy protokół w ramce ethernetu
Brak sumy kontrolnej
Pole HOP limit ( TTL )
Next Header
Klasa ruchu
Oznaczenie pakietów – Flow label
Brak opcji ?
Następne nagłówki ( 6 opcjonalnych)
⌧Fragmentacja, opcje odbiorcy, uwierzytelnienie !!, szyfrowanie !!, opcje hop-by-hop
(dla wszystkich węzłów), routingu
Szybsze przetwarzanie – bo nie wszystkie węzły