Mudanças entre as edições de "PJI2-2017-2"
(41 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 7: | Linha 7: | ||
= Projeto Integrador II: Diário de Aula 2017-2 = | = Projeto Integrador II: Diário de Aula 2017-2 = | ||
− | '''Professores:''' [[Marcelo_Maia_Sobral|Marcelo Maia Sobral]] ([[imagem:Facebook2.png|20px]] [http://www.facebook.com/Marcelo.Sobral.Ifsc Facebook]) e [ | + | '''Professores:''' [[Marcelo_Maia_Sobral|Marcelo Maia Sobral]] ([[imagem:Facebook2.png|20px]] [http://www.facebook.com/Marcelo.Sobral.Ifsc Facebook]) e [https://wiki.sj.ifsc.edu.br/index.php/Usuário:Ederson.luiz Ederson Luiz de Souza Santos] ([mailto:ederson.luiz@ifsc.edu.br ederson.luiz@ifsc.edu.br]) |
<br>'''Encontros:''' 2a feira/19:00, 4a feira/19:00 | <br>'''Encontros:''' 2a feira/19:00, 4a feira/19:00 | ||
<br>'''Atendimento paralelo:''' 4a e 6a feira 18:30 h | <br>'''Atendimento paralelo:''' 4a e 6a feira 18:30 h | ||
− | <br>'''Coordenadoria pedagógica (Graciane):''' graciane@ifsc.edu.br (3381-2890, 3381-2842) | + | <br>'''Coordenadoria pedagógica (Graciane):''' [mailto:graciane@ifsc.edu.br graciane@ifsc.edu.br] (3381-2890, 3381-2842) |
* [[PJI1-TecTel_%28Plano_de_Ensino%29|Plano de Ensino]] | * [[PJI1-TecTel_%28Plano_de_Ensino%29|Plano de Ensino]] | ||
Linha 110: | Linha 110: | ||
! Nome | ! Nome | ||
!Projeto 1 | !Projeto 1 | ||
− | !Projeto 2 | + | !Projeto 2/Aval. Indiv. |
− | !Conceito | + | !Testes S |
+ | !Conceito | ||
!Conceito<br>após ajuste | !Conceito<br>após ajuste | ||
+ | |- | ||
+ | |Alisson ||9 ||65/100 ||4(mantém) ||9 ||9 | ||
+ | |- | ||
+ | |Amarildo ||8||75/0 || 5 (mantém)||5 ||5 | ||
+ | |- | ||
+ | |Bruno ||8 ||60/25 || 4 (mantém)||6 ||6 | ||
+ | |- | ||
+ | |Gilson ||7 ||80/12 || 5 (mantém)||6 ||6 | ||
+ | |- | ||
+ | |Manoel ||8 ||60/38 || 4 (mantém)||6 ||6 | ||
+ | |- | ||
+ | |Mauricio ||8 ||80/100 || 6 (incrementa)||8 ||8 | ||
+ | |- | ||
+ | |Natha ||9 ||80/100 || 4(mantém)||9 ||9 | ||
+ | |- | ||
+ | |Osiel || 9||65/100 || 5(mantém)||9 ||9 | ||
+ | |- | ||
+ | |Robson ||8 ||75/25 || 3(mantém)||6 ||6 | ||
+ | |- | ||
+ | |Rodrigo ||8 ||60/25 || 4(mantém)||6 ||6 | ||
+ | |- | ||
+ | |Tiago ||8 ||72/100 || 2 (decrementa)||8 ||8 | ||
|} | |} | ||
Linha 1 749: | Linha 1 772: | ||
# Logue com prof1 e crie um arquivo chamado prof1.txt, executando o comando:<syntaxhighlight lang=bash> | # Logue com prof1 e crie um arquivo chamado prof1.txt, executando o comando:<syntaxhighlight lang=bash> | ||
echo "Teste prof1" > prof1.txt</syntaxhighlight>Saia do usuário prof1. | echo "Teste prof1" > prof1.txt</syntaxhighlight>Saia do usuário prof1. | ||
− | # Os diretórios dos professores e servidores | + | # Os diretórios dos professores e servidores devem ser mutuamente visíveis, mas não apagáveis, entre os membros dos grupos professores e servidores. Além disso, não devem ser sequer visíveis aos membros do grupo alunos. |
# Logue com um outro usuário prof e teste se você consegue listar o conteúdo do diretório home do usuário prof1, exibir o conteúdo do arquivo criado no diretório de prof1 e escrever algo neste mesmo arquivo. | # Logue com um outro usuário prof e teste se você consegue listar o conteúdo do diretório home do usuário prof1, exibir o conteúdo do arquivo criado no diretório de prof1 e escrever algo neste mesmo arquivo. | ||
# Logue com o usuário servidor1 e faça um ''ls -l'' dentro do diretório home do usuário prof1. Dê um cat no arquivo prof1.txt que está destro deste diretório. Tente editar este arquivo. | # Logue com o usuário servidor1 e faça um ''ls -l'' dentro do diretório home do usuário prof1. Dê um cat no arquivo prof1.txt que está destro deste diretório. Tente editar este arquivo. | ||
# Logue com um usuário aluno e faça um ''ls -l'' dentro do diretório home do usuário prof1. Foi possível executar este comando? Se não, por quê? | # Logue com um usuário aluno e faça um ''ls -l'' dentro do diretório home do usuário prof1. Foi possível executar este comando? Se não, por quê? | ||
+ | # Crie um diretório chamado ''trabalho'' dentro de ''/var/tmp''. Descreva tudo que é necessário fazer para que: | ||
+ | #* Usuários do grupo ''prof'' consigam criar arquivos dentro desse subdiretório | ||
+ | #* Demais usuários não possam entrar nesse subdiretório, tampouco listá-lo | ||
+ | #* Qualquer arquivo existente dentro desse subdiretório, ou que venha a ser criado, deve poder ser lido e editado pelos usuários grupo ''prof''. | ||
+ | #* Qualquer arquivo existente nesse subdiretório somente pode ser removido pelo usuário que o criou. | ||
+ | |||
{{Collapse bottom | Aula 19}} | {{Collapse bottom | Aula 19}} | ||
Linha 1 758: | Linha 1 787: | ||
= 09/10: Projeto 2: acrescentando discos ao computador = | = 09/10: Projeto 2: acrescentando discos ao computador = | ||
− | {{Collapse top | Aula | + | * [https://moodle.sj.ifsc.edu.br/mod/quiz/view.php?id=3601 Teste 5 (prazo: 16/10 18:59 h)] |
+ | |||
+ | {{Collapse top | Aula 20}} | ||
+ | |||
+ | '''Curiosidades:''' | ||
+ | * [https://www.howtogeek.com/165472/6-things-you-shouldnt-do-with-solid-state-drives/ 6 Coisas que não se devem faer com um disco SSD] | ||
+ | * [http://www.storage-switzerland.com/Articles/Entries/2012/3/6_Why_Flash_Wears_Out_and_How_to_Make_it_Last_Longer.html Por que memória flash estraga com o tempo] | ||
+ | * [https://itblog.sandisk.com/ssd-endurance-speeds-feeds-needs/ Durabilidade de discos SSD] | ||
== Particionamento do disco == | == Particionamento do disco == | ||
Linha 1 823: | Linha 1 859: | ||
== Atividades == | == Atividades == | ||
− | {{Collapse bottom | Aula | + | {{Collapse bottom | Aula 20}} |
+ | |||
+ | = 11/10: Projeto 2: Permissões (continuação) = | ||
+ | |||
+ | Hoje houve o conselho de classe na primeira metade da aula. | ||
+ | |||
+ | {{Collapse top | Aula 21}} | ||
+ | {{Collapse bottom | Aula 21}} | ||
+ | |||
+ | = 16/10: Projeto 2: Processos e Instalação de softwares = | ||
+ | |||
+ | {{Collapse top | Aula 22}} | ||
+ | |||
+ | Aula passada vimos como usuários e grupos podem ser usados para organizar e proteger o acesso a recursos mantidos pelo sistema operacional (arquivos, programas, dispositivos de entrada e saída, ...). Hoje estudaremos o que são processos, como obter informações sobre eles e como terminá-los. Além disso, veremos também como processos podem usar suas entrada e saída padrão para receber dado para processar e apresentar resultados, e também para se comunicarem. | ||
+ | |||
+ | |||
+ | === Processos === | ||
+ | |||
+ | Já vimos que sistemas operacionais modernos, como Linux, FreeBSD, Windows, e Android, são capazes de executar múltiplos programas ao mesmo tempo. No caso dos sistemas operacionais Unix, e o Linux pertence a essa família, processos são '''programas em execução'''. Um programa contém instruções e dados armazenados em um arquivo. Ao ser executado um arquivo, cria-se um processo. O sistema operacional carrega as instruções e dados em memória RAM, e faz o processador executá-las. Múltiplos processos podem ser criados a partir do mesmo arquivo de programa, sendo executados de forma independente. Os detalhes de como manter todos os processos em memória, e revezar suas execuções de forma a parecer que são simultâneos, são responsabilidade do sistema operacional. | ||
+ | |||
+ | |||
+ | Vários utilitários (programas auxiliares) existem para obter informações do sistema operacional sobre processos e memória. Alguns trabalham em modo texto, como: | ||
+ | |||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man1/ps.1.html ps]:''' lista os processos existentes | ||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man1/pstree.1.html pstree]:''' lista os processos existentes mas de forma hierárquica | ||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man1/top.1.html top]:''' lista os processos mais ativos, junto com informações globais sobre uso dos recursos no sistema operacional (memória, processador, memória virtual, quantidade de processos, carga de trabalho) | ||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man1/atop.1.html atop]:''' o mesmo que '''top''', mas com maior detalhamento do uso de recursos mantidos pelo sistema operacional | ||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man1/mpstat.1.html mpstat]:''' mostra estatísticas de uso do processador | ||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man1/free.1.html free]:''' mostra o uso de memória | ||
+ | * '''[http://manpages.ubuntu.com/manpages/karmic/en/man8/vmstat.8.html vmstat]:''' mostra o uso de memória, discos e processador no último intervalo de tempo. | ||
+ | |||
+ | |||
+ | [[imagem:Pji-procs.png]] | ||
+ | <br>''Alguns processos mostrados com o comando '''ps au''''' | ||
+ | |||
+ | |||
+ | Existem também utilitários no modo gráfico. Por exemplo, no Ubuntu há o "Monitor do sistema". No Debian existe também esse aplicativo se o ambiente gráfico em uso for o Gnome. | ||
+ | |||
+ | |||
+ | '''Para nosso propósito, é importante saber que:''' | ||
+ | * Cada processo possui um usuário e grupo dono, que são obtidos do usuário que o criou. Essas duas informações são usadas para fazer o controle de acesso a arquivos e diretórios, comparando-os com suas permissões. | ||
+ | * Cada processo possui um número chamado de PID (''Process IDentifier'') que o identifica no sistema. | ||
+ | * A memória RAM utilizada por um processo é deu uso exclusivo: nenhum processo consegue acessar (ler ou modificar) a memória de outro processo. | ||
+ | * Processos podem ser pausados ou mesmo terminados. Há dois programas para terminar processos: | ||
+ | ** [http://manpages.ubuntu.com/manpages/trusty/man1/kill.1.html kill]: termina um ou mais processos informados por seus PID. Uso básico: <syntaxhighlight lang=bash> | ||
+ | # Solicita ao processo com PID 1234 que termine (esse processo pode ignorar e continuar executando) | ||
+ | kill 1234 | ||
+ | |||
+ | # Mata sumariamente o processo 1234 | ||
+ | kill -9 1234 | ||
+ | </syntaxhighlight> | ||
+ | ** [http://manpages.ubuntu.com/manpages/trusty/man1/killall.1.html killall]: termina um ou mais processos informados por seus nomes, por seus usuários donos, entre outras possibilidades. Uso básico: <syntaxhighlight lang=bash> | ||
+ | # Solicita ao processo chamado firefox que termine (ele pode ignorar) | ||
+ | killall firefox | ||
+ | |||
+ | # Mata sumariamente o processo firefox | ||
+ | killall -9 firefox | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Atividade === | ||
+ | |||
+ | # Experimente matar alguns processos, seja pelo PID ou pelos seus nomes, e ver o que acontece ... Lembre que para isso se usam os programas [http://manpages.ubuntu.com/manpages/trusty/man1/kill.1.html kill] ou [http://manpages.ubuntu.com/manpages/trusty/man1/killall.1.html killall]. | ||
+ | # (RaspberryPI) Copie [http://tele.sj.ifsc.edu.br/~msobral/pji/teimoso este programa] para seu computador. Em seguida execute-o: <syntaxhighlight lang=bash> | ||
+ | ./teimoso | ||
+ | </syntaxhighlight> ... e tente matá-lo. | ||
+ | #* (PC ou Virtualbox) Copie [http://tele.sj.ifsc.edu.br/~msobral/pji/teimoso.c este programa] para seu computador. Em seguida compile-o: <syntaxhighlight lang=bash> | ||
+ | gcc -o teimoso teimoso.c | ||
+ | </syntaxhighlight> ... e então execute-o: <syntaxhighlight lang=bash> | ||
+ | ./teimoso | ||
+ | </syntaxhighlight>Tente em seguida matá-lo ! | ||
+ | |||
+ | === Instalação de software === | ||
+ | |||
+ | A instalação de software pode ser feita de diferentes maneiras: | ||
+ | * ''A partir do software em formato de código-fonte:'' envolve transferir o código-fonte do seu repositório, e então compilá-lo. Isso requer um maior conhecimento técnico, e é uma habilidade esperada para um Técnico que atue na área de Telecomunicações. | ||
+ | * ''A partir do software já preparado (compilado):'' essa forma é mais simples, pois basicamente implica obter o software compilado e copiá-lo para dentro do seu sistema. É também a prática mais comum, por ser mais rápida, fácil e menos trabalhosa. Todas as distribuições Linux (e também o FreeBSD, entre outras variantes de Unix) provêem alguma forma de instalar softwares dessa maneira. Esses sistemas criam o conceito de '''pacote de software''', que é um arquivo especial contendo todos os arquivos do software a ser instalado, e todas as informações necessárias para que a instalação tenha sucesso (versão, dependências, e outras). | ||
+ | |||
+ | No escopo desta disciplina de Projeto Integrador, são usados '''pacotes de software'''. Mas nada impede que se demonstre como seria realizar uma instalação a partir do código-fonte, caso exista a curiosidade. | ||
+ | |||
+ | No Ubuntu Linux (e também nas distribuições originadas no Debian), o sistema de pacotes de software se chama ''dpkg'' (Debian Package). Existem diferentes formas de instalar e remover sofware, dentre elas: | ||
+ | # '''Diretamente a partir dos arquivos de pacote de software:''' esses arquivos têm extensão ''.deb'', e devem ser instalados por meio do programa [http://manpages.ubuntu.com/manpages/trusty/man1/dpkg.1.html dpkg]. Os arquivos ''.deb'' devem ser obtidos manualmente pelo usuário, podendo ser copiados de DVDs do sistema, ou obtidos de servidores na rede. Para removê-los, deve-se usar também o ''dpkg''. | ||
+ | # '''Obtendo automaticamente pacotes de software de repositórios:''' essa forma de administrar os pacotes é muito mais fácil, pois os pacotes de software são obtidos de servidores de pacotes na rede. Ela se baseia num sistema de gerenciamento de pacotes chamado de APT, e pode ser realizada por meio dos aplicativos [http://manpages.ubuntu.com/manpages/trusty/en/man8/apt-get.8.html apt-get] ou [http://manpages.ubuntu.com/manpages/precise/en/man8/aptitude.8.html aptitude] (este é ainda mais fácil). Existem também versões gráficas para esses gerenciadores de pacotes. | ||
+ | |||
+ | === Instalação manual com ''dpkg'' === | ||
+ | |||
+ | Para instalar pacotes de software manualmente, primeiro devem-se obter os respectivos arquivos de instalação. Cada pacote de software está contido em um arquivo com extensão ''.deb''. Esses arquivos podem ser obtidos dos CD e DVD de instalação, ou de repositórios na Internet. Exemplos: | ||
+ | * [http://ubuntu.c3sl.ufpr.br/ubuntu/ um repositório do Ubuntu no Brasil] | ||
+ | * [http://archive.raspbian.org/raspbian/ Repositório para o Raspbian (Debian para o RaspberryPi)] | ||
+ | |||
+ | |||
+ | Cada arquivo de instalação deve ser instalado da seguinte forma: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | dpkg -i nome_do_pacote.deb | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Se o pacote de software não puder ser instalado, uma mensagem de erro é apresentada. Uma causa para esse problema é existirem dependências em relação a outros pacotes de software, os quais devem então ser instalados previamente. | ||
+ | |||
+ | |||
+ | A remoção de um pacote de software pode ser feita assim: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | dpkg -r nome_do_pacote | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Se o pacote a ser removido for dependência para outros pacotes instalados, a remoção será abortada. | ||
+ | |||
+ | |||
+ | A listagem de todos os pacotes instalados pode ser obtida com este comando: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | dpkg-query -l | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | A listagem dos arquivos instalados por um pacote é mostrada com este outro comando: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | dpkg-query -L nome_do_pacote | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Informações detalhadas sobre um pacote podem ser mostradas assim: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | dpkg-query -p nome_do_pacote | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Obtenção automática de software === | ||
+ | |||
+ | Os pacotes de softwares dos sistemas operacionais Ubuntu e Debian são organizados e disponibilizados em repositórios, que são servidores na Internet onde há cópias dos arquivos de instalação desses pacotes. Os repositórios são configurados durante a própria instalação do sistema, ficando registrados no arquivo [http://manpages.ubuntu.com/manpages/trusty/man5/sources.list.5.html /etc/apt/sources.list]. Esse arquivo pode ser modificado para incluir ou remover repositórios, quando necessário. | ||
+ | |||
+ | |||
+ | Um resumo dos comandos que podem ser usados com [http://manpages.ubuntu.com/manpages/trusty/en/man8/apt-get.8.html apt-get]: | ||
+ | * '''apt-get update''': atualiza o catálogo de pacotes de software conhecidos. Isso implica consultar os repositórios configurados e transferir as listas de pacotes lá existentes. Isso é importante para ter acesso a versões atualizadas dos pacotes de software. | ||
+ | * '''apt-get install nome_do_pacote''': instala o pacote de software chamado ''nome_do_pacote''. Se houver dependências de outros pacotes, eles também serão instalados. | ||
+ | * '''apt-get remove nome_do_pacote''': remove o pacote de software chamado ''nome_do_pacote''. se outros pacotes dependerem desse pacote, eles também serão removidos. | ||
+ | * '''apt-get clean''': remove as cópias dos arquivos de pacotes de software transferidos e não mais necessários. | ||
+ | * '''apt-get upgrade''': atualiza todos os pacotes de software para suas versões mais recentes, caso existam. | ||
+ | |||
+ | |||
+ | Um resumo dos comandos que podem ser usados com [http://manpages.ubuntu.com/manpages/trusty/en/man8/aptitude.8.html aptitude]: | ||
+ | * '''aptitude update''': mesmo que ''apt-get update'' | ||
+ | * '''aptitude install nome_do_pacote''': mesmo que ''apt-get install'' | ||
+ | * '''aptitude remove nome_do_pacote''': mesmo que ''apt-get remove'' | ||
+ | * '''aptitude search nome''': lista todos os pacotes de software conhecidos cujos nomes contenham ''nome'' | ||
+ | |||
+ | === Atividade === | ||
+ | |||
+ | ''Execute os passos seguintes tanto com instalação manual quanto automática de software.'' | ||
+ | # Instale estes softwares: | ||
+ | #* mplayer | ||
+ | #* mencoder | ||
+ | #* handbrake | ||
+ | #* pppoe | ||
+ | #* hostapd | ||
+ | #* vlan | ||
+ | # Após instalá-los, obtenha suas descrições. Veja também as descrições destes outros softwares já instalados: | ||
+ | #* bash | ||
+ | #* iproute2 | ||
+ | #* iptables | ||
+ | #* tcpdump | ||
+ | # Liste todos os softwares instalados. | ||
+ | # Remova os softwares instalados nos passos anteriores | ||
+ | # Existe um projeto de software chamado ownCloud que, entre outras coisas, implementa um serviço parecido com Dropbox. Veja [https://software.opensuse.org/download/package?project=isv:ownCloud:desktop&package=owncloud-client este guia de instalação do ownCloud], e note que isso implica adicionar um repositório ao seu sistema operacional. Experimente seguir as instruções de instalação ali contidas. | ||
+ | # Descubra como se podem instalar softwares em modo gráfico. | ||
+ | |||
+ | {{Collapse bottom | Aula 21}} | ||
+ | |||
+ | = 18/10: Projeto 2: Rotas = | ||
+ | |||
+ | * [https://avaliacao.ifsc.edu.br/sad/ Avaliação docente] | ||
+ | |||
+ | {{Collapse top | Aula 22}} | ||
+ | Como visto anteriormente, cada dispositivo em uma rede precisa ter um endereço IP para que possa se comunicar com outros dispositivos. Porém isso não é suficiente: os dispositivos devem saber que '''direção''' devem enviar mensagens para que cheguem até cada outro dispositivo. Se o dispositivo de destino estiver na mesma rede, então basta transmitir o pacote a ele diretamente. Mas e se ele estiver em outra rede ? Por exemplo, e se um computador no laboratório de Redes 1 quiser se comunicar com outro que está na reitoria do IFSC ? Como esse pacote deve ser transmitido nesse caso? | ||
+ | |||
+ | |||
+ | [[imagem:Pji-projeto2-rotas.png|500px]] | ||
+ | |||
+ | |||
+ | Antes de prosseguir na investigação desse assunto, é necessário uma visão geral sobre redes de computadores e a Internet. Isso deve ajudar a entender como as comunicações acontecem nessa grande rede. | ||
+ | * [[Comunica%C3%A7%C3%A3o_de_dados|Comunicação de dados e a Internet]] | ||
+ | |||
+ | |||
+ | No diagrama que mostra simplificadamente a rede do projeto 2, a rede externa é representada como uma nuvem. Isso significa que sua estrutura interna é desconhecida, ou não é relevante mostrá-la. No caso da Internet, na verdade seria impossível apresentar toda sua estrutura, pois essa rede hoje em dia é gigantesca, além de estar sempre em mutação. Mas ao menos um esboço da rede do Ifsc pode ser apresentado, como se pode ver a seguir. Ao visualizá-la, deve-se novamente imaginar como é possível encaminhar pacotes através dela, de forma que cheguem a seus destinos. | ||
+ | |||
+ | |||
+ | [[imagem:Ifsc.png|600px]] | ||
+ | <br>''Uma visão geral da rede do Ifsc (e bem simplificada !)'' | ||
+ | |||
+ | |||
+ | Em primeiro lugar, deve-se imaginar como a Internet está implantada (ao menos do ponto de vista das subredes). A palavra ''internet'' significa ''rede composta por redes'', e, no caso da ''Internet'', cada uma das redes que a constitui é chamada de [http://pt.wikipedia.org/wiki/Sub-rede ''subrede'']. Se alguém pudesse ver o mapa da Internet, pareceria uma grande malha, com milhares de fios (enlaces) se entrelaçando. Nas junções desses fios estão equipamentos que '''roteiam''' (''direcionam'') pacotes a seus destinos. Os equipamentos finais, que são usados por pessoas para rodas os aplicativos de rede, estão na borda de toda essa malha ... nas pontas dos fios. No fim, isso parece um grande mapa, e como tal ele pode ser percorrido por um ou mais caminhos para se ir de um ponto a outro. | ||
+ | |||
+ | |||
+ | {| border=0 | ||
+ | !''Um mapa da Internet (bem abstrato ...)'' | ||
+ | !Rede Ipê: a Rede Nacional de Pesquisa que originou a Internet no Brasil | ||
+ | |- | ||
+ | |[[imagem:Internet-map.png|600px]] || [[imagem:Rede-ipe-2014.jpg|600px]] | ||
+ | |} | ||
+ | |||
+ | |||
+ | Essa analogia do mapa pode ser experimentada usando o [http://maps.google.com Google Maps]. Experimente traçar caminhos entre o IFSC-SJ e vários destinos (mesmo em outras cidades), e visualize como ele descobre o caminho. Observe também que critério é usado para escolher o caminho ... pois é normal que exista mais de uma opção. | ||
+ | |||
+ | Mas o que isso tem a ver com redes ? Muita coisa: a forma com que o Google Maps descobre caminhos se baseia nos mesmos conceitos usados para descobrir '''rotas''' entre dispositivos na Internet. E voltando a redes de computadores, também é possível descobrir que caminho os pacotes percorrem para ir de um ponto a outro na Internet. | ||
+ | |||
+ | '''Experimento:''': use o programa [http://manpages.ubuntu.com/manpages/hardy/man8/traceroute-nanog.genuine.8.html traceroute] para descobrir os caminhos percorridos por seus pacotes. Teste-o com vários possíveis destinos: | ||
+ | * www.ufsc.br | ||
+ | * www.unicamp.br | ||
+ | * www.brasil.gov.br | ||
+ | * www.nasa.gov | ||
+ | * english.pravda.ru | ||
+ | * www.china.org.cn | ||
+ | * finland.fi | ||
+ | |||
+ | O que significam as informações mostradas por esse programa ? | ||
+ | |||
+ | |||
+ | Estes outros aplicativos descobrem rotas e as mostram sobre um mapa mundial. | ||
+ | * [http://traceroute.monitis.com/ Visual Trace Route Tool (EUA)] | ||
+ | * [http://www.yougetsignal.com/tools/visual-tracert/ Visual Traceroute (EUA)] | ||
+ | * [http://en.dnstools.ch/visual-traceroute.html Traceroute on a map (Alemanha)] | ||
+ | |||
+ | == Rotas no Linux == | ||
+ | |||
+ | Cada computador ligado a Internet possui uma '''tabela de rotas'''. É por meio de tal tabela que ele sabe como transmitir os pacotes para cada destino. Em seu computador, você pode visualizar essa tabela da seguinte forma: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # Isto funciona em qualquer *nix que se preze ... | ||
+ | netstat -rn | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Ao se configurar uma interface de rede, cria-se uma rota automática para a subrede diretamente acessível via aquela interface. Isto se chama '''''roteamento mínimo'''''. Por exemplo, se uma interface de rede foi configurada com o endereço IP 192.168.10.1/16, sua tabela de rotas pode se apresentar assim: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M1:~> ifconfig eth1 192.168.10.1 netmask 255.255.0.0 | ||
+ | aluno@M1::~> netstat -rn | ||
+ | Kernel IP routing table | ||
+ | Destination Gateway Genmask Flags MSS Window irtt Iface | ||
+ | 192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 | ||
+ | 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Usualmente, é suficiente definir uma única rota adicional para um computador, chamada de '''rota default''' (ou ''rota padrão''). Essa rota tem o seguinte significado: se o destino não estiver em minha própria subrede, e nenhuma outra rota específica existir para a subrede onde se encontra, então repasse o pacote para o roteador indicado. Em um computador Linux isso pode ser feito assim: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # adiciona a rota default, que passa pelo roteador 192.168.10.100 | ||
+ | route add default gw 192.168.10.100 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Outra forma de adicionar essa rota é: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # este comando tem o mesmo efeito que o anterior ... | ||
+ | route add -net 0.0.0.0/0 gw 192.168.10.100 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Por fim, uma rota para um destino qualquer pode ser feita assim (supondo que a rede de destino seja 191.36.9.0/24): | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | # este comando define que para chegar à rede 191.36.9.0/24 | ||
+ | # deve-se usar o gateway 192.168.1.1 | ||
+ | route add -net 191.36.9.0/24 gw 192.168.1.1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Isso não parece complicado, e à primeira vista realmente não é :-) Ao se instalar um novo equipamento em uma rede, seja um computador, tablet, ponto de acesso ou smart TV, basta configurá-lo com a rota ''default'' para que possa se comunicar com a Internet. Na verdade, nem isso normalmente é necessário, pois esses equipamentos são capazes de se autoconfigurarem como mágica (mais tarde veremos como !). Porém existe uma matemática interessante por trás de como essas rotas funcionam, e vale dar uma olhada. | ||
+ | |||
+ | === Rotas, prefixos de rede e máscaras === | ||
+ | |||
+ | Uma rota serve para informar como se chega a um determinado destino. Um destino pode ser um único endereço IP, ou uma subrede (que contém um conjunto de endereços IP). Para que um pacote IP chegue a um destino, deve-se transmiti-lo para o próximo roteador em direção a esse destino. Esse próximo roteador também deve conhecer uma rota para tal destino, repetindo o mesmo processo (reveja o experimento com '''traceroute''). Ao menos duas informações compõem cada rota: | ||
+ | * '''O próximo roteador, expressado por um endereço IP:''' o endereço IP do próximo roteador (também chamado de ''gateway'', que significa ''portal'' em inglês), o qual deve pertencer à mesma subrede do equipamento que o especifica em uma rota. | ||
+ | * '''O destino, que é expressado como uma subrede:''' Uma subrede é representada por um ''prefixo de rede'' e uma ''máscara''. O prefixo são os ''N'' bits mais significativos comuns a todos os endereços IP contidos em uma subrede (lembre que um endereço IP tem 32 bits). A máscara informa quantos bits tem o prefixo. A combinação de prefixo de rede e máscara funciona da seguinte forma: | ||
+ | |||
+ | Imagine que exista uma subrede contendo os endereços de 192.168.2.0 até 192.168.2.255. Se representarmos esses endereços em binário, podemos ver que os 24 bits mais significativos são os mesmos para todos os endereços: | ||
+ | |||
+ | |||
+ | [[imagem:Pji-prefixo1.png|400px]] | ||
+ | |||
+ | |||
+ | A máscara de rede tem a forma de um endereço IP, porém com bits 1 na parte correspondente ao prefixo, e 0 no resto. Assim, para o exemplo acima a máscara de rede é ''255.255.255.0''. Outra forma de representar a máscara é simplesmente informar o tamanho em bits do prefixo, e no exemplo a máscara seria ''24''. Juntando o prefixo e a máscara, a subrede pode ser representada de uma destas duas formas: | ||
+ | * '''192.168.2.0/255.255.255.0''' | ||
+ | * '''192.168.2.0/24''' | ||
+ | |||
+ | |||
+ | Agora imagine que o prefixo tenha 28 bits, como mostrado nesta figura: | ||
+ | |||
+ | |||
+ | [[imagem:Pji-prefixo2.png|400px]] | ||
+ | |||
+ | |||
+ | Por ter um prefixo mais longo, o tamanho dessa subrede é menor. Isso significa que ela contém menos endereços IP, tanto que o primeiro endereço é ''192.168.2.0'' e o último é ''192.168.2.15''. Essa subrede poderia ser representada por: | ||
+ | * '''192.168.2.0/255.255.255.240''' | ||
+ | * '''192.168.2.0/28''' | ||
+ | |||
+ | |||
+ | Aproveitando esse exemplo, pode-se mostrar uma outra subrede que, apesar de não parecer, é diferente da anterior: | ||
+ | |||
+ | |||
+ | [[imagem:Pji-prefixo3.png|400px]] | ||
+ | |||
+ | |||
+ | Essa outra subrede contém endereços entre ''192.168.2.16'' e ''192.168.2.31''. Essa subrede poderia ser representada por: | ||
+ | * '''192.168.2.16/255.255.255.240''' | ||
+ | * '''192.168.2.16/28''' | ||
+ | |||
+ | == O que todo host deve possuir == | ||
+ | |||
+ | Com o que se fez até o momento, pode-se concluir que todo host (computador, tablet, smartphone, ..., qualquer dispositivo que rode aplicações da Internet) precisa de: | ||
+ | * '''Endereço IP e máscara de rede''': um host precisa de um endereço para que possa se comunicar com outros hosts. A máscara de rede informa o tamanho da subrede IP em que ele se encontra. | ||
+ | * '''Rota default (padrão)''': para se comunicar com hosts de outras subredes, é preciso enviar os pacotes para um roteador que saiba encaminhá-los a seus destinos. O roteador ''default'' (ou ''padrão'') é um roteador para quem se destinam todos esses pacotes. Tecnicamente ele corresponde à rota para o destino ''0.0.0.0/0''. | ||
+ | * '''Endereço IP do servidor DNS''': usuários costumam endereçar hosts e servidores por seus nomes de domínio, e não por seus endereços IP. Isso é muito mais fácil de memorizar do que os endereços numéricos. Como explicado em aula, nomes de domínio são análogos a nomes de assinantes em um catálogo telefônico. No entanto, as aplicações precisam dos endereços IP para se comunicarem. O servidor DNS faz a tradução de nome de domínio para endereço IP, e é usado pelas aplicações transparentemente (isso é, você não percebe que isso ocorre). O endereço desse servidor deve ser configurado em cada host, para que se possam traduzir nomes de domínio. | ||
+ | |||
+ | === Exercícios === | ||
+ | |||
+ | Resolva estes exercícios sobre subredes, prefixos e máscaras. | ||
+ | |||
+ | # O tamanho de uma subrede é definido pela quantidade de endereços IP que ela contém. Quais os tamanhos de cada subrede mostrada nos exemplos da seção anterior ? | ||
+ | # Sejam as subredes A: ''192.168.2.48/28'', B: ''192.168.2.64/26'', C: ''192.168.2.192/27'', D: ''192.168.2.128/29'' e E: ''192.168.2.0/27''. Informe em qual dessas subredes se encontram estes endereços IP: | ||
+ | #* 192.168.2.126 | ||
+ | #* 192.168.2.25 | ||
+ | #* 192.168.2.62 | ||
+ | #* 192.168.2.200 | ||
+ | #* 192.168.2.100 | ||
+ | #* 192.168.2.80 | ||
+ | # Informe qual o tamanho de cada uma das subredes do exercício anterior. | ||
+ | # Informe quais o primeiro e último endereços IP de cada uma daquelas subredes. | ||
+ | # A subrede 192.168.2.0/24 foi subdividida em subredes de tamanho 32. Liste todas as subredes que são possíveis definir com essas características (informe prefixo e máscara). | ||
+ | # A subrede 192.168.2.0/24 foi subdividida em subredes com máscara 26. Liste todas as subredes que são possíveis definir com essas características (prefixo e máscara), informando também seus tamanhos. | ||
+ | # Uma subrede do câmpus é 172.18.128.0/18. Calcule seu tamanho, seu endereço inicial e final. | ||
+ | # Calcule o tamanho, endereço inicial e final da rede sem-fio do IFSC. | ||
+ | # Use este [http://tele.sj.ifsc.edu.br/~msobral/IER/ipkit/ simulador (IPKit)] para criar as seguintes redes e definir as rotas que nelas devem existir: | ||
+ | #* '''OBS:''' antes de usar esse simulador execute este comando em um terminal:<syntaxhighlight lang=bash> | ||
+ | sudo apt install icedtea-7-plugin | ||
+ | </syntaxhighlight>... e depois reinicie o Firefox. | ||
+ | |||
+ | |||
+ | {| border=1 | ||
+ | |- | ||
+ | | [[imagem:PJI2-rotas-Rede1.jpg|300px]]<br>''Rede 1'' | ||
+ | |- | ||
+ | |[[imagem:PJI2-rotas-Rede2.jpg|400px]]<br>''Rede 2'' | ||
+ | |- | ||
+ | |[[imagem:PJI2-rotas-Rede3.jpg|400px]]<br>''Rede 3'' | ||
+ | |- | ||
+ | |[[imagem:PJI2-rotas-Rede4.jpg|400px]]<br>''Rede 4'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | Esse exercício pode também ser realizado com um emulador de rede chamado [[Netkit2]]: | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji2/rotas1/ Arquivos de configuração das redes] | ||
+ | * [[PJI2-2017-2#25.2F09:_Projeto_2:_ajuste_fino_da_instala.C3.A7.C3.A3o_do_sistema_operacional|Como configurar interfaces de rede (aula de 25/09)]] | ||
+ | * [[PJI2-2017-2#Rotas_no_Linux|Como adicionar rotas]] | ||
+ | {{Collapse bottom | Aula 22}} | ||
+ | |||
+ | = 23/10: Etapa 2: Rotas (continuação) = | ||
+ | |||
+ | {{Collapse top | Aula 23}} | ||
+ | {{Collapse bottom | Aula 23}} | ||
+ | |||
+ | = 25/10: Etapa 2: Rotas (continuação) = | ||
+ | |||
+ | {{Collapse top | Aula 24}} | ||
+ | {{Collapse bottom | Aula 24}} | ||
+ | |||
+ | = 30/10: Projeto 2: Implantação das redes locais das equipes = | ||
+ | |||
+ | * [https://moodle.sj.ifsc.edu.br/mod/quiz/view.php?id=3703 Teste 6] | ||
+ | |||
+ | {{collapse top|Aula 25}} | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/tlwdr4300.pdf Manual do Roteador sem-fio TP-Link WDR 4300] | ||
+ | ** [http://www.tp-link.com.br/download/TL-WDR4300.html Página oficial do produto (tem uma FAQ)] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/tlwr941n.pdf Manual do Roteador sem-fio TP-Link WR 941ND] | ||
+ | <!-- * [http://tele.sj.ifsc.edu.br/~msobral/pji/dlink-di-524.pdf Manual do Roteador sem-fio D-Link DI-524] --> | ||
+ | |||
+ | Cada equipe deve implantar sua própria rede local, composta pelo computador, um roteador e ponto de acesso sem-fio, e um ou mais dispositivos (hosts) adicionais. A rede portanto deve ficar parecida com o diagrama apresentado no início do projeto 2: | ||
+ | |||
+ | [[imagem:Pji1-projeto2.png|500px]] | ||
+ | |||
+ | |||
+ | Por questões de disponibilidade, usaremos um equipamento que combina as funções de ''roteador'' e ''ponto de acesso (AP)''. Usaremos também um ''switch'' para interligar o computador de cada equipe e esse roteador. | ||
+ | |||
+ | |||
+ | O cenário no laboratório deve ser o seguinte: | ||
+ | |||
+ | [[imagem:Proj2-20142-lan.png]] | ||
+ | |||
+ | == Equipamentos de interligação para pequenas redes locais (LAN) == | ||
+ | |||
+ | Uma LAN serve para interconectar equipamentos (computadores, servidores, roteadores, ...) relativamente próximos entre si. As distâncias envolvidas são tipicamente de algumas dezenas de metros, podendo chegar em alguns casos a até poucas centenas de metros. Essas redes apresentam como características: | ||
+ | * '''altas taxas de transmissão:''' o usual é 1 Gbps (1 bilhão de bits por segundo, que equivalem a cerca de 125 milhões de bytes por segundo). A geração anterior das LANs Ethernet operava a 100 Mbps (100 milhões de bits por segundo, ou dez vezes mais lento que as LANs de 1 Gbps), e ainda se encontram dispositivos que operam nessa taxa de transmissão. | ||
+ | * '''baixo custo:''' as interfaces de rede dos equipamentos são baratas (algumas dezenas de R$), assim como os equipamentos de interconexão (switches) e cabos. | ||
+ | * '''alta qualidade de transmissão:''' essas redes são virtualmente isentas de erros de transmissão. Quando eles ocorrem, é sinal de má-instalação ou defeito em equipamentos. | ||
+ | |||
+ | Hoje em dia a tecnologia de rede usada para criar LANs se chama Ethernet (o nome oficial é [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/ieee/802.3/ IEEE 802.3], que é o padrão que a define). | ||
+ | |||
+ | LANs são muito difundidas. São usadas em redes domésticas, redes de pequenos escritórios, grandes redes corporativas, redes em escolas, e possivelmente outros ambientes. A rede do IFSC, que interliga os laboratórios e os servidores do câmpus, é composta de algumas LANs interconectadas. Em todos esses casos, a configuração usual das LANs envolve o uso de: | ||
+ | * '''dispositivos com interfaces de rede Ethernet''': dispositivos são computadores, roteadores, e demais equipamentos que se comunicam através da LAN. | ||
+ | * '''switches Ethernet para interligar os dispositivos''': [http://tele.sj.ifsc.edu.br/~msobral/pji/switch-dlink.png switches] funcionam como concentradores (na verdade, comutadores), onde todos os dispositivos são conectados por meio de cabos. | ||
+ | * '''cabos e conectores''': os cabos usados são do tipo par-trançado, porque dentro deles existem quatro pares trançados de fios. Para conectá-los se usam [http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Ethernet_RJ45_connector_p1160054.jpg/220px-Ethernet_RJ45_connector_p1160054.jpg conectores RJ-45]. Esses cabos devem ter comprimento máximo de 100m. | ||
+ | |||
+ | |||
+ | Para criar uma LAN, deve-se usar um switch com uma quantidade de portas igual ou maior que a quantidade de dispositivos a serem interligados. A figura abaixo mostra uma pequena LAN com um switch: | ||
+ | |||
+ | |||
+ | [[imagem:Pji1-Lan1.png]] | ||
+ | |||
+ | |||
+ | Em uma LAN, switches podem também ser interligados. Isso na prática aumenta a quantidade de dispositivos que podem existir na LAN, e também as distâncias entre eles (lembre que cada cabo tem um comprimento máximo da ordem de 100m): | ||
+ | |||
+ | [[imagem:Pji1-Lan2.png]] | ||
+ | |||
+ | |||
+ | Se a LAN for composta de apenas dois dispositivos, então um switch se torna desnecessário. Assim, os dispositivos podem ser conectados diretamente: | ||
+ | |||
+ | [[imagem:Pji1-Lan3.png]] | ||
+ | |||
+ | == Atividade == | ||
+ | |||
+ | # Usando os equipamentos fornecidos implante a rede local da sua equipe. Siga atentamente o diagrama que mostra como sua rede se relaciona com a rede do laboratório. | ||
+ | # Configure sua rede para que os hosts que nela estão possam se comunicar com os hosts das outras redes, e também com a rede externa (Internet). ''Dica: revise as rotas em sua rede'' | ||
+ | # Acrescente um switch à sua rede, conectando-o em uma das portas amarelas do roteador (essas portas fazem parte de um switch embutido). Teste a comunicação (ex: ''ping 8.8.8.8'') a partir do Rpi, ora conectando-o em um switch, ora em outro. Há alguma diferença ? | ||
+ | # Acrescente um outro computador à sua rede, de forma que ele fique em um switch e o Rpi em outro. Configure um endereço IP nesse novo computador, e em seguida teste sua comunicação com o Rpi. Verifique se a comunicação funciona. | ||
+ | # Execute o wireshark no Rpi, ativando a captura na interface ethernet. Em seguida faça um ping para 8.8.8.8 a partir do outro computador. O wireshark mostra os pacotes transmitidos e recebidos ? | ||
+ | # Ainda com o wireshark no Rpi, execute um ''ping'' do outro computador para o próprio Rpi. O que o wireshark apresenta ? | ||
+ | # Agora conecte esse computador do outro lado do roteador de sua rede, mantendo o mesmo endereço IP. Teste a comunicação com o Rpi. Explique o resultado. | ||
+ | {{collapse bottom | Aula 25}} | ||
+ | |||
+ | = 01/11: Projeto 2: a rede de cada equipe = | ||
+ | |||
+ | {{collapse top | Aula 26}} | ||
+ | Dando continuidade à implantação da rede de cada equipe, hoje devem-se investigar: | ||
+ | * a configuração automática de rede dos hosts | ||
+ | * o uso de NAT no roteador | ||
+ | * o funcionamento básico de alguns equipamentos da rede | ||
+ | |||
+ | == Configuração automática de hosts == | ||
+ | |||
+ | Na prática ninguém precisa se preocupar em configurar seus dispositivos com as informações de rede vistas na aula anterior. As pessoas acessam a rede e por mágica tudo isso é configurado automaticamente. Basta pensar no acesso à rede sem-fio do Ifsc, e mesmo nas redes de suas casas ou locais de trabalho, seja sem-fio ou cabeada. A configuração manual somente é necessária quando se instalam servidores ou outros equipamentos que formam a infraestrutura das redes. No caso geral, um serviço especial chamado de DHCP (''Dyamic Host Configuration Protocol - Protocolo de Configuração Dinâmica de Host'') provê a configuração automática. | ||
+ | |||
+ | |||
+ | [http://www.tcpipguide.com/free/t_TCPIPDynamicHostConfigurationProtocolDHCP.htm DHCP] (''Dynamic Host Configuration Protocol'') é um protocolo para obtenção automática de configuração de rede, usado por computadores que acessam fisicamente uma rede. Esses computadores são tipicamente máquinas de usuários, que podem usar a rede esporadicamente (ex: usuários com seus laptops, com acesso via rede cabeada ou sem-fio), ou mesmo computadores fixos da rede. O principal objetivo do DHCP é fornecer um endereço IP, a máscara de rede, o endereço IP do roteador default e um ou mais endereços de servidores DNS. Assim, um novo computador que acesse a rede pode obter essa configuração sem a intervenção do usuário. | ||
+ | |||
+ | |||
+ | Para esse serviço deve existir na rede ao menos um servidor DHCP, que pode estar em um roteador, ponto de acesso sem-fio, ou mesmo em um outro computador. Quer dizer, em um desses equipamentos pode haver um programa que envia mensagens de configuração automática a novos dispositivos que entrem na rede. | ||
+ | |||
+ | |||
+ | Um computador que precise obter sua configuração de rede envia mensagens DHCPDISCOVER em broadcast. Um servidor DHCP, ao receber tais mensagens, responde com uma mensagem DHCPOFFER também em broadcast, contendo uma configuração de rede ofertada. O computador então envia novamente em broadcast uma mensagem DHCPREQUEST, requisitando o endereço IP ofertado pelo servidor. Finalmente, o servidor responde com uma mensagem DHCPACK, completando a configuração do computador cliente. Como a configuração tem um tempo de validade (chamado de ''lease time - tempo de aluguel''), o cliente deve periodicamente renová-la junto ao servidor DHCP, para poder continuar usando-a. O diagrama abaixo mostra simplificadamente esse comportamento: | ||
+ | |||
+ | [[imagem:Pji1-Dhcp.jpeg|400px]] | ||
+ | |||
+ | |||
+ | Essa troca de mensagens entre clientes e servidor DHCP ocorre somente dentro da mesma rede local. Portanto um cliente não consegue em princípio obter sua configuração de rede de um servidor DHCP que esteja em outra rede local (isso é, se existir um ou mais roteadores entre eles). | ||
+ | |||
+ | '''Questão:''' como o servidor DHCP diferencia os clientes em uma rede ? Para entender esta pergunta, faça este experimento: | ||
+ | # Ative dois hosts na rede do laboratório, e anote os endereços que cada um obteve. | ||
+ | # Desligue ambos os hosts. | ||
+ | # Agora ative apenas um deles, e observe o endereço IP obtido. | ||
+ | # Faça o mesmo com o segundo host. | ||
+ | # Houve diferença entre os endereços obtidos em cada etapa ? | ||
+ | |||
+ | == Uso de NAT no roteador == | ||
+ | |||
+ | * [http://pt.wikipedia.org/wiki/Network_address_translation NAT na Wikipedia] | ||
+ | * [http://labcisco.blogspot.com.br/2014/09/cgnat-na-transicao-ipv6-solucao-ou-vilao.html CGNAT: NAT usado em larga escala por operadoras de Telecom] | ||
+ | |||
+ | |||
+ | Endereços IP são números de 32 bits, o que significa existirem pouco mais de 4 bilhões de diferentes endereços possíveis (exatamente 4.294.967.296 endereços). Parece muito, porém os endereços IP disponíveis estão praticamente esgotados. Não significa que existam mais de 4 bilhões de equipamentos de rede usando esses endereços, mas sim que todas as subredes distribuídas já contêm quase todos esses endereços. Quer dizer, se uma empresa recebe o direito de usar uma subrede com máscara /24 (255.255.255.0, o que resulta em uma subrede com 256 endereços), todos os endereços ali contidos não podem ser reaproveitados por outras empresas ou organizações, mesmo que não nem todos estejam sendo de fato usados. Por isso nos anos 1990 os orgãos que administram os endereços da Internet tomaram duas iniciativas para lidar com o esgotamento de endereços IP disponíveis. | ||
+ | |||
+ | |||
+ | A primeira iniciativa foi desenvolver uma nova versão do protocolo IP, a qual usaria endereços nem maiores e virtualmente inesgotáveis. Isso fez surgir o protocolo IPv6, cujos endereços têm 128 bits. A quantidade de endereços possíveis é tão grande, que torna difícil compará-la com coisas conhecidas. Para ter uma ideia, existem em torno de <math>3.4~x~10^{38}</math> endereços IPv6 (a quantidade exata é 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços), ou 340 trilhões de trilhões de trilhões ... Por mais que se abuse na forma com que esses endereços devem ser distribuídos, supõe-se que eles nunca se esgotem (?!). Porém o projeto desse novo protocolo demorou vários anos, e ainda hoje ele não foi adotado em larga escala na Internet. | ||
+ | |||
+ | |||
+ | A segunda iniciativa, publicada em 1994, se chamou [https://tools.ietf.org/html/rfc1631 NAT] (''Network Address Tanslation - Tradução de Endereço de Rede'') e teve por objetivo criar uma forma de reaproveitar endereços IP. Para isso, algumas subredes ficaram reservadas, não sendo distribuídas para nenhum empresa ou organização, e são elas: | ||
+ | * 10.0.0.0/8 | ||
+ | * 192.168.0.0/16 | ||
+ | * 172.16.0.0/12 | ||
+ | A ideia é que redes com computadores que só acessam a Internet, mas não são servidores, usem essas subredes (ou parte delas). Essas subredes não são roteáveis, o que significa que os roteadores da infraestrutura da Internet não as conhecem e não sabem como encontrá-las. Por fim, para que computadores dessas redes consigam acessar a Internet, deve nelas existir ao menos um roteador que possua um endereço IP roteável (chamado também de IP válido). Esse roteador deve também possuir uma função especial que modifique os endereços IP de origem contidos nos pacotes que saem em direção a Internet. O endereço IP de origem desses pacotes deve se tornar o endereço IP roteável do roteador. Com isso, os servidores na Internet que receberem esses pacotes poderão respondê-los, pois o endereço de origem é roteável. A figura a seguir ilustra o funcionamento do NAT. | ||
+ | |||
+ | |||
+ | [[imagem:Pji1-Nat2.png|500px]] | ||
+ | <br>''Uma rede com roteador NAT'' | ||
+ | |||
+ | |||
+ | # Dentro da rede interna, pacotes que saem têm endereço de origem da rede interna (ex: 10.0.0.5) | ||
+ | # Ao atravessarem o roteador, seus endereços IP de origem são substituídos pelo endereço IP roteável do roteador (no caso, 14.1.23.5) | ||
+ | # O servidor na Internet recebe um pacote que parece ter vindo do roteador NAT, pois seu endereço de origem é 14.1.23.5. O pacote de resposta desse servidor é então endereçado para esse IP. | ||
+ | # O pacote de resposta chega ao roteador, que reescreve seu endereço IP de destino para o endereço IP original da rede interna | ||
+ | |||
+ | |||
+ | Hoje em dia todos roteadores, mesmo os mais simples, têm a função NAT. Para que o NAT funcione, basta acessar a interface de gerenciamento do equipamento e ativá-lo. De fato, na maioria desses roteadores o NAT já vem ativado de fábrica. Com isso eles podem ser instalados facilmente, possibilitando que computadores de suas redes acessem a Internet. O NAT funcionou tão bem para o usuário médio da Internet, que pode ter sido um fator significativo para o atraso na adoção do novo protocolo IPv6. | ||
+ | |||
+ | === Experimentos com NAT === | ||
+ | |||
+ | O IFSC usa NAT ? Descubra por meio deste site: | ||
+ | * [http://whatismyipaddress.com/ Qual meu endereço IP ?] | ||
+ | |||
+ | |||
+ | A rede instalada aula passada está com NAT desativado. Ative o NAT no roteador e teste a comunicação entre os computadores de sua rede e: | ||
+ | * O computador do professor (192.168.1.1) | ||
+ | * O servidor DNS do Google (8.8.8.8) | ||
+ | * Um servidor web à sua escolha | ||
+ | * Os computadores das outras equipes | ||
+ | |||
+ | |||
+ | Há alguma diferença em relação à rede sem NAT ? Caso afirmativo, qual ? E que implicações pode ter o NAT no roteamento em uma rede ? | ||
+ | |||
+ | == Atividade == | ||
+ | |||
+ | # Agora que seus roteadores usam NAT, investigue a comunicação entre computadores de diferentes equipes. Um simples ''ping'' de uma equipe para outra é suficiente. Investigue também o acesso externo com SSH ao computador da equipe. O objetivo é conseguir acessá-lo com SSH mesmo estando fora da rede da equipe. '''Dicas:''' | ||
+ | #* Leiam o manual do equipamento | ||
+ | #* Pesquisem sobre termos tais como DMZ, redirecionamento de port (''port redirection'') e ''virtual server''. Sempre associem esses termos à palavra-chave NAT em seus buscas. | ||
+ | #* Desenhem suas redes, evidenciando os endereços IP envolvidos nos equipamentos e as aplicações usadas para os testes. | ||
+ | # Feito o acesso ao serviço SSH, ativem também o acesso ao FTP. Para isso, instalem um servidor FTP em seu Rpi (lembrem da [[PJI2-2017-2#4.2F09:_Projeto_1:_conclus.C3.A3o|etapa 1 da disciplina]]). Será necessário configurá-lo para que seja possível mapear o acesso a esse serviço no NAT do roteador. Para maiores informações sobre FTP e NAT, leiam [http://www.proftpd.org/docs/howto/NAT.html esta explicação]. | ||
+ | {{collapse bottom| Aula 26}} | ||
+ | |||
+ | = 06/11: Projeto 2: A rede de cada equipe = | ||
+ | |||
+ | {{collapse top | Aula 27}} | ||
+ | {{collapse bottom| Aula 27}} | ||
+ | |||
+ | = 08/11: Projeto 2: A rede de cada equipe = | ||
+ | |||
+ | {{collapse top | Aula 28}} | ||
+ | {{collapse bottom| Aula 28}} | ||
+ | |||
+ | = 13/11: Projeto 2: estabelecendo o enlace WAN = | ||
+ | |||
+ | * [https://moodle.sj.ifsc.edu.br/mod/quiz/view.php?id=2858 Teste 7] | ||
+ | |||
+ | {{collapse top | Aula 29}} | ||
+ | |||
+ | O próximo passo do projeto 2 envolve estabelecer o enlace WAN da rede de cada equipe. Através desse enlace a rede da equipe pode acessar a Internet. Alguns detalhes devem ser entendidos para que essa comunicação funcione a contento. A ideia é que a rede fique assim: | ||
+ | |||
+ | |||
+ | [[imagem:Pji1-Projeto3-final.png|800px]] | ||
+ | |||
+ | |||
+ | Nessa rede, a infraestrutura de acesso ADSL é provida pelo IFSC, tendo os professores como técnicos responsáveis. O enlace ADSL oferece '''um único IP''' para cada equipe, o qual ficará associado à interface externa (WAN) do roteador ADSL. Por fim, não é necessária autenticação para a ativação desse enlace. | ||
+ | |||
+ | Implante sua rede usando o roteador ADSL, e use-o para acessar a Internet. Experimente também o seguinte: | ||
+ | * Meça qual a taxa de download máxima por esse enlace. | ||
+ | * Meça a taxa de upload máxima por esse enlace. | ||
+ | * Estando fora de sua rede, acesse o seu computador Kodi com o aplicativo [http://en.wikipedia.org/wiki/Secure_Shell SSH]. | ||
+ | |||
+ | == Uma introdução a ADSL == | ||
+ | |||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/adsl.pdf Uma visão geral sobre aDSL(com alguns detalhes)] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/dslam.pdf Uma descrição sobre DSLAM] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/dsl-technologies.pdf Outro bom texto sobre ADSL] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/gdslarch.pdf Tipos de enlace que se podem criar com ADSL] | ||
+ | * [http://www.kitz.co.uk/adsl/adsl_technology.htm Um guia rápido e bastante explicativo sobre ADSL (principalmente a modulação)] | ||
+ | |||
+ | <!-- [[imagem:Dsl-network.gif]] --> | ||
+ | |||
+ | ADSL (Asymetric Digital Subscriber Line) é uma tecnologia para provimento de enlace de dados para assinantes de linhas telefônicas residenciais. Ao contrário da modems analógicos (ex: [http://en.wikipedia.org/wiki/V.92 V.92]), ADSL não está limitado à largura de banda de canal de voz (~ 4kHz). Com isso, podem-se obter taxas de dados muito superiores, dependendo da versão de ADSL em uso. A tabela abaixo ilustra os vários padrões ADSL existentes e suas características. | ||
+ | |||
+ | |||
+ | [[imagem:Adsl-taxas.png]] | ||
+ | <br>''Tabela de versões de ADSL e suas características.<br>Obtido em http://en.wikipedia.org/wiki/Asymmetric_digital_subscriber_line#ADSL_standards'' | ||
+ | |||
+ | |||
+ | ADSL consegue obter taxas de dados muito superiores às de modems analógicos (que chegavam no máximo a 56 kbps) porque na verdade não usa um canal de voz. A ideia é usar a fiação telefônica para estabelecer um enlace de dados entre o assinante residencial e a operadora, mas não a rede telefônica em si. Por isso que com ADSL pode-se ter o enlace de dados e falar ao telefone ao mesmo tempo. Para isso, na central onde chega a linha do assinante é feita uma separação entre o sinal de dados e o de voz: o de dados vai para uma rede de dados, e o de voz segue pela infraestrutura de telefonia. Em consequência, é necessário haver uma rede de dados separada da rede telefônica. A figura a seguir ilustra um enlace ADSL para um assinante residencial, evidenciando os componentes da infraestrutura da rede dados. | ||
+ | |||
+ | |||
+ | [[imagem:Dsl-architecture.png]] | ||
+ | |||
+ | |||
+ | A separação entre os canais de voz e de dados, feita por um ''filtro passa-baixa'', está destacada na figura abaixo: | ||
+ | |||
+ | [[imagem:Adsl-model.png]] | ||
+ | |||
+ | Na infraestrutura ADSL, cabem destacar alguns elementos: | ||
+ | * '''modem ADSL:''' equipamento responsável pela ponta do enlace do lado do assinante, fazendo os encapsulamentos das PDUs dos protocolos envolvidos nesse enlace, e a modulação do sinal digital resultante. | ||
+ | * '''DSLAM (DSL Access Multiplexer):''' multiplexador de acesso ADSL, que recebe as linhas dos assinantes do lado da operadora. Esse componente faz a intermediação entre os assinantes e a rede de dados da operadora. Dentre suas atribuições, destacam-se a modulação do sinal das linhas dos assinantes, a limitação das taxas de ''downstream'' e ''upstream'' de acordo com o contratado pelos assinantes, e as conversões de protocolos de enlace (quando necessárias) para a rede da operadora. No entanto. | ||
+ | * '''splitter:''' filtro que separa os sinais de voz e de dados. São usados tanto do lado do assinante quanto no DSLAM. | ||
+ | * '''AC (concentrador de acesso):''' equipamento que concentra as pontas dos enlaces de dados dos assinantes no lado da rede da operadora. | ||
+ | |||
+ | A parte da infraestrutura ADSL dentro da rede de dados da operadora inclui equipamentos DSLAM (muitos deles), um ou mais AC e as redes de comunicação para interligá-los. Note-se que quem dá acesso de fato à Internet é o AC. A figura abaixo ilustra esses componentes. | ||
+ | |||
+ | [[imagem:Dslam-infra.png]] | ||
+ | |||
+ | O enlace de dados entre o equipamento do assinante e a rede da operadora pode ser feita de diferentes formas. Esse enlace é visto pelo assinante como seu enlace para a Internet - i.e. ele obtém seu endereço IP fornecido pela operadora. Os tipos de enlace de dados ADSL mais usados são: | ||
+ | * '''PPPoE (PPP over Ethernet):''' cria um enlace ponto-a-ponto com protocolo PPP, cujos quadros são encapsulados em quadros Ethernet. Esta é a forma mais utilizada para assinantes residenciais. | ||
+ | * '''PPPoA (PPP over ATM):''' cria um enlace ponto-a-ponto com protocolo PPP, cujos quadros são encapsulados em mensagens AAL5 da arquitetura ATM. | ||
+ | * '''EoA (Ethernet over ATM):''' cria um enlace Ethernet, cujos quadros são encapsulados em mensagens AAL5 da arquitetura ATM. | ||
+ | |||
+ | |||
+ | O enlace PPPoE funciona como se tivesse um link ponto-a-ponto entre o roteador ADSL e um concentrador de acesso (AC). Quer dizer, parece que existe um fio ligando diretamente esses dois equipamentos, apesar de na realidade existir toda uma infraestrutura entre os dois. Isso pode ser visualizado na figura abaixo. Em cada ponta desse link PPPoE há um endereço IP usado pelos respectivos equipamentos. | ||
+ | |||
+ | [[imagem:Enlace-pppoe.png]] | ||
+ | |||
+ | == ATIVIDADE == | ||
+ | |||
+ | Cada equipe deve estabelecer seu enlace WAN usando ADSL. Em seguida, deve validar seu computador na rede, de forma que possa ser acessado com SSH de fora da sua rede. | ||
+ | |||
+ | === Configurações ADSL === | ||
+ | |||
+ | Cada link ADSL deve ter seu IP manualmente configurado, o qual deve ser um IP válido fornecido à equipe pelo provedor (professores). | ||
+ | |||
+ | Os seguintes parâmetros dos modems ADSL devem ter estes valores: | ||
+ | * '''Port:''' ''0'' | ||
+ | * '''VPI:''' ''8'' | ||
+ | * '''VCI:''' ''35'' | ||
+ | * '''Encapsulamento:''' ''LLC/SNAP'' | ||
+ | * '''Modo:''' ''PPPoE'' | ||
+ | * '''User:''' usuario1 | ||
+ | * '''Password:''' senha1 | ||
+ | * '''NÃO''' ativar firewall. | ||
+ | * '''Ativar''' NAT | ||
+ | |||
+ | |||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/videos/eh_logo_ali_1.mp4 Link de teste de download] | ||
+ | |||
+ | {{collapse bottom | Aula 29}} | ||
+ | |||
+ | = 20/11: Projeto 2: estabelecendo o enlace WAN = | ||
+ | |||
+ | {{collapse top | Aula 30}} | ||
+ | A aula de hoje será destinada a configuração do link WAN em diversos cenários. | ||
+ | |||
+ | |||
+ | A implantação da rede de cada equipe pode ser feita segundo três modelos básicos: | ||
+ | |||
+ | 1. '''Roteador ADSL em modo PPPoE:''' neste modelo, o roteador ADSL opera de fato como roteador. Ele estabelece um enlace IP com a operadora usando um protocolo chamado PPPoE (ver a [[PJI-2016-1#Uma_introdu.C3.A7.C3.A3o_a_ADSL|visão geral sobre ADSL para maiores detalhes]]). O endereço IP fornecido pela operadora fica associado à interface WAN do roteador ADSL. A rede interna forma uma rede local (LAN). | ||
+ | |||
+ | [[imagem:PJI1-Proj2-caso1.jpg]] | ||
+ | |||
+ | 2. '''Roteador ADSL em modo bridge:''' neste modelo, o roteador ADSL opera na realidade como um modem ADSL. Ele apenas faz a codificação dos dados entre a LAN e o enlace ADSL estabelecido entre ele e o DSLAM. Isso significa que o endereço IP fornecido pela operadora deve ser associado a outro equipamento conectado à interface LAN do modem ADSL. Esse outro equipamento (no caso mostrado na figura a seguir representado pelo roteador/AP TP-Link) deve fazer a negociação do enlace IP usando o protocolo PPPoE. Esse outro roteador é que faz o papel de gateway para a rede rede interna (LAN). Maiores detalhes são fornecidos [[PJI-2016-1#Modo_bridge:_Uma_outra_forma_de_fazer_o_link_WAN_com_ADSL|na próxima seção desta aula]]. | ||
+ | |||
+ | [[imagem:PJI1-Proj2-caso2.jpg]] | ||
+ | |||
+ | 3. '''Roteador ADSL em modo bridge e PC como roteador:''' este modelo é uma variação do modelo 2. Ao invés de usar o AP TP-Link como roteador, usa-se o computador. Isso implica usar um software específico no Linux para torná-lo capaz de estabelecer o enlace PPPoE. O endereço IP fornecido pela operadora fica ao final associado à uma interface de rede desse computador. Esse computador deve idealmente ter duas interfaces de rede. | ||
+ | |||
+ | [[imagem:PJI1-Proj2-caso3.jpg]] | ||
+ | |||
+ | Como o modelo 1 já foi implantado na aula passada, hoje serão experimentados os modelos 2 e 3. | ||
+ | |||
+ | {{collapse top | Como configurar a interface sem-fio de forma estática}} | ||
+ | <syntaxhighlight lang=text> | ||
+ | auto wlan0 | ||
+ | iface wlan0 inet static | ||
+ | wpa-ssid nome-da-rede | ||
+ | wpa-psk senha-da-rede | ||
+ | address IP_da_interface | ||
+ | netmask máscara-de-rede | ||
+ | </syntaxhighlight> | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Modo bridge: Uma outra forma de fazer o link WAN com ADSL == | ||
+ | |||
+ | Aula passada vimos como implantar um enlace WAN com ADSL. Hoje faremos uma outra investigação sobre a infraestrutura da rede como um todo. | ||
+ | |||
+ | |||
+ | O link ADSL implantado até o momento explorou o roteador ADSL para criar o link e interligar a rede interna com a Internet através dele. A figura abaixo mostra o papel do roteador ADSL, e como fica o link para Internet (em vermelho pontilhado). | ||
+ | |||
+ | |||
+ | [[imagem:Enlace-pppoe.png]] | ||
+ | |||
+ | |||
+ | O link ADSL é denominado ''enlace PPPoE'' na figura, porque esse link funciona como um enlace ponto-a-ponto especial (daí o nome ''PPPoE'' = ''Point-to-Point over Ethernet''). Apenas para ilustrar, ''PPP'' é nome de um tipo de enlace usado entre dois equipamentos ligados por um cabo, e é usado, por exemplo, em acesso discado e em link de dados 3G. No caso do ''PPPoE'', parece que se cria um enlace ''PPP'', mas por baixo há mais do que um cabo entre os equipamentos (pela figura aparece toda uma rede entre eles ...). Os detalhes técnicos de como isso funciona de fato deve ser visto na 2a e 3a fases do curso. No momento o que interessa é saber que para estabelecer um link ADSL típico é necessário usar esse protocolo ''PPPoE''. | ||
+ | |||
+ | O link ADSL feito até agora usou o roteador para estabelecer o enlace PPPoE. Porém há outra forma de fazer esse enlace: deixar o roteador ADSL operando em modo ''bridge'' (''ponte'') e usar outro equipamento para fazer o enlace ''PPPoE''. Na rede das equipes, o próprio computador da equipe pode fazer esse papel. Esse outro cenário ficaria como mostrado abaixo: | ||
+ | |||
+ | |||
+ | [[imagem:Projeto2-adsl-bridge.png]] | ||
+ | |||
+ | |||
+ | O uso de modo ''bridge'' tem algumas vantagens: | ||
+ | * '''O endereço IP fornecido pelo provedor fica no equipamento interno usado para fazer o enlace PPPoE''': isso possibilita um maior controle sobre as comunicações entre a rede interna e externa, pois roteadores ADSL costumam ser funcionalmente limitados (por isso são tão baratos !). | ||
+ | * '''Aumenta a quantidade de comunicações simultâneas entre rede interna e Internet:''' isso é uma consequência de o equipamento interno poder ter maior capacidade computacional que o roteador ADSL. Em particular, roteadores ADSL suportam uma quantidade limitada de sessões NAT simultâneas, devido à pequena quantidade de memória RAM disponível (novamente, por isso são baratos ;-). Tal limitação não existe para um computador com Linux. | ||
+ | * '''Aplicações P2P (dentre outras) podem funcionar melhor''': se for usado um computador para fazer o enlace PPPoE, programas nele executados podem se comunicar mais facilmente com a Internet. Isso se dá porque as comunicações entre esse computador e a Internet não são modificadas por NAT - e NAT atrapalha alguns tipos de comunicação, tais como P2P e VoIP. | ||
+ | |||
+ | ... e desvantagens: | ||
+ | * '''O equipamento interno precisa ser capaz de criar enlaces PPPoE''': se for usado um computador, ele deve ter um software capaz de estabelecer esse tipo de enlace. Esse software precisaria assim ser instalado e devidamente configurado. | ||
+ | * '''O equipamento interno precisa estar sempre ligado:''' para que o link para a Internet esteja sempre ativado, o equipamento interno precisa também ser mantido ligado. Se for usado um computador, isso significa um gasto maior de energia (mas talvez não seja significativo). | ||
+ | * '''O equipamento interno fica mais exposto à Internet:''' como esse equipamento está diretamente ligado à Internet, há uma chance maior que seja invadido debido a essa exposição. Portanto tal equipamento deve ser protegido, bloqueando tentativas de acesso externas (algo nem sempre fácil de fazer). O uso de softwares para [http://pt.wikipedia.org/wiki/Firewall firewall] torna-se essencial. | ||
+ | |||
+ | |||
+ | Para perceber as diferenças, vamos implantar o link para Internet com ADSL em modo bridge. | ||
+ | |||
+ | === Preparação de um computador Linux para usar PPPoE === | ||
+ | |||
+ | Em sistemas Linux baseados na distribuição Debian há duas maneiras de criar um enlace PPPoE: | ||
+ | * '''Com o Network-Manager''': o ''network-manager'' é um aplicativo que auxilia o estabelecimento de enlaces em geral (cabeado, sem-fio, discado, ...). Ele é acessado normalmente por uma ''applet'' na barra de aplicativos, no topo da tela. | ||
+ | * '''Editando os arquivos de configuração de rede''': essa forma é um pouco mais complicada, mas funciona em qualquer sistema Linux. A seguir há uma explicação sobre como realizá-la. | ||
+ | |||
+ | A forma manual de estabelecer o enlace PPPoE segue estes passos: | ||
+ | # Instale o software necessário: <syntaxhighlight lang=bash> | ||
+ | sudo apt-get install pppoe | ||
+ | </syntaxhighlight> | ||
+ | # Edite o arquivo ''/etc/ppp/peers/adsl'', que deve ficar com este conteúdo (substitua '''eth0''' pelo nome da interface ethernet do seu Rpi3): <syntaxhighlight lang=text> | ||
+ | pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452 -C pji2" | ||
+ | noipdefault | ||
+ | usepeerdns | ||
+ | defaultroute | ||
+ | hide-password | ||
+ | lcp-echo-interval 20 | ||
+ | lcp-echo-failure 3 | ||
+ | connect /bin/true | ||
+ | noauth | ||
+ | persist | ||
+ | mtu 1492 | ||
+ | noaccomp | ||
+ | user usuario1 | ||
+ | default-asyncmap | ||
+ | </syntaxhighlight> | ||
+ | # Edite o arquivo ''/etc/ppp/chap-secrets'' e acrescente o seguinte: <syntaxhighlight lang=text> | ||
+ | usuario1 * senha1 | ||
+ | </syntaxhighlight> | ||
+ | # Ative o enlace PPPoE executando o seguinte comando: <syntaxhighlight lang=bash> | ||
+ | sudo pppd call adsl | ||
+ | </syntaxhighlight> | ||
+ | # Ative o encaminhamento de pacotes entre interfaces do seu PC: sendo o roteador da sua rede, ele deve ser capaz de fazer o encaminhamento de pacotes entre rede interna e externa: <syntaxhighlight lang=bash> | ||
+ | sudo sysctl -w net.ipv4.ip_forward=1 | ||
+ | </syntaxhighlight> | ||
+ | # Ative o NAT em seu PC: como ele agora é o roteador da sua rede, então ele precisará ser também o tradutor NAT: <syntaxhighlight lang=bash> | ||
+ | sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Algumas informações sobre qualidade do link ADSL === | ||
+ | |||
+ | {{collapse top | Dicas obtidas em um [http://www.hardware.com.br/comunidade/perfil-conexao/1292944/ forum]}} | ||
+ | Começando Perfil de conexão ADSL ou Atenuação , é uma sequência de valores necessários para uma conexão via ADSL, cada provedor tem um perfil minimo para liberar a conexão de usuário que varia de acordo com a velocidade contratada vai de 500kbps até 32000kbps ou seja é o sinal que esta chegando até o modem que ira manter a conexão estabilizada. | ||
+ | |||
+ | |||
+ | Para visualizar seu perfil, basta digitar o IP do seu modem no seu navegador, colocar usuário e senha que logo inicialmente irá aparecer: | ||
+ | |||
+ | <syntaxhighlight lang=text> | ||
+ | Snr Margin (Db) | ||
+ | Attenuation | ||
+ | OutPut Power | ||
+ | Attainable Rate (KBPS) | ||
+ | Rate (KBPS) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Explicação para cada ítem: | ||
+ | * '''SNR MARGIN:''' Margem de Sinal de ruido | ||
+ | {| border=1 | ||
+ | !Valor | ||
+ | !Descrição | ||
+ | |- | ||
+ | |5db ou menos||impossível conectar sujeito a muitas quedas | ||
+ | |- | ||
+ | |8db a 13db ||Nível regular | ||
+ | |- | ||
+ | |14db a 22db|| Nível Muito bom | ||
+ | |- | ||
+ | |23db a 28db|| Excelente | ||
+ | |- | ||
+ | |29db a 35db|| Raramente ( Apenas em servidores dedicados ou fibra ótica ) | ||
+ | |} | ||
+ | * '''TABELA DE ATENUAÇÃO''': perda de potência do sinal | ||
+ | {| border=1 | ||
+ | !Taxa de dados | ||
+ | !Distância | ||
+ | !Atenuação aproximada | ||
+ | |- | ||
+ | |24Mbps||200 Mts|| entre 5 e 8 db | ||
+ | |- | ||
+ | |20Mbps||500 Mts||entre 10 e 13 db | ||
+ | |- | ||
+ | |15Mbps||1500 Mts||entre 19 e 23 db | ||
+ | |- | ||
+ | |10Mbps||1900 Mts||entre 25 e 27 db | ||
+ | |- | ||
+ | |5Mbps||2600 Mts||entre 29 e 33 db | ||
+ | |- | ||
+ | |2Mbps||3500 Mts||entre 34 e 39 db | ||
+ | |} | ||
+ | ''OBS: Dados baseados no padrão brasileiro'' | ||
+ | |||
+ | |||
+ | O perfil ou atenuação mínima pode variar de acordo com local e velocidade. Por exemplo, em condomínios que possuem Dslam integrados ( 2 Operadoras ), o perfil pode variar de 555kbps a 766kbps, permitindo velocidade máxima de até 2Mbps. | ||
+ | |||
+ | Já em varias regiões que possuem cabeamento aéreo por cabo normal ou fibra, o perfil pode variar de 7600kbps até 32000kbps permitindo velocidade maxima de até 100Mbps. | ||
+ | |||
+ | quando ocorrer lentidão ou quedas faça o seguinte: | ||
+ | |||
+ | |||
+ | Abra seu navegador | ||
+ | Digite Ip do modem eX: 192.168.1.1 | ||
+ | logue e entre na pagina inicial | ||
+ | e veja qual sua margem de ruido | ||
+ | |||
+ | |||
+ | se ela estiver baixa verifique seu cabeamento interno, muitas vezes esses problemas são causados por falta de isolamento em emendas, ou emendas mal feitas que estão encostando uma na outra, verifique também sua tomada padrão e seu cabo de RJ11 veja se a tomada não está com os fios juntos, eo rj11 não esta muito esticado ou oxidado no conector, Caso esteja tudo ok, com sua fiação interna, entre em contato com o Suporte Técnico de seu provedor e solicite um técnico e informe que o problema está no cabeamento, no caso sera necessário repassar a fiação externa e interna que é o recomendado, lembrando que a vida útil de um cabo telefônico externo e de ate 5 anos, porem uma ou duas vezes dependendo da região que você mora sera necessário troca-lo motivos: Linhas de Pipa, Cabos enroscados em galhos podem ter cortes que causa oxidação interna trazendo problemas na sua conexão. | ||
+ | |||
+ | |||
+ | FEC CRC HEC | ||
+ | |||
+ | |||
+ | o Fec Hec é uma sequência de erros na transmissão de dados que pode ocorrer do Dslam até a caixa aérea e da caixa aérea até a tomada padrão em muitos casos o modem também pode apresentar esses erros, geralmente no DSLAM o fec hec ocorre nas portas de distribuição pode ser por super aquecimento ou cabo de jumper queimado ou mal ligado na porta, que leva o erro até a caixa aérea, ja no cabeamento do cliente pode ser a oxidação do cabo, emendas, cortes por linhas de pipas, no modem o problema muitas vezes é por aquecimento por ex. colocar roteador em baixo e modem em cima, gera um super aquecimento na placa do modem que pode ocasionar quedas e lentidão. | ||
+ | |||
+ | Nesse caso mantenha um aparelho longe do outro em ambiente fresco. | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | == PPPoE (PPP over Ethernet) == | ||
+ | |||
+ | * [http://updates.checkpoint.com/fileserver/SOURCE/direct/ID/9326/FILE/Introduction_to_PPPoE.pdf Introdução] | ||
+ | |||
+ | PPPoE define um método para encapsular quadros PPP dentro de quadros Ethernet, e foi definido na [http://www.faqs.org/rfcs/rfc2516.html RFC 2516]. Ele foi criado para facilitar a integração de usuários discados e banda-larga em provedores de acesso (ISP - ''Internet Service Providers''). Além disso, torna mais fácil o controle de acesso, de uso da rede, e contabilização para usuários que a acessam via rede Ethernet. Assim, é possível implantar uma rede em que os usuários, para conseguirem acesso, precisam se autenticar como em um serviço discado. Uma vez obtido o acesso, pode-se também impor limitações de uso de banda de acordo com o usuário. Exemplos de infraestruturas que podem se beneficiar com essa técnica são redes de condomínios e de prédios comerciais. Finalmente, PPPoE é usado como protocolo de enlace em acessos aDSL, ilustrado na figura abaixo. | ||
+ | |||
+ | [[imagem:Enlace-pppoe.png]] | ||
+ | |||
+ | |||
+ | Quando usado em uma infraestrutura ADSL, uma arquitetura de protocolos de enlace é implementada para fazer os encapsulamentos de PDUs a serem transmitidas. A figura abaixo mostra os protocolos envolvidos nesse uso do PPPoE, com respectivos encapsulamentos. | ||
+ | |||
+ | [[imagem:Pppoe_architecture.gif]] | ||
+ | |||
+ | |||
+ | No PPPoE suas PDUs são encapsuladas em quadros Ethernet, usando o ''ethertype'' 8863H (estágio de descoberta) ou 8864H (estágio de sessão). Devido ao cabeçalho PPPoE (6 bytes) combinado ao identificador de protocolo do quadro PPP (2 bytes), a MTU em enlaces PPPoE não pode ser maior que 1492 bytes. O quadro PPP é simplificado, não possuindo as flags delimitadoras e os campos ''Address'', ''Control'' e ''FCS''. A PDU PPPoE é mostrada a seguir: | ||
+ | |||
+ | |||
+ | [[imagem:Pppoe-pdu.png|800px]] | ||
+ | |||
+ | |||
+ | |||
+ | Em um enlace PPPoE um dos nodos é o ''host'' (cliente), e o outro o concentrador de acesso (AC, que tem papel de servidor). O estabelecimento do enlace é iniciado pelo ''host'', que procura um AC e em seguida solicita o início do enlace. Esse procedimento é composto por por dois estágios: | ||
+ | * '''Descoberta (''Discovery''):''' o cliente descobre um concentrador de acesso (AC) para se conectar. Ocorre uma troca de 4 PDUs de controle: | ||
+ | ** ''PADI (PPPoE Active Discovery Indication):'' enviado em broadcast pelo cliente para descobrir os AC. | ||
+ | ** ''PADO (PPPoE Active Discovery Offer):'' resposta enviada por um ou mais AC, contendo seus identificadores e nomes de serviços disponíveis (no âmbito do PPPoE). | ||
+ | ** ''PADR (PPPoE Active Discovery Request):'' enviado pelo cliente para o AC escolhido, requisitando o início de uma sessão. | ||
+ | ** ''PADS (PPPoE Active Discovery Session-Confirmation):'' resposta do AC escolhido.<br><br>[[imagem:Pppoe-discovery.png|300px]]<br><br> | ||
+ | * '''Sessão (''Session''):''' nessa etapa são trocados quadros PPP como no estabelecimento de um enlace PPP usual. A sessão pode ser encerrada com a terminação PPP (i.e., via protocolo LCP), ou com a PDU PPPoE PADT (''PPPoE Active Discovery Terminate''). | ||
+ | |||
+ | == Rede local sem-fio padrão IEEE 802.11 (WiFi) == | ||
+ | |||
+ | Uma rede local sem-fios (WLAN - Wireless Local Area Network) serve para conectar dispositivos usando sinal de rádio. Hoje em dia estão tão difundidas que não se imagina um lugar sem cobertura por ao menos uma dessas redes, cuja tecnologia se chama WiFi (ou [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/ieee/802.11-2007.pdf IEEE 802.11], nome oficial do padrão). As pessoas as utilizam para conectar seus smartphones e tablets, além de laptops e mesmo equipamentos diversos ([http://produto.mercadolivre.com.br/MLB-564886491-internet-box-tv-smart-multilaser-android-wifi-hdmi-usb-sd-_JM media centers], [http://olhardigital.uol.com.br/video/qual-e-a-melhor-impressora-wi-fi-do-momento/30117 impressoras], [http://cameras.about.com/od/reviews/tp/best-wi-fi-cameras.htm câmeras fotográficas],[http://www.techradar.com/news/television/6-best-smart-tv-platforms-in-the-world-today-1120795 TVs], e mesmo [http://stations.windguru.cz/intro.php estações meteorológicas], entre outros). Todos esses dispositivos fazem uso de uma infraestrutura relativamente simples. | ||
+ | |||
+ | |||
+ | Uma WLAN é implantada usando um equipamento especial chamado de ponto-de-acesso (AP - ''Access Point''). Um AP transmite periodicamente (10 vezes por segundo) uma pequena mensagem que informa os dispositivos ao redor sobre o nome da rede sem-fio por ele controlada. O alcance típico do sinal do AP é de algumas dezenas de metros. Assim, dispositivos que recebam essa mensagem (chamada de ''beacon'') podem vir a saber que existe essa rede, e se conectarem a ela. Uma vez conectado, um dispositivo pode se comunicar por intermédio do AP. Como usualmente um AP é instalado de forma a estar conectado a uma LAN, os dispositivos a ele conectados podem se comunicar também com a Internet. A figura abaixo ilustra uma pequena WLAN com seu AP provendo conectividade a dispositivos sem-fio, além de estar conectado a um switch de uma LAN. | ||
+ | |||
+ | [[imagem:Pji1-projeto2.png|500px]] | ||
+ | |||
+ | |||
+ | Várias gerações das redes WiFi já foram lançadas, e cada nova geração aumenta significativamente a taxa de transmissão máxima da rede. Atualmente (geração IEEE 802.11ac) essas redes conseguem se comunicar a taxas de transmissão de até 1.3 Gbps. Isso depende do modelo do AP e das interfaces de rede dos dispositivos que usam a rede sem-fio. Na prática, a taxa de transmissão que um dispositivo consegue, no máximo, é um pouco menor que a metade da taxa nominal (ex: para uma rede a 300 Mbps, essa taxa deve ser pouco superior a 100 Mbps). Se houver mais dispositivos, essa taxa de transmissão cai ainda mais, pois eles precisarão compartilhar o canal de comunicação com o AP. Porque isso acontece será visto mais tarde no curso. Por curiosidade, a tabela abaixo mostra as taxas de transmissão máximas das diferentes gerações das redes WiFi. | ||
+ | |||
+ | {| border=1 | ||
+ | !Geração | ||
+ | !Ano de lançamento | ||
+ | !Taxa de transmissão máxima | ||
+ | |- | ||
+ | |IEEE 802.11 || 1997 || 2 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11a || 1999 || 54 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11b || 2000|| 11 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11g || 2003 || 54 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11n || 2009 || 600 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11ac || 2013 || 3.39 Gbps (agregada de até 6.77 Gbps) | ||
+ | |- | ||
+ | |[https://en.wikipedia.org/wiki/IEEE_802.11ax IEEE 802.11ax] || 2019 ?? || aprox. 10 Gbps | ||
+ | |} | ||
+ | |||
+ | |||
+ | Uma WLAN possibilita que qualquer dispositivo no alcance do sinal do AP possa a ele se conectar. Isso tem um porém, pois pessoas podem usar indevidamente uma rede sem-fio. Para evitar esse mau-uso, as WLANs possuem um modo de segurança, sendo WPA2-PSK (ou WPA-PSK, WPA Personal, WPA Pessoal) o recomendado para pequenas redes. Basicamente pode-se fazer com que: | ||
+ | * somente pessoas que conheçam uma determinada senha tenham acesso à rede | ||
+ | * todas as comunicações da rede sem-fio sejam encriptadas (protegidas). Com isso se alguém estiver monitorando as transmissões de uma rede sem-fio (e isso é muito fácil de fazer !), não conseguirá entender nada. | ||
+ | |||
+ | Resumindo, para instalar um AP é necessário configurar os seguintes parâmetros: | ||
+ | * '''SSID (nome da rede):''' um breve texto com o nome da rede | ||
+ | * '''Canal:''' o canal de comunicação, parecido com os canais das estações de rádio. Pode haver mais de um AP no mesmo canal, porém quanto mais dispositivos se comunicam por um canal, menor a velocidade da rede por eles percebida. | ||
+ | * '''Segurança:''' WPA2-PSK, com uma senha que deve ter no mínimo 8 caracteres. Recomenda-se que essa senha seja aleatória (ou não seja uma palavra que possa ser deduzida por quem tente invadir sua rede). | ||
+ | |||
+ | Experimente investigar os parâmetros de um AP de verdade usando este emulador: | ||
+ | * [http://www.tp-link.com/resources/simulator/TL-WDR4300/index.htm TP-Link WDR4300] | ||
+ | |||
+ | |||
+ | Assim, para instalar uma nova rede sem-fio, basicamente deve-se usar um AP. Ele deve ser conectado a uma rede cabeada para ter acesso a Internet. Por fim, o AP precisa ser devidamente configurado para denominar a rede por ele criada, e também o modo de segurança para uso da rede sem-fio. | ||
+ | |||
+ | === Atividade === | ||
+ | |||
+ | Implante sua rede sem-fio conforme as recomendações da seção anterior. Em seguida, use-a para acessar o Rpi e a Internet. Por fim, faça as seguintes verificações: | ||
+ | * Identifique o endereço IP e demais configurações de rede obtidas na rede sem-fio, assim como o método para obtenção | ||
+ | * Trace a rota entre o Rpi e o dispositivo sem-fio ... quantos saltos são necessários para chegar até seu dispositivo ? O que se conclui sobre a intermediação feita pelo AP ? | ||
+ | * Meça a taxa de transferência (''velocidade da rede'') a partir da rede sem-fio, e compare-a com a da rede cabeada. | ||
+ | * Acrescente outro dispositivo à sua rede sem-fio, e repita a medição da taxa de transferência, porém simultaneamente a partir de ambos dispositivos | ||
+ | {{collapse bottom | Aula 30}} | ||
+ | |||
+ | = 27/11: Etapa 2: estabelecendo o enlace WAN (continuação) e a rede sem-fio = | ||
+ | |||
+ | * [https://moodle.sj.ifsc.edu.br/mod/quiz/view.php?id=3794 Teste 8] | ||
+ | |||
+ | {{collapse top | Aula 31}} | ||
+ | |||
+ | == Rede local sem-fio padrão IEEE 802.11 (WiFi) == | ||
+ | |||
+ | Uma rede local sem-fios (WLAN - Wireless Local Area Network) serve para conectar dispositivos usando sinal de rádio. Hoje em dia estão tão difundidas que não se imagina um lugar sem cobertura por ao menos uma dessas redes, cuja tecnologia se chama WiFi (ou [http://tele.sj.ifsc.edu.br/~msobral/RCO2/docs/ieee/802.11-2007.pdf IEEE 802.11], nome oficial do padrão). As pessoas as utilizam para conectar seus smartphones e tablets, além de laptops e mesmo equipamentos diversos ([http://produto.mercadolivre.com.br/MLB-564886491-internet-box-tv-smart-multilaser-android-wifi-hdmi-usb-sd-_JM media centers], [http://olhardigital.uol.com.br/video/qual-e-a-melhor-impressora-wi-fi-do-momento/30117 impressoras], [http://cameras.about.com/od/reviews/tp/best-wi-fi-cameras.htm câmeras fotográficas],[http://www.techradar.com/news/television/6-best-smart-tv-platforms-in-the-world-today-1120795 TVs], e mesmo [http://stations.windguru.cz/intro.php estações meteorológicas], entre outros). Todos esses dispositivos fazem uso de uma infraestrutura relativamente simples. | ||
+ | |||
+ | |||
+ | Uma WLAN é implantada usando um equipamento especial chamado de ponto-de-acesso (AP - ''Access Point''). Um AP transmite periodicamente (10 vezes por segundo) uma pequena mensagem que informa os dispositivos ao redor sobre o nome da rede sem-fio por ele controlada. O alcance típico do sinal do AP é de algumas dezenas de metros. Assim, dispositivos que recebam essa mensagem (chamada de ''beacon'') podem vir a saber que existe essa rede, e se conectarem a ela. Uma vez conectado, um dispositivo pode se comunicar por intermédio do AP. Como usualmente um AP é instalado de forma a estar conectado a uma LAN, os dispositivos a ele conectados podem se comunicar também com a Internet. A figura abaixo ilustra uma pequena WLAN com seu AP provendo conectividade a dispositivos sem-fio, além de estar conectado a um switch de uma LAN. | ||
+ | |||
+ | [[imagem:Pji1-projeto2.png|500px]] | ||
+ | |||
+ | |||
+ | Várias gerações das redes WiFi já foram lançadas, e cada nova geração aumenta significativamente a taxa de transmissão máxima da rede. Atualmente (geração IEEE 802.11ac) essas redes conseguem se comunicar a taxas de transmissão de até 1.3 Gbps. Isso depende do modelo do AP e das interfaces de rede dos dispositivos que usam a rede sem-fio. Na prática, a taxa de transmissão que um dispositivo consegue, no máximo, é um pouco menor que a metade da taxa nominal (ex: para uma rede a 300 Mbps, essa taxa deve ser pouco superior a 100 Mbps). Se houver mais dispositivos, essa taxa de transmissão cai ainda mais, pois eles precisarão compartilhar o canal de comunicação com o AP. Porque isso acontece será visto mais tarde no curso. Por curiosidade, a tabela abaixo mostra as taxas de transmissão máximas das diferentes gerações das redes WiFi. | ||
+ | |||
+ | {| border=1 | ||
+ | !Geração | ||
+ | !Ano de lançamento | ||
+ | !Taxa de transmissão máxima | ||
+ | |- | ||
+ | |IEEE 802.11 || 1997 || 2 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11a || 1999 || 54 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11b || 2000|| 11 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11g || 2003 || 54 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11n || 2009 || 600 Mbps | ||
+ | |- | ||
+ | |IEEE 802.11ac || 2013 || 1.3 Gbps | ||
+ | |} | ||
+ | |||
+ | |||
+ | Uma WLAN possibilita que qualquer dispositivo no alcance do sinal do AP possa a ele se conectar. Isso tem um porém, pois pessoas podem usar indevidamente uma rede sem-fio. Para evitar esse mau-uso, as WLANs possuem um modo de segurança, sendo WPA2-PSK (ou WPA-PSK, WPA Personal, WPA Pessoal) o recomendado para pequenas redes. Basicamente pode-se fazer com que: | ||
+ | * somente pessoas que conheçam uma determinada senha tenham acesso à rede | ||
+ | * todas as comunicações da rede sem-fio sejam encriptadas (protegidas). Com isso se alguém estiver monitorando as transmissões de uma rede sem-fio (e isso é muito fácil de fazer !), não conseguirá entender nada. | ||
+ | |||
+ | Resumindo, para instalar um AP é necessário configurar os seguintes parâmetros: | ||
+ | * '''SSID (nome da rede):''' um breve texto com o nome da rede | ||
+ | * '''Canal:''' o canal de comunicação, parecido com os canais das estações de rádio. Pode haver mais de um AP no mesmo canal, porém quanto mais dispositivos se comunicam por um canal, menor a velocidade da rede por eles percebida. | ||
+ | * '''Segurança:''' WPA2-PSK, com uma senha que deve ter no mínimo 8 caracteres. Recomenda-se que essa senha seja aleatória (ou não seja uma palavra que possa ser deduzida por quem tente invadir sua rede). | ||
+ | |||
+ | Experimente investigar os parâmetros de um AP de verdade usando este emulador: | ||
+ | * [http://www.tp-link.com/resources/simulator/TL-WDR4300/index.htm TP-Link WDR4300] | ||
+ | |||
+ | |||
+ | Assim, para instalar uma nova rede sem-fio, basicamente deve-se usar um AP. Ele deve ser conectado a uma rede cabeada para ter acesso a Internet. Por fim, o AP precisa ser devidamente configurado para denominar a rede por ele criada, e também o modo de segurança para uso da rede sem-fio. | ||
+ | |||
+ | == Atividade == | ||
+ | |||
+ | Implante sua rede sem-fio conforme as recomendações da seção anterior. Em seguida, use-a para acessar tanto o centro de midia quanto a Internet. Por fim, faça as seguintes verificações: | ||
+ | * Compartilhe midia com as outras equipes. | ||
+ | * Acesse o centro de midia das outras equipes. | ||
+ | * Meça a taxa de transferência (''velocidade da rede'') a partir da rede sem-fio, e compare-a com a da rede cabeada. | ||
+ | * Prepare sua rede para que seu centro de midia possa ser acessado de fora via SSH. | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | = 29/11: Etapa 2: a rede de dados e a rede telefônica = | ||
+ | |||
+ | {{collapse top|Aula 32}} | ||
+ | No final desta etapa, um serviço telefônico será adicionado à rede que foi implantada. Esse serviço fará uso de aparelhos telefônicos convencionais e também dispositivos capazes de fazer chamadas de voz utilizando a rede de dados (ex: smartphones, computadores com softphones). Além disso, o serviço de voz a ser agregado à rede será implantado com diferentes tecnologias (convencional e por meio da rede de dados). A figura a seguir ilustra o acréscimo a ser feito inicialmente à rede: | ||
+ | |||
+ | [[imagem:Pji1-Projeto3-geral.png]] | ||
+ | |||
+ | Para começar, cada equipe deve instalar um telefone IP, e prepará-lo para uso. O objetivo é '''cada equipe conseguir fazer chamadas a qualquer das outras equipes'''. | ||
+ | |||
+ | == Uma introdução a redes telefônicas == | ||
+ | |||
+ | Uma rede telefônica pode ser vista de forma (muito) simplificada na figura abaixo. O objetivo desse diagrama é evidenciar alguns elementos existentes na borda dessa rede: | ||
+ | * os assinantes com seus telefones e PBX (um tipo de central telefônica privativa) | ||
+ | * o laço local, que é o par de fios metálicos que chega ao assinante | ||
+ | * a interface FXO, que liga o PBX a um tronco analógico. | ||
+ | * a interface FXS, que fornece a linha telefônica a telefones de ramais. | ||
+ | |||
+ | [[imagem:PJI1-Rede-relefonica-simples.png]] | ||
+ | |||
+ | |||
+ | Uma coisa importante a notar é que cada linha telefônica tem um número de assinante (o número de telefone). Esse número é fisicamente vinculado a essa linha, portanto qualquer aparelho telefônico a ela ligado irá atender por esse número. Outra coisa a se observar é que a rede telefônica tem uma infraestrutura exclusiva para o transporte das chamadas (quer dizer, toda a fiação e interligação de centrais mundo afora). | ||
+ | |||
+ | |||
+ | A figura abaixo mostra um diagrama simplificado de uma rede telefônica baseada em VoIP (Voz sobre IP). Alguns elementos importantes são: | ||
+ | * o servidor SIP, que funciona como uma central telefônica para essa rede. | ||
+ | * o telefone IP, que é um aparelho telefônico capaz de se comunicar diretamente por essa rede. | ||
+ | * o ATA (Adaptador de Telefone Analógico), que possibilita usar essa rede com um telefone analógico convencional. | ||
+ | * a infraestrutura da rede de dados, que possibilita a comunicação entre os telefones IP e o servidor SIP (e, claro, o transporte das chamadas) | ||
+ | |||
+ | [[imagem:Pji1-Rede-sip1.png]] | ||
+ | |||
+ | |||
+ | Na rede acima, o número de assinante usado por um telefone IP (ou ATA) é registrado no servidor SIP. Assim, qualquer telefone IP ou ATA pode personificar um determinado número de assinante, bastando que se registre nesse servidor. Outra diferença em relação à rede telefônica convencional é o uso da rede de dados (Internet) para a realização de chamadas. Portanto, não há uma rede exclusiva para o transporte das chamadas. | ||
+ | |||
+ | Por fim, ambas redes podem conviver e chamadas podem sair de uma rede e se destinar à outra. A figura abaixo mostra um exemplo simplificado de como essas redes podem se interligar. | ||
+ | |||
+ | [[imagem:Pji1-Rede-sip-pstn.png]] | ||
+ | |||
+ | == Instalação de um telefone IP ou ATA == | ||
+ | |||
+ | Tanto um telefone IP quanto um ATA são hosts de uma rede TCP/IP. Portanto, [[PJI2-2017-2#O_que_todo_host_deve_possuir|como todo host, eles precisam de algumas definições]]. Além disso, devem ser configuradas algumas informações específicas da rede telefônica VoIP: | ||
+ | * O número do telefone, chamado de ''usuário SIP'' ou ''conta SIP''. | ||
+ | * A senha para verificação do usuário SIP: essa senha é utilizada para autorizar o usuário SIP junto ao servidor SIP. Lembre que o servidor SIP funciona como uma central telefônica para o serviço de voz a ser implantado. | ||
+ | * O endereço do servidor SIP: alguns aparelhos pedem também os endereços do servidor de registro e proxy, que usualmente são os mesmos. O servidor SIP a ser usado deve ser o do provedor VoIP que fornece o serviço telefônico VoIP contratado (ver [http://www.teleco.com.br/opvoip.asp algumas opções no Brasil]). | ||
+ | * O domínio da rede telefônica VoIP a que ele pertence: isso é opcional em nosso experimento, porém em uma rede VoIP de fato tal informação é essencial. | ||
+ | |||
+ | |||
+ | Basicamente as informações acima são necessárias em qualquer telefone IP, ATA, softphone, ou dispositivo que use a rede telefônica VoIP. Porém cada equipamento tem suas particularidades, como se descobrirá no laboratório hoje. | ||
+ | |||
+ | == Atividade == | ||
+ | |||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/intelbras/manual_GKM_2000T.pdf Manual ATA GKM 2000T] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/intelbras/manual_intelbras_gkm1000.pdf Manual ATA GKM 1000] | ||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/pji/intelbras/Manual_do_usuario_Intelbras_Voiper1.pdf Manual Telefone IP Voiper] | ||
+ | |||
+ | |||
+ | Hoje cada equipe deve conseguir ativar um telefone IP, e usá-lo para fazer chamadas para outras equipes. | ||
+ | |||
+ | Há dois tipos de telefone no laboratório: | ||
+ | * '''Telefone IP:''' possuem toda a funcionalidade necessária para fazer chamadas de voz sobre a rede de dados (VoIP) | ||
+ | * '''Telefones convencionais + ATA:''' a funcionalidade para fazer chamadas sobre a rede de dados é fornecida pelo ATA (Adaptador de Telefone Analógico). A ele se conecta um telefone analógico convencional, e com isso se conseguem fazer e receber chamadas de voz. | ||
+ | |||
+ | |||
+ | Em ambos os casos, devem-se configurar esses dispositivos com algumas informações: | ||
+ | * '''Usuário:''' o número de ramal (ou mesmo de telefone). Use 1000+''número de sua equipe'' (ex: equipe 1 usa 1001). | ||
+ | * '''Senha:''' a senha para registro do dispositivo na central telefônica VoIP | ||
+ | * '''Servidor SIP:''' endereço IP da central telefônica VoIP (no caso, 192.168.1.101) | ||
+ | * '''Endereço IP:''' o endereço IP a ser usado pelo telefone ou ATA | ||
+ | * '''Gateway:''' o roteador default do telefone ou ATA (no caso, o gateway da sua rede) | ||
+ | |||
+ | |||
+ | Tanto o ATA quanto o telefone IP podem ser configurados pelo teclado ou por uma página web. Ao menos o endereço IP precisa ser definido para acessar a página web. Cada modelo de equipamento tem suas particularidades, que estão explicadas em seus manuais. | ||
+ | |||
+ | Após configurar os equipamentos, teste a chamada entre equipes. | ||
+ | |||
+ | == Usando a rede telefônica VoIP com os smartphones == | ||
+ | |||
+ | Os smartphones são capazes de fazerem chamados usando a rede telefônica VoIP que implantamos. Eles precisam de um app capaz de fazer e receber chamadas SIP (isso se chama [https://en.wikipedia.org/wiki/Softphone softphone]). Para Android alguns softphones são: | ||
+ | * Zoiper | ||
+ | * Linphone | ||
+ | * CSipSimple | ||
+ | * SIPdroid | ||
+ | * PortGo | ||
+ | |||
+ | A configuração desses app é muito parecida com a de telefones IP ou ATA, porém mais simples. | ||
+ | |||
+ | {{collapse bottom | Aula 32}} | ||
+ | |||
+ | = 04/12: Etapa 2: instalação dos PBX das equipes = | ||
+ | |||
+ | {{Collapse top | Aula 33}} | ||
+ | |||
+ | Nesta etapa, cada equipe deve ter o seu PBX IP capaz de fazer chamadas entre telefones e softphones. Lembrem que um PBX IP pode ser entendido como um pequena central telefônica privada capaz de fazer chamadas telefônicas através da Internet. Esse tipo de PBX usa alguma tecnologia VoIP (''Voice over IP'' - Voz sobre IP) para fazer chamadas e transmitir a voz digitalizada entre os telefones. Na nossa instalação, a tecnologia usada se chama modelo SIP. Com esses recursos, pretende-se criar uma rede telefônica privativa em laboratório, em que todas as equipes podem fazer chamadas entre si, como mostrado na figura a seguir. | ||
+ | |||
+ | [[imagem:Pji1-projeto3-pbxs.png|600px]] | ||
+ | <br>''Exemplo da rede telefônica no laboratório entre duas equipes. As linhas tracejadas mostram as etapas para o estabelecimento de uma chamada desde a Equipe A até Equipe B'' | ||
+ | |||
+ | Para realizar as atividades, serão usados alguns ''blocos de montagem'': | ||
+ | * '''PBX IP''': um computador com software [http://www.asterisk.org Asterisk] devidamente instalado e configurado deve fazer o papel de PBX. Existem outros softwares capazes de transformarem um computador em PBX IP, tais como http://www.freeswitch.org Freeswitch] e [http://www.sneplivre.com.br Snep] (este útlimo na verdade é composto por um Asterisk e uma interface de administração, mas ainda tem muitos bugs). | ||
+ | * '''Telefones IP''': telefone IP é o aparelho que contém todas as funcionalidades para fazer e receber chamadas VoIP. Ele tem as teclas para discagem, o bocal, e embute um pequeno computador para se comunicar pela rede. | ||
+ | * '''ATA''': o ''Adaptador de Telefone Analógico'' (ATA) é usado para tornar um telefone analógico capaz de fazer chamadas VoIP. O ATA contém um pequeno computador e interface de rede. | ||
+ | * '''Softphone''': um telefone IP implementado em software. Como ele pode-se transformar um computador, tablet ou smartphone em telefone IP capaz de fazer chamadas pela rede telefônica VoIP implantada. Exemplos de softphone são [http://jitsi.org Jitsi] (para computadores) e [http://www.zoiper.com Zoiper] (para tablets e smartphones Android). | ||
+ | * '''Provedor SIP''': este é um PBX IP especial, que tem papel de interconectar outros PBX IP e, possivelmente, prover acesso a PSTN. No nosso caso, ele vai interligar os PBX das equipes. | ||
+ | |||
+ | == Atividade 1: rede telefônica VoIP de cada equipe == | ||
+ | |||
+ | Cada equipe deve ter seu PBX IP instalado. | ||
+ | |||
+ | O primeiro passo é conseguir fazer chamadas entre telefones IP e softphones da própria equipe. Sendo assim, deve-se garantir que a rede IP esteja funcionando adequadamente: | ||
+ | # Roteador ADSL: | ||
+ | ## Rede externa: interface WAN com endereço dinâmico (fornecido pelo provedor com PPPoE). | ||
+ | ## Rede interna: interface LAN com endereço fixo. | ||
+ | ## Roteamento: rota padrão definida diretamente pelo PPPoE. | ||
+ | ## NAT ativado. | ||
+ | #Roteador Wireless | ||
+ | ##Rede externa:interface WAN com endereço fixo na mesma faixa da LAN do Roteador ADSL. | ||
+ | ## Rede interna: interface LAN com endereço fixo. | ||
+ | ## Serviço DHCP para a LAN: faixa de endereços que não conflite com os endereços do roteador e servidor (central). | ||
+ | ## Roteamento: rota padrão para o roteador ADSL | ||
+ | # Servidor (Central): | ||
+ | ## Rede: interface com endereço fixo. | ||
+ | ## Roteamento: rota padrão para o roteador Wireless. | ||
+ | |||
+ | === Elementos básicos do Asterisk === | ||
+ | |||
+ | * [http://tele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-25.pdf Transparências] | ||
+ | * [http://www.asterisk.org Site oficial do Asterisk] | ||
+ | * [http://www.asteriskguru.com/ Asterisk Guru] | ||
+ | * [http://www.voip-info.org/wiki Dicas sobre Asterisk] | ||
+ | * [http://www.asteriskdocs.org/ Livro online gratuito sobre Asterisk] | ||
+ | * [http://www.packetizer.com/ipmc/sip/papers/understanding_sip_voip/ Introdução a VoIP e SIP] | ||
+ | |||
+ | |||
+ | '''Asterisk:''' uma solução completa de PABX baseado em software, permitindo ligar o mundo IP ao mundo da rede pública de telefonia comutada. | ||
+ | |||
+ | |||
+ | Basicamente dois componentes do Asterisk precisam ser entendidos para poder usá-lo: | ||
+ | * '''Plano de discagem:''' o plano de discagem define como cada chamada deve ser processada. As instruções de processamento residem no arquivo de configuração ''/etc/asterisk/extensions.conf''. O fluxo de processamento de chamadas pode ser visto resumidamente abaixo:<br><br>[[imagem:Asterisk-fluxo.png|400px]] | ||
+ | * '''Canais:''' cada telefone SIP deve ter seu identificador cadastrado no Asterisk. O identificador pode tanto ser um número, análogo a um ramal, ou uma string alfanumérica. No terminologia do Asterisk, cada telefone SIP é chamado de ''canal SIP'', e deve estar declarado em ''/etc/asterisk/sip.conf''. Há outros tipos de canais além de SIP, os quais possibilitam integrar telefones analógicos e troncos digitais ao PBX. | ||
+ | |||
+ | === Instalação do Asterisk === | ||
+ | |||
+ | Instale o Asterisk no computador do centro de midia, e configure-o para possibilitar chamadas entre ramais da equipe: | ||
+ | # Instale o Asterisk: <syntaxhighlight lang=bash> | ||
+ | sudo apt-get install asterisk | ||
+ | </syntaxhighlight> | ||
+ | # As configurações do Asterisk ficam no subdiretório ''/etc/asterisk''. Precisaremos renomear alguns arquivos de configuração, pois iremos substitui-los por outros: <syntaxhighlight lang=bash> | ||
+ | cd /etc/asterisk | ||
+ | sudo mv sip.conf sip.conf.old | ||
+ | sudo mv extensions.conf extensions.conf.old | ||
+ | </syntaxhighlight> | ||
+ | # Crie o arquivo ''/etc/asterisk/sip.conf'', e nele grave o seguinte conteúdo: <syntaxhighlight lang=text> | ||
+ | ; o ramal 1000 | ||
+ | [1000] | ||
+ | username=1000 | ||
+ | secret=542431 | ||
+ | type=friend | ||
+ | insecure=port,invite | ||
+ | disallow=all | ||
+ | allow=gsm | ||
+ | allow=ulaw | ||
+ | allow=alaw | ||
+ | context=default | ||
+ | host=dynamic | ||
+ | qualify=yes | ||
+ | directmedia=no | ||
+ | |||
+ | ; o ramal 1001 | ||
+ | [1001] | ||
+ | username=1001 | ||
+ | secret=542431 | ||
+ | type=friend | ||
+ | insecure=port,invite | ||
+ | disallow=all | ||
+ | allow=gsm | ||
+ | allow=ulaw | ||
+ | allow=alaw | ||
+ | context=default | ||
+ | host=dynamic | ||
+ | qualify=yes | ||
+ | directmedia=no | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | # Crie o arquivo ''/etc/asterisk/extensions.conf'', e nele grave o seguinte conteúdo: <syntaxhighlight lang=text> | ||
+ | [default] | ||
+ | ; qualquer número de destino com quatro dígitos é comutado automaticamente | ||
+ | exten=>1000,1,Dial(SIP/1000) | ||
+ | exten=>1001,1,Dial(SIP/1001) | ||
+ | </syntaxhighlight> | ||
+ | # Reinicie o Asterisk: <syntaxhighlight lang=bash> | ||
+ | sudo service asterisk restart | ||
+ | </syntaxhighlight> | ||
+ | # Crie um ramal para cada telefone IP ou softphone de sua equipe. Não esqueça de definir uma senha '''não óbvia''' para o seu ramal ! | ||
+ | # Ative os telefones IP ou softphones, registrando-os no seu PBX IP. Você precisará do endereço IP do seu PBX, e do número de ramal com respectiva senha. Essas informações precisarão ser configuradas no telefone ou softphone. | ||
+ | # Teste chamadas entre esses telefones. | ||
+ | # Experimente acrescentar o seguinte a ''/etc/asterisk/extensions.conf'': <syntaxhighlight lang=text> | ||
+ | exten=>999,1,Answer() | ||
+ | same=>n,wait(1) | ||
+ | same=>n,Playback(tt-monkeys) | ||
+ | same=>n,Wait(1) | ||
+ | same=>n,Hangup() | ||
+ | </syntaxhighlight>Em seguida execute este comando: <syntaxhighlight lang=bash> | ||
+ | sudo service asterisk restart | ||
+ | </syntaxhighlight>... e experimente chamar o número ''999''. | ||
+ | # Agora baixe [http://tele.sj.ifsc.edu.br/~msobral/pji2/musica.sln este arquivo de som] e grave-o em ''/var/tmp''. Em seguida, modifique o plano de discagem para que a extensão 999 fique assim: <syntaxhighlight lang=text> | ||
+ | exten=>999,1,Answer() | ||
+ | same=>n,wait(1) | ||
+ | same=>n,Playback(/var/tmp/musica) | ||
+ | same=>n,Wait(1) | ||
+ | same=>n,Hangup() | ||
+ | </syntaxhighlight>Em seguida execute este comando: <syntaxhighlight lang=bash> | ||
+ | sudo service asterisk restart | ||
+ | </syntaxhighlight>... e experimente chamar novamente o número ''999''. | ||
+ | |||
+ | {{Collapse bottom | Aula 33}} | ||
+ | |||
+ | = 06/12: Etapa 2: continuação = | ||
+ | {{Collapse top | Aula 34}} | ||
+ | {{Collapse bottom | Aula 34}} | ||
+ | |||
+ | = 11/12: Etapa 2: conclusão = | ||
+ | {{Collapse top | Aula 35}} | ||
+ | A conclusão da etapa 2 envolve a realização de uma atividade de avaliação em duas partes: | ||
+ | # '''Avaliação em equipe''': a equipe deve implantar uma rede | ||
+ | # '''Avaliação individual''': cada aluno deve realizar uma atividade prática relacionada com a atividade feita pela equipe. | ||
+ | |||
+ | == Avaliação em equipe == | ||
+ | |||
+ | Cada equipe deve implantar uma rede com estas características: | ||
+ | |||
+ | * Acesso a Internet com ADSL | ||
+ | * Rede interna com subrede privativa e capacidade para até 60 hosts | ||
+ | * Rede interna com pontos de rede cabeados para pelo menos 10 hosts | ||
+ | * Rede local sem-fio integrada à rede interna | ||
+ | * Telefone IP na rede interna, registrado em uma central externa | ||
+ | * A partir da rede externa deve ser possível acessar o shell de um computador da rede interna, de forma a poder executar comandos | ||
+ | * A partir da rede externa deve ser possível transferir arquivos de e para um computador da rede interna | ||
+ | |||
+ | '''OBS:''' tanto o acesso ao shell quanto a transferência de arquivos NÃO devem depender de nenhum serviço intermediário, tais como ''Dropbox'', ''Google Drive'', ''Teamviewer'', e possivelmente outros. | ||
+ | |||
+ | A avaliação envolve: | ||
+ | # Apresentação da rede pela equipe | ||
+ | # [https://moodle.sj.ifsc.edu.br/mod/assign/view.php?id=3881 Entrega via Moodle] de um relatório técnico que descreve a rede e os acessos a serviços requeridos. Deve-se usar [http://tele.sj.ifsc.edu.br/~msobral/pji2/modelo_relat_tecnico.pdf este modelo]. | ||
+ | {{Collapse bottom | Aula 35}} | ||
+ | |||
+ | = 13/12: Etapa 2: conclusão = | ||
+ | {{Collapse top | Aula 36}} | ||
+ | {{Collapse bottom | Aula 36}} | ||
+ | |||
+ | = 18/12: Etapa 2: conclusão = | ||
+ | {{Collapse top | Aula 37}} | ||
+ | {{Collapse bottom | Aula 37}} |
Edição atual tal como às 14h15min de 22 de fevereiro de 2018
Endereço encurtado: http://bit.ly/pji2-20172
Projeto Integrador II: Diário de Aula 2017-2
Professores: Marcelo Maia Sobral ( Facebook) e Ederson Luiz de Souza Santos (ederson.luiz@ifsc.edu.br)
Encontros: 2a feira/19:00, 4a feira/19:00
Atendimento paralelo: 4a e 6a feira 18:30 h
Coordenadoria pedagógica (Graciane): graciane@ifsc.edu.br (3381-2890, 3381-2842)
Objetivo Geral
Implantar rede de dados e telefônica de pequeno porte, típica de um pequeno escritório.
Ementa
Introdução e histórico das telecomunicações e da Internet. Uso de serviços e aplicações oferecidos pelas redes de telecomunicações. Conceitos sobre redes de computadores: comutação de pacotes versus comutação de circuitos, redes locais e rede Internet. Instalação de computadores e integração a uma rede local e a Internet. Sistema operacional Linux. Introdução ao sistema telefônico: telefonia fixa e móvel, centrais de comutação, telefonia IP e convergência. Integração de serviços de voz convencionais e VoIP.
Bibliografia
- FOROUZAN, Behrouz A.; FEGAN, Sophia Chung. Comunicação de dados e redes de computadores. Tradução de Ariovaldo Griesi. 4. ed. São Paulo: McGraw-Hill, 2008. 1134 p., il. ISBN 9788586804885.
- KUROSE, J. e ROSS, K. Redes de Computadores e a Internet: Uma abordagem top-down. Tradução da 3a edição, Addison Wesley, 2006.
- COLCHER, Sérgio. VOIP: voz sobre IP. Rio de Janeiro: Elsevier, 2005.
Material de apoio
- Linux
- Redes
- Outros
Alguns textos interessantes
- A história dos telefones celulares
- Telebrasil (Associação Brasileira de Telecomunicações)
- Telecom no Brasil: um panorama
- Estatísticas sobre telecomunicações no Brasil
- Principais grupos de telecomunicações no Brasil
- Telecomunicações: O Novo Cenário (BNDES)
- Desafios e Oportunidades do Setor de Telecomunicações no Brasil (IPEA)
- Netflix abocanha 34% de todo o tráfego da internet na América do Norte
- Tráfego total VoIP na Internet
- Internet no Brasil 2014 (dados e fontes)
- Internet: como estão as velocidades nos principais países
- Apresentação sobre redes de computadores
- O Mundo Submarino da Internet
- Rede Ipê: a Rede Nacional de Pesquisa (RNP)
- Openwrt no RaspberryPi
Oportunidades para Técnicos em Telecomunicações
- Ofertas de vagas para técnico em Telecom
- Ofertas de vagas para técnico em Telecom no SINE
- Salário médio do Técnico em Telecomunicações no Brasil
Documentários sobre telecomunicações
- História das Telecomunicações
- Inventos: Telefones Celulares (video Discovery)
- Documentário É Logo Ali: parte 1 e parte 2
- Video da Petrobras
Curiosidades
- Telex: um serviço já extinto (?!)
- Submarine Cable Map
- Mapa de Ataques
- Panorama do Tráfego - RNP
- Uma semana na vida do Administrador de Suporte do "Inferno" (humor)
- Vaga de Técnico em Redes na RNP: um exemplo de oferta de emprego
- Empoderar, dar autonomia, não esconder o código
- Carrier Grade Linux (CGL): Linux para Telecomunicações
Avaliações
As avaliações serão de dois tipos:
- Projetos: feitos em equipe, serão avaliados de acordo com o cumprimento dos objetivos previamente determinados. Na apresentação do projeto, uma entrevista será feita para definir o conceito concedido a cada membro da equipe.
- Testes: feitos individualmente, serão aplicados semanalmente no início da aula. O conteúdo para esses testes serão textos informados com uma semana de antecedência, assim como as técnicas e assuntos vistos em aula. A avaliação de cada teste será dada com um dos conceitos S (suficiente) e I (insuficiente).
O conceito final será calculado da seguinte forma:
- 9 a 10: ao menos dois projetos A e um projeto B
- 7 a 9: ao menos dois projetos B em um projeto C
- 6: ao menos C em todos projetos
Além disso, os testes ajustam o conceito final da seguinte maneira:
- Incrementa: se pelo menos 75% dos testes S, incrementa conceito final em um nível (ex: B sobe para A)
- Mantém: se pelo menos 40% dos testes S, mantém conceito final
- Decrementa: se menos de 40% dos testes S, decrementa conceito final em um nível (ex: A reduz para B)
Projetos
Nome | Projeto 1 | Projeto 2/Aval. Indiv. | Testes S | Conceito | Conceito após ajuste |
---|---|---|---|---|---|
Alisson | 9 | 65/100 | 4(mantém) | 9 | 9 |
Amarildo | 8 | 75/0 | 5 (mantém) | 5 | 5 |
Bruno | 8 | 60/25 | 4 (mantém) | 6 | 6 |
Gilson | 7 | 80/12 | 5 (mantém) | 6 | 6 |
Manoel | 8 | 60/38 | 4 (mantém) | 6 | 6 |
Mauricio | 8 | 80/100 | 6 (incrementa) | 8 | 8 |
Natha | 9 | 80/100 | 4(mantém) | 9 | 9 |
Osiel | 9 | 65/100 | 5(mantém) | 9 | 9 |
Robson | 8 | 75/25 | 3(mantém) | 6 | 6 |
Rodrigo | 8 | 60/25 | 4(mantém) | 6 | 6 |
Tiago | 8 | 72/100 | 2 (decrementa) | 8 | 8 |
- OBS: 0* = Indefinido (por ausência à avaliação)
Testes
Nome | T1 | T2 | T3 | T4 | T5 | T6 | T7 | Ajuste |
---|
Obs: I* = não fez o teste
Equipes
Equipe | Membros |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
31/07: Conceitos básicos e início do projeto 1
Aula 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A disciplina se compõe de três etapas:
Hoje inicia-se a etapa 1. Ao longo dela serão estudados alguns conceitos sobre o sistema operacional Linux, e serão praticados exercícios e resolvidos pequenos desafios relacionados com procedimentos usuais do dia-a-dia. Ao final da etapa, um pequeno projeto será realizado para consolidar o conhecimento e avaliar o progresso da turma.
Apresentação do Projeto 1O projeto 1 tem por objetivo:
Começando o projeto
Identificação de softwares para centro de midiaA investigação da turma teve como fruto um conjunto de possíveis softwares para usar no projeto. A escolha de um desses softwares depende dele ser capaz de atender os requisitos listados na descrição do projeto. Assim, a tabela abaixo pretende sistematizar o cumprimento dos requisitos por esses softwares.
Uma visão geral (dos professores) sobre o projeto 1A realização do projeto 1 envolve a compreensão de um conjunto de conceitos. O mapa conceitual abaixo procura resumir as ideias envolvidas, e como elas se relacionam. Esse mapa pode ser melhorado ao longo do projeto ! |
02/08: Projeto 1: escolhendo e instalando o media center
Aula 2 |
---|
Na aula de hoje, será realizado o seguinte:
Instalação do centro de midiaNa aula anterior vocês procuraram por softwares que pudessem satisfazer as necessidades apontadas no projeto. Muitos softwares existem, dentre eles Kodi, Miro, Universal Media Server e Plex (devem existir ainda outros ...). Com base na tabela comparativa feita na aula passada, cada equipe deve escolher um deles para instalá-lo. Nosso objetivo é cada equipe ter um media center básico funcionando ao final da aula. Instalando o Kodi
Apesar do guia acima parecer curto e fácil, ele implica alguns conhecimentos para ser realizado a contento - e entendido ! Uma compreensão sobre o que é o sistema operacional Linux, quais seus elementos básicos, e como ele pode ser utilizado, são necessários para essa tarefa. Mas veremos isso à medida que instalarmos o Kodi. Algumas atividades para o uso do sistema operacionalAo longo do projeto 1 (e também do projeto 2) diversas atividades precisarão ser realizadas com o sistema operacional. Algumas delas são bastante corriqueiras, e por isso acabam sendo realizadas desde as primeiras vezes em que se usa o sistema. Elas envolvem:
ExercíciosPara exemplificar as atividades típicas de uso do sistema operacional, faça o seguinte:
|
07/08: Projeto 1: Instalando fontes de mídia locais
Aula 3 |
---|
Na aula de hoje, será realizado o seguinte:
Instalação de fontes de midia locais no KodiCrie três fontes locais de midia no Kodi: uma para videos, outra para musicas e uma terceira para imagens. Em seguida copie arquivos de midia para seu computador e organize-os para que possam ser acessados por meio do Kodi. Caso não tenha em mãos esses arquivos de midia, use o seguinte:
Visualizando o conteúdo dos arquivosCada arquivo guarda um certo tipo de informação. Para poder visualizá-lo corretamente, deve-se usar um programa capaz de entender seu conteúdo, e mostrá-lo da forma esperada. Por exemplo, arquivos de video, música e imagem são reproduzidos pelo Kodi e outros programas. Arquivos de texto são visualizados e editados com editores de texto, e assim por diante. De forma geral, (quase) sempre existe ao menos um programa que sabe mostrar o conteúdo de um certo tipo de arquivo. Por convenção, o tipo de um arquivo é informado por sua extensão, que é a parte final do seu nome que vem após o . (ex: video.avi tem extensão .avi).
Os programas encontrados devem poder ser usados tanto no modo gráfico quanto em linha de comando (se possível).
Exercício
Caracterização de arquivos e diretóriosArquivos são uma abstração corriqueira em sistemas operacionais. Um arquivo possui um conteúdo, codificado em um conjunto de bytes. Assim, um arquivo a rigor contém bytes que representam algum tipo de informação (texto, planilha, video, áudio, imagem, programa, ...). A interpretação desses bytes fica por conta de programas especializados, os quais são capazes de lerem e gravarem conteúdos específicos (ex: libreoffice para arquivos com documentos de texto e planilhas, Firefox e Google Chrome para arquivos de hipertexto). Isso simplifica o tratamento de arquivos pelo sistema operacional: para ele, são apenas bytes.
Além de conteúdo, cada arquivo possui alguns atributos. Talvez o mais aparente seja seu nome, que serve como identificação para que se possa acessá-lo. Outros atributos associados a arquivos são:
Alguns atributos de arquivos podem ser visualizados com o programa utilitário ls, se for usada sua opção -l (listagem longa). O exemplo a seguir mostra o resultado da execução do comando ls -l /etc/issue: -rw-r--r-- 1 root root 26 Fev 7 21:55 /etc/issue
As informações apresentadas podem ser interpretadas desta forma:
/etc/issue: caminho do arquivo, que inclui o subdiretório onde se localiza (/etc) e seu nome (issue). Manipulação de arquivos e diretóriosUma tarefa usual em um sistema operacional é localizar arquivos. Essa procura pode ser baseada no nome ou parte do nome de arquivo, na data de criação ou última modificação, no nome do usuário ou grupo dono, ou outros atributos do arquivo. Pode ser inclusive baseada numa combinação dessas informações. Por exemplo, pode ser necessário procurar todos os arquivos de música ou video, ou então todos os programas (arquivos executáveis) que pertençam ao superusuário (usuário root). Existem programas capazes de fazer tais buscas tanto no ambiente gráfico quanto no modo texto. As buscas a serem realizadas são:
Para iniciar, vamos usar programas gráficos para fazer buscas. Usando o ambiente gráficoO primeiro programa gráfico a ser usado é o caja (ou nautilus em outras versões do Ubuntu que não o Mate), o gerenciador de arquivos disponível no Ubuntu Linux. Para usá-lo para fazer buscas selecione a opção de pesquisa:
Usando a linha de comando (modo texto)O caja funciona como um gerenciador de arquivos e diretórios, possibilitando investigar que arquivos existem em cada diretório, entre outras coisas. Com ele é simples listar o conteúdo de um ou mais diretórios, bastando navegar por sua interface. Mas na linha de comando não há essa facilidade. Nela devem-se usar alguns programas para obter um resultado parecido. Para começar a usar a linha de comando, devem-se conhecer e saber usar programas para navegar por diretórios, listar diretórios, procurar arquivos e diretórios e copiar arquivos. Árvore de diretóriosAntes de iniciarmos o estudo de comandos dos Linux é necessário entendermos como funciona a sua organização de arquivos e diretórios. Isso é importante para conseguirmos especificar adequadamente o caminho de arquivos e diretórios que desejamos manipular quando formos utilizar os mais diversos comandos. Na figura acima é mostrado um exemplo de como são organizados arquivos e diretórios no Linux. Como é possível notar arquivos e diretórios são organizados de forma hierárquica, formando o que se chama de Árvore de Diretórios. No Linux há um diretório de nível superior chamado root que é identificado como apenas uma barra (/). Abaixo deste diretório principal estão organizados hierarquicamente todos os demais diretórios e arquivos existentes. Os diretórios que estão contidos em / são chamados de sub-diretórios. No exemplo mostrado na Figura acima podemos perceber que em / está o sub-diretório home, dentro de home está o sub-diretórios user1 e dentro de user1 estão os sub-diretórios doc e videos.
Por exemplo, o caminho absoluto do diretório doc que aparece na figura é /home/user1/doc. Já se o diretório atual do usuário for /home, o caminho relativo do diretório doc é user1/doc. Diretório atualNa linha de comando existe o conceito de diretório atual ou corrente. Quando se acessa esse tipo de interface, existe um diretório em que operações sobre arquivos são realizadas. Para descobrir o diretório atual usa-se o programa pwd, como mostrado a seguir: msobral@turing:~$ pwd
/home/aluno
Listagem de diretórioNo exemplo anterior, o diretório atual é /home/aluno. Qualquer operação sobre arquivos ou diretórios será feita tendo como base esse diretório. A operação mais simples é a listagem de diretório, que se faz com o programa ls. Aproveitando o exemplo acima, a listagem do diretório atual teria este resultado: msobral@turing:~$ ls
001.jpg iperf-2.0.5.tar.gz prova4-2011-1.odt
002.jpg juliano.tgz prova4-2011-1-rec.odt
003.jpg klaus prr.log
004.jpg livros public_html
005.jpg Makefile.in quartus.cap
006.jpg nhrp.tar radiusd_test.py
007.jpg nohup.out rco2
008.jpg passwd.web rmu
msobral@turing:~$
Como já visto em uma seção anterior, o programa ls pode apresentar mais informações sobre arquivos e subdiretórios se for executado com a opção -l (listagem longa). Experimente executar o ls com esta opação. Para conhecer outras opções e obter mais detalhes, leia a página de manual do comando: man ls
... ou acesse isto. Mudança de diretórioA listagem apresentada revela vários arquivos e subdiretórios existentes no diretório atual. Sabendo que public_html é um subdiretório, pode-se desejar mudar o diretório atual de forma a entrar nesse subdiretório. Isso pode ser facilmente realizado com o programa cd: aluno@turing:~$ cd public_html
aluno@turing:~/public_html$ pwd
/home/aluno/public_html
Diretório atual e diretório acimaO diretório imediatamente acima é referido com .. (dois pontos). Esse é um atalho que possibilita subir um nível de diretório sem conhecer o nome do diretório imediatamente superior. Assim, para voltar ao diretório imediatamente anterior ao diretório atual pode-se fazer isto: aluno@turing:~/public_html$ cd ..
aluno@turing:~$ pwd
/home/aluno
aluno@turing:~/public_html$ pwd
/home/aluno/public_html
aluno@turing:~/public_html$ cd .
aluno@turing:~/public_html$ pwd
/home/aluno/public_html
... nada acontecerá (o diretório atual não será modificado). Criação e remoção de diretórioUm diretório pode ser criado com o comando mkdir. O uso desse comando pede apenas um argumento, que é o nome ou caminho do diretório a ser criado: aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ mkdir teste
aluno@M2:~$ cd teste
aluno@M2:~$ pwd
/home/aluno/teste
Para remover um diretório usa-se o comando rmdir. Esse diretório deve estar vazio para o comando consiga removê-lo: aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ rmdir teste
aluno@M2:~$ cd teste
cd: teste: Arquivo ou diretório não encontrado
aluno@M2:~$ rmdir Downloads
rmdir: falhou em remover “Downloads”: Diretório não vazio
Cópia de arquivosA cópia de arquivos na linha de comando envolve usar o programa cp. Com ele podem-se copiar um ou mais arquivos para um diretório de destino. Por exemplo, para copiar o arquivo 001.jpg para dentro do diretório public_html pode-se fazer o seguinte: aluno@M2:~$ cp 001.jpg public_html
O diretório de destino é sempre o último argumento passado ao programa cp. A cópia de múltiplos arquivos pode ser feita listando-os todos antes do diretório de destino: aluno@M2:~$ cp 001.jpg 002.jpg 003.jpg public_html
aluno@M2:~$ cp *.jpg public_html
aluno@M2:~$ cp 00*.jpg public_html
... em que todos os arquivos cujos nomes iniciem com 00 e terminem com .jpg serão copiados. Renomeação de arquivosArquivos podem ser renomeados com o comando mv. Ele pode ser usado de forma muito parecida com o comando cp. A diferença está na remoção do arquivo original, como se ele sumisse de seu diretório de origem e aparecesse no diretório de destino. aluno@M2:~$ mv mulher_de_40.mp3 Musicas
aluno@M2:~$ ls Musicas
mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado
aluno@M2:~$ mv mulher_de_40.mp3 musica_romantica.mp3
aluno@M2:~$ ls musica_romantica.mp3
musica_romantica.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado
Remoção de arquivosArquivos podem ser removidos com o comando rm. Cuidado ao utilizá-lo ! Uma vez removido, um arquivo não pode ser recuperado ! aluno@M2:~$ rm mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado
Curingas (wildcards)Curingas são caracteres especiais usados para selecionar vários arquivos ou diretórios de uma só vez. Os curingas podem ser usados em qualquer comando para especificar nomes de arquivos e diretórios. Dois curingas bastante usados são:
Curingas são muito úteis para operações sobre arquivos e diretórios. Por exemplo, para copiar todos os arquivos de música MP3 pode-se usar o curinga *' da seguinte forma: aluno@M2:~$ cp *.mp3 Musica
aluno@M2:~$ mv *.mp? Videos
Procura por arquivosA procura de arquivos e diretórios pode ser realizada na linha de comando com o programa find. Por exemplo, para localizar todos os arquivos ou diretórios chamados default, e que estejam abaixo de /etc: aluno@D1:~$ find /etc -name default -print
/etc/default
/etc/calendar/default
/etc/X11/xinit/xinput.d/default
aluno@D1:~$
find diretório [opões]
... e muitas outras (consulte o manual do find). Exercícios
|
09/08: Projeto 1: continuação das atividades sobre linha de comando
Aula 4 |
---|
14/08: Projeto 1: continuação das atividades sobre linha de comando
Aula 5 |
---|
16/08: Projeto 1: transmitindo a midia pela rede
Aula 6 |
---|
Na aula de hoje, será realizado o seguinte:
Permissões de acesso a arquivos e diretóriosAs permissões de acesso a arquivos e diretórios permitem proteger o sistema de arquivos do Linux do acesso indevido por pessoas ou programas não autorizados. O princípio da segurança está baseado no conceito de usuário dono ou proprietário, grupo e demais usuários. Um arquivo sempre possui um usuário que é o seu proprietário. Quando um usuário cria um arquivo ou diretório, ele passa a ser o seu dono. No entanto, o arquivo poderá ser repassado a outro usuário. O grupo permite atribuir permissões de acesso a arquivos e diretórios comuns a um grupo de usuários. Por fim, demais usuários (outros) são usuários que não são donos nem pertencem ao grupo do arquivo ou diretório. Um usuário do sistema é identificado pelo seu nome de login, ao qual existe associado
um número chamado UID (''user ID''). Uma coleção de usuários pode pertencer a um grupo. Um grupo
também possui um nome e um identificador numérico (''GID'').
aluno@M2:~$ cd Downloads
aluno@M2:~$ ls -l
-rw-r--r-- 1 root root 2520813 Jun 5 2013 rt5572sta.tgz
-rwxrwxr-x 1 aluno aluno 453 Jun 27 2013 transmissor
-rw-rw-r-- 1 aluno aluno 69118 Jul 16 2013 vento.png
-rw-r--r-- 1 aluno aluno 7336 Abr 10 2014 vlan_simples(1).py
-rw-rw-r-- 1 aluno aluno 39864 Fev 19 2014 voip-pstn.png
drwxrwxr-x 3 aluno aluno 4096 Dez 16 2013 wan
-rw-rw-r-- 1 aluno aluno 5454 Jul 30 2013 wan-2013-1.conf
-rw-rw-r-- 1 aluno aluno 933 Dez 5 2013 wan-2013-1.netkit
-rw-rw-r-- 1 aluno aluno 3969 Jul 29 2013 wan-2013-1_vTeste.conf
-rw-rw-r-- 1 aluno aluno 995 Dez 5 2013 wan-2013-2.netkit
aluno@M2:~$
Exercício
Um pequeno desafio
Transmitindo a midia pela rede
Fontes de midia remotas podem ser cadastradas no centro de midia para fácil acesso. Sendo assim:
Atividade
|
21/08: Projeto 1: editando arquivos de texto
Aula 7 |
---|
Na aula anterior foram experimentadas fontes de midia remotas no Kodi. Com isso, videos armazenados em outros computadores podem ser acessados diretamente através da rede, sem necessidade de transferi-los previamente para o computador local. Essa forma de acessar midia pode ser usada também para video online, tal como o de câmeras IP. Para acessar uma câmera IP no Kodi, deve-se criar um arquivo especial dentro de uma fonte de midia local. Dentro desse arquivo deve-se escrever URL da câmera na rede. O nome do arquivo deve ter extensão .strm (abreviação de stream). Existe uma câmera IP no laboratório, a qual pode ser acessada nesta URL: rtsp://aluno:aluno@192.168.1.248:554/. Assim, para criar tal arquivo deve-se saber como editar um arquivo de texto.
|
23/08: Continuação
Aula 8 |
---|
Continuação das atividades sobre editores de texto. Ajustes finos no KodiO kodi é um programa cuja configuração e demais arquivos de trabalho residem em um diretório especial. Esse diretório é criado pelo próprio kodi para armazenar todos os arquivos necessários a suas operações. Ele se chama .kodi' e se localiza no diretório pessoal do usuário que executa o kodi. Investigue o subdiretório .kodi. Identifique a estrutura de subdiretórios ali contida, e também os arquivos armazenados.
A segunda atividade envolve o uso de um editor de texto, seja em modo gráfico ou em modo texto. Por fim, devem-se obter informações sobre o formato de texto dos arquivos de configuração do kodi (dica: esse formato é identificado pela extensão do nome desses arquivos).
Compartilhando videos entre Kodi
Desafios
Para conseguir ativar essas funcionalidades no seu media center, são necessários alguns conceitos básicos sobre comunicação de dados e redes de computadores. Não custa revisá-los ... Atividade extraUma câmera de video também pode ser acessada por meio do Kodi, que apresenta sua imagem na tela. No laboratório existe uma câmera IP, que pode ser acessada com esta URL:
Acesse essa câmera com seu Kodi. Algumas dicas podem ser obtidas aqui.
|
28/08: Backups
Aula 9 |
---|
A aula de hoje tem este objetivo:
Atividade
|
30/08: Projeto 1: backups (continuação)
Aula 10 |
---|
Hoje serão vistos os compactadores existentes no Linux, e realizados alguns exercícios sobre eles. Em seguida, será apresentada a atividade para fins de avaliação da primeira etapa da disciplina. AtividadeFaça os exercícios abaixo usando tanto o ambiente gráfico, por meio do gerenciador de arquivos, quanto os compactadores no modo texto:
|
4/09: Projeto 1: conclusão
Aula 11 |
---|
A etapa 1 envolveu usar um centro de midia para proporcionar um primeiro contato com o sistema operacional Linux. Foram apresentadas as duas interfaces de usuário, sendo elas a interface gráfica (GUI) e a linha de comando (CLI ou, simplesmente, shell). Aprenderam-se conceitos básicos, tais como diretórios, arquivos e permissões, e usaram-se aplicativos gráficos e programas pela linha de comando para manipulá-los. Isso deve ser suficiente para que se consiga usar o sistema operacional e os aplicativos nele disponíveis. A conclusão da etapa 1 envolve implantar um serviço de compartilhamento de arquivos para disponibilização de midia remota. Esse serviço tem por finalidade oferecer acesso remoto a arquivos de video e audio para centros de midia. Além disso, deve ser possível acrescentar e remover remotamente os arquivos de midia compartilhados. Esses tipos de transferência de arquivos podem ser descritas assim:
Quando as transferências são feitas para fins de modificação no conjunto de arquivos existentes, o acesso deve ser autenticado por meio de um usuário e sua senha. Pode haver mais de um usuário com permissão de modificar os arquivos compartilhados. Ao acessar o serviço, um usuário tem acesso a seu diretório pessoal de arquivos compartilhados. Assim, cada usuário pode compartilhar suas fontes de video e audio para centros de midia. Acessos feitos por centros de midia são anônimos, não exigindo um usuário e senha válidos. Esse tipo de acesso possibilita o acesso a diretórios que contêm os arquivos de midia compartilhados. Cada diretório compartilhado deve possuir apenas um tipo de arquivo de midia: video ou audio. Assim, um usuário que deseje compartilhar tais tipos de arquivos deve estruturar seus diretórios compartilhados de forma a oferecer diretórios compartilhados de video ou audio distintos. O tipo de serviço que melhor atende essa necessidade se chama FTP. Existem vários programas que implementam esse serviço para o Linux, e assim um deles devem ser escolhido e instalado. A lista a seguir apresenta algumas opções para servidores FTP (procure informações sobre eles na web):
Atividades
|
6/09: Projeto 1: conclusão
Aula 12 |
---|
11/09: Projeto 1: conclusão e apresentação
Aula 13 |
---|
18/09: Etapa 2: uma rede residencial com acesso a Internet
Aula 14 | ||
---|---|---|
A etapa 1 envolveu ter um primeiro contato com o sistema operacional Linux. Foram apresentadas as duas interfaces de usuário, sendo elas a interface gráfica (GUI) e a linha de comando (CLI ou, simplesmente, shell). Aprenderam-se conceitos básicos, tais como diretórios, arquivos e permissões, e usaram-se aplicativos gráficos e programas pela linha de comando para manipulá-los. Isso deve ser suficiente para que se consiga usar o sistema operacional e os aplicativos nele disponíveis. Para finalizar a etapa 1 cada aluno implementou um repositório FTP para disponibilização de arquivos de midia para serem acessados pelo Kodi. A etapa 1 do projeto integrador partiu do princípio de que toda a infraestrutura necessária estaria pronta, portanto ele foi desenvolvido sobre um computador devidamente instalado e operacional, e também usando uma rede de computadores devidamente configurada. Porém, em um caso real, possivelmente essa infraestrutura não exista. A etapa 2 trata de, partindo do zero, implantar uma rede residencial com acesso a Internet. Essa rede deve ter ao menos um computador, uma rede sem-fio e um enlace ADSL para acesso a Internet. Essa nova etapa implica implantar o seguinte cenário:
Plano geral de trabalho da Etapa 2
Particionamento do discoDeve-se instalar o sistema operacional com particionamento manual do disco. As partições devem ser:
|
20/09: Etapa 2: preparação de um computador
Aula 15 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Obtendo o computadorO computador de cada equipe precisa ser especificado e então montado. Os componentes necessários para cada computador precisam ser identificados e escolhidos, para então montá-los. Por isso, primeiro precisamos enumerar que componentes são esses. Para ajudar essa tarefa, primeiro vamos entender a estrutura geral de um computador do tipo PC.
Tabela de componentes dos computadoresProcure no seu computador os componentes da tabela abaixo. Identifique o fabricante e modelo, e demais informações úteis.
Videos ilustrativos
Uso de RaspberryPi como computadorRaspberryPi é um projeto com o propósito de disponibilizar computadores de baixo custo e alto desempenho para que pessoas possam aprender, resolver problemas e se divertirem. O computador RaspberryPi, chamado daqui em diante de Rpi, tem tamanho de um cartão de crédito, bastando teclado e mouse USB, monitor com entrada HDMI e fonte de alimentação para ser utilizado. Ele possui 1 GB RAM e processador ARM de quatro núcleos com clock de 1.2 GHz. Para acesso à rede ele possui interfaces de rede ethernet e Wifi, além de Bluetooth.
Instalação do sistema operacional no RpiA instalação do sistema operacional segue praticamente o mesmo procedimento da aula anterior. Porém desta vez será necessário gravar a imagem do sistema operacional em um cartão de memória microSD, que funcionará como o disco rígido do Rpi. De acordo com as instruções contidas no site do Rpi, a instalação deve ser feita assim:
ExercíciosOs conceitos e termos técnicos vêm se acumulando gradativamente. Como exercício de compreensão, explique o que significa:
Tarefa para dia 25/09Você recebeu a tarefa de especificar um computador a ser comprado em sua empresa. Esse computador deve ser usado para rodar programas de escritório. A empresa optou por adquirir os componentes em separado, de forma a montar o computador. Sendo assim, selecione todos os componentes desse computador, informando fabricante, modelo e preço. Use componentes disponíveis em mercado atualmente. Inclua figuras para ilustrar as peças do computador que você escolheu. A entrega da especificação deve ser feita por meio desta atividade no Moodle. |
25/09: Projeto 2: ajuste fino da instalação do sistema operacional
Aula 16 | ||
---|---|---|
Configuração da rede no computador da equipeO projeto 2 envolve não somente instalar e fazer o ajuste fino do computador da equipe, mas também implantar a rede através da qual ele se comunica com outros dispositivos e com a Internet.
192.168.1.1
Os octetos desse endereço são: 192, 168, 1 e 1. Exercícios:
Atividade
Arquivo /etc/network/interfacesO arquivo /etc/network/interfaces contém declarações para configurar as interfaces de rede. Um exemplo de configuração básica contida nesse arquivo pode ser vista a seguir: auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
Esse exemplo pode ser interpretado assim:
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 172.18.80.251
netmask 255.255.128.0
gateway 172.18.0.254
dns-nameservers 191.36.8.2 191.36.8.3
O manual do arquivo /etc/network/interfaces apresenta muitos outros detalhes sobre possíveis configurações de rede. Acesso remoto ao computadorUm dos objetivos do projeto é adquirir familiaridade com a operação do sistema operacional. Após a instalação do seu computador, pode-se aproveitar a oportunidade para experimentar algumas ações comuns de serem feitas nesse tipo de sistema. Dentre elas, o acesso e administração remota de um computador é de grande utilidade.
O acesso remoto a um terminal de texto atualmente se faz com um aplicativo chamado SSH (Secure Shell). Seu uso básico é bastante simples, bastando informar o endereço IP do computador onde se deseja fazer o acesso. Além disso, é necessário possuir uma conta de usuário nesse computador.
OBS:
|
27/09: Projeto 2: Usuários e grupos
Aula 17 |
---|
Usuários e gruposUm usuário Linux é uma entidade que possui uma identificação no sistema onde os principais parâmetros são: login, senha, e número de identificação. Estas informações permitem ao Linux controlar como o acesso é garantido aos usuários e o que eles podem fazer depois de obter a permissão de acesso. Um grupo é um conjunto de usuários. Cada grupo também possui identificação única no sistema, um nome e um número. O administradores de sistemas normalmente fazem controle de acesso por meio dos grupos. Um usuário no Linux (e no Unix em geral) é definido pelo seguinte conjunto de informações:
As contas de usuários, que contêm as informações acima, podem ficar armazenadas em diferentes bases de dados (chamadas de bases de dados de usuários). Dentre elas, a mais simples é composta pelo arquivo /etc/passwd: root:x:0:0:root:/root:/bin/bash sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false suse-ncc:x:105:107:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash wwwrun:x:30:8:WWW daemon apache:/var/lib/wwwrun:/bin/false man:x:13:62:Manual pages viewer:/var/cache/man:/bin/bash news:x:9:13:News system:/etc/news:/bin/bash uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash roberto:x:1001:100:Roberto de Matos:/data1/roberto:/bin/bash Acima um exemplo de arquivo /etc/passwd Cada linha desse arquivo define uma conta de usuário no seguinte formato: nome de usuário:senha:UID:GID:Nome completo:Diretório inicial:Shell O campo senha em /etc/passwd pode assumir os valores:
O arquivo /etc/shadow armazena exclusivamente as informações relativas a senha e validade da conta. Nele cada conta possui as seguintes informações:
Um exemplo do arquivo /etc/shadow segue abaixo: root:$2a$05$8IZNUuFTMoA3xv5grggWa.oBUBfvrE4MfgRDTlUI1zWDXGOHi9dzG:13922:::::: suse-ncc:!:13922:0:99999:7::: uucp:*:13922:::::: wwwrun:*:13922:::::: roberto:$1$meoaWjv3$NUhmMHVdnxjmyyRNlli5M1:14222:0:99999:7::: Exercício: quando a senha do usuário roberto irá expirar ? Um grupo é um conjunto de usuários definido da seguinte forma:
Assim como as contas de usuários, os grupos ficam armazenados em bases de dados de usuários, sendo o arquivo /etc/group a mais simples delas: root:x:0: trusted:x:42: tty:x:5: utmp:x:22: uucp:x:14: video:x:33:roberto www:x:8:roberto users:x:100: radiusd:!:108: vboxusers:!:1000: Os membros de um grupo são os usuários que o têm como grupo primário (especificado na conta do usuário em /etc/passwd), ou que aparecem listados em /etc/group. Gerenciamento de usuários e gruposPara gerenciar usuários e grupos podem-se editar diretamente os arquivos /etc/passwd, /etc/shadow e /etc/group, porém existem utilitários que facilitam essa tarefa:
AtividadeEsta parte da atividade cada aluno executa individualmente em sua máquina, fazendo uso da devida máquina virtual.
|
02/10: Projeto 2: Usuários e grupos
... continuação.
Aula 18 |
---|
04/10: Projeto 2: Permissões
Aula 19 |
---|
Há uma maneira de restringir o acesso aos arquivos e diretórios para que somente determinados usuários possam acessá-los. A cada arquivo e diretório é associado um conjunto de permissões. Essas permissões determinam quais usuários podem ler, e escrever (alterar) um arquivo e, no caso de ser um arquivo executável, quais usuários podem executá-lo. Se um usuário tem permissão de execução para um diretório, significa que ele pode realizar buscas dentro daquele diretório, e não executá-lo como se fosse um programa. Quando um usuário cria um arquivo ou um diretório, o LINUX determina que ele é o proprietário (owner) daquele arquivo ou diretório. O esquema de permissões do LINUX permite que o proprietário determine quem tem acesso e em que modalidade eles poderão acessar os arquivos e diretórios que ele criou. O super-usuário (root), entretanto, tem acesso a qualquer arquivo ou diretório do sistema de arquivos. O conjunto de permissões é dividido em três classes: proprietário, grupo e usuários. Um grupo pode conter pessoas do mesmo departamento ou quem está trabalhando junto em um projeto. Os usuários que pertencem ao mesmo grupo recebem o mesmo número do grupo (também chamado de Group Id ou GID). Este número é armazenado no arquivo /etc/passwd junto com outras informações de identificação sobre cada usuário. O arquivo /etc/group contém informações de controle sobre todos os grupos do sistema. Assim, pode -se dar permissões de acesso diferentes para cada uma destas três classes. Quando se executa ls -l em um diretório qualquer, os arquivos são exibidos de maneira semelhante a seguinte: > ls -l total 403196 drwxr-xr-x 4 odilson admin 4096 Abr 2 14:48 BrOffice_2.1_Intalacao_Windows/ -rw-r--r-- 1 luizp admin 113811828 Out 31 21:28 broffice.org.2.0.4.rpm.tar.bz2 -rw-r--r-- 1 root root 117324614 Dez 27 14:47 broffice.org.2.1.0.rpm.tar.bz2 -rw-r--r-- 1 luizp admin 90390186 Out 31 22:04 BrOo_2.0.4_Win32Intel_install_pt-BR.exe -rw-r--r-- 1 root root 91327615 Jan 5 21:27 BrOo_2.1.0_070105_Win32Intel_install_pt-BR.exe > As colunas que aparecem na listagem são:
O esquema de permissões está dividido em 10 colunas, que indicam se o arquivo é um diretório ou não (coluna 1), e o modo de acesso permitido para o proprietário (colunas 2, 3 e 4), para o grupo (colunas 5, 6 e 7) e para os demais usuários (colunas 8, 9 e 10). A figura a seguir destaca as classes de permissões mostradas em uma listagem de diretório.
A permissão de acesso a um diretório tem outras considerações. As permissões de um diretório podem afetar a disposição final das permissões de um arquivo. Por exemplo, se o diretório dá permissão de gravação a todos os usuários, os arquivos dentro do diretório podem ser removidos, mesmo que esses arquivos não tenham permissão de leitura, gravação ou execução para o usuário. Quando a permissão de execução é definida para um diretório, ela permite que se pesquise ou liste o conteúdo do diretório. A modificação das permissões de acesso a arquivos e diretórios pode ser feita usando-se os utilitários:
Há também o utilitário umask, que define as permissões default para os novos arquivos e diretórios que um usuário criar. Esse utilitário define uma máscara (em octal) usada para indicar que permissões devem ser removidas. Exemplos:
Atividade
|
09/10: Projeto 2: acrescentando discos ao computador
Aula 20 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Curiosidades:
Particionamento do discoDeve-se instalar o sistema operacional com particionamento manual do disco. As partições devem ser:
Partições e sistemas de arquivos
Imagine que um novo disco rígido foi instalado no seu computador. O que é necessário fazer para usá-lo ? O mesmo vale para o uso de um pendrive, ou a leitura de um DVD ou CD. Essas midias armazenam arquivos, e, desta forma, possuem um sistema de arquivos. Mas como integrá-lo ao sistema operacional ?
Guia rápido sobre criação de partiçõesO particionamento de disco APÓS a instalação do sistema operacional pode ser necessária em algum momento. O procedimento a ser visto em boa parte pode ser aplicado também ao caso da instalação de um segundo (ou terceiro ...) disco ao computador. Basicamente deve-se fazer o seguinte:
Atividades |
11/10: Projeto 2: Permissões (continuação)
Hoje houve o conselho de classe na primeira metade da aula.
Aula 21 |
---|
16/10: Projeto 2: Processos e Instalação de softwares
Aula 22 |
---|
Aula passada vimos como usuários e grupos podem ser usados para organizar e proteger o acesso a recursos mantidos pelo sistema operacional (arquivos, programas, dispositivos de entrada e saída, ...). Hoje estudaremos o que são processos, como obter informações sobre eles e como terminá-los. Além disso, veremos também como processos podem usar suas entrada e saída padrão para receber dado para processar e apresentar resultados, e também para se comunicarem.
ProcessosJá vimos que sistemas operacionais modernos, como Linux, FreeBSD, Windows, e Android, são capazes de executar múltiplos programas ao mesmo tempo. No caso dos sistemas operacionais Unix, e o Linux pertence a essa família, processos são programas em execução. Um programa contém instruções e dados armazenados em um arquivo. Ao ser executado um arquivo, cria-se um processo. O sistema operacional carrega as instruções e dados em memória RAM, e faz o processador executá-las. Múltiplos processos podem ser criados a partir do mesmo arquivo de programa, sendo executados de forma independente. Os detalhes de como manter todos os processos em memória, e revezar suas execuções de forma a parecer que são simultâneos, são responsabilidade do sistema operacional.
Atividade
Instalação de softwareA instalação de software pode ser feita de diferentes maneiras:
No escopo desta disciplina de Projeto Integrador, são usados pacotes de software. Mas nada impede que se demonstre como seria realizar uma instalação a partir do código-fonte, caso exista a curiosidade. No Ubuntu Linux (e também nas distribuições originadas no Debian), o sistema de pacotes de software se chama dpkg (Debian Package). Existem diferentes formas de instalar e remover sofware, dentre elas:
Instalação manual com dpkgPara instalar pacotes de software manualmente, primeiro devem-se obter os respectivos arquivos de instalação. Cada pacote de software está contido em um arquivo com extensão .deb. Esses arquivos podem ser obtidos dos CD e DVD de instalação, ou de repositórios na Internet. Exemplos:
dpkg -i nome_do_pacote.deb
Se o pacote de software não puder ser instalado, uma mensagem de erro é apresentada. Uma causa para esse problema é existirem dependências em relação a outros pacotes de software, os quais devem então ser instalados previamente.
dpkg -r nome_do_pacote
Se o pacote a ser removido for dependência para outros pacotes instalados, a remoção será abortada.
dpkg-query -l
A listagem dos arquivos instalados por um pacote é mostrada com este outro comando: dpkg-query -L nome_do_pacote
dpkg-query -p nome_do_pacote
Obtenção automática de softwareOs pacotes de softwares dos sistemas operacionais Ubuntu e Debian são organizados e disponibilizados em repositórios, que são servidores na Internet onde há cópias dos arquivos de instalação desses pacotes. Os repositórios são configurados durante a própria instalação do sistema, ficando registrados no arquivo /etc/apt/sources.list. Esse arquivo pode ser modificado para incluir ou remover repositórios, quando necessário.
AtividadeExecute os passos seguintes tanto com instalação manual quanto automática de software.
|
18/10: Projeto 2: Rotas
Aula 22 | ||||||||
---|---|---|---|---|---|---|---|---|
Como visto anteriormente, cada dispositivo em uma rede precisa ter um endereço IP para que possa se comunicar com outros dispositivos. Porém isso não é suficiente: os dispositivos devem saber que direção devem enviar mensagens para que cheguem até cada outro dispositivo. Se o dispositivo de destino estiver na mesma rede, então basta transmitir o pacote a ele diretamente. Mas e se ele estiver em outra rede ? Por exemplo, e se um computador no laboratório de Redes 1 quiser se comunicar com outro que está na reitoria do IFSC ? Como esse pacote deve ser transmitido nesse caso?
Mas o que isso tem a ver com redes ? Muita coisa: a forma com que o Google Maps descobre caminhos se baseia nos mesmos conceitos usados para descobrir rotas entre dispositivos na Internet. E voltando a redes de computadores, também é possível descobrir que caminho os pacotes percorrem para ir de um ponto a outro na Internet. Experimento:: use o programa traceroute para descobrir os caminhos percorridos por seus pacotes. Teste-o com vários possíveis destinos:
O que significam as informações mostradas por esse programa ?
Rotas no LinuxCada computador ligado a Internet possui uma tabela de rotas. É por meio de tal tabela que ele sabe como transmitir os pacotes para cada destino. Em seu computador, você pode visualizar essa tabela da seguinte forma: # Isto funciona em qualquer *nix que se preze ...
netstat -rn
aluno@M1:~> ifconfig eth1 192.168.10.1 netmask 255.255.0.0
aluno@M1::~> netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
# adiciona a rota default, que passa pelo roteador 192.168.10.100
route add default gw 192.168.10.100
# este comando tem o mesmo efeito que o anterior ...
route add -net 0.0.0.0/0 gw 192.168.10.100
# este comando define que para chegar à rede 191.36.9.0/24
# deve-se usar o gateway 192.168.1.1
route add -net 191.36.9.0/24 gw 192.168.1.1
Rotas, prefixos de rede e máscarasUma rota serve para informar como se chega a um determinado destino. Um destino pode ser um único endereço IP, ou uma subrede (que contém um conjunto de endereços IP). Para que um pacote IP chegue a um destino, deve-se transmiti-lo para o próximo roteador em direção a esse destino. Esse próximo roteador também deve conhecer uma rota para tal destino, repetindo o mesmo processo (reveja o experimento com 'traceroute). Ao menos duas informações compõem cada rota:
Imagine que exista uma subrede contendo os endereços de 192.168.2.0 até 192.168.2.255. Se representarmos esses endereços em binário, podemos ver que os 24 bits mais significativos são os mesmos para todos os endereços:
O que todo host deve possuirCom o que se fez até o momento, pode-se concluir que todo host (computador, tablet, smartphone, ..., qualquer dispositivo que rode aplicações da Internet) precisa de:
ExercíciosResolva estes exercícios sobre subredes, prefixos e máscaras.
|
23/10: Etapa 2: Rotas (continuação)
Aula 23 |
---|
25/10: Etapa 2: Rotas (continuação)
Aula 24 |
---|
30/10: Projeto 2: Implantação das redes locais das equipes
Aula 25 |
---|
Cada equipe deve implantar sua própria rede local, composta pelo computador, um roteador e ponto de acesso sem-fio, e um ou mais dispositivos (hosts) adicionais. A rede portanto deve ficar parecida com o diagrama apresentado no início do projeto 2:
Equipamentos de interligação para pequenas redes locais (LAN)Uma LAN serve para interconectar equipamentos (computadores, servidores, roteadores, ...) relativamente próximos entre si. As distâncias envolvidas são tipicamente de algumas dezenas de metros, podendo chegar em alguns casos a até poucas centenas de metros. Essas redes apresentam como características:
Hoje em dia a tecnologia de rede usada para criar LANs se chama Ethernet (o nome oficial é IEEE 802.3, que é o padrão que a define). LANs são muito difundidas. São usadas em redes domésticas, redes de pequenos escritórios, grandes redes corporativas, redes em escolas, e possivelmente outros ambientes. A rede do IFSC, que interliga os laboratórios e os servidores do câmpus, é composta de algumas LANs interconectadas. Em todos esses casos, a configuração usual das LANs envolve o uso de:
Atividade
|
01/11: Projeto 2: a rede de cada equipe
Aula 26 |
---|
Dando continuidade à implantação da rede de cada equipe, hoje devem-se investigar:
Configuração automática de hostsNa prática ninguém precisa se preocupar em configurar seus dispositivos com as informações de rede vistas na aula anterior. As pessoas acessam a rede e por mágica tudo isso é configurado automaticamente. Basta pensar no acesso à rede sem-fio do Ifsc, e mesmo nas redes de suas casas ou locais de trabalho, seja sem-fio ou cabeada. A configuração manual somente é necessária quando se instalam servidores ou outros equipamentos que formam a infraestrutura das redes. No caso geral, um serviço especial chamado de DHCP (Dyamic Host Configuration Protocol - Protocolo de Configuração Dinâmica de Host) provê a configuração automática.
Questão: como o servidor DHCP diferencia os clientes em uma rede ? Para entender esta pergunta, faça este experimento:
Uso de NAT no roteador
A ideia é que redes com computadores que só acessam a Internet, mas não são servidores, usem essas subredes (ou parte delas). Essas subredes não são roteáveis, o que significa que os roteadores da infraestrutura da Internet não as conhecem e não sabem como encontrá-las. Por fim, para que computadores dessas redes consigam acessar a Internet, deve nelas existir ao menos um roteador que possua um endereço IP roteável (chamado também de IP válido). Esse roteador deve também possuir uma função especial que modifique os endereços IP de origem contidos nos pacotes que saem em direção a Internet. O endereço IP de origem desses pacotes deve se tornar o endereço IP roteável do roteador. Com isso, os servidores na Internet que receberem esses pacotes poderão respondê-los, pois o endereço de origem é roteável. A figura a seguir ilustra o funcionamento do NAT.
Experimentos com NATO IFSC usa NAT ? Descubra por meio deste site:
Atividade
|
06/11: Projeto 2: A rede de cada equipe
Aula 27 |
---|
08/11: Projeto 2: A rede de cada equipe
Aula 28 |
---|
13/11: Projeto 2: estabelecendo o enlace WAN
Aula 29 |
---|
O próximo passo do projeto 2 envolve estabelecer o enlace WAN da rede de cada equipe. Através desse enlace a rede da equipe pode acessar a Internet. Alguns detalhes devem ser entendidos para que essa comunicação funcione a contento. A ideia é que a rede fique assim:
Implante sua rede usando o roteador ADSL, e use-o para acessar a Internet. Experimente também o seguinte:
Uma introdução a ADSL
Na infraestrutura ADSL, cabem destacar alguns elementos:
A parte da infraestrutura ADSL dentro da rede de dados da operadora inclui equipamentos DSLAM (muitos deles), um ou mais AC e as redes de comunicação para interligá-los. Note-se que quem dá acesso de fato à Internet é o AC. A figura abaixo ilustra esses componentes. O enlace de dados entre o equipamento do assinante e a rede da operadora pode ser feita de diferentes formas. Esse enlace é visto pelo assinante como seu enlace para a Internet - i.e. ele obtém seu endereço IP fornecido pela operadora. Os tipos de enlace de dados ADSL mais usados são:
ATIVIDADECada equipe deve estabelecer seu enlace WAN usando ADSL. Em seguida, deve validar seu computador na rede, de forma que possa ser acessado com SSH de fora da sua rede. Configurações ADSLCada link ADSL deve ter seu IP manualmente configurado, o qual deve ser um IP válido fornecido à equipe pelo provedor (professores). Os seguintes parâmetros dos modems ADSL devem ter estes valores:
|
20/11: Projeto 2: estabelecendo o enlace WAN
Aula 30 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A aula de hoje será destinada a configuração do link WAN em diversos cenários.
1. Roteador ADSL em modo PPPoE: neste modelo, o roteador ADSL opera de fato como roteador. Ele estabelece um enlace IP com a operadora usando um protocolo chamado PPPoE (ver a visão geral sobre ADSL para maiores detalhes). O endereço IP fornecido pela operadora fica associado à interface WAN do roteador ADSL. A rede interna forma uma rede local (LAN). 2. Roteador ADSL em modo bridge: neste modelo, o roteador ADSL opera na realidade como um modem ADSL. Ele apenas faz a codificação dos dados entre a LAN e o enlace ADSL estabelecido entre ele e o DSLAM. Isso significa que o endereço IP fornecido pela operadora deve ser associado a outro equipamento conectado à interface LAN do modem ADSL. Esse outro equipamento (no caso mostrado na figura a seguir representado pelo roteador/AP TP-Link) deve fazer a negociação do enlace IP usando o protocolo PPPoE. Esse outro roteador é que faz o papel de gateway para a rede rede interna (LAN). Maiores detalhes são fornecidos na próxima seção desta aula. 3. Roteador ADSL em modo bridge e PC como roteador: este modelo é uma variação do modelo 2. Ao invés de usar o AP TP-Link como roteador, usa-se o computador. Isso implica usar um software específico no Linux para torná-lo capaz de estabelecer o enlace PPPoE. O endereço IP fornecido pela operadora fica ao final associado à uma interface de rede desse computador. Esse computador deve idealmente ter duas interfaces de rede. Como o modelo 1 já foi implantado na aula passada, hoje serão experimentados os modelos 2 e 3.
Modo bridge: Uma outra forma de fazer o link WAN com ADSLAula passada vimos como implantar um enlace WAN com ADSL. Hoje faremos uma outra investigação sobre a infraestrutura da rede como um todo.
O link ADSL feito até agora usou o roteador para estabelecer o enlace PPPoE. Porém há outra forma de fazer esse enlace: deixar o roteador ADSL operando em modo bridge (ponte) e usar outro equipamento para fazer o enlace PPPoE. Na rede das equipes, o próprio computador da equipe pode fazer esse papel. Esse outro cenário ficaria como mostrado abaixo:
... e desvantagens:
Preparação de um computador Linux para usar PPPoEEm sistemas Linux baseados na distribuição Debian há duas maneiras de criar um enlace PPPoE:
A forma manual de estabelecer o enlace PPPoE segue estes passos:
Algumas informações sobre qualidade do link ADSL
PPPoE (PPP over Ethernet)PPPoE define um método para encapsular quadros PPP dentro de quadros Ethernet, e foi definido na RFC 2516. Ele foi criado para facilitar a integração de usuários discados e banda-larga em provedores de acesso (ISP - Internet Service Providers). Além disso, torna mais fácil o controle de acesso, de uso da rede, e contabilização para usuários que a acessam via rede Ethernet. Assim, é possível implantar uma rede em que os usuários, para conseguirem acesso, precisam se autenticar como em um serviço discado. Uma vez obtido o acesso, pode-se também impor limitações de uso de banda de acordo com o usuário. Exemplos de infraestruturas que podem se beneficiar com essa técnica são redes de condomínios e de prédios comerciais. Finalmente, PPPoE é usado como protocolo de enlace em acessos aDSL, ilustrado na figura abaixo.
Em um enlace PPPoE um dos nodos é o host (cliente), e o outro o concentrador de acesso (AC, que tem papel de servidor). O estabelecimento do enlace é iniciado pelo host, que procura um AC e em seguida solicita o início do enlace. Esse procedimento é composto por por dois estágios:
Rede local sem-fio padrão IEEE 802.11 (WiFi)Uma rede local sem-fios (WLAN - Wireless Local Area Network) serve para conectar dispositivos usando sinal de rádio. Hoje em dia estão tão difundidas que não se imagina um lugar sem cobertura por ao menos uma dessas redes, cuja tecnologia se chama WiFi (ou IEEE 802.11, nome oficial do padrão). As pessoas as utilizam para conectar seus smartphones e tablets, além de laptops e mesmo equipamentos diversos (media centers, impressoras, câmeras fotográficas,TVs, e mesmo estações meteorológicas, entre outros). Todos esses dispositivos fazem uso de uma infraestrutura relativamente simples.
Resumindo, para instalar um AP é necessário configurar os seguintes parâmetros:
Experimente investigar os parâmetros de um AP de verdade usando este emulador:
AtividadeImplante sua rede sem-fio conforme as recomendações da seção anterior. Em seguida, use-a para acessar o Rpi e a Internet. Por fim, faça as seguintes verificações:
|
27/11: Etapa 2: estabelecendo o enlace WAN (continuação) e a rede sem-fio
Aula 31 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Rede local sem-fio padrão IEEE 802.11 (WiFi)Uma rede local sem-fios (WLAN - Wireless Local Area Network) serve para conectar dispositivos usando sinal de rádio. Hoje em dia estão tão difundidas que não se imagina um lugar sem cobertura por ao menos uma dessas redes, cuja tecnologia se chama WiFi (ou IEEE 802.11, nome oficial do padrão). As pessoas as utilizam para conectar seus smartphones e tablets, além de laptops e mesmo equipamentos diversos (media centers, impressoras, câmeras fotográficas,TVs, e mesmo estações meteorológicas, entre outros). Todos esses dispositivos fazem uso de uma infraestrutura relativamente simples.
Resumindo, para instalar um AP é necessário configurar os seguintes parâmetros:
Experimente investigar os parâmetros de um AP de verdade usando este emulador:
AtividadeImplante sua rede sem-fio conforme as recomendações da seção anterior. Em seguida, use-a para acessar tanto o centro de midia quanto a Internet. Por fim, faça as seguintes verificações:
|
29/11: Etapa 2: a rede de dados e a rede telefônica
Aula 32 |
---|
No final desta etapa, um serviço telefônico será adicionado à rede que foi implantada. Esse serviço fará uso de aparelhos telefônicos convencionais e também dispositivos capazes de fazer chamadas de voz utilizando a rede de dados (ex: smartphones, computadores com softphones). Além disso, o serviço de voz a ser agregado à rede será implantado com diferentes tecnologias (convencional e por meio da rede de dados). A figura a seguir ilustra o acréscimo a ser feito inicialmente à rede: Para começar, cada equipe deve instalar um telefone IP, e prepará-lo para uso. O objetivo é cada equipe conseguir fazer chamadas a qualquer das outras equipes. Uma introdução a redes telefônicasUma rede telefônica pode ser vista de forma (muito) simplificada na figura abaixo. O objetivo desse diagrama é evidenciar alguns elementos existentes na borda dessa rede:
Por fim, ambas redes podem conviver e chamadas podem sair de uma rede e se destinar à outra. A figura abaixo mostra um exemplo simplificado de como essas redes podem se interligar. Instalação de um telefone IP ou ATATanto um telefone IP quanto um ATA são hosts de uma rede TCP/IP. Portanto, como todo host, eles precisam de algumas definições. Além disso, devem ser configuradas algumas informações específicas da rede telefônica VoIP:
Atividade
Há dois tipos de telefone no laboratório:
Após configurar os equipamentos, teste a chamada entre equipes. Usando a rede telefônica VoIP com os smartphonesOs smartphones são capazes de fazerem chamados usando a rede telefônica VoIP que implantamos. Eles precisam de um app capaz de fazer e receber chamadas SIP (isso se chama softphone). Para Android alguns softphones são:
A configuração desses app é muito parecida com a de telefones IP ou ATA, porém mais simples. |
04/12: Etapa 2: instalação dos PBX das equipes
Aula 33 |
---|
Nesta etapa, cada equipe deve ter o seu PBX IP capaz de fazer chamadas entre telefones e softphones. Lembrem que um PBX IP pode ser entendido como um pequena central telefônica privada capaz de fazer chamadas telefônicas através da Internet. Esse tipo de PBX usa alguma tecnologia VoIP (Voice over IP - Voz sobre IP) para fazer chamadas e transmitir a voz digitalizada entre os telefones. Na nossa instalação, a tecnologia usada se chama modelo SIP. Com esses recursos, pretende-se criar uma rede telefônica privativa em laboratório, em que todas as equipes podem fazer chamadas entre si, como mostrado na figura a seguir.
Para realizar as atividades, serão usados alguns blocos de montagem:
Atividade 1: rede telefônica VoIP de cada equipeCada equipe deve ter seu PBX IP instalado. O primeiro passo é conseguir fazer chamadas entre telefones IP e softphones da própria equipe. Sendo assim, deve-se garantir que a rede IP esteja funcionando adequadamente:
Elementos básicos do Asterisk
Instalação do AsteriskInstale o Asterisk no computador do centro de midia, e configure-o para possibilitar chamadas entre ramais da equipe:
|
06/12: Etapa 2: continuação
Aula 34 |
---|
11/12: Etapa 2: conclusão
Aula 35 |
---|
A conclusão da etapa 2 envolve a realização de uma atividade de avaliação em duas partes:
Avaliação em equipeCada equipe deve implantar uma rede com estas características:
OBS: tanto o acesso ao shell quanto a transferência de arquivos NÃO devem depender de nenhum serviço intermediário, tais como Dropbox, Google Drive, Teamviewer, e possivelmente outros. A avaliação envolve:
|
13/12: Etapa 2: conclusão
Aula 36 |
---|
18/12: Etapa 2: conclusão
Aula 37 |
---|