Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Структура IP-пакета (IP-версии 4)






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

 

Рисунок 5.3 – Структура заголовка IP-пакета

 

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

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

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

Поле Общая длина занимает 2 байта (16 бит) и означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 216 = 65535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом макси­мальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной в 1500 байт, уме­щающиеся в поле данных кадра Ethernet.

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

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

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

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

Контрольная сумма заголовка занимает 2 байта удостоверяет целостность значений полей заголовка. Контрольная сумма – 16-разрядная, вычисляется путем сложения всех полей заголовка. Сумма вычисляется с использованием логической операции дополнения до единицы, т. е. двоичные разряды каждого поля меняют значение на противоположное (например, двоичный 0 меняется на двоичную 1, а двоичная 1 меняется на двоичный 0). Таким образом, перед сложением двух полей (например, 0110 и 10110110) их значения меняются на обратные (1001 и 01001001), а затем складываются. Общая сумма записывается в поле заголовка передающим узлом. Принимающий узел также вычисляет контрольную сумму и сравнивает полученное значение со значением, записанным в поле заголовка. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, время жизни), контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. При вычислении контрольной суммы значение самого поля «контрольная сумма» устанавливается в нуль. Если контрольная сумма неверна, то пакет будет отброшен, как только ошибка будет обнаружена.Контрольную сумму проверяет каждый маршрутизатор, через который передается пакет.

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

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

Поле Выравнивание используется для выравнивания IP-заголовка к целому числу 32-битовых слов. Выравнивание осуществля­ется нулями.

 

5.3 TCP – протокол надежной доставки сообщений

Протокол IP является дейтаграммным протоколом и поэтому по своей природе не может гарантировать надежность передачи данных.

TCP (Transmission Control Protocol) – это транспортный протокол, предназначенный для надежной доставки данных, для чего осуществляется контроль за правильностью приема фреймов и выполняется управление потоком данных. Для решения этих задач в протоколе предусмотрено упорядочение фреймов и подтверждение их приема.

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

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

Когда протокол TCP передает сегмент с данными, он помещает его копию в очередь повторной передачи и запускает тай­мер. Когда приходит подтверждение для этих данных, соответствующий сегмент удаляется из очереди. Если подтверждение не приходит до истечения срока, то сегмент посылается повторно.

На рисунке 5.4 отправителем и получателем являются рабочие станции. При размере окна 1 отправитель ждет подтверждения каждому переданному кадру данных. При размере окна 3 отправитель может послать три кадра прежде, чем начнет ожидать подтверждение.

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

Рисунок 5.4 – Больший размер окна увеличивает эффективность связи

 

На рисунке 5.5 показан отправитель, который передает пакеты 1, 2 и 3. Получатель подтверждает прием пакетов, запрашивая пакет 4. Отправитель, получив подтверждение, посылает пакеты 4, 5 и 6. Если пакет 5 не прибывает в пункт назначения, получатель посылает соответствующее подтверждение (отрицательную квитанцию) с запросом о повторной отсылке пакета 5. Отправитель повторно отсылает пакет 5 и должен получить соответствующее подтверждение, чтобы продолжить передачу пакета 7.

Рисунок 5.5 – Отправитель регистрирует каждый отосланный им пакет и перед посылкой следующего пакета данных ждёт подтверждения

Протокол IP используется протоколом TCP в качестве транспортного средства. Перед отправкой своих блоков данных протокол TCP помещает их в оболочку IP-пакета.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.