Podział sieci na podsieci, obliczanie liczby hostów

Natrafiłem na ten temat poprzez Google, więc pozwolę sobie odkopać.

Mam mianowicie takie dwa zadania. Idee ich rozumiem i pewne założenia również.

Mamy adres klasy B. Podzielić go na 100 podsieci. Ile hostów będzie w każdej podsieci? Podać przykładowy adres jednej podsieci, zakres hostów, adres rozgłoszeniowy.

Przybrałem sobie przykładowo adres 151.210.10.0. Na tym adresie chcę dokonać podziału na 100 podsieci. Jednakże 100 nie jest wielokrotnością 2 więc będę dokonywał podziału na 128 sieci (2^7). Liczba 7 w tym przypadku oznacza ile bitów musimy pożyczyć z maski adresu wyżej podanego. Problem jednak tkwi w tym iż mam niepewność dotyczącą wyboru maski. Jaki sposób tutaj zastosować by wszystko dobrze policzyć? Co do drugiego problemu to dotyczy tego zadania:

Mamy adres klasy C. Jak podzielić sieć na jak największą ilość podsieci tak, by liczba dostępnych adresów hostów w każdej podsieci wynosiła 25?

W tym zaś przypadku wykorzystam adres 212.125.50.0. Tutaj już zapewne (tak się domyślam) będzie trochę więcej zabawy z maskami.

Wiem iż liczba hostów wyraża się wzorem (2^32-(liczba 1 w masce))-2. Po dokonaniu pewnych przekształceń otrzymuję: 2^(32-n)=27. Czy w tym przypadku muszę 27 zaokrąglić do pierwszej potęgi liczby 2 czyli 32? Jeżeli tak wtedy n=5. Czyli adres wygląda tak: 212.125.50.0/5. Nie wiem czy dobrze dążę do rozwiązania tego zadania. Prosiłbym o ewentualne uwagi i wskazówki.

Z góry dziękuję.

Bitów nie pożyczasz z maski, maska określa, która cześć adresu to adres sieci, a która jest adresem hosta, gdyż routery potrzebują znać tylko adres sieci, gdyby router miał znać adresu każdego hosta, jego działanie byłoby niewydajne. Bity pożyczasz z części hosta. Adres z klasy B ma domyślnie maskę o długości 16 bitów, tzn. że pierwsze 16 najbardziej znaczących bitów określa adres sieci, reszta to adres hosta, na stworzenie 100 podsieci, potrzebujesz pożyczyć z części hosta 7 bitów, czyli twoja maska powinna mieć 23 bity. Liczbę hostów liczysz na podstawie bitów, które zostały Ci na część hosta, w tym przypadku jest to 9 bitów, czyli możesz mieć 512 adres w tym 510 użytecznych adresów dla hostów, jednak Ty potrzebujesz podzielić sieć na 100, a nie 128 podsieci, więc liczba hostów będzie inna. Sieć musisz podzielić tak, aby jak najmniej adresów się zmarnowało, więc trzeba będzie zastosować podział ze zmienną długością maski (VLSM).

Nie wiem skąd wziąłeś ten wzór i nie wiem co w ogóle na jego podstawie wyliczyłeś. W zadaniu masz wyraźnie napisane, że liczba hostów w każdej podsieci ma wynosić 25, czyli liczysz ile bitów potrzebujesz na część hosta. Na część hosta potrzebujesz przynajmniej 5 bitów co daje Ci 32 adresy na podsieć w tym 30 użytecznych adresów dla hostów (2^5-2=30). Skoro dla adresu hosta potrzebujesz 5 bitów, to dla adresu sieci potrzebujesz 27 bitów (32 - 5 = 27), co daje Ci 8 podsieci, ponieważ adresy klasy C mają maskę o długości 24 bitów, więc pożyczasz 3 bity z części hosta (2^3 = 8).

PS na forum nie podpinamy się do tematów innych użytkowników, a tym bardziej ich nie odkopujemy. Wydzieliłem z podzial-sieci-podsiec-jak-wyliczyc-t470408.html