Что такое маска подсети?

Автор Ruterk, 21 апреля 2008, 23:56:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ruterk

Как известно, адрес IP состоит из 4 октетов и обычно представляется в формате 200.200.200.5. Однако, этот адрес сам по себе недостаточен и требуется маска подсети для того, чтобы показать, какая часть IP адреса является идентификатором сети (Network ID), а какая - идентификатором хоста (Host ID). Представьте Network ID как номер улицы, а Host ID - как номер дома. Тогда для "54 Grove Street", 54 будет идентификатором хоста (Host ID), а Grove Street - идентификатором сети (Network ID). Маска подсети показывает, какая часть IP адреса является Network ID, а какая - Host ID.

Например, для адреса 200.200.200.5, и маски подсети 255.255.255.0, Network ID будет 200.200.200, а Host ID - 5. Это вычисляется следующим образом:

IP Address       11001000   11001000   11001000   00000101   
Subnet Mask    11111111   11111111   11111111   00000000   
Network ID      11001000      11001000   11001000   00000000   
Host ID           00000000   00000000   00000000   00000101   

Результат получается побитным с AND между IP адресом и маской подсети, т.е.

1 AND 1=1
1 AND 0=0
0 AND 1=0
0 AND 0=0

В зависимости от класса IP адреса для масок подсети существуют значения по умолчанию:
Class A : 001.xxx.xxx.xxx до 126.xxx.xxx.xxx использует маску подсети 255.0.0.0 по умолчанию
Class B : 128.xxx.xxx.xxx до 191.xxx.xxx.xxx использует маску подсети 255.255.0.0 по умолчанию
Class C : 192.xxx.xxx.xxx до 224.xxx.xxx.xxx использует маску подсети 255.255.255.0 по умолчанию

А где 127.xxx.xxx.xxx ??? Это зарезервированный адрес, используемый для тестирования. Пинг 127.0.0.1 - это пинг самому себе :-)

Маска подсети используется при обмене между двумя хостами. Если оба хоста принадлежат одной сети, хост a непосредственно обращается к хосту b, однако, если хост b принадлежит другой сети, хост a будет обращаться через шлюз, и способ, которым хост a может сообщить о своей принадлежности данной сети - это использование маски подсети. Например

Хост A 200.200.200.5
Хост B 200.200.200.9
Хост C 200.200.199.6
Маска подсети 255.255.255.0

Предположим Хост A связывается с Хостом B, поскольку оба они имеют Network ID 200.200.200, то Хост A обращается к Хосту B непосредственно. Если же Хост A связывается с Хостом C, а они находятся в разных сетях: 200.200.200 и 200.200.199 соответственно, то Хост A будет посылать запрос через шлюз.