Kwestia konfigurowania podsieci wciąż jest dla wielu administratorów czymś tajemniczym – zbyt wiele tych wszystkich bitów, bajtów i masek, żeby czynić to zagadnienie wartym zrozumienia. Po co robić sobie kłopot, jeśli można zarządzać siecią tak, jak jest. Jeśli jednak sieć firmowa ma być podłączona do Internetu, warto zainteresować się kwestią adresowania IP i masek podsieci. Jest to tym istotniejsze, że stanowi sposób na bardziej efektywne gospodarowanie dostępnymi adresami IPv4, a także otwiera drogę m.in. do poprawy bezpieczeństwa sieci komputerowych. Jedną z przyczyną wprowadzenia skomplikowanego systemu masek podsieci jest szybko kurcząca się liczba wolnych adresów IPv4. Wraz ze stopniowo rosnącą powszechnością wykorzystania standardu IPv6 problem ten traci na znaczeniu, póki co jednak ciągle niezbędne są działania mające na celu zoptymalizowanie wykorzystania dostępnych zasobów, w tym adresów IPv4. W efekcie, administratorzy muszą mierzyć się z problemem podziału sieci na podsieci, aby lepiej wykorzystać dostępną pulę adresów. Początkowo schemat adresacji IP zakładał sztywny podział na klasy. Klasa A umożliwia zaadresowanie 16 milionów unikalnych hostów, klasa B obejmuj 65 tysięcy adresów, natomiast najmniejsza klasa C umożliwia stworzenie sieci składającej się z 254 hostów. Adresy sieci klasy A są już niedostępne, organizacja InterNIC zaprzestała też przydzielania adresów sieci klasy B. Najwięcej jest adresów sieci klasy C, jednak ich wadą jest stosunkowo mała liczba adresów dostępnych w ramach pojedynczej sieci klasy C. Adres IPv4 składa się z 32 bitów podzielonych na dwie części: pierwsza identyfikuje sieć, natomiast druga konkretne urządzenie w danej sieci. Pierwsza część adresu określa jednocześnie klasę adresową, co wyjaśnia poniższa tabela. Identyfikacja klasy adresu na podstawie początkowych bitów adresu IP Klasa adresów Początkowe bity adresu Klasa A 0 Klasa B 10 Klasa C 110 Jak pokazuje powyższa tabela, dopóki nie wprowadzono rozwiązania CIDR (Classless Inter-Domain Routing), sam adres IP wystarczał, aby określić na potrzeby routingu jego przynależność do podsieci. W tym miejscu należy dodać, że następcą protkokołu IPv4 jest IPv6. Standard ten powstał m.in. w odpowiedzi na zbyt niską pulę adresów swojego poprzednika. IPv6 zwiększa bowiem przestrzeń dostępnych adresów poprzez zwiększenie długości adresu z 32 bitów do 128 bitów. Oznacza to, że o ile globalna pula adresów IPv4 obejmuje ok. 4,3 miliarda adresów - i są one obecnie wyczerpane, to standard IPv6 zwiększa tą liczbę wielokrotnie. Pula adresacji IPv6 obejmuje bowiem ok. 340 sekstylionów unikalnych adresów IP. Dodatkowo, standard IPv6 dysponuje m.in. lepszymi i bardziej wydajnymi mechanizmami przekazywania pakietów. Adresy klasy A Adres klasy A składa się 8 bitów adresy sieci i z 24 bitów wskazujących na urządzenie znajdujące się w danej sieci. Sieć Urządzenie końcowe [0xxxxxxx] [xxxxxxxxxxxxxxxxxxxxxxxx] 32-bitowe adresy IP zapisuje się najczęściej jako cztery liczby oddzielone kropkami – każda odpowiada jednemu bajtowi adresu. Dlatego adresy klasy A będą należeć do przedziału od 1.0.0.0 do 126.0.0.0 (adresy 0.x.x.x i 127.x.x.x są zarezerwowane). Liczba urządzeń, które można zaadresować w pojedynczej sieci klasy A wynosi dokładnie 16 777 214 (adresy x.0.0.0 i x.255.255.255 są zarezerwowane). W praktyce nikt nie podłącza 16 milionów urządzeń do jednej sieci. Administratorzy tak dużych sieci dzielą je na mniejsze sieci, zwane podsieciami. W ramach każdej sieci klasy A można utworzyć 65 534 podsieci (numery sieci 0.0 oraz 255.255 są zarezerwowane), z których każda może liczyć 254 urządzenia (adresy urządzeń 0 i 255 są zarezerwowane). Uzyskuje się to poprzez podzielenie części adresu IP wskazującej na urządzenie (jest to druga, 24-bitowa część adresu IP klasy A) na 16 bitów adresu podsieci oraz 8 bitów służących do adresowania urządzeń. Sieć Podsieć Urządzenie końcowe [0xxxxxxx] [xxxxxxxxxxxxxxxx] [xxxxxxxx] Adresy klasy B Dwa pierwsze bity adresu klasy B to 1 i 0, a następne 14 bitów identyfikuje sieć. Ostatnie 16 bitów służy do adresowanie urządzeń końcowych. Sieć Urządzenie końcowe [10xxxxxxxxxxxxxx] [xxxxxxxxxxxxxxxx] Dlatego adresy sieci klasy B należą do przedziału od 128.1.0.0 do 191.254.0.0, a każda z tych sieci oferuje 65 534 adresy IP dla urządzeń końcowych. Podobnie jak w przypadku adresów klasy A, również część adresu klasy B służącą do adresowania urządzeń końcowych można podzielić na dwie część: adres podsieci i adres urządzenia końcowego. Przykładowo, adres klasy B można podzielić na 8 bitów adresu podsieci i 8 bitów adresu urządzenia końcowego, co pokazuje poniższy diagram. Sieć Podsieć Urządzenie końcowe [10xxxxxxxxxxxxxx] [xxxxxxxx] [xxxxxxxx] Taki sposób podziału adresu klasy B pozwala na stworzenie 254 podsieci, z których każda może składać się z 254 urządzeń. Pozostałe klasy adresów Trzy pierwsze bity adresu klasy C to 1, 1 i 0, natomiast kolejne 21 bitów identyfikuje sieć. Ostatnie 8 bitów adresów służy do identyfikacji urządzeń końcowych. Sieć Urządzenie końcowe [110xxxxxxxxxxxxxxxxxxxxx] [xxxxxxxx] Adresy sieci klasy C należą do przedziału od 192.0.1.0 do 223.255.254.0, a w każdej sieci może być do 254 urządzeń. Na koniec, są jeszcze klasy adresów D i E. Klasa D zaczyna się od 224.0.0.0, a adresy należące do tej klasy służą do transmisji typu multicast. Adresy klasy E zaczynają się od 240.0.0.0 i obecnie są wykorzystywane tylko do celów eksperymentalnych. Maska podsieci Maska podsieci służy do określenia, która część adresu IP jest adresem sieci i podsieci, a która część adresem urządzenia końcowego. W efekcie adres IP jest dzielony na trzy część: adres sieci, adres podsieci oraz adres urządzenia. Maska podsieci to 32-bitowy ciąg, który składa się z ciągu jedynek (wskazują na część adresu IP będącą adresem sieci i podsieci) i następującego po nim ciągu zer (zera wskazują, że ta część adresu jest adresem urządzenia końcowego). Często zapisuje się maskę podsieci w ten sam sposób, co adresy IP. Najlepiej wyjaśnić to na przykładzie. Bardzo popularna maska podsieci w zapisie binarnym to: 11111111 11111111 11111111 00000000 Co w bardziej czytelnej formie zapisuje się jako: 255.255.255.0 Trzeba jednak podkreślić, że maska podsieci nie jest adresem IP, choć funkcjonuje tylko w powiązaniu z adresami IP. Poprawna maska podsieci musi zaczynać się od bitu o wartości “1”, a kończyć się bitem o wartości “0”. Maski podsieci w praktyce Rozważmy przykład firmy, która chce w swojej sieci lokalnej używać adresów klasy B 172.16.1.0. Wymagania bezpieczeństwa zakładają, że część komputerów będzie w wydzielonej części sieci. Ponieważ jest to sieć klasy B, domyślna maska podsieci to 255.255.0.0 (pierwsze 16 bitów wskazuje adres sieci), co oznacza, że wszystkie komputery w tej sieci mogą komunikować się bezpośrednie między sobą. Aby podzielić sieć klasy B na podsieci, trzeba użyć maski podsieci dłuższej niż 16 bitów (w tym przypadku maska podsieci musi zawierać więcej niż 16 jedynek w ciągu). Przykładowo, 17-bitowa maska 255.255.128.0 (11111111 11111111 10000000 00000000) podzieli tę sieć na dwie podsieci. Adres sieci klasy B (16 bitów) Maska podsieci (17 bitów) Długość adresu podsieci w bitach Liczba dostęp- nych podsieci Rozszerzony adres sieci (adres podsieci) Zakres dostępnych adresów 172.16.1.0 255.255.128.0 1 2 172.16.1.0 172.16.1.0-172.16.127.255 172.16.128.0 172.16.128.0-172.16.255.255 Długość adresu podsieci to różnica między długością maski podsieci a adresem sieci. W przykładzie z powyższej tabeli adres IP został podzielony na trzy części: 16 bitów adresu sieci, 1 bit adresu podsieci i 15 bitów adresu urządzeń końcowych. Liczba dostępnych podsieci zależy od długości adresu podsieci. Każdy dodatkowy bit maski podsieci ustawiony na 1 dwukrotnie zwiększa liczbę podsieci, które można utworzyć. Przykładowo, dwubitowy adres podsieci umożliwia stworzenie 4 podsieci, zaś trzybitowy pozwala na korzystanie z 8 podsieci. Liczba podsieci a liczba urządzeń Maski podsieci pozwalają efektywniej wykorzystać dostępną przestrzeń adresową. Jeśli wymagana jest izolacja między obszarami sieci, za pomocą masek podsieci można podzielić ją na segmenty wielkością dopasowane do liczby urządzeń. Przykładowo, aby oddzielić od reszty sieci 10 serwerów, nie trzeba przydzielać im adresów z oddzielnej klasy C (taka klasa oferuje 254 adresy dla urządzeń, ale tylko 10 adresów będzie wykorzystanych). Wystarczy utworzyć podsieć z 28-bitową maską podsieci (14 adresów dla urządzeń). Z drugiej strony stosowanie masek podsieci zmniejsza ogólną liczbę adresów dostępnych dla urządzeń. Poniższa tabela pokazuje, ile podsieci i urządzeń można zaadresować, stosując maski podsieci o różnej długości dla adresów sieci klas B i C. Podsieci klasy B Długość adresu podsieci w bitach Maska podsieci Liczba podsieci Liczba adresów IP dla urządzeń 1 255.255.128.0 2 32768 2 255.255.192.0 4 16382 3 255.255.224.0 8 8190 4 255.255.240.0 16 4094 5 255.255.248.0 32 2046 6 255.255.252.0 64 1022 7 255.255.254.0 128 510 8 255.255.255.0 256 254 9 255.255.255.128 512 126 10 255.255.255.192 1024 62 11 255.255.255.224 2048 30 12 255.255.255.240 4096 14 13 255.255.255.248 8192 6 14 255.255.255.252 16384 2 Podsieci klasy C Długość adresu podsieci w bitach Maska podsieci Liczba podsieci Liczba adresów IP dla urządzeń 1 255.255.255.128 2 126 2 255.255.255.192 4 62 3 255.255.255.224 8 30 4 255.255.255.240 16 14 5 255.255.255.248 32 6 6 255.255.255.252 64 2 CIDR – Classless Inter-Domain Routing Zanim opracowano technologię CIDR, routery zarządzały ruchem w Internecie na podstawie sztywno zdefiniowanych klas adresów sieci. W tym systemie to wartość adresu IP określała jego przynależność do podsieci. Po wprowadzeniu CIDR podział na podsieci stał się niezależny od wartości samych adresów IP. Poza tym CIDR umożliwia także grupowanie podsieci na potrzeby routingu. CIDR definiuje zakres adresów IP dostępnych w danej sieci, jako kombinację adresu IP i powiązanej z nim maski podsieci. Notacja CIDR wykorzystuje następujący format: xxx.xxx.xxx.xxx/n gdzie “n” oznacza liczbę jedynek w bitowym zapisie podmaski. Przykładowo, zapis 192.168.12.0/23 wskazuje na sieć 192.168.12 z maską 255.255.254.0 i adresami IP z przedziału 192.168.12.0 – 192.168.13.255. W tradycyjnym zapisie oznacza to agregację dwóch sieci klasy C – 192.168.12.0 oraz 192.168.13.0 – każda z maską podsieci 255.255.255.0. Innymi słowy: 192.168.12.0/23 = 192.168.12.0/24 + 192.168.13.0/24 Co istotne, CIDR umożliwia dzielenie na podsieci niezależnie od tradycyjnego podziału na klasy adresów. Przykładowo, 10.4.12.0/22 oznacza zakres adresów od 10.4.12.0 od 10.4.15.255 (maska podsieci 255.255.252.0). Jest to odpowiednik czterech sieci klasy C wewnątrz sieci klasy A. CIDR działa tylko w sieciach, w których wykorzystuje się obsługujące ten system protokoły routingu. Należą do nich RIP v2, OSPF v2, EIGRP (Enhanced Interior Gateway Routing Protocol) oraz BGP v4. Należy też pamiętać, że CIDR umożliwia agregację tylko takich segmentów sieci, które następują po sobie. CIDR nie potrafi agregować, np. sieci 192.168.20.0 i 192.168.23.0. Jeśli użyje się maski 192.168.20.0/22, zostaną również uwzględnione zakresy .21 i .22. Operatorzy sieci szkieletowych i WAN w zdecydowanej większości obsługują CIDR, żeby lepiej wykorzystywać dostępną przestrzeń adresową. Jednak routery konsumeckie z reguły nie obsługują CIDR i w małych sieciach firmowych czy w domowych raczej nie stosuje się tego systemu. W sieciach IPv6 można korzystać w taki sam sposób z routingu CIDR, co w sieciach IPv4. Protokół IPv6 od podstaw został zaprojektowany jako protokół nie wykorzystujący klas adresów. Zalety korzystania z masek podsieci Za pomocą podsieci administrator może elastycznie definiować zależności pomiedzy urządzeniami końcowymi. Urządzenia w jednej podsieci mogą komunikować się z urządzeniami w innych podsieciach tylko za pomocą wyspecjalizowanej bramki sieciowej, np. routera. Możliwość filtrowania ruchu pomiędzy podsieciami umożliwia stosowanie mechanizmów QoS oraz ograniczanie dostępu. Podsieci ukrywają wewnętrzną organizację sieci przed zewnętrznymi routerami, co upraszcza routing. Przykładowo, podsieci utworzone w obrębie klasy adresowej B wymagają mniejszej liczby routerów niż wykorzystanie ich ekwiwalentu w klasach adresowych C. Krótsze tablice routingu oznaczają szybszy routing. Podsieci umożliwiają scentralizowanie zarządzania adresami. Poza technologicznymi zaletami, to podejście może przynieść firmie też inne korzyści. Przykładowo, administrator może stworzyć oddzielną podsieć dla departamentu, który będzie odpowiedzialny za zarządzanie siecią firmową.