- Маска подсети
-
В терминологии сетей 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.Назначение маски подсети
Маска назначается по следующей схеме
(для сетей класса C), где
— количество компьютеров в подсети + 2,[1] округленное до ближайшей большей степени двойки (эта формула справедлива для
≤ 254, для
> 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.
Категория:- TCP/IP
Wikimedia Foundation. 2010.