Logo Passei Direto
Buscar

Relatório de Aula Prática - Sistemas Distribuídos

Portfólio/relatório de aula prática sobre Sistemas Distribuídos. Apresenta quatro atividades práticas: sincronização NTP (Linux/Windows), criação/configuração de VM GNU/Linux, conteinerização com Docker para cluster Apache e análise de protocolos com Wireshark.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

NOME: SAMUEL POTTER BARBOSA
RA: 3853759205 
PORTIFÓLIO – RELATÓRIO DE AULA PRÁTICA
 DISCIPLINA: SISTEMAS DISTRIBUÍDOS 
1
Sumário
1 INTRODUÇÃO................................................................................................…...…………….3 
2 DESENVOLVIMENTO...........................................................................................…………….4 
2.1 ATIVIDADE 01 – Sincronização NTP...............................................................……………..4 
2.1.1 INTRODUÇÃO................................................................................................…………….4 
2.1.2 DESENVOLVIMENTO.....................................................................................…………….5 
2.1.3 CONCLUSÃO................................................................................................…………….10 
2.2 ATIVIDADE 02 – Virtualização e conteinerização – Virtualização VM..........…………...11 
2.2.1 INTRODUÇÃO...............................................................................................…………….11 
2.2.2 DESENVOLVIMENTO...................................................................................…………….12 
2.2.3 CONCLUSÃO................................................................................................…………….13 
2.3 ATIVIDADE 03 – Conteinerização com Docker...............................................…………..14 
2.3.1 INTRODUÇÃO..............................................................................................…………….14 
2.3.2 DESENVOLVIMENTO...................................................................................…………….15 
2.3.3 CONCLUSÃO................................................................................................…………….19 
2.4 ATIVIDADE 04 – Analisador de pacotes Wireshark.........................................………….20 
2.4.1 INTRODUÇÃO..............................................................................................…………….20 
2.4.2 DESENVOLVIMENTO...................................................................................…………….21 
2.4.3 CONCLUSÃO................................................................................................…………….23 
3 REFERÊNCIAS...................................................................................................…………….24 
2
1. INTRODUÇÃO 
Este trabalho apresenta o desenvolvimento de quatro atividades práticas sobre Sistemas 
Distribuídos:
1. Sincronização NTP: Ajuste de relógios em sistemas Linux e Windows.
2. Virtualização: Criação e configuração de uma VM GNU/Linux.
3. Conteinerização: Gerenciamento de um servidor Apache em cluster com Docker.
4. Segurança: Estudo de protocolos de rede através do analisador Wireshark.
3
2. DESENVOLVIMENTO
2.1 Atividade 01 – Sincronização NTP
2.1.1 Introdução
A sincronização NTP (Network Time Protocol) é o processo fundamental que permite o 
alinhamento temporal entre os relógios de diversos dispositivos em uma rede. Essencial para 
a integridade de logs, transações financeiras e autenticação em sistemas distribuídos, o 
protocolo opera sob uma arquitetura cliente-servidor ou peer-to-peer.
O NTP é amplamente utilizado para sincronizar computadores, estações de trabalho, 
roteadores e outros ativos de rede. Essa precisão é garantida por meio de referências de 
tempo de alta confiabilidade, conhecidas como Relógios de Estrato 0, que incluem relógios 
atômicos e receptores GPS — como os mantidos pelo Observatório Nacional no Brasil.
4
2.1.2 Desenvolvimento 
Para realizar a atividade em um ambiente Linux foi criada uma máquina virtual no Virtualbox 
7.0.14 com a distribuição Ubuntu.
Seguindo com a atividade, abrimos o terminal no Linux e começamos com o primeiro 
comando (sudo apt install ntp) para a instalação do serviço NTP: 
5
Seguindo para o segundo comando (sudo nano /etc/ntp.conf):
O roteiro da atividade, nos indica remover os endereços já na configuração e inserir o 
endereço do servidor brasileiro (pool pool.ntp.br), e apagar todos os comandos pool 
anteriores:
6
Logo após usamos o terceiro comando (sudo service ntp restart) para reiniciar o serviço NTP 
e utilizar a nova configuração: 
Feito isso, o serviço estará configurado adequadamente e já estará funcionando, consultando 
um conjunto de servidores NTP através da internet. Adicionalmente, para fazer uma consulta 
manual, você poderá digitar o seguinte comando no terminal: ntpq –p: 
7
Procedimento do Windows
Para realizar a configuração no Windows, temos que abrir o CMD executando como 
administrador, em seguida inserimos o código: w32tm /config /syncfromflags:manual 
/manualpeerlist:0.pool.ntp.org
Logo após, vamos utilizar os comandos “net stop w32time” e “net start w32time” para parar e 
iniciar o serviço, reiniciando-o.
Logo após, vamos utilizar os comandos “net stop w32time” e “net start w32time” para parar e 
iniciar o serviço, reiniciando-o.
8
Feito isso, vamos forçar uma sincronização de data e hora para verificar se esta tudo 
funcionando corretamente, utilizando o comando: w32tm /resync /rediscover
9
2.1.3 Conclusão
A implementação do protocolo NTP vai muito além do simples ajuste de horas; ela assegura a 
integridade temporal necessária para a consistência de sistemas distribuídos. Embora a lógica 
de “consultar e ajustar” pareça simples, o NTP gerencia variáveis complexas de latência e 
deriva para garantir a monotonicidade do tempo.
Como o tempo é uma variável que apenas avança, qualquer retrocesso ou salto inesperado 
no relógio local pode causar falhas críticas em registros de logs, transações bancárias e 
protocolos de segurança. Portanto, em um ambiente de rede onde a coordenação entre 
múltiplos nós é vital, o NTP estabelece a base de confiança temporal necessária para a 
interoperabilidade global.
10
2.2 Atividade 02 – Virtualização e Conteinerização – Virtualização VM
2.2.1 Introdução 
A virtualização é um processo que permite a utilização mais eficiente do hardware f ísico do 
computador e é a base da cloud computing. A virtualização usa software para criar uma 
camada de abstração sobre o hardware do computador que permite que os elementos de 
hardware de um único computador, como processadores, memória, armazenamento e muito 
mais, sejam divididos em vários computadores virtuais, comumente chamados de máquinas 
virtuais (VMs). Cada VM executa seu próprio sistema operacional (SO) e se comporta como 
um computador independente, apesar de estar em execução em apenas uma parte do efetivo 
hardware de computador subjacente.
O VirtualBox é um programa de virtualização desenvolvido pela Oracle. Com ele, é possível 
instalar e rodar diferentes sistemas operacionais em um único hardware f ísico, ou seja, o 
usuário consegue executar o Mac dentro do Windows, por exemplo.
11
2.2.2 Desenvolvimento 
Vamos criar uma máquina virtual com sistema operacional GNU/Linux, que como a atividade 
propõe, usaremos o Dermian e faremos todas as configurações instruídas para rodarmos a 
máquina: 
12
2.2.3 Conclusão 
A virtualização usando aplicativos como o Virtualbox, e uma poderosa ferramenta que 
oferecem diversas vantagens, incluindo a capacidade de testar e desenvolver softwares em 
diferentes sistemas operacionais, isolamento seguro de ambientes e eficiência no uso de 
recursos de hardware. No entanto, e importante estar ciente das possíveis sobrecargas de 
desempenho e das necessidades de recursos de hardware para garantir o bom 
funcionamento e eficiência das máquinas virtuais.
13
2.3 Atividade 03 – Conteinerização com Docker
2.3.1 Introdução
A conteinerização com Docker e uma tecnologia que permite criar e utilizar contêineres Linux 
para executar aplicações. Os Contêineres são ambientes isolados que contém todos os 
componentes necessários para executar um programa. O Docker e um software de código 
aberto usado para implantar aplicativos dentro de containers virtuais. A conteirerização 
permite que váriosaplicativos funcionem em diferentes ambientes complexos.
14
2.3.2 Desenvolvimento 
A Realização dessa atividade tem como objetivo compreender como orquestrar o servidor web 
Apache em um cluster simples através do Docker, para iniciar e preciso acessar o site oficial e 
fazer a inscrição para a criação da conta. Depois de inscrever-se você irá para a tela Play with 
Docker https://labs.play-withdocker.com/ e clique em Start (iniciar);
15
Com acesso a plataforma foi adicionado 3 nós que farão parte do cluster, através do botão 
“Add new instance”:
 
Após isso, foi escolhido o primeiro nó para ser o mestre, utilizando o comando: docker swarm 
init --advertise-addr 198.162.0.18.
16
Esse comando define esse nó como o manager do cluster. Repare que, ao executar esse 
comando, e apresentada uma saída com a mensagem: “To add worker to this swarm, run the 
following command” (Para adicionar um worker ao swarm, execute o seguinte comando). E 
com os nós criados e seus papeis definidos, para criar o serviço que estará rodando (de 
maneira distribuída, replicada) do servidor web Apache, foi digitado o seguinte comando no nó 
mestre: docker service create --name WEB --publish 80:80 --replicas=5 httpd
Para saber em quais nós as 5 réplicas desse serviço estão sendo executadas, digite o 
seguinte comando: Docker service ps WEB
17
 
18
2.3.3 Conclusão 
A conteinerização com Docker oferece uma maneira eficiente e consistente de desenvolver, 
implantar e gerenciar aplicações. Utilizando contêineres, e possível garantir que o ambiente 
de execução seja o mesmo em todas as etapas do ciclo de desenvolvimento, reduzindo 
problemas de compatibilidade e facilitando a escabilidade.
19
2.4 Atividade 04 – Analisador de Pacotes Wireshark
2.4.1 Introdução
Wireshark é um analisador de protocolos utilizado para monitorar o tráfego de rede. Esse 
software captura pacotes de dados transmitidos em uma rede local, permitindo assim que 
administradores de rede analisem e resolvam problemas de comunicação ou identifiquem 
possíveis ameaças à segurança.
Também conhecido como sniffers, esses analisadores de protocolo conseguem capturar a 
maioria dos pacotes de dados utilizados em uma rede, além de fornecer vários recursos para 
filtragem e para visualização dos dados capturados.
O wireshark ajuda na identificação e resolução de problemas de comunicação, 
congestionamento e latência, permitindo que os administradores de rede analisem o trafego 
em tempo real e identifiquem a origem dos problemas.
20
2.4.2 Desenvolvimento 
Para a realização da atividade proposta, foi utilizado o software Wireshark versão estável 
4.4.3.
Faremos o download e a instalação do Wireshark seguindo as especificações do software. O 
objetivo desse programa e capturar e analisar o trafego que viaja em uma rede, e possível 
guardar dados de captura em um arquivo, para acesso futuro.
A peculiaridade do programa consiste na possibilidade de criar filtros ou usar filtros pré-
configurados e selecionar os pacotes e os protocolos de comunicação que nos interessam, 
em tempo real ou sobre uma captura feita anteriormente. Para tal fim devemos selecionar a 
rede que deve ser analisada.
No meu principal, será apresentada uma caixa listando as interfaces de rede. Selecione a 
interface e clique em start. 
 
21
Esta atividade e chamada de farejamento (sniffing), porque e assim que conseguimos “sentir” 
e separar os dados interessados.
 
Construtor de filtros
A caixa de diálogo de construção de filtros e um recurso que torna mais fácil a utilização do 
Wireshark pelos usuários para capturar e criar filtros de exibição. Para acessá-la, clique no 
menu Analyze e em seguida na opção Display Filter Expression. Na janela de seleção dos 
filtros pré-configurados e possível colocar chaves especificas de busca, colocando, por 
exemplo, o nome de um dispositivo e visualizar os pacotes que incluam aquela palavra, ou 
excluam a mesma dos resultados.
22
2.4.3 Conclusão
O Wireshark e uma ferramenta indispensável para análise e monitoramento de redes. Sua 
capacidade de capturar pacotes de dados em tempo real e fornecer uma análise detalhada, 
faz dele uma escolha popular entre profissionais de TI. Com filtros avançados, suporte a 
centenas de protocolos e uma interface gráfica amigável, o Wireshark ajuda a resolver 
problemas de rede, garantir a segurança e entender o trafego de dados em profundidade.
23
3 REFERÊNCIAS
https://www.ibm.com/docs/pt/i/7.4?topic=considerations-time-synchronization-
using%0D%0Antphttps://www.ibm.com/br-pt/topics/virtualizationhttps://blog.infnet.com.br/
%0D%0Avirtualizacao/virtualbox-o-que-e-para-que-serve-e-como-usar/https://
%0D%0Awww.hostinger.com.br/tutoriais/o-que-e-dockerhttps://www.controle.net/faq/
%0D%0Awireshark-software-que-analisa-pacotes-e-protocolos-de-rede27
24
https://www.ibm.com/docs/pt/i/7.4?topic=considerations-time-synchronization-using%0D%0Antphttps://www.ibm.com/br-pt/topics/virtualizationhttps://blog.infnet.com.br/%0D%0Avirtualizacao/virtualbox-o-que-e-para-que-serve-e-como-usar/https://%0D%0Awww.hostinger.com.br/tutoriais/o-que-e-dockerhttps://www.controle.net/faq/%0D%0Awireshark-software-que-analisa-pacotes-e-protocolos-de-rede27
https://www.ibm.com/docs/pt/i/7.4?topic=considerations-time-synchronization-using%0D%0Antphttps://www.ibm.com/br-pt/topics/virtualizationhttps://blog.infnet.com.br/%0D%0Avirtualizacao/virtualbox-o-que-e-para-que-serve-e-como-usar/https://%0D%0Awww.hostinger.com.br/tutoriais/o-que-e-dockerhttps://www.controle.net/faq/%0D%0Awireshark-software-que-analisa-pacotes-e-protocolos-de-rede27
https://www.ibm.com/docs/pt/i/7.4?topic=considerations-time-synchronization-using%0D%0Antphttps://www.ibm.com/br-pt/topics/virtualizationhttps://blog.infnet.com.br/%0D%0Avirtualizacao/virtualbox-o-que-e-para-que-serve-e-como-usar/https://%0D%0Awww.hostinger.com.br/tutoriais/o-que-e-dockerhttps://www.controle.net/faq/%0D%0Awireshark-software-que-analisa-pacotes-e-protocolos-de-rede27
	2. DESENVOLVIMENTO
	2.1 Atividade 01 – Sincronização NTP
	2.1.1 Introdução

Mais conteúdos dessa disciplina