stringtranslate.com

TCP compuesto

TCP compuesto (CTCP) es un algoritmo de Microsoft que se introdujo como parte de la pila TCP de Windows Vista y Windows Server 2008 . Está diseñado para ajustar agresivamente la ventana de congestión del remitente para optimizar TCP para conexiones con productos de gran retardo de ancho de banda mientras intenta no dañar la equidad (como puede ocurrir con HSTCP ). También está disponible para Linux, así como para Windows XP y Windows Server 2003 mediante una revisión. [1]

Principios de funcionamiento

Al igual que FAST TCP y TCP Vegas , Compound TCP utiliza estimaciones del retraso en la cola como medida de congestión; si el retraso en la cola es pequeño, asume que ningún enlace en su ruta está congestionado y aumenta rápidamente su velocidad. A diferencia de ellos, no busca mantener un número constante de paquetes en cola.

TCP compuesto mantiene dos ventanas de congestión: una ventana AIMD normal y una ventana basada en retrasos. El tamaño de la ventana corredera real utilizada es la suma de estas dos ventanas. La ventana AIMD aumenta de la misma manera que TCP Reno la aumenta. Si el retraso es pequeño, la ventana basada en el retraso aumenta rápidamente para mejorar la utilización de la red. Una vez que se experimenta la cola, la ventana de retraso disminuye gradualmente para compensar el aumento en la ventana AIMD. El objetivo es mantener su suma aproximadamente constante, en lo que el algoritmo estima que es el producto ancho de banda-retraso de la ruta . En particular, cuando se detectan colas, la ventana basada en retrasos se reduce según el tamaño estimado de la cola para evitar el problema de "congestión persistente" reportado para FAST y Vegas. Por lo tanto, a diferencia de TCP-Illinois y su precursor TCP África, TCP compuesto puede reducir su ventana en respuesta a retrasos. Esto aumenta su equidad para con Reno. [ cita necesaria ]

Las descripciones del compuesto TCP se pueden encontrar en un documento de conferencia, [2] en un borrador de Internet, [3] y en una patente estadounidense. [4]

Windows 2003 y XP x64

Hay una revisión disponible que agrega compatibilidad con CTCP a Windows XP de 64 bits y Windows Server 2003. [1]

La siguiente clave de registro se puede establecer en 1 para habilitar o 0 para deshabilitar:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TCPCongestionControl

Windows Vista/2008/7

CTCP está habilitado de forma predeterminada en computadoras que ejecutan versiones beta de Windows Server 2008 y deshabilitado de manera predeterminada en computadoras que ejecutan Windows Vista y 7.

CTCP se puede habilitar con el comando:

interfaz netsh tcp establece proveedor de congestión global = ctcp 

o deshabilitado con el comando:

interfaz netsh tcp establece proveedor de congestión global = ninguno

Para mostrar la configuración actual para el uso de CTCP:

interfaz netsh tcp muestra global

El parámetro "Proveedor de control de congestión complementario" tendrá un valor de "ninguno" si CTCP está deshabilitado o "ctcp" si está habilitado.

Windows 8 y superior

Desde Windows 8, Windows usa el comando de PowerShell Set-NetTCPSetting para modificar el algoritmo de control de congestión. Alrededor de 2018, Microsoft pasó de CTCP a usar CUBIC en Windows 10 y Xbox, porque se consideraba muy sensible al retraso y también funcionaba mal en el centro de datos, donde la variación del retraso era un problema.

linux

CTCP fue portado a Linux por Angelo P. Castellani [ cita requerida ] . En Caltech se desarrolló un parche derivado de esto, que incluía TUning By Emulation (TUBE) de CTCP, y solo se lanzó a los investigadores debido a patentes de software . [5] [ se necesita mejor fuente ] Desde la versión 2.6.17 del kernel, el módulo ha sido incompatible y falla para compilar debido a cambios en la API del kernel.

Ver también

Referencias

  1. ^ ab Hay disponible una revisión que agrega compatibilidad con TCP compuesto (CTCP) a las computadoras que ejecutan Windows Server 2003 o Windows XP.
  2. ^ Bronceado, K.; Canción, J.; Zhang, Q.; Sridharan, M. (2006). "Un enfoque TCP compuesto para redes de alta velocidad y larga distancia". Actas IEEE INFOCOM 2006. 25ª Conferencia Internacional IEEE sobre Comunicaciones Informáticas . págs. 1–12. doi :10.1109/INFOCOM.2006.188. ISBN 1-4244-0221-2. S2CID  1741788.
  3. ^ Bronceado, Kun; Sridharan, Murari; Bansal, Deepak; Thaler, Dave. "TCP compuesto: un nuevo control de congestión TCP para redes de alta velocidad y larga distancia". Rastreador de datos del IETF .
  4. ^ "Protocolo de control de transmisión compuesto [US7577097B2]". Patentes de Google . 22 de marzo de 2005.
  5. ^ "TCP compuesto en Linux". Archivado desde el original el 2 de agosto de 2008 . Consultado el 4 de enero de 2011 .

Enlaces externos