Маска подсети


Эта статья не относится напрямую к операционой системе линукс, но тем не менее эта ось создавалась изначально как сетевая ОС и понимание этой информации лишним не будет.
 
В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети.
 
с помощью маски подсети можно определить, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.
 
У маски подсети существует три наиболее часто используемые формы записи:
1. десятичный вид ( 255.255.255.192 );
2. двоичный вид( 11111111.11111111.11111111.11000000 ).
3. /ХХ (/26) - колличество единиц в двоичном представлении маски подсети.
 
Адрес подсети.
Это адрес который используется для организации маршрутизации между несколькими подсетями. При получении IP-адреса хоста маршрутизатор накладывает на него маску и определяет адрес подсети, затем по этому адресу определяется адрес шлюза на который нужно отправить пакет.
 
Адреса хостов в подсети.
Это набор IP-адресов, которые могут быть выданы хостам (устройствам, подключенным к ip-сети). Чтобы подсчитать количество адресов, нужно от общего количества адресов подсети отнять два адреса(адрес сети и широковещательный). При обмене пакетами между хостами в одной подсети маршрутизатор и шлюз не нужны.
 
Широковещательный адрес (Broadcast).
Это адрес который не присвоен ни одному хосту в подсети. Данный адрес используется для отправки широковещательных пакетов, которые предназначены каждому хосту подсети.
 
Пример 1.
Найдем адрес сети, зная IP-адрес (192.168.1.2) и маску подсети (255.255.255.0). Для этого необходимо применить к ним операцию поразрядной конъюнкции (логическое И).
Для этого переводим в двоичную систему счисления.
IP-адрес:            11000000 10101000 00000001 00000010 (192.168.1.2)
Маска подсети:  11111111 11111111 11111111 00000000 (255.255.255.0)
Адрес сети:        11000000 10101000 00000001 00000000 (192.168.1.0)
 
Пример 2, обратный, найдем адреса хостов и широковещательный адрес
подсети 192.168.111.64/26 .
/26 =                     11111111.11111111.11111111.11000000 = 255.255.255.192
192.168.111.64 = 11000000.10101000.01101111.01000000
По маске видим что наша сеть будет иметь диапазон ip-адресов
от:                         11000000.10101000.01101111.01000000 = 192.168.111.64
до:                         11000000.10101000.01101111.01111111 = 192.168.111.127
 
Где последний адрес будет широковещательный (broadcast).
Адреса хостов нашей сети:
min(в большинстве случаев является шлюзом*
(gateway)):          11000000.10101000.01101111.01000001 = 192.168.111.65
max:                    11000000.10101000.01101111.01111110 = 192.168.111.126
т.е. всего хостов в сети - 62.
 
Пример 3. Новым сотрудникам техподдержки ПетерСтар посвящается ;)
Наиболее популярная маска подсети для юридических клиентов /30 .
 
84.204.166.76/30

маска:           11111111.11111111.11111111.11111100 = 255.255.255.252
IP-адрес:       01010100.11001100.10100110.01001100 = 84.204.166.76

По маске видим что наша сеть будет иметь диапазон ip-адресов
от                  01010100.11001100.10100110.01001100 = 84.204.166.76
до                  01010100.11001100.10100110.01001111 = 84.204.166.79

Адреса хостов подсети:

min(шлюз*
(gateway)):    01010100.11001100.10100110.01001101 = 84.204.166.77
модем\комп(если bridge)
:                     01010100.11001100.10100110.01001110 = 84.204.166.78
broadcast :    01010100.11001100.10100110.01001111 = 84.204.166.79
 
*Сетевой шлюз — аппаратный маршрутизатор (англ. gateway) или программное обеспечение для сопряжения компьютерных сетей, использующих разные протоколы (например, локальной и глобальной). Сетевые шлюзы могут быть аппаратным решением, программным обеспечением или тем и другим вместе, но обычно это программное обеспечение, установленное на роутер или компьютер.
 
P.S. Конечно считать каждый раз вручную глу по, по запросу в гугле "калькулятор сетей" будет куча ссылок где можно посчитать, но понимать как этот расчет производится все же стоит.

May 14, 2010