вторник, 17 ноября 2009 г.

Что такое маска подсети (Network mask) и для чего она нужна.

Под маской подсети (или маской подсети - это равнозначно) понимается битовая маска, позволяющая определить шлюз подсети,  к которой принадлежит опеределенный IP-адрес. Чтобы легче понять все это, попробуем рассмотреть следующий пример:
У нас есть роутер, к которому снаружи приходит определенный пакет на адрес 192.168.1.199. Роутер хочет понять, в какую из внутренних подсетей надо его отправить. Для этого он производит побитовую коньюнкцию данного ему IP-адреса и маски подсети из таблицы маршрутизации (например, 255.255.255.192). Представим их в двоичном виде:
11000000.10101000.00000001.11000111 - IP адрес места назначения
11111111.11111111.11111111.11000000 - Маска подсети
Производим коньюнкцию и получаем:
11000000.10101000.00000001.00000000 - Адрес подсети. Переводим обратно к привычному десятеричному виду и получаем 192.168.1.192. Далее, роутер проверяет свою таблицу маршрутизации и находит адрес шлюза, на который надо отправить данный пакет , исходя из его соответствия адресу сети.
Должно так же заметить, что маску возможно записать двумя способами:
1) В десятичной форме - например, 255.255.255.0
2) В двоичной  - 11111111.11111111.11111111.0000000. Но такое утверждение не совсем правильно, так как обычно используется запись вида 192.168.1.0/24, где 192.168.1.0 - это адрес сети, а 24 - количество единиц слева направо в двоичном представлении маски.

4 комментария:

Анонимный комментирует...

Мне вот кажется, что такое написать мог то ли креативный гений, то ли героиновый наркоман :(

Анонимный комментирует...

Не очень люблю такие тексты %:(

Анонимный комментирует...

В Вашей RSS нельзя получать полные тексты записей, что ли?

AlexWinner комментирует...

Почему же нельзя? Можно, у меня все тексты полностью отображаются. А с какими текстами у вас проблемы?