Uma transferência de ficheiros grandes falha quando um computador de cliente ISA Server 2004 SOCKS ou um computador de cliente ISA Server 2006 SOCKS utiliza o modo passivo de FTP

Traduções de Artigos Traduções de Artigos
Artigo: 923322 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Quando um computador de cliente FTP transfere um ficheiro de grandes dimensões, utilizando o modo passivo de FTP, a transferência falhará se demora mais de 120 segundos.

Causa

Este problema poderá ocorrer se verifiquem as seguintes condições:
  • O computador de cliente FTP está configurado para utilizar os SOCKS protocolo.
  • O computador de cliente FTP utiliza o Microsoft Internet Security ' e ' Acceleration (ISA) Server 2004 ' ou ' Microsoft Internet Security ' and ' Acceleration (ISA) Server 2006 para enviar acesso FTP passivo.
  • O valor de limite de tempo de ligação inactiva no ISA Server 2004 ou no ISA Server 2006 estiver definido para o valor predefinido de 120 segundos.
Modo passivo FTP utiliza uma ligação de canal de controlo de envio e uma ligação de canal de dados a enviar. A transmissão de ficheiros ocorre através do canal de dados. O canal de controlo FTP tempo limite se verificam as seguintes condições:
  • Dados não são enviados através do canal de controlo durante a operação de transferência.
  • Uma transferência de ficheiros de modo passivo FTP demora mais tempo de 120 segundos.
Em seguida, o servidor FTP pára a operação de transferência de ficheiros.

Resolução

Para resolver este problema, obtenha o mais recente service pack para o ISA Server 2004 e ISA Server 2006.

Para mais informações, clique o número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
954258 Como obter o Internet Security and Acceleration (ISA) Server 2006 service pack mais recente
Para mais informações, clique o número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
891024 Como obter o ISA Server 2004 service pack mais recente
Depois de instalar o pack de serviço apropriado, execute o seguinte script de Microsoft Visual Basic para configurar o valor do tempo limite de ligação inactiva filtro SOCKS para um valor adequado.

Nota Para determinar o valor de tempo apropriado limite, utilize o seguinte equação:
Timeout (seconds) = file size / download speed * 1.2

Por exemplo, para determinar o valor de limite de tempo apropriado para transferir um ficheiro (MB) de 200 megabytes 1 megabits por segundo (Mbps), utilize a seguinte equação:
 200*8 / 1 * 1.2 = 1920 seconds
Terá de calcular o valor a utilizar individualmente.

Nota A definição de limite de tempo de ligação inactiva ajuda a recursos não utilizados disponíveis para que não ocorrem problemas relacionados com recursos. Por conseguinte, recomendamos que não aumentam o tempo limite da definição desnecessariamente. Se utilizar uma definição de limite de tempo que for menor que a predefinição 120 segundos, também pode criar problemas inesperados.

Para alterar a definição de limite de tempo, siga estes passos:

Nota Deve instalar o adequado service pack antes de pode seguir estes passos.
  1. Clique em Iniciar , aponte para Todos os programas , aponte para Acessórios (Accessories) e, em seguida, clique em Bloco de notas .
  2. Copiar e colar o seguinte código um bloco de notas novo documento. Em seguida, guarde o código no computador do ISA Server 2004 ou o computador do ISA Server 2006. Para tal, utilize um nome de ficheiro que tem uma extensão .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. Este script utiliza o valor de tempo limite predefinido de 120 segundos. Alterar o valor do tempo limite para a definição que pretende e, em seguida, guarde o script.
  4. Faça duplo clique o ficheiro de .vbs para executar o script.
Depois de executar este script, o novo valor de tempo limite aplica-se a novas ligações de SOCKS efectuadas através do ISA Server 2004 ou através do ISA Server 2006.

Para repor o valor de limite de tempo predefinido, altere o valor novamente para 120 segundos no script, guardar a alteração e volte a executar o script.

Como contornar

Para contornar este problema, configure o programa FTP para enviar comandos de "keep-alive" no canal de controlo de FTP.

Para obter informações sobre se o programa FTP que utiliza suporta esta funcionalidade, consulte a documentação do programa de FTP.

Ponto Da Situação

A Microsoft confirmou que este problema ocorre nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Para mais informações sobre como instalar o ISA Server correcções e actualizações de ISA Server, clique o número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
885957 Como instalar o ISA Server correcções e actualizações

Propriedades

Artigo: 923322 - Última revisão: 26 de março de 2009 - Revisão: 2.0
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbtshoot kbexpertiseadvanced kbqfe kbprb KB923322 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Pedíamos-lhe o favor de preencher o formulário existente no fundo desta página caso venha a encontrar erros neste artigo e tenha possibilidade de colaborar no processo de aperfeiçoamento desta ferramenta. Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 923322

Submeter comentários

 

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