Emule

Disponível somente no TrabalhosFeitos
  • Páginas : 12 (2776 palavras )
  • Download(s) : 0
  • Publicado : 31 de outubro de 2012
Ler documento completo
Amostra do texto
I - Histórico
            A idéia do projeto eMule surgiu no dia 13 de maio de 2002 quando Hendrik Breitkreuz (conhecido como Merkur) se reuniu com outros desenvolvedores para criar um aplicativo que utilizasse a rede eDonkey de maneira mais eficiente e mais agradável para o usuário. O eDonkey já era um sistema de distribuição de arquivos ponto-a-ponto popular mas que necessitava de algunsajustes para ser um sucesso. Foi por essa necessidade que surgiu o eMule.
            O eMule é um aplicativo ponto-a-ponto (peer-to-peer) de compartilhamento de arquivos baseado no protocolo eDonkey. Ele também trabalha com a rede eDonkey2000, a qual possui cerca de 11,5 a 12,5 milhões de usuários conectados simultaneamente compartilhando cerca de 700 a 900 milhões de arquivos. É um programa decódigo aberto lançado sobre a GNU General Public License e roda no sistema operacional Windows possuindo uma versão para Linux denominada aMule. Além de utilizar a rede eDonkey, o eMule tem uma rede ainda experimental própria denominada Kademlia que adota uma política descentralizada - diferente da rede eDonkey.
            A rede do eMule possui centenas de servidores e milhões de clientes. Estesdevem se conectar ao servidor para ter acesso à rede. Tal conexão se estabelecerá até que o cliente saia do sistema. Os servidores realizam um serviço de indexação centralizado (assim como era no Napster) e não se comunicam com outros servidores.
II – Conexão
            A conexão com a rede eMule é feita, inicialmente, com uma conexão única entre cliente-servidor. Em seguida, o cliente irá seconectar a outros servidores e a outros diversos clientes expandindo sua ligação na rede por via tanto de conexões TCP como UDP. Como explicaremos abaixo.

                II.a) Conexão Cliente-Servidor
            Ao iniciar o aplicativo eMule, o cliente tentará se conectar a diversos servidores em paralelo, mas estabelecerá a conexão TCP apenas com um. O eMule não permite que um cliente seconecte a vários servidores ao mesmo tempo ou mude de servidor dinamicamente sem a intervenção do usuário. No aperto de mãos (ouhandshake) entre o cliente e o servidor, este último envia uma identificação de quatro bytes ao cliente que é denominada Client ID. Esta ID será válida enquanto durar a conexão, a qual somente será encerrada caso o cliente se desconecte daquele servidor, feche o eMule ouperca o acesso à internet.
            O cliente poderá receber uma ID alta (High ID) ou baixa (Low ID). Ele terá uma ID baixa se ele não aceitar receber conexões, o que ocorrerá caso ele esteja usando algum tipo de firewall não configurado adequadamente para o eMule, estiver conectado através de uma NAT, por um servidor proxy ou se o servidor estiver muito ocupado. Do contrário, ele receberá umaID alta. Ter uma ID baixa significa ter um acesso restrito a rede e ser possivelmente rejeitado por servidores, que dão preferência a clientes com ID alta. Esta última, garante ao usuário total proveito da rede e será a mesma quando ele se conectar a outros servidores. A ID alta de um cliente só será alterada quando este mudar seu endereço IP, pois elas são calculadas da seguinte forma:“Assumindo que o IP do cliente seja X.Y.Z.W , a ID alta será (X + 28)*(Y + 216)*(Z+224)*W (‘representação big endian’). A ID baixa é sempre inferior a 16777216 (0x1000000), mas não sabemos como é calculada, só é valido lembrar que a ID baixa difere entre servidores.”
[Adaptado de: Yoram Kulbak and Danny Bickson, The eMule Protocol Specification, 2005]
            Estabelecida a conexão, o cliente enviaao servidor sua lista de arquivos compartilhados. O servidor armazena essa lista na sua base de dados junto com outras milhões de informações de outros usuários também conectados. A seguir, o cliente envia sua lista de downloads, com os arquivos que ele deseja baixar. O servidor retorna uma lista de outros clientes que possuem tais arquivos – ou ao menos parte deles. O cliente também enviará...
tracking img