TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
Совпадающие по полям идентификации, IP-адреса источника, IP-адреса назначения и протокола фрагменты составляются вместе по мере их поступления. Однако в протоколе IP имеется небольшой недостаток: хост получателя не может узнать общей длины датаграммы, пока не получит последний фрагмент. Поле общей длины (Total Length) содержит сведения только о данном фрагменте, а не об общей длине датаграммы.
Таким образом, система-получатель
В любом случае при реализации необходимо обслуживать поступающую датаграмму с общей длиной, как минимум, в 576 октетов. Или, что более точно, система должна быть способна обрабатывать датаграммы с общим размером не менее чем MTU интерфейса, по которому поступают датаграммы.
6.14.5 Тайм-аут сборки датаграммы
Рассмотрим следующую последовательность событий:
■ Пересылается датаграмма.
■ Пославший ее процесс аварийно завершается.
■ Датаграмма фрагментируется при пересылке.
■ По пути следования теряется один из фрагментов.
При потере отправленного фрагмента хост получателя должен ждать, пока этот фрагмент не будет отправлен повторно. При этом, разумеется, необходимо ограничить время ожидания. Когда тайм-аут сборки завершится, хост назначения отбросит уже полученные фрагменты и отправит источнику сообщение об ошибке. Обычно величину тайм-аута сборки можно конфигурировать. Ее значение рекомендуется устанавливать в диапазоне от 60 до 120 с.
6.14.6 Фрагментировать или не фрагментировать
Учитывая все проблемы поддержки фрагментации, можно сказать, что она приводит к снижению производительности. Поэтому многие программисты стремятся аккуратно разрабатывать приложения, чтобы формируемые датаграммы были достаточно малы и не фрагментировались при пересылке.
В главе 7 мы познакомимся с протоколом исследования MTU, позволяющим исключить фрагментировать датаграмм и использовать наибольший размер MTU при пересылке информации.
6.15 Просмотр статистики IP
Узнать о том, как работает IP, можно по достаточно приблизительным статистическим отчетам. Команда netstat -s выводит содержимое счетчиков для наиболее важных событий в IP. Нижеприведенный отчет получен на сервере tigger.jvnc.net, который доступен хостам всей сети Интернет. Ответим, что в отчете вместо более точного термина "датаграмма" используется термин "пакет" (packet).
За
6.16 Варианты
Для одного или нескольких дополнительных вариантов доступно 40 специальных октетов в заголовке IP. Варианты датаграмм выбираются отсылающими их приложениями. Применяются они крайне редко. Список вариантов включает:
■ Strict Source Route (Точный маршрут от источника)
■ Loose Source Route (Произвольный маршрут от источника)
■ Record Route (Запись маршрута)
■ Timestamp (Временная метка)
■ Department of Defense Basic Security (Базовая безопасность Министерства обороны)
■ Department of Defense Extended Security (Улучшенная безопасность Министерства обороны)
■ No Operation (Без операций)
■ End of Option List (Padding) — Конец списка вариантов (заполнитель)
Варианты безопасности используются Министерством обороны и некоторыми правительственными агентствами. Предложено также несколько других вариантов (полный список вариантов и их текущий статус можно найти в последних изданиях Assigned Number и Internet Official Protocol Standard).
6.16.1 Маршрутизация от источника
Существуют два источника: Strict Source Route, определяющий полный путь к точке назначения, и Loose Source Route, идентифицирующий контрольные точки по пути следования (milestones). Между контрольными точками можно использовать любые маршруты.
Strict Source Routes иногда применяется для повышения безопасности данных. Однако, как мы увидим далее, этот источник используется и хакерами при взломе систем компьютерной безопасности.