Открыть сервис

Протокол Discard: назначение и применение

Протокол Discard — это простейший сетевой протокол прикладного уровня, предназначенный для тестирования и диагностики сетей. Его основная функция заключается в приёме входящих данных и их немедленном уничтожении (отбрасывании) без какой-либо обработки, ответа или сохранения. Протокол определён в RFC 863 и работает поверх TCP или UDP, используя порт 9.

Назначение

Главная цель протокола — служить инструментом для проверки сетевого соединения и измерения его характеристик. Поскольку сервер Discard не отправляет обратно никаких данных, он позволяет изолированно оценить способность сети передавать трафик в одном направлении. Если клиент успешно отправляет данные на сервер Discard, это подтверждает, что маршрутизация работает, порты открыты и сетевая стек корректно обрабатывает исходящие пакеты.

Протокол часто используется в связке с другими диагностическими протоколами семейства RFC 863—864 (Daytime, Character Generator, Echo). В отличие от эхо-протокола, который возвращает данные отправителю, Discard исключает влияние обратного пути на результаты теста. Это делает его полезным для замера пропускной способности канала в одном направлении, особенно при использовании утилит генерации трафика.

Технические характеристики

Работа поверх TCP

При использовании TCP сервер Discard ожидает входящее соединение на порту 9. После установления соединения он читает все поступающие данные и отбрасывает их, не отправляя подтверждения прикладного уровня. Соединение остаётся открытым до тех пор, пока клиент не закроет его. Такой режим позволяет проверять стабильность длительных соединений и выявлять обрывы канала.

Работа поверх UDP

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

Формат данных

Протокол не определяет какой-либо структуры данных. Любая последовательность байт, отправленная на порт 9, будет принята и отброшена. Это позволяет использовать произвольные полезные нагрузки, включая случайные данные или файлы, для стресс-тестирования сети.

Применение

Основная область использования протокола Discard — диагностика сетевой инфраструктуры:

  • Проверка связности: отправка данных на сервер Discard позволяет убедиться, что пакеты доходят до цели, не полагаясь на ICMP-эхо (ping), который может блокироваться межсетевыми экранами.
  • Измерение пропускной способности: используя генераторы трафика, направленные на порт 9, администраторы могут оценить максимальную скорость передачи данных без влияния обратного трафика.
  • Отладка приложений: разработчики сетевых приложений используют Discard для тестирования отправки данных, когда ответ сервера не требуется.
  • Обнаружение несанкционированного трафика: администраторы могут настроить ловушку на порту 9, чтобы выявить устройства, пытающиеся использовать протокол для скрытой передачи данных (хотя такая практика редка).

Реализации

Большинство операционных систем включают поддержку Discard на уровне служб. В Unix-подобных системах демон discard управляется через inetd или xinetd. В Windows Server протокол реализуется через компонент «Простой сервис TCP/IP» (Simpletcp), который устанавливается опционально. Современные дистрибутивы Linux часто не включают сервис по умолчанию из соображений безопасности, однако его легко активировать.

Безопасность

Протокол Discard не имеет механизмов аутентификации и шифрования, что делает его уязвимым для злоупотреблений. Открытый порт 9 может использоваться для отражённых атак (amplification), если злоумышленник отправляет UDP-пакеты с поддельным адресом источника. Однако, поскольку сервер не генерирует ответных пакетов, риск усиления трафика минимален. Тем не менее, в современных сетях протокол обычно отключается на граничных маршрутизаторах, а доступ к порту 9 фильтруется межсетевыми экранами.

Устаревание и современное состояние

С развитием более совершенных инструментов диагностики, таких как iperf, traceroute и специализированных анализаторов трафика, протокол Discard утратил практическую значимость. Многие операционные системы по умолчанию не запускают этот сервис. Тем не менее, он остаётся частью стандартного набора диагностических протоколов и может быть полезен в изолированных средах или при изучении принципов работы сетевых служб.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →