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, 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 - (2 24-2) i B - (2 16-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ół, 3- port, 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 Rodzaj sprzętu 16 32 Rodzaj protokołu Dł. Dla sprzętu 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