Descarga de un gran archivo falla cuando un equipo cliente ISA Server 2004 SOCKS o un equipo de cliente de ISA Server 2006 SOCKS utiliza FTP en modo pasivo

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

Síntomas

Cuando un equipo de cliente FTP descarga un archivo grande mediante el modo pasivo de FTP, la descarga produce un error si tarda más de 120 segundos.

Causa

Este problema puede producirse si se cumplen las condiciones siguientes:
  • El equipo de cliente FTP está configurado para utilizar los SOCKS protocolo.
  • El equipo de cliente FTP utiliza Microsoft Internet Security y Acceleration (ISA) Server 2004 o Microsoft Internet Security and Acceleration (ISA) Server 2006 para el saliente acceso a FTP pasivo.
  • El valor de tiempo de espera de conexión inactiva en ISA Server 2004 o en ISA Server 2006 se establece en el valor predeterminado de 120 segundos.
FTP en modo pasivo utiliza una conexión de canal de control saliente y una conexión de canal de datos salientes. La transmisión de archivos se produce por el canal de datos. El canal de control FTP se agota si se cumplen las condiciones siguientes:
  • Datos no se envían a través del canal de control durante la operación de descarga.
  • Una descarga de archivo FTP en modo pasivo tarda más de 120 segundos.
A continuación, en el servidor FTP se detiene la operación de descarga.

Solución

Para resolver este problema, obtenga el service pack más reciente de ISA Server 2004 y para ISA Server 2006.

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
954258Cómo obtener el Internet Security and Acceleration (ISA) Server 2006 service pack más reciente
Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
891024Cómo obtener el service pack más reciente de ISA Server 2004
Después de instalar el service pack apropiado, ejecute la secuencia de comandos siguiente de Microsoft Visual Basic para configurar el valor de tiempo de espera de SOCKS filtro conexión inactiva en un valor apropiado.

Nota Para determinar el valor de tiempo de espera correspondiente, utilice la siguiente ecuación:
Timeout (seconds) = file size / download speed * 1.2

Por ejemplo, para determinar el valor de tiempo de espera apropiados para descargar un archivo de 200 megabytes (MB) a 1 megabits por segundo (Mbps), utilice la siguiente ecuación:
 200*8 / 1 * 1.2 = 1920 seconds
Debe calcular el valor que se utiliza individualmente.

Nota La configuración de tiempo de espera de conexión inactiva ayuda a liberar recursos no utilizados, de modo que los problemas relacionados con recursos no se produzcan. Por tanto, recomendamos que no aumentan el tiempo de espera estableciendo innecesariamente. Si utiliza un valor de tiempo de espera menor que el valor predeterminado es 120 segundos, también puede crear problemas inesperados.

Para cambiar la configuración de tiempo de espera, siga estos pasos:

Nota Debe instalar el service pack apropiado para poder seguir estos pasos.
  1. Haga clic en Inicio , seleccione Todos los programas , Accesorios y, a continuación, haga clic en Bloc de notas .
  2. Copie y pegue el código siguiente en un bloc de notas nuevo documento. A continuación, guardar el código en el equipo basado en ISA Server 2004 o en el equipo basado en ISA Server 2006. Para ello, utilice un nombre de archivo que tiene una extensión .vbs como SetSocksIdleTimeout.vbs .
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' Copyright (c) Microsoft Corporation. All rights reserved.
    ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
    ' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
    ' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
    ' HEREBY PERMITTED.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' This script sets the idle connection time-out value for the SOCKS filter.
    ' The value is in seconds.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    Sub SetSocksIdleTimeout()
    
        ' Create the root object.
        Dim root  ' The FPCLib.FPC root object
        Set root = CreateObject("FPC.Root")
    
        'Declare the other objects needed.
        Dim array       ' An FPCArray object
        Dim Extensions  ' An FPCExtensions object
        Dim ApplicationFilters ' An FPCApplicationFilters object
        Dim ApplicationFilter  ' An FPCApplicationFilter object
        Dim VendorSets  ' An FPCVendorParametersSets collection
        Dim VendorSet   ' An FPCVendorParametersSet object
    
        ' Get references to the array object
        Set array = root.GetContainingArray
    
        On Error Resume Next
    
        Set Extensions = array.Extensions
        CheckError
    
        Set ApplicationFilters = Extensions.ApplicationFilters
        CheckError
    
        Set ApplicationFilter = ApplicationFilters.Item("{25765C04-C80B-494C-914E-286297DB8C8E}")
    
        Set VendorSets = ApplicationFilter.VendorParametersSets
        Set VendorSet = VendorSets.Item( "{25765C04-C80B-494C-914E-286297DB8C8E}" )
    
        VendorSet.Value("SessionIdleTimeoutSeconds") = 120 ' value in seconds to be set to desired value
    
        ApplicationFilter.Save false, true
    
        WScript.Echo "Done..."
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetSocksIdleTimeout
    
    
  3. Esta secuencia de comandos utiliza el valor de tiempo de espera predeterminado de 120 segundos. Cambie el valor de tiempo de espera a la configuración que desee y guarde la secuencia de comandos.
  4. Haga doble clic en el archivo .vbs para ejecutar la secuencia de comandos.
Después de ejecutar esta secuencia de comandos, el nuevo valor de tiempo de espera se aplica a nuevas conexiones de SOCKS que se realizan a través de ISA Server 2004 o a través de ISA Server 2006.

Para cambiar el valor de tiempo de espera predeterminado, cambie el valor 120 segundos en la secuencia de comandos, guardar el cambio y vuelva a ejecutar la secuencia de comandos.

Solución

Para evitar este problema, configure el programa FTP para enviar comandos "keep-alive" en el canal de control FTP.

Para obtener información acerca de si el programa FTP que utiliza admite esta característica, consulte la documentación del programa de FTP.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Referencias

Para obtener más información acerca de cómo instalar ISA Server revisiones y actualizaciones de ISA Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
885957Cómo instalar actualizaciones y revisiones de ISA Server

Propiedades

Id. de artículo: 923322 - Última revisión: jueves, 26 de marzo de 2009 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
Palabras clave: 
kbmt kbtshoot kbexpertiseadvanced kbqfe kbprb KB923322 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): 923322

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