6.14.4 Сборка фрагментированной датаграммы

6.14.4 Сборка фрагментированной датаграммы

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

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

Таким образом, система-получатель должна иметь возможность предвидеть, сколько именно буферного пространства нужно зарезервировать для принимаемой датаграммы. Разработчики решают эту проблему различными способами. Некоторые последовательно выделяют для буфера небольшие части памяти, другие сразу предоставляют единый большой буфер.

В любом случае при реализации необходимо обслуживать поступающую датаграмму с общей длиной, как минимум, в 576 октетов. Или, что более точно, система должна быть способна обрабатывать датаграммы с общим размером не менее чем MTU интерфейса, по которому поступают датаграммы.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.3.1. Сборка пакета

Из книги Iptables Tutorial 1.1.19 автора Andreasson Oskar

2.3.1. Сборка пакета Для начала пакет с исходными текстами iptables нужно распаковать. Мы будем рассматривать пакет iptables 1.2.6a и ядро серии 2.4. Распакуем как обычно, командой bzip2 -cd iptables-1.2.6a.tar.bz2 | tar -xvf - (распаковку можно выполнить такжк командой tar -xjvf iptables-1.2.6a.tar.bz2). Если распаковка


Сборка антенны

Из книги Компьютер + TV: телевидение на ПК автора Гольцман Виктор Иосифович

Сборка антенны Приобретя антенну и еще несколько железных деталей к ней и принеся все это домой, пользователь начинает думать, что с этим делать. Причем в голове, скорее всего, возникнет мысль: «А может, стоило заплатить за установку и настройки и не мучаться?» Однако если


Сборка сцены

Из книги 3ds Max 2008 для дизайна интерьеров автора Семак Рита

Сборка сцены Все единицы мебели мы моделировали в отдельных файлах. Чтобы поместить их в сцену с коробкой помещения, необходимо выполнить операцию присоединения. Дело в том, что в 3ds Max нет такого понятия, как копирование и вставка объекта из одного файла в другой. Кроме


Сборка мусора

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Сборка мусора Наиболее общей и полностью удовлетворительной техникой является лишь автоматическая сборка мусора или просто сборка


6.2 Датаграммы IP

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

6.2 Датаграммы IP Протокол IP предоставляет механизм для пересылки по интернету элементов, называемых датаграммами IP (IP datagram). Как показано на рис. 6.1, датаграмма IP формируется из заголовка IP и перемещаемой по сети порции данных. Рис. 6.1. Формат датаграммыПротокол IP можно


6.13.1 Заголовок датаграммы

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

6.13.1 Заголовок датаграммы Заголовок датаграммы организован как 5 или более 32-разрядных слов. Максимальная длина заголовка — 15 слов (т.е. 60 октетов), но на практике большинство заголовков датаграмм имеют минимально возможную длину в 5 слов (20 октетов).Поля заголовка показаны


6.13.3 Версия, длина заголовка и длина датаграммы

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

6.13.3 Версия, длина заголовка и длина датаграммы В настоящее время используется четвертая версия IP (версия "Следующее поколение" имеет номер 6).Длина заголовка измеряется в 32-разрядных словах. Если не нужны дополнительные варианты, можно ограничиться длиной заголовка в 5


6.14.5 Тайм-аут сборки датаграммы

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

6.14.5 Тайм-аут сборки датаграммы Рассмотрим следующую последовательность событий:? Пересылается датаграмма.? Пославший ее процесс аварийно завершается.? Датаграмма фрагментируется при пересылке.? По пути следования теряется один из фрагментов.При потере отправленного


6.18 Сценарий обработки датаграммы

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

6.18 Сценарий обработки датаграммы Для лучшего понимания работы IP рассмотрим операции по обработке датаграммы в маршрутизаторе и хосте назначения. Выполняемые при этом шаги показаны на рис. 6.15. Рис. 6.15. Обработке датаграммыВозникающие проблемы и ошибки приводят обычно к


1.4.4 Сборка мусора

Из книги Разработка ядра Linux автора Лав Роберт

1.4.4 Сборка мусора Управлять памятью на низком уровне трудно и чревато ошибками, особенно в таком динамичном окружении, какое создает Ruby. Наличие механизма сборки мусора — весомое преимущество. В таких языках, как C++, за выделение и освобождение памяти отвечает


3.13.2. Сборка Oniguruma

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

3.13.2. Сборка Oniguruma Если в вашу версию библиотека Oniguruma не включена, можете самостоятельно откомпилировать Ruby и скомпоновать с недостающей библиотекой. Ниже приведены соответствующие инструкции. Эта процедура должна работать начиная с версии 1.6.8 (хотя она уже совсем


20.5.3.Сборка ядра

Из книги автора

20.5.3.Сборка ядра Теперь, когда все устройства сконфигурированы, нужно сохранить файл конфигурации ядра и перейти непосредственно к этапу сборки ядра.Для сборки вам понадобится программное обеспечение, необходимые версии которого перечислены в таблице 20.4.Необходимое


Сборка мусора

Из книги автора

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


Сборка мусора

Из книги автора

Сборка мусора Как видите, при использовании многоверсионной архитектуры постоянно накапливаются устаревшие версии, называемые "мусором". Эти версии не являются актуальными и подлежат удалению. Процесс удаления ненужных версий записей называется сборкой


Параллельная сборка

Из книги автора

Параллельная сборка Программа make(1) предоставляет возможность разбить процесс сборки на несколько заданий. Каждое из этих заданий выполняется отдельно от остальных и параллельно с остальными, существенно ускоряя процесс сборки на многопроцессорных системах. Это также


Сборка

Из книги автора

Сборка Это меню предназначено в основном для сочинителей исходных текстов. Однако один из его пунктов, а именно, Выполнить, может представлять интерес и для тех, кто сочиняет тексты просто. В частности, файл HTML при выборе этого пункта будет просто-напросто открыт в