Смекни!
smekni.com

Технология работы IP-сетей (стр. 2 из 3)

Поле Общая длина пакета указывает размер дейтаграммы в байтах, включая заголовок и поле данных. Дейтаграммы (пакеты) большого размера применяются редко только по согласования с протоколами автономных систем (подсетей), стандартная рекомендуемая длина – 576 байт.

Протокол IP предусматривает возможность фрагментации пакетов (дейтаграмм). Различные подсети могут определять разные размеры пакетов, при передаче из одной автономной системы в другую пакет может быть разделен на несколько пакетов, все фрагменты должны иметь одинаковое значение идентификатора пакета. Поле Флаги также связано с фрагментацией пакетов. Флаг DF запрещает фрагментацию данного пакета, MF говорит о том, что данный пакет является промежуточным фрагментом. Поле Смещение фрагмента и задает смещение в байтах поля данных фрагмента от начала общего поля данных исходного пакета.

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

Идентификатор протокола верхнего уровня указывает, какому протоколу принадлежит информация в поле данных дейтаграммы. Значения идентификаторов приводятся в специальном стандарте.

Контрольное поле заголовка вычисляется как сумма по модулю 216 всех 16 битовых слов заголовка. Так как отдельные элементы заголовка могут изменяться в каждом узле, контрольная сумма проверяется при приеме дейтаграммы и формируется заново при передаче. Если при приеме обнаружены ошибки в заголовке с помощью контрольной суммы, дейтаграмма удаляется.

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


3. АДРЕСАЦИЯ В IP – СЕТЯХ

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

Символьные доменные имена используются различными приложениями и пользователями. Для пользователей применение для адресации IP-адресов, представляющих достаточно громоздкие комбинации чисел, неудобно. Поэтому большинство приложений оперирует символьными именами вместо IP-адресов. Эти символьные имена строятся по иерархическому принципу. Отдельные элементы символьного доменного имени разделяются точками и по старшинству (подчиненности) располагаются справа налево. Крайний правый элемент имени определяет старший домен (.ru), следующий элемент за точкой его подчиненный домен (поддомен), например mydomain.ru. Второй домен может содержать свои поддомены (mysite.mydomain.ru) и т.д. Между символьным именем и IP-адресом какого либо алгоритмического соответствия нет, поэтому необходимо просто хранить таблицы соответствия. Для преобразования символьных имен в IP-адреса существует специальный протокол и специальная распределенная сетевая служба DNS. Таким образом, используя символьное доменное имя, мы обращаемся к DNS-серверу, который определяет соответствующий ему IP-адрес.

Основным адресом, обеспечивающим передачу данных, является IP-адрес. Этот адрес содержит 4 байта (в версии 6 протокола – 16 байт) и состоит из двух частей: номера сети (старшая часть адреса) и номера узла. В пределах подсети все узлы имеют один и тот же номер сети. В общем случае номер узла тоже может быть структурирован, элементами подсети также могут быть подсети следующего уровня иерархии. Глобальные IP-адреса не могут назначаться произвольно, правилами формирования этих адресов и их распределением занимается специальная служба InterNIC. Как уже отмечалось, структура и значение элементов адреса соответствует структуре сети, поэтому глобальные и локальные адреса назначаются независимо друг от друга. Маршрутизаторы, являясь элементами нескольких сетей, имеют отдельные адреса каждого порта. Хост может входить в состав нескольких сетей и иметь несколько адресов, поэтому принято считать, что IP-адрес характеризует не отдельное устройство, а одно сетевое соединение. Структура IP-адреса была основана на разделении сети по классам:

класс А 1.X.X.X. – 126.X.X.X.

байт1 байты 2, 3, 4
0 № сети № узла

класс B128.0.X.X – 191.255.X.X

байты 1, 2 байты 3, 4
1 0 № сети № узла

класс C192.0.1.Х – 223.255.255.Х

байты 1, 2, 3 байт 4
1 1 0 № сети № узла

класс D 224.0.0.0 – 239.255.255.255

байты 1, 2, 3, 4
1 1 1 0 адрес multicast

Для использования в качестве локальных IP-адресов выделены специальные адреса: класса А 10.Х.Х.Х, класса B 172.16.X.X – 172.31.X.X, класса С 192.168.X.X – 192.168.X.X.

В протоколе определены особые адреса:

· если в поле номера сети только нули, то считается, что узел назначения принадлежит той же сети, что отправитель;

· если адрес содержит только единицы во всех двоичных разрядах, дейтаграмма рассылается всем узлам, находящимся в той же сети, что отправитель;

· если в поле номера узла содержатся только единицы, дейтаграмма направляется всем узлам сети с указанным номером;

· дейтаграмма с адресом 127 в первом байте используется для самотестирования узла, она не передается по сети, а возвращается к модулю верхнего уровня, как только что принятая.

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

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

Предложенные алгоритмы более гибкого использования адресного пространства позволили в рамках существующего формата адреса в значительной мере решить эту проблему. Вместо деления сетей на классы в настоящее время используются маски адреса. Маски позволяют установить границы элементов адреса на любом бите. Для стандартных классов маски имеют следующие значения: класс А – 255.0.0.0, класс В – 255.255.0.0, класс С – 255.255.255.0 и позволяют выделить для маршрутизации адрес сети только по границе байта. Маска 128 выделяет старший бит в байте, 192 – два старших бита, 224 – три старших бита и т.д. На применении масок, позволяющих произвольно устанавливать границы в адресе, основана технология бесклассовой междоменной маршрутизации (CIDR).

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

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

Так как автономные системы могут использовать различные сетевые технологии, на уровне межсетевых интерфейсов необходимо решать целый ряд задач для обеспечения корректного взаимодействия. Одной из важнейших задач межсетевых интерфейсов является преобразование внешних адресов в локальные адреса. Уже рассмотренный протокол DHCP решает задачу распределения ограниченного числа внешних адресов по запросам узлов автономной системы. На входе в автономную систему внешний адрес дейтаграммы должен быть преобразован в локальный. За выполнение этой процедуры отвечает специальный протокол разрешения адреса ARP. В соответствии с этим протоколом ведется заполнение ARP-таблицы, которая содержит внешние адреса и соответствующие им локальные адреса автономной системы. Если поступившая дейтаграмма содержит внешний адрес, не зарегистрированный в ARP-таблице, выполняется специальная процедура поиска узла с этим адресом. Она может быть выполнена, например, рассылкой широковещательного сообщения с неизвестным внешним адресом. Узел автономной системы, обнаруживший в широковещательном сообщении свой внешний адрес, должен ответить сообщением со своим локальным адресом, по которому создается новая запись в ARP-таблице. Для сокращения объема этих таблиц записи обычно динамические, т.е. хранятся ограниченное время. Если в течение определенного интервала времени запись не используется, ее удаляют из таблицы.