Теперь настало время более подробно рассмотреть поля при фрагментации датаграммы.
6.14.1 Поле идентификации
Поле
6.14.2 Поле Флагов
Поле
Бит 0 | Бит 1 | Бит 2 |
---|---|---|
0=Зарезервировано | 0=Можно фрагментировать 1=Нельзя фрагментировать | 0=Последний фрагмент (Last) 1=Есть еще фрагменты (More) |
Бит 0 зарезервирован, но должен иметь значение 0. Отправитель может указать в следующем бите значение 1, и датаграмму нельзя будет фрагментировать. Если ее нельзя будет доставить без фрагментации, а бит фрагментации равен 1, то датаграмма будет отброшена с посылкой сообщения отправителю.
Бит 2 устанавливается в 0 для последней или единственной части датаграммы. Бит 2, установленный в 1, указывает, что датаграмма фрагментирована и имеет следующие далее части.
6.14.3 Поле смещения фрагмента
Фрагмент | Идентификатор | Флаги | Смещение фрагмента |
---|---|---|---|
1 | 348 | Можно фрагментировать, More | 0 блоков от начала |
2 | 348 | Можно фрагментировать, More | 125 блоков (1000 октетов) от начала |
3 | 348 | Можно фрагментировать, Last | 250 блоков (2000 октетов) от начала |
Когда датаграмма доставляется без фрагментации, значения полей будут следующими:
Идентификатор | Флаги | Смещение фрагмента |
---|---|---|
348 | Можно фрагментировать, Last | 0 блоков от начала |
Хост получателя, приняв датаграмму, помеченную как "Last" и имеющую смещение 0, знает, что она не фрагментирована.
6.14.4 Сборка фрагментированной датаграммы
Совпадающие по полям
Таким образом, система-получатель должна иметь возможность предвидеть, сколько именно буферного пространства нужно зарезервировать для принимаемой датаграммы. Разработчики решают эту проблему различными способами. Некоторые последовательно выделяют для буфера небольшие части памяти, другие сразу предоставляют единый большой буфер.
В любом случае при реализации
6.14.5 Тайм-аут сборки датаграммы
Рассмотрим следующую последовательность событий:
■ Пересылается датаграмма.
■ Пославший ее процесс аварийно завершается.
■ Датаграмма фрагментируется при пересылке.
■ По пути следования теряется один из фрагментов.
При потере отправленного фрагмента хост получателя должен ждать, пока этот фрагмент не будет отправлен повторно. При этом, разумеется, необходимо
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии