Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 5. Маски IP адресов.doc
Скачиваний:
8
Добавлен:
03.05.2019
Размер:
1.12 Mб
Скачать

4 Настройка ip адреса и маски в ms Windows

Все современные ОС поддерживают работу с сетью, при этом обязательной является поддержка стека TCP/IP. Рассмотрим способы настройки IP протокола на примере ОС Windows компании Microsoft.

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

- вызываем свойства «сетевого окружения»

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

- в свойствах подключения выбираем Internet Protocol (TCP/IP), и нажимаем кнопку «Свойства»

- в появившемся окне вводим параметры IP протокола, а именно «IP-адрес», «Маска подсети» и «Основной шлюз». Так же в настройках присутствует описание DNS сервера.

- если конфигурация окончена, нажимаем кнопку «ОК».

После конфигурации IP протокола просмотреть текущие настройки можно из консоли (командная строка), используя команду ipconfig

Более детально, информация может быть получена при использовании ключа /all

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

- попытка назначения адреса хоста несоответствующего введенной маске

- пропуск при вводе значений IP адреса либо маски

- назначение в качестве адреса хоста широковещательного адреса

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

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

Следует обратить внимание, что подобный контроль не выполняется на старых ОС.

5 Маски подсети переменной длины

Рассмотрим сеть некоторой организации. У организации есть центральный офис, сеть которого разбита на две подсети из соображений фильтрации трафика и безопасности, эта сеть построена на маршрутизаторе R1 и содержит сети: сеть 1 и сеть 2. Кроме того, у предприятия есть два удаленных подразделения в других городах, связанных с центральным офисом глобальными линиями связи, например, выделенными цифровыми каналами.

В каждом удаленном подразделении по одной сети: сеть 3 и сеть 4. Кроме того, глобальные линии связи - тоже сети, сеть 5 и сеть 6.

В сети 1-50 узлов, в сети 2-40 узлов, в сети 3-12 узлов, в сети 4-10 узлов, в сетях 5 и 6 - очевидно по 2 узла. Компания имеет идентификатор класса C для адресации своих узлов: 210.10.10.0. Задача - используя данный идентификатор класса C адресовать свою сеть. Легко сосчитать, что все нам необходимо присвоить 116 IP адресов, а так как в нашем распоряжении таких адресов 254, то вроде как проблем быть не должно. Но!

Попробуем посчитать по изученной нами ранее схеме: всего нам необходимо 6 сетей, следовательно, на номер сети необходимо выделить 3 бита, тогда на номер узла останется 5 бит и максимальное количество узлов в каждой сети будет равно 30. А у нас есть сети размером 50 и 40 узлов. Если же разбивать таким образом, чтобы сети имели подходящий размер (62 узла), то на номер узла необходимо выделить 6 бит, тогда на номер сети останется 2 бита, что позволит адресовать 4 подсети, а в нашей сети 6 подсетей.

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

Для начала разделим нашу сеть на четыре подсети, таким образом, полученные сети будут иметь такой размер, который необходим для адресации самых крупных подсетей. Получим 4 подсети:

Первые две подсети можно использовать для адресации Сети 1 (50 узлов) и Сети 2 (40 узлов). У нас останется неиспользованными еще две подсети (или сети). Возникает вопрос: можно ли эти подсети в свою очередь разделить на подсети с помощью маски? Да, конечно можно, рассматриваем, как это делается.

Рассмотрим подсеть 210.10.10.128/255.255.255.192.

В нашем распоряжении есть 6 бит для адресации узлов подсети. Будем формально рассматривать данную подсеть как обычную сеть с маской. Можем ли мы часть бит, предназначенных для адресации узлов сети использовать для выделения подсетей в этой сети?

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

Разделим данную сеть на подсети таким образом, чтобы получились сети размером, подходящим для адресации сетей 3 и 4 в которых 10 и 12 узлов. Для этого необходимо оставить на номер узла 4 бита. Пока в нашей сети 210.10.10.128/255.255.255.192 6 бит адресуют узел, нам достаточно на номер узла оставить 4 бита, следовательно, на номер подсети используем 2 бита, т.е. делим свою сеть на 4 части:

Тогда получим четыре подсети

Таким образом, мы разбили свою подсеть 210.10.10.128/255.255.255.192 на четыре подсети.

А исходную сеть 210.10.10.0/255.255.255.0 мы пока разбили на 7 частей:

Представим то, что мы сделали в графической форме.

Исходная сеть имеет вид прямоугольника:

Мы разделили ее на 4 части

Далее мы разделили третью подсеть на четыре части

В принципе задачу уже можно считать решенной: мы получили 3 сети размером по 62 узла и 4 сети размером по 14 узлов, но если уже говорить об оптимальном расходовании адресного пространства (а вдруг сеть компании будет продолжать развиваться), то следует выполнить деление на подсети еще более тонко. Заполним на диаграмме те части, которые можно уже сейчас непосредственно эффективно использовать:

Останется еще 3 диапазона, размерами 14, 14, 62 узла. Нам же еще необходимо адресовать две сети размером по два узла каждая, разумеется, для этого неэффективно использовать сети размером в 14 узлов. Разделим одну из подсетей размером 14 узлов на 4 части: (можно поделить сначала пополам, а затем половинку еще раз пополам):

Найдем адреса этих частей:

Тогда получим четыре подсети:

Итого, мы разделили исходную сеть класса C (210.10.10.0/255.255.255.0) на 10 частей, 3 части по 62 узла, 3 части по 14 узлов, и 4 части по 2 узла. Запишем номера этих сетей с масками подряд:

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

Разобранная нами техника называется VLSM (Variable Length Subnet Mask - Маски подсети переменной длины).

Ниже приводятся задания для самостоятельной работы:

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

Запись маски в точечно-десятичной форме является достаточно громоздкой, для ускорения записи используется форма вида: /XY, где XY – количество единиц в маске.

Рассмотрим соответствие первой (старой) и второй (новой) записи масок:

Синтаксис записи маски определяется операционной системой, которую мы конфигурируем.

Например, в Windows практически никогда маска не записывается в новом виде, а в многих аппаратных маршрутизаторах применяется именно такая запись.

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

Далее рассмотрим, как производится деление сетей на подсети, без применения двоичной системы счисления. В качестве примера рассмотрим одно из предыдущих заданий:

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

1 часть из 128 адресов

1 часть из 64 адресов

3 части из 16 адресов

1 часть из 8 адресов

2 части из 4 адресов.

Будем выделять части с начала адресного диапазона, начиная с наиболее крупных частей. Очевидно, что первая часть будет иметь номер подсети 222.222.222.0. Сколько в ней должно быть адресов? 128. Следовательно, необходимо применить маску на 1 длиннее стандартной маски класса C (которая записывается как /24), т.е. /25. Так как в диапазон адресов попадает 128 адресов, то это адреса с последним байтом от 0 до 127, а адрес 222.222.222.128 - первый не попадающий в данный диапазон.

Итак, первая сеть имеет номер 222.222.222.0/25, первый свободный адрес, он же номер будущей сети 222.222.222.128. Далее нам необходимо выделить адресный диапазон размером 64 адреса.

Его адрес сети - 222.222.222.128, маска, очевидно, - /26. Раз в этом диапазоне 64 адреса, а начинается он с 128 в последнем байте, то в этот диапазон попадают числа с 128 до 191 (в последнем байте), а адрес 222.222.222.192, первый, не попадающий в этот диапазон, и будет номером следующего диапазона адресов (сети).

Итак, вторая сеть: 222.222.222.128/26, первый свободный адрес -222.222.222.192. От этого адреса необходимо выделить кусок размером 16 адресов. Очевидно, маска для этого должна быть /28, занятые адреса 192+16-1=207, итого: номер выделенной сети 222.222.222.192/28, первый свободный адрес - 222.222.222.208.

От него выделяем еще один диапазон размером в шестнадцать адресов, получаем 222.222.222.208/28, первый незанятый адрес (208+16=224) 222.222.222.224.

От него выделяем последний диапазон на 16 адресов: 222.222.222.224/28, первый незанятый адрес (224+16=240) 222.222.222.240.

От него выделяем диапазон размером 8 адресов, 222.222.222.240/29, первый незанятый адрес 222.222.222.248.

От него выделяем диапазон на 4 адреса, получаем 222.222.222.248/30, первый незанятый адрес 222.222.222.252.

От него еще один диапазон из 4-х адресов, получаем 222.222.222.252/30, первый незанятый адрес 222.222.222.256.

Видно, что диапазон предоставленных в наше распоряжения адресов закончился.

Удобно записывать в виде таблицы:

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

Удобно записывать результаты в виде таблицы:

Почему необходимо выделять сетям номера в порядке убывания размеров сетей? Это связано с тем, что не от любого адреса можно выделить сеть большого размера, например, если сначала из сети класса C 222.222.222.0 выделить подсеть размером 64 узла, то от того адреса, к которому мы придем 222.222.222.64 нельзя выделить сеть размером 128 узлов: ее можно выделить либо от адреса 222.222.222.0 либо от адреса 222.222.222.128.

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

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

33