Как определить сетевой и широковещательный адрес из IP-адреса и маски подсети?
Например:
- IP-адрес:
130.45.34.36
- Маска:
255.255.240.0
Что такое адрес Net ID/Subnet и
Адрес трансляции?
Ответы
Ответ 1
Пусть записываются оба в двоичном формате:
130.45.34.36 = 10000010.00101101.00100010.00100100
255.255.240.0 = 11111111.11111111.11110000.00000000
Побитовое И между ними даст нам сетевой адрес:
10000010.00101101.00100010.00100100 (ip address)
AND
11111111.11111111.11110000.00000000 (subnet mask)
=
10000010.00101101.00100000.00000000 = 130.45.32.0 (the resulting network address)
Побитовое ИЛИ между сетевым адресом и маской подсети с инвертированной предоставит нам широковещательный адрес:
10000010.00101101.00100000.00000000 (netadress)
OR
00000000.00000000.00001111.11111111 (inverted subnet mask)
=
10000010.00101101.00101111.11111111 = 130.45.47.255 (broadcast address)
Ответ 2
Еще один короткий вызов для расчета адресного адреса после получения сетевого адреса:
-
вычислить общее количество хостов (в данном случае это 2 ^ 12 = 4096)
-
Разделите его на 256 (в этом случае это 16) и добавьте результат - 1 (в этом случае 15) в * соответствующий октет (в этом случае второй октет, т.е.
32 + 15 = 47) и сделать другой октет 255
* мы можем получить соответствующий октет, посмотрев на отсутствие хостов. например, если число хостов больше 256, то мы должны добавить его во второй октет сетевого адреса и т.д.