Netsplit
Em rede de computadores , especificamente, IRC, netsplit é uma desconexão entre dois servidores. Uma divisão entre quaisquer dois servidores divide toda a rede em duas partes[1]. Pode ocorrer por falhas técnicas, falhas na conexão do servidor com a Internet, ou por escolha dos seus administradores.
Causa e efeitos
editarConsidere o gráfico à direita, que representa a rede de computadores. Cada linha representa uma conexão estabelecida. Portanto, o servidor C está conectado diretamente a A, que também está conectado a B e D.
Se ocorrer uma interrupção na conexão entre C e A, a conexão poderá ser encerrada. Isso pode ocorrer por um socket produzindo um erro, ou por lag excessivo no qual o servidor remoto A antecipa esse caso (o que é chamado de tempo limite)
Quando a conexão entre A e C é interrompida, os usuários que estavam conectados a outros servidores que não são mais acessíveis na rede parecem encerrar. Por exemplo, se o usuário Sara está conectado ao servidor A, o usuário Bob está conectado ao servidor B e o usuário Joe está conectado ao C, e C divide, ou desconecta, de A, para Joe parecerá como se Sara e Bob tivessem encerrado (desconectado da rede), e parecerá para Sara e Bob que Joe desistiu. No entanto, Joe ainda pode falar com qualquer pessoa que esteja conectada ao mesmo servidor (neste caso, servidor C). Isso ocorre porque os servidores aos quais estão conectados são informados da alteração do status da rede e atualizam suas informações locais de acordo para exibir a alteração.
Posteriormente, o servidor C pode religar (reconectar) em um (ou mais) servidor (ou servidores) na rede e os usuários que pareciam ter encerrado serão reconectados; o processo de envio dessas informações atualizadas para todos os servidores na rede é chamado de netburst (ou sync).
Problemas de segurança
editarOcasionalmente, os usuários tentarão usar netsplits para obter acesso a canais privados. Se nenhum dos usuários do canal estivesse no servidor C, um usuário poderia entrar em um canal privado e mais tarde obter acesso quando os servidores reconectarem. Isso é comumente conhecido como split riding ou riding the split.
Outro ataque IRC orientado a netsplit típico é o nickname colliding. Nesse ataque, um usuário em um segmento dividido da rede mudaria os apelidos para um usuário do outro lado da rede dividida. Após a reconexão, a rede desconectaria os dois usuários porque apenas um apelido pode estar em uso por vez. O software de servidor IRC moderno eliminou amplamente esse método, mas os servidores que usam software mais antigo ainda podem estar vulneráveis.
Aparência
editarAbaixo estão exemplos de um netsplit típico. Quando dois servidores se dividem, um usuário vê isso como um grande número de usuários desistindo. Depois que os servidores são reconectados, um usuário vê os outros usuários retornando.
Em clientes IRC GUI
editar* usera has quit (a.irc.net b.irc.net)
* userb has quit (a.irc.net b.irc.net)
* userc has quit (a.irc.net b.irc.net)
* usera has joined #channel
* userb has joined #channel
* userc has joined #channel
No cliente IRC de linha de comando
editar00:00 -!- Netsplit a.irc.net <-> b.irc.net quits: usera, userb, userc
00:00 -!- Netsplit over, joins: usera, userb, userc
Para um usuário em uma rede privada
editar* usera has quit (*.net *.split)
* userb has quit (*.net *.split)
* userc has quit (*.net *.split)
* usera has joined #channel
* userb has joined #channel
* userc has joined #channel
Referências
editar- Hossein Bidgoli: The Internet Encyclopedia- Volume 2. Wiley 2004, ISBN 978-0-471-22204-0, p. 312-313
- ↑ Kalt <kalt@stealth.net>, Christophe. «Internet Relay Chat: Server Protocol». tools.ietf.org (em inglês). Consultado em 9 de janeiro de 2019
Ligações externas
editar- Netsplit Manual (02/12/2009)