Adresacja VLSM

Adresacja z wykorzystaniem zmiennych długości masek podsieci służy oszczędnej alokacji adresów.  Najlepszym przykładem ilustrującym, jakiego marnotrawstwa możemy się dopuścić stosując adresację opartą o jej alternatywę, czyli podział sieci na subnety ze stałą długością maski, jest porównanie dwóch planów adresacji sieci o identycznej topologii. W pierwszym przypadku stosujemy adresację opartą o stałą długość maski, w drugim natomiast korzystamy z dobrodziejstw VLSM-a. W tym pierwszym przypadku, mając do zaadresowania 10 sieci (6 segmentów LAN i 4 łącza point-to-point) musielibyśmy dostępną przestrzeń adresową podzielić na N równych „kawałków”, gdzie N jest potęgą dwójki, nie mniejszą niż 10, czyli N=24=16. Taki podział dałby nam do dyspozycji podsieci o adresach zmieniających się o wartość 16 na pozycji ostatniego oktetu:

.0 --> odrzucamy ze względu na to, że adres stanowi tzw. subnet-zero (choć oczywiście można go wykorzystać pod pewnymi warunkami)
.16/28 (.16 – sieć, .31 – broadcast, zakres adresów hostów: .17-.30)
.32/28 (.32 – sieć, .47 – broadcast, zakres adresów hostów: .33-.46)
.48/28 (.48 – sieć, .63 – broadcast, zakres adresów hostów: .49-.62)
.64/28 (.64 – sieć, .79 – broadcast, zakres adresów hostów: .65-.78)
…itd.

Przykładową topologię sieci wraz z planem adresacji opartym o VLSM pokazuje następujący rysunek:
adresacja vlsm

Nawet z pobieżnej oceny wynika ewidentna korzyść planu adresacji opartego o zmienną długość maski podsieci. Chodzi głównie o to, żeby na adresowanie łączy point-to-point nie tracić adresów. Tam jedynie słuszną długością maski jest 30 bitów (255.255.255.252), co daje możliwość zaadresowania dwóch hostów w segmencie czyli w sam raz zaspokaja potrzeby interfejsów routerów po obu stronach łącza. Krótsza niż licząca 30 bitów maska oznacza marnotrawstwo adresów, bo na łączach  point-to-point zawsze użyteczne będą jedynie cztery adresy – adres sieci, broadcast i dwa adresy hostowe, do przypisania routerom po obu stronach.


 

Kontynuując temat, już niekoniecznie w kontekście zaprezentowanego schematu topologii sieci,  może się też zdarzyć tak, że na serwerowy segment sieci będziemy chcieli przeznaczyć mniejszą pulę adresów niż na segmenty, w których działają stacje użytkowników końcowych. Jeśli dla przykładu w VLAN-ie serwerowym nigdy nie będziemy mieć potrzeby zaadresowania więcej niż 30 hostów, to marnotrawstwem byłoby stosowanie adresów podsieci z prefiksem krótszym niż 27 bitów (255.255.255.224). Załóżmy, że w naszej sieci znajdują się również VLAN-y użytkowników końcowych, w których zapotrzebowanie na adresy jest większe, powiedzmy potrzeba tam maksymalnie 62 adresów IP. Najbardziej odpowiednia maska liczy będzie wówczas 26 bitów (255.255.255.192).


Co się tyczy metodyki planowania VLSM-a, nie muszę dodawać, że planując takową adresację, należy zapewnić rozdzielność zakresów adresów dla poszczególnych podsieci. Innymi słowy, zakresy adresów podsieci bezwzględnie nie mogą się na siebie nakładać. W praktyce efekt rozłączności zbiorów adresów VLSM osiąga się przez zastosowanie zasady „subnetowania subnetów”. Co oznacza to tajemniczo brzmiące określenie? Oznacza mianowicie pewien skrót myślowy, opisujący podejście przy dzieleniu dostępnej przestrzeni adresowej. Najlepiej wyjaśnić to na przykładzie. Załóżmy, że mamy do wykonania zadanie polegające na optymalnym podziale sieci 192.168.3.0/24 na podsieci. Do zaadresowania mamy – załóżmy – cztery łącza point-to-point, dwa serwerowe VLAN-y liczące nie więcej niż 30 hostów i dwa VLAN-y dla użytkowników końcowych, w których – jak szacujemy – liczba hostów nie przekroczy 62. Podejście zgodne z „subnetowaniem subnetów” jest takie: podziel adres sieci na duże „kawałki”, a potem w razie potrzeby dziel te duże kawałki na mniejsze przez przesuwanie granicy prefiksu „na prawo” – w kierunku sufiksu (zwiększanie długości maski).  Oczywiście tego typu dalszemu podziałowi mogą podlegać wyłącznie „kawałki” niewykorzystane, to znaczy takie, z których dotąd jeszcze nie przydzielono (nie „wykrojono”) żadnego adresu dla sieci czy hostów.


Plan adresacji mógłby wyglądać tak:


Największe kawałki na jakie należy podzielić sieć 192.168.3.0/24 muszą „pomieścić” maksymalnie 62 adresy, zatem w pierwszej turze podziału dzielimy sieć na bloki po 64 adresy, co jak łatwo się zorientować oznacza przesunięcie granicy prefiksu o dwa bity „na prawo” w stosunku go granicy wynikającej z przynależności adresu do klasy adresowej (klasa C – prefiks 24-bitowy). Otrzymujemy następujące bloki do finalnego wykorzystania lub dalszego podziału:


192.168.3.0/26
192.168.3.64/26
192.168.3.128/26
192.168.3.192/26

 

Przydzielmy adresy .64/26 (.64 – sieć, .127 – broadcast, zakres adresów dla hostów: .65-.126) i .128/26 (.128 – sieć, .191 – broadcast, zakres adresów dla hostów: .129-.190) na VLAN-y, w których będą działały maksymalnie po 62 hosty.


Teraz weźmy ostatni blok i podzielmy go na dwa kawałki, by wygospodarować z dostępnej przestrzeni adresowej adresy dla VLAN-ów serwerowych. Przesunięcie granicy prefiksu (długości maski) o jeszcze jeden bit „w prawo” w ostatnim bloku da nam dwa 32 adresowe podbloki (podsieci) o następujących adresach:


192.168.3.192/27 (.192 – sieć, .223 – broadcast, zakres adresów dla hostów: .193-.222)
192.168.3.224/27 (.224 – sieć, .255 – broadcast, zakres adresów dla hostów: .223-.254)

 

Na koniec trzeba „wykroić” adresy na łącza point-to-point. Dla tego typu łączy jedynie słuszne jest zastosowanie maski 30 bitowej. Wykorzystajmy w tym celu pierwszy blok adresowy, „odłożony na bok” w pierwszej turze podziału przestrzeni adresowej, czyli blok: 192.168.3.0/26. Ponieważ mamy potrzebę zaadresowania czterech łączy point-to-point, to 64 adresowy blok podzielmy na dwa podbloki po 32 adresy:


192.168.3.0/27
192.168.3.32/27

a potem jeden z tych podbloków podzielmy na podbloki po cztery adresy, a drugi zachowamy w rezerwie:


192.168.3.0/30  (.0  – sieć, .3 –  broadcast, zakres adresów dla hostów: .1-.2)
192.168.3.4/30  (.4  – sieć, .7 –  broadcast, zakres adresów dla hostów: .5-.6)
192.168.3.8/30  (.8  – sieć, .11 – broadcast, zakres adresów dla hostów: .9-.10)
192.168.3.12/30 (.12 – sieć, .15 – broadcast, zakres adresów dla hostów: .13-.14)
192.168.3.16/30 (.16 – sieć, .19 – broadcast, zakres adresów dla hostów: .17-.18)
192.168.3.20/30 (.20 – sieć, .23 – broadcast, zakres adresów dla hostów: .21-.22)
192.168.3.24/30 (.24 – sieć, .27 – broadcast, zakres adresów dla hostów: .25-.26)
192.168.3.28/30 (.28 – sieć, .31 – broadcast, zakres adresów dla hostów: .29-.30)
Na zaadresowanie czterech łączy point-to-point wykorzystajmy adresy .4/30, .8/30, .12/30, .16/30 resztę trzymając w rezerwie. 
Przypomnę jedynie, że w rezerwie mamy tez blok 192.168.3.32/27, także do wykorzystania w razie potrzeby.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *