INFO: Rendimiento de la conexión TCP Winsock para los puertos no utilizados

Seleccione idioma Seleccione idioma
Id. de artículo: 175523 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Este artículo se describe cómo la implementación de Winsock de TCP en los diversos Identificadores de plataformas Microsoft socket conexiones con los puertos que no tienen un servidor escucha a ellos. También se describe el rendimiento relacionado con Consideraciones y cómo ajustarlos a sus necesidades.

Más información

Cuando un proceso crea un socket TCP en la capa de Winsock de Microsoft y emite una llamada de la conexión() a algunos host y número de puerto, el protocolo TCP realiza su estándar "tres vías" de un paquete SYN, confirmada por el host de destino con SYN/ACK y una confirmación final desde el inicio cliente. Sin embargo, por las especificaciones de TCP que se indica en RFC-793 (transmisión Protocolo de control), se podría generar un restablecimiento (RST) si el intento SYN dirigido a un host que existe pero no se utiliza el puerto. Esto es mejor Describe la oferta RFC siguiente desde la página 35:
Restablecer la generación

Como norma general, debe enviarse restablecimiento (RST) cada vez que llega un segmento que aparentemente no está pensado para la conexión actual. Un restablecimiento no se debe enviar si no está claro que es el caso...

Si la conexión no existe (cerrado), a continuación, se envía un restablecimiento en respuesta a cualquier segmento entrante excepto otro restablecimiento. En particular Por este medio, se rechaza solicitudes SYN dirigido a una conexión que no existe.

Restablecer el procesamiento [página 36]

... En el estado SYN-SENT (un RST recibido respuesta para un SYN inicial), el RST es aceptable si el campo ACK reconoce el SYN.
Al recibir al cliente ACK/RST desde el host de destino, el cliente determina que no hay realmente ningún servicio de escucha no existe. En el Implementación de Microsoft Winsock de TCP, mantendrá una conexión pendiente intentando emitir paquetes SYN, hasta llega a un valor máximo de reintentos (conjunto en el registro, este valor predeterminado es 3 veces adicionales). Desde un ACK/RST se ha recibido desde el host de destino, la capa TCP sabe que el host de destino es en realidad alcanzable y se duplica el valor de tiempo de espera en el paquete Encabezado IP, como es el estándar durante los intentos de conexión con sin acuse de recibo Solicitudes de SYN. En su lugar, se va a esperar la conexión pendiente para la conexión de base tiempo de espera de valor y vuelva a emitir otro paquete SYN para iniciar una conexión. Como siempre y cuando se recibe un paquete ACK/RST desde un puerto no utilizado, el tiempo de espera no se aumentará el valor y el proceso se repetirá hasta que el número máximo de reintentos se alcanza el valor.

Este comportamiento puede provocar un rendimiento deficiente si por algún motivo, un proceso emite repetidamente conexión() llamadas a los puertos con ningún elemento de escucha como resultado el error WSAECONNREFUSED. Tenga en cuenta que con otros implementaciones de TCP, como las que se encuentran comúnmente en muchos sistemas UNIX, la conexión() falla inmediatamente tras la recepción de la primera confirmación/RST paquete, lo que el conocimiento de un error muy rápidamente. Sin embargo, esto comportamiento no se especifica en los documentos RFC y es de izquierda a cada implementación para decidir. El enfoque de plataformas de Microsoft es que el sistema administrador tiene la libertad para ajustar la configuración relacionada con el rendimiento de TCP para sus propios gustos, es decir, el máximo Reintentar ese valor predeterminado es 3. El ventaja de esto es que puede tener el servicio que está intentando abrir temporalmente, apagar y es posible que reaparece entre intentos SYN. En este caso, es conveniente que la conexión() esperado lo suficiente para obtener un conexión ya que el servicio realmente no existe.

Contiene una lista completa de los valores del registro de NT (TCP). De particular interés es la clave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Clave: TcpMaxConnectRetransmissions
Tipo de valor: REG_DWORD: número
Intervalo válido: 0 - 0xFFFFFFFF
Valor predeterminado: 3 (en Windows NT)
Valor predeterminado: 2 (en Windows 2000)
Descripción: Este parámetro determina el número de veces que TCP va retransmitir una solicitud de conexión (SYN) antes de anular la intento. El tiempo de espera de retransmisión se duplica con cada uno retransmisión sucesiva en un intento de conexión determinado (excepto en la situación descrita anteriormente). La inicial el valor de tiempo de espera es de tres segundos (desde que fue un ACK/RST recibido en el caso anterior, esto es irrelevante).
Para obtener información adicional sobre las entradas del registro de TCP en Windows 95, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
158474 Entradas de registro de TCP/IP de Windows 95
La clave siguiente resulta de especial interés:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP

Clave: MaxConnectRetries
Tipo de valor: DWORD - número de 32 bits
Valor predeterminado: 3
Descripción: Especifica el número de veces que un intento de conexión (SYN) se retransmitirá antes de desistir. La inicial tiempo de espera de retransmisión es 3 segundos (irrelevantes en el caso anterior), y se duplica cada vez (el caso anterior es una excepción) con un máximo de 2 minutos.
Reinicie el equipo después de ajustar estos valores del registro.

ADVERTENCIA: Modificar estos valores afecta a todos los salientes solicitudes de conexión TCP desde el equipo afectado. Si toda la actividad TCP en el equipo tiene poca latencia y poca distancia viaje de ida y vuelta, lo que reduce este elemento como se baja como cero (aunque Microsoft no recomienda esto) no hará ninguna diferencia. Sin embargo, si las aplicaciones o los intentos de conexión producirá un error regularmente con los errores estándar de Winsock y se conocen los servidores remotos de destino esté disponible, es probable que estas entradas del registro son la causa. Si es así, tendrá que elevar el número máximo reintentos de modo que TCP será el doble del paquete SYN time-to-live valor en su encabezado IP en los sucesivos reintentos hasta que tiene una longitud suficiente tiempo de vida para alcanzar el host de destino y recibe un ACK/SYN.

Referencias

RFC-793, protocolo de Control de transmisión, septiembre de 1981

Notas del producto, Microsoft Windows NT: Detalles de implementación de TCP/IP, 1996 Artículo de Knowledge Base 158474

Propiedades

Id. de artículo: 175523 - Última revisión: jueves, 26 de mayo de 2011 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Win32 Application Programming Interface
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 Service Pack 2 sobre las siguientes plataformas
    • Windows Server 2008 for Itanium-Based Systems
    • Windows Server 2008 Datacenter
    • Windows Server 2008 Enterprise
    • Windows Server 2008 Standard
    • Windows Web Server 2008
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Vista Service Pack 2 sobre las siguientes plataformas
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Service Pack 1 para Windows Vista sobre las siguientes plataformas
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Microsoft Windows Server 2003 Service Pack 2 sobre las siguientes plataformas
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows XP Professional x64 Edition
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Service Pack 3 para Microsoft Windows XP sobre las siguientes plataformas
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
  • Service Pack 4 de Microsoft Windows 2000
  • Microsoft Windows 98 Standard Edition
Palabras clave: 
kbapi kbinfo kbnetwork kbwinsock kbmt KB175523 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 175523

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com