Сетевой уровень
IP является основным протоколом Уровня 3 в комплекте протоколов
Internet. В дополнение к маршрутизации в об'единенных сетях, IР
обеспечивает фрагментацию и повторную сборку дейтаграмм, а также
сообщения об ощибках. Наряду с ТСР, IP представляет основу комплекта
протоколов Internet. Формат пакета IP представлен на Рис. 18-2.
Заголовок IР начинается с номера версии (version number), который
указывает номер используемой версии IP.
Поле длины заголовка (IHL) обозначает длину заголовка дейтаграммы в
32-битовых словах.
Поле типа услуги (type-of-service) указывает, каким образом должна
быть обработана текущая дейтаграмма в соответствии с указаниями
конкретного протокола высшего уровня. С помощью этого поля
дейтаграммам могут быть назначены различные уровни значимости.
Поле общая длина (total length) определяет длину всего пакета IP
в байтах, включая данные и заголовок.
Поле идентификации (identification) содержит целое число, обозначающее
текущую дейтаграмму. Это поле используется для соединения фрагментов
дейтаграммы.
Поле флагов (flags) (содержащее бит DF, бит MF и сдвиг фрагмента)
определяет, может ли быть фрагментирована данная дейтаграмма и
является ли текущий фрагмент последним.
Поле срок жизни (time-to-live) поддерживает счетчик, значение
которого постепенно уменьшается до нуля; в этот момент дейтаграмма
отвергается. Это препятствует зацикливанию пакетов.
Поле протокола (protocol) указывает, какой протокол высшего уровня
примет входящие пакеты после завершения обработки IP.
Поле контрольной суммы заголовка (header checksum) помогает
обеспечивать целостность заголовка ID.
Поля адресов источника и пункта назначения (source and destination
address) oбoзначают отправляющий и принимающий узлы.
Поле опции (options) позволяет IP обеспечивать факультативные
возможности, такие, как защита данных.
Поле данных (data) содержит информацию высших уровней.
Адресация
Как и у других протоколов сетевого уровня, схема адресации IP
является интегральной по отношению к процессу маршрутизации
дейтаграмм IP через об' единенную сеть. Длина адреса IP составляет
32 бита, разделенных на две или три части. Первая часть обозначает
адрес сети, вторая (если она имеется) - адрес подсети, и третья - адрес
главной вычислительной машины. Адреса подсети присутствуют только в том
случае, если администратор сети принял решение о разделении сети на
подсети. Длина полей адреса сети, подсети и главной вычислительной
машины являются переменными величинами.
Адресация IP обеспечивает пять различных классов сети. Самые крайние
левые биты обозначают класс сети.
Class A
Сети класса А предназначены главным образом для использования с
несколькими очень крупными сетями, т.к. они обеспечивают всего 7
битов для поля адреса сети.
Class B
Сети класса В выделяют 14 битов для поля адреса сети и 16 битов
для поля адреса главной вычислительной машины. Этот класс адреса
обеспечивает хороший компромисс между адресным пространством сети и
главной вычислительной машины.
Class C
Сети класса С выделяют 22 бита для поля адреса сети. Однако сети
класса С обеспечивают только 8 битов для поля адреса главной
вычислительной машины, поэтому число главных вычислительных машин,
приходящихся на сеть, может стать ограничивающим фактором.
Class D
Адреса класса D резервируются для групп с многопунктовой адресацией
(в соответствии с официальным документом RFC 1112).
В адресах класса D
четыре бита наивысшего порядка устанавливаются на значения 1,1,1 и 0.
Class E
Адреса класса Е также определены IP, но зарезервированы для
использования в будущем. В адресах класса Е все четыре бита
наивысшего порядка устанавливаются на 1.
Адреса IP записываются в формате десятичного числа с проставленными
точками, например, 34.0.0.1. На рис. 18-3 представлены форматы
адресов для сетей IP классов А, В и С.
Сети IP могут также быть разделены на более мелкие единицы, называемые
подсетями (subnets). Подсети обеспечивают дополнительную гибкость для
администратора сети. Например, предположим, что какой-то сети назначен
адрес класса В , и что все узлы в сети в данный момент соответствуют
формату адреса класса В. Далее предположим, что представлением адреса
этой сети в виде десятичного числа с точками является 128.10.0.0.
(наличие одних нулей в поле адреса главной вычислительной машины
обозначает всю сеть). Вместо того, чтобы изменять все адреса на
какой-то другой базовый сетевой номер, администратор может подразделить
сеть, воспользовавшись организацией подсетей. Это выполняется путем
заимствования битов из части адреса, принадлежащей главной
вычислительной машине, и их использования в качестве поля адреса
подсети, как показано на Рис. 18-4.
Если администратор сети решил использовать восемь битов для
организации подсети, то третья восьмерка адреса IP класса В
обеспечивает номер этой подсети. В нашем примере адрес 128.10.0.
относится к сети 128.10, подсети 1; адрес 128.10.2.0. относится к
сети 128.10, подсети 2, и т.д.
Число битов, занимаемых для адреса подсети, является переменной
величиной. Для задания числа используемых битов IP обеспечивает маску
подсети. Маски подсети используют тот же формат и технику
представления адреса, что и адреса IP. Маски подсети содержат единицы
во всех битах, кроме тех, которые определяют поле главной
вычислительной машины. Например, маска подсети, которая назначает 8
битов организации подсети для адреса 34.0.0.0. класса А,
представляет собой выражение 255.255.0.0. Маска подсети, которая
определяет 16 битов организации подсети для адреса 34.0.0.0. класса А,
представляется выражением 255.255.255.0. Обе эти маски изображены
на Рис. 18-5.
Для некоторых носителей (таких как локальные сети IEEE 802), адреса
носителя и адреса IP определяются динамически путем использования
двух других составляющих комплекта протоколов Internet: Address
Resolution Protocol (ARP) (Протокол разрешения адреса) и Reverse
Address Resolution Protocol (RARP) (Протокол разрешения обратного
адреса). ARP использует широковещательные сообщения для определения
аппаратного адреса (уровень МАС), соответствующего конкретному
межсетевому адресу. ARP обладает достаточной степенью универсальности,
чтобы позволить использование IP с практически любым типом механизма,
лежащего в основе доступа к носителю. RARP использует
широковещательные сообщения для определения адреса об'единенной сети,
связанного с конкретным аппаратным адресом. RARP особенно важен для
узлов, не имеющих диска, которые могут не знать своего межсетевого
адреса, когда они выполняют начальную загрузку.