Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Основные функции протокола IP





Название протокола IP — протокол межсетевого взаимодействия (Internet Pro­tocol, IP) — отражает его суть: он должен передавать пакеты между сетями. В ка­ждой очередной сети, лежащей на пути перемещения пакета, протокол IP вызы­вает средства транспортировки, принятые в этой сети, чтобы с их помощью передать этот пакет на маршрутизатор, ведущий к следующей сети, или непо­средственно к узлу-получателю.

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

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

Важной особенностью протокола IP, отличающей его от других сетевых прото­колов (например, от сетевого протокола IPX), является его способность выпол­нять динамическую фрагментацию пакетов при передаче их между сетями с раз­личными максимально допустимыми значениями длины поля данных кадров (MTU). Способность к фрагментации во многом способствовала тому, что про­токол IP смог занять доминирующие позиции в сложных составных сетях.

Имеется прямая связь между многообразием полей заголовка пакета и функцио­нальной сложностью протокола, который работает с этим заголовком. Чем про­ще заголовок — тем проще соответствующий протокол. Большая часть действий протокола связана с обработкой той служебной информации, которая перено­сится в полях заголовка пакета. Поэтому очень полезно изучить назначение каж­дого поля заголовка IP-пакета, это даст не только формальные знания о структу­ре пакета, но и объяснит все основные режимы работы протокола IP.

Структура IP-пакета

IP-пакет состоит из заголовка и поля данных. Заголовок, как правило, имеющий длину 20 байт, имеет следующую структуру (рис. 13.1).

Рис. 13.1. Структура заголовка IP-пакета

Поле Номер версии (Version), занимающее 4 бита, указывает версию протоко­ла IP. Сейчас повсеместно используется версия 4 (IPv4) и готовится переход на версию 6 (IPv6).

Поле Длина заголовка (IHL) IP-пакета занимает 4 бита и указывает значение дли­ны заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байтов в поле Параметры (IP Options). Наибольший заголовок занимает 60 байт.

Поле Тип сервиса (Type of Service, ToS) занимает один байт. Оно используется пока очень редко и обычно в нем устанавливается 0. Это поле позволяет прило­жениям влиять на качество обслуживания, задавая приоритетность пакета и критерий выбора маршрута. Первые три бита этого поля образуют подполе при­оритета пакета (Precedence). Приоритет может иметь значения от самого низ­кого — 0 (нормальный пакет) до самого высокого — 7 (пакет управляющей информации). Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Поле Тип сервиса содержит также три бита, определяющие критерий выбора мар­шрута. Реально выбор осуществляется между тремя альтернативами: малой за­держкой, высокой достоверностью и высокой пропускной способностью. Уста­новленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит Т (throughput) — для мак­симизации пропускной способности, а бит R (reliability) — для максимизации на­дежности доставки. Во многих сетях улучшение одного из этих параметров свя­зано с ухудшением другого, кроме того, обработка каждого из них требует дополнительных вычислительных затрат. Поэтому редко, когда имеет смысл ус­танавливать одновременно хотя бы два из этих трех критериев выбора маршру­та. Зарезервированные биты имеют нулевое значение.

Поле Общая длина (Total Length) занимает два байта и означает общую длину па­кета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, од­нако в большинстве компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом мак­симальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли они целиком или По фрагментам). Хостам рекомендуется отправ­лять пакеты размером более чем 576 байт, только если они уверены, что прини­мающий хост или промежуточная сеть готовы обслуживать пакеты такого размера.

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

Поле Флаги (Flags) занимает три бита и содержит признаки, связанные с фраг­ментацией. Установленный в 1 бит DF (Do not Fragment) запрещает маршрутиза­тору фрагментировать данный пакет, а установленный в 1 бит MF (More Fragments) говорит о том, что данный пакет является промежуточным (не по­следним) фрагментом. Оставшийся бит зарезервирован.

Поле Смещение фрагмента (Fragment Offset) занимает 13 бит и задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного па­кета, подвергнутого фрагментации. Используется при сборке/разборке фрагмен­тов пакетов при передачах их между сетями с различными величинами MTU. Смещение должно быть кратно 8 байт.

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

Идентификатор Протокол верхнего уровня (Protocol) занимает один байт и ука­зывает, какому протоколу верхнего уровня принадлежит информация, размещен­ная в поле данных пакета. Значения идентификаторов для различных протоко­лов приводятся в документе RFC «Assigned Numbers», например, 6 означает, что в пакете находится сегмент TCP, 17 — дейтаграмма UDP, 1 — пакет ICMP.

Контрольная сумма (Header Checksum) занимает два байта и рассчитывается толь­ко по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сум­ма проверяется и повторно рассчитывается лри каждой обработке IP-заголов­ка. Контрольная сумма (16 бит) подсчитывается как дополнение к сумме всех 16-битных слов заголовка. При вычислении контрольной суммы значение само­го поля «контрольная сумма» устанавливается в нуль. Если контрольная сумма неверна, то пакет будет отброшен, как только ошибка обнаружится.

Поля IP-адрес источника (Source IP Address) и IP-адрес назначения (Destination IP Address) имеют одинаковую длину (32 бита) и одинаковую структуру.

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

Поле Выравнивание (Padding) заполняется нулями и используется для того, что­бы гарантировать завершение IP-заголовка на 32-битной границе.

 

Вопрос 34.







Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.