Протокол IP

представляет собой протокол сетевого (3-го) уровня, который содержит информацию об адресации и управляющую информацию для маршрутизации пакетов. описан в RFC 791 и является основным протоколом сетевого уровня в наборе протоколов Internet. Вместе с протоколом управления передачей (TCP) протокол IP образует основу протоколов Internet. имеет две основные функции: обеспечение передачи дейтаграмм по объединенной сети методом негарантированной доставки без подтверждения соединения и обеспечение фрагментации и повторной сборки дейтаграмм для поддержки каналов передачи данных с различными размерами максимального передаваемого модуля данных (MTU).

Формат IP-пакета

IP-пакет содержит несколько видов информации (рис. 35.2). Поля IP-пакета, показанные на рис. 35.2, описаны ниже.

• Версия. Версия используемого протокола IP.

Рис. 35.2. IP-пакет

•          Длина IP-заголовка (IP header length — IHL). Длина заголовка дейтаграммы в 32-разрядных словах.

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

•          Общая длина. Длина всего IP-пакета в байтах, включая данные и заголовок.

•          Идентификация. Целое число, которое идентифицирует данную дейтаграмму. Это поле используется для облегчения соединения фрагментов дейтаграмм.

•          Флаги. Трехразрядное поле, в котором 2 младших бита управляют фрагментацией. Младший бит определяет, может ли пакет быть фрагментирован, а средний — является ли пакет последним в серии фрагментированных пакетов. Третий (старший) бит не используется.

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

•          Время существования. Счетчик, который постепенно уменьшается до нуля, после чего дейтаграмма отбрасывается во избежание бесконечного цикла передачи пакетов.

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

•          Контрольная сумма заголовка. Используется для проверки целостности IP-заголовка.

•          Адрес источника. Определяет узел-отправитель.

•          Адрес получателя. Определяет принимающий узел.

•          Свойства. Позволяет протоколу IP задавать дополнительные операции, такие как обеспечение безопасности.

•        Данные. Информация верхнего уровня.

IР-адресация

Как и в любом протоколе сетевого уровня, схема IP-адресации неразрывно связана с процессом маршрутизации IP-дейтаграмм по объединенной сети. Каждый IP-адрес имеет специфические компоненты и соответствует основному формату. Как будет описано ниже, IP-адреса делятся на категории и используются для создания адресов подсетей. Каждому узлу в сети TCP/IP присваивается уникальный 32-разрядный логический адрес, который делится на две главные части: номер сети и номер узла. Номер сети определяет сеть и, если сеть является частью Internet, должен присваиваться Информационным центром Internet (Internet Network Information Center — InterNIC). Провайдер служб Internet может получить у InterNIC блоки сетевых адресов и самостоятельно выделять адресное пространство по мере необходимости. Номер узла определяет узел в сети и присваивается администратором локальной сети.

Формат IP-адреса

32-разрядный IP-адреспредставляет собой 4 группы по 8 битов, разделенные точками и обычно записываемые в десятеричном формате (так называемая десятичная запись с точками — dotted decimal notation). Каждый бит октета имеет двоичный вес (128, 64, 32, 16, 8, 4, 2, 1). Минимальное значение октета равно 0, максимальное — 255. Основной формат IP-адреса показан на рис. 35.3.

Рис. 35.3. Формат /Р-адреса

Классы IP-адресов

IP-адреса делятся на пять классов: А, В, С, D и Е. Для коммерческого использования предназначены только классы А, В, и С. Класс сети определяется первыми слева (старшими) битами. Справочная информация о пяти классах IP-адресов представлена в табл. 35.1.

На рис. 35.4 показан формат классов коммерческих IP-адресов. Следует обратить внимание на старшие биты в каждом классе.

Класс адреса легко определить по его первому октету, сравнив это значение с диапазоном классов по следующей таблице. Например, в IP-адресе 172.31.1.2 первый октет равен 172. Поскольку 172 лежит в пределах от 128 до 191, 172.31.1.2 является адресом класса В. На рис. 35.5 представлены диапазоны возможных значений первого октета каждого класса адресов.

IP-адресация подсети

‘ N — номер сети, Н — номер узла.

** Один адрес зарезервирован как широковещательный и еще один —для сети.

Рис. 35.4. Для коммерческого использования доступны IP-адреса форматов А, В и С

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

Рис. 35.5. У каждого класса адресов существует свой диапазон допустимых значений первого октета

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

Сетевой адрес может разбиваться на несколько подсетей. Например, в состав сети 172.16.0.0 могут входить подсети 172.16.1.0, 172.16.2.0, 172.16.3.0 и 172.16.4.0. (Наличие всех нулей в адресной части узла указывает на то, что это адрес не узла, а сети).

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

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

Маски подсети имеют тот же формат и представление, что и IP-адреса. Однако в маске подсети во всех разрядах, определяющих зоны сети и подсети, стоит двоичная единица, а во всех разрядах, определяющих поле узла, — двоичный ноль. Пример маски подсети показан на рис. 35.7.

Биты маски подсети должны повторять старшие (первые слева) биты поля узла (рис. 35.8). Подробнее маски подсети класса В и С будут описаны ниже. Адреса класса А в этой главе не обсуждаются, поскольку они обычно делятся на подсети на границе 8 битов.

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

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

Рис. 35.7. Пример маски подсети, состоящей из двоичных нулей и единиц

 

Рис. 35.8. Для маски подсети используются старшие биты поля узла

Маска подсети для адреса 192.168.2.0 класса С, где для подсети отводится 5 битов, имеет вид 255.255.255.248. Если для подсети отводится 5 битов, то количество возможных подсетей равно 25-2 = 31, при этом в каждой из них будет 23-2 = 6 узлов.

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

Определение номера сети по маске подсети

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

Операция логического умножения

Логическое умножение (логическое И) пары двоичных чисел подчиняется следующим трем основным правилам: 1 И 1 = 1, 1 И 0 = О, О И 0 = О (табл. 35.4). Для запоминания операций логического умножения существует два простых правила: логическое умножение любого числа на 1 не изменяет его, а результат логического умножения любого числа на 0 всегда равен 0.

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

Рис. 35.9. Логическое умножение IP-адреса получателя и маски подсети дает номер подсети

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2005. — 1040 с.: ил. – Парал. тит. англ.

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

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100