Построение подсетей с помощью масок
Большинство сетей разделены на меньшие сети, называемые подсетями (subnets). Используя деление сети на подсети (сегменты), можно добиться более эффективного использования адресного пространства. В больших организациях такое деление используется с целью разделить одну большую сеть на несколько меньших.
Например, сеть 172.16.0.0 может быть разделена на четыре сегмента:
· 172.16.1.0
· 172.16.2.0
· 172.16.3.0
· 172.16.4.0
Если сеть подключена к Интернет, она имеет уникальный адрес сети. Этот адрес представляет сеть в целом, даже если она разделена на несколько сегментов. Сегменты должны использовать один и тот же сетевой адрес, поэтому чтобы различать их, требуется дополнительная информация. Адрес сегмента дополняет адрес сети. Процесс деления сети на сегменты заключается в использовании части адреса узла в качестве адреса сегмента.
Использование маски подсети - это способ адаптировать IP-адреса Интернет для применения в подсетях. Сетевые устройства, например, маршрутизаторы, используют маску подсети для определения, какая часть адреса описывает сеть, а какая - конкретный узел в сети. Решения о перенаправлении потока данных принимаются, основываясь на номерах сети и сегмента.
Процесс назначения адресов в сети, которая делится на сегменты, состоит из трех этапов:
· определения маски подсети;
· назначение адреса каждой подсети;
· назначение адреса каждому узлу в каждом сегменте.
Маска подсети - это 32-разрядное число, которое побитно складывается с IP-адресом, для переопределения применяемого по умолчанию деления адреса на сетевую и узловую составляющие. Маска подсети указывает, какие биты используются для выделения подсети из целой сети. В маске подсети назначается значение 1 каждому биту, который соответствует части IP-адреса, относящейся к адресу подсети.
32-разрядная маска подсети может быть записана как четыре октета. Размещение полей маски следующее:
· двоичная 1 для битов, определяющих сеть
· двоичная 1 для битов, определяющих подсеть
· двоичный 0 для битов, определяющих узел.
Сеть | Узел | |||||||||
IP | ||||||||||
адрес | ||||||||||
Сеть | Узел | |||||||||
Маска по умолчанию | ||||||||||
для класса B | ||||||||||
Сеть | Подсеть | Узел | ||||||||
32-битная | ||||||||||
маска подсети | ||||||||||
Рисунок 6.7
Адреса классов A, B и C имеют заданные по умолчанию маски подсети, которые отражают заданное по умолчанию разделение адреса подсети / узла. Эти заданные по умолчанию маски имеют 1 в каждой позиции, соответствующей заданному по умолчанию компоненту сетевого адреса соответствующего класса IP адресов. Биты подсети начинаются с первого бита старшего октета поля адреса узла.
В адресе класса А только первый октет составляет сетевой адрес. Это эквивалентно маске подсети 255.0.0.0. Аналогично, заданная по умолчанию маска для адреса класса B имеет вид 255.255.0.0, а адрес класса С - маску 255.255.255.0.
Заданная по умолчанию маска подсети для каждого класса сети обрабатывает соответствующий адрес IP, как будто и нет никаких подсетей. Если вы захотите разделить вашу сеть на подсети, вы должны будете изменить вашу маску подсети. Точнее, вы должны будете заменить некоторые из 0 в маске на 1. Это будет означать, что часть узлового компонента каждого IP-адреса будет обрабатываться как дополнительная информация об адресации в сети.
Рассмотрим пример использования маски подсети.
Пусть какая-то корпоративная сеть имеет одиночный сетевой адрес класса B (172.16.0.0), и её хотят разделить на отдельные подсети. Чтобы сделать это, нужно изменить заданную по умолчанию маску подсети классов B 255.255.0.0. Самое простое решение, которое можно принять - определить весь третий октет адреса как сетевой адрес для подсетей, т.е. третий октет маски подсети выбрать 11111111. Теперь маска подсети будет выглядит следующим образом: 255.255.255.0. Обратите внимание, что она такая же, как заданная по умолчанию маска подсети для сетей класса C.
Когда новая маска подсети будет наложена, IP-адреса узлов в сети будут иметь три компонента. Первые два октета остаются как стандартный сетевой адрес класса B. Третий октет будет номером подсети в сети компании. Четвертый октет будет функционировать как адрес узла в каждой подсети.
С точки зрения внешних маршрутизаторов, сеть является, как бы, одиночной сетью класса B. Однако, её собственные маршрутизаторы различают подсети, как отдельные сети класса C. Когда данные посылаются извне в сеть компании (например, на адрес 172.16.2.160), маршрутизатор извлекает IP-адрес узла-получателя из пакета и восстанавливает внутреннюю маску подсети. Затем он выполняет логическую операцию AND, чтобы получить номер сети. При выполнении операции AND, часть адреса, обозначающая узел-получатель, удаляется. Это потому, что любой бит, сложенный с помощью операции AND с 0 даст 0.
Если в сети компании не были бы определены подсети, то получился бы адрес сети - 172.16.0.0. Но, т.к. сеть компании была разделена на подсети, то после операции AND из исходного IP-адреса извлечется как адрес сети, так и адрес подсети - в нашем примере это 172.16.0.2. Таким образом, решения о маршрутизации основаны только на номерах сети и подсети.
Использование всего третьего октета адреса для идентификации подсетей позволяет разделить сеть на 254 (два в восьмой степени, минус два) отдельных подсетей.
Рассмотрим случай с сетью класса C.
Заданная по умолчанию маска для сети класса C - 255.255.255.0. Установка последнего октета маски подсети в 11111111 приведет к маске 255.255.255.255. Это позволило бы создать 254 подсети, но не имеет смысла, так как не остается места для информации об адресе узла.
Использование семи маскирующих битов (11111110 в последнем октете, т.е. 254) также не имеет смысла, потому что один оставшийся бит в адресе узла, должен иметь значение или 0, или 1. Однако, адреса узлов, состоящие полностью из 1 или 0 зарезервированы и не могут быть назначены хостам. Таким образом, хотя маска 255.255.255.254 и поддерживает 126 допустимых подсетей, она не оставляет никакого адресного пространства для узлов.
Точно так же использование только одного бита для маски также бесцельно, поскольку это не приводит ни к каким подсетям. Причиной этого является то, что есть только два возможных значения для адреса подсети - 0 и 1.
Обратите внимание, что 1-разрядная маска (1000000) - не эквивалентна 0-разрядной, заданной по умолчанию маске (00000000), даже при том, что обе не приводят ни к каким подсетям. Это потому, что 1-разрядная маска имеет только семь бит, доступных для адресации узла и может поддерживать только 126 хостов. Заданная по умолчанию маска использует все восемь бит для адресации узла и может поддерживать 254 хоста.
Таблица 6.3
Количество маскирующих бит | Двоичная маска | Десятичная маска | Количество возможных подсетей | Количество возможных хостов в каждой подсети |
н/о |
Таблица 6.3 показывает связь между числом подсетей и обеспечиваемых адресов узлов для всех возможных масок в сети класса C.
Как видите, ограничения на число подключаемых хостов уменьшают ваши возможности разделять сеть класса C на подсети.
Существует обратная зависимость между количеством доступных адресов подсетей и количеством узлов, которые могут подключаться к каждой подсети. При установке межсетевых соединений, вы должны определить число подсетей и узлов в каждой подсети, которые вам необходимо подключить.
Количество возможных подсетей зависит от числа бит, отведенных адресу подсети. Оно равно количеству единиц в маске подсети минус количество единиц в заданной по умолчанию маске для конкретного класса сети. Точное число подсетей вычисляется как 2 в степени количества бит, назначенных адресу подсети, и минус два (не могут быть назначены адреса, полученные из всех 0 или 1).
Число узлов, подключаемых в подсеть получается из числа немаскирующих бит (0) в маске подсети. Точное число узлов равно 2 в степени количества немаскирующих бит, минус два (не могут быть назначены адреса, полученные из всех 0 или 1).
Рассмотрим маску подсети - 255.255.224.0.
Число подсетей, которые она может поддерживать, зависит от того, имеет ли сеть адрес класса B или класса A.
Если сеть имеет адрес класса A, то адрес подсети занимает одиннадцать бит, т.е. весь второй октет и три бита в третьем. Таким образом имеется 2 в степени 11, минус 2, возможных подсетей. Получается 2046 узлов.
Если используется адрес класса B, следовательно адрес подсети занимает только три бита в третьем октете. Т.е. сеть делится на 23-2 возможных подсети, тогда получим 6 узлов.
И независимо от того, какого класса адрес присвоен сети (класса A или класса B), последние тринадцать бит адреса отведены адресам узлов. Следовательно, есть возможность подключить 2 в степени 13, минус 2 узлов в каждую подсеть. Т.е., 8190.
Выбор 5-разрядной маски дает вам возможность организовать 30 подсетей, и перекрывает число подсетей, необходимых вам. Адреса подсети кратны 8, т.е. 192.168.5.16, 192.168.5.32, 192.168.5.48. Допустимые значения адресов подсети зависят от числа битов, отведенных для адреса подсети. Вы используете оставшиеся биты в последнем октете для номера узла. В нашем примере для этого можно использовать три бита. Назначение трех немаскирующих (0) бит для адреса узла позволит вам подключить 6 узлов в каждую подсеть. Этого достаточно, чтобы покрыть требуемое количество - 5 узлов на подсеть.
В приведенном примере первая подсеть начинается с адреса 192.168.5.8 - этот адрес определяется как идентификатор подсети и не может использоваться как адрес узла. Адреса с 192.168.5.9 по 192.168.5.14 (их 6 как и рассчитано) могут использоваться как адреса узлов. Адрес 192.168.5.15 - широковещательный адрес подсети, который вы не можете использовать как адрес узла.
Следующая подсеть начинается с 192.168.5.16 - это идентификатор подсети, и она имеет адреса узлов от 192.168.5.17 до 192.168.5.22. Широковещательный адрес подсети - 192.168.5.23.
Адреса сети и подсети должны быть одинаковыми у всех хостов одной подсети, так как все адреса IP должны быть уникальны, то нельзя назначить один и тот же адрес узла двум хостам одной подсети. Как и в случае с подсетями, часть адреса, содержащая номер узла не может состоять только из единиц или только из нулей. Можно назначать любые значения, отвечающие этим требованиям, в качестве адресов хостов. Полные адреса хостов - это комбинация адресов сети, подсети, а также номера узла в подсети.
Дата добавления: 2015-02-16; просмотров: 3148;