Маска подсети
| Эта статья перегружена специализированной терминологией так, что некоторые читатели не смогут её понять. Пожалуйста, помогите улучшить эту статью чтобы сделать её более понятной для неэкспертов. При этом не нужно удалять из статьи узкоспециализированные подробности. На странице обсуждения могут быть дополнительные комментарии. |
В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0/24 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32.
Другой вариант определения — это определение подсети IP-адресов. Например, с помощью маски подсети можно сказать, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.
Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (логическое И). Например, в случае более сложной маски (битовые операции в IPv6 выглядят идентично):
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)
Разбиение одной большой сети на несколько маленьких подсетей позволяет упростить маршрутизацию. Например, пусть таблица маршрутизации некоторого маршрутизатора содержит следующую запись:
| Сеть назначения | Маска | Адрес шлюза |
|---|---|---|
| 192.168.1.0 | 255.255.255.0 | 10.20.30.1 |
Пусть теперь маршрутизатор получает пакет данных с адресом назначения 192.168.1.2. Обрабатывая построчно таблицу маршрутизации, он обнаруживает, что при наложении маски 255.255.255.0 на адрес 192.168.1.2 получается адрес сети 192.168.1.0. В таблице маршрутизации этой сети соответствует шлюз 10.20.30.1, которому и отправляется пакет.
Содержание |
[править] Маски при бесклассовой маршрутизации (CIDR)
Маски подсети являются основой метода бесклассовой маршрутизации (CIDR). При этом подходе маску подсети записывают вместе с IP-адресом в формате «IP-адрес/количество единичных бит в маске». Число после слэша означает количество единичных разрядов в маске подсети.
Рассмотрим пример записи диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет иметь двоичный вид 11111111 11100000 00000000 00000000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под адрес сети, а остальные 32 — 11 = 21 разряд полного адреса (11111111 11100000 00000000 00000000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.
[править] Назначение маски подсети
Маска назначается по следующей схеме 28 − n (для сетей класса C), где n — количество компьютеров в подсети + 2,[1] округленное до ближайшей большей степени двойки (эта формула справедлива для n ≤ 254, для n > 254 будет другая формула).
Пример: В некой сети класса C есть 30 компьютеров, маска для такой сети вычисляется следующим образом:
28 - 32 = 224 (0E0h) < = > 255.255.255.224 (0xFFFFFFE0)
[править] Литература
- Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов = Computer Networks. Principles, Technologies and Protocols for Network Design. — 3-е изд. — СПб.: Издательский дом «Питер», 2006. — С. 572-576. — 958 с. — ISBN 5-469-00504-6.
[править] См. также
- VLSM — сетевые маски переменной длины.
[править] Примечания
- ↑ 2 добавляется, чтобы учесть IP-адрес сети (первый в диапазоне) и широковещательный (последний в диапазоне, задаваемом маской)
[править] Ссылки
- Ivan Pascal «Вычисление сетевой маски для подсети». OpenNet.ru (3 июня 2002 г.). Архивировано из первоисточника 25 августа 2011. Проверено 21 февраля 2011.
- Сергей Верещагин «Wildcard Mask (шаблонная маска)» (30 мая 2009 г.). Архивировано из первоисточника 25 августа 2011. Проверено 21 февраля 2011.