IP адресация

Структура IP-адреса

Классы сетей IP

Класс А

Класс В

Класс С

Класс D

Класс Е

Служебные IP-адреса

Разбиение на подсети. Маска подсети, расширенный сетевой префикс

Маска подсети (subnet mask)

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

Бесклассовая маршрутизация

Привести примеры разбиения сетей класса A, B и C на нечетное количество подсетей. В каждом примере указать сетевую часть адреса, маску, префикс, broadcast-адрес, посчитать количество узлов в каждой подсети.

 

Структура IP-адреса

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

128.10.2.30 - традиционная десятичная форма представления адреса,

10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.

На рисунке показана структура IP-адреса разных классов.

 

Классы сетей IP

IP-адреса разделяются на 5 классов: A, B, C, D, E. Адреса классов A, B и C делятся на две логические части: номер сети и номер узла.

            Идентификатор сети, также называемый адресом сети, обозначает один сетевой сегмент в более крупной объединенной сети (сети сетей), использующей протокол TCP/IP. IP-адреса всех систем, подключенных к одной сети, имеют один и тот же идентификатор сети. Этот идентификатор также используется для уникального обозначения каждой сети в более крупной объединенной сети.

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

Класс А

У адресов класса A старший бит установлен 0 (рис.1). Длина сетевого префикса _ 8 бит. Для номера узла выделяется 3 байта (24 бита). Таким образом, в классе A может быть 126 сетей (27 - 2, два номера сети имеют специальное значение). Каждая сеть этого класса может поддерживать максимум 16777214 узлов (224 - 2). Адресный блок класса A может содержать максимум 231 уникальных адресов, в то время как в протоколе IP версии 4 возможно существование 232 адресов. Таким образом адресное пространство класса A занимает 50% всего адресного пространства протокола IP версии 4.

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

                            

Рис.1 Класс А

 

Класс В

У адресов класса B два старших бита установлены в 1 и 0 соответственно (рис. 2). Длина сетевого префикса  - 16 бит. Поле номера узла тоже имеет длину 16 бит. Таким образом, число сетей класса B равно 16384 (214); каждая сеть класса B может поддерживать до 65534 узлов (216 - 2). Адресный блок сетей класса B содержит 230 уникальных адресов, то есть 25% всего адресного пространства.

Класс B предназначен для применения в сетях среднего размера (например, крупное предприятие).

 

Рис.2 Класс В

Класс С

У адресов класса C три старших бита установлены в 1, 1 и 0 соответственно (рис. 3). Префикс сети имеет длину 24 бита, номер узла -  8 бит. Максимально возможное количество сетей класса C составляет 2097152 (221). Каждая сеть может поддерживать максимум 254 узла (28 - 2). Весь адресный блок сетей класса C содержит 229 уникальных адреса, что равно 12,5% от всего адресного пространства.

Класс C предназначен для сетей с небольшим количеством узлов.

 

Рис.3 Класс С

Класс D

Адреса класса D представляют собой специальные адреса, не относящиеся к отдельным сетям. Первые 4 бита этих адресов равны 1110 (рис. 4). Таким образом, значение первого октета этого диапазона адресов находится в пределах от 224 до 239. Адреса класса D используются для многоадресатных пакетов, с помощью которых во многих разных протоколах данные передаются многочисленным группам хостов. К таким протоколам относится протокол обнаружения устройств корпорации Cisco (Cisco Discovery Protocol – CDP), функционирующий на основе протокола ICMP, или межсетевой протокол управления группами Internet (Internet Group Management Protocol – IGMP), который находит все более широкое распространение, после того, как был реализован в программном обеспечении Cisco IOS версии 11.2.

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

сети с этим адресом Ethernet.

 

Рис.4 Класс D

Класс Е

Адреса в диапазоне 240.0.0.0—255.255.255.255 называются адресами класса E. Первый октет этих адресов начинается с битов 1111 (рис.5). Эти адреса зарезервированы для будущих дополнений в схеме адресации IP. Но возможность того, что эти дополнения когда-либо будут приняты, находится под вопросом, поскольку уже появилась версия 6 протокола IP (IPv6).

 

Рис.5 Класс Е

 

Служебные IP-адреса

Некоторые IP-адреса являются зарезервированными. Для таких адресов существуют соглашения об их особой интерпретации (Табл.2):

1. Если все биты IP-адреса установлены в нуль, то он обозначает адрес    данного устройства.

2. Если в поле номера сети стоят нули, то считается, что получатель        принадлежит той же самой сети, что и отправитель.

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

4. Если все биты номера узла установлены в нуль, то пакет предназначен для данной сети.

5. Если все биты в поле номера узла установлены в единицу, то пакет рассылается всем узлам сети с данным номером сети. Такая рассылка называется широковещательным сообщением (broadcast).

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

6. Если первый октет адреса равен 127, то адрес обозначает тот же        самый узел. Такой адрес используется для взаимодействия процессов на одной и той же машине (например, для целей тестирования). Этот адрес имеет название возвратного (loopback).

Табл.2 Служебные IP – адреса

Поле сети

Поле узла

Интерпретация

Все биты равны 0

Все биты равны 0

Данное устройство

Все биты равны 0

Номер узла

Устройство в данной

IP-сети

Все биты равны 1

Все биты равны 1

Все устройство в данной IP-сети (ограниченное широковещательное сообщение (limited broadcast))

Номер сети

Все биты равны 0

Данная IP-сеть

Номер сети

Все биты равны 1

Все устройства в указанной IP-сети (широковещательное сообщение (broadcast))

127

 

Возвратный адрес (loopback)

 

Разбиение на подсети. Маска подсети, расширенный сетевой префикс

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

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

-         10.0.0.0 - 10.255.255.255

-         172.16.0.0 - 172.31.255.255

-         192.168.0.0 - 192.168.255.255

Хитрость состоит в том, что адреса, входящие в эти диапазоны, вычеркнуты из таблиц глобальной маршрутизации Интернета. Если кто-то, находящийся за пределами локальной сети, запросит или передаст информацию на адрес 192.168.0.4, то ему будет отказано: этот адрес не является глобально маршрутизируемым. Чтобы все вышесказанное стало более понятным, приведем простую иллюстрацию (Рис. 6):

 

Рис. 6 Организация локальных сетей

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

1.      Глобально маршрутизируемым 192.0.0.1. На этот адрес будет поступать информация из Интернета, затребованная всеми компьютерами локальной сети.

2.      Частным 192.168.0.1. С этого адреса каждый компьютер локальной сети будет забирать пакеты, предназначенные конкретно ему.

Таким образом решаются сразу две проблемы. Во-первых, с точки зрения безопасности, рабочие станции локальной сети хотя бы частично защищены от несанкционированного доступа извне - ведь они лишены глобального IP-адреса. Кроме того, специализированное программное обеспечение позволит настроить прокси-сервер произвольным образом: запретить использование "аськи" со станции 192.168.0.2, разрешить доступ по FTP -  со станции 192.168.0.3, и так далее. Во-вторых, искусственно увеличивается доступное количество IP-адресов. Ведь при таком подходе получается, что компьютеров с адресом 192.168.0.4 в мире может быть неограниченное количество, но все они расположены в разных локальных сетях и потому не мешают друг другу.

Стандартная схема разбиения пула адресов на классы порождает ряд проблем, как то:

-        резкий рост таблиц маршрутизации в Интернете;

-        нерациональное использование адресного пространства.

Для решения данных проблем был введён дополнительный уровень иерархии структуры IP-адреса: к номерам сети и хоста добавляется номер подсети (рис. 7).

Рис. 7 Подсети

Таким образом, снаружи адресация проводится по номеру сети; внутренняя организация сети не видна извне. Любое изменение топологии внутренней сети не влияет на таблицы маршрутизации в Интернете. Это уменьшает первую проблему.

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

 

Маска подсети (subnet mask)

Поля номеров сети и подсети образуют расширенный сетевой префикс. Для выделения расширенного сетевого префикса используется маска подсети (subnet mask). Маска подсети – это 32-разрядное двоичное число (по длине IP-адреса), в разрядах расширенного префикса содержащая единицу; в остальных разрядах находится ноль. Расширенный сетевой префикс получается побитным сложением по модулю два (операция XOR) IP-адреса и маски подсети.

При таком построении очевидно, что число подсетей представляет

собой степень двойки  - 2n, где n  - длина поля номера подсети. Таким образом, характеристики IP-адреса полностью задаются собственно IP-адресом и маской подсети.

Для упрощения записи применяют следующую нотацию (так называемая CIDR-нотация): IP-адрес/длина расширенного сетевого префикса. Например, адрес 192.168.0.1 с маской 255.255.255.0 будет в данной нотации выглядеть как 192.168.0.1/24 (очевидно, что 24 – это число единиц, содержащихся в маске подсети).

            В следующей таблице показаны стандартные маски подсетей для классов адресов Интернета

                                                                Табл.3 Стандартные маски подсети

Класс адреса 

Биты маски подсети

Маска подсети

Класс A

11111111 00000000 00000000 00000000

255.0.0.0

Класс B

11111111 11111111 00000000 00000000

255.255.0.0

Класс C

11111111 11111111 11111111 00000000

255.255.255.0

 

Но для каждого класса возможны и другие маски подсети. Рассмотрим пример  для класса А:

-        255.0.0.0 - маска для сети класса A; длина расширенного сетевого префикса - 8;

-        255.255.0.0 -  маска для сети класса A; длина расширенного сетевого префикса  - 6;

-        255.255.255.0 - маска для сети класса A; длина расширенного сетевого префикса - 24.

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

В 1987 году документом RFC 1009 был определен порядок использования в сети, разделённой на подсети, нескольких масок подсети. В этом случае расширенные сетевые префиксы имеют разную длину и маски подсетей называются масками подсетей переменной длины (Variable Length Subnet Mask).

Таким образом мы можем разбить сеть на подсети разного размера.

Маска подсети переменной длины позволяет более эффективно использовать выделенное организации адресное пространство протокола IP. Главная трудность связана с тем, что ранее каждая сеть могла иметь только одну маску подсети, а это, в свою очередь, ограничивало возможности организации в выборе размера подсети.

Предположим, например, что администратор намеревается настроить выделенную организации сеть класса B 130.5.0.0 на использование расширенного сетевого префикса/22. Номер подсети задается с помощью шести битеть класс В с расширенным сетевым префиксом /22 позволяет организовать 64 подсети (26 = 64), каждая из которых поддерживает максимум до 1022 (210 - 2 = 1022) индивидуальных адресов хостов. Такой вариант может устроить администратора, если организации требуется некоторое число подсетей с большим количеством хостов в них. Однако если организации нужны подсети с числом хостов не более 30, то при фиксированной маске подсети администратору придется эксплуатировать подсети, рассчитанные на большое количество хостов, но содержащие всего несколько пользователей. В результате невостребованными могут оказаться около 1000 возможных адресов хостов в подсетях. Как видно из этих рассуждений, ограничение на использование только одной маски подсети значительно снижает эффективность распределения адресного пространства.

Основное решение данной проблемы состоит в введении маски подсети переменной длины. Предположим, что администратор хочет использовать расширенный сетевой префикс /26. Адрес класса В с таким расширенным сетевым префиксом позволит иметь до 1024 подсетей (210 = 1024), каждая из которых может поддерживать до 62 (26-2= 62) индивидуальных адресов хостов. Такой расширенный сетевой префикс идеально подходит к небольшим подсетям, с числом хостов порядка 60, в то время как префикс /22 лучше подходит большим подсетям, с тысячами хостов.

Как видно, применение разных расширенных сетевых префиксов /22 и /26 позволяет получить два типа подсетей с резко отличающимся количеством поддерживаемых хостов. Введение маски подсети переменной длины дает возможность администратору создавать в рамках своей организации подсети требуемого размера. Это происходит следующим образом. Сначала сеть делится на подсети, затем некоторые из них делятся, в свою очередь, еще на подсети и т. д. - происходит своего рода рекурсия

подсетей.

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

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

В следующих двух таблицах показано разбиения класса В на 5 подсетей, а также маски подсетей и broadcast. Рассмотрим адрес класса В 173.10.0.0/16 с маской подсети 255.255.0.0. Сначала разобьём его на 4 подсети с маской подсети /18.

173.10.0.0/16

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

173.10.0.0/18

173.10.63.255

10101101.00001010.00111111.11111111

173.10.64.0/18

173.10.127.255

10101101.00001010.01111111.11111111

173.10.128.0/18

173.10.191.255

10101101.00001010.10111111.11111111

173.10.192.0/18

173.10.255.255

10101101.00001010.11111111.11111111

Маска подсети

255.255.192.0

11111111.11111111.11000000.00000000

Теперь разобьём, например, третью подсеть на 2 подсети, т.е. выделим ещё  1 бит (21)  в расширенный префикс сети. Т.о. мы получим 2 подсети с маской /19.

            173.10.128.0/18

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

173.10.128.0/19

173.10.159.255

10101101.00001010.10011111.11111111

173.10.160.0/19

173.10.191.255

10101101.00001010.10111111.11111111

Маска подсети

255.255.224.0

11111111.11111111.11100000.00000000

                            

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

Таким образом, если требуется использование маски подсети переменной длины в сложной сетевой топологии, наилучшим выбором является применение протоколов маршрутизации OSPF, IS-IS, а не RIP-1 IP. Однако при этом нужно учитывать, что вторая версия протокола RIP (RIP-2 IP), описанная в документе RFC 1388, расширяет возможности первой версии протокола, в том числе за счет возможности переноса маски подсети.

Бесклассовая маршрутизация

Концепция бесклассовой междоменной маршрутизации (Classless InterDomain Routing, CIDR) была официально документирована в сентябре 1993 года в RFC 1517, RFC 1518, RFC 1519 и RFC 1520. Ее появление было вызвано участившимися кризисами в сети Internet. Из-за несовершенства протоколов маршрутизации обмен сообщениями обобновлении таблиц приводил к сбоям магистральных маршрутизаторов, из-за перегрузки

их ресурсов при обработке большого объема служебной информации. Так, в 1994 году таблицы магистральных маршрутизаторов в Internet содержали до 70 000 маршрутов. Внедрение протокола CIDR сократило число записей до 30 000. Кроме того, дополнительной предпосылкой внедрения протокола CIDR явилась реальная опасность нехватки адресного пространства при дальнейшем расширении Internet. Данная технология позволяет реализовать две новые, не поддерживаемые ранее возможности:

-        отход от традиционной концепции разделения адресов протокола IP на классы. Это позволяет более эффективно использовать адресное пространство протокола IP версии 4;

-        объединение маршрутов. При этом одна запись в таблице маршрутизации может представлять сотни адресов. Кроме того, оно позволяет снизить объем маршрутной информации в магистральных маршрутизаторах сети Internet.

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

ассоциируемыми с соответствующими классами адресов.

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

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

с рекламируемым маршрутом.

Если отвлечься от разделения адресов на классы, то сетевой префикс можно рассматривать как непрерывный битовый блок в адресном пространстве протокола IP. Например, рассмотренный выше сетевой префикс /20 оставляет то же самое количество бит для задания адресов хостов, что и в адресах с разделением на классы, а именно 12 бит, что позволяет поддерживать до 4094 (212 - 2 = 4094) адресов хостов.

Ввиду того, что многие хосты при работе с адресами учитывают их

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

Проблема, например, возникает в случае, если необходимо использовать адрес 200.25.16.0 с сетевым префиксом /20 для поддержки 4094 хостов (212 - 2 = 4094), так как не поддерживающие протокол CIDR хосты будут интерпретировать заданный адрес, как адрес класса С с маской 255.255.255.0. При этом оставшихся в поле номера хоста битов не

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

Протокол CIDR позволяет более эффективно использовать адресное пространство протокола IP. Обычно провайдеры услуг Internet выделяют своим клиентам адреса определенных классов, что ведет к некоторой избыточности. Благодаря протоколу CIDR, провайдеры получают возможность "нарезать" блоки из выделенного им адресного пространства в точном соответствии с требованиями каждого клиента, при этом у него остается пространство для маневра на случай его будущего роста.

 

Привести примеры разбиения сетей класса A, B и C на нечетное количество подсетей. В каждом примере указать сетевую часть адреса, маску, префикс, broadcast-адрес, посчитать количество узлов в каждой подсети.

·        Разбиение сети 195.20.0.0/16 класса В на 5 подсетей:

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

 

Кол-во хостов

195.20.0.0/18

195.20.63.255

195.20.00111111.11111111

16382

195.20.64.0/18

195.20.127.255

195.20.01111111.11111111

16382

195.20.128.0/18

195.20.191.255

195.20.10111111.11111111

16382

195.20.192.0/18

195.20.255.255

195.20.11111111.11111111

16382

Маска подсети

255.255.192.0

11111111.11111111.11000000.00000000

 

Теперь разобьём, например, первую подсеть на 2 подсети, т.е. выделим ещё  1 бит (21)  в расширенный префикс сети. Т.о. мы получим 2 подсети с маской /19.

            195.20.0.0/18

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

 

Хосты

195.20.0.0/19

195.20.31.255

195.20.00011111.11111111

8190

195.20.32.0/19

195.20.63.255

195.20.00111111.11111111

8190

Маска подсети

255.255.224.0

11111111.11111111.11100000.00000000

 

 

·        Разбиение сети 211.118.94.0/24 класса С на 3 подсети:

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

 

Кол-во хостов

211.118.94.0/25

211.118.94.127

211.118.94.01111111

126

211.118.94.128/25

211.118.94..255

211.118.94.11111111

126

Маска подсети

255.255.255.128

11111111.11111111.111111111.10000000

 

211.118.94.128/25

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

 

Кол-во хостов

211.118.94.128/26

211.118.94.191

211.118.94.10111111

62

211.118.94.192/26

211.118.94.255

211.118.94.11111111

62

Маска подсети

255.255.255.192

11111111.11111111.111111111.11000000

 

·        Разбиение сети 102.0.0.0/8 на 5 подсетей:

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

 

Кол-во хостов

102.0.0.0/10

102. 63.255.255

102. 00111111. 11111111.11111111

4194302

102.64.0.0/10

102.127.255.255

102. 01111111. 11111111.11111111

4194302

102.128.0.0/10

102.191.255.255

102. 10111111. 11111111.11111111

4194302

102.192.0.0/10

102.255.255.255

102. 11111111. 11111111.11111111

4194302

Маска подсети

255.192.0.0

11111111.11000000.00000000.00000000

 

102.128.0.0/10

IP-адрес подсети/префикс

Broadcast в десятичном представлении

Broadcast в двоичном представлении

 

Кол-во хостов

102.128.0.0/11

102.159.255.255

102. 10011111. 11111111.11111111

2097150

102.160.0.0/11

102.191.255.255

102. 10111111. 11111111.11111111

2097150

Маска подсети

255.224.0.0

11111111.11100000.00000000.00000000

 

 

Hosted by uCoz