Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Синдром "глупых окон" (SWS) – это проблема в компьютерных сетях, вызванная некорректной реализацией управления потоком TCP. Серьезная проблема возникает в работе скользящего окна, когда отправляющее приложение создает данные медленно, принимающее приложение потребляет данные медленно, или и то, и другое. Если сервер, столкнувшийся с этой проблемой, не может обработать весь входящий трафик, он запрашивает у клиентов уменьшить объем данных, передаваемых за один раз (размер окна в TCP-пакете). Если сервер продолжает испытывать трудности с обработкой входящих данных, размер окна становится все меньше и меньше, иногда до такой степени, что объем передаваемых данных оказывается меньше заголовка пакета, что делает передачу данных крайне неэффективной. Название этой проблемы связано с тем, что размер окна уменьшается до "нелепо" малого значения. Поскольку обработка каждого пакета требует определенных накладных расходов, увеличение количества пакетов приводит к увеличению этих расходов на обработку уменьшающегося объема данных. Конечным результатом является "треш" (thrashing).
Silly window syndrome (SWS) is a problem in computer networking caused by poorly implemented TCP flow control. A serious problem can arise in the sliding window operation when the sending application program creates data slowly, the receiving application program consumes data slowly, or both. If a server with this problem is unable to process all incoming data, it requests that its clients reduce the amount of data they send at a time (the window setting on a TCP packet). If the server continues to be unable to process all incoming data, the window becomes smaller and smaller, sometimes to the point that the data transmitted is smaller than the packet header, making data transmission extremely inefficient. The name of this problem is due to the window size shrinking to a "silly" value. Since there is a certain amount of overhead associated with processing each packet, the increased number of packets means increased overhead to process a decreasing amount of data. The end result is thrashing.
Избегание глупых окон
Эвристический метод, при котором отправляющий TCP должен разрешать отправляющему приложению выполнять вызовы записи ("write") и собирать данные, переданные при каждом вызове, перед передачей их в виде большого сегмента. Отправляющий TCP задерживает отправку сегментов до тех пор, пока не сможет накопить достаточное количество данных, что известно как кластеризация.
A heuristic method where the send TCP must allow the sending application to make "write" calls, and collect the data transferred in each call before transmitting it into a large segment. The sending TCP delays sending segments until it can accumulate reasonable amounts of data, which is known as clumping.
Скрытие от глупых окон
Эвристический метод, используемый приемником для ведения внутреннего учета доступного окна и отсрочки уведомления об увеличении размера окна отправителю до тех пор, пока не удастся добиться существенного прироста. Этот прирост зависит от размера буфера приемника и максимального размера сегмента. Применение этого метода предотвращает отправку небольших уведомлений об окне, когда приложения, получающие данные, медленно извлекают октеты.
A heuristic method that a receiver uses to maintain an internal record of the available window, and delay advertising an increase in window size to the sender until it can advance a significant amount. This amount depends on the receiver's buffer size and maximum segment size. By using this method, it prevents small window advertisements where received applications extract data octets slowly.