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
• 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, będących podstawowymi jednostkami transmisyjnymi w Internecie
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
• wiele implementacji umożliwia wybranie pomiędzy standardem TCP/IP a rozwiązaniem typu Berkeley.
• adres rozgłoszenia ograniczonego - ograniczony broadcast 255.255.255.255 – adres wszystkich hostów w sieci lokalnej
• 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 –
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
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 /8 255.0.0.0 Sieć klasy B 172.16.0.0 maska /12 255.240.0.0 Sieci klasy C 192.168.0.0 maska /16 255.255.0.0
Internet Control Message Protocol
Podstawowe typy wiadomości ICMP
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ół, 3- port, 4-konieczna fragmentacja itp. ( 12 kodów)
5-61
Format komunikatu ICMP
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)
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
IPv6 RFCs
1752 - Recommendations for the IP Next Generation Protocol
2460 - Overall specification 2373 - addressing structure others (find them)
Expanded address space - 128 bit Improved option mechanism
Separate optional headers between IPv6 header and transport layer header
Most are not examined by intermediate routes
⌧Improved speed and simplified router processing
⌧Easier to extend options
Address autoconfiguration
Dynamic assignment of addresses