Как интерпретировать блок IP-адреса?
Если у меня есть блок частных IP-адресов, таких как 171.58.0.0/12, означает ли это, что я по существу побитовый И 32-битная версия 171.58.0.0 с 32 битами из 1, последние 12 из которых являются 0-из получить самый длинный префикс приемлемых частных IP-адресов в этом диапазоне?
10101011.00111010.00000000.00000000 (171.58.0.0) AND
11111111.11111111.11110000.00000000 (12 bit mask?)
=
10101011.00111010.00000000.00000000 (Longest Prefix of Private IP addresses)
получить префикс приемлемых частных IP-адресов?
Спасибо!
4 ответа
Вы создаете 32-битное число, для которого старшие 12 бит установлены в единицу, а затем И на заданный IP-адрес, и вы получаете сетевой адрес. Остальные биты доступны для адресов хоста, за исключением зарезервированных номеров всех нулей (сам сетевой адрес) и всех единиц (широковещательный адрес). В вашем случае это будет:
171.58.0.0 = network
171.58.0.1 to 171.58.15.254 = hosts
171.58.15.255 = broadcast
РЕДАКТИРОВАТЬ. Смотрите ответ Тони ван дер Пита, так как он добавляет ценную информацию к моему ответу.
@Konamiman - ваш ответ в значительной степени соответствует (+1), но я не мог не ответить из-за странных вещей в вопросе.
Прежде всего, я хотел бы подчеркнуть, что OP получил инвертированные 12 битов, /12 означает 12 битов 1 слева, а не 12 битов нулей справа.
Во-вторых, 171.58.0.0/12 в двоичном виде - 10101011.00111010.00000000.00000000 (в качестве состояний OP) с маской 11111111.11110000.00000000.00000000, что означает, что в части адреса узла есть ненулевые биты. Насколько я знаю, это не способ выразить блок адресов, даже если это допустимый единственный адрес в этой подсети.
Более разумно, вы бы выразили это как 171.48.0.0/12 (это опечатка в вопросе?), Что означает, что часть узла - все нули. Наименьшая действительная маска для сети 171.58.0.0 будет равна /15.
РЕДАКТИРОВАТЬ: посмотрите на это руководство по IP-адресации. Это немного устарело, поскольку относится к классам A, B, C, но является полезной шпаргалкой для сетевых масок.
Предполагая, что это основано на CIDR, может быть
Mask:255.240.0.0 Host/Net - 1048574
Network Broadcast
171.48.0.0 171.63.255.255