Jump to content

Опция масштабирования окна TCP

(Перенаправлено из «Масштабирование окна »)

Опция масштабирования окна TCP — это опция, позволяющая увеличить размер окна приема , разрешенный в протоколе управления передачей, выше прежнего максимального значения в 65 535 байт. Этот параметр TCP, наряду с несколькими другими, определен в RFC   7323 , посвященный длинным толстым сетям (LFN).

Пропускная способность TCP-соединения ограничена двумя окнами: окном перегрузки и окном приема. Окно перегрузки старается не превышать пропускную способность сети ( контроль перегрузки ); окно приема старается не превышать возможности получателя по обработке данных ( управление потоком ). Получатель может быть перегружен данными, если, например, он очень занят (например, веб-сервер). Каждый сегмент TCP содержит текущее значение окна приема. Если, например, отправитель получает подтверждение, подтверждающее байт 4000 и указывающее окно приема 10 000 (байт), отправитель не будет отправлять пакеты после байта 14 000, даже если окно перегрузки позволяет это.

Опция масштабирования окна TCP необходима для эффективной передачи данных, когда произведение задержки полосы пропускания (BDP) превышает 64 КБ. [1] . Например, если линия передачи T1 со скоростью 1,5 Мбит/с использовалась по спутниковому каналу со временем прохождения туда и обратно 513 миллисекунд (RTT), произведение задержки полосы пропускания будет равно бит или около 96 187 байт. Использование максимального размера буфера 64 КБ. [1] позволяет заполнить буфер только до (65 535 / 96 187) = 68% от теоретической максимальной скорости 1,5 Мбит/с или 1,02 Мбит/с.

Используя опцию масштабирования окна, размер окна приема можно увеличить до максимального значения байт или около 1 ГиБ. [2] Это делается путем указания счетчика двухбайтового сдвига в поле параметров заголовка. Истинный размер окна приема смещается влево на значение счетчика сдвигов. Для значения счетчика сдвигов можно использовать максимальное значение 14. Это позволит одному TCP-соединению передавать данные по примеру спутникового канала со скоростью 1,5 Мбит/с, используя всю доступную полосу пропускания.

По существу, за один период туда и обратно можно передать не более одного полного окна передачи. Опция масштабирования окна позволяет одному TCP-соединению полностью использовать LFN с BDP до 1 ГБ, например канал 10 Гбит/с со временем прохождения туда и обратно 800 мс.

Возможные побочные эффекты

[ редактировать ]

Поскольку некоторые брандмауэры не реализуют должным образом масштабирование окна TCP, это может привести к периодическим сбоям подключения пользователя к Интернету в течение нескольких минут, а затем без причины снова начать работать. Также существует проблема, если брандмауэр не поддерживает расширения TCP. [3]

Настройка операционных систем

[ редактировать ]

Масштабирование TCP-окна реализовано в Windows начиная с Windows 2000 . [4] [5] Он включен по умолчанию в Windows Vista/Server 2008 и более поздних версиях, но при необходимости его можно отключить вручную. [6] Windows Vista и Windows 7 имеют фиксированный буфер приема TCP по умолчанию размером 64 КБ, масштабируемый до 16 МБ посредством «автонастройки», что ограничивает ручную настройку TCP в длинных сетях с большой плотностью данных . [7]

Ядра Linux (начиная с версии 2.6.8, август 2004 г.) по умолчанию включили масштабирование окна TCP. Параметры конфигурации находятся в файловой системе /proc , см. псевдофайл. /proc/sys/net/ipv4/tcp_window_scaling и его компаньоны /proc/sys/net/ipv4/tcp_rmem и /proc/sys/net/ipv4/tcp_wmem (дополнительная информация: man tcp, раздел sysctl). [8]

Масштабирование можно отключить, введя следующую команду.

$ sudo sysctl -w "net.ipv4.tcp_window_scaling=0"

Чтобы сохранить изменения после перезапуска, включите строку «net.ipv4.tcp_window_scaling=0» в /etc/sysctl.conf (или /etc/sysctl.d/99-sysctl.conf начиная с systemd 207).

FreeBSD, OpenBSD, NetBSD и Mac OS X

[ редактировать ]

По умолчанию для FreeBSD , OpenBSD , NetBSD и Mac OS X включено масштабирование окон (и другие функции, связанные с RFC 1323).
Чтобы проверить свой статус, пользователь может проверить значение параметра « net.inet.tcp.rfc1323 " с помощью команды sysctl :

$ sysctl net.inet.tcp.rfc1323

Значение 1 (выход " net.inet.tcp.rfc1323=1 ") означает, что масштабирование включено, 0 означает "отключено". Если оно включено, его можно отключить, введя команду:

$ sudo sysctl -w net.inet.tcp.rfc1323=0

Этот параметр теряется при перезагрузке системы. Чтобы убедиться, что он установлен во время загрузки, добавьте следующую строку в /etc/sysctl.conf : net.inet.tcp.rfc1323=0

Однако в macOS 10.14 эта команда выдает ошибку.

sysctl: unknown oid 'net.inet.tcp.rfc1323'

Источники

[ редактировать ]
  1. ^ Перейти обратно: а б Здесь K , M , G или T относятся к двоичным префиксам, основанным на степени 1024.
  2. ^ Борман Д., Брейден Б., Джейкобсон В. и Шеффенеггер Р. (2014). Расширения TCP для высокой производительности (№ rfc7323).
  3. ^ «При попытке использовать Windows Vista за брандмауэром может произойти сбой при подключении к сети» . Support.microsoft.com . Проверено 11 июля 2019 г.
  4. ^ «Описание функций TCP Windows 2000 и Windows Server 2003» . Support.microsoft.com . Проверено 11 июля 2019 г.
  5. ^ «Размер окна приема TCP и масштабирование окна» . Архивировано из оригинала 1 января 2008 года.
  6. ^ «Сбой подключения к сети при попытке использовать Windows Vista за брандмауэром» . Майкрософт . 8 июля 2009 г.
  7. ^ «МС Винда» . Fasterdata.es.net . Проверено 11 июля 2019 г.
  8. ^ "/proc/sys/net/ipv4/* Переменные" .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 908542e0acb6922cb16332d251073261__1712650800
URL1:https://arc.ask3.ru/arc/aa/90/61/908542e0acb6922cb16332d251073261.html
Заголовок, (Title) документа по адресу, URL1:
TCP window scale option - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)