Mudanças entre as edições de "PJI2-2019-2"
Linha 2 827: | Linha 2 827: | ||
{{Collapse bottom | Aula 28}} --> | {{Collapse bottom | Aula 28}} --> | ||
− | =30/10/2019: Utilizando o Raspberry Pi (exercícios)= | + | <!-- =30/10/2019: Utilizando o Raspberry Pi (exercícios)= |
{{Collapse top | Aula 29}} | {{Collapse top | Aula 29}} | ||
Linha 2 834: | Linha 2 834: | ||
</font> | </font> | ||
− | {{Collapse bottom | Aula 29}} | + | {{Collapse bottom | Aula 29}}--> |
=01/11/2019: Rotas= | =01/11/2019: Rotas= |
Edição das 10h37min de 4 de fevereiro de 2020
Projeto Integrador II
Professora: Juliana Camilo (juliana.camilo@ifsc.edu.br)
Encontros: 3a feira/19:00, 6a feira/19:00
Atendimento paralelo Profa. Juliana: 4a feira das 13:30hs às 14:30hs e 6a feira das 18:00hs às 19:00hs
Endereço encurtado: http://bit.ly/pji2-2020-1
PPC Curso Técnico Subsequente de Telecomunicações
Conhecimentos
Estrutura de computadores; Operação de sistema operacional Linux; Administração básica de sistema operacional Linux; Introdução a redes LAN e WLAN; Arquitetura de redes TCP/IP e a Internet; Redes de acesso ADSL; Introdução a VOIP.
Objetivos
Capacitar o estudante à: conhecer a estrutura básica de um computador; conhecer o sistema operacional Linux; operar o sistema operacional pelas interfaces gráfica e linha de comando; instalar o sistema operacional Linux em um computador ajustada às necessidades de um usuário, e sua configuração para uso da rede e acesso ADSL à Internet; instalar pacotes de software no sistema operacional; gerir o acesso a recursos mantidos pelo sistema operacional por meio de usuários e permissões; configurar o sistema operacional para usar uma rede com acesso a Internet; compreender o endereçamento de dispositivos na Internet; conhecer e instalar os equipamentos de uma rede residencial (rede local e rede sem-fios); implantar um enlace de acesso a Internet para uma rede residencial usando equipamentos apropriados; resolver problemas de conectividade em uma rede local; analisar comunicações envolvendo protocolos de enlace, rede e transporte entre computadores e/ou equipamentos em uma rede; instalar e configurar terminais VoIP, tais como telefones IP, ATA e softphones, para que possam efetuar e receber chamadas de voz; identificar problemas de comunicação em uma rede, por meio de análise de comunicações entre equipamentos e investigação sobre o comportamento dos elementos de rede.
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
31/07/2019: Apresentação da disciplina. Sistema operacional e introdução ao Linux
Aula 1 |
---|
Arquivo apresentação da disciplinaApresentação da disciplina 2019-1 O que é GNU/LinuxLinux é o núcleo do sistema operacional, programa responsável pelo funcionamento do computador, que faz a comunicação entre hardware (impressora, monitor, mouse, teclado) e software (aplicativos em geral). O conjunto do kernel e demais programas responsáveis por interagir com este é o que denominamos sistema operacional. O kernel é o coração do sistema. Os principais programas responsáveis por interagir com o kernel foram criados pela fundação GNU. Por este motivo é mais correto nos referenciarmos ao sistema operacional como GNU/Linux ao invés de apenas Linux. Uma distribuição nada mais é que o conjunto de kernel, programas de sistema e aplicativos reunidos num único CD-ROM (ou qualquer outro tipo de mídia). Hoje em dia temos milhares de aplicativos para a plataforma GNU/Linux, onde cada empresa responsável por uma distro escolhe os aplicativos que nela deverão ser inclusos. Como o kernel trabalhaAssim que o computador é ligado, o kernel é acionado e começa a detectar todo o hardware que ele possui e o que precisa para funcionar. Após o carregamento, o núcleo assume outras funções: gerenciar os processos, os arquivos, a memória e os dispositivos periféricos, fazendo com que ele seja o “organizador” de tudo o que acontece na máquina. Após realizar todas essas etapas, o sistema operacional está pronto para funcionar. Ele carrega as funções responsáveis por checar o que deve ser inicializado em nível de software e processos, como, por exemplo, o conteúdo do arquivo /etc/init. Geralmente, o que é carregado é a tela de login do usuário. Com o usuário logado e o sistema operacional trabalhando, o kernel passa a executar suas funções, como a de controlar o uso da memória pelos programas ou a de atender a chamada de uma interrupção de hardware. É possível baixar o código-fonte e o próprio kernel do Linux a partir do site oficial. Nesse endereço não só é possível ter a última versão como também mais antigas. Além disso, lá o usuário pode obter informações, reportar bugs e participar de listas de discussão. Distribuições LinuxO Linux possui vários sabores e estes são denominados distribuições. Uma distribuição nada mais é que um kernel acrescido de programas escolhidos a dedo pela equipe que a desenvolve. Cada distribuição possui suas particularidades, tais como forma de se instalar um pacote (ou software), interface de instalação do sistema operacional em si, interface gráfica, suporte a hardware. Então resta ao usuário definir que distribuição atende melhor suas necessidades. Interface gráficaUma das coisas que os usuários mais estranham quando migram para o Linux é a existência de diversas interfaces gráficas, coisa que não é comum no Windows nem no Mac OS X, a não ser quando o fabricante decide fazer alguma alteração.
Diferente do que acontece nesses outros sistema operacionais, no Linux é possível mudar a interface gráfica do sistema.
Mudando a interface gráfica do sistema, a distribuição Linux continua sendo a mesma mas toda a aparência é alterada.
Quem não conhece a diferença entre sistema operacional e interface gráfica pode pensar que se trata de outra distribuição ou até mesmo de outro sistema operacional.
As interfaces gráficas mais conhecidas são Unity, Gnome, KDE, XFCE, LXDE, Cinnamon e Mate. Unity KDE Cinnamon Mate Estrutura de diretórios no LinuxO primeiro choque para quem está vindo do Windows é a estrutura de diretórios do Linux, que não lembra em nada o que temos no Windows. Basicamente, no Windows temos os arquivos do sistema concentrados nas pastas Windows e Arquivos de programas e você pode criar e organizar suas pastas da forma que quiser. No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório /home. Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se não existe uma pasta central como a arquivos de programas? E para onde vão os arquivos de configuração se o Linux não possui nada semelhante ao registro do Windows? A primeira coisa com que você precisa se habituar é que no Linux os discos e partições não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz. Dentro deste diretório temos não apenas todas as partições de disco, mas também o CD-ROM, drive de disquete e outros dispositivos. Entendendo a estrutura de diretórios
Estrutura de diretórios O que é o Sistema OperacionalO sistema operacional funciona com a iniciação de processos que este irá precisar para funcionar corretamente. Esses processos poderão ser arquivos que necessitam de ser frequentemente atualizados, ou arquivos que processam dados úteis para o sistema. Poderemos ter acesso a vários processos do sistema operacional a partir do gerenciador de tarefas, onde se encontram todos os processos que estão em funcionamento desde a inicialização do sistema operacional até a sua utilização atual. O sistema operacional é uma coleção de programas que:
Qual é o papel de um Sistema OperacionalAs funções do sistema operacional são inúmeras:
Quais são os componentes do sistema operacionalO sistema operacional é composto por um conjunto de softwares que permitem administrar as interações com o hardware. Neste conjunto de softwares distinguem-se os seguintes elementos: o núcleo (kernel), que representa as funções fundamentais do sistema operacional tais como gestão da memória, processos, arquivos, entradas/saídas e das funcionalidades de comunicação; o Intérprete de comandos (shell), ou seja, a camada externa, por oposição ao núcleo, que permite a comunicação com o sistema operacional por meio de uma linguagem de comandos para o usuário pilotar os periféricos ignorando muitas das características do hardware como, por exemplo, a gestão dos endereços físicos; e o sistema de arquivos (file system), que permite registrar os arquivos em arborescência.
Como funcionam os sistemas multitarefasUm sistema operacional é multitarefas quando várias tarefas (também chamadas de processos) podem ser executadas simultaneamente. Os aplicativos são compostos por uma sequência de instruções chamados processos rápidos (threads). Estes threads serão alternadamente ativos, no modo de espera, suspensos ou destruídos, de acordo com a prioridade que lhes é associada ou executados sequencialmente. Um sistema é preemptivo quando possui um programador que reparte, de acordo com critérios de prioridade, o tempo da máquina nos diversos processos que fazem os pedidos. O sistema é de tempo compartilhado quando uma cota de tempo é atribuída a cada processo pelo programador. Este é o caso principalmente dos sistemas multiusuários, que permitem que vários deles utilizem simultaneamente um mesmo computador e vários aplicativos, diferentes ou similares. Por fim, o sistema é considerado transacional quando o sistema atribui a cada usuário uma fração de tempo.
Área de trabalho ou DesktopÉ a área de exibição quando você liga o computador e faz o logon no sistema operacional. Quando você abre programas ou pastas, eles são exibidos sobre a área de trabalho, Nela também é possível colocar itens, como arquivos e pastas, e organizá-los como quiser. Ela é composta de:
Área de trabalho Windows Área de trabalho Ubuntu
Explorador de arquivos CajaO explorador de arquivos exibe a pasta pessoal do usuário, que seria o mesmo que a pasta Meus Documentos do Windows. Porém há uma diferença do Windows, dentro desta pasta é o único local que o usuário pode criar novas pastas ou arquivos. Instalando e desinstalando programasO Linux está repleto de softwares, mas o que devemos saber é que ele possui u ma Central de programas que permite instalar diversos outros softwares, para diversas áreas. Houve uma época em que a instalação de pacotes precisava ser feita exclusivamente por comandos no console, o que consumia tempo e exigia um certo trabalho. Era necessário, por exemplo, lidar manualmente com todas as dependências necessárias para a instalação de um software, obedecendo, inclusive, a ordem de instalação desses pacotes. Mas, felizmente, isso ficou no passado. Hoje existe maneiras bem mais práticas e simples de se instalar e remover programas do Ubuntu. A principal delas é por meio da Central de Programas, que pode ser executada pelo Launcher localizado no lado esquerdo da tela. Para usar a Central sem problemas é necessário ter uma conexão ativa com a Internet. Afinal, todos os programas estão armazenados em espaços virtuais remotos conhecidos como repositórios.
Para remover um programa instalado anteriormente, voltaremos à Central de Programas. Lá, clique no botão "Instalados" para listar todo os softwares presentes no sistema. Depois disso, o procedimento é bastante similar ao de instalação. Basta navegar pelas categorias, selecionar o programa desejado e, em seguida, clicar no botão "Remover". A senha do usuário também será solicitada para que a ação seja efetivamente realizada.
Usando a Central de Programas do UbuntuExistem inúmeras maneiras de instalar um software em um sistema operacional. No Ubuntu Mate, a maneira mais rápida e fácil de encontrar e instalar novos aplicativos é através da Central de programas do Ubuntu. Para acessar, você deve ir em Sistema, Administração e Central de Programas do Ubuntu.
A Central de programas do Ubuntu pode ser usado para instalar aplicativos disponíveis nos repositórios oficiais do Ubuntu. A janela da Central de programas do Ubuntu se divide em seções:
Ao clicar em uma categoria você será levado a uma lista de aplicações relacionadas. Por exemplo, a categoria de Internet contém aplicativos como o navegador Firefox. Cada áreas em destaque como "Novidades" e "Mais bem avaliados", apresenta ícones de aplicação diferentes. Basta clicar em um ícone para obter mais informações sobre a aplicação ou para instalá-lo. Para ver todos os softwares contidos na área, clique no botão "Mais" no canto superior direito de cada painel. As três seções no topo da Cetral de programas do Ubuntu representam uma visão atual do seu catálogo de Softwares. Clique no botão "Todos aplicativos" para ver todo os aplicativos instalados, clique no botão "Instalados" para ver uma lista de aplicativos já instalados no seu computador e clique em "Histórico" para ver as instalações e exclusões anteriores organizados por data. Pesquisando aplicativosA Central de programas do Ubuntu exibe diferentes fontes na seção "Todos os aplicativos". Clicando na seta ao lado de "Todos os aplicativos" irá mostrar uma lista de seções individuais, selecionando "Fornecido pelo Ubuntu" irá mostrar os aplicativos livres oficiais. "Para Compra" mostrará os aplicativos disponíveis para compra, e "Parceiros da Canonical" mostrará os aplicativos de parceiros da Canonical, como a Adobe. Se você estiver procurando por um aplicativo, você já deve saber seu nome específico (por exemplo, o VLC Media Player), ou você pode apenas ter uma categoria geral em mente (por exemplo, a categoria som som e vídeo inclui uma série de aplicações diferentes, tais como conversores de vídeo, editores de áudio e players de música). Para ajudar você a encontrar o aplicativo certo, você pode navegar pelo catálogo da Central de programas do Ubuntu clicando na categoria do software que você procura. Ao selecionar uma categoria, será mostrado uma lista de aplicativos, algumas categorias têm subcategorias, por exemplo, a categoria de jogos tem subcategorias para simulação e jogos de cartas. Para mover através de categorias, use o botões "Voltar" e "Avançar" no topo da janela. Como você vê uma categoria de software, você verá uma caixa de pesquisa no canto superior direito da janela. Esta caixa de pesquisa pode ser utilizada para especificar nomes ou pesquisas de palavras-chave dentro desta categoria.
Para instalar um aplicativo:
Remover aplicativosRemover aplicativos é muito semelhante à instalação de aplicativos. Primeiro, encontre o aplicativo instalado na Central de programas do Ubuntu, você pode clicar no Botão "Instalados" para ver todos os aplicativos instalados listados por categorias. Vá até o aplicativo que você deseja remover, se você clicar na seta ao lado ao botão "Instalados", você vai encontrar uma lista de fornecedores de aplicativos, que pode ajudá-lo a refinar a sua pesquisa. Você também pode digitar palavras-chave na busca campo para encontrar rapidamente aplicativos instalados, ou você pode pesquisar por data na Guia "Histórico". Para remover um aplicativo:
Histórico de aplicativosA central de programas do Ubuntu mantém o controle dos aplicativos já instalados na seção Histórico. Isso é útil se você quiser reinstalar um aplicativo previamente removido e não se lembra o nome do aplicativo. Há quatro botões na seção: "Todas as alterações", "Instalações", "Atualizações" e "Remoções". Se você clicar na seta ao lado de um dia, uma lista de pacotes individuais serão exibidos, juntamente com o que foi feito com eles e a hora.
Exercícios1 - Explique o que é:
2 - Qual a diferença entre os sistemas de arquivos do Windows e Linux? 3 - Mude a proteção de tela para Cosmos com tempo de espera de 10 minutos. 4 - Através da Central de programas do Ubuntu Mate, instale os seguintes programas:
5 - Crie um diretório dentro da pasta pessoal do aluno com o nome exercicios.
|
01/11/2019: Rotas
Aula 30 | ||||||||
---|---|---|---|---|---|---|---|---|
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ícios
OBS: Os experimentos de Rotas serão feito na ferramenta Netkit2 na máquina real, e os arquivos para os experimentos estão disponíveis em www.docente.ifsc.edu.br/juliana.camilo/PJI2
|
06/11/2019: Rotas (continuação). Recuperação Av2
Aula 31 |
---|
|
08/11/2019: Definição e Início do Projeto Final
Aula 32 |
---|
IMPORTANTE
11/12/2019 - Última data para apresentação do projeto final. 13/12/2019 - Recuperação Final.
Todas as configurações/orientações abaixo deverão ser efetuadas no computador de cada integrante do grupo.
2. Após instalar o sistema operacional, instale o adicional de convidados do VirtualBox e todas as dependências necessárias. 3. Configure o IP fixo em sua placa de rede (as informações serão fornecidas pelos professores) mas deixe-as comentadas para não dar conflito com a rede do laboratório. Essa atividade não poderá ser testada, será só uma simulação de como seria em uma máquina real. 4. Crie 5 usuários usando o comando adduser. 5. Defina a senha de cada um dos usuários. 6. Crie o grupo Projeto. 7. Adicione os usuários criados a este grupo. 8. Acrescente, por comandos, ao perfil do usuário seu nome completo e endereço. 9. Adicione o repositório do Google Chrome e do Libreoffice 6 e instale este aplicativos. 10. Instale o editor de texto VIM, Zoiper, K3B e VLCMediaPlayer. 11. Crie 2 partições primárias, 1 estendida e 3 lógicas no disco virtual adicional (disco que não foi utilizado para a instalação do sistema operacional) no VirtualBox. Formate as partições com diferentes sistemas de arquivo. Monte cada uma delas em um diretório diferente. 12. Crie um servidor FTP sem acesso anônimo e com as seguintes características: 1. O diretório de acesso de todos os usuários deve ser /srv/ftp/projeto 2. O grupo de acesso dos usuários do servidor FTP deve ser ftpprojeto 3. Deve ser criado um usuário chamado ftp, sem acesso ao terminal, e acesso somente ao diretório /srv/ftp/projeto, para o acesso ao servidor FTP 4. Os usuários criados também deverão ter acesso ao servidor FTP no diretório /srv/ftp/projeto. 13. Instale um servidor SSH e faça com que o usuário root não tenha acesso via SSH. Também mude a porta padrão para 2222. 14. Faça a configuração das rotas estáticas para a rede no arquivo rede.conf disponível em: http://docente.ifsc.edu.br/juliana.camilo/PJI2/Projeto_final/ de modo que todos os Pcs consigam se comunicar. OBS: As subredes disponíveis para endereçamento são 10.0.1.0/24, 172.20.20.16/30, 192.168.12.0/24, 10.10.0.0/29, 192.168.18.0/24, 172.30.30.0/30 e 10.20.0.0/24. Como as configurações do Netkit são apagadas cada vez que iniciamos o software, apresentem essa atividade para as professoras assim que conseguirem finalizá-la. As configurações/orientações 15 e 16 abaixo deverão ser efetuadas pela dupla. 15. Instalação do sistema operacional no Raspberry Pi3 - Efetuar a instalação do ubuntu Mate. O nome do computador deve ser Projeto(nº do seu grupo). Deve existir um usuário pji2 com a senha pji22019, também crie os mesmos usuários que foram criados na máquina virtual. Repita as etapas de 3 a 13 (sendo que o Zoiper não precisa ser instalado), e não faça o item 11. 16. Efetue o backup utilizando a ferramenta TAR com a extensão tar.gz dos seguintes diretórios (No Virtual Box): 1. /srv/ftp 2. /home Cálculo nota final do projeto: NPF--> Nota do projeto final NI--> Nota Individual NG--> Nota do Grupo NPF = NI x 0.7 + NG x 0.3 onde NG = (NI_integrante1 + NI_integrante2)/2.
|