Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лб5 / Лаб5.DOC
Скачиваний:
21
Добавлен:
26.05.2014
Размер:
60.42 Кб
Скачать

Лабораторная работа № 5 Формирование ip-пакета Цель работы:

Изучение правил построения IP-пакетов для передачи информации в рамках IP-протокола и фрагментирования IP-дейтаграмм.

Теоретические сведения

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

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

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

Протокол IP не имеет механизмов управления потоком, поэтому при передаче возможно нарушение порядка следования пакетов, “закольцовка” маршрута движения, превышение допустимого времени доставки пакета.

Протокол IP обеспечивает выполнение следующих функций:

  • дейтаграммную доставку пакетов;

  • маршрутизацию пакетов в межсетевых шлюзах;

  • обеспечение требуемого качества обслуживания пакетов в маршрутизаторах;

  • уничтожение пакетов, превысивших допустимое время доставки;

  • динамическую фрагментацию пакетов при передаче их между сетями и сборку исходной дейтаграммы.

Функционирование механизмов протокола происходит следующим образом. В начальный момент передачи протокол транспортного уровня выдает IP-модулю свой блок данных и необходимые параметры для передачи. IP-сервис строит заголовок дейтаграммы, присоединяет к нему полученные данные, определяет следующий шлюз по маршруту движения пакета или оконечный хост и передает пакет в интерфейс “своей” локальной сети (LNI). Здесь пакет инкапсулируется в соответствующий локальный “конверт”. На промежуточном маршрутизаторе пакет “разворачивается”, обрабатывается его заголовок, определяется маршрут его дальнейшего движения, а затем осуществляется передача пакета в интерфейс следующей локальной сети. Аналогичные процедуры происходят на всех маршрутизаторах до достижения пакетом пункта назначения, на котором “развернутый” пакет передается транспортному модулю. Схема движения IP-дейтаграммы показана на рис.1.

Рис.1.

При передаче пакета от одного IP-модуля к другому может случиться, что дейтаграммы будут передаваться по сети, для которой допустимый размер канального блока меньше размера дейтаграммы. Следует отметить, что в локальных сетях, в частности в Ehternet, IP-пакет инкапсулируется в кадр целиком без разбиения на более мелкие блоки на канальном уровне. Поэтому IP-протокол должен адаптировать размер своих пакетов для каждой следующей сети. С этой целью и производится динамическая фрагментация исходного пакета. Эта процедура никак не отражается на IP-структуре пакета и называется “внутренней” – intranet-фрагментацией. Она может разбить дейтаграмму на пакеты произвольной длины и затем восстановить ее в первоначальном виде, но только на конечном узле.

IP-модуль, работающий в шлюзе, создает в общем случае несколько новых дейтаграмм, в каждую из которых копирует заголовок исходной дейтаграммы. Поле данных этой дейтаграммы делится на порции по 64-битной границе (последняя из них может быть и не выровнена). При этом суммарная длина коротких дейтаграмм (порции данных и заголовка) не должна превышать максимально допустимого значения поля данных кадра. Связь образованного семейства коротких дейтаграмм осуществляется следующим образом. Каждая исходная дейтаграмма имеет свой уникальный номер, который формируется транспортным протоколом и заносится в поле Identification исходной дейтаграммы. Этот номер, присутствующий и в каждой короткой дейтаграмме (ведь заголовок копировался), служит признаком-идентификатором для восстановления исходного текста. Последовательность коротких дейтаграмм задается значением поля смещения фрагмента (Fragment Offset) в заголовке. В частном случае (при первом делении) в поле смещения первого короткого пакета будет 0, во втором пакете – количество 64-битных блоков первой порции, в третьем – сумма блоков первой и второй порций и т.д. В общем случае длинная дейтаграмма сама по себе может являться частью еще более длинной, и в ней уже может быть какое-то значение поля Fragment Offset, отличное от нуля. В этом случае, это значение будет помещаться в заголовок первого короткого пакета (ведь он копируется), но будет суммироваться со смещениями в последующих пакетах. Заметим, что не каждая дейтаграмма может быть фрагментирована. На эту возможность указывает флаг DF. Если пакет не может быть фрагментирован, а максимально допустимый размер канального протокола меньше, чем реальная длина этого пакета, то он просто уничтожается. На то, какое место занимает фрагментированный блок в цепочке, указывает флаг MF. Если он равен нулю, то данный пакет является либо единственным (на это укажет нулевое значение поля Fragment Offset), либо последним в цепочке (при ненулевом значении поля Fragment Offset), что является сигналом к сборке исходного пакета.

Заголовок IP-пакета представлен на рис. 2.

Соседние файлы в папке Лб5