Bit-Torrent em redes locais: Solução para transferir imagens de instalação

Embed Size (px)

DESCRIPTION

Se usamos Bit-Torrent para transferir, pela Internet, imagens de DVDs de Linux e outros conteúdos, por que não usarmos esse protocolo para transferir grandes massas de dados entre vários computadores numa rede local? Essa é a proposta desse trabalho, apresentado no 11o Fórum Internacional de Software Livre (FISL), entre os dias 21 e 24 de julho de 2010.

Citation preview

  • 1. Bit-Torrent em redes locais Ricardo Jurczyk Pinheiro Soluo para transferir imagens de instalao

2. Objetivo da palestra

  • Altamente experimental.
    • Cuidado! Se sacudir, explode! 3. Nada de perguntas escabrosas!
  • Ser que funciona mesmo? 4. Motivao Arrumar uma maneira mais eficiente de compartilhar arquivos grandes numa rede esparsa, de forma eficiente e principalmente... Rpida.

5. E quem esse chato?

  • Professor:
    • FAETEC (desde 1999). 6. Faculdades (UERJ, UniverCidade, Paraso).
  • Matemtico e professor de matemtica, pela UFRJ. 7. Mestre em Cincia da Computao, pela UFF. 8. Unix desde 1991, Linux desde 1998.

9. Esse cara entende de Linux?

  • Entusiasta do software livre:
    • Conectiva, Red Hat, Fedora, Ubuntu, Gentoo, OpenWRT, Debian, CentOS...Tem prompt, estamos chegando junto!
  • Palestrante no 5o Frum de SL do RJ (2007) e no 6o CONISLI (2008). 10. Membro do colegiado do curso de Tecnologia em Redes da UniverCidade. 11. Colunista ( polmico ) do site Guanabara.info.

12. Protocolo Bittorrent

  • Criado por Bram Cohen, em 2003.
    • Objetivo original: distribuir imagem ISO de distros Linux.
  • Maximiza a velocidade de transferncia dividindo um arquivo grande em pedaos, e cada parte pode ser recebida a partir de diferentes clientes. 13. Objetivo: Replicar um arquivo grande por vrios clientes.

14. Download - forma tradicional

  • Um servidor fornece o arquivo. 15. Vrios clientes recebem esse arquivo.
    • Desempenho mximo limitado pelo nmero de clientes - gargalo. 16. Perda de robustez se o servidor cai, perde-se o acesso ao arquivo.

17. Download em redes P2P

  • Usa um programa para achar quem fornece o arquivo desejado. 18. Resolve (em parte) o problema da robustez, e diminui o gargalo.
    • Se s um cliente fornecer o arquivo desejado, o problema continua.

19. Como funciona? (Sim, tem gente que no sabe...)

  • Oarquivo logicamente dividido em pedaos de 256 Kb, em mdia. 20. Uso de arquivos .torrent como apontadores. 21. O tracker (num servidor) aponta outros clientes (seeders e leechers) que baixam o mesmo arquivo. 22. O leecher baixa diferentes partes, de diferentes origens, e envia o que j recebeu para outros leechers.

23. Vantagens

  • Sem filas de envio. 24. Otimiza o desempenho geral da rede. 25. Quanto mais usurios, mais largura de banda disponvel. 26. Segurana s fornece os arquivos que esto indicados no arquivo .torrent. 27. Sem sobrecarga no servidor central pode at deixar de fornecer o arquivo.

28. Desvantagens

  • Falta de anonimato melhora se usar criptografia, mas o desempenho cai. 29. Leechers que abandonam o barco - Pessoas que baixam o arquivo e no continuam fornecendo-o a longo prazo o arquivo deixa de estar disponvel.
    • Em termos de downloads, arquivos .torrent tem vida curta.

30. Glossrio

  • Hash Cdigo verificador de cada bloco - garante a integridade do arquivo. 31. Tracker daemon que roda num servidor, fazendo o papel de ponteiro para os clientes. 32. Leecher cliente que est baixando o arquivo. 33. Seeder cliente que j baixou todo o arquivo e continua fornecendo-o.

34. Crescimento

  • 2001: Primeiros rascunhos do protocolo. 35. 2003: Primeiro cliente, em Python. 36. 2005: 30% do trfego da Internet.
    • 60% - vdeos: 46% - filmes e TV.
  • 2010: 55% do trfego de Internet (estimativa).
    • Trfego mdio por usurio: 25 Gb/ms. 37. Trfego mundial por ms: 1 Exabyte = 2 60bytes.

38. Mitos sobre o Torrent

  • O Torrent est acabando com o cinema.
    • Crescimento no faturamento dos cinemas em 5 anos: De US$ 23,1 bi para US$ 29,9 bi.
  • O Bittorrent rastreado, voc pode ser preso por isso.
    • possvel achar o IP, data, horrio do download e informaes do provedor usado pelo usurio. Mas s quando o arquivo muito grande.

39. Problema (o local)

  • Escola Tcnica Estadual Repblica.
    • Rede FAETEC (Rio de Janeiro) 40. Mais de 4000 alunos, em 6 cursos tcnicos. 41. Cerca de 250 computadores. 42. 130 computadores em 10 laboratrios de informtica e 1 laboratrio de montagem e manuteno. 43. Windows e Linux em (quase) todos os desktops, e Linux nos servidores.

44. Problema (a imagem de instalao)

  • Uso nas mquinas da escola.
    • 8 imagens diferentes. 45. 4 imagens de instalao de laboratrio.
      • Exatos 9,4 Gb (386 partes de 25 Mb cada). 46. Windows (XP SP3) e Linux (Ubuntu 10.04). 47. Mais de 40 programas para uso em aula, de diferentes licenas (sim, tem pirataria).

48. Problema (estrutura de rede)

  • 10 laboratrios de informtica interligados entre si Gigabit Ethernet. 49. 13 mquinas por laboratrio Fast Ethernet. 50. Em condies normais:
    • 13 mquinas descem e restauram a imagem em 30 minutos, em mdia. 51. 10 laboratrios prontos em 6 horas, em mdia.

52. Soluo padro

  • Uso de FTP. 53. 4 servidores fornecem as imagens. 54. Script escolhe o servidor (round-robin), e baixa a imagem.

55. Telas do script 56. Critrios do teste

  • Mquinas usadas: 3 (trs)
    • 2 desktops, 1 netbook.
  • Rede: Fast Ethernet
    • Roteador: Linksys WRT54GL com OpenWRT 8.09 (Kamikaze)
  • Arquivos:
    • 1024 arquivos gerados com /dev/urandom (total de 1 Gb). 57. 1 arquivo com 1 Gb.

58. Critrios do teste (cont.)

  • Testes:
    • 2 tipos de arquivos. 59. 1 mquina ou as 3, simultaneamente.
      • Transferncia via FTP (vsftpd e ncftpget) 60. Transferncia via bittorrent (Bti-Tracker e ctorrent)
  • Cada teste foi executado 5 vezes. 61. Tomada de tempo obtida com o comando time.

62. Grficos FTP 1 mquina 63. Grficos FTP 1 mquina 64. Grficos FTP 3 mquinas 65. Grficos FTP 3 mquinas 66. Sobre o torrent

  • Ferramentas usadas:
    • Tracker: btitracker. 67. Criao do torrent: mktorrent. 68. Cliente torrent: ctorrent. 69. Medio de tempo: time.
  • Arquivos torrent:
    • 4096 hashes. 70. Diviso em pedaos de 256 Kb cada.

71. Grficos torrent 1 mquina 72. Grficos torrent 1 mquina 73. Grficos torrent 3 mquinas 74. Grficos torrent 3 mquinas 75. Comparativo FTP e torrent 1 mquina 76. Comparativo FTP e torrent 1 mquina 77. Comparativo FTP e torrent 3 mquinas 78. Comparativo FTP e torrent 3 mquinas 79. Comparativo FTP e torrent - mdias 80. Comparativo FTP e torrent - mdias 81. Concluses

  • 1 mquina: Desempenho pouco pior do que o FTP (perto de 10% mais lento). 82. 3 mquinas simultneas: Desempenho melhor (algo como 35% mais rpido). 83. Tendncia de melhora com o uso de mais mquinas (o quanto vai cair o tempo?). 84. Facilidade com o uso da linha de comando, que o maior barato (Estdio Livre).

85. Perspectivas

  • Mais testes com mais mquinas. 86. Implementao no sistema em uso no trabalho
    • Script de gerao e restaurao implementado dentro de uma verso customizada do System Rescue CD.
  • Pensar sobre o uso de torrents trackerless.

Dominao mundial (ops, isso ainda no!). 87. Dvidas? [email_address] Momento jab: http://retrocomputaria.blogspot.com 88. Fim! Por enquanto... Maiores novidades para breve! Questo legal:

  • Esta apresentao distribuda segundo a licenaCreative Commons ShareAlike 2.5 (http://u.nu/97ied) , logo:
    • Pode copiar, distribuir, exibir, etc., e criar derivaes. 89. obrigatrio dar crdito ao autor original (ou seja, eu). 90. No possvel us-la comercialmente. 91. A licena viral, se mantm para trabalhos derivados. 92. Procure por uma cpia dessa apresentao futuramente em http://www.slideshare.net.