2Arquitetura cliente-servidor



Documentos relacionados
Redes de Computadores e a Internet

REDES DE COMPUTADORES. Prof. Evandro Cantú

Camada de aplicação. Camada de aplicação

Redes de Computadores e a Internet

Web. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.

FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA. Aula 1 SENAC TI Fernando Costa

Redes de Computadores. Camada de Aplicação Profa. Priscila Solís Barreto

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. Programação WEB

HYPERTEXT TRANSFER PROTOCOL

Rede de Computadores (REC)

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Redes de Computadores

Cap 03 - Camada de Aplicação Internet (Kurose)

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Capítulo 8 - Aplicações em Redes

Servidor de s e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes

Redes de Computadores Aula 3


Camada de Aplicação. Prof. Tiago Semprebom. 2: Camada de aplicação 1

Permite o acesso remoto a um computador;

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Aula-28 Camada Aplicação - DNS. Prof. Dr. S. Motoyama

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Redes de Computadores

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

REDES DE COMPUTADORES

Desenvolvimento e disponibilização de Conteúdos para a Internet

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

TECNOLOGIA WEB INTERNET PROTOCOLOS

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

Capítulo 2 Camada de aplicação

REDES DE COMPUTADORES

FTP: protocolo de transferência de arquivos

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

Servidor de s e Protocolo SMTP

Redes de Computadores

Camada de Aplicação. Prof. Eduardo

Correio Eletrônico e os protocolos SMTP, POP3 e IMAP

Redes de Computadores. Protocolos de comunicação: TCP, UDP

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

REDES DE COMPUTADORES

REDES DE COMPUTADORES

Camada de Aplicação!

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

Universidade Federal de Mato Grosso

Camada de Transporte TCP/IP e Aplicação

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

Sistemas Distribuídos (DCC/UFRJ)

efagundes com Como funciona a Internet

Teleprocessamento e Redes

Rede de Computadores

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Introdução à Camada de Aplicação. Prof. Eduardo

MÓDULO 8 Modelo de Referência TCP/IP

Redes de computadores. Redes para Internet

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

AULA Redes de Computadores e a Internet

Redes de Computadores

DNS - Domain Name System

Redes de Computadores

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Redes de Computadores

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

Capítulo 7 CAMADA DE TRANSPORTE

1.264 Lição 11. Fundamentos da Web

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Redes de computadores e a Internet. Capítulo2. Camada de aplicação

Transferência de arquivos (FTP)

Redes de Computadores

Sistemas Distribuídos

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Rede de Computadores II

Tecnologia de Redes de Computadores

Prof. Marcelo Cunha Parte 5

Redes. Pablo Rodriguez de Almeida Gross

Redes de Computadores

Redes de Computadores

O protocolo HTTP. O que é o protocolo HTTP?

Redes de Computadores e a Internet

Desenvolvimento Web Protocolos da Internet

Imagem digital. Configuração de 640 x 480 e 24 bits/pixel (RGB) 7,37 Mbits Solução compactação

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

A Camada de Aplicação

Camada de Aplicação. Prof. Arliones Hoeller. 14 de fevereiro de 2014

Professor: Gládston Duarte

PROJETO E IMPLANTAÇÃO DE INTRANETS

INTRODUÇÃO A REDES DE COMPUTADORES. Alan Nakai

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

DNS: Domain Name System

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Universidade Federal do Rio Grande do Norte

Redes de Computadores

Transcrição:

Redes de computadores e a Internet Capítulo Camada de aplicação Nossos objetivos: Conceitual, aspectos de implementação de protocolos de aplicação de redes Paradigma cliente-servidor Paradigma peer-to-peer Aprender sobre protocolos examinando protocolos da camada de aplicação populares: HTTP FTP SMTP/POP3/IMAP DNS O que veremos:.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico.5 DNS.6 Compartilhamento de arquivos PP 005 by Pearson Education - Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 3 Adaptado por Társio Ribeiro Cavalcante Algumas aplicações de rede E-mail Web Mensagem instantânea Login remoto PP file sharing Jogos de rede multiusuário Streaming stored videoclipes Telefonia via Internet Videoconferência em tempo real Computação paralela massiva DNS FTP Implementaremos algumas dessas aplicações? 005 by Pearson Education - 4 Adaptado por Társio Ribeiro Cavalcante Criando uma nova aplicação de rede Escrever programas que Executem sobre diferentes sistemas finais e se comuniquem através de uma rede. Ex.: Web software de servidor Web se comunicando com software do browser Nenhum software é escrito para dispositivos no núcleo da rede Dispositivos do núcleo da rede trabalham na camada de aplicação 005 by Pearson Education - 5 Adaptado por Társio Ribeiro Cavalcante.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico SMTP, POP3, IMAP.5 DNS 005 by Pearson Education - 6 Adaptado por Társio Ribeiro Cavalcante Arquiteturas de aplicação Cliente-servidor Peer-to-peer (PP) Híbrida de cliente-servidor e PP Arquitetura cliente-servidor Servidor: Hospedeiro sempre ativo Endereço IP permanente Fornece serviços solicitados pelo cliente Clientes: Comunicam-se com o servidor Podem ter endereço IP dinâmico Não se comunicam diretamente uns com os outros Arquitetura PP pura Não existe o papel do servidor Sistemas finais arbitrários comunicam-se diretamente Pares são intermitentemente conectados e trocam endereços IP Ex.: Gnutella Altamente escaláveis, mas difíceis de gerenciar 005 by Pearson Education - 7 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 8 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 9 Adaptado por Társio Ribeiro Cavalcante

Híbrida de cliente-servidor e PP Napster Transferência de arquivo PP Busca centralizada de arquivos: Conteúdo de registro dos pares no servidor central Consulta de pares no mesmo servidor central para localizar o conteúdo Instant messaging Bate-papo entre dois usuários é PP Detecção/localização centralizada de presença: Estudo de caso: OpenFire Usuário registra seu endereço IP com o servidor central quando fica on-line Usuário contata o servidor central para encontrar endereços IP dos vizinhos A partir daí qual o problema? Processos clientes e servidores Processo: programa executando num hospedeiro Dentro do mesmo hospedeiro: dois processos se comunicam usando comunicação interprocesso (definida pelos Sistemas Operacionais) Processos em diferentes hospedeiros se comunicam por meio de troca de mensagens Processo cliente: processo que inicia a comunicação Processo servidor: processo que espera para ser contatado Nota: aplicações com arquiteturas PP possuem processos cliente e processos servidor Sockets Um processo envia/recebe mensagens para/de seu socket Socket nada mais é que a interface entre a camada de aplicação e de transporte Analogia: Aeroporto (Processo) X Portão (Socket) 005 by Pearson Education - 10 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 11 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 1 Adaptado por Társio Ribeiro Cavalcante Endereçamento de processos Para um processo receber mensagens, ele deve ter um identificador Um hospedeiro possui um único endereço IP de 3 bits P.: O endereço IP do hospedeiro onde o processo está executando é suficiente para identificar o processo? R.: Não, muitos processos podem estar em execução no mesmo hospedeiro O identificador inclui o endereço IP e o número da porta associada ao processo no hospedeiro Exemplos de números de porta: Servidor HTTP: 80 Servidor de Correio: 5 (mais detalhes serão mostrados mais tarde) De qual serviço de transporte uma aplicação necessita? Transferência confiável de dados Algumas aplicações (ex.: áudio) podem tolerar alguma perda Outras aplicações (ex.: transferência de arquivos, telnet) exigem transferência de dados 100% confiável Temporização Algumas aplicações (ex.: telefonia Internet, jogos interativos) exigem baixos atrasos para serem efetivos Largura de banda Algumas aplicações (ex.: multimídia) exigem uma banda mínima para serem efetivas Outras aplicações ( aplicações s ) adapatam-se a realidades distintas Exemplos de requisitos de algumas aplicações Aplicação Perdas Banda Sensível ao atraso file transfer e-mail Web documents real-time áudio/vídeo stored áudio/vídeo jogos interativos e-business sem perda áudio: 5 Kb-1 Mb vídeo:10 Kb-5 Mb igual à anterior kbps sim, 100 mseg sim, segundos sim, 100 mseg sim 005 by Pearson Education - 13 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 14 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 15 Adaptado por Társio Ribeiro Cavalcante Serviços dos protocolos de transporte da Internet Serviço : Orientado à conexão: conexão requerida entre processos cliente e servidor Transporte confiável entre os processos de envio e recepção Controle de fluxo: o transmissor sobrecarrega o receptor Controle de congestionamento: protege a rede do excesso de tráfego Não oferece: garantias de temporização e de banda mínima Serviço UDP: Transferência de dados confiável entre os processos transmissor e receptor Não oferece: estabelecimento de conexão, confiabilidade, controle de fluxo e de congestionamento, garantia de temporização e de banda mínima Exemplos de aplicações X protocolos de transporte Aplicação e-mail acesso de terminais remotos Web transferência de arquivos streaming multimídia servidor de arquivos remoto telefonia Internet Protocolo de aplicação smtp [RFC 81] telnet [RFC 854] http [RFC 068] ftp [RFC 959] RTP ou proprietário (ex.: RealNetworks) NFS RTP ou proprietário (ex.: Vocaltec) Protocolo de transporte.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico.5 DNS 005 by Pearson Education - 16 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 17 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 18 Adaptado por Társio Ribeiro Cavalcante

Web e HTTP Primeiro alguns conceitos Página Web consiste de objetos Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de áudio, A página Web consiste de arquivo-html base, que inclui vários objetos referenciados Cada objeto é endereçado por uma URL Exemplo de URL: www.someschool.edu/somedept/pic.gif Visão geral do HTTP HTTP: hypertext transfer protocol Protocolo da camada de aplicação da Web Modelo cliente/servidor Cliente: browser que solicita, recebe e apresenta objetos da Web Servidor: envia objetos em resposta a pedidos HTTP 1.0: RFC 1945 HTTP 1.1: RFC 068 Visão geral do HTTP Utiliza : Cliente inicia conexão (cria socket) para o servidor na porta 80 Servidor aceita uma conexão do cliente Mensagens HTTP (mensagens do protocolo de camada de aplicação) são trocadas entre o browser (cliente HTTP) e o servidor Web (servidor HTTP) A conexão é fechada Nome do hospedeiro Nome do caminho 005 by Pearson Education - 19 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 0 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 1 Adaptado por Társio Ribeiro Cavalcante Conexões HTTP HTTP persistente No máximo, um objeto é enviado sobre uma conexão O HTTP/1.0 utiliza HTTP persistente HTTP persistente Múltiplos objetos podem ser enviados sobre uma conexão entre o cliente e o servidor O HTTP/1.1 utiliza conexões persistentes em seu modo padrão Definição de RTT: tempo para enviar um pequeno pacote que vai do cliente para o servidor e retorna Modelagem do tempo de resposta Tempo de resposta: Um RTT para iniciar a conexão Um RTT para requisição HTTP e primeiros bytes da resposta HTTP para retorno Tempo de transmissão de arquivo Round Trip Time Mensagem HTTP request Dois tipos de mensagens HTTP: request, response HTTP request message: ASCII (formato legível para humanos) Linha de pedido (comandos GET, POST, HEAD ) Linhas de cabeçalho GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr Total = RTT+ tempo de transmissão 005 by Pearson Education - Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 3 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 4 Adaptado por Társio Ribeiro Cavalcante Mensagem HTTP response HTTP response message: Linha de status (protocolo código de status frase de status) Dados, ex.: arquivo html Linhas de cabeçalho HTTP/1.0 00 OK Date: Thu, 06 Aug 1998 1:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, Jun 1998... Content-Length: 681 Content-Type: text/html data data data data data... Códigos de status das respostas Na primeira linha da mensagem de resposta servidor cliente. Alguns exemplos de códigos: 00 OK Requisição bem-sucedida, objeto requisitado a seguir nesta mensagem 301 Moved permanently Objeto requisitado foi movido, nova localização especificada a seguir nesta mensagem (Location:) 400 Bad request Mensagem de requisição compreendida pelo servidor 404 Not Found Documento requisitado encontrado neste servidor 505 HTTP version not supported Códigos de status das respostas Vamos verificar num analisador de pacotes????? Configurar duas máquinas virtuais, uma para ser o servidor web e outra para ser o cliente a acondicionar o Wireshark. Considere agora uma conexão entre o cliente A e o servidor B onde o primeiro solicita uma página web qualquer do último. Configurar o Wireshark para apenas capturar os protocolos e HTTP das máquinas em questão, efetue um print screen da captura e explique o que acontece nas etapas envolvidas. 005 by Pearson Education - 5 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 6 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 7 Adaptado por Társio Ribeiro Cavalcante

.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico.5 DNS 005 by Pearson Education - 8 Adaptado por Társio Ribeiro Cavalcante FTP: o protocolo de transferência de arquivos Transferência de arquivos de e para o computador remoto Modelo cliente servidor Cliente: lado que inicia a transferência (seja de ou para o lado remoto) Servidor: hospedeiro remoto FTP: RFC 959 FTP servidor: portas 0 e 1 005 by Pearson Education - 9 Adaptado por Társio Ribeiro Cavalcante FTP: controle separado, conexões de dados Cliente FTP contata o servidor FTP na porta 1 especificando o como protocolo de transporte Cliente obtém autorização pela conexão de controle Cliente procura o diretório remoto enviando comandos pela conexão de controle Quando o servidor recebe um comando para uma transferência de arquivo, ele abre uma conexão de dados para o cliente Após a transferência de um arquivo, o servidor fecha a conexão Servidor abre uma segunda conexão de dados para transferir outro arquivo Conexão de controle: fora da banda 005 by Pearson Education - 30 Adaptado por Társio Ribeiro Cavalcante.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico.5 DNS Correio eletrônico Três componentes principais: Agentes de usuário Servidores de correio Simple mail transfer protocol: SMTP Agente de usuário leitor de correio Composição, edição, leitura de mensagens de correio Ex.: Eudora, Outlook Correio eletrônico: servidores de correio Servidores de correio Caixa postal contém mensagens que chegaram para o usuário Fila de mensagens contém as mensagens de correio a serem enviadas Protocolo SMTP permite aos servidores de correio trocarem mensagens entre si 005 by Pearson Education - 31 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 3 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 33 Adaptado por Társio Ribeiro Cavalcante Correio eletrônico: SMTP [RFC 81] Usa para transferência confiável de mensagens de correio do cliente ao servidor, porta 5 Cenário: Alice envia mensagem para Bob 1) Alice usa o agente de usuário (UA) para compor a mensagem para bob@someschool.edu ) O agente de usuário dela envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens. 3) O lado cliente do SMTP abre uma conexão com o servidor de correio do Bob. 4) O cliente SMTP envia a mensagem de Alice pela conexão. 5) O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob. 6) Bob invoca seu agente de usuário para ler a mensagem. Protocolos de acesso ao correio SMTP: entrega e armazena no servidor do destino Protocolo de acesso: recupera mensagens do servidor POP: Post Office Protocol [RFC 1939] Autorização (agente <-->servidor) e download IMAP: Internet Mail Access Protocol [RFC 1730] Mais recursos (mais complexo) Manipulação de mensagens armazenadas no servidor HTTP: Hotmail, Yahoo! Mail etc. 005 by Pearson Education - 34 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 35 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 36 Adaptado por Társio Ribeiro Cavalcante

.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico.5 DNS DNS: Domain Name System Internet hospedeiros, roteadores: Endereços IP (3 bits) - usados para endereçar datagramas nome, ex.: teste.edu.br - usados por humanos Como Relacionar nomes com endereços IP? Domain Name System: Base de dados distribuída implementada numa hierarquia de muitos servidores de nomes Protocolo de camada de aplicação. Hospedeiros, roteadores se comunicam com servidores de nomes para resolver nomes (translação nome/endereço) Nota: função interna da Internet, implementada como protocolo da camada de aplicação DNS Por que centralizar o DNS? Ponto único de falha Volume de tráfego Base centralizada de dados distante Manutenção 005 by Pearson Education - 37 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 38 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 39 Adaptado por Társio Ribeiro Cavalcante Base de dados distribuída, hierárquica DNS: armazenando e atualizando registros DNS: Registrando domínios Funcionamento Uma vez que um servidor de nomes apreende um mapeamento, ele armazena o mapeamento num registro do tipo cache Registros do cache tornam-se obsoletos (desaparecem) depois de um certo tempo Como registrar o seu domínio? Quais os custos envolvidos? Uma vez resolvidas as pendências de aquisição do domínio o site já está pronto para ser disponibilizado? 005 by Pearson Education - 40 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 41 Adaptado por Társio Ribeiro Cavalcante 005 by Pearson Education - 4 Adaptado por Társio Ribeiro Cavalcante.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio eletrônico.5 DNS 005 by Pearson Education - 43 Adaptado por Társio Ribeiro Cavalcante