Redes de Computadores: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
(→‎Links: link pro dispatch-proxy)
(→‎Ferramentas: outras solucoes load balancing)
Linha 138: Linha 138:
* [http://en.wikipedia.org/wiki/As_We_May_Think As we may think] - an essay on www-like concepts.
* [http://en.wikipedia.org/wiki/As_We_May_Think As we may think] - an essay on www-like concepts.
=== Ferramentas ===
=== Ferramentas ===
Connection load-balancing
* [https://github.com/Morhaus/dispatch-proxy dispatch-proxy] - a proxy that balances traffic between multiple internet connections to increase your download speed (eg, wifi/ethernet/3G/4G).
* [https://github.com/Morhaus/dispatch-proxy dispatch-proxy] - a proxy that balances traffic between multiple internet connections to increase your download speed (eg, wifi/ethernet/3G/4G).
* Other solutions exist using iptables or kernel modules [https://news.ycombinator.com/item?id=6823269]


[[Category:IPRJ]] [[Category:Lab Macambira]] [[Category:Redes]]
[[Category:IPRJ]] [[Category:Lab Macambira]] [[Category:Redes]]

Edição das 00h52min de 9 de outubro de 2014

Esta é a página oficial do curso de Introdução a Redes de Computadores (graduação) do IPRJ, contendo material potencialmente útil ao publico geral.

Datacenter-cables.jpg
Google Datacenter.jpeg
Google-fiber-switches.jpg

Informacoes gerais

  • Instrutor: prof. Ricardo Fabbri, Ph.D.
  • Periodo: 2o. Semestre de 2014, voltado ao 6o. periodo de Engenharia da Computacao
  • Tercas 16:10-17:50h e Quintas 14:20-16:00, sala 211 e Lab Inf #??

Pre-requisitos

Introducao à Programacao e Algoritmos e Estrutura de Dados.

Software

Tarefas

As tarefas devem ser formatadas com notacao matematica adequada, preferencialmente em Latex.

Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt

Quando a tarefa involver qualquer programacao, o aluno devera enviar o codigo fonte. O codigo junto com a documentacao devera estar dentro de um unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.

Trabalho 0: Leitura do Livro Tubos

Livro-tubos.jpg
  • Um livro util para saber mais de aspectos concretos da internet.
  • Entregar um resumo *coom opiniao pessoal*:
    • 1 pagina no dia da P1 relativa à primeira metade do livro (aprox. metade do numero de paginas)
    • 3 páginas no dia da P2 relativas à segunda metade do livro (restante do livro + analise pessoal)
  • Video do Autor: https://www.youtube.com/watch?v=XE_FPEFpHt4
  • Valor de nota: porcentagem de trabalho final proporcional à dificuldade relativa aos outros projetos

Trabalho 1: Apresentacao Inicial de Tecnologias

  • Apresentar uma visao geral sobre alguma tecnolgia de redes e o basico de como funciona.
  • Apresentacao de ate 20min.
  • Grupos de ate 3 pessoas
  • Data de entrega: Quinta, 25/Set/2014
  • A apresentacao sera colocada on-line, exceto se solicitado o contrario.
  • Escrever os grupos e respectivos topicos aqui:
  • Sugestoes de topicos:
    • Rede Rio - Rede de computadores à qual queremos conectar o IPRJ para aumentar nossa velocidade de conexao
    • Peer-to-Peer (P2P) - Guilherme Gonçalves, Rennan Cockles
      • Bit torrent
      • e-Mule: "As of July 2014, it is the second most frequently downloaded project on SourceForge, with over 673.5 million downloads, only behind VLC media player"
      • Bitcoin
      • Gnutella
      • Soulseek
      • Web p2p: ideia é que todos que acessassem foo.com/bar pela primeira vez, seria feito um fork e estariam servindo /bar, em suas próprias instâncias.
    • Swarm robotics / Robótica de Enxame
    • Game servers - programacao de servidores de jogos multiplayer e seu funcionamento Luccas Beck Reis
    • Redes de alto desempenho
      • Funcionamento de redes para clusters de computadores/nuvem/cloud/supercomputadores, e como programar, tanto baixo nivel como alto nivel (apps, etc). Luan dos Santos, Lucas Savioli, Navar Nunes
        • Infiniband - Rede de alto desempenho usada em supercomputadores
      • Topologias de interconnects: toroidais, etc.
    • Técnicas Cracker, seguranca - Geovane Pacheco, Susana Bouchardet
    • Wi-Fi: antenas, comunidades
    • programacao para a web / tecnologias mais alto nivel
      • Web Sockets - "a standardized way for the server to send content to the browser without being solicited by the client, and allowing for messages to be passed back and forth while keeping the connection open. In this way a two-way (bi-directional) ongoing conversation can take place between a browser and the server."
      • Node.js
      • Tambem liga com p2p (ver acima)
    • VoIP

Trabalho 2, Lab: DDoS Botnet

  1. escreva um programa (em shell, python ou C) para controlar diversas maquinas via SSH
    1. comece com um programa que simplesmente conecta numa maquina via ssh
  2. envie um comando de DDoS para todas as maquinas simultaneamente (como um flood ping todos direcionados a uma mesma maquina vitima)
  3. teste na rede local (do lab, por exemplo) e constate na maquina "vitima" os graficos de uso de CPU.
  4. quantos bots voce precisa para que a maquina vitima fique inutilizavel?

Um exemplo para o item 1 esta no livro "Violent Python" listado na bibliografia. Entregar um relatorio (pode ser em .txt) indicando cada passo e como foi a experiencia. Entregar via email com subject [trab-redes]. Os logs de comandos executados em aulas devem ser entregues separadamente.

Bonus de Video

  • Cada aluno que apresentar um video curto sobre tecnologias de rede no inicio de cada aula teorica

ira conquistar ate +1 ponto na media final

  • O Bonus sera maior quanto maior o numero de videos apresentados bem como a qualidade avaliada pelo professor.

Recursos principais

Bibliografia

Aulas

  • Teoria: Introdução, motivação, e formato do curso. Trabalhos 0 e 1 foram passados. (16/set/2014)
  • Lab: Visao geral de Linux para redes, instalação e comandos de rede. Rotina basica de laboratorio. Coleta dos temas de trabalho. Videos motivacionais. (previsao: 18/set/2014)
  • Apresentacoes de trabalho 1 (25/set/2014)
  • Apresentacoes de trabalho 1, parte 2. Conceitos e referencias uteis para realizacao dos proximos trabalhos e laboratorios (sem aprofundamento por enquanto). Videos motivacionais. (30/set/2014)
  • Lab: Fazer tutorial de linux LUPE ate final da secao Scripting e entregar o historico de comandos realizados. (2/out/2014)

Regras para Aulas de Laboratorio

  • Aulas de laboratorio terao nota individual, mas pode assistir com apoio do colega.

Envio do historico de comandos

  • Cada aluno ira acompanhar a aula de laboratorio testando os procedimentos demonstrados
  • Utilizar sempre o mesmo terminal para os comandos da aula
  • Ao final, o aluno devera enviar o arquivo ~/.bash_history por email, com as seguintes especificacoes:
    • Subject: deve conter a string "[log-redes]"
    • O historico deve ser enviado como um arquivo anexado
    • Um email de confirmacao automatica ira ser enviado caso o email for formatado corretamente de acordo com as regras acima.
    • Somente emails com confirmacao serao considerados para nota.
    • Arquivos identicos serao descartados com nota 0.

Provas

Criterio de Avaliacao

     M_p = (P1 + P2)/2         
     M = 0.6*M_p + 0.4*T , onde T é a nota dos trabalhos
     Se M >= 5, passa --> M
     Sub: (apenas se alguem faltou alguma prova ou quiser melhorar nota - mas quem entregar ira substituir)
     M_sub = media com sub
     Se M_sub >= 5, passou --> M_sub
     Quem for usar a prova como Sub ira substituir a nota independentemente do resultado.
     M_sub = M_f pois sera considerada a mesma prova e a prova final

Links

Links diversos interessantes, alguns meus e outros indicados por colegas (ainda nao filtrados):

Ferramentas

Connection load-balancing

  • dispatch-proxy - a proxy that balances traffic between multiple internet connections to increase your download speed (eg, wifi/ethernet/3G/4G).
  • Other solutions exist using iptables or kernel modules [1]