Erros Comuns de Ligação ao IRC

Versão 1.0.0


Última tradução feita por Master_of_Chaos em 2005-10-06

Originalmente escrito por Hammer () e Merlin` () em 2005-05-22

Por favor dirige quaisquer comentários ou feedback acerca deste documento (apenas! não envies solicitações de ajuda!) a docs@dal.net. Se necessitares de ajuda em relação a temas não abrangidos por este documento, por favor vê a seguinte informação http://help.dal.net.

Introdução

O documento que se segue foi escrito para ajudar os utilizadores a tentar resolver os seus problemas de ligação e tentar encontrar uma solução. Para ajudar-te a compreender a situação melhor, incluímos uma analogia:

Joe é o teu mIRC, um Cliente de IRC.

Mary é o servidor de IRC (tal como são Jane, Helga e Kyoko, todos os quais trabalham no mesmo local (rede) que a Mary).

O operador do quadro de interruptores onde a Mary trabalha é o servidor aleatório numa rede (normalmente irc.dal.net).

Na maioria dos casos no nosso cenário, o Joe está a tentar ligar à Mary via telefone.

Conteúdo

1 · [10049] Can't assign requested address

Cenário: O Joe está a tentar ligar ao local de trabalho de Mary; ele não quer saber com quem vai falar lá (Mary, Jane, Helga, Kyoko), então ele apenas liga o número principal da empresa, o qual foi (temporariamente) alterado para 9. A solução, claro, seria ligar directamente à Mary ou (Jane, ou Helga, etc.).

Isto significa que o servidor de IRC está inalcançável para todos. Muito provavelmente os admins alteraram os seus registos de DNS para apontar para o não existente número de IP 255.255.255.255 para desviar um ataque DDoS (Distributed Denial of Service). É melhor tentar um servidor de IRC específico nessa rede ou noutra! (Quando eles colocam o endereço IP do servidor para 255.255.255.255 obterás o erro "Can't assign requested address". Quando eles o colocam em 127.0.0.1 obterás o erro "Connection refused" porque estarás a tentar ligar-te a ti mesmo como sendo o servidor. Se eles desactivarem o endereço completamente (colocá-lo como sendo nada) obterás o erro "Unable to resolve IRC server".)

2 · [10050] Network is down ou [10051] Network unreachable

Cenário: O Joe obtém um sinal de chamada mas ao discar o número de telefone da Mary não faz o telefone dela chamar.

Estes erros ocorrem se a rede de destino estiver em baixo, ou talvez um dos segmentos da rede no caminho dessa rede está em baixo sem qualquer forma de redireccionar os pacotes de dados.

3 · [10052] Network dropped connection on reset

Cenário: O Joe obtém um sinal de chamada mas no processo de ligar à Mary e fazer o telefone dela chamar, o quadro de interruptores dela foi-se abaixo.

O servidor que alberga o servidor de IRC, ou a rede na qual está, crashou, fez reboot ou fez reset. Volta a ligar-te após alguns minutos.

4 · [10053] Software cause connection abort

Cenário: O Joe e a Mary estão nos seus telemóveis. A bateria do Joe falha brevemente, fazendo-o pensar que a ligação à Mary tinha terminado, então ele desliga a chamada.

Este erro ocorre no lado do cliente por diversas razões. Essencialmente, é a mesma coisa que o erro que se segue (que é do lado do servidor).

5 · [10054] Connection reset by peer

Connection reset by peer é um tópico difícil por poder ser causado por inúmeras coisas. Em todos os casos, o servidor determina que o socket já não está bom e encerra-o do seu lado.

5.1 Read Error (Erro de Leitura)

Cenário: A Mary não conseguia compreender mais o que o Joe estava a dizer, então ela desligou em vez de perder as mensagens dele (dados).

Um erro de leitura ocorre quando um servidor não consegue ler com sucesso dum cliente de utilizador. Os servidores reúnem informação do cliente através de texto, setup, e outros itens. Quando o servidor recebe um erro quando está a ler dum cliente, então desconecta o utilizador, resultando numa mensagem de saída de erro de leitura.

5.2 Write Error (Erro de Escrita)

Cenário: A Mary estava a tentar falar com o Joe mas pensava que não estava a conseguir passar os dados, então ela desligou em vez de perder as mensagens dele (dados).

Um erro de escrita ocorre quando um servidor não consegue escrever com sucesso para um cliente de utilizador. Quando o servidor recebe informação, ele habitualmente responde com informação dele próprio. Quando o servidor recebe um erro ao escrever para um cliente, ele desliga o utilizador, resultando numa mensagem de saída de erro de escrita semelhante ao formato da do erro de leitura.

5.3 Ping Timeout

Cenário: A Mary, tendo sido educada numa casa com demasiadas crianças e sempre chamando a atenção, está sempre a perguntar para assegurar que o Joe continua em linha e a ouvir. Se ele não responde com rapidez suficiente para a satisfazer, ela desliga.

Os servidores automaticamente fazem ping ao utilizadores num período pré-definido. A razão disto é assegurar que o cliente continua ligado ao servidor. Quando vês "PING? PONG!" na tua janela de status, significa que o servidor fez um ping ao teu cliente, e ele respondeu de volta com um pong para assegurar ao servidor que tu continuas ligado. Quando isto não acontece e desconectas-te sem o conhecimento do servidor, o servidor automaticamente desconecta o utilizador quando não recebe uma resposta, resultando num ping timeout. Os Ping timeouts ocorrem com TODOS.

5.4 Broken pipe

Cenário: A Mary pegou numa nota colada com uma mensagem que tinha de transmitir ao Joe, mas de alguma forma entre a sua mão e a sua boca, a mensagem ficou no deslocada. A Mary estava a tentar falar com o Joe mas não pensava que estava a ter sucesso, então desligou em vez de perder as mensagens dele (dados).

Um erro de broken pipe ocorre quando o servidor sabe que tem uma mensagem mas não parece ser capaz de utilizar o seu link interno de dados para conseguir tirar os dados do socket.

5.5 Miscelânea

Cenário: Montes de outras razões; talvez o operador rompeu de entrada e deu uma mensagem à Mary que a fez duvidar da validade da chamada e por isso ela desligou.

6 · [10055] No buffer space available

Cenário: O Joe queria ligar à Mary, mas as mãos dele já estavam cheias.

Isto significa que o mIRC está a ter um problema a criar um novo socket de rede; ele não consegue usar a tua ligação de Internet para ligar-se a um servidor de IRC. Se estiveres a usar muitas outras aplicações de rede ao mesmo tempo, poderás obter este erro. Fecha algumas outras aplicações e/ou faz reset à tua ligação de Internet para reparares este problema. Este erro também indica uma escassez de recursos no teu sistema. Pode ocorrer se estiveres a tentar correr demasiadas aplicações (de qualquer tipo) simultaneamente na tua máquina. Se isto tender a acontecer após correr certas aplicações durante um certo período de tempo, poderá ser um sintoma duma aplicação que não retorna recursos de sistema (tal como a memória) propriamente. Poderá também indicar que tu não estás a fechar as aplicações propriamente. Se isto persistir, sai do Windows ou faz reboot à tua máquina para remediar o problema. Podes monitorizar a memória disponível com o comando do Explorador do Windows "Help/About".

7 · [10060] Connection timed out

Cenário: O Joe discou o número de Mary, mas o telefone nunca chamou, ou, chamou mas ela não levantou o auscultador.

As coisas podem tornar-se lentas na Internet. Quer quando tentas alcançar um servidor distante ou quando as ligações algures entre o teu ISP e o servidor de IRC estão más. Muitas vezes tu não tinhas uma (decente) ligação à Internet antes mesmo de inicializares o mIRC. A paciência é habitualmente a melhor opção aqui. Tenta novamente dentro de alguns minutos ou tenta outro servidor de IRC. Isto não tem nada a ver com o mIRC. Não existe algo que possas corrigir magicamente.

Um pedido de ligação ou de envio falhou porque a pessoa conectada não respondeu propriamente após um período de tempo. (O período timeout depende do protocolo de comunicação.)

Verifica o óbvio primeiro: verifica que o endereço de destino é um endereço de IP válido. Se usares um hostname, ele resolveu-se para o endereço correcto? Se a resolução do hostname usa uma tabela local de host, é possível que tenhas sido resolvido para um endereço obsoleto. Consegues fazer ping a esse hostname?

Tens um router configurado? O router está ligado e a correr (verifica fazendo-lhe um ping, e depois faz ping a um endereço no outro lado dele)? Tenta um traceroute ao endereço de destino para verificar que todos os routers estão a funcionar.

Verifica a tua máscara subnet. Se não tiveres a máscara subnet correcta, o teu sistema de rede poderá tratar um endereço local como sendo um endereço remoto (então faz redireccionamento dos endereços na subnet local para o router, em vez de emitir um pedido ARP localmente), ou vice-versa.

8 · [10061] Connection refused

Cenário: A Mary não está sequer em casa. Tenta Jane como último recurso.

Nenhumas ligações poderam ser efectuadas porque a máquina alvo activamente recusou-as. Isto habitualmente resulta da tentativa de ligar a um serviço que está inactivo num host estrangeiro.

Quer tu tenhas ido ao host errado, ou a aplicação de servidor que estás a tentar contactar não está a executar. Verifica o endereço de destino que estás a usar. Se usaste um hostname, será que ele resolveu-se para o endereço correcto? Se a resolução de hostname usa uma tabela de host local, é possível que tenhas resolvido para um endereço velho obsoleto. Também é possível que o ficheiro local dos serviços tenha um número de port incorrecto (embora seja pouco provável).

Podes verificar que o sistema remoto está a rejeitar a tua tentativa de ligação ao verificar as estatísticas da rede localmente. Verifica que o teu sistema de rede (implementação WinSock) tem um utilitário que mostra as estatísticas da rede. Tu poderias usar isto para verificar que estás a receber resets de TCP ou pacotes ICMP Port Unreachable cada vez que tentas ligar-te.

Isto é apenas um dos erros mais frequentes e um dos melhores a encontrar, uma vez que é um dos menos ambíguos. Existem apenas algumas causas possíveis para este erro:

  • Tentaste ligar ao port errado. Isto é um problema comum.

  • Tentaste ligar ao endereço errado de host de destino.

  • A aplicação de servidor não está a correr no host de destino.

  • A aplicação de servidor não está a ouvir no port correcto.

9 · [10065] No route to host Error

Cenário: O Joe não consegue sequer encontrar o seu telefone.

Isto normalmente significa que não estás correctamente ligado à Internet. O teu Windows não consegue descobrir ou sequer onde encontrar o servidor de IRC. Não tem nada a ver com o mIRC ou IRC! Verifica a tua ligação (reconecta se tudo parecer correcto) e tenta novamente.

10 · Unable to resolve IRC server

Cenário: O Joe está a tentar ligar à Mary mas a operadora não sabe quem é a Mary.

Este erro ocorre quando os registos DNS (que convertem hostnames para endereços IP para uso actual) estão alterados ou não existem (nenhum servidor DNS autorizado pode ser localizado).

  • O servidor DNS para esse hostname está em baixo.

  • Os registos DNS para esse domínio já não estão activos ou válidos.

  • Os novos registos DNS para um domínio que alterou de IPs ainda não propagaram-se então ainda apontam para o endereço IP antigo, que também pode dar um erro Connection Refused ou Connection Timed Out.

11 · Nota Final

Existem mais alguns erros que não mencionei aqui, esses erros podem ser encontrados em http://www.mirc.co.uk/help/servererrors.html. Agradecimentos especiais a Krejt pelo seu documento. Para os leitores, esperamos que este documento tenha sido de alguma ajuda.