Podział na podsieci o stałym rozmiarze i marnotrawstwo adresów
W poprzednim temacie o podziale na podsieci nauczyliśmy się, jak dzielić duży blok sieciowy na mniejsze, bardziej zarządzalne podsieci. Był to duży krok naprzód w stosunku do sztywnego systemu adresacji klasowej, lecz pozostawało ograniczenie: wszystkie utworzone podsieci musiały mieć ten sam rozmiar.
Rozważmy parking firmy, w którym każde miejsce jest wystarczająco duże dla autobusu. Rozmiar odpowiada autobusowi firmowemu, lecz marnuje przestrzeń, gdy parking służy samochodom pracowników, motocyklom i furgonetkom dostawczym. Podział na podsieci o stałym rozmiarze tworzy podobną różnicę między pojemnością a zapotrzebowaniem.
To ten sam problem, z którym spotykamy się w sieciach. Połączenie punkt-punkt między dwoma routerami potrzebuje tylko dwóch użytecznych adresów IP, a mimo to przy podziale na podsieci o stałym rozmiarze możemy być zmuszeni do przydzielenia podsieci z 30, 62 lub nawet większą liczbą adresów, marnując resztę. Ta nieefektywność przyczyniła się do szybkiego wyczerpywania się adresów IPv4. Problem ograniczają dwie powiązane techniki: VLSM dla wydajnego wykorzystania adresów wewnątrz sieci i CIDR dla skalowania routingu internetowego. Na łączach punkt-punkt można także stosować prefiks /31, w którym oba adresy są adresami hostów i nie występuje adres rozgłoszeniowy. W tym przykładzie /30 zachowuje klasyczny adres sieci i adres rozgłoszeniowy.
VLSM: Maski Podsieci o Zmiennej Długości
to technika podziału jednej podsieci na kolejne podsieci. Usuwa ograniczenie jednej maski podsieci dla całej sieci. VLSM pozwala wziąć duży blok adresów, utworzyć kilka średnich podsieci, a następnie jedną z nich dalej podzielić na jeszcze mniejsze.
Zależność tę można przedstawić na przykładzie dobrze zaplanowanego biurowca. Cały budynek odpowiada głównemu blokowi sieciowemu, piętra dużym podsieciom, a jedno piętro można podzielić na przestrzenie o różnej wielkości: dużą otwartą przestrzeń dla działu sprzedaży, średniej wielkości gabinety dla menedżerów i mały schowek na sprzęt sieciowy. Każdą przestrzeń można przydzielić zgodnie z przeznaczeniem, ograniczając marnotrawstwo powierzchni.
Bezklasowy routing jest wymagany przez VLSM
VLSM wymaga użycia bezklasowego protokołu routingu, który przenosi maskę podsieci lub długość prefiksu w aktualizacjach.
- Protokoły klasowe (np. RIPv1, IGRP): Te starsze protokoły nie wysyłają maski podsieci wraz z adresem IP w swoich aktualizacjach routingu. Zakładają domyślną maskę klasową (np. /24 dla adresu klasy C). Ponieważ nie znają maski, nie potrafią zrozumieć, że
192.168.10.64/26i192.168.10.128/27to różne, prawidłowe podsieci tej samej sieci nadrzędnej. - Protokoły bezklasowe (np. RIPv2, OSPF, EIGRP): Te nowoczesne protokoły zawierają maskę podsieci (lub długość prefiksu) wraz z adresem IP w swoich aktualizacjach. Pozwala to routerom na jednoznaczne zrozumienie struktury sieci, niezależnie od tego, jak została podzielona za pomocą VLSM.
Przykład: Projektowanie sieci z VLSM
Poniższy przykład pokazuje zastosowanie VLSM w organizacji, która otrzymała blok sieciowy klasy C 192.168.20.0/24. Musi utworzyć cztery podsieci o następujących wymaganiach dotyczących liczby hostów:
- Sieć A (Inżynieria): 100 hostów
- Sieć B (Sprzedaż): 50 hostów
- Sieć C (Łącze WAN 1): 2 hosty
- Sieć D (Łącze WAN 2): 2 hosty
Kolejność przydziału VLSM: zacznij od największego wymagania
Aby ograniczyć fragmentację przestrzeni adresowej, przydzielaj adresy dla największych podsieci w pierwszej kolejności. Zaspokojenie największych potrzeb na początku pozostawia spójne bloki, które można dalej dzielić na mniejsze potrzeby.
Krok 1: Sieć A (Inżynieria) - 100 hostów
Potrzebujemy miejsca dla 100 hostów. Używamy wzoru , aby znaleźć wymaganą liczbę bitów hosta (). jest za małe. jest wystarczające. Zatem potrzebujemy 7 bitów hosta.
Długość prefiksu wynosi . Maska to /25 lub 255.255.255.128.
Przydzielamy pierwszy dostępny blok: 192.168.20.0/25.
- Adres Sieci:
192.168.20.0 - Zakres Hostów:
192.168.20.1do192.168.20.126 - Adres Rozgłoszeniowy:
192.168.20.127
Krok 2: Sieć B (Sprzedaż) - 50 hostów
Potrzebujemy miejsca dla 50 hostów. jest za małe. jest wystarczające. Zatem potrzebujemy 6 bitów hosta.
Długość prefiksu wynosi . Maska to /26 lub 255.255.255.192.
Pierwsza podsieć zajęła adresy do .127, więc następny dostępny adres to .128. Przydzielamy: 192.168.20.128/26.
- Adres Sieci:
192.168.20.128 - Zakres Hostów:
192.168.20.129do192.168.20.190 - Adres Rozgłoszeniowy:
192.168.20.191
Krok 3 i 4: Łącza WAN C i D - po 2 hosty
Potrzebujemy po 2 hosty na każde połączenie punkt-punkt. spełnia wymaganie. Zatem potrzebujemy 2 bitów hosta.
Długość prefiksu wynosi . Maska to /30 lub 255.255.255.252.
Ostatni użyty adres to .191. Przydzielamy dwa kolejne dostępne bloki /30.
- Sieć C:
192.168.20.192/30
(Sieć:.192, Hosty:.193, .194, Rozgłoszeniowy:.195) - Sieć D:
192.168.20.196/30
(Sieć:.196, Hosty:.197, .198, Rozgłoszeniowy:.199)
Podsumowanie VLSM
W schemacie VLSM każdą podsieć dopasowano do potrzeb, używając adresów od .0 do .199 z bloku /24. Wszystkie wymagania są spełnione, a blok adresów od 192.168.20.200 do 192.168.20.255 pozostaje dostępny na przyszłą rozbudowę. W porównaniu z jedną stałą maską ogranicza to marnotrawstwo adresów.
CIDR: Bezklasowy Routing Międzydomenowy
VLSM rozwiązało problem marnotrawstwa adresów wewnątrz sieci organizacji. Internet stanął jednak przed większym problemem skalowania: system klasowy powodował szybki wzrost globalnych tablic routingu i zwiększał obciążenie routerów szkieletu internetu.
został wprowadzony, aby rozwiązać ten problem. CIDR stosuje prefiksy o zmiennej długości w międzydomenowej alokacji adresów i routingu. Przynosi dwa skutki:
- Sprawia, że granice klas A, B i C przestają mieć znaczenie w routingu. W ramach CIDR blok adresów IP jest definiowany przez adres i długość prefiksu (np.
198.51.100.0/22). Bezklasowe protokoły routingu przenoszą tę długość, więc routery mogą poprawnie interpretować blok. - Umożliwia Agregację Tras (Sumaryzację). Pomaga to zarządzać rozmiarem globalnej tablicy routingu.
CIDR i agregacja tras
Agregacja tras, znana również jako sumaryzacja lub supernetting, to proces łączenia kilku mniejszych, sąsiadujących ze sobą tras sieciowych w jedną, większą trasę sumaryczną.
Analogia: Centralna sortownia pocztowa w Warszawie bez sumaryzacji potrzebowałaby osobnego pojemnika na każdą ulicę w Krakowie. Lista byłaby bardzo długa. Z sumaryzacją wystarczy jeden duży pojemnik z etykietą „Cała Poczta do Krakowa”. Po dotarciu kontenera do Krakowa lokalna sortownia zajmuje się szczegółowym sortowaniem według ulic. CIDR stosuje tę samą zasadę w routingu, ogłaszając jedną ogólną trasę dla dużego bloku adresów zamiast wielu tras szczegółowych.
Przykład: Agregacja Czterech Sieci
Dostawca usług internetowych (ISP) obsługuje czterech klientów, przydzielając każdemu z nich blok /24:
198.51.100.0/24198.51.101.0/24198.51.102.0/24198.51.103.0/24
Bez CIDR ISP musiałby ogłaszać cztery osobne trasy reszcie internetu. CIDR pozwala je zsumaryzować.
Krok 1: Przekonwertuj na System Binarny
Skupiamy się na trzecim oktecie, w którym adresy się różnią:
100→01100100101→01100101102→01100110103→01100111
Krok 2: Znajdź Wspólny Prefiks
Szukamy liczby bitów, które są identyczne od lewej do prawej dla wszystkich adresów.
01100100
01100101
01100110
01100111
Pierwsze 6 bitów trzeciego oktetu jest wspólne dla wszystkich czterech sieci.
Krok 3: Oblicz Trasę Sumaryczną
Pierwsze dwa oktety były już częścią wspólnego prefiksu (16 bitów). Dodajemy 6 wspólnych bitów z trzeciego oktetu.
Całkowita liczba wspólnych bitów (nowa długość prefiksu) = .
Adres sumaryczny to pierwszy adres w bloku z nowym, krótszym prefiksem: 198.51.100.0/22.
Rezultat
CIDR pozwala ISP rozgłaszać tylko jedną trasę (198.51.100.0/22) reszcie internetu zamiast czterech. Agregacja tras przez wielu dostawców ogranicza liczbę wpisów przenoszonych w globalnych tablicach routingu.