stringtranslate.com

Синдром глупого окна

Синдром глупого окна ( SWS ) — это проблема в компьютерных сетях , вызванная плохо реализованным управлением потоком TCP . Серьезная проблема может возникнуть в работе скользящего окна , когда передающая прикладная программа медленно создает данные, принимающая прикладная программа медленно потребляет данные или и то, и другое. Если сервер с этой проблемой не может обработать все входящие данные, он просит своих клиентов уменьшить объем данных, которые они отправляют за раз (настройка окна в TCP- пакете ). Если сервер по-прежнему не может обрабатывать все входящие данные, окно становится все меньше и меньше, иногда до такой степени, что передаваемые данные меньше заголовка пакета, что делает передачу данных крайне неэффективной. Название этой проблемы связано с уменьшением размера окна до «глупого» значения.

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

Решение

Когда между отправителем и получателем нет синхронизации относительно мощности потока данных или размера пакета, возникает проблема оконного синдрома. Когда отправитель создает синдром глупого окна, используется алгоритм Нэгла . Решение Нэгла требует, чтобы отправитель отправил первый сегмент, даже если он небольшой, а затем дождался получения ACK или накопления сегмента максимального размера (MSS).

Когда получатель создает синдром глупого окна, используется решение Дэвида Д. Кларка. [ нужна цитация ] Решение Кларка закрывает окно до тех пор, пока не будет получен другой сегмент максимального размера сегмента (MSS) или пока буфер не станет наполовину пустым.

Существует 3 причины СВС:

  1. Когда сервер объявляет пустое пространство как 0
  2. Когда клиент может генерировать только 1 байт за раз
  3. Когда сервер может потреблять только 1 байт за раз

Во время SWS эффективность связи практически равна нулю, поэтому продолжительность SWS должна быть как можно короче.

Обход глупого окна на стороне отправки

Эвристический метод, при котором TCP отправки должен позволять приложению-отправителю выполнять вызовы «записи» и собирать данные, передаваемые в каждом вызове, прежде чем передавать их в большой сегмент . Отправляющий TCP задерживает отправку сегментов до тех пор, пока не накопится разумное количество данных, что называется группировкой.

Уклонение от глупого окна на стороне приема

Эвристический метод, который получатель использует для ведения внутренней записи доступного окна и задержки уведомления отправителя об увеличении размера окна до тех пор, пока он не сможет авансировать значительную сумму. Эта сумма зависит от размера буфера получателя и максимального размера сегмента. Используя этот метод, он предотвращает рекламные объявления в небольших окнах, в которых полученные приложения медленно извлекают октеты данных .

Рекомендации

Внешние ссылки