Obliczanie adresu sieci i broadcast

Podstawowym elementem z jakim należy zapoznać się przy sieciach komputerowych jest znajomość techniki obliczania adresu sieci i adresu rozgłoszeniowego (broadcast). Na internecie można znaleźć wiele poradników na ten temat, mówiących o zamianie adresu ip oraz maski na postać binarną i dalej wyliczanie wszystkiego. Technika ta jest oczywiście poprawna, ale można to zrobić znacznie szybciej.

Fot: Matthew Clark, CC BY 2.0.

Fot: Matthew Clark, CC BY 2.0.

Najlepiej uczyć się na praktycznych przykładach więc zaczynamy…

Przykład:

11.130.13.14/12

Krok 1:

Będziemy operować na 2 oktecie ponieważ jeden oktet to 8 bitów więc nie zmieścimy się w pierwszym (bo maska to 12) i musimy przejść do drugiego. 12-8 (maska – suma bitów oktetów pominiętych, bez tego na którym operujemy) = 4. Mamy więc 4 bity na adres sieci, a reszta to adres hosta.

Krok 2:

Rozpisujemy binarnie liczbę 130 z drugiego oktetu (na ten oktet wskazuje maska):

128 64 32 16 8 4 2 1
1 0 0 0 0 0 1 0
Adres sieci Adres hosta

Sumujemy wagi z części należącej do adresu sieci mam więc: 128 * 1 + 64 * 0 + 32 * 0 + 16 * 0 = 128. Pamiętamy, że operujemy na drugim oktecie więc adres sieci to: 11.128.0.0. Po drugim oktecie (oktecie na którym operujemy według tego co wskazuje maska) czyli w trzecim i czwartym wstawiamy zera (zawsze po oktecie na którym operowaliśmy musimy wstawić zera).

Krok 3:

Wyznaczamy adres rozgłoszeniowy broadcast. W części po stronie hosta wpisujemy jedynki i sumujemy wszystkie wagi:

128 64 32 16 8 4 2 1
1 0 0 0 0 0 1 0
  1 1 1 1
Adres sieci Adres hosta

Suma wag (po stronie hosta i sieci (szare tło)): 128 + 8 + 4 + 2 + 1 = 143

Adres broadcast: 11.143.255.255 – operujemy na drugim oktecie więc pierwszy pozostaje bez zmian, a w trzecim i czwartym wstawiamy 255 (tak samo jak przy adresie sieci, po oktecie na którym operujemy wstawiamy 255).

Wynik:

s: 11.128.0.0

b: 11.143.255.255

Przykład drugi:

17.18.20.11/5

Krok 1:

Będziemy operować na 1 oktecie ponieważ jeden oktet to 8 bitów, a my mamy w masce 5 więc się spokojnie zmieścimy. 5-0 = 5 (maska – suma bitów oktetów pominiętych, bez tego na którym operujemy, w tym przypadku nie pominęliśmy żadnego oktetu więc mamy 0). Mamy więc 5 bitów na adres sieci, a reszta to adres hosta.

Krok 2:

Rozpisujemy binarnie liczbę 17 z pierwszego oktetu (na ten oktet wskazuje maska):

128 64 32 16 8 4 2 1
0 0 0 1 0 0 0 1
Adres sieci Adres hosta

Sumujemy wagi z części należącej do adresu sieci mam więc: 128 * 0 + 64 * 0 + 32 * 0 + 16 * 1 = 16. Pamiętamy, że operujemy na pierwszym oktecie więc adres sieci to: 16.0.0.0 (po oktecie na którym operujemy wstawiamy 0).

Krok 3:

Wyznaczamy adres rozgłoszeniowy broadcast. W części po stronie hosta wpisujemy jedynki i sumujemy wszystkie wagi:

128 64 32 16 8 4 2 1
0 0 0 1 0 0 0 1
  1 1 1
Adres sieci Adres hosta

Suma wag (po stronie hosta i sieci (szare tło)): 16 + 4 + 2 + 1 = 23

Adres broadcast: 23.255.255.255 – operujemy na pierwszym oktecie więc w drugim, trzecim i czwartym wstawiamy 255 (po oktecie na którym operujemy wstawiamy 255).

Wynik:

s: 16.0.0.0

b: 23.255.255.255

, , , , ,

  • mud

    Świetne, bardzo przyspiesza proces przeliczania.

  • Michał

    Genialny sposób! Dzięki :D