gethostbyname() não retorna endereço IP virtual de cluster corretamente

Traduções deste artigo Traduções deste artigo
ID do artigo: 257577 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sintomas

Se seu programa usa a função gethostbyname , lista de endereços IP retornada não pode incluir os endereços IP virtuais criados pelo serviço de cluster ou ele pode listar endereços IP que não são atualmente pertence a este nó.

Causa

Quando o serviço de cluster adiciona ou remove um endereço IP virtual, o protocolo TCP/IP não atualiza o cache do qual ele retorna os endereços IP.

Resolução

Para resolver esse problema, obtenha o service pack mais recente para o Windows 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
260910Como obter o Service Pack mais recente do Windows 2000
A versão em inglês dessa correção deve ter os seguintes atributos de arquivo ou posteriores:
Nome do arquivo: Q257577_w2k_sp2_x86_en.exe
Versão: 1.10.101.0
Esse pacote inclui versões atualizadas:
Clusres.dll
Dnsapi.dll

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Windows 2000 Service Pack 2.

Mais Informações

No Windows NT 4.0, gethostbyname(local node name) retornou uma lista contendo todos os endereços IP instanciados no servidor, incluindo endereços IP virtuais de cluster. No Windows 2000, a mesma operação normalmente retorna somente os endereços IP são permanentemente atribuídos ao servidor; Entretanto, ele pode retornar às vezes, a lista inteira assim como o Windows NT 4.

A alteração de comportamento é um efeito colateral da implementação do serviço de resolução DNS. O resolvedor caches de lista de endereços IP locais durante a inicialização. Quando ele é solicitado a resolver o nome de nó local, ela retorna a lista de seu cache em vez de consultar um servidor DNS. O problema é que o resolvedor não escuta notificações de alteração endereço PNP da pilha TCP, mas ele que recebe essas notificações do cliente DHCP. Quando o resolvedor receber uma notificação de alteração do DHCP, ele atualiza sua lista em cache de endereços IP locais consultando a pilha TCP. O resultado é que, quando o cluster instancia um novo endereço, o resolvedor não informar sobre isso, a menos que / até que ocorra uma alteração de endereço DHCP subseqüente. O mesmo acontece quando os endereços de cluster são removidos. Como as alterações de endereço DHCP são raras, gethostbyname normalmente exclui endereços IP de cluster ao resolver o nome de nó local.

No Windows 2000, o MSMQ veio depende do novo comportamento em seu cenário ativo/ativo em um cluster e, portanto, é dividido com o comportamento de hotfix. MSMQ utiliza RPC para comunicação cliente/servidor. Durante a inicialização no processo do servidor, o RPC usa gethostbyname para determinar a lista de endereços IP para escutar. Em sua configuração ativo/ativo, um processo de servidor do MSMQ está associado com o nome do nó local, enquanto outro está associado com um servidor virtual de cluster. Se gethostbyname retorna endereço IP do servidor virtual para o processo associado ao nome de nó local, em seguida, ambos os processos escutará no endereço. O resultado é que os clientes tentando conectar-se ao processo do servidor virtual podem ser conectados por engano ao processo do nó local. Assim, MSMQ depende do fato de que endereços IP virtuais de cluster geralmente não são retornados por gethostbyname ao resolver o nome de nó local.

Propriedades

ID do artigo: 257577 - Última revisão: domingo, 20 de outubro de 2013 - Revisão: 2.4
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix KB257577 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 257577

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