Compound TCP
Compound TCP (CTCP) — алгоритм, разработанный Microsoft и впервые включенный в сетевой стек Windows Vista и Window Server 2008 TCP. Разработан для агрессивного увеличения TCP окна (congestion window) для оптимизации TCP скорости передачи данных при большой задержке (en:Bandwidth-delay product) с минимальными отклонениями от стандарта (в отличие от HSTCP). Реализация существует для Linux, а также для Windows XP и Windows Server 2003 с помощью обновления.[1]
Принцип работы
Также как FAST TCP и TCP Vegas, Compound TCP использует прогноз задержки очереди как меру загрузки канала; если задержка мала, считается, что перегрузки на пути следования пакетов нет, и скорость резко повышается. В отличие от FAST и Vegas, алгоритм не пытается поддерживать фиксированное количество пакетов в очереди.
Compound TCP работает с двумя окнами: обычное AIMD окно и зависимое от задержки. Размер скользящего окна рассчитывается как сумма этих двух окон. Окно AIMD увеличивается так же как в алгоритме TCP Reno. При маленькой задержке быстро увеличивается размер окна задержки для повышения эффективности использования полосы пропускания сети. При попадании пакета в очередь постепенно уменьшается размер окна задержки чтобы компенсировать увеличение основного (AIMD) окна. Цель этого — поддерживать сумму окон в районе некоторой константы, спрогнозированной алгоритмом (en:bandwidth-delay product пути). В частности, при попадании пакета в очередь, окно задержки уменьшается на прогнозируемый размер очереди для избежания проблемы «постоянной перегрузки» (persistent congestion), возникающей в FAST и Vegas. Так, в отличие от TCP-Illinois и его предшественника TCP Africa, Compound TCP может уменьшать размер окна в ответ на увеличение задержки. Увеличение происходит в точности как в алгоритме Reno.[источник не указан 4813 дней]
Поддерживаемые платформы
Windows 2003 и XP x64
Доступно обновление, добавляющее поддержку CTCP в 64 bit Windows XP и Windows Server 2003.[1]
Следующий ключ реестра может быть установлен в 1 для включения или в 0 для выключения:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TCPCongestionControl
Windows Vista/2008/7
CTCP включено по умолчанию в beta Windows Server 2008 и выключено по умолчанию в Windows Vista и 7.
CTCP может быть включено командой:
netsh interface tcp set global congestionprovider=ctcp
или выключено:
netsh interface tcp set global congestionprovider=none
Просмотр текущего состояния CTCP:
netsh interface tcp show global
Параметр «Add-On Congestion Control Provider» может принимать значения «none» если CTCP выключено или «ctcp» — если включено.
Windows 8 / 8.1
Windows 8/8.1 использует команду powershell https://web.archive.org/web/20131029184023/http://technet.microsoft.com/en-us/library/hh826132.aspx для управления алгоритмами контроля загрузки (congestion algorithms).
Linux
Кроме Windows, CTCP был портирован в Linux Angelo P. Castellani. Патч был разработан в Caltech, включён в CTCP’s TUning By Emulation (TUBE). Из-за патентных соглашений доступен только для исследователей . Начиная с версии ядра 2.6.17 модуль перестал быть совместимым из-за изменения API ядра.[2]
См. также
Ссылки
- ↑ 1 2 Обновление добавляющее поддержку Compound TCP (CTCP) в Windows Server 2003 и Windows XP. Дата обращения: 29 октября 2014. Архивировано 6 мая 2008 года.
- ↑ アーカイブされたコピー. Дата обращения: 2 августа 2008. Архивировано из оригинала 2 августа 2008 года.
Дополнительные ссылки
- Compound TCP Internet-Draft
- «A Compound TCP Approach for High-speed and Long Distance Networks» July 2005
- Performance Enhancements in the Next Generation TCP/IP Stack, The Cable Guy
- The Compound TCP for High-speed and Long Distance Networks, Microsoft Research publication
- Vista’s TCP/IP Promises and Perils Архивная копия от 10 января 2007 на Wayback Machine, Article at Network Performance Daily
- Caltech’s Compound TCP patch for Linux
- Enabling CTCP on 2003/XP x64: [1] Архивная копия от 6 мая 2008 на Wayback Machine,[2] Архивная копия от 30 апреля 2008 на Wayback Machine
- Report on experimental evaluation of Compound TCP Hamilton Institute and Caltech, March 2008.
- A simulation-based study of Compound TCP (недоступная ссылка) July 14, 2008
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.