logo
адресация сетей

4.2.1 Основы ip -адресации

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

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

При стандартизации протокола IP в сентябре 1981 года его спецификация требовала, чтобы каждое устройство, подключенное к сети, имело уникальный 32-разрядный адрес. Этот адрес разбивается на две части. Первая часть адреса идентифицирует сеть, в которой располагается устройство. Вторая часть однозначно идентифицирует само устройство. Такая схема создает двухуровневую адресную иерархию (рис. 4.4).

Рис. 4.4. Структура IP -адреса

На рис. 4.5 показаны две формы записи IP -адреса

Рис. 4.5. Формы записи IP -адреса

Межсетевая схема адресации протокола IP описана в документах RFC 990 и RFC 997. При разработке протоколов стека TCP/IP рассматривался целый ряд методов идентификации конечных устройств в сети. Окончательным стало решение о присвоении адреса как сети, так и устройствам в этой сети. Основными доводами в пользу такого подхода явились: возможность задания номеров сетей и устройств в них в широком диапазоне значений и возможность реализации маршрутизации. При этом адреса должны назначаться упорядоченно, для того чтобы сделать маршрутизацию более эффективной.

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

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

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

Маска подсети необходима во всех реализациях протокола IP . Она определяет, какая часть адреса относится к хосту, и какая — к сети. Для этого используется логическая операция "И" ( AND ). Операция "И" в двоичной арифметике выполняется очень просто. Она, по сути, представляет собой умножение значений в одинаковых позициях. Например, на рис. 4.6 показаны IP -адрес и маска подсети. Чтобы определить адрес сети (ту часть IP -адреса, которая определяет, к какой сети он относится), достаточно просто перемножить значения позиций двоичного представления IP -адреса и значения соответствующих позиций двоичного представления маски подсети. Результатом является двоичное число, которое нужно снова преобразовать в десятичное, чтобы узнать адрес сети. После этого появляется возможность применить маршрутизацию. Маршрутизацией называется действие по перенаправлению пакета из одной логической сети (или подсети) в другую. А маршрутизатор — это просто устройство, выполняющее такое действие.

Рис. 4.6 . Основной принцип применения операции "И"

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

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

Классы IP-адресов и правила их применения

Для обеспечения гибкости в присвоении адресов компьютерным сетям разработчики определили, что адресное пространство протокола IP должно быть разделено на три основных различных класса — А, В и С. Каждый из этих основных классов фиксирует границу между сетевым префиксом и номером хоста в различных точках 32-разрядного адресного пространства. На рис. 4.7 показаны форматы основных классов.

Рис. 4.7. Форматы классов IP -адресов

Принцип деления IP-адресов на классы показан на рис. 4.8.

Одно из основных достоинств использования классов заключается в том, что каждый адрес содержит ключ, который идентифицирует точку, расположенную между сетевым префиксом и номером хоста. Например, если старшие два бита адреса установлены в 1 и 0, то линия раздела пролегает между 15 и 16-м битами.

Рис. 4.8. Деление IP -адресов на классы

В десятичной форме деление IP -адресов на классы приведены в таблице 4.2. В таблице также обозначено количество сетей и хостов в каждом из классов, и их назначение.

Таблица 4.2. Итоговые сведения о классах IP-адресов

Класс

Пределы значений первого октета

Общее количество сетей

Общее количество хостов в сети

Применяемая по умолчанию маска

Назначение

A

1-126

126

16,7 млн

255.0.0.0

Стандартный класс

B

128-191

16 384

65 534

255.255.0.0

Стандартный класс

C

192-223

2 млн

254

255.255.255.0

Стандартный класс

D

224-239

Не рассматривается

Не рассматривается

224.0.0.0

Многоадресатная рассылка

E

240-255

Не рассматривается

Не рассматривается

Не рассматривается

Экспериментальный класс

Недостатком этого метода является потребность изменения сетевого адреса, когда в сетях класса С число устройств становится больше 255. В этом случае возникает необходимость замены адресов класса С на адреса класса В. Изменение сетевых адресов может потребовать от администратора сети больших усилий и достаточно много времени для проведения работ по отладке. Ввиду того что существует четкая граница между классами адресов, администраторы сетей не могут заранее спланировать плавный переход изменения адресов. Вместо этого приходится достаточно жестко вмешиваться в работу сети: вводится запрет на использование некоторых сетевых адресов, производится одновременное изменение всех адресов устройств в этой сети. И только тогда сеть вновь включается в работу. Еще одним недостатком классификации адресов является значительное уменьшение числа теоретически возможных индивидуальных адресов. В текущей версии протокола IP (версия 4) общее их число может составлять 2 32 (4 294 967 296), так как протокол предусматривает только 32 разряда для задания адреса. Использование части битов в служебных целях уменьшает доступное количество индивидуальных адресов.

Адреса класса А поддерживают свыше 16 миллионов хостов в каждой сети (2 24 - 2 = 16 777 214). Очевидно, что такой класс может применяться только для очень больших сетей (как правило, сетей провайдеров Internet верхнего уровня). Количество действительных сетей класса А равно 126, и все эти адреса давным-давно распределены. Открытые IP -адреса должны быть зарегистрированы в организации IANA ( Internet Assigned Numbers Authority — Агентство по выделению имен и уникальных параметров протоколов Internet ), которая контролирует использование достижимых через Internet или открытых IP -адресов.

В адресах класса А старший бит первого октета всегда имеет значение о. Это означает, что наименьший номер сети при использовании адреса такого класса равен 00000000 (0), а наибольший равен 01111111 (127). Но в этом случае необходимо учитывать некоторые ограничения. Во-первых, адрес сети класса А, равный 0, является зарезервированным. Он используется для обозначения так называемой "данной сети", или сети к которой фактически подключен передающий хост. Во-вторых, адрес сети класса А, равный 127, применяется для создания петли обратной связи. С помощью такой петли программное обеспечение набора протоколов TCP/IP просто выполняет самопроверку. Передавая пакеты по адресу получателя, обозначенному как петля обратной связи, это программное обеспечение фактически не передает пакеты в сеть, а просто возвращает их по петле самому себе для проверки того, что стек TCP/IP не искажает данные. (Отправка пакетов эхо-тестирования по адресу петли обратной связи является обычным этапом поиска неисправностей.) Поэтому при передаче любого пакета с адресом сети, состоящим из одних битов 0, фактически происходит его передача на локальные хосты. А при отправке любой информации в сеть с номером 127 фактически применяется петля обратной связи. В связи с наличием зарезервированной сети 0 и петли обратной связи практически применимые адреса класса А сводятся к тем, которые содержат в первом октете число от 1 до 126.

В адресах класса А используется маска подсети 255.0.0.0, известная также как восьмибитовая маска подсети, поскольку она состоит из восьми расположенных подряд единиц, а затем из одних нулей (11111111.00000000.00000000.00000000). Это означает, что в обычной сети класса А первый октет адреса предназначен для обозначения адреса сети, а последние три октета — адреса хоста, как показано на рис. Сети класса А также обозначаются записью /8, так как адреса этого класса имеют 8-разрядный сетевой префикс.

Так как адресный блок класса А способен содержать максимум 2 31 (2 147 483 648) индивидуальных адресов, а в протоколе IP версии 4 под них отведено максимум 2 32 (4 294 967 296) адресов, то адресный диапазон класса А занимает 50% предусмотренного адресного пространства.

Адреса класса В поддерживают 65 534 хостов в каждой сети (2 16 - 2 = 65 534). Адреса этого класса предназначены для меньших (но все еще достаточно крупных) сетей. Существует чуть больше 16 000 сетей класса В и все они уже зарегистрированы.

Адреса класса В всегда начинаются с двоичных цифр 10 (например, 10101100.00010000.00000001.00000001 или 172.16.1.1). Это означает, что первый октет должен находиться в пределах от 128 (10000000) до 191 (10111111). Таких сетей класса В, которые не могли бы использоваться обычным образом (подобных двум сетям класса А — 0 и 127), не существует.

Сети класса В имеют 16-битовую маску, применяемую по умолчанию (255.255.0.0). Это означает, что первые 16 битов соответствуют адресу сети, а последние 16 битов — адресу хоста. Сети класса В также обозначаются записью /16.

Так как весь адресный блок класса В может содержать максимум 2 30 (1 073 741 824) индивидуальных адресов, то он занимает 25% предусмотренного адресного пространства.

Сети класса С могут поддерживать только 254 хоста в каждой сети (2 8 - 2 = 254). Адреса этого класса предназначены для небольших сетей. Существует свыше двух миллионов сетей класса С, причем большинство из них уже зарегистрировано.

Адрес сети класса С должен начинаться с двоичных цифр 110 (например, 11000000.10101000.00000001.00000001, или 192.168.1.1). Сетей класса С, которые не могли бы применяться на практике, также не существует.

Сети класса С имеют по умолчанию 24-битовую маску. Это означает, что 24 бита используются для обозначения части сети и 8 битов — для обозначения части хоста. Сети класса С также обозначаются записью /24.

Так как весь адресный блок класса С может содержать максимум 2 29 (536 870 912) индивидуальных адресов, он оккупирует 12,5% предусмотренного адресного пространства.

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

Видно, что в каждой сети отсутствует часть IP -адресов (а именно два). Например, IP -адреса класса С допускают применение в каждой сети только 254 хостов, тогда как их должно быть 256 (если руководствоваться формулой 2 n или 2 8). Это связано с тем, что некоторые IP -адреса зарезервированы для определенных целей и не могут присваиваться конечным устройствам в сети.. В каждой сети зарезервировано два адреса хоста, а именно: наибольший адрес (состоящий из одних единиц) и наименьший адрес (состоящий из одних нулей). Адрес хоста, состоящий из одних единиц, обозначает широковещательную рассылку, адрес, состоящий из одних нулей, обозначает "данную сеть". Два указанных адреса не могут использоваться в качестве адресов хостов. Это — еще одно ограничение TCP/IP.

Вначале рассмотрим адрес, состоящий из одних нулей. После применения операции "И" к паре чисел, состоящей из IP -адреса и маски подсети, часть с обозначением хоста будет содержать одни нули. Например, после применения операции "И" к IP -адресу 200.156.1.1 с применяемой по умолчанию маской подсети, равной 255.255.255.0, будет получен адрес сети 200.156.1.0. Итак, адрес 200.156.1.0 представляет собой адрес сети и не может использоваться в качестве адреса хоста.

Адрес, состоящий из одних единиц, зарезервирован для широковещательной рассылки уровня 3. Например, в IP -адресе 12.255.255.255 адрес хоста состоит из одних единиц (00001110.11111111.11111111.11111111). Он обозначает все хосты в данной сети, т.е. служит для широковещательной рассылки.

Таким образом, для расчета допустимого количества хостов в сети применяется выражение 2 n - 2, а не просто 2 n . Например, если известно, что для обозначения хоста применяются десять битов, необходимо вычислить значение 2 10, а затем вычесть 2 из полученного результата (1024 - 2 = 1022).

В табл. 4.3 перечислены также другие зарезервированные (или “специальные”) IP -адреса.

Таблица 4.3 Специальные IP -адреса.

Идентификатор сети

Идентификатор хоста

Значение адреса

Идентификатор сети

00000000

Адресация сети

Идентификатор сети

11111111

Направленное широковещание

11111111

11111111

Ограниченн ое широковещание

00000000

00000000

Нулевой IP-адрес

00000000

Идентификатор хоста

IP-адрес хоста в текущей сети

127

Произвольно

Обратная связь

В зарезервированных IP -адресах все установленные в ноль биты соответствуют либо конкретному устройству, либо определенной сети. IP -адреса, все биты которых установлены в 1, предназначены для широковещательной передачи информации. Для ссылки на всю IP -сеть в целом используется адрес с номером хоста, у которого все биты установлены в 0. Сетевой адрес класса А 127.0.0.0 зарезервирован для обратной связи и введен для тестирования взаимодействия процессов на одной машине. Когда приложение использует адрес обратной связи, стек TCP/IP возвращает эти данные приложению, ничего не посылая по сети. В сетях, построенных на базе протокола IP , запрещается присваивать устройствам IP -адреса, начинающиеся с числа 127.

Все вышесказанное о классах адресов в протоколе IP и их свойствах можно обобщить в одной таблице (табл. 4.2). Обратите внимание на формат записи адреса для соответствующего класса: N обозначает адрес сети, а Н — адрес хоста в этой сети. Как уже отмечено, класс D используется для групповой доставки информации, а Е — экспериментальный класс.

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

При направленном широковещании адрес получателя содержит корректный номер сети и номер хоста, все биты которого установлены в единицы. Например, адрес 185.100.255.255 и будет рассматриваться как адрес направленного широковещания для сети 185.100. xxx . xxx класса В. Таким образом, направленные широковещательные адреса обеспечивают мощный механизм, позволяющий удаленному устройству посылать одну IP -дейтаграмму, которая будет доставлена в режиме широковещания в указанную сеть. Для получения более подробной информации о направленном широковещании можно обратиться к документу RFC 1812.

Главным недостатком направленного широковещания является то, что требуется знание номера целевой сети, Вторая форма широковещания, называемая ограниченной, обеспечивает широковещательную передачу для сети отправителя независимо от указанного IP -адреса. Дейтаграмма с ограниченным широковещательным адресом никогда не сможет пройти через маршрутизаторы — последние не пропустят ее дальше себя в остальные части распределенной сети.

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