Microsoft introduce un límite (de 10) al número de conexiones TCP salientes simultáneas semiabiertas permitidas en Windows XP SP2(x86,x64)/SP3, 2003 Server SP1(x86)/SP2(x86,x64), Vista without SP(x86,x64) and with SP1(x86,x64) para evitar que virus o programas maliciosos establezcan conexiones infectivas ilimitadas a otros sistemas. Estos sistemas operativos ralentizan el escaneo de rangos de direcciones IP mediante conexión a un puerto TCP para todas las aplicaciones en ejecución (el ping ICMP no se ve afectado) en un PC.
Nuestro programa puede verse afectado por esta limitación.
Cuando ocurre esta limitación, verá el ID de evento 4226 con el mensaje de error "TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts" en el registro de eventos de la aplicación.
Los resultados del escaneo de red y del monitoreo de hosts proporcionados por nuestro programa pueden verse afectados por esta limitación. Es posible que no se encuentren algunos hosts y que el sistema bloquee el programa durante 10 segundos o más de forma periódica.
Si esto ocurre, considere las siguientes soluciones:
- Cierre otros programas que puedan generar muchas conexiones TCP salientes semiabiertas.
- Al crear un mapa de red nuevo o escanear rangos de direcciones IP en busca de dispositivos nuevos, aumente los timeouts del escaneo de puertos TCP en el Network Scanning Wizard a varios segundos para que no se comprueben más de 10 direcciones IP cada 10 segundos.
- Desactive la comprobación de puertos TCP cuando no sea necesaria durante el escaneo de red o el monitoreo de hosts.
- Obtenga más información sobre cómo deshabilitar el límite más abajo.
La eliminación completa del límite de conexiones TCP salientes semiabiertas, cuyo valor predeterminado es 10, se finalizó con el lanzamiento de Windows Server 2008 y Vista SP2 Build 17506. De hecho, el límite de conexiones TCP salientes semiabiertas se omitió de forma predeterminada desde Windows Vista SP2 RC Build 16670.
Microsoft agrega una clave de registro que permite al usuario o administrador habilitar o deshabilitar el límite de conexiones TCP semiabiertas en Windows Vista con Service Pack 2 y en Windows Server 2008 con Service Pack 2.
Existen muchos parches para el controlador tcpip.sys que deshabilitan el límite o aumentan la cantidad de conexiones permitidas. Puede buscar en Internet la frase "half-open TCP connections limit " y encontrar los parches.