Como funciona uma rede IRC
o servidor de IRC propriamente dito, não é mais que um programa
correndo em background (um daemon) em uma máquina determinada (em
UNIX corre o "ircd"). Os usuários se conectam a esta máquina
e têm acesso ao servidor em forma de clientes
Uma rede de IRC se compõe de vários servidorres correndo em
paralelo e enlaçados entre eles, de forma que se mantenham
comunicados (possam trocar informações entre eles).Quando um
usuário se conecta a um determinado servidor, este avisa aos
demais que formam parte da rede.Igualmente qualquer outra ação
é informada aos outros servers, de forma que estes atuam como
uma unidade.Desta forma o usuário pode ser visto em todos os
servidores ainda que, fisicamente só esteja conectado a um deles.
Isto permite ter muitos usuários repartidos por diferentes
servers mas que, virtualmente, é como se estivessem em um só.
A estrutura da rede IRC é como uma árvore (quer dizer não pode
haver bucles, ou caminhos fechados. Ainda que um tanto especiais,
cada enlace ve a si mesmo como o tronco da rede e tem um grafico
em forma de árvore que lhe indica que caminho seguir para alcançar
cada um dos enlaces.Na "literatura" se diz "spanning
tree", o que se pode traduzir por árvore de expansão.
Isso quer dizer que em um determinado momento um enlace qualquer
terá armazenada a informação para alcançar a cada um dos
outros enlaces (tem um único caminho possivel para chegar aos
outros).
Esta informação é a árvore do enlace em questão. Por outro
lado, esta árvore pode ser diferente para ele em um outro
momento, ou seja, eles vão se reconfigurando. Isso tem a
vantagem de permitir adaptar-se a possiveis variações (eventuais)
na estrutura da rede (assim, se um enlace cai, os outros vão
detectá-lo e se reconfiguram de forma que os caminhos que antes
passavam por este enlace ja não passem. Tomariam caminhos
alternativos com os quais a rede seguiria funcionando normalmente
apesar da queda do enlace). A passagem de um enlace para o outro
se conhece como "hop" (salto). Assim, para alcançar o
enlace cinco, partindo do quatro teríamos que dar 2 hops; 1 do
quatro ao dois e outro do dois ao cinco.
Podemos visualizar a árvore 1a qual estamos conectados digitando
/links. Aparecerá uma janela com os servidores alcançáveis
desde o nosso, de forma hierárquica, quer dizer, respeitando a
estrutura da árvore. Normalmente indica entre parênteses
quantos hops voce precisa para chegar em determinado enlace.Net-Split.
Quando se rompe um dos enlaces (links) que unem dois servidores,
o conjunto se divide em dois subconjuntos, os quais tentarão
seguir funcionando normalmente ainda que de forma isolada. Quer
dizer, cada conjunto permanece operativo e mantem a comunicação
entre os servers pertencentes ao mesmo subconjunto. Mas, por razões
óbvias, os servidores de um subconjunto não vêm aos do outro e
vice-versa.
A esta situação se da o nome de net-split.
Em uma sessão normal de IRC veríamos assim:
[1:23]***__RoBsOn__ has quit IRC (sodre.fl.us.dal.net chrome.mo.us.dal.net).
Isso indica que estes dois servers estão splitados e que, em consequência disso eu saí da sua rede de IRC (o que ocorre é
que estou do outro lado do split, em outro conjunto de enlaces e
é como se estivesse em outra rede).
Quando o enlace caído retorna, aparece como um join, (tanto o
quit como o join são ações do servidor e efetivamente não
executei estes comandos).
Existem programas que detectam e avisam quando se produz algum
net-split ou net-merge; são os chamados "link-lookers"
e sua utilidade é bastante óbvia. Quando um server entra em
split, "arrasta com ele" os diretamente conectados.
Produzido por Robson Moraes Almeida.
Copyright
© 2000 - 2007
Robola Ltd. Todos os direitos reservados.
![]()
![]()
![]()
Última Atualização
09/06/2007