Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
SÃO PAULO
2020
2
SÃO PAULO
2020
3
LISTA DE ILUSTRAÇÕES
SUMÁRIO
2. INTRODUÇÃO....................................................................................................... 7
3.7 IP ..................................................................................................................... 22
3.8 UDP................................................................................................................. 23
4. DESENVOLIMENTO ............................................................................................ 33
6. CONCLUSÃO ....................................................................................................... 39
1. OBJETIVO DO TRABALHO
2. INTRODUÇÃO
Desde o início da existência humana, a comunicação tem sido uma das maiores
necessidades da sociedade humana. Com a expansão da civilização, a distribuição
geográfica da área ocupada está se tornando cada vez mais dispersa, e a
comunicação de longa distância está se tornando uma necessidade e um desafio.
Nossos ancestrais descobriram maneiras de se comunicar através de sinais de
fumaça ou de pombos correios por exemplo com a tentativa de aproximar
comunidades distantes. Estamos sempre procurando uma maneira mais rápida de
transmitir informações importantes, seja por e-mails entre funcionários de uma
empresa ou por bate-papo entre dois funcionários em diferentes setores.
o tempo, o serviço foi sendo modificado e o TCP ficou responsável por organizar a
chegada dos pacotes, enquanto o IP tem a função de envio e o UDP controla o fluxo
de voz.
Olifer & Olifer (2008, p. 04) provem a influência das redes de computadores
sobre outros tipos de redes de telecomunicações, onde resultou em uma convergência
de redes, um processo que começou muito antes da internet. As redes são divididas
em duas categorias principais: redes locais (LANs) e redes remotas (WANs). Esses
dois tipos têm diferentes características e diferentes funcionalidades. A Internet é um
conjunto de redes LANs e WANs interconectadas por dispositivos de ligação entre
elas. Sua composição é formada por cinco componentes essenciais, que são:
compartilhando informação. A internet é uma rede, ela interliga vários dispositivos que
se comunicam entre si.
Exemplos Hardware
Exemplos Software
Fonte: sites.google.com/site/estudandoredes/capitulo-01---introducao/1-2-hardware-de-rede,
2017
14
Meio de transporte - É a forma pela qual as informações vão ser enviados pela
rede, os meios mais utilizados do hoje são os ethernet e wireless que podem variar
da velocidade de 10 as 10000Mbps.
15
Este tipo de rede trabalha na mesma maneira que uma LAN, mais a diferença
é o alcance dessa rede e os meios de comunicação que ela utiliza para montar a rede.
Este é um tipo de rede que abrange uma grande área geográfica, que pode ser
um estado, um país e até mesmo continente. Este tipo de rede é que deu o grande
crescimento para Internet. Mas a grande utilização dessa rede é por empresas que
vão crescendo e acabam necessitando de expandir com filiais franquias em diversos
países, estados e até mesmo na própria cidade.
Neste tipo de rede, devemos observar alguns pontos para o seu funcionamento
correto:
Este modelo em sete camadas foi fornecido por Charles Bachman. A evolução do
projeto OSI começou a partir de experiência com a ARPANET, a Internet incipiente, a
NPLNET, o EIN, o CYCLADES e também com o trabalho em IFIP WG6.1.
Embora o modelo OSI da ISO possa ser usado tanto em redes de longa distância
ponto em redes locais, ele foi, em princípio pensado para o uso em redes de longa
distância.
Fonte: https://www.iperiusbackup.net/pt-br/entendendo-os-conceitos-entre-os-modelos-tcpip-e-osi/
18
Esta camada lida com as técnicas de apresentação dos dados, o que significa
basicamente que ela é responsável pela forma como os dados são reconhecidos e
visualizados em seu destino. Como exemplos de suas atribuições, temos a
codificação de caracteres, compressão e criptografia de dados.
20
O modelo TCP/IP, quando comparado com o modelo OSI, tem duas camadas que
se formaram a partir da fusão de algumas camadas, ela são: as camadas de Aplicação
(Aplicação, Apresentação e Sessão) e Rede (Link de dados e Física).
Camada de transporte (TCP/UDP) - Camada fim a fim, isto é, uma entidade desta
camada só se comunica com a sua entidade-par do host destinatário. É nesta camada
que se faz o controle da conversação entre as aplicações intercomunicadas da rede.
Dois protocolos são usados aqui: o TCP (orientado à conexão) e o UDP (não orientado
à conexão). É responsável pela transferência de dados entre duas máquinas,
assegurando que os dados sejam entregues de forma confiável.
Exemplo:
3.6 TCP
3.7 IP
3.8 UDP
3.10 PROTOCOLO
Protocolo TCP/IP
Protocolo HTTP
Protocolo HTTPS
HTTPS é a sigla para Hyper Text Transfer Secure, que significa Protocolo de
Transferência de Hipertexto Seguro.
Protocolo DHCP
Protocolo FTP
FTP é a sigla para File Transfer Protocol, que significa Protocolo de Transferência
de Arquivos. Ele surgiu antes mesmo do padrão TCP/IP, que é a base das conexões
de internet. E é o modo mais simples de transferir dados entre duas máquinas pela
rede.
Protocolo SFTP
SFTP é a sigla para Simple File Transfer Protocol, que significa Protocolo de
Transferência Simples de Arquivos. Ele é, basicamente, o protocolo FTP com uma
camada de proteção a mais aos arquivos transferidos.
Protocolo SSH
SSH é a sigla para Secure Shell que, em português adaptado, significa Bloqueio
de Segurança. É um dos protocolos específicos de segurança de troca de arquivos
entre cliente e servidor.
Protocolo POP3
POP3 é o acrônimo para Post Office Protocol 3, que significa, excluindo o número,
Protocolo de Correios. Ele é usado para mensagens eletrônicas, ou seja, os populares
e-mails.
Protocolo SMTP
SMTP é a sigla para Simple Mail Transfer Protocol, que significa Protocolo de
Transferência de Correio Simples. Diferente do POP3, o protocolo SMTP é voltado
para o envio de mensagens eletrônicas (e-mails).
26
Protocolo IMAP
A topologia ponto e aponto é a base para formação de topologias por ser a mais
simples, ela pode ser representada por dois computadores interligados entre si
através de um meio de transmissão. Normalmente esse tipo de rede é utilizada em
residências e pequenas empresas onde costuma-se ter apenas dois computadores.
27
Fonte: https://sites.google.com/site/topologiasderedexd/topologia-ponto-a-ponto
Topologia em Barramento
FONTE: https://estudoderedes.wordpress.com/tag/redes-barramento/
Sua grande vantagem é que ela utiliza um cabo só, e com isso seu custo de
instalação é considerado baixo.
FONTE: https://pt.wikipedia.org/wiki/Rede_em_anel
Topologia Estrela
Esse tipo de rede é o mais utilizado hoje, todas as estações são conectadas por
um concentrador (hub ou switch) principal. Através esse concentrador todas as
estações podem se comunicar entre si e com estações remotas e terminais.
FONTE: https://inforticsite.wordpress.com/topologia-de-rede-star/
30
Topologia em Árvore
FONTE: https://estudoderedes.wordpress.com/2012/04/22/topologia-de-redes/
É uma estrutura que tem ligações ponto a ponto e múltiplo ponto obtendo redes
complexas com um maior número de recursos. A estrutura mista pode conter outras
topologias como a barra, anel, estrela etc.
FONTE: https://www.diegomacedo.com.br/topologias-de-rede-de-computadores/
31
3.15 Socket
Fonte: https://www.treinaweb.com.br/blog/uma-introducao-a-tcp-udp-e-sockets/
Fonte: https://www.treinaweb.com.br/blog/uma-introducao-a-tcp-udp-e-sockets/
33
4. DESENVOLIMENTO
Linguagem de programação
5. PROJETO DO PROGAMA
Servidor
Responsável pelo Server Socket, ele que vai receber a mensagem do Client e
repassar para outros Clients na conectados na mesma rede.
Métodos do Servidor
“main”: Aqui é instanciado uma tela usando JOptionPane para pegar o valor da
porta para subir uma conexão na rede, em seguida uma nova JOptionPane para
confirmar que a conexão foi estabelecida e um laço while que fica rodando direto
aguardando novo usuários se conectarem, para cada usuário uma nova thread é inicia
dessa forma permitindo várias pessoas no mesmo chat.
“Run”: aloca um novo cliente a uma thread e fica “escutando” novas mensagens
no servidor, quando uma mensagem chegar o método envia será acionado e enviará
a mensagem para a tela de chat.
Cliente
Classe responsável pelo Client Socket, para cada usuário o server criar uma
thread possibilitando vários usuários se comunicarem pela mesma rede. A classe se
conecta com o server, manda o que foi digitado e escreve o que foi recebido do
servidor.
35
Métodos Cliente
“main”: Onde é instanciado o objeto chat do tipo Cliente que chama os métodos
conecta e escutar.
6. CONCLUSÃO
7. CÓDIGO FONTE
Classe Servidor
package APS_rede.src.teste_socket;
//package teste_socket;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
//@author jorge
try {
// Cria os objetos necessário para instânciar o servidor
JLabel lblPorta = new JLabel("Porta do Servidor:");
JTextField textPorta = new JTextField("5572");
Object[] porta = { lblPorta, textPorta };
ImageIcon img = new ImageIcon("img.png");
41
JOptionPane.showMessageDialog(null,
"Conectado ao Servidor da " + "Secretaria do Meio
Ambiente: " + textPorta.getText());
while (true) {
Socket con = server.accept();
System.out.println("Conectou...");
Thread thread = new Servidor(con);
thread.start();
}
} catch (Exception e) {
e.printStackTrace();
}
/***
* Método usado para enviar mensagem para todos os clients
*/
public void envia(BufferedWriter buffSaida, String mensagem) throws
IOException {
try {
BufferedWriter buffWrite;
for (BufferedWriter bw : clientes) {
buffWrite = (BufferedWriter) bw;
if (!(buffSaida == buffWrite)) {
bw.write(nome + " : " + mensagem + "\n");
bw.flush();
}
42
} catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}
}
try {
String mensagem;
OutputStream output = this.conexao.getOutputStream();
Writer write = new OutputStreamWriter(output);
BufferedWriter buffWrite = new BufferedWriter(write);
clientes.add(buffWrite);
nome = mensagem = buffReader.readLine();
while (!"Sair".equalsIgnoreCase(mensagem)) {
mensagem = buffReader.readLine();
envia(buffWrite, mensagem);
System.out.println(mensagem);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Classe Cliente
package APS_rede.src.teste_socket;
//package teste_socket;
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
43
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.Socket;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
//@author jorge
} catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}
}
// Login
setResizable(false);
JLabel lblMessagem = new JLabel("Informe os dados");
textIP = new JTextField("");
textPorta = new JTextField("5572");
textNome = new JTextField("");
ImageIcon img = new ImageIcon("img.png");
Object[] Mensagem = {lblMessagem, "IP", textIP, "Porta", textPorta,
"Nome", textNome,
JOptionPane.INFORMATION_MESSAGE, img};
JOptionPane.showMessageDialog(null, Mensagem, "Usuário",
JOptionPane.INFORMATION_MESSAGE);
// Chat
pnlContent = new JPanel();
textMenssagem = new JTextField(20);
textMenssagem.setBounds(11, 236, 174, 20);
pnlContent.setLayout(null);
btnEnviar.addActionListener(this);
btnEnviar.addKeyListener(this);
textMenssagem.addKeyListener(this);
pnlContent.add(textMenssagem);
pnlContent.add(btnEnviar);
pnlContent.setBackground(SystemColor.menu);
setTitle(textNome.getText());
setContentPane(pnlContent);
setLocationRelativeTo(null);
setSize(285, 298);
setVisible(true);
45
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//Sobe o servidor
public void conectar() throws IOException {
if (mensagem.equals("Sair")) {
buffWrite.write("Desconectado \n");
texto.append("Desconectado \n");
} else {
buffWrite.write(mensagem + "\n");
texto.append(textNome.getText() + " : " +
textMenssagem.getText() + "\n");
}
buffWrite.flush();
textMenssagem.setText("");
}
while (!"Sair".equalsIgnoreCase(mensagem))
if (bfr.ready()) {
mensagem = bfr.readLine();
if (mensagem.equals("Sair"))
texto.append("Desconectado! \n");
else
texto.append(mensagem + "\n");
}
}
46
enviarMensagem("Sair");
buffWrite.close();
write.close();
output.close();
socket.close();
System.exit(0);
}
@Override
public void actionPerformed(ActionEvent e) {
try {
if
(e.getActionCommand().equals(btnEnviar.getActionCommand()))
enviarMensagem(textMenssagem.getText());
} catch (IOException a) {
// TODO Auto-generated catch block
a.printStackTrace();
}
}
@Override
public void keyPressed(KeyEvent e) {
// enviar apertando ENTER
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
try {
enviarMensagem(textMenssagem.getText());
} catch (IOException b) {
// TODO Auto-generated catch block
b.printStackTrace();
}
}
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}
47
8. REFERÊNCIAS BIBLIOGRAFICAS
FIGUEIREDO, IRIA LUPPI. História das redes de computadores. [S. l.], 10 out.
2014. Disponível em: https://www.oficinadanet.com.br/post/10123-historia-das-redes-
de-computadores. Acesso em: 30 mar. 2020.
TEDESCO, Kennedy. Uma introdução a TCP, UDP e Sockets. [S. l.], 19 jun. 2019.
Disponível em: https://www.treinaweb.com.br/blog/uma-introducao-a-tcp-udp-e-
sockets/. Acesso em: 28 abr. 2020.
48
9. FICHAS DE HORAS
49
50