infra-estrutura de comunicação (if678) aula prática 01 bruno...

20
Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio([email protected]) Original por: Flávio Almeida([email protected]) Professor: Paulo Gonçalves (pasg @ cin .ufpe.br ) CIn/UFPE

Upload: lais-araujo

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Infra-Estrutura de Comunicação(IF678)

Aula Prática 01

Bruno D’Ambrosio([email protected])Original por: Flávio Almeida([email protected])

Professor: Paulo Gonçalves ([email protected])

CIn/UFPE

Page 2: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

2

Nosso objetivo:• Experimentos com traceroute, entender o backbone da

internet;• Experimentos com telnet para HTTP;• Experimentos com telnet para SMTP;• Experimentos com telnet para POP3;• Experimentos usando o comando Ping;• Introdução à programação com sockets.

Page 3: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Experimentos Com Traceroute

• Faremos um traceroute para www.ufam.edu.br e observaremos os resultados obtidos com o mesmo.

Comando: tracert www.ufam.edu.br• Perguntas:• A) Por que os pacotes foram para o Sudeste em vez de

seguirem diretamente para o Norte? • B) Por que após SP teríamos apenas um salto até Amazonas?• C) Por que o atraso cresce a cada salto? Porque há uma

grande diferença entre alguns saltos? • D) Qual o nome e o endereço IP do roteador de acesso à

Internet do CIn?

Page 4: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Traceroute (Continuação!)

• E) Pode ser que o traceroute termine em 30 saltos mas tendo só asterísticos a partir do nono. Qual a razão?

• F) Façam um traceroute para www.umass.edu . Por que a ordem de grandeza dos atrasos cresceu em comparação ao primeiro traceroute?

Page 5: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

5

O Protocolo HTTP

• HTTP – Protocolo de Transferência de Hipertexto• HTTP 1.0: RFC[1945]• HTTP 1.1: RFC[2616] • É o protocolo base da WEB• Viabiliza a obtenção de Objetos(páginas, imagens...)• Funciona no modelo cliente-servidor• O HTTP define como o cliente (browser) requisita as páginas WEB e como o servidor as transfere • Usa o TCP como transportador, podendo assim garantir transmissões confiáveis• Utiliza a porta 80 como padrão

Page 6: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

6

Métodos HTTP

• Alguns métodos do HTTP 1.1:• GET: busca um objeto definido por uma URL

requisição• PUT: indica que os dados no corpo da consulta

devem ser armazenados na URL especificada• POST: envia dados para serem processados pelo

servidor no corpo da mensagem• HEAD: Similar ao método GET, mas retorna somente

o cabeçalho da resposta do servidor• DELETE: apaga o arquivo especificado na URL

Page 7: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

7

Experimentos com HTTP

• Típica mensagem de requisição cliente-servidor:GET <diretório> HTTP/1.1Host: <ip de onde se encontra o diretório>

• Executem os comandos abaixo observando o cabeçalho da resposta e os dados da resposta: telnet ferreiros.cin.ufpe.br 80

GET /~pasg/if678/ HTTP/1.1Host: www.cin.ufpe.br

Page 8: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Mensagem de resposta• Na mensagem de resposta temos:

– Uma linha inicial (Status-Line)• Versão do protocolo HTTP (HTTP-Version)• Código de status da resposta (Status-Code) e• Descrição do código de status (Reason-Phrase)

– Linhas de cabeçalhos (Responseheader)– Uma linha em branco obrigatória e – Um corpo de mensagem opcional

Page 9: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Alguns códigos de resposta• 200 OK - conexão estabelecida e objeto requisitado

encontrado• 302 Found - indica um redirecionamento temporário onde

no cabeçalho Location está a URL da nova localidade• 301 Moved Permanently - indica que o ouve um

redirecionamento permanente. E no campo Location do Head está a nova localidade, o registro com a URL antiga deve ser alterado para a nova

• 304 Not Modified - usado quando o cliente utiliza cache, indicando que o objeto solicitado não foi alterado

• 404 Not Found - indica que o recurso não foi encontrado• 403 - acesso negado

Page 10: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Experimentos com SMTP

• A) Usar o telnet com comandos SMTP para enviar um email a um colega da sala.

• B) Usar o telnet com comandos SMTP para enviar um email a si próprio com endereço do email de origem de um outro colega. Fake mail! =PPPP

Page 11: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

11

Exemplo SMTP• telnet ferreiros.cin.ufpe.br 25 //tecle enter • 220 CIn-UFPE ESMTP Mail Server• Helo comunicacao //tecle enter • 250 ferreiros.cin.ufpe.br Hello g3c22.cin.ufpe.br [172.17.67.22], pleased to meet you• mail from: [seu login]@cin.ufpe.br //tecle enter • 250 2.1.0 [seu login]@cin.ufpe.br... Sender ok• rcpt to: [email protected] //tecle enter • 250 2.1.5 [email protected]... Recipient ok• data //tecle enter • Alo vc! //Corpo da mensagem - tecle enter • . //tecle enter • quit //tecle enter

Page 12: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Experimentos com POP3

• A) Com o auxílio do telnet, acessar a própria caixa postal com comando POP3. Apenas fazer LIST e QUIT. (somente para quem possui e-mail com servidor POP3 : para emails da uol , oi e globo funciona , e-mails somente na web como hotmail e gmail não pega).

• Exemplo no próximo slide! =P

Page 13: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Exemplo POP3

telnet pop3.uol.com.br 110+OK POP server readyuser nomedousuárioServidor pede a senha.pass suasenha(cuidado senha vai aparecer não deixe

ninguém ver)Servidor avisa que você está conectado.listServidor mostra lista de e-mails (números dos e-mails)quitDesconectado.

Page 14: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

Exercício Ping

• Façam um ping para diversos endereços diferentes, observando as respostas.

• Comando: ping destinatário

• Como funciona o ping?

Page 15: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

15

Comunicação entre processos• Processos em hosts distintos comunicam-se por meio de envio de mensagens...• enviadas e recebidas através de seu socket

Socket é a interface entre a camada de aplicação e a de transporte

Page 16: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

16

Serviços requeridos pelas aplicações• Transferência de dados confiável

• Não pode haver perda de dados durante a transmissão

• Exemplos: transferência de arquivos, mensagem instantânea• Banda passante disponível

• Algumas aplicações necessitam de uma banda passante mínima para haver consistência dos dados no receptor

• Exemplos: aplicações multimídia• Garantia de tempo• Algumas aplicações requerem um tempo máximo de

atraso para a transmissão dos dados• Exemplos: aplicações em tempo real, jogos

multiusuários

Page 17: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

17

TCP: transporte confiável• A Internet trabalha no esquema do “Melhor esforço”

• No entanto, muitas aplicações precisam de garantias...

• O protocolo TCP provê:• Transporte confiável: os dados vão chegar

corretamente!• Controle de congestionamento: diminui a taxa de

transmissão de um processo quando a rede está sobrecarregada

• Controle de fluxo: um host não receberá um volume de dados maior que o suportado por ele

Page 18: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

18

UDP: um protocolo leve• O UDP é um protocolo de transporte bastante simplificado

• Não possui a fase de “setup” do TCP

• E não fornece nenhuma garantia de entrega dos dados

• Isso o torna mais leve e possibilita menor sobrecarga no servidor que o utiliza

• É utilizado no transporte de voz sobre IP, por exemplo

Page 19: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

19

Próxima aula...

• PROGRAMAÇÃO COM SOCKETS!

Page 20: Infra-Estrutura de Comunicação (IF678) Aula Prática 01 Bruno D’Ambrosio(bgda@cin.ufpe.br)bgda@cin.ufpe.br Original por: Flávio Almeida(faas@cin.ufpe.br)faas@cin.ufpe.br

20

Referências

1. James F. Kurose and Keith W. Ross, "Redes de Computadores e a Internet - Uma Nova Abordagem", 3a. edição - 2005 - Ed. Addison Wesley BRA

2. http://www.rfc.net/ 3. http://www.ietf.org/rfc.html4. http://java.sun.com/j2se/1.5.0/docs/api/java/

net/package-summary.html 5. http://java.sun.com/j2se/1.5.0/docs/api/java/

net/Socket.html 6. Slide da monitoria do semestre passado (faas)