Internet Relay Chat
De Wikipedia, a enciclopédia encyclopedia
Na informática, o Internet relay chat (conhecido pela abreviação IRC) é um sistema de bate-papo online no formato texto/teletexto comunitário (originalmente protocolo de texto simples), criado em 1988 por Jarkko Oikarinen, que permite discussões entre vários participantes nos chamados "canais de conversação", e conversas entre apenas dois parceiros de forma particular (em diálogos de perguntas e respostas, por exemplo),[1] utilizando o programa de chat chamado "cliente IRC" conectando-se a um servidor IRC. Qualquer participante pode criar um novo canal de conversa e, um único usuário de computador pode, participar de vários canais simultâneos.
Este cliente de conversação pode ser um programa independente no computador local (mIRC e XChat por exemplo) ou ter a forma de uma interface de usuário especial de dentro de um programa maior, como um navegador de Internet. Por exemplo, o navegador Opera inclui um cliente IRC e clientes como o Mibbit, o IRCCloud, o KiwiIRC e o The Lounge Chat do MIT podem funcionar em conexão com muitos navegadores populares.
Uma rede IRC de servidores interconectados que operam como estações de retransmissão é usada para mediar as chamadas no IRC. O recurso essencial desta rede é sua topologia de comunicação BITNET, que permite apenas um caminho de comunicação entre dois participantes. Historicamente, isso garantiu comunicação eficiente porque, nos primeiros dias do IRC, as linhas intercontinentais de dados tinham uma capacidade muito limitada. A topologia permitiu que mensagens de um cliente em um continente não fossem enviadas individualmente para cada cliente em outro continente mas apenas uma vez para um servidor local que então as distribui para os clientes. Apesar das capacidades de gerenciamento limitadas, foram possíveis "paisagens de bate-papo". A desvantagem é a falta de redundância, que se manifesta nos chamados net splits: se algum servidor falha, a rede divide automaticamente as peças separadas até que uma nova conexão seja estabelecida entre as partes.
As maiores redes IRC consistem em várias dezenas de servidores IRC que conectam simultaneamente mais de cem mil usuários e gerenciam dezenas de milhares de canais em que milhares de pessoas podem participar simultaneamente. Apesar dessas enormes proporções, o atraso em um texto enviado é na ordem de décimos de segundo (raramente excede o tempo de um segundo).
A utilização do IRC vem, desde 2003, diminuindo constantemente. Os números apontam uma perda de 60% dos usuários (de 1 milhão em 2003 para cerca de 400 mil em 2021) e mais de metade dos canais (de meio milhão em 2003 para menos de 200 mil em 2021). Em abril de 2011, hospedando centenas de milhares de canais e operando em um total de aproximadamente 1 500 servidores (além de aproximadamente 3 200 servidores IRC em todo o mundo),[2] as 100 principais redes IRC serviam mais de meio milhão de usuários.[3] Em junho de 2021, existiam 481 diferentes redes IRC conhecidas por estarem operando.[4] Dentre tais redes, a Libera Chat de código aberto (fundada em maio de 2021) tem a maioria dos usuários, com 21.348 canais em 15.433 servidores. Também entre elas, as 100 melhores compartilhavam 188.336 canais operando em 96.708 servidores.[5]
Do ponto de vista técnico, o Internet relay chat é implementado como um protocolo de camada de aplicação para facilitar a comunicação na forma de texto. O processo de chat funciona em um modelo de rede cliente-servidor. Conforme já discutido, os clientes IRC podem ser programas de computador autônomos ou aplicativos baseados na web executados localmente no navegador ou em um servidor de terceiros. Esses clientes se comunicam com servidores de chat para transferir mensagens para outros clientes.[6] O IRC é projetado principalmente para comunicação em grupo (em fóruns de discussões chamados de canais)[7] mas também permite comunicação um-para-um por meio de mensagens privadas,[8] bem como bate-papo e transferência de dados[9] (incluindo compartilhamento de arquivos).[10]
O software cliente está disponível para todos os principais sistemas operacionais que oferecem suporte ao acesso à Internet.[11]