Каковы основы маски подсети?
Какая польза от маски подсети?
Что ниже выводится пользователю?
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
По сути, зачем мне маска подсети, когда у меня есть IP?
5 ответов
Если вы думаете о своем IP-адресе как номер телефона:
- маска подсети сообщает, сколько цифр является частью кода города
- остальные цифры - ваш индивидуальный номер под этим кодом города
краткое
Ваша маска подсети используется для определения вашей локальной сети или подсети. Вы можете получить доступ ко всему внутри той же подсети напрямую, но все, что не находится в вашей подсети, требует, чтобы запрос проходил через шлюз.
Таким образом, для домашнего пользователя ваша подсеть будет вашей домашней сетью - ваши компьютеры и беспроводные устройства могут напрямую общаться друг с другом. Но Интернет находится за пределами вашей подсети, поэтому вся связь должна проходить через ваш шлюз (обычно маршрутизатор).
Слегка Технический
Подсеть - это 32-битная длинная битовая маска (как затронуло Manaf Abo.Rous), обычно записываемая в виде четырех 8-битных байтов. Обратите внимание, что 255
является 11111111
(8 единиц) в двоичном виде.
Маска в основном означает "только те IP-адреса, которые имеют одинаковые номера в местах, определенных маской подсети, находятся в моей локальной сети".
Так что подсеть 255.255.255.0
означает, что каждый IP-адрес, который совпадает с первыми тремя байтами, является вашей локальной сетью. 192.168.001.###
, Альтернативно более широкая подсеть 255.255.0.0
сделает вашу локальную сеть 192.168.###.###
,
Более технический
Значения байтов не всегда должны быть 255, вы могли бы иметь 255.255.255.240
, что составляет 28 единиц и 4 нуля. Это означает, что первые 28 бит другого IP-адреса должны соответствовать вашим, чтобы быть в том же подмножестве. Маска подсети всегда должна представлять собой определенное количество единиц, за которыми следуют только нули, чтобы получить 32-разрядные символы, и поэтому ее можно представить в виде /28
а также (в данном случае в любом случае) со значением, показывающим, сколько единиц содержит маска - это обычно используется в контексте IP, например 192.168.1.2/28
Итак, если ваш IP 192.168.1.2
с маской подсети 255.255.255.240
ваша подсеть - это диапазон IP 192.168.1.0
в 192.168.1.15
(хотя самый низкий и самый высокий обычно не используются для устройств, поскольку они имеют специальные функции). Если ваш IP был 192.168.1.53
ваша сеть будет диапазон 192.168.1.48
в 192.168.1.63
,
Обратите внимание, как оба этих набора содержат 16 уникальных адресов? Подсеть также определяла, насколько велика подсеть, потому что она определяет, сколько IP-адресов доступно.
А теперь с двоичным
Наконец, перефразируя ответ Manaf Abo.Rous, давайте посмотрим на двоичный файл.
Начнем с использования маски 255.255.255.0
вот оно в двоичном виде:
11111111 11111111 11111111 00000000
Итак, учитывая ваш IP, вы знаете, что каждый IP в локальной сети соответствует первым 24, поэтому давайте проверим ваш IP (192.168.1.2
) в двоичном виде:
11000000 10101000 00000001 00000010
Теперь мы только посмотрим, где находятся 1 в подсети, чтобы получить номер вашей подсети:
11000000 10101000 00000001 --------
И теперь мы знаем, что каждый IP в вашей локальной сети начинается с номера вашей подсети, и в конце может быть что угодно с пропущенными значениями.
Наконец, давайте посмотрим на второй пример, используя IP 192.168.1.53
и подсеть 255.255.255.240
:
11111111 11111111 11111111 11110000 [subnet]
11000000 10101000 00000001 00110101 [IP]
11000000 10101000 00000001 0011---- [subnet number]
И опять же, ваши локальные IP-адреса будут иметь что-либо в последних четырех двоичных значениях - которые 0000
, 0001
и т. д. до 1111
- или в десятичной 0
в 15
- но помните, что они будут иметь 0011
впереди, чтобы сделать полный байт, так что на самом деле IP доступны 00110000
(48), 00110001
(49) и так далее до 00111111
, который составляет 63.
Маска подсети используется для определения IP-адреса вашей сети.
Применение логической операции " И" к вашему IP-адресу и маске подсети выведет ваш сетевой IP-адрес.
в приведенном выше примере
IP-адрес: 11000000 10101000 00000001 00000010 = 192.168.1.2
Маска подсети: 11111111 11111111 11111111 00000000 = 255.255.255.0
AND Результат: 11000000 10101000 00000001 00000000 = 192.168.1.0 = Ваш сетевой адрес
Больше информации здесь
Маска подсети разделяет IP на две части: сетевую (или подсетевую) часть и часть хоста. Предыдущие комментарии прекрасно это иллюстрируют.
Все, где сетевая часть IP одинакова, может обмениваться данными без необходимости проходить через маршрутизатор. Разумеется, IP-адрес узла должен быть разным для каждого устройства.
Если у вас было 4 компьютера с этими масками IP/ подсети:
host_11 - 192.168.2.1/255.255.255.0
host_12 - 192.168.2.2/255.255.255.0
gateway - 192.168.2.3/255.255.255.0
host_21 - 192.168.3.5/255.255.255.0
только первые 3 могли общаться. Четвертый не ответил бы, потому что он не находится в той же подсети.
"Шлюз по умолчанию" - это причудливое имя для маршрутизатора, и оно должно быть в той же сети. Возможно, вы видели вывод ipconfig, где нет шлюза по умолчанию. Это означает, что нет маршрутизации; т.е. связь может происходить только между IP-адресами в этой сети.
Следуя нашему примеру:
host_11 - 192.168.2.1/255.255.255.0; default gateway 192.168.2.3
host_12 - 192.168.2.2/255.255.255.0; default gateway 192.168.2.3
gateway - 192.168.2.3/255.255.255.0
host_21 - 192.168.3.5/255.255.255.0; default gateway 192.168.2.3
Если бы 192.168.2.1 хотел говорить, скажем, 192.168.3.5, то в итоге 192.168.2.3 получает этот трафик и затем пересылает его. (Маршрутизация - это пересылка.) Для 192.168.2.3 потребуется второй IP-адрес, настроенный на что-то вроде 192.168.3.1/255.255.255.0. Тогда для 192.168.3.5 необходимо, чтобы шлюз по умолчанию был настроен на что-то в своей подсети, что и 192.168.3.1.
Итак, на самом деле, это действительно выглядит так:
host_11 - 192.168.2.1/255.255.255.0; default gateway 192.168.2.3
host_12 - 192.168.2.2/255.255.255.0; default gateway 192.168.2.3
gateway - first IP 192.168.2.3/255.255.255.0, second IP 192.168.3.1/255.255.255.0
host_21 - 192.168.3.5/255.255.255.0; default gateway 192.168.3.1
Таким образом, теперь сети 192.168.2.X и 192.168.3.X могут общаться друг с другом. Конечно, они не могут общаться ни с какой другой сетью или Интернетом. Шлюзу потребуется третий IP-адрес, подключенный к интернет-провайдеру, и он должен быть установлен в качестве шлюза по умолчанию. Затем шлюз получает трафик не из той же сети из 192.168.2.X и 192.168.3.X.
Вы можете установить правила маршрутизации для ситуаций, когда шлюз не может выяснить все самостоятельно. В этом примере нам это не нужно, поскольку все сети подключены к маршрутизатору. Однако в ситуациях, когда у вас есть сеть с несколькими маршрутизаторами (шлюзами по умолчанию) или "сетями за сетями", необходимо указать правила маршрутизации. Это входит в некоторые продвинутые вещи. Я надеюсь, что это было полезно.
Маска подсети используется для маршрутизации IP-пакетов.
По сути, вы берете IP-адрес назначения, and
это с маской, и, если оно соответствует значению, вы используете этот маршрут.
Например, вот один из моих выводов из netstat -nrv
:
Destination Netmask Gateway Interface
192.168.182.0 255.255.255.0 192.168.182.1 192.168.182.1
Это означает, что любой IP-адрес формы 192.168.182.x
будет маршрутизироваться на основе этого правила, потому что любой адрес этого формата, когда and
с 255.255.255.0
(маска сети) даст 192.168.182.0
(пункт назначения).
Точно так же маршрут по умолчанию будет:
Destination Netmask Gateway Interface
0.0.0.0 0.0.0.0 9.185.149.1 9.185.149.52
с любого адреса and
с 0.0.0.0
дает 0.0.0.0
,