Как написать в сетевой адрес / маску сети следующее адресное пространство?

Я хотел бы спросить, как написать в сетевой адрес / маска сети следующее адресное пространство:

63.39.191.192 - 63.40.192.223

На бумаге я не мог придумать никакого способа сделать это, поэтому я попытался использовать калькулятор сетевых адресов, чтобы выяснить это.

Я ввел первый IP-адрес и начал играть с маской.

Что я не мог понять, так это то, как первый и последний используемый адрес менялся в зависимости от маски сети.

Итак, я надеюсь, что вы объясните мне, как первый и последний IP-адрес определяются на основе маски сети и как решить эту проблему.

1 ответ

Есть две вещи, которые кто-то может подразумевать под парой адрес / маска сети. Одним из вариантов является то, что выглядит 192.168.0.1/24, Это означает, что первые 24 бита приемлемого адреса должны соответствовать данному адресу. Это распространенный способ выражения подсетей, однако невозможно выразить ваш диапазон таким образом. Это означает, что вы не сможете выработать решение в связанном калькуляторе, который использует этот метод в качестве входных данных.

Другой способ - пара пунктирных квадратов. Подсеть выше будет выражаться так: 192.168.0.1/255.255.255.0, Все, что может быть выражено первым способом, может быть выражено вторым способом, но обратное неверно.

Чтобы понять, как решить вашу проблему, используя второй формат, вы должны знать кое-что о двоичных числах. Каждая часть четырехугольника с точками представляет собой число 0-255 и может быть выражено как двоичное число с восемью цифрами (битами). Таким образом, полный адрес представляет собой двоичное число, состоящее из 32 битов, каждый из которых равен 0 или 1.

Спецификация сети - это адрес, за которым следует еще одно 32-разрядное число, выраженное в виде адреса. Второе число означает следующее: каждое место в этом номере, где цифра равна 1, должен совпадать с первым адресом этой цифры. В каждом месте, где цифра в маске сети равна 0, совпадение не требуется. Итак, вы видите, что сопоставление первых 24 битов совпадает с сопоставлением 255.255.255.0, который представляет собой 32-битное число, состоящее из 24 единиц и 8 единиц.

Вы также можете увидеть, как некоторые маски не могут быть выражены в первом типе. Любая сетевая маска, которая не состоит из одной строки из повторяющихся 1, за которыми следуют остальные 0, не может быть записана следующим образом. Причина первого типа заключается в том, что большинство реальных сетей имеют маски такой формы.

Чтобы создать маску второго типа, вы можете работать с одним байтом за раз. Первый байт адреса должен точно соответствовать 63. Таким образом, адрес будет 63.x.x.x и маска будет 255.x.x.x, Как и раньше, 255, составленный из всех 1, означает совпадение каждого бита. Второй байт может быть либо 39 (00100111 в двоичном виде), либо 40 (00101000). Этот не может быть выражен как любое число плюс набор битов, чтобы соответствовать. Только первые четыре бита двух чисел совпадают, но если мы попытаемся сделать что-то вроде 63.39.xx/255.224.xx (224 - 11110000), мы сопоставим любой второй байт от 32 до 47. Вам следует проверить свой предыдущий вопрос, чтобы Однако, если вы понимаете двоичный код, посмотрите, верно ли это.

Если вы не совсем уверены в том, как работает бинарный файл, пожалуйста, отойдите и убедитесь, что вы действительно поняли его, прежде чем углубляться в сетевые маски. Это действительно поможет, и об этом очень полезно знать.

Другие вопросы по тегам