Как уже говорилось ранее, IP-адрес состоит из 4-х байт и обычно представлен в формате наподобие 260.260.260.5; однако, этот адрес сам по себе означает не так уже и много. Для указания сегмента адреса, определяющего сеть, необходима маска подсети. Она позволяет выделить из IP-адреса идентификатор сети и идентификатор компьютера, расположенный в этой сети.
Представьте идентификатор сети в виде названия улицы, а идентификатор компьютера — как номер дома на этой же улице. Возьмем к примеру адрес “Ямская 18”, где “18” будет идентификатором компьютера, а “Ямская” — идентификатором сети. Маска подсети указывает на то, какая часть IP-адреса является идентификатором сети, а какая —идентификатором узла.
Например, при использовании IP-адреса 200.200.200.5 и маски подсети 255.255.255.0 идентификатором сети будет 200.200.200, а идентификатором компьютера — значение 5. Эта информация получена с помощью следующих расчетов.
Расчет маски подсети для IP-адреса 200.200.200.5
IP-адрес |
11001000 |
11001000 |
11001000 |
00000101 |
Маска подсети |
11111111 |
11111111 |
11111111 |
00000000 |
Идентификатор сети |
11001000 |
11001000 |
11001000 |
00000000 |
Идентификатор компьютера |
00000000 |
00000000 |
00000000 |
00000101 |
При этом по отношению к маске подсети и IP-адресу используется побитовая операция логического сложения “И”. Например:
1 И 1 = 1 1 И 0 = 0 0 И 1 = 0 0 И 0 = 0
Существуют маски подсети, принятые по умолчанию в зависимости от используемого класса IP-сети. Например:
Class A: с 001.ххх.ххх.ххх по 126.ххх.ххх.ххх используется маска подсети 255.0.0.0 Class B: с 128.ххх.ххх.ххх по 191.ххх.ххх.ххх используется маска подсети 255.255.0.0 Class C: с 192.ххх.ххх.ххх по 224.ххх.ххх.ххх используется маска подсети 255.255.255.0
А где же адрес 127.ххх.ххх.ххх? Этот адрес является зарезервированным и применяется для тестирования сетевого интерфейса. Тестовый пакет данных, переданный по адресу 127.0.0.1, передается локальной системе, отправившей пакет.
Маска подсети используется при организации сетевого взаимодействия двух компьютеров. Если оба компьютера расположены в одной подсети, то компьютер А может “общаться” непосредственно с компьютером B. Если компьютер B располагаться в другой подсети, то компьютер А должен использовать шлюз для связи с компьютером B. Для определения наличия компьютера B в локальной подсети, компьютеру А понадобится маска подсети, например:
Компьютер А: 200.200.200.5 Компьютер В: 200.200.200.9 Компьютер С: 200.200.199.6 Маска подсети: 255.255.255.0
Если в данном случае компьютер А пытается связаться с компьютером В, то окажется, что обе системы расположены в подсети 200.200.200 и могут взаимодействовать друг с другом без посредников. Если же компьютер А станет подключаться к компьютеру С, выяснится, что обе системы расположены в разных подсетях — 200.200.200 и 200.200.199, поэтому компьютеру А для отправки пакетов данных системе C понадобится шлюз.
BOGdan
При этом по отношению к маске подсети и IP-адресу используется побитовая операция логического сложения “И”. Например:
1 И 1 = 1
1 И 0 = 0
0 И 1 = 0
0 И 0 = 0
Используется операция логического умножения “И”, а не сложения.
r2d2
да да и вообще думаю что он не бум бум пишет:”в формате наподобие 260.260.260.5″ это просто убило
Terwin
Вообще-то тут автор прав. Операция & или “И” или “побитовое сложение” дает в результате 1, если оба бита над которыми производится операция равны 1. Если хотя бы один из этих битов равен 0 – в результате получается 0. Это логическая операция, а не арифметическая. Если сложно перестроиться, вместо 1 можно подставить true.
Master
Как бэ, побитовое сложение это операция “ИЛИ”, обозначается |
Michael
Это очень хорошая, понятная и лаконичная статья! Огромный респект автору!
Vladyslav
Я тоже автору благодарен. Мне кажется это самая лучшая статья по данному вопросу!