Разделение на подсети. Разбиение сетей на подсети с помощью маски подсети

Одной из «классических» задач сисадмина является необходимость в рамках одного предприятия разделить одну физическую сеть на несколько виртуальных – по признаку принадлежности к отделу, департаменту, вип-персонам и т.д. Даже если вы будете использовать в качестве маршрутизатора и фаервола сервер с ОС Linux, осуществляющий технологию «ip-alias», вы не сможете быть уверены в своей безопасности на 100%.

Дело в том, что вышеуказанная технология позволяет одному и тому же интерфейсу вашего сервера выступать в роли нескольких шлюзов для разных подсетей, но она не сможет уберечь вашу сеть от прослушивания трафика.

И причина тому проста - пользователи разных отделов будут оставаться в одном широковещательном домене в рамках коммутатора, хоть подсети будут разными.

Разделение локальной сети с помощью vlan

Для решения данной проблемы используется (Virtual Local Area Network), позволяющая логически разделить физическую сеть на несколько широковещательных не пересекающихся промеж себя доменов, и соответственно, улучшающую безопасность локальной сети. Иными словами, VLAN позволяет осуществлять деление на подсети и создавать отдельные сетевые сегменты на 2-м, канальном, уровне в рамках одного или нескольких физических коммутаторов вашей сети.

Обычно коммутатор передает данные от одного устройства к другому на основании mac-таблицы, которая содержит в себе информацию о и физическом порте, с которого данный mac пришел. При разделении локальной сети с помощью vlan добавляется еще информация о принадлежности к определенному сегменту сети – номер vlan.

Технология VLAN позволяет избавиться от большого количества широковещательного трафика, примером которого являются arp-/dhcp-бродкасты или же мультикаст (multicast), использующийся при передаче видеопотоков. Такой тип трафика «съедает» полезную пропускную способность вашей сети.

Как правильно разбить сеть на vlan?

Рассмотрим, как разделить сеть на подсети с помощью VLAN на базе коммутатора Cisco Catalyst. Имеется два компьютера, подключенные к коммутатору и находящиеся в одном широковещательном домене, а также имеющие ip-адреса в одной сети с одинаковой маской подсети, и как следствие, «видящие» друг друга с . Подключимся с помощью telnet или ssh к консоли коммутатора и посмотрим на конфигурацию vlan.

Здесь видно, что все физические порты коммутатора по умолчанию находятся в vlan 1, соответственно, устройства за ними взаимодоступны.

Чтобы разделить сеть на две подсети, создадим два новых vlan: первый для ПК_1, второй для ПК_2:

Проверим, обновилась ли таблица vlan:

Как видно, оба vlan были созданы и их состояние активно.

Однако физические порты еще не привязаны к этим vlan. Чтобы сделать это, выполним следующую конфигурацию:

Первая строка, следующая за названием физического интерфейса (порта), указывает коммутатору, что данный порт используется в режиме access – то есть принимает только единственный возможный vlan. Существуют еще и trunk-порты, поддерживающие несколько разных vlan с одного физического интерфейса – обычно такой режим используется между коммутаторами или коммутатором и маршрутизатором. Вторая строка указывает, какой именно vlan закреплен за данным физическим портом.

Посмотрим теперь на таблицу vlan:

Как видим, информация обновилась: порт ПК_1 находится в vlan 10, а порт ПК_2 – в vlan 20. Попробуем проверить доступность компьютеров друг относительно друга с помощью утилиты ping теперь:

Итак, после деления на подсети два компьютера (имеющие и одинаковую маску подсети) стали друг для друга недоступны вследствие помещения их разные vlan на коммутаторе.

Таким образом, можно создать уникальные vlan для разных подразделений, поместив необходимые физические порты в каждый из них, разграничив физическую сеть на несколько взаимонедоступных логических сегментов.

Другое дело, если требуется осуществить маршрутизацию между разными подсетями из разных vlan, частично ограничив доступность каждой из них друг для друга. Для этого потребуется установка маршрутизатора, который примет на свой физический интерфейс несколько разных vlan с коммутаторов вашей сети используя технологию TRUNK. В данном случае на маршрутизаторе создаются виртуальные ip-интерфейсы, выступающие в роли шлюзов для подсетей подразделений. На такой ip-интерфейс уже можно добавить ACL (Access control list), выступающий своего рода фаерволом, ограничивающим доступность между подсетями.

его можно было использовать для разрешения адресов в различных сетях. Фактически ARP можно использовать с произвольными физическими адресами и сетевыми протоколами. Протокол ARP предполагает, что каждое устройство знает как свой IPадрес, так и свой физический адрес. ARP динамически связывает их и заносит в специальную таблицу, где хранятся пары IP-ад- рес – физический адрес (обычно каждая запись в ARP-таблице имеет время жизни 10 мин.). Эта таблица хранится в памяти компьютера и называется кэш протокола ARP (ARP-cache).

Работа протокола ARP заключается в отправке сообщений между сетевыми узлами:

ARP Request (запрос ARP) - широковещательный запрос, отправляемый на физическом уровне модели TCP/IP, для определения MAC-адреса узла, имеющего конкретный IP-адрес;

ARP Reply (ответ ARP) - узел, IP-адрес которого содержится в ARP-запросе, отправляет узлу, пославшему ARPзапрос, информацию о своем MAC-адресе;

RARP Request, или Reverse ARP Request (обратный

ARP-запрос) - запрос на определение IP-адреса по известному MAC-адресу;

RARP Reply, или Reverse ARP Reply (обратный ARP-

ответ) - ответ узла на обратный ARP-запрос.

9.1.3.1. Разбиение сетей на подсети с помощью маски подсети

Для более эффективного использования пространства адресов IP-сети с помощью маски подсети могут быть разбиты на более мелкие подсети (subnetting) или объединены в более круп-

ные сети (supernetting).

Рассмотрим на примере разбиение сети 192.168.1.0/24 (сеть класса C) на более мелкие подсети.

В исходной сети в IP-адресе 24 бита относятся к идентификатору сети и 8 бит - к идентификатору узла. Используем маску подсети из 27 бит, или, в десятичном обозначении, - 255.255.255.224, в двоичном обозначении - 11111111 11111111 11111111 11100000. Полученное разбиение приведено в таблице 9.3.

Таблица 9.3

Разбиение сети 192.168.1.0/24 на подсети

Диапазон IP-

Широковещательный

адрес в подсети

192.168.1.128/27

192.168.1.129–

192.168.1.160/27

192.168.1.161–

192.168.1.192/27

192.168.1.193–

192.168.1.224/27

192.168.1.225–

Таким образом, мы получили 8 подсетей, в каждой из которых может быть до 30 узлов. Напомним, что идентификатор узла, состоящий из нулей, обозначает всю подсеть, а идентификатор узла, состоящий из одних единиц, означает широковещательный адрес (пакет, отправленный на такой адрес, будет доставлен всем узлам подсети).

IP-адреса в данных подсетях будут иметь структуру, приведенную на рисунке 9.5.

Рис. 9.5. Структура IP-адресов в подсетях сети 192.168.1.0/24

Аналогично можно с помощью маски подсети объединить мелкие сети в более крупные.

Например, IP-адреса сети 192.168.0.0/21 будут иметь следующую структуру, приведенную на рисунке 9.6.

Рис. 9.6. Структура IP-адресов сети 192.168.0.0/21

Диапазон IP-адресов данной сети: 192.168.0.1– 192.168.7.254 (всего - 2046 узлов), широковещательный адрес подсети - 192.168.7.255.

Преимущества подсетей внутри частной сети:

разбиение больших IP-сетей на подсети (subnetting) позволяет снизить объем широковещательного трафика (маршрутизаторы не пропускают широковещательные пакеты);

объединение небольших сетей в более крупные сети (supernetting) позволяет увеличить адресное пространство с помощью сетей более низкого класса;

изменение топологии частной сети не влияет на таблицы маршрутизации в сети Интернет (хранят только маршрут с общим номером сети);

размер глобальных таблиц маршрутизации в сети Интернет не растет;

администратор может создавать новые подсети без необходимости получения новых номеров сетей.

Старшие биты IP-адреса используются рабочими станция-

ми и маршрутизаторами для определения класса адреса. После того как класс определен, устройство может однозначно вычислить границу между битами, использующимися для идентификации номера сети, и битами номера устройства в этой сети. Однако при разбиении сетей на подсети или при объединении сетей для определения границ битов, идентифицирующих номер подсети, такая схема не подходит. Для этого как раз и используется 32-битная маска подсети, которая помогает однозначно определить требуемую границу. Напомним, что для стандартных классов сетей маски имеют следующие значения.

Зарезервированные адреса

В адресной схеме протокола выделяют особые IP-адреса.

Если биты всех октетов адреса равны нулю, то он обозначает адрес того узла, который сгенерировал данный пакет. Это используется в ограниченных случаях, например в некоторых сообщениях протокола IP.

Если биты сетевого префикса равны нулю, полагается, что узел назначения принадлежит той же сети, что и источник пакета.

Когда биты всех октетов адреса назначения равны двоичной единице, пакет доставляется всем узлам, принадлежащим той же сети, что и отправитель пакета. Такая рассылка называется ограниченным широковещанием.

Наконец, если в битах адреса, соответствующих узлу назначения, стоят единицы, то такой пакет рассылается всем узлам указанной сети. Это называется широковещанием.

Специальное значение имеет, так же, адреса сети 127/8. Они используются для тестирования программ и взаимодействия процессов в пределах одной машины. Пакеты, отправленные на этот интерфейс, обрабатываются локально, как входящие. Потому адреса из этой сети нельзя присваивать физическим сетевым интерфейсам.

Очень редко в локальную вычислительную сеть входит более 100-200 узлов. Кроме того, многие сетевые среды накладывают ограничения, например, в 1024 узла. Поэтому, использовать адресацию сетей классов А и В нецелесообразно. При малом количестве компьютеров в сети (до 30) не имеет смысла использовать адресацию С.

Для решения этих проблем в двухуровневую иерархию IP-адресов (сеть – узел) была введена новая составляющая -- подсеть. Идея заключается в "заимствовании" нескольких битов из узловой части адреса для определения подсети.

Полный префикс сети, состоящий из сетевого префикса и номера подсети, называется расширенным сетевым префиксом. Двоичное число, и его десятичный эквивалент, содержащее единицы в разрядах, относящихся к расширенному сетевому префиксу, а в остальных разрядах – нули, назвали маской подсети.

Рис.4.4

Но маску в десятичном представлении удобно использовать лишь тогда, когда расширенный сетевой префикс заканчивается на границе октетов, в других случаях ее расшифровать сложнее. Допустим, что в примере на рис. 4 мы хотели бы для подсети использовать не 8 бит, а десять. Тогда в последнем (z-ом) октете мы имели бы не нули, а число 11000000. В десятичном представлении получаем 255.255.255.192. Очевидно, что такое представление не очень удобно. В наше время чаще используют обозначение вида "/xx", где хх -- количество бит в расширенном сетевом префиксе. Таким образом, вместо указания: "144.144.19.22 с маской 255.255.255.192", мы можем записать: 144.144.19.22/26. Как видно, такое представление более компактно и понятно.



Маска подсети переменной длины VLSM
(Variable Length Subnet Mask)

Однако подсети, несмотря на все их достоинства, обладают и недостатками. Так, определив однажды маску подсети, приходится использовать подсети фиксированных размеров. Скажем, у нас есть сеть 144.144.0.0/16 с расширенным префиксом /23.

Рис. 4.5

Такая схема позволяет создать 27 подсетей размером в 29 узлов каждая. Это подходит к случаю, когда есть много подсетей с большим количеством узлов. Но если среди этих сетей есть такие, количество узлов в которых находится в пределах ста, то в каждой их них будет пропадать около 400 адресов.

Решение состоит в том, что бы для одной сети указывать более одного расширенного сетевого префикса. О такой сети говорят, что это сеть с маской подсети переменной длины (VLSM).

Действительно, если для сети 144.144.0.0/16 использовать расширенный сетевой префикс /25, то это больше бы подходило сетям размерами около ста узлов. Если допустить использование обеих масок, то это бы значительно увеличило гибкость применения подсетей.

Общая схема разбиения сети на подсети с масками переменной длины такова: сеть делится на подсети максимально необходимого размера. Затем некоторые подсети делятся на более мелкие, и рекурсивно далее, до тех пор, пока это необходимо.

Кроме того, технология VLSM, путем скрытия части подсетей, позволяет уменьшить объем данных, передаваемых маршрутизаторами. Так, если сеть 12/8 конфигурируется с расширенным сетевым префиксом /16, после чего сети 12.1/16 и 12.2/16 разбиваются на подсети /20, то маршрутизатору в сети 12.1 незачем знать о подсетях 12.2 с префиксом /20, ему достаточно знать маршрут на сеть 12.1/16.

Проблемы классической схемы

В середине 80-х годов Internet впервые столкнулся с проблемой переполнения таблиц магистральных маршрутизаторов. Решение, однако, было быстро найдено – подсети устранили проблему на несколько лет. Но уже в начале 90-х к проблеме большого количества маршрутов прибавилась нехватка адресного пространства. Ограничение в 4 миллиарда адресов, заложенное в протокол и казавшееся недосягаемой величиной, стало весьма ощутимым.

В качестве решения проблемы были одновременно предложены два подхода – один на ближайшее будущее, другой комплексный и долгосрочный. Первое решение – это внедрение протокола бесклассовой маршрутизации (CIDR), к которому позже присоединилась система NAT.

Долгосрочное решение – это протокол IP следующей версии. Он обозначается, как IPv6, или IPng (Internet Protocol next generation). В этой реализации протокола длина адреса увеличена до 16-ти байтов (128 бит!), исключены некоторые элементы действующего протокола, которые оказались неиспользуемыми.

Новая версия обеспечит, как любят указывать, плотность в 3 911 873 538 269 506 102 IP адресов на квадратный метр поверхности Земли.

Ё+й ёОднако то, что и в 2000-м году протокол все еще проходил стандартизацию, и то, что протокол CIDR вместе с системой NAT оказались эффективным решением, заставляет думать, что переход с IPv4 на IPng потребует очень много времени.

Бесклассовая междоменная маршрутизация CIDR
(Classless Inter-Domain Routing)

Появление этой технологии было вызвано резким увеличением объема трафика в Internet и, как следствие, увеличением количества маршрутов на магистральных маршрутизаторах. Так, если в 1994 году, до развертывания CIDR, таблицы маршрутизаторов содержали до 70 000 маршрутов, то после внедрения их количество сократилось до 30 000. На сентябрь 2002, количество маршрутов перевалило за отметку 110 000! Можете себе представить, сколько маршрутов нужно было бы держать в таблицах сегодня, если бы не было CIDR!

Что же представляет собой эта технология? Она позволяет уйти от классовой схемы адресации, эффективней использовать адресное пространство протокола IP. Кроме того, CIDR позволяет агрегировать маршрутные записи. Одной записью в таблице маршрутизатора описываются пути ко многим сетям.

Суть технологии CIDR состоит в том, что каждому поставщику услуг Internet (или, для корпоративных сетей, какому-либо структурно-территориальному подразделению) должен быть назначен неразрывный диапазон IP-адресов. При этом вводится понятие обобщенного сетевого префикса, определяющего общую часть всех назначенных адресов. Соответственно, маршрутизация на магистральных каналах может реализовываться на основе обобщенного сетевого префикса. Результатом является агрегирование маршрутных записей, уменьшение размера таблиц маршрутных записей и увеличение скорости обработки пакетов.

Допустим, центральный офис компании выделяет одному своему региональному подразделению сети 172.16.0.0/16 и 172.17.0.0/16, а другому -- 172.18.0.0/16 и 172.19.0.0/16. У каждого регионального подразделения есть свои областные филиалы и из полученного адресного блока им выделяются подсети разных размеров. Использование технологии бесклассовой маршрутизации позволяет при помощи всего одной записи на маршрутизаторе второго подразделения адресовать все сети и подсети первого подразделения. Для этого указывается маршрут к сети 172.16.0.0 с обобщенным сетевым префиксом 15. Он должен указывать на маршрутизатор первого регионального подразделения.

Рис. 4.6

По своей сути технология CIDR родственна VLSM. Только если в случае с VLSM есть возможность рекурсивного деления на подсети, невидимые извне, то CIDR позволяет рекурсивно адресовать целые адресные блоки.

Использование CIDR позволило разделить Internet на адресные домены, внутри которых передается информация исключительно о внутренних сетях. Вне домена используется только общий префикс сетей. В результате многим сетям соответствует одна маршрутная запись.

Для более эффективного использования пространства адресов IP-сети с помощью маски подсети могут быть разбиты на более мелкие подсети (subnetting) или объединены в более крупные сети (supernetting).

Рассмотрим на примере разбиение сети 192.168.1.0/24 (сеть класса C) на более мелкие подсети. В исходной сети в IP-адресе 24 бита относятся к идентификатору сети и 8 бит - к идентификатору узла. Используем маску подсети из 27 бит, или, в десятичном обозначении, - 255.255.255.224, в двоичном обозначении - 11111111 11111111 11111111 11100000. Получим следующее разбиение на подсети:

Таблица 4.3.
Подсеть Диапазон IP-адресов Широковещательный адрес в подсети
192.168.1.0/27 192.168.1.1–192.168.1.30 192.168.1.31
192.168.1.32/27 192.168.1.33–192.168.1.62 192.168.1.63
192.168.1.64/27 192.168.1.65–192.168.1.94 192.168.1.95
192.168.1.96/27 192.168.1.97–192.168.1.126 192.168.1.127
192.168.1.128/27 192.168.1.129–192.168.1.158 192.168.1.159
192.168.1.160/27 192.168.1.161–192.168.1.190 192.168.1.191
192.168.1.192/27 192.168.1.193–192.168.1.222 192.168.1.223
192.168.1.224/27 192.168.1.225–192.168.1.254 192.168.1.255

Таким образом, мы получили 8 подсетей, в каждой из которых может быть до 30 узлов. Напомним, что идентификатор узла, состоящий из нулей, обозначает всю подсеть, а идентификатор узла, состоящий из одних единиц, означает широковещательный адрес (пакет, отправленный на такой адрес, будет доставлен всем узлам подсети).

IP-адреса в данных подсетях будут иметь структуру:

Отметим очень важный момент. С использованием такой маски узлы с такими, например, IP-адресами, как 192.168.1.48 и 192.168.1.72, находятся в различных подсетях, и для взаимодействия данных узлов необходимы маршрутизаторы, пересылающие пакеты между подсетями 192.168.1.32/27 и 192.168.1.64/27.

Примечание. Согласно стандартам протокола TCP/IP для данного примера не должно существовать подсетей 192.168.1.0/27 и 192.168.1.224/27 (т.е. первая и последняя подсети). На практике большинство операционных систем (в т.ч. системы семейства Microsoft Windows) и маршрутизаторов поддерживают работу с такими сетями.

Аналогично, можно с помощью маски подсети объединить мелкие сети в более крупные.

Например, IP-адреса сети 192.168.0.0/21 будут иметь следующую структуру:

Диапазон IP-адресов данной сети: 192.168.0.1–192.168.7.254 (всего - 2046 узлов), широковещательный адрес подсети - 192.168.7.255.

Преимущества подсетей внутри частной сети:

  • разбиение больших IP-сетей на подсети (subnetting) позволяет снизить объем широковещательного трафика (маршрутизаторы не пропускают широковещательные пакеты);
  • объединение небольших сетей в более крупные сети (supernetting) позволяет увеличить адресное пространство с помощью сетей более низкого класса;
  • изменение топологии частной сети не влияет на таблицы маршрутизации в сети Интернет (хранят только маршрут с общим номером сети);
  • размер глобальных таблиц маршрутизации в сети Интернет не растет;
  • администратор может создавать новые подсети без необходимости получения новых номеров сетей.

Старшие биты IP-адреса используются рабочими станциями и маршрутизаторами для определения класса адреса. После того как класс определен, устройство может однозначно вычислить границу между битами, использующимися для идентификации номера сети, и битами номера устройства в этой сети. Однако при разбиении сетей на подсети или при объединении сетей для определения границ битов, идентифицирующих номер подсети, такая схема не подходит. Для этого как раз и используется 32-битная маска подсети, которая помогает однозначно определить требуемую границу. Напомним, что для стандартных классов сетей маски имеют следующие значения:

  • 255.0.0.0 – маска для сети класса А;
  • 255.255.0.0 - маска для сети класса В;
  • 255.255.255.0 - маска для сети класса С.

Для администратора сети чрезвычайно важно знать четкие ответы на следующие вопросы:

  • Сколько подсетей требуется организации сегодня?
  • Сколько подсетей может потребоваться организации в будущем?
  • Сколько устройств в наибольшей подсети организации сегодня?
  • Сколько устройств будет в самой большой подсети организации в будущем?

Отказ от использования только стандартных классов IP-сетей (A, B, и C) называется бесклассовой междоменной маршрутизацией (Classless Inter-Domain Routing,CIDR ).

Введение в IP-маршрутизацию

Для начала уточним некоторые понятия:

  • сетевой узел (node) - любое сетевое устройство с протоколом TCP/IP;
  • хост (host) - сетевой узел, не обладающий возможностями маршрутизации пакетов;
  • маршрутизатор (router) - сетевой узел, обладающий возможностями маршрутизации пакетов

IP-маршрутизация - это процесс пересылки unicast -трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.

Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:

  1. Узел-отправитель определяет, находится ли узел-получатель в той же самой IP-сети, что и отправитель (в локальной сети), или в другой IP-сети (в удаленной сети). Для этого узел-отправитель производит поразрядное логическое умножение своего IP-адреса на маску подсети, затем поразрядное логическое умножение IP-адреса узла получателя также на свою маску подсети. Если результаты совпадают, значит, оба узла находятся в одной подсети. Если результаты различны, то узлы находятся в разных подсетях.
  2. Если оба сетевых узла расположены в одной IP-сети, то узел-отправитель сначала проверяет ARP-кэш на наличие в ARP-таблице MAC-адреса узла-получателя. Если нужная запись в таблице имеется, то дальше отправка пакетов производится напрямую узлу-получателю на канальном уровне. Если же в ARP-таблице нужной записи нет, то узел-отправитель посылает ARP-запрос для IP-адреса узла-получателя, ответ помещает в ARP-таблицу и после этого передача пакета также производится на канальном уровне (между сетевыми адаптерами компьютеров).
  3. Если узел-отправитель и узел-получатель расположены в разных IP-сетях, то узел-отправитель посылает данный пакет сетевому узлу, который в конфигурации отправителя указан как "Основной шлюз" (default gateway ). Основной шлюз всегда находится в той же IP-сети, что и узел-отправитель, поэтому взаимодействие происходит на канальном уровне (после выполнения ARP-запроса). Основной шлюз - это маршрутизатор, который отвечает за отправку пакетов в другие подсети (либо напрямую, либо через другие маршрутизаторы).

Рассмотрим пример, изображенный на рис. 4.5 .

Рис. 4.5.

В данном примере 2 подсети: 192.168.0.0/24 и 192.168.1.0/24. Подсети объединены в одну сеть маршрутизатором. Интерфейс маршрутизатора в первой подсети имеет IP-адрес 192.168.0.1, во второй подсети - 192.168.1.1. В первой подсети имеются 2 узла: узел A (192.168.0.5) и узел B (192.168.0.7). Во второй подсети имеется узел C с IP-адресом 192.168.1.10.

Если узел A будет отправлять пакет узлу B, то сначала он вычислит, что узел B находится в той же подсети, что и узел A (т.е. в локальной подсети), затем узел A выполнит ARP-запрос для IP-адреса 192.168.0.7. После этого содержимое IP-пакета будет передано на канальный уровень, и информация будет передана сетевым адаптером узла A сетевому адаптеру узла B. Это пример прямой доставки данных (или прямой маршрутизации, direct delivery).

Если узел A будет отправлять пакет узлу C, то сначала он вычислит, что узел C находится в другой подсети (т.е. в удаленной подсети). После этого узел A отправит пакет узлу, который в его конфигурации указан в качестве основного шлюза (в данном случае это интерфейс маршрутизатора с IP-адресом 192.168.0.1). Затем маршрутизатор с интерфейса 192.168.1.1 выполнит прямую доставку узлу C. Это пример непрямой доставки (или косвенной маршрутизации, indirect delivery) пакета от узла A узлу C. В данном случае процесс косвенной маршрутизации состоит из двух операций прямой маршрутизации.

В целом процесс IP-маршрутизации представляет собой серии отдельных операций прямой или косвенной маршрутизации пакетов.

Каждый сетевой узел принимает решение о маршрутизации пакета на основе таблицы маршрутизации, которая хранится в оперативной памяти данного узла. Таблицы маршрутизации существуют не только у маршрутизаторов с несколькими интерфейсами, но и у рабочих станций, подключаемых к сети через сетевой адаптер. Таблицу маршрутизации в системе Windows можно посмотреть по команде route print. Каждая таблица маршрутизации содержит набор записей. Записи могут формироваться различными способами:

  • записи, созданные автоматически системой на основе конфигурации протокола TCP/IP на каждом из сетевых адаптеров;
  • статические записи, созданные командой route add или в консоли службы Routing and Remote Access Service ;
  • динамические записи, созданные различными протоколами маршрутизации (RIP или OSPF).

Рассмотрим два примера: таблицу маршрутизации типичной рабочей станции, расположенной в локальной сети компании, и таблицу маршрутизации сервера, имеющего несколько сетевых интерфейсов.

Рабочая станция.

В данном примере имеется рабочая станция с системой Windows XP, с одним сетевым адаптером и такими настройками протокола TCP/IP: IP-адрес -192.168.1.10, маска подсети - 255.255.255.0, основной шлюз - 192.168.1.1.

Введем в командной строке системы Windows команду route print, результатом работы команды будет следующий экран (рис. 4.6 ; в скобках приведен текст для английской версии системы):

Рис. 4.6.

Список интерфейсов - список сетевых адаптеров, установленных в компьютере. Интерфейс MS TCP Loopback interface присутствует всегда и предназначен для обращения узла к самому себе. Интерфейс Realtek RTL8139 Family PCI Fast Ethernet NIC - сетевая карта.

Сетевой адрес - диапазон IP-адресов, которые достижимы с помощью данного маршрута.

Маска сети - маска подсети, в которую отправляется пакет с помощью данного маршрута.

Адрес шлюза - IP-адрес узла, на который пересылаются пакеты, соответствующие данному маршруту.

Интерфейс - обозначение сетевого интерфейса данного компьютера, на который пересылаются пакеты, соответствующие маршруту.

Метрика - условная стоимость маршрута. Если для одной и той же сети есть несколько маршрутов, то выбирается маршрут с минимальной стоимостью. Как правило, метрика - это количество маршрутизаторов, которые должен пройти пакет, чтобы попасть в нужную сеть.

Проанализируем некоторые строки таблицы.

Первая строка таблицы соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Сеть с адресом "0.0.0.0" обозначает "все остальные сети, не соответствующие другим строкам данной таблицы маршрутизации".

Вторая строка - маршрут для отправки пакетов от узла самому себе.

Третья строка (сеть 192.168.1.0 с маской 255.255.255.0) - маршрут для отправки пакетов в локальной IP-сети (т.е. той сети, в которой расположена данная рабочая станция).

Последняя строка - широковещательный адрес для всех узлов локальной IP-сети.

Последняя строка на рис. 4.6 - список постоянных маршрутов рабочей станции. Это статические маршруты, которые созданы командой route add. В данном примере нет ни одного такого статического маршрута.

Теперь рассмотрим сервер с системой Windows 2003 Server, с тремя сетевыми адаптерами:

  • Адаптер 1 - расположен во внутренней сети компании (IP-адрес - 192.168.1.10, маска подсети - 255.255.255.0);
  • Адаптер 2 - расположен во внешней сети Интернет-провайдера ISP-1 (IP-адрес - 213.10.11.2, маска подсети - 255.255.255.248, ближайший интерфейс в сети провайдера - 213.10.11.1);
  • Адаптер 3 - расположен во внешней сети Интернет-провайдера ISP-2 (IP-адрес - 217.1.1.34, маска подсети - 255.255.255.248, ближайший интерфейс в сети провайдера - 217.1.1.33).

IP-сети провайдеров - условные, IP-адреса выбраны лишь для иллюстрации (хотя вполне возможно случайное совпадение с какой-либо существующей сетью).

Кроме того, на сервере установлена Служба маршрутизации и удаленного доступа для управления маршрутизацией пакетов между IP-сетями и доступа в сеть компании через модемный пул.

В данном случае команда route print выдаст таблицу маршрутизации, изображенную на рис. 4.7 .

Рис. 4.7.

В таблице в списке интерфейсов отображены три сетевых адаптера разных моделей, адаптер обратной связи (MS TCP Loopback interface ) и WAN (PPP/SLIP) Interface - интерфейс для доступа в сеть через модемный пул.

Отметим особенности таблицы маршрутов сервера с несколькими сетевыми интерфейсами.

Первая строка похожа на первую строку в таблице рабочей станции. Она также соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Заметим, что только на одном интерфейсе можно задавать параметр "Основной шлюз". В данном случае этот параметр был задан на одном из внешних интерфейсов (это же значение отражено и в конце таблицы в строке "Основной шлюз").

Как и в рабочей станции, для каждого интерфейса есть маршруты как для unicast -пакетов, так и для широковещательных (broadcast) для каждой подсети.

Во второй строке содержится статический маршрут, сконфигурированный в консоли , для пересылки пакетов в сеть196.15.20.16/24.

Поддержка таблиц маршрутизации.

Есть два способа поддержки актуального состояния таблиц маршрутизации: ручной и автоматический.

Ручной способ подходит для небольших сетей. В этом случае в таблицы маршрутизации вручную заносятся статические записи для маршрутов. Записи создаются либо командой route add, либо в консоли Службы маршрутизации и удаленного доступа .

В больших сетях ручной способ становится слишком трудоемким и чреват ошибками. Автоматическое построение и модификация таблиц маршрутизации производится так называемыми "динамическими маршрутизаторами" . Динамические маршрутизаторы отслеживают изменения в топологии сети, вносят необходимые изменения в таблицы маршрутов и обмениваются данной информацией с другими маршрутизаторами, работающими по тем же протоколам маршрутизации. В Windows Server реализована динамическая маршрутизация в Службе маршрутизации и удаленного доступа . В данной службе реализованы наиболее распространенные протоколы маршрутизации - протокол RIP версий 1 и 2 и протокол OSPF.

Ранее при развёртывании сети организации часто подключали все компьютеры и другие сетевые устройства к одной IP-сети. Всем устройствам в организации назначались IP-адреса с одинаковой сетевой частью. Конфигурация такого типа называется плоской архитектурой сети. В небольшой сети с небольшим количеством устройств плоская архитектура не представляет проблемы. Однако по мере расширения сети с такой конфигурацией могут возникнуть серьёзные трудности.

Подумайте о том, как в сети Ethernet устройства выполняют поиск необходимых служб и устройств с помощью широковещательной рассылки. Как вы помните, широковещательное сообщение доставляется всем узлам данной сети. Протокол DHCP - пример сетевой службы, которая зависит от широковещательной рассылки. Устройства отправляют по сети широковещательные запросы, чтобы определить местонахождение DHCP-сервера. В крупной сети из-за этого может создаваться значительный трафик, который замедлит общую работу сети. Кроме того, поскольку широковещательная рассылка выполняется по всем устройствам, им необходимо принять и обработать трафик, что приводит к повышению требований к обработке. Если устройство должно обработать значительный объём широковещательных рассылок, это может даже привести к замедлению работы устройства. По этой причине более крупные сети необходимо разделить на более мелкие подсети, предназначенные для небольших групп устройств и служб.

Процесс сегментации сети путём разделения её на несколько более мелких сетей называется разбиением на подсети. Эти более мелкие сети называются подсетями. Сетевые администраторы могут группировать устройства и службы в подсети по их географическому местоположению (например, 3-й этаж здания), организационному подразделению (например, отдел продаж) или по типу устройств (принтеры, серверы, глобальная сеть и т.п.) или по другому значимому для сети принципу. Разбиение на подсети может снизить общую нагрузку на сеть и повысить её производительность.

Примечание . Подсеть аналогична сети, и оба этих термина можно использовать как синонимы. Большинство сетей сами являются подсетями более крупных блоков адресов.

Обмен данными между подсетями

Маршрутизатор необходим для взаимодействия узлов из разных подсетей. Устройства в сети используют интерфейс маршрутизатора, подключённый к их локальной сети, в качестве шлюза по умолчанию. Трафик, отправляемый на устройство в удалённой сети, будет обработан маршрутизатором и отправлен в направлении сети назначения. Чтобы определить, является ли трафик локальным или удалённым, маршрутизатор использует маску подсети.

В пространстве подсети этот механизм реализуется аналогичным образом. Как показано на рисунке, подсети образуют несколько логических сетей из одного блока адресов или сетевого адреса. Каждая подсеть рассматривается как отдельное сетевое пространство. Устройства в одной подсети должны использовать адрес, маску подсети и шлюз по умолчанию той подсети, которой они принадлежат.

Трафик не может передаваться между подсетями без использования маршрутизатора. У каждого интерфейса маршрутизатора должен быть IPv4-адрес, принадлежащий сети или подсети, к которой подключён этот интерфейс.

Значимость разбиения IP-сети на подсети

План: присвоение адресов

Как показано на рисунке, при планировании подсетей требуется учитывать требования организации к использованию сети и предполагаемую структуру подсетей. Для начала необходимо изучить требования к сети. Это означает, что нужно изучить всю сеть, определить её основные части и разделить их на сегменты. План распределения адресов содержит информацию о требуемом размере подсети, количестве узлов и принципе назначения адресов узлам. Кроме того, необходимо определить узлы, которым нужно выделить статические IP-адреса, и узлы, которые смогут получать сетевые настройки по протоколу DHCP.

Определяя размер подсети, необходимо оценить количество узлов, которым потребуются IP-адреса в каждой подсети в рамках разделённой частной сети. Например, при проектировании сети студенческого городка нужно оценить количество узлов в локальной сети администраторов, в локальной сети преподавателей и в локальной сети учащихся. В домашней сети можно оценить количество узлов в локальной сети жилой зоны и в локальной сети домашнего офиса.

Как уже упоминалось ранее, диапазон частных IP-адресов, используемых в локальной сети, выбирается сетевым администратором, и к выбору этого диапазона следует отнестись с должным вниманием. Необходимо убедиться, что количества адресов будет достаточно для активных в данный момент узлов и для будущего расширения сети. Запомните диапазоны частных IP-адресов:

  • 10.0.0.0 с маской подсети 255.0.0.0
  • 172.16.0.0 с маской подсети 255.240.0.0
  • 192.168.0.0 с маской подсети 255.255.0.0

На основании требований к IP-адресам можно определить диапазон или диапазоны узлов для развёртывания. После разбиения выбранного пространства частных IP-адресов на подсети будут получены адреса узлов, соответствующие требованиям к сети.

Публичные адреса, используемые для подключения к Интернету, обычно выделяются оператором связи. Хотя в данном случае применяются те же принципы разбиения на подсети, это не всегда является обязанностью администратора сети организации.

Определите стандарты присвоения IP-адресов в диапазоне каждой подсети. Например:

  • Принтерам и серверам будут назначены статические IP-адреса
  • Пользователи будут получать IP-адреса от DHCP-серверов в подсетях /24
  • Маршрутизаторам назначаются первые доступные адреса узла в диапазоне.

Два существенных фактора, влияющих на определение необходимого блока частных адресов, - это количество необходимых подсетей и максимальное количество узлов в каждой подсети. Каждый из этих блоков адресов позволит распределить узлы исходя из размера сети, количества узлов, активных в настоящий момент, или добавляемых в ближайшем будущем. Требования к IP-пространству определят диапазон или диапазоны используемых узлов.

В примерах ниже отображено разбиение на подсети на основе блоков адресов с масками подсети 255.0.0.0 и 255.255.255.0, 255.255.0.0.

Базовое разбиение на подсети

Каждый сетевой адрес содержит допустимый диапазон адресов узлов. Все устройства, подключённые к одной и той же сети, будут иметь IPv4-адрес узла этой сети, а также общую маску подсети или префикс сети.

Префикс и маска подсети - это разные способы представления одного и того же - сетевой части адреса.

Для создания IPv4-подсетей мы задействуем один или нескольких бит из узловой части в качестве бит сетевой части. Для этого мы расширяем маску подсети. Чем больше заимствовано бит из узловой части, тем больше подсетей можно создать. Для каждого заимствованного бита количество доступных подсетей удваивается. Например, если заимствовать один бит, можно создать две подсети. Для двух бит - 4 подсети, для трёх бит - 8 подсетей и т. д. Однако с каждым заимствованным битом уменьшается количество адресов узлов в каждой подсети.

Биты могут быть заимствованы только из узловой части адреса. Сетевая часть адреса выделяется оператором связи, и изменить её невозможно.

Примечание . На рисунках в примерах отображается только последний октет в двоичном формате, поскольку использовать можно только биты из узловой части.

Как показано на рисунке 1, сеть 192.168.1.0/24 имеет 24 бита в сетевой части и 8 бит в узловой части, что обозначено маской подсети 255.255.255.0 или записью с префиксом /24. Без разделения на подсети эта сеть поддерживает работу только с одним интерфейсом локальной сети. Если нужна дополнительная локальная сеть, основную сеть нужно разделить на подсети.

На рисунке 2 в самом старшем разряде (крайний левый бит) заимствуется 1 бит в узловой части, расширяя сеть до 25 бит. При этом создаются две подсети: первая определяется цифрой 0 в заимствованном бите, а вторая - цифрой 1 в заимствованном бите. Для маски подсети обеих сетей используется цифра 1 в заимствованном бите, чтобы показать, что этот бит теперь входит в сетевую часть адреса.

Как показано на рисунке 3, если преобразовать двоичный октет в десятичный формат, мы увидим, что адрес первой подсети - 192.168.1.0, а адрес второй подсети - 192.168.1.128. Поскольку был заимствован бит, маска подсети для каждой подсети будет 255.255.255.128 или /25.

Используемые подсети

В примере выше сеть 192.168.1.0/24 была разделена на две подсети:

192.168.1.128/25

Обратите внимание, что на рисунке №1 к интерфейсам GigabitEthernet маршрутизатора R1 подключены два сегмента локальной сети. Подсети будут использоваться для сегментов, подключённых к этим интерфейсам. Чтобы выполнять роль шлюза для устройств в локальной сети, каждому из интерфейсов маршрутизатора должен быть назначен IP-адрес в диапазоне допустимых адресов для назначенной подсети. В качестве адреса интерфейса маршрутизатора рекомендуется использовать первый или последний доступный адрес диапазона сети.

Первая подсеть (192.168.1.0/25) используется для сети, подключённой к интерфейсу GigabitEthernet 0/0, а вторая подсеть (192.168.1.128/25) - к интерфейсу GigabitEthernet 0/1. Чтобы назначить IP-адрес каждому из этих интерфейсов, необходимо определить диапазон допустимых IP-адресов для каждой подсети.

  • Сетевой адрес - все биты 0 в узловой части адреса.
  • Адрес первого узла - все биты 0, а также крайний правый бит 1 в узловой части адреса.
  • Адрес последнего узла - все биты 1, а также крайний правый бит 0 в узловой части адреса.
  • Широковещательный адрес - все биты 1 в узловой части адреса.

Как показано на рисунке 2, адрес первого узла в сети 192.168.1.0/25 - 192.168.1.1, а адрес последнего узла - 192.168.1.126. На рисунке 3 показано, что адрес первого узла в сети 192.168.1.128/25 - 192.168.1.129, а адрес последнего узла - 192.168.1.254.

Чтобы назначить адрес первого узла в каждой подсети интерфейсу маршрутизатора для этой подсети, используйте команду ip address в режиме конфигурации интерфейса, как показано на рисунке 4. Обратите внимание, что для каждой подсети используется маска подсети 255.255.255.128, которая означает, что под сетевую часть адреса отведено 25 бит.

Конфигурация узла для сети 192.168.1.128/25 показана на рисунке 5. Обратите внимание, что IP-адресом шлюза является адрес (192.168.1.129), настроенный на интерфейсе G0/1 маршрутизатора R1, а маской подсети является 255.255.255.128.

Формулы разделения на подсети

Расчёт подсетей

Для расчёта количества подсетей используйте следующую формулу:

2^n (где n = количество заимствованных бит)

Как показано на рисунке 1 для примера 192.168.1.0/25, расчёт выглядит следующим образом:

2^1 = 2 подсети

Расчёт узлов

Для расчёта количества узлов в одной сети используйте следующую формулу:

2^n (где n = количество бит, оставшихся в узловой части адреса)

Как показано на рисунке 2 для примера 192.168.1.0/25, расчёт выглядит следующим образом:

Поскольку для узлов не может использоваться сетевой адрес или широковещательный адрес из подсети, эти два адреса нельзя назначить узлам. Это означает, что в каждой из подсетей можно использовать 126 (128-2) адресов узлов.

Таким образом, в этом примере заимствование одного бита узла для сети приведёт к созданию двух подсетей, в каждой из которых можно назначить 126 узлов.

Создание 4 подсетей

Рассмотрим сетевую инфраструктуру, в которой требуются три подсети.

Если использовать одинаковый блок адресов 192.168.1.0/24, для создания как минимум трёх подсетей необходимо позаимствовать несколько бит из узловой части. Если заимствовать один бит, будут созданы только две подсети. Для создания большего количества подсетей необходимо заимствовать больше бит из узловой части. Рассчитаем количество подсетей, создаваемых при заимствовании двух бит из узловой части по формуле 2^n:

2^2 = 4 подсети

Заимствование двух бит позволяет создать 4 подсети, как показано на рисунке 1.

Как вы помните, маска подсети должна изменяться для отражения заимствованных бит. В этом примере при заимствовании двух бит маска будет расширена на два бита в последнем октете. В десятичном формате маска имеет вид 255.255.255.192, поскольку последний октет в двоичном формате имеет вид 1100 0000.

Используйте формулу расчёта узлов, как показано на рисунке 2.

Не забывайте, что если в узловой части адреса все биты равны 0, то это адрес самой сети, а если все биты равны 1 - широковещательный. Таким образом, в каждой подсети фактически доступно только 62 адреса узлов.

Как показано на рисунке 3, адрес первого узла в первой подсети - 192.168.1.1, а адрес последнего узла - 192.168.1.62.

На рис. 4 показаны диапазоны для подсетей от 0 до 2. Помните, что каждый узел должен иметь правильный IP-адрес в диапазоне, определённом для данного сегмента сети. Подсеть, присвоенная интерфейсу маршрутизатора, определит, к какому сегменту относится узел.

На рисунке 5 показан пример конфигурации. В этой конфигурации первая сеть назначена интерфейсу GigabitEthernet 0/0, вторая сеть - интерфейсу GigabitEthernet 0/1, а третья сеть назначена последовательной сети 0/0/0.

Кроме того, согласно общему плану адресации адрес первого узла в подсети назначен интерфейсу маршрутизатора. Узлы в каждой подсети будут использовать адрес интерфейса маршрутизатора в качестве адреса шлюза по умолчанию.

  • Для ПК1 (192.168.1.2/26) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.1 (адрес интерфейса G0/0 маршрутизатора R1).
  • Для ПК2 (192.168.1.66/26) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.65 (адрес интерфейса G0/1 маршрутизатора R1).

Примечание. Все устройства в одной и той же подсети будут иметь IPv4-адрес узла из диапазона адресов узлов и использовать одну и ту же маску подсети.

Создание 8 подсетей

Если использовать одинаковый блок адресов 192.168.1.0/24, для создания как минимум пяти подсетей необходимо позаимствовать несколько бит из узловой части адреса. Заимствование двух битов создаст только четыре подсети, как было показано в предыдущем примере. Для создания большего количества подсетей необходимо заимствовать больше бит из узловой части. Рассчитаем количество подсетей, создаваемых при заимствовании трёх бит из узловой части по формуле:

2^3 = 8 подсетей

Как показано на рисунках 2 и 3, при заимствовании трёх бит создаются 8 подсетей. Если заимствовать три бита, маска подсети будет расширена на 3 бита в последнем октете (/27), что даст маску подсети 255.255.255.224. Все устройства в этих подсетях будут использовать маску подсети 255.255.255.224 (/27).

Применим формулу расчёта узлов:

2^5 = 32, но вычтем 2 для всех нулей в узловой части (сетевого адреса) и все единицы в узловой части (широковещательный адрес).

Подсети назначаются сегментам сети, необходимым для топологии, как показано на рисунке 4.

Кроме того, согласно общему плану адресации, адрес первого узла в подсети назначен интерфейсу маршрутизатора, как показано на рисунке 5. Узлы в каждой подсети будут использовать адрес интерфейса маршрутизатора в качестве адреса шлюза по умолчанию.

  • Для ПК1 (192.168.1.2/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.1.
  • Для ПК2 (192.168.1.34/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.33.
  • Для ПК3 (192.168.1.98/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.97.
  • Для ПК4 (192.168.1.130/27) в качестве адреса шлюза по умолчанию будет использоваться 192.168.1.129.