Опубликован: 03.10.2011 | Уровень: для всех | Доступ: платный
Лекция 7:

Адресация в IP-сетях

< Лекция 6 || Лекция 7: 12 || Лекция 8 >
Аннотация: Рассмотрены логические адреса IPv4 на основе классов и бесклассовая адресация с масками переменной длины, а также принципы суммирования адресов. Приведены параметры адресации IPv6.
Ключевые слова: логический адрес, адрес, сетевая карта, NIC, ПЗУ, логический, DHCP, байт, адрес сети, host, класс, информация, multicast, поле, broadcasting, протокол TCP, маршрутизатор, таблица маршрутизации, запись, маска, префикс, разбиение, протокол маршрутизации, маска сети, администратор, адресное пространство, подсеть, маска подсети, точка-точка, широковещательный адрес, диапазон, составная сеть, сеть, OPEN, path, First, OSPF, integrator, IS-IS, enhanced, gateway, routed protocols, EIGRP, RIP, маршрутизация, маршрут, routing, CIDR, агрегирование, группа, бит, Интернет, aggregation, Internet, network, information, center, assigned numbers, authority, IANA, ARIN, APNIC, LACNIC, afrinic, region, RIR, очередь, сетевой администратор, адресация, private ip address, выход, RFC, транслятор, номер порта, трансляция, сетевая технология, технологический процесс, ipv4, NAT, PAT, ipv6, идентификатор, TLA, SLA, поле битов, длина, протокол arp, format, prefix, значение, site, isp, подтип, конечные, стек, самотестирование, сетевой адрес, сетевая маска

7.1. Логические адреса версии IPv4

Узлы IP-сети имеют уникальные физические и логические адреса. Физический устанавливается изготовителем аппаратных средств, например МАС-адрес сетевой карты NIC, который "прошивается" в ПЗУ. Логический адрес устанавливается пользователем (администратором) или назначается динамически протоколом DHCP из диапазона выделенных адресов. Логические адреса узлов в IP-сетях версии IPv4, используемой в настоящее время, содержат 32 двоичных разряда, т. е. 4 байта. Каждый из 4 байт адреса в технической документации отображается десятичным числом, а байты разделяются точкой, например, 172.100.220.14. Часть этого адреса (старшие разряды) является номером сети, а другая часть (младшие разряды) – номером узла в сети. Таким образом, IP-адреса являются иерархическими, в отличие от плоских МАС-адресов. В соответствии с тем, какая часть адреса относится к номеру сети, а какая – к номеру узла, адреса делятся на классы. Для уникальной адресации узлов используются три класса адресов.

В адресе класса А старший байт задает адрес сети, а три младших байта – адрес узла (host).

0 x x x x x x x 2-й байт 3-й байт 4-й байт
№ сети – 1 байт № узла – 3 байта

В адресе класса В два старших байта задают адрес сети, а два младших байта – адрес узла (host).

1 0 x x x x x x 2-й байт 3-й байт 4-й байт
№ сети – 2 байта № узла – 2 байта

В адресе класса С три старших байта задают адрес сети, а младший байтадрес узла.

1 1 0 x x x x x 2-й байт 3-й байт 4-й байт
№ сети – 3 байта № узла – 1 байт

Существует также многоадресный (multicast) класс D и резервный класс E. Дополнительная информация по классам и адресам приведена в таблице 7.1.

Таблица 7.1. Классы IP-адресов
Класс Первый байт адреса Наименьший адрес сети Наибольший адрес сети Максимальное число узлов
A 0xxxxxxx 1.0.0.0 126.0.0.0 224-2
B 10xxxxxx 128.0.0.0 191.255.0.0 216-2
C 110xxxxx 192.0.0.0 223.255.255.0 28-2
D 1110xxxx 224.0.0.0 239.255.255.255 multicast
E 11110xxx 240.0.0.0 247.255.255.255 Резерв

Номер узла (адрес host) не может состоять только из одних единиц или нулей. Если в поле адреса узла все нули, это значит, что задается номер (адрес) сети или подсети. Если же в этом поле все двоичные разряды равны единице, то это означает широковещательный (broadcast) адрес, предназначенный всем узлам сети, в которой находится узел, сформировавший данный пакет, т.е. источник передаваемой информации. Этим объясняется уменьшение максимального числа узлов в сети на 2 (см. таблицу 7.1). Таким образом, максимальное число узлов в сети класса С будет равно 28 - 2 = 254.

Старший разряд адреса класса А всегда равен 0, поэтому адреса сетей могут находиться в диапазоне от 1 до 127. Однако адрес 127.0.0.1 предназначен для самотестирования, по этому адресу узел обращается к самому себе, проверяя, установлен ли протокол TCP/IP на этом хосте. Поэтому адрес сети 127.0.0.0 не входит в состав адресов таблицы 7.1.

С целью сокращения количества адресов, которыми оперирует маршрутизатор, в его таблице маршрутизации задаются адреса сетей, а не узлов. В то же время в адресной части пакета задаются адреса узлов (см. рис. 6.7). Поэтому маршрутизатор, получив пакет, должен из адреса назначения получить адрес сети. Эту операцию маршрутизатор реализует путем логического умножения сетевого адреса узла на маску. Число разрядов маски равно числу разрядов IP-адреса. Непрерывная последовательность единиц в старших разрядах маски задает число разрядов адреса, относящихся к номеру сети. Младшие разряды маски, равные нулю, соответствуют разрядам адреса узла в сети. При логическом умножении адреса узла на маску получается адрес сети. Например, при умножении IP-адреса 192.100.12.67 на стандартную маску класса С, равную 255.255.255.0, получается следующий результат:


т. е. получен номер сети 192.100.12.0.

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

Стандартная маска адреса класса В имеет 16 единиц в старших разрядах и 16 нулей в младших. Поэтому если адрес узла будет равен 172.16.37.103/16, адрес сети будет равен 172.16.0.0. Маска адреса класса А имеет 8 единиц в старших разрядах и 24 нуля в младших. Поэтому, например, адресу узла 10.116.37.103/8 соответствует адрес сети 10.0.0.0.

Разбиение адресов на классы жестко задает максимальное количество узлов в сети. Этому соответствуют протоколы маршрутизации типа Classful, которые требуют, чтобы использовалась единая (стандартная) маска сети. Например, в сети с адресом 192.168.187.0 может использоваться стандартная маска 255.255.255.0, а в сети 172.16.0.0 используется стандартная маска 255.255.0.0.

7.2. Формирование подсетей

В ряде случаев для удобства управления администратор может самостоятельно формировать подсети внутри выделенного ему адресного пространства. Например, администратору выделен адрес сети 198.11.163.0 класса С, и ему необходимо создать 10 компьютерных подсетей по 14 узлов. Для адресации 10 подсетей потребуется 4 разряда адреса. Таким образом, маска должна иметь единицы в 28 старших двоичных разрядах и 4 нуля в младших – 11111111.11111111.11111111.11110000, т. е. маска будет 255.255.255.240. В этом случае максимально может быть задано 16 подсетей по 14 узлов в каждой (таблица 7.2). Из 16 подсетей администратор использует 10, а оставшиеся 6 использоваться не будут.

Следовательно, если задан адрес 198.11.163.83 с маской 255.255.255.240, то после логического умножения адреса на маску будет получен адрес подсети:


т. е. подсеть 198.11.163.80 сети 198.11.163.0, а номер узла равен 3 (0011).

Таблица 7.2. Адреса узлов и подсетей
№ подсети Адрес подсети Адреса узлов
1 198.11.163.0 198.11.163.1- 198.11.163.14
2 198.11.163.16 198.11.163.17- 198.11.163.30
3 198.11.163.32 198.11.163.33- 198.11.163.46
... ... ...
10 198.11.163.144 198.11.163.145- 198.11.163.158
... ... ...
16 198.11.163.240 198.11.163.241- 198.11.163.254

С помощью маски 255.255.255.224 в адресном пространстве 198.11.163.0/24 можно сформировать 8 подсетей по 30 узлов в каждой, а с помощью маски 255.255.255.248 можно задать 32 подсети по 6 узлов. Используя маски разной длины для создания подсетей, администратор может формировать подсети разного размера в пределах одной автономной системы. Таким образом, маски переменной длины (Variable-Length Subnet Mask – VLSM) позволяют создавать подсети разного размера, гибко задавая границы между полем адреса сети и полем адреса узла. VLSM дают возможность задействовать больше чем одну маску подсети в пределах выделенного адресного пространства сети.

Например, для формирования сетей по 30 узлов в каждой требуется 27 разрядов маски, содержащих единицы, а для создания сети, соединяющей пару маршрутизаторов ("точка-точка"), требуется всего два адреса, т.е. маска должна иметь 30 единиц. Поэтому часть адресного пространства может быть использована для создания сетей по 30 узлов, а незанятые адреса – для формирования пары адресов для связей "точка-точка".

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

В примере ( рис. 7.1, таблица 7.3), адресное пространство 192.168.100.0/27 использовано для создания 8 подсетей по 32 адреса в каждой, т. е. маска имеет единицы в 27 старших двоичных разрядах.

Пример использования масок переменной длины

Рис. 7.1. Пример использования масок переменной длины
Таблица 7.3. Формирование подсетей и субподсетей
Номер подсети Адрес подсети Число разрядов маски Число узлов подсети
Подсеть 0 192.168.100.0 27 30
Подсеть 1 192.168.100.32 27 30
Подсеть 2 192.168.100.64 27 30
Подсеть 3 192.168.100.96 27 30
Подсеть 4 192.168.100.128 27 30
Подсеть 5 192.168.100.160 27 30
Подсеть 6 192.168.100.192 27 Используется для формирования субподсетей
Подсеть 7 192.168.100.224 27 30
Субподсеть 0 192.168.100.192 30 2
Субподсеть 1 192.168.100.196 30 2
Субподсеть 2 192.168.100.200 30 2
Субподсеть 3 192.168.100.204 30 2
Субподсеть 4 192.168.100.208 30 2
Субподсеть 5 192.168.100.212 30 2
Субподсеть 6 192.168.100.216 30 2
Субподсеть 7 192.168.100.220 30 2

Одна из последних подсетей (подсеть 6) разделена на субподсети. При этом используется маска, содержащая не 27 единиц, а 30 единиц в старших разрядах. Таким образом, за счет применения VLSM может быть сформировано 7 подсетей с числом узлов до 30 и восемь субподсетей с числом узлов 2. Каждая из субподсетей имеет диапазон адресов, используемых для связей "точка-точка". В распределенной составной сети ( рис. 7.1) – четыре локальных сети (192.168.100.0/27, 192.168.100.32/27, 192.168.100.64/27, 192.168.100.96/27) и три сети "точка-точка".

Таким образом, маски переменной длины VLSM позволяют создавать подсети разного размера. Например, сеть 198.11.163.0/24 может быть разбита на десять подсетей: две подсети по 62 узла в каждой, две подсети по 30 узлов, 2 подсети по 14 узлов и 4 подсети по 6 узлов в каждой (таблица 7.4). Соответственно, маски будут иметь размер: 26 – для первых двух подсетей, 27 – для третьей и четвертой подсетей, 28 – для пятой и шестой, 29 – для четырех последних подсетей. Естественно, что могут быть реализованы и другие варианты деления сети на подсети и субподсети.

Таблица 7.4. Формирование подсетей с использованием масок переменной длины
№ подсети Маска Адрес подсети Число узлов Адреса узлов
1 255.255.255.192 198.11.163.0 62 198.11.163.1- 198.11.163.62
2 255.255.255.192 198.11.163.64 62 198.11.163.65- 198.11.163.126
3 255.255.255.224 198.11.163.128 30 198.11.163.129- 198.11.163.158
4 255.255.255.224 198.11.163.160 30 198.11.163.161- 198.11.163.190
5 255.255.255.240 198.11.163.192 14 198.11.163.193- 198.11.163.206
6 255.255.255.240 198.11.163.208 14 198.11.163.209- 198.11.163.222
7 255.255.255.248 198.11.163.224 6 198.11.163.225- 198.11.163.230
8 255.255.255.248 198.11.163.232 6 198.11.163.233- 198.11.163.238
9 255.255.255.248 198.11.163.240 6 198.11.163.241- 198.11.163.246
10 255.255.255.248 198.11.163.248 6 198.11.163.249- 198.11.163.254

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

На рис. 7.2 представлен еще один пример формирования пяти подсетей с маской длиной 26 единиц из адреса 172.16.32.0/23:

  1. 172.16.32.0/26 – 10101100.00010000.00100000.00000000;
  2. 172.16.32.64/26 – 10101100.00010000.00100000.01000000;
  3. 172.16.32.128/26 – 10101100.00010000.00100000.10000000;
  4. 172.16.32.192/26 – 10101100.00010000.00100000.11000000;
  5. 172.16.33.0/26 – 10101100.00010000.00100001.00000000;
Использование подсетей и субподсетей

Рис. 7.2. Использование подсетей и субподсетей

Одну из подсетей, например 172.16.33.0/26, далее подразделили на субподсети с маской длиной 30 разрядов.

Не все протоколы маршрутизации поддерживают VLSM, например, первая версия протокола RIPv1 не поддерживает маскирование подсетей переменной длины. Маскирование переменной длины VLSM поддерживают протоколы Open Shortest Path First (OSPF), Integrated IS-IS, Enhanced Interior Gateway Routing Protocol (EIGRP), протокол второй версии RIP v2, а также статическая маршрутизация.

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

172.16.14.0 – 10101100.00010000.00001110.00000000 и
172.16.15.0 – 10101100.00010000.00001111.00000000

могут быть агрегированы (объединены) так, чтобы маршрутизаторы использовали только один маршрут для объединенной ( агрегированной ) сети 172.16.14.0/23, поскольку 23 разряда адреса обеих сетей одинаковы.

Тип маршрутизации, применяющий агрегированные адреса, получил название бесклассовой междоменной маршрутизации (Classless Interdomain RoutingCIDR) на основе префикса. Агрегирование маршрутов уменьшает нагрузку на маршрутизаторы.

Ниже рассмотрен следующий пример агрегирования адресов. Группа из четырех подсетей:

192.168.16.0/24 – 11000000.10101000.00010000.00000000
192.168.17.0/24 – 11000000.10101000.00010001.00000000
192.168.18.0/24 – 11000000.10101000.00010010.00000000
192.168.19.0/24 – 11000000.10101000.00010011.00000000

может быть представлена суммарным (агрегированным) адресом

192.168.16.0/22 – 11000000.10101000.00010000.00000000,

поскольку 22 разряда адреса у них одинаковы.

Аналогично группа из других четырех подсетей:

192.168.20.0/24 – 11000000.10101000.00010100.00000000
192.168.21.0/24 – 11000000.10101000.00010101.00000000
192.168.22.0/24 – 11000000.10101000.00010110.00000000
192.168.23.0/24 – 11000000.10101000.00010111.00000000

может быть представлена агрегированным адресом

192.168.20.0/22 – 11000000.10101000.00010100.00000000,

поскольку 22 разряда адреса у них также одинаковы.

Третья группа подсетей:

192.168.24.0/24 – 11000000.10101000.00011000.00000000
192.168.25.0/24 – 11000000.10101000.00011001.00000000
192.168.26.0/24 – 11000000.10101000.00011010.00000000
192.168.27.0/24 – 11000000.10101000.00011011.00000000

может быть представлена агрегированным адресом

192.168.24.0/22 – 11000000.10101000.00011000.00000000,

поскольку у них одинаковы 22 разряда адреса.

Агрегирование приведенных выше адресов иллюстрирует рис. 7.3. Вместо адресов четырех подсетей в таблице маршрутизации каждого из маршрутизаторов А, В, С используется адрес только одного (агрегированного) маршрута с префиксом в 22 двоичных разряда. Адреса четырех указанных подсетей имеют общую часть – префикс, который используется как единый совокупный адрес. В маршрутизаторе D можно сформировать агрегированный адрес всех трех групп подсетей. Он будет иметь адрес 192.168.16.0/20, т. е. маска (префикс) содержит 20 единиц в старших разрядах, поскольку все представленные на рис. 7.3 адреса имеют двадцать одинаковых старших двоичных разрядов адреса.

Агрегирование адресов маршрутов

Рис. 7.3. Агрегирование адресов маршрутов

Таким образом, итоговый суммарный маршрут трех групп подсетей ( рис. 7.3) содержит префикс на 20 бит, общий для всех адресов в указанной сети – 192.168.16.0/20 – 11000000.10101000.00010000.00000000. Двадцать старших разрядов адреса (11000000.10101000.0001) используются как единый адрес организации, которая подключается к сети Интернет через маршрутизатор D.

Чтобы функционировала маршрутизация на основе префикса, адреса должны быть назначены иерархическим способом. Маршрутизатор должен знать номера всех присоединенных к нему подсетей и не должен сообщать другим маршрутизаторам о каждой подсети, если он может послать один совокупный маршрут (aggregate routes). Маршрутизатор, который задействует совокупные маршруты, реже обращается к таблице маршрутизации.

Маршрутизация на основе префикса и масок переменной длины возможна, если маршрутизаторы сети используют бесклассовый (classless) протокол маршрутизации, например OSPF или EIGRP. Бесклассовые протоколы маршрутизации передают в обновлениях маршрутизации (routing updates) 32-разрядные IP-адреса и соответствующие маски.

< Лекция 6 || Лекция 7: 12 || Лекция 8 >
Александр Хованский
Александр Хованский
в курсе построение сетей на базе коммутаторов и маршрутизаторов некорректно задан вопрос. звучит так сколько портов сконфинурировать в VLAN0 для управления коммутатором. (поменяйте например на VLAN1 или VLAN управления ) 0-го VLAN не может быть
Денис Кобзов
Денис Кобзов
Россия, Ноябрьск
Дмитрий Наумов
Дмитрий Наумов
Россия