InfraEstrutura de Comunicao IF 678 Aula Prtica 01
- Slides: 27
Infra-Estrutura de Comunicação (IF 678) Aula Prática 01 Telnet, SMTP, HTTP e Socket Flávio Almeida (faas@cin. ufpe. br) http: //www. cin. ufpe. br/~faas/comunicacao Professor: Paulo Gonçalves (pasg@cin. ufpe. br) CIn/UFPE
Nosso objetivo: q Visão geral sobre protocolos da camada de aplicação q Consulta a RFC’s q Entender o Telnet q Utilizar o Telnet para enviar e-mail (SMTP) q Utilizar o Telnet para efetuar requisições HTTP q Compreender a comunicação entre processos – Socket 2
Agenda 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Sobre protocolos Camadas da Internet Telnet: Protocolo x Aplicativo Telnet x SSH Correio Eletrônico O Protocolo SMTP Mensagens SMTP: Prática O Protocolo HTTP Métodos HTTP: Prática Definição de Socket 3
Sobre protocolos q “. . . protocolo é um padrão que especifica o formato de dados e as regras a serem seguidas. . . ” q Para que possa haver harmonia na comunicação entre as partes envolvidas q Análogos aos vários idiomas existentes. . . q Exemplos: HTTP*, FTP*, DNS*, TCP**, UDP** (*) Protocolo da camada de aplicação (**) Protocolo da camada de transporte 4
Camadas da Internet q Padrão OSI (Open Systems Interconnection) definido pela ISO (International Standardization Organization) para facilitar a interconexão de sistemas de computadores q A Internet não segue a risca este padrão Modelo OSI Modelo da Internet 5
Camadas da Internet q Estaremos concentrados na camada de aplicação. . . 6
Telnet: protocolo x aplicativo q Protocolo cliente-servidor da camada de aplicação que permite comunicação entre computadores ligados em rede q Permite acesso remoto q Pode ser perigoso quando ativado o modo Telnet Server! q Existem vários clientes Telnet q No Windows chama-se Telnet (aplicativo) q Recomendamos o Putty: http: //www. cin. ufpe. br/~faas/comunicacao [download] 7
Telnet x SSH q Telnet [RFC 854] não possui criptografia q Dados podem ser capturados usando-se um sniffer q SSH [RFC 4251] (Secure Shell) possui criptografia, apresentando-se muito mais seguro q Hoje, pouco se usa o protocolo Telnet para acesso remoto, ele vem sendo substituído pelo SSH 8
Correio eletrônico q Comunicação Assíncrona – Mensagens enviadas em determinado momento não necessariamente chegam no mesmo instantaneamente. q O envio de uma mensagem possui 3 componentes principais: q Agente de usuário: Compor, ler e editar mensagens q. Servidor de e-mail: Responsável pelas tentativas de envio para o e-mail do destinatário q Protocolo SMTP [RFC 2821] 9
Protocolos de acesso ao correio q POP 3 - Está definido na RFC 1225 e permite que todas as mensagens contidas numa caixa de correio eletrônico possam ser transferidas sequencialmente para um computador local. q IMAP – Superior ao POP 3, mensagens ficam no servidor e o cliente pode ter acesso a suas pastas e mensagens em qualquer computador, mantém estado. q HTTP – Envio/recebimento de e-mail por meio de browsers Web. 10
O Protocolo SMTP q O cliente envia a mensagem para o seu servidor de e -mail. . . q Fila de mensagens: depois que o servidor cliente recebe a mensagem ele a encaminha para uma fila de envio. . . q A mensagem chega ao servidor destino. . . q O cliente destinatário baixa sua mensagem do seu servidor de e-mail! 11
SMTP X HTTP q. SMTP – Protocolo de envio de informações (push protocol) já o HTTP é um protocolo de recebimento de dados (pull protocol) q. SMTP – Obriga que toda a mensagem, inclusive o corpo dela, esteja em formato ASCII q. Para transferência com anexo utiliza-se o protocolo MIME q. Os dois utilizam TCP para o transporte de dados q. SMTP utiliza a porta 25 e o HTTP a 80 12
Mensagens SMTP q telnet ferreiros. cin. ufpe. br 25 //tecle enter q 220 CIn-UFPE ESMTP Mail Server q Helo comunicacao //tecle enter q 250 ferreiros. cin. ufpe. br Hello g 3 c 22. cin. ufpe. br [172. 17. 67. 22], pleased to meet you q mail from: [seu login]@cin. ufpe. br //tecle enter q 250 2. 1. 0 [seu login]@cin. ufpe. br. . . Sender ok q rcpt to: acmb@cin. ufpe. br //tecle enter q 250 2. 1. 5 acmb@cin. ufpe. br. . . Recipient ok q data //tecle enter q Alo vc! //Corpo da mensagem - tecle enter q. //tecle enter q quit //tecle enter 13
SMPT: Prática 1. 2. 3. 4. 5. Envie um e-mail para sua conta do CIn utilizando o Prompt de Comando do Windows (c: windowssystem 32telnet. exe) Envie e-mail contendo o campo assunto (Consulte a RFC 2821) Agora, utilize o campo “From” (Consulte a RFC ) Envie um e-mail com cópia para outro destinatário (Consulte a RFC) Procure e utilize o campo “Cc” (Consulte a RFC) 14
O Protocolo HTTP q HTTP – Protocolo de Transferência de Hipertexto q HTTP 1. 0: RFC[1945] q HTTP 1. 1: RFC[2616] q É o protocolo base da WEB q Viabiliza a obtenção de Objetos(páginas, imagens. . . ) q Funciona no modelo cliente-servidor q O HTTP define como o cliente (browser) requisita as páginas WEB e como o servidor as transfere q Usa o TCP como transportador, podendo assim garantir transmissões confiáveis q Utiliza a porta 80 como padrão 15
Métodos HTTP q Alguns métodos do HTTP 1. 1: q GET: busca um objeto definido por uma URL requisição q PUT: indica que os dados no corpo da consulta devem ser armazenados na URL especificada q POST: envia dados para serem processados pelo servidor no corpo da mensagem q HEAD: Similar ao método GET, mas retorna somente o cabeçalho da resposta do servidor q DELETE: apaga o arquivo especificado na URL 16
Mensagem de requisição q Típica mensagem de requisição cliente-servidor: GET <diretório> HTTP/1. 1 Host: <ip de onde se encontra o diretório> q Exemplo: GET /~faas/if 678_monitoria/ HTTP/1. 1 Host: www. cin. ufpe. br 17
Mensagem de resposta (1/2) q Na mensagem de resposta temos: q Uma linha inicial (Status-Line) q Versão do protocolo HTTP (HTTP-Version) q Código de status da resposta (Status-Code) e q Descrição do código de status (Reason-Phrase) q Linhas de cabeçalhos (Responseheader) q Uma linha em branco obrigatória e q Um corpo de mensagem opcional 18
Mensagem de resposta (2/2) q Exemplo: HTTP/1. 1 200 OK Date: Mon, 23 May 2005 22: 38: 34 GMT Server: Apache/1. 3. 27 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23: 11: 55 GMT Etag: "3 f 80 f-1 b 6 -3 e 1 cb 03 b" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8 Dados. . . . . 19
Alguns códigos de resposta q 200 OK - conexão estabelecida e objeto requisitado encontrado q 302 Found - indica um redirecionamento temporário onde no cabeçalho Location está a URL da nova localidade q 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 q 304 Not Modified - usado quando o cliente utiliza cache, indicando que o objeto solicitado não foi alterado q 404 Not Found - indica que o recurso não foi encontrado q 403 - acesso negado 20
HTTP: Prática q Procure na Internet a RFC[2616] que especifica a versão 1. 1 do HTTP q Localize o campo de cabeçalho de requisição (Request Header Fields): q Como se define a linguagem preferencial para uma página? q Como o cliente indica seu navegador (User. Agent)? q. Utilize o que você aprendeu: q. Com o método GET q. Com o método HEAD 21
Comunicação entre processos q Processos em hosts distintos comunicam-se por meio de envio de mensagens. . . q enviadas e recebidas através de seu socket Socket é a interface entre a camada de aplicação e a de transporte 22
Serviços requeridos pelas aplicações q Transferência de dados confiável q Não pode haver perda de dados durante a transmissão q Exemplos: transferência de arquivos, mensagem instantânea q Banda passante disponível q Algumas aplicações necessitam de uma banda passante mínima para haver consistência dos dados no receptor q Exemplos: aplicações multimídia q Garantia de tempo q Algumas aplicações requerem um tempo máximo de atraso para a transmissão dos dados q Exemplos: aplicações em tempo real, jogos multiusuários 23
TCP: transporte confiável q A Internet trabalha no esquema do “Melhor esforço” q No entanto, muitas aplicações precisam de garantias. . . q O protocolo TCP provê: q Transporte confiável: os dados vão chegar corretamente! q Controle de congestionamento: diminui a taxa de transmissão de um processo quando a rede está sobrecarregada q Controle de fluxo: um host não receberá um volume de dados maior que o suportado por ele 24
UDP: um protocolo leve q O UDP é um protocolo de transporte bastante simplificado q Não possui a fase de “setup” do TCP q E não fornece nenhuma garantia de entrega dos dados q Isso o torna mais leve e possibilita menor sobrecarga no servidor que o utiliza q É utilizado no transporte de voz sobre IP, por exemplo 25
Próxima aula. . . q PROGRAMAÇÃO COM SOCKETS! 26
Referências 1. 2. 3. 4. 5. James F. Kurose and Keith W. Ross, "Redes de Computadores e a Internet - Uma Nova Abordagem", 3 a. edição - 2005 - Ed. Addison Wesley BRA http: //www. rfc. net/ http: //www. ietf. org/rfc. html http: //java. sun. com/j 2 se/1. 5. 0/docs/api/java/ne t/package-summary. html http: //java. sun. com/j 2 se/1. 5. 0/docs/api/java/net /Socket. html 27
- Comunição social
- Kingdom 678
- 678 error in bsnl broadband connection
- Round 678 to the nearest ten
- 665 vs 678
- Gestp/difl
- Infraestrutura de comunicação de uma rede cow
- Infraestrutura da internet
- Superestrutura e infraestrutura
- Capitalismo meios de produção
- Infraestrutura
- Material de aula unipampa
- Max weber aula
- Tradução
- Aulas de discipulado
- Para que sirve el data show
- Aula magna santa lucia bologna
- Paulo sentelhas e angelocci geadas aula lce 306
- Braille
- Fim de aula
- Como hacer ciencia en el aula
- Color 01122008
- Aula administratorvejledning
- Aula essencial
- Gimnasio superior empresarial bilingüe aula virtual
- En cada aula de un colegio hay entre 25 y 30 sillas
- Maria aparecida soares
- Aula mg