1. 1 История tcpIP
Скачать 340.83 Kb.
|
3.1.7 Формирование подсетейИзначально адрес IPv4 имел два уровня иерархии: идентификатор сети и идентификатор узла. Каждой организации выдавался IPv4-адрес из нужного диапазона (А, В или С) в зависимости от текущего числа компьютеров и его планируемого увеличения. Для более эффективного использования адресного пространства были внесены изменения в существующую классовую систему адресации. В RFC 950 была описана процедура разбиения сетей на подсети, и в структуру IPv4-адреса был добавлен еще один уровень иерархии — подсеть (subnetwork). Таким образом, была создана трехуровневая иерархия в системе IP-адресации: сеть, которая содержит подсети, каждая из которых включает определенное количество узлов. Появление еще одного уровня иерархии не изменило самого IPv4-адреса, он остался 32-разрядным, а часть адреса, отведенная ранее под идентификатор узла, была разделена на 2 части — идентификатор подсети и идентификатор узла (рис. 2.17). Разбиение одной крупной сети на несколько более мелких позволяет: лучше соответствовать физической структуре сети; рационально использовать адресное пространство (т. е. для каждого сегмента сети не требуется выделять целиком блок IP-адресов класса А, В или С, а только его часть); упростить маршрутизацию; повысить безопасность и управляемость сети (за счет уменьшения размеров сегментов и изоляции трафика сегментов друг друга). С появлением трехуровневой иерархии IPv4-адреса потребовались дополнительные методы, которые позволяли бы определить, какая часть адреса указывает на идентификатор подсети, а какая — на идентификатор узла. Было предложено использовать битовую маску (bit mask), которая отделяла бы часть адресного пространства идентификаторов узлов от адресного пространства идентификаторов подсети. Такая битовая маска называется маской подсети (subnet mask). Маска подсети — это 32-битное число, двоичная запись которого содержит непрерывную последовательность единиц в тех разрядах, которые определяют идентификатор подсети и непрерывную последовательность нулей в тех разрядах, которые определяют идентификатор узла. Маска записывается в точечно-десятичном представлении аналогично IP-адресу. Чтобы получить адрес сети, зная IPv4-адрес и маску подсети, необходимо применить к ним операцию логическое «И». Другими словами, в тех позициях IPv4-адреса, в которых в маске подсети стоят двоичные 1, находится идентификатор сети, а где двоичные 0 — идентификатор узла. Во избежание проблем с адресацией и маршрутизацией все узлы в одном сегменте сети должны использовать одну и ту же маску подсети. Для сетей класса А, В и С определены фиксированные маски подсети, которые жестко определяют количество возможных IPv4-адресов и механизм маршрутизации.
При применении масок сети можно разбивать на меньшие по размеру подсети путем расширения сетевой части адреса и уменьшения узловой части. Технология разделения сети дает возможность создавать большее число сетей с меньшим количеством узлов в них, что позволяет эффективно использовать адресное пространство. Для вычисления количества подсетей используется формула 2s, где s — количество битов, занятых под идентификатор сети из части, отведенной под идентификатор узла. Количество узлов в каждой подсети вычисляется по формуле 2n–2, где n — количество битов, оставшихся в части, идентифицирующей узел, а два адреса — адрес подсети и широковещательный адрес — в каждой полученной подсети зарезервированы. Рассмотрим пример планирования подсети. Какой должна быть маска подсети, если организации необходимо разбить сеть 192.168.1.0 на 20 подсетей по 6 компьютеров в каждой. Для начала необходимо определить, к какому классу относится адрес. 192.168.1.0 — это класс С, соответственно, стандартная маска подсети для класса С равна 255.255.255.0 и под идентификатор узла отведен 4-й октет. Затем определяется количество битов 4-го октета, занимаемых для формирования 20 подсетей. Поскольку найти число, при котором степень 2 будет равна 20 невозможно, выбираем ближайшее большее число 25 = 32. Таким образом, 5 первых битов 4-го октета будут использованы для идентификации подсети, а оставшиеся 3 бита – для идентификации узлов в них. Маска подсети должна быть 255.255.255.248 (рис. 3.21). |