Рассчитать маску подсети из диапазона IP

Это было одно задание, которое у меня было как домашнее задание, которое я просто не могу понять. И моему учителю трудно объяснить это классу. И вот я здесь:

Проблема: Какова маска подсети следующего диапазона адресов хоста? 99.224.0.1 - 99.239.255.254

Мое решение (или насколько я получил) Сначала я записал IP-адреса в двоичном виде:

99.224.0.1
01100011.11100000.00000000.00000001
99.239.255.254
01100011.11101111.11111111.11111110

Что я знаю, так это сеть класса А. И я подумал, что это как-то связано с разницей в битах, поэтому я начал сравнивать. (самый высокий сначала)

01100011.11101111.11111111.11111110 
01100011.11100000.00000000.00000001 (diff)
-----------------------------------
00000000.00001111.11111111.11111111

Я проигнорировал последний бит из-за сетевого / широковещательного адреса.

Теперь я могу перевернуть его и получить маску подсети?:

11111111.11110000.00000000.00000000
255.240.0.0

Мой вопрос: правильный ли мой подход? Есть ли более простой способ сделать это (вручную или вычислить)?

Если я очень далек от правильного способа сделать это, может кто-нибудь помочь мне понять?

Спасибо за любую помощь.

1 ответ

Решение

Ваш ответ правильный, за исключением того, что классные адреса больше не существуют. Интернет перешел на бесклассовую междоменную маршрутизацию (CIDR) в 1993 году, поэтому ваша терминология немного устарела;)

В наши дни IP-сеть работает с префиксами маршрутизации. Префикс - это диапазон IP-адресов, определяемых первым адресом в этом диапазоне и количеством фиксированных битов в начале адреса. Ваш пример хорошо показывает это.

Ваш примерный диапазон 99.224.0.1 - 99.239.255.254, На самом деле это 99.224.0.0 - 99.239.255.255 потому что при использовании в подсети первый и последний адреса зарезервированы (но все же являются частью подсети и префикса).

Первый адрес в префиксе у нас уже есть: 99.224.0.0, Вы можете увидеть длину префикса из вашего бинарного вычисления (немного изменено):

01100011.11101111.11111111.11111111
01100011.11100000.00000000.00000000
----------------------------------- (xor)
00000000.00001111.11111111.11111111
----------------------------------- (not)
11111111.11110000.00000000.00000000

Просто посчитайте количество 1в начале: 12. Итак, ваш префикс 99.224.0.0/12, Этот префикс охватывает все адреса, которые соответствуют 01100011.1110****.********.********,

При записи длины префикса в качестве маски подсети вы действительно получите 255.240.0.0,


Немного не по теме здесь, потому что речь идет о сети, а не об алгоритме вычисления маски подсети, но, возможно, полезно: пример того, как вы можете планировать сетевую адресацию:

Допустим, что для моего офисного здания я получаю IP-адреса 192.0.2.0/24 (то есть 192.0.2.0 - 192.0.2.255, маска подсети 255.255.255.0256 адресов). Мне нужно 50 адресов для серверов, 100 адресов для устройств сотрудников и 40 адресов для гостей.

Поскольку адресация работает с префиксами, все, что вы получаете, является степенью 2. Если вы используете /24 у вас есть префикс с 256 адресами. Полный адрес составляет 32 бита, первые 24 являются фиксированными, поэтому у вас осталось 8 битов для использования. 28 = 256. Если вы используете /25 у вас есть префикс 128 адресов, /26 имеет 64 адреса и т. д.

Таким образом, вы также можете разделить префикс. 192.0.2.0/24 можно разделить на 192.0.2.0/25 а также 192.0.2.128/25, И они могут быть разделены снова и снова, пока у вас не будет префикса, который охватывает только один адрес: /32,

Вернемся к примеру. Чтобы получить (как минимум) 50 адресов для серверов, мне нужно округлить до следующей степени 2. Это 26 = 64. Чтобы иметь столько адресов, мне нужно /26 префикс. Для клиентских устройств мне нужно округлить до 128 (27), поэтому нам нужно /25, Для гостей следующая степень 2 равна 64 (26), поэтому /26,

Таким образом, мы должны разделить /24 в /25 и два /26s. Одним из возможных решений является:

Client devices:  192.0.2.0/25
Servers:         192.0.2.128/26
Guests:          192.0.2.192/26

Как только мы настроим эти подсети на наших устройствах, первый и последний адреса каждой подсети станут особыми (адрес сети и широковещательный адрес), чтобы мы могли использовать эти диапазоны для наших устройств:

Client devices:  192.0.2.1   - 192.0.2.126
Servers:         192.0.2.129 - 192.0.2.190
Guests:          192.0.2.193 - 192.0.2.254
Другие вопросы по тегам