Как следует из числа префикса, сетевой адрес назначается в сочетании с конкретной адресной маской. Например, в адресе сети 172.16.0.0/16 префикс 16 означает, что организация ARIN выделила нашей воображаемой сети блок адресов, определенный адресом 172.16.0.0 и 16-битной маской 255.255.0.0.
В отсутствие причин изменять интерпретацию выделенного номера сети нет надобности создавать маску подсети. В главе 2 содержится описание структуры адресов IP и кратко затронуты возможные причины создания подсетей. Решение по образованию подсетей, как правило, имеет в основе топологические или организационные соображения.
Возможные топологические причины разделения на подсети:
Снятие ограничений на расстояния - Некоторые сетевые устройства обладают довольно жесткими ограничениями на дальность работы. Изначальный Ethernet на 10 мегабит - хороший тому пример. Максимальная длина «толстого» кабеля Ethernet составляет 500 метров; максимальная длина «тонкого» кабеля - 300 метров; общая длина 10-мегабитного Ethernet-маршрута, или максимальный диаметр, составляет 2500 метров. Чтобы покрыть сетью большие расстояния, можно воспользоваться IP-маршрутизаторами для объединения цепочек кабелей Ethernet. Отдельные сегменты кабеля все так же не должны превышать максимально допустимой длины, но в случае такого подхода каждый кабель становится самостоятельным Ethernet-маршрутом. Таким образом, общая длина IP-сети может превышать максимальную длину для Ethernet.
Объединение физических сетей различного строения - IP-маршрутизаторы могут использоваться для связи сетей, основанных на различных, возможно, даже несовместимых сетевых технологиях. Рисунке (см. далее в главе) отражает центральную кольцевую сеть 172.16.1.0 (Token Ring), связующую две подсети Ethernet, 172.16.6.0 и 172.16.12.0.
Межсетевая фильтрация трафика - Локальный трафик остается в пределах локальной подсети. Только трафик, предназначенный другим сетям, передается через шлюз.
Разделение на подсети - не единственный способ разрешения топологических сложностей. Сети строятся на аппаратном обеспечении и могут изменяться на том же уровне - заменой или добавлением устройств, однако разделение на подсети является эффективным способом решения подобных проблем на уровне TCP/IP.
Разумеется, причины для создания подсетей не исчерпываются техническими моментами. Подсети часто служат целям структурирования, таким как:
Облегчение сетевого администрирования - Подсети могут использоваться для делегирования управления адресами, действий по диагностированию проблем и других обязанностей сетевого администратора более мелким группам в рамках одной организации. Это очень удобный инструмент, позволяющий небольшой команде управлять крупной сетью. Ответственность за сопровождение подсети ложится на людей, которые непосредственно с ней работают.
Следование структуре организации - Структура организации (или просто ее политика) может требовать независимого управления сетевыми системами для некоторых подразделений. Создание подсетей с независимым управлением для таких подразделений более предпочтительно, чем получение каждым из подразделений выделенных номеров сетей у поставщика услуг Интернета.
Защита трафика организации - Определенные организации предпочитают, чтобы локальный трафик ограничивался подсетью, которая доступна только определенным членам организации. Это в особенности важно, если речь идет о конфиденциальных данных. Например, пакеты финансового подразделения не должны попасть в техническую подсеть, где один из неглупых сотрудников вполне способен придумать способ их перехвата.
Изоляция потенциальных проблем - Если определенный сегмент сети менее надежен, чем остальные, имеет смысл выделить этот сегмент в подсеть. Предположим, исследовательская группа время от времени включает в сеть экспериментальные системы, чтобы поэкспериментировать на собственно сети. Это приводит к снижению стабильности работы всего сегмента. Выделение в подсеть предотвращает влияние экспериментальных устройств или программ на работу всей сети.
Сетевой администратор решает, нужно ли разделение на подсети, и создает маску подсети. Маска подсети имеет тот же формат, что и адресная маска IP. Как говорилось в главе 2, она позволяет определить, какие биты адреса принадлежат к разделу сети, а какие - к разделу узла. Биты раздела сети включены (имеют значение 1), а биты раздела узла сброшены (имеют значение 0).
В нашей воображаемой сети используется маска подсети 255.255.255.0. Эта маска выделяет 8 битов на идентификацию подсетей, что позволяет задействовать 256 подсетей. Администратор сети решил, что 256 подсетей по 254
узла в каждой обеспечат достаточно эффективное использование адресного пространства. Приведенный далее рисунок отражает такой способ разделения на подсети. Если применить описанную маску подсети к адресам 172.16.1.0 и 172.16.12.0, они будут интерпретированы не как адреса узлов одной сети, но как адреса узлов в различных сетях.
После создания маски ее необходимо распространить по всем узлам сети. Существует два решения этой задачи: настроить сетевые интерфейсы вручную либо настроить их автоматически, при помощи протокола настройки - например DHCP. Протоколы маршрутизации способны передавать маски подсетей, но в большинстве сетей протоколы маршрутизации не задействованы на простых узлах. В последнем случае все устройства сети должны работать с одной маской подсети, поскольку каждый компьютер считает, что вся сеть разбита на подсети точно таким же образом, как локальная подсеть.
Протоколы маршрутизации передают адресную маску для каждого получа- теля в отдельности, и потому становится возможным применение масок подсетей переменной длины (VLSM, variable-length subnet mask). Маски переменной длины повышают гибкость и эффективность процесса образования подсетей. Предположим, необходимо разделить сеть 192.168.5.0/24 на три сети: сеть из 110 узлов, сеть из 50 узлов и сеть из 60 узлов. В случае традиционных масок подсетей все адресное пространство разбивается на сегменты одной маской. В лучшем случае придется идти на компромисс. Маски подсетей переменной длины позволяют воспользоваться маской 255.255.255.128 для создания крупных подсетей из 126 узлов и маской 255.255.255.192 для создания подсетей поменьше - из 62 узлов. Однако применение масок VLSM требует, чтобы каждый маршрутизатор сети умел хранить и использовать такие маски, а кроме того, передавать их при помощи протоколов маршрутизации. (Более подробно маршрутизация описана в главе 7.) Маршрутизация - важнейшая составляющая сети TCP/IP. Как и прочие ключевые компоненты сети, маршрутизацию следует тщательно спланировать еще до начала настройки.