IPTV Televisão sobre a Internet

Tamanho: px
Começar a partir da página:

Download "IPTV Televisão sobre a Internet"

Transcrição

1 Redes de Computadores Redes de Computadores Camada Aplicação 1

2 Introdução às Redes de Computadores e Internet Revisão A Internet Protocolos Estrutura da da rede rede A periferia periferia da da rede rede O núcleo núcleo da da rede rede Redes Redes de de Acesso Acesso e Meio Meio Fisico Fisico Desempenho: atraso atraso e perda perda Camadas de de protocolos e modelos de de serviço serviço TCP/IP TCP/IP e OSI OSI Estrutura da da Internet e ISPs ISPs 2 Camada de Aplicação

3 Camada Aplicação Segue Capitulo 2 do livro de J.F Kurose e K.W. Ross Princípios e caracteristicasdos dos protocolos da da camada de de aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer TransferProtocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simpl MailTransfer TransferProtocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain DomainName NameSystem Systemprotocol Partilha de de Ficheiros Peer-to-Peer (P2P) (P2P) Objectivos: Objectivos: Adquirir Adquirir os os conceitos conceitos e aspectos aspectos de de implementação implementação dos dos protocolos protocolos de de aplicação aplicação em em rede, rede, através através do do estudo estudo de de protocolos protocolos populares populares da da camada camada aplicação. aplicação. 3 Camada de Aplicação

4 Algumas aplicações distribuidas Web Instant messaging Login remoto Partilha de ficheiros P2P Jogos de rede multi-utilizador Vídeo-clips Voz sobre IP Vídeo-conferência em tempo real Computação paralela em larga escala IPTV, MobileTV Redes Sociais (FaceBook, Hi5, LinkedIn) VoIP Mobile IM w/ Presence Picture Share Call N Share Ringback Tones Mobile & IPTV Rich Media IM Multiplayer Gaming Network Address Book Mobile Conferencing Video Surveillance Remote Monitoring 4 Camada de Aplicação

5 IPTV Televisão sobre a Internet Still Today Already Today I have 100 channels, but nothing to watch High frustration with broadcast TV Demand for better TV My choice on TV My TV, My IM My cell phone IPTV will change the user TV experience from passive zapping to active browsing 5 Camada de Aplicação

6 Aplicações em Telemóveis... Edge Gateway... New Multimedia Computer Applicações: Segurança: telemóvel como como chave chave Saúde: Saúde: mediar mediar comunicações com com dispositivos pessoais de de saúde saúde Entretenimento: MobileTV, jogos jogos 6 Camada de Aplicação

7 Open Internet Novas Applicações... focus na Conectividade Social YouTube Video Sharing Flickr Photo Sharing Wikipedia Colaborative encyclopedia LinkedIn Business Connections 7 Camada de Aplicação

8 Open Internet Novas Applicações... focus na Conectividade Social SecondLife Virtual Worlds Trust+Plus Colaborative Trust Twitter Where and What are you doing? MySpace Personal space 8 Camada de Aplicação

9 Criando uma aplicação distribuida Aplicações distribuídas programas que executam em diferentes sistemas terminais necessitam trocar mensagens através da rede para fornecerem o resultado para que foram desenhadas E.g., , transferência de ficheiros Web: servidor Web (Apache, Microsoft) envia página Web (documento HTML) requisitada pelo navegador (browser-internet Explorer) através de uma troca de mensagens (HTTP) Dispositivos do núcleo da rede não executam aplicações de utilizadores Protocolos da camada de aplicação são partes integrantes de uma aplicação distribuída definem as mensagens a trocar e as acções que resultam dessas mensagens usam serviços de comunicação fornecidos pelas entidades das camadas de protocolo inferiores aplicação transporte rede ligação física aplicação transporte rede ligação física aplicação transporte rede ligação física 9 Camada de Aplicação

10 Protocolos da Camada de Aplicação o que definem? Aplicação Distribuida Protocolo de Camada Aplicação Aplicação Distribuida Tipos de mensagens trocadas eg mensagens de pedido e resposta Sintaxe dos tipos das mensagens campos presentes nas mensagens e como são identificados Semântica dos campos significado da informação nos campos Regras para quando os processos enviam e respondem às mensagens Protocolos de de domínio público: definidos em em RFCs RFCs Permitem a interoperação ex, ex, HTTP HTTP e SMTP SMTP Protocolos proprietários: Ex., Ex., KaZaA, Skype Skype 10 Camada de Aplicação

11 Processos em comunicação - Endereçamento de processos Processo porto Canal de comunicação porto Processo: programa que é executado numa máquina processos na mesma máquina comunicam (típicamente) usando comunicação entre processos (interprocess communication) do sistema operativo (SO) Processos que se executam em máquinas diferentes comunicam através de um protocolo da camada de aplicação, trocando mensagens através da rede Processo Processo servidor: processo que espera para ser contactado Processo cliente: processo que inicia a comunicação Faz a interface com o utilizador acima e com a rede abaixo implementa protocolos nível de aplicação Ex. WWW: browser, leitor de correio, audio/video: media player Aplicações com arquitecturas P2P possuem processos clientes e processos servidores Para Para o processo processo receber receber mensagens, mensagens, precisa precisa de de um um identificador identificador endereço IP único de 32 bits do host endereço IP único de 32 bits do host e número do porto associado com o e número do porto associado com o processo processo na na máquina máquina e.g. Servidor HTTP: porto 80 e.g. Servidor HTTP: porto 80 Servidor de Correio: porto 25 Servidor de Correio: porto Camada de Aplicação

12 Sockets Cliente processo socket TCP com buffers, variáveis Ou UDP controlado pelo programador da aplicação Internet Controlado pelo SO Servidor processo socket TCP com buffers, variáveis Os processos enviam /recebem mensagens para /de outros processos através dos seus sockets Um socket corre no sistema terminal e é análogo a uma porta entre os processos da aplicação e o protocolo de transporte O processo que envia empurra a mensagem para fora da porta assume que a infraestrutura de transporte do outro lado da porta leva a mensagem até ao socket do processo que a recebe Protocolo de transporte: transferência de bytes de um processo para outro socket API (Interface de Programação da Aplicação) Permite escolher o protocolo de transporte E definir alguns parâmetros Tamanho buffers e segmentos do TCP 12 Camada de Aplicação

13 Sockets com Ligação Servidor Cliente socket Servidor Cliente bind Socket Escuta 3-way handshake listen accept socket connect Socket Ligação bytes bytes Socket Cliente read write write read 13 Camada de Aplicação

14 Sockets Stream em Java (Cliente) WriteUTF / readutf para Universal transfer format / para as cadeias de caracteres import java.net*; import java.io*; public class TCPClient{ public static void main(string args[]){ // args: message and destin. hostname Socket s = null; try{ } int server Port = 7896; s = new Socket (args[1], serverport); DataInputStream = new DataInputStream(s.getInputStream()); DataOutputStream out = newdataoutputstream (s.getoutputstream()); out.writeutf(args[0]); String data = in.readutf(); System.out.prtintln( Received: + data); }catch (UnknownHostException e){ classe Socket suporta o socket cliente. Argumentos: nome DNS do servidor e o porto. Construtor não só cria o socket como efectua a ligação TCP Métodos getinputstream / getoutputstream permitem aceder aos dois streams definidos pelo socket System.out.println( Sock: + e.getmessage()); }catch (EOFException e){system.out.println( EOF: e.getmessage()); }catch (IOException e){system.out.println( IO: e.getmessage()); }finally {if(s!=null) try{s.close();}catch (IOException e} 14 Camada de Aplicação

15 Sockets Stream em Java (Servidor) import java.net*; import java.io*; public class TCPServer{ public static void main(string args[]){ try{ int server Port = 7896; } } Cria socket servidor que fica à escuta no porto serverport Bloqueia até cliente estabelecer ligação. ServerSocket listensocket = new ServerSocket(serverPort); while(true){ Socket connectionsocket = listensocket.accept(); myconnection c = new myconnection(connectionsocket); } }catch (IOException e){system.out.println( Listen: +e.getmessage());} Cria novo socket servidor com quem é estabelecida ligação com o cliente e onde os dados são recebidos 15 Camada de Aplicação

16 Sockets Stream em Java Socket classe que suporta o socket cliente e que tem como argumentos a identificação remota do servidor: o nome DNS do servidor e o porto O construtor não só cria o socket como efectua a ligação Métodos getinputstream; getoutputstream permite aceder aos dois streams definidos pelo socket ServerSocket classe para o servidor Métodos Accept Recebe um socket cliente sempre que é invocado o connect WriteUTF e readutf Universal Transfer Format para as cadeias de caracteres 16 Camada de Aplicação

17 Sockets sem Ligação Servidor Cliente socket socket bind bind recvfrom sendto sendto recvfrom 17 Camada de Aplicação

18 Sockets UDP em Java (Cliente) import java.net*; import java.io*; public class UDPClient{ public static void main(string args[]){ // args give message contents and server hostname DatagramSocket asocket = null; try { asocket = new DatagramSocket(); byte [] m = args [0].getBytes(); InetAddress ahost = InetAddress.getByName(args[1]); Int serverport = 6789; DatagramPacket request = new DatagramPacket(m, args[0].length(), ahost, serverport); asocket.send(request); byte[]buffer = new byte[1000]; DatagramPacket reply = new DatagramPacket(buffer, buffer.length); asocket.receive(reply); System.out.println( Reply: + new String(reply.getData())); } catch (SocketException e){system.out.println( Socket: + e.getmessage()); } catch (IOException e){system.out.println( IO: + e.getmessage()); } finally { if(asocket! = null) asocket.close();} } } Constrói um socket datagram (associado a qualquer porto disponível) Conversão do nome DNS para endereço IP Cada mensagem enviada tem que levar junto identificador do processo destino: IP e porto 18 Camada de Aplicação

19 Sockets UDP em Java (Servidor) import java.net*; import java.io*; public class UDPServer{ public static void main(string args[]){ DatagramSocket asocket = null; try{ asocket = new DatagramSocket(6789); byte[] buffer = new byte [1000]; while(true){ DatagramPacket request = new DatagramPacket(buffer, } } buffer.legth); asocket.receive(request); Constrói um socket datagram (associado ao porto 6789) Recebe mensagem DatagramPacket reply = new DatagramPacket(request.getData(), request.getlength(); request.getaddress(), request.getport()); asocket.send(reply); } } catch (SocketException e){system.outprintln( Socket: + e.getmessage()); } catch (IOException e){system.out.println( IO: + e.getmessage()); } finally {if(asocket! = null) asocket.close();} Extrai da mensagem o IP e porto do processo origem para responder 19 Camada de Aplicação

20 Sockets Datagram em Java DatagramSocket classe que suporta os sockets datagram e que tem como argumento um porto Métodos send; receive setsotimeout temporizador que limita o tempo de espera do receive connect define um porto remoto Conversão do nome DNS para um endereço Internet com o método InetAddress.getByName 20 Camada de Aplicação

21 Serviços fornecidos pelos protocolos de transporte Internet (recapitular) Serviço TCP: com ligação: inicialização requerida entre cliente e servidor transporte fiável entre processos remetente e receptor controlo do fluxo: remetente não vai inundar receptor controlo de congestão: bloqueio do remetente quando a rede está carregada não oferece: garantias temporais ou de banda mínima Serviço UDP: transferência de dados não fiável entre processos remetente e receptor não oferece: estabelecimento da ligação, fiabilidade, controlo do fluxo, controlo do congestão, garantias temporais ou de banda mínima Protocolo leve 21 Camada de Aplicação

22 De que serviços de transporte necessita uma aplicação? Perdas de dados algumas aplicações (e.g. áudio) toleram perdas de informação outras (eg transferência de ficheiros, telnet) requerem transferências 100% fiáveis Temporização algumas aplicações (e.g., telefone sobre a internet - VoIP, jogos interactivos) exigem um pequeno atraso extremo a extremo aproximadamente constante durante a sua execução Requisitos sobre os serviços de transporte Largura de banda algumas aplicações (eg aplicações multimedia) requerem um ritmo mínimo de transferência de informação para funcionarem adequadamente outras aplicações conseguem usar qualquer largura de banda disponível em cada instante Eg. Aplicações elásticas como transferência de ficheiros 22 Camada de Aplicação

23 Requisitos sobre o Serviço de Transporte de Aplicações Comuns A Internet de hoje ainda não dá garantias de Banda e Sensibilidade Temporal Largura de Perdas Banda intolerante elástica intolerante elástica intolerante elástica Aplicação transferência ficheiros Correio electrónico documentos Web áudio/vídeo de tempo real videoconferência áudio/vídeo gravado jogos interativos Mensagem Instantânea aplicações financeiras tolerante tolerante tolerante intolerante sem perdas intolerante áudio: 5Kb-1Mb vídeo:10kb-5mb como anterior > alguns Kbps elástica elástica Sensibilidade temporal a atrasos não não não sim, 100 s mseg sim, alguns segs sim, 100 s mseg sim e não Camada de Aplicação

24 Aplicações Internet: protocolos de aplicação e de transporte Aplicação Internet correio electrónico acesso em terminal remoto Web transferência de ficheiros streaming multimedia servidor de ficheiros remoto Telefone sobre Internet Protocolo da camada de aplicação SMTP [RFC 2821] telnet [RFC 854], ssh HTTP [RFC 2616] FTP [RFC 959] HTTP(ex. YouTube), RTP NFS Proprietários (Skype) Protocolo de transporte usado TCP TCP TCP TCP TCP ou UDP TCP ou UDP tipicamente UDP 24 Camada de Aplicação

25 Camada Aplicação - Revisão Princípios e caracteristicasdos dos protocolos da da camada de de aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer TransferProtocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simpl MailTransfer TransferProtocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain DomainName NameSystem Systemprotocol Partilha de de Ficheiros Peer-to-Peer (P2P) (P2P) Aplicações Distribuidas Processos Programação de de aplicações de de Rede (API (API dos dos Sockets) Requisitos sobre os os serviços de de transporte 25 Camada de Aplicação

26 Web (ou www World Wide Web) Página Web (Web page) é constituida por objectos Objecto pode ser um ficheiro HTML (que referencia outros objectos), imagem JPEG, vídeo-clip, ficheiro de áudio, Cada objecto é endereçado por um URL Se pagina Web tiver texto HTML mais n objectos referenciados (eg imagens), então o número total de objectos é n+1 Um URL (Uniform Resource Locator) tem duas componentes: host name e path name nome da máquina host / servidor nome do caminho 26 Camada de Aplicação

27 Protocolo HTTP HyperText Transfer Protocol protocolo de transferência de hipertexto Protocolo da da camada de de aplicação da da Web Web HTTP HTTP 1.0: 1.0: RFC RFC 1945, 1945, HTTP HTTP 1.1: 1.1: RFC RFC Modelo Cliente/Servidor browser é o agente de utilizador Web, ou cliente HTTP MS Internet Explorer, Netscape Navigator, Mozilla Firefox, Google Chrome pede, recebe, mostra objectos Web O servidor Web chama-se Web Server eg. Apache, MS Internet Information Server Implementa lado servidor do HTTP envia objectos www em resposta a pedidos PC executa Explorer Mac executa Navigator pedido http resposta http pedido http resposta http Servidor Web (ex. IST) 27 Camada de Aplicação

28 Protocolo HTTP (cont.) Usa Usa serviço de de transporte TCP TCP cliente cliente inicia inicia ligação ligação TCP TCP (cria (cria um um socket) socket) com com o servidor no no porto porto servidor aceita aceita ligação ligação TCP TCP do do cliente cliente mensagens HTTP HTTP (mensagens do do protocolo da da camada de de aplicação) trocadas entre entre browser (cliente (cliente HTTP) HTTP) e o WebServer (servidor HTTP) HTTP) Encerramento da da ligação ligação TCP TCP HTTP não mantem estado servidor não mantém informação sobre pedidos anteriores do cliente Protocolos que mantêm estado são complexos! Nota história passada (estado) tem que ser guardada Caso o servidor ou o cliente vá abaixo, as visões do estado destes podem ficar inconsistentes, e devem portanto ser sincronizadas 28 Camada de Aplicação

29 Ligações HTTP HTTP não persistente O servidor interpreta o pedido, responde e fecha a ligação TCP No máximo um objecto é enviado numa ligação TCP Mas, na maioria dos casos, usam-se várias ligações TCP em paralelo Ineficiente Cada transferência é sujeita ao período slow start do TCP Com paralelismo consegue-se aumentar eficiência HTTP/1.0 usa HTTP não persistente HTTP persistente Múltiplos objectos podem ser enviados sobre 1 única ligação TCP entre cliente e servidor na mesma ligação TCP o servidor responde a vários pedidos o cliente envia pedidos para todos os objectos referenciados na mesma página de base HTTP/1.1 usa ligações persistentes no seu modo default 29 Camada de Aplicação

30 HTTP com ligação não persistente Exemplo: Utilizador introduz o URL: 1a. Cliente http inicia ligação TCP ao servidor http (processo) na Porta 80, padrão para servidor http. 2. cliente http envia mensagem de pedido de http (incluindo o URL) através do tempo socket da ligação TCP 1b. servidor http no host espera por ligação TCP na porta 80. aceita ligação, avisando o cliente 3. servidor http recebe mensagem de pedido, elabora a mensagem de resposta contendo o objecto solicitado e envia mensagem via socket 30 Camada de Aplicação

31 Exemplo de HTTP não persistente (cont.) 5. cliente http recebe mensagem de resposta a qual contem o ficheiro html, mostra html. No ficheiro html, encontra referências para n objectos jpeg 4. servidor http encerra ligação TCP tempo 6. passos 1 a 5 repetidos para cada um dos n objectos jpeg 31 Camada de Aplicação

32 Modelo do tempo de resposta RTT RTT (Round (RoundTrip TripTime) Time) intervalo de tempo entre intervalo de tempo entre a ida ida e a volta volta de de um um pacote pacote (tamanho (tamanho pequeno) pequeno) entre entre um um cliente cliente e um um servidor servidor Tempo Tempo de de resposta: resposta: um RTT para iniciar um RTT para iniciar a ligação ligação TCP TCP um um RTT RTT para para o pedido pedido HTTP HTTP e o retorno retorno dos dos primeiros primeiros bytes bytes da da resposta resposta HTTP HTTP O RTT RTT inclui inclui os os atrasos atrasos d, d d proc queue, Tempo total = 2RTT + tempo de transmissão prop Tempo total = 2RTT + tempo de transmissão do ficheiro Iniciar a ligação TCP RTT pedir ficheiro RTT ficheiro recebido tempo tempo tempo para transmitir o ficheiro 32 Camada de Aplicação

33 HTTP não persistente Problemas requer 2 RTTs para cada objecto SO aloca recursos do do host para cada ligação TCP o browser abre com frequência ligações TCP paralelas para recuperar os os objectos referenciados 33 Camada de Aplicação

34 HTTP com ligação persistente HTTP persistente o servidor deixa a ligação aberta após enviar a resposta As mensagens HTTP seguintes entre o mesmo cliente/servidor são enviadas nesta ligação Persistente sem pipelining (paralelismo): o cliente envia um novo pedido apenas quando a resposta anterior tiver sido recebida um RTT para cada objecto referenciado Persistente com pipelining default no HTTP/1.1 o cliente envia os pedidos logo que encontra um objecto referenciado pode ser necessário apenas um RTT para todos os objectos referenciados 34 Camada de Aplicação

35 Formato de mensagem HTTP: pedido Dois tipos de mensagem HTTP: pedido (request), resposta (response) linha do pedido (comandos GET, POST, HEAD, PUT, DELETE) GET /somedir/page.html HTTP/1.1 linhas do cabeçalho Host: Connection: close User-agent: Mozilla/4.0 Accept-language:fr linha em branco (carriage return, line feed) indica o fim do cabeçalho (caracteres adicionais de carriage return - CR, line feed - LF) ASC ASC II II --American AmericanStandard Code Codefor for Information InformationInterchange InterchangeII II caracteres caracteres codificados codificados em em 88 bits bits (formato (formato legível legível por por pessoas) pessoas) 35 Camada de Aplicação

36 Mensagem de pedido HTTP formato geral Linha de pedido (request line) Linhas do Cabeçalho (header lines) Linha em branco Corpo da mensagem (entity body) 36 Camada de Aplicação

37 Formato de mensagem HTTP: pedido Método URL Versão HTTP GET /somedir/page.html HTTP/1.1 Host: Connection: close User-agent: Mozilla/4.0 Accept-language:fr Sistema terminal em que os objectos residem Não utilizar ligações persistentes Tipo de browser O cliente prefere obter a versão francesa do objecto 37 Camada de Aplicação

38 Tipos de métodos HTTP/1.0 GET GET Utilizador Utilizador pede pede um um objecto objecto ou ou envia envia formulário formulário no no campo campo URL URL da da linha linha de de pedido pedido POST POST Utilizador Utilizador introduz introduz dados dados na na página página web webpreenchendo formulário formulário Dados Dados enviados enviados no no corpo corpo da da mensagem mensagem HEAD HEAD Pede Pede ao ao servidor servidor para para não não incluir incluir o objecto objecto na na resposta resposta HTTP/1.1 GET, GET, POST, POST, HEAD HEAD PUT PUT Envio Envio (Upload) (Upload) de de ficheiro ficheiro no no corpo corpo da da mensagem mensagem para para o caminho caminho especificado especificado no no campo campo URL URL DELETE Apaga Apaga do do servidor servidor Web Web ficheiro ficheiro especificado especificado no no campo campo URL URL 38 Camada de Aplicação

39 Mensagem HTTP de resposta formato linha de estado (protocolo, código de estado, frase descritiva do estado) HTTP/ OK Connection: close data em que resposta foi criada no servidor Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) servidor que gerou a Last-Modified: Mon, 22 Jun resposta linhas de cabeçalho Content-Length: 6821 Content-Type: text/html dados dados dados dados... data em que objecto foi criado ou modificado número de bytes do objecto dados, eg ficheiro html (ou imagem, etc) pedido tipo de objecto 39 Camada de Aplicação

40 Códigos de estado da resposta HTTP Na primeira linha da mensagem de resposta servidor->cliente 200 OK Alguns códigos típicos sucesso, objecto pedido segue mais adiante nesta mensagem 301 Moved Permanently objecto pedido mudou de lugar, nova localização especificada mais adiante nesta mensagem (cabeçalho Location:) 400 Bad Request mensagem de pedido não entendida pelo servidor 404 Not Found objecto pedido não foi encontrado neste servidor 505 HTTP Version Not Supported versão de http do pedido não usada por este servidor 40 Camada de Aplicação

41 Analisador de Pacotes de Rede Wireshark Captura HTTP 41 Camada de Aplicação

42 Interacção utilizador/servidor: Autenticação cliente servidor tempo msg pedido http 401 authorization req www authenticate msg pedido http authorization <cred> resposta normal http msg pedido http authorization <cred> resposta normal http Autenticação: Autenticação: controlo controlode de acesso acessoaos aos documentos documentosno no servidor servidor Credenciais Credenciaisde de Autorização: Autorização: tipicamente tipicamente nome nome (username) (username) e senha senha (password) (password) na nalinha linhado do cabeçalho cabeçalhodo do pedido pedido Sem Semestado estado (stateless): (stateless): o cliente cliente apresenta apresentaautorização autorizaçãoem emcada cadapedido Linha de cabeçalho Authorization em Linha de cabeçalho Authorization em cada cada pedido pedido Sem cabeçalho Authorization, o servidor Sem cabeçalho Authorization, o servidor recusa recusa o o acesso, acesso, e e responde responde com com o o cabeçalho cabeçalho www www authenticate authenticate o browser browser memoriza memoriza a autorização, autorização, repetindo-a repetindo-a a cada cadapedido 42 Camada de Aplicação

43 Cookies: manutenção do estado da ligação Permitem que sites identifiquem e monitorizem os seus utilizadores Vários sites Web usam cookies Quatro componentes: 1. linha de cabeçalho do cookie na mensagem de resposta HTTP Set-cookie: linha de cabeçalho do cookie na mensagem de pedido HTTP Cookie: ficheiro de cookies mantido na máquina do utilizador e gerido pelo browser deste armazenado no disco rígido com dados do utilizador 4. Base de Dados (BD) de apoio no site Web Exemplo: Ana Ana surfa surfa na na Internet Internet sempre sempre do do mesmo mesmo PC PC Ela Ela visita visita um um site site específico específico de de comércio comércio electrónico electrónico pela pela primeira primeira vez vez Quando Quando os os pedidos pedidos iniciais iniciais HTTP HTTP chegam chegam ao ao site site Web, Web, este este cria cria um um identificador identificador (ID) (ID) único único e cria cria também também uma uma entrada entrada para para o ID ID na na sua sua Base Base de de Dados Dados 43 Camada de Aplicação

44 Cookies: manutenção do estado (cont.) cliente ficheiro de Cookies Host - ID ebay: 8734 ficheiro de Cookies amazon: 1678 ebay: 8734 cliente apresenta cookie em futuras mensagens request uma semana depois: ficheiro de Cookies amazon: 1678 ebay: 8734 msg pedido http resposta http + Set-cookie: 1678 msg pedido http cookie: 1678 resposta http msg pedido http cookie: 1678 resposta http servidor servidor cria o ID 1678 e envia ao utilizador servidor valida o cookie Acção específica do cookie acção específica do cookie entrada na BD de apoio acesso acesso 44 Camada de Aplicação

45 Cookies (continuação) O que os cookies podem fazer: Autorização após armazenar o registo da pessoa Registo da lista de compras no E-commerce Sugestões recomendar produtos estado da sessão do utilizador (Web ) identificação do utilizador Cookies armazenam coisas que utilizador acedeu, e também info este nunca viu Nota Cookies e privacidade: cookies permitem que os sites aprendam muito sobre o utilizador mecanismos de busca usam redirecionamento e cookies para aprender ainda mais sobre utilizador agências de publicidade obtêm perfil de utilizadores a partir dos sites visitados e oferecem a estes produtos de forma agressiva (eg DoubleClick) 45 Camada de Aplicação

46 Cache Web (servidor proxy) Objectivo: satisfazer o pedido de um cliente sem envolver o servidor origem O utilizador configura o browser para aceder a web via web cache Todos os pedidos http são enviados à web cache se o objecto existe na web cache o pedido é imediatamente satisfeito caso contrário a web cache cria ligação TCP com o servidor origem, consulta este, e memoriza o objecto retornado na resposta (para futura utilização) e responde ao pedido do cliente na ligação TCP que tinha com este cliente pedido http resposta http pedido http resposta http Servidor proxy Servidor de origem pedido http resposta http pedido http resposta http cliente Servidor de origem 46 Camada de Aplicação

47 Caches Web Quais as vantagens da Web Cache? Cache actua tanto como cliente quanto como servidor Guarda as suas próprias cópias dos objectos no seu próprio sistema de armazenamento Tipicamente a cache é instalada por um ISP (universidade, empresa, ISP residencial) Redução do do tempo tempo de de resposta para para os os pedidos do do cliente cliente Redução do do tráfego tráfego no no canal canal de de acesso acesso de de uma uma instituição A Internet cheia cheia de de caches caches permitem que que provedores de de conteúdo pobres efectivamente forneçam conteúdo!!!!! 47 Camada de Aplicação

48 Exemplo de cache Servidores de origem Hipóteses Tamanho médio dos objectos = 100k bits Taxa média de solicitações dos browsers de uma instituição para os servidores originais = a = 15/seg Atraso do roteador institucional para qualquer servidor origem e de volta ao roteador = 2seg Consequências Utilização da LAN = al/r = 15/seg x 100Kb / 10Mbps=15% Utilização do canal de acesso = 15 / seg x 100Kb x / 1,5Mbps = 100% Atraso total = atraso da Internet + atraso de acesso + atraso na LAN = 2 seg + minutos (100%) + milisegundos (15%) Rede da instituição Internet pública ligação de acesso 1,5 Mbps LAN 10 Mbps 48 Camada de Aplicação

49 Exemplo de cache - Solução de Upgrade Servidores de origem Solução Potencial Aumento da largura de banda do canal de acesso para, por exemplo, 10 Mbps Internet pública Consequências Utilização da LAN = 15% Utilização do canal de acesso = 15% Atraso total = atraso da Internet + atraso de acesso + atraso na LAN = 2 seg + msegs + msegs Frequentemente esta é uma ampliação cara Requer upgrade da ligação da instituição à internet Rede da instituição ligação de acesso 10 Mbps LAN 10 Mbps 49 Camada de Aplicação

50 Exemplo de cache - Uso de uma Web Cache Servidores de origem Instalação de uma cache Assumir que a taxa de reutilização seja de 0,4 (tipicamente entre 0,2 e 0,7) Internet pública Consequências 40% dos pedidos serão atendidos quase imediatamente 60% dos pedidos serão servidos pelos servidores de origem Utilização do canal de acesso é reduzido para 60%, resultando em atrasos desprezíveis e.g. 0,01 segs Atraso total = atraso da Internet + atraso de acesso + atraso na LAN = 0,6 x 2 seg + 0,6 x 0,01 segs + 0,4 x 0,01seg < 1,3 segs Rede da instituição ligação de acesso 1,5 Mbps LAN 10 Mbps cache institucional 50 Camada de Aplicação

51 Interacção utilizador/servidor: GET condicional cliente msg de pedido http If-modified-since: <date> resposta http HTTP/ Not Modified msg de pedido http If-modifiedsince: <date> resposta http HTTP/ OK <data> servidor Objecto não modificado Objecto modificado Objectivo: evitar evitar a transmissão de de um um objecto objecto que que existe existe memorizado no no cliente cliente (na (na cache) cache) Cliente: especifica a data data da da cópia cópia que que possui possui na na mensagem request request If-modified-since: If-modified-since: <date> <date> Servidor: a resposta não não inclui inclui o objecto objecto se se o cliente cliente o tem tem actualizado HTTP/1.0 HTTP/ Not Not Modified Modified 51 Camada de Aplicação

52 A Web e o HTTP - Revisão Princípios e caracteristicas dos dos protocolos da da camada de de aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer Transfer Protocol Protocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simple Mail Mail Transfer Transfer Protocol, Protocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain Domain Name Name System System protocol protocol Partilha de de Ficheiros Peer-to-Peer (P2P) (P2P) 52 Camada de Aplicação A Web Web e o Protocolo HTTP Modelo do do tempo de de resposta HTTP persistente e não não persistente Formato de de mensagens HTTP Pedido Pedido Resposta Cookies Web Web Caches GET GET Condicional

53 Transferência de ficheiros - FTP [RFC 959] Utilizador na máquina Interface cliente FTP do FTP utilizador sistema de ficheiros local transferência do ficheiro Servidor FTP sistema de ficheiros remoto Transferência de de ficheiros de/para um um computador remoto Modelo cliente/servidor cliente: cliente: inicia inicia a transferência servidor: computador remoto remoto (Servidor ftp: ftp: porto porto 21) 21) 53 Camada de Aplicação

54 Separação das ligações de dados e de controlo Ligação de controlo TCP, porto 21 O cliente FTP contacta o servidor FTP especificando o protocolo de transporte TCP e o porto 21 São criadas ligações TCP em paralelo out of band control : controlo: troca de comandos e respostas entre o cliente e o servidor. Persistente sempre aberta durante a sessão do utilizador. Envio de informação de autorização Consulta da directoria remota Envio de comandos put e get dados: transferência de dados (ficheiros) entre o cliente e o servidor. Uma ligação TCP por cada ficheiro a enviar o cliente FTP após a transmissão de um ficheiro o servidor fecha a ligação O servidor FTP mantém o estado em cada sessão identificação do utilizador, directoria actual limite do nº de sessões paralelas Ligação de dados TCP, porto 20 servidor FTP 54 Camada de Aplicação

55 FTP: Comandos e Respostas CR e LF terminam cada comando Comandos enviados em texto ASCII (7- bit) pelo canal de controlo USER nome PASS senha LIST (envia a lista de ficheiros da directoria actual) RETR filename cliente lê (get) ficheiro do servidor STOR filename - o cliente escreve (put) o ficheiro no servidor, o qual o armazena Respostas Inclui um código e frase de status (como no http) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file 55 Camada de Aplicação

56 Wireshark Captura FTP 56 Camada de Aplicação

57 Transferência de Ficheiros - Revisão Princípios e caracteristicas dos dos protocolos da da camada de de aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer Transfer Protocol Protocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simple Mail Mail Transfer Transfer Protocol, Protocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain Domain Name Name System System protocol protocol Partilha de de Ficheiros Peer-to-Peer (P2P) (P2P) Separação das das ligações no no FTP FTP Controlo Dados Dados FTP: Comandos e Respostas 57 Camada de Aplicação

58 Correio Electrónico fila de mensagens de saída caixa de correio (mailbox)do utilizador Três componentes principais agentes de utilizador servidores de correio protocolo de transferência de mensagens SMTP - Simple Mail Transfer Protocol Servidor de mensagens SMTP agente de utilizador SMTP Servidor de mensagens agente de utilizador agente de utilizador Agente de Utilizador Interface para compor, modificar e ler mensagens de correio electrónico leitor de mensagens (mail reader) e.g. Eudora, Outlook, elm, Netscape Messenger Mensagens que chegam ou a ser enviadas são armazenadas no servidor Servidor de mensagens agente de utilizador SMTP agente de utilizador agente de utilizador 58 Camada de Aplicação

59 Servidor de Correio Electrónico Componentes Caixa do correio ( Mailbox ) que contém as mensagens do utilizador ainda não lidas Fila de mensagens de saída para as que ainda não foram enviadas Implementação do protocolo SMTP (push- envio de mensagem) para comunicação entre servidores: cliente: aquele que envia mensagens servidor: aquele que recebe Servidor de mensagens SMTP Servidor de mensagens agente de utilizador agente de utilizador SMTP SMTP agente de utilizador Servidor de mensagens agente de utilizador agente de utilizador 59 Camada de Aplicação

60 SMTP Simple Mail Transfer Protocol [RFC 2821] Usa o protocolo de transporte TCP para transferência fiável de mensagens Modelo cliente/servidor ao servidor corresponde o porto 25 Transferência directa entre emissor e receptor Três fases na comunicação entre cliente e servidor apresentação ( handshaking ) transferência de mensagens fecho da ligação Interacção na forma de comando - resposta comando: texto ASCII resposta: código de status e frase explicativa As mensagens têm de ser formadas em ASCII de 7-bits Endereço de [email protected] Nome local Nome do Servidor 60 Camada de Aplicação

61 Cenário Alice envia mensagem para Bob fila de mensagens de saída caixa de correio (mailbox)do utilizador Cliente SMTP Servidor SMTP 1 user agent 2 mail server 3 SMTP 4 mail server 5 6 user agent 1) Alice compõe uma mensagem para [email protected] 2) Alice envia a mensagem para o seu servidor de mensagens - a mensagem é colocada na fila 3) O lado cliente do SMTP abre uma ligação TCP com o servidor de mensagens do Bob 61 Camada de Aplicação 4) Caso consiga a ligação, o cliente SMTP envia a mensagem de Alice através da ligação TCP 5) Servidor de mensagens de Bob coloca a mensagem na caixa de de Bob 6) Bob usa o seu Agente de Utilizador para ler a mensagem

62 Exemplo de interacção SMTP Linhas Linhas enviadas enviadas por por cliente cliente e e servidor servidor para para o o seu seu socket socket TCP, TCP, após após ligação ligação estabelecida estabelecida Cliente Cliente C (envia (envia msg msg correio) correio) 5 5 comandos: comandos: HELO, HELO, MAIL MAIL FROM, FROM, RCPT RCPT TO, TO, DATA, DATA, QUIT QUIT Serviror Serviror S (recebe (recebe msg msg correio) correio) respostas: respostas: código código e e explicações(opcionais) explicações(opcionais) Várias mensagens podem ser enviadas entre servidores de correio numa única ligação MAIL FROM. MAIL FROM. 62 Camada de Aplicação S: 220 doces.pt C: HELO consumidor.pt S: 250 Hello consumidor.pt, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected]... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Gostas de chocolate? C: Durante a abertura da nossa loja, são gratuitos! C:. S: 250 Message accepted for delivery C: QUIT S: 221 doces.pt closing connection Cliente envia endereço de correio do remetente Cliente envia endereço de correio do destinatário Códigos de explicação são opcionais CRLF.CRLF para servidor reconhecer o final da msg

63 SMTP Resumo e Comparação com HTTP HTTP Usam ambos interacção de comando / resposta em ASCII Transferem ficheiros usando ligações persistentes Transfere ficheiros do Servidor Web para o Cliente Web (normalmente Browser) pull (cliente puxa objecto do servidor) Cada objecto é encapsulado numa mensagem de resposta SMTP Transfere mensagens de correio entre servidores SMTP SMTP requer que a mensagem (corpo e cabeçalho) seja em ASCII de 7-bits dados binários (e.g. uma imagem jpeg) devem ser codificados em ASCII antes de serem enviados receptor deve descodificar SMTP: push (cliente empurra mensagem para servidor) Múltiplos objectos podem constituir uma única mensagem de correio 63 Camada de Aplicação

64 Formato das Mensagens S: 220 doces.br C: HELO consumidor.pt S: 250 Hello consumidor.pt, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Gostas de chocolate? C: Durante a abertura da nossa loja, são gratuitos! C:. S: 250 Message accepted for delivery C: QUIT S: 221 doces.pt closing connection O protocolo SMTP não define o formato das mensagens SMTP: protocolo para trocar mensagens As mensagens de texto são normalizadas pelo RFC 822 Cabeçalho, por e.g. To: <valor> Linhas de cabeçalho From: <valor> obrigatórias Subject: <valor> Linhas de cabeçalho... opcionais diferentes dos comandos de smtp! Corpo da mensagem a mensagem, em caracteres ASCII cabeçalho corpo linha em branco 64 Camada de Aplicação

65 Formato das Mensagens: Extensões Multimédia MIME Multipurpose Internet Mail Extensions (extensões do [RFC 822]) Extensão do para multimédia [RFC 2045, 2046] Não é um protocolo de , não substitui o SMTP (1) Linhas adicionais no cabeçalho para declarar o tipo do conteúdo MIME (2) Permite dados que não são ASCII (SMTP usa formato ASCII de 7 bits) versão MIME Método usado para codificar dados Dados multimédia tipo, subtipo, parâmetros Dados codificados (1) (2) 65 Camada de Aplicação From: [email protected] To: [email protected] Subject: Imagem de uma bela torta MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data Exemplo imagem JPEG Recepor 1º usa Content- Transfer-Encoding para descodificar ASCII para binário, e depois Content- Type para Artur uma Arsenio aplicação Redes de Computadores de descompressão 2010/2011 JPEG

66 Tipos MIME Content-Type: tipo/subtipo; parâmetros Text exemplos de subtipos: plain, html charset= iso , ascii Image exemplos de subtipos: jpeg, gif Video exemplos de subtipos: mpeg, quicktime Audio exemplos de subtipos: 32k adpcm (codificação 32 kbps), basic (8-bit mu-law) Application dados que têm de ser processados por uma aplicação exemplos de subtipos: msword, octet-stream 66 Camada de Aplicação

67 Linha de cabeçalho adicionada pelo servidor que recebe a mensagem Formato das mensagens: Tipo Multipart From: [email protected] To: [email protected] Subject: Imagem de saboroso doce. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=startofnextpart --StartOfNextPart Bruno, junto envio imagem de um doce. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg dados codificados em base dados codificados em base64 --StartOfNextPart Queres a receita? 67 Camada de Aplicação Tipo Multipart Recepção Received: from doces.pt by hamburger.edu; 12 Oct 98 15:27:39 GMT From: [email protected] To: [email protected] Hora a que o servidor SMTP Subject: Imagem de saboroso doce. recebeu a mensagem MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=startofnextpart --StartOfNextPart Bruno, junto envio imagem de um doce. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg dados codificados em base dados codificados em base64 --StartOfNextPart Queres a receita? Tipo Multipart Encaminhamento Received: from hamburger.edu by sushi.jp; 12 Oct 98 15:30:01 GMT Received: from doces.pt by hamburger.edu; 12 Oct 98 15:27:39 GMT From: [email protected] To: [email protected] Subject: Imagem de saboroso doce. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=startofnextpart --StartOfNextPart Bruno, junto envio imagem de um doce. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg dados codificados em base dados codificados em base64 --StartOfNextPart Queres a receita? Nome do servidor SMTP que recebe a mensagem Nome do servidor SMTP que envia a mensagem O agente receptor recebe um trace por onde a mensagem passou e quando

68 Protocolos de acesso ao SMTP: usado para enviar/armazenar mensagens para os servidores SMTP não pode ser usado por agente utilizador receptor (e.g. Bob) para obter pois tal requer uma operação pull (puxar), e SMTP é um protocolo push (empurrar) Protocolos de acesso: usados para receber/ler mensagens presentes nos servidores Transfere mensagens de correio do servidor SMTP receptor para agente utilizador receptor Alice user agent servidor de do remetente SMTP SMTP servidor de do receptor Protocolos de acesso: POP3 ou IMAP ou HTTP user agent Bob E se servidor de do remetente estivesse contido no agente de utilizador (e.g. Alice)? Quando agente de utilizador não estivesse ligado à rede, mensagens de correio perdiam-se! Porque não usar apenas um servidor SMTP? Assim, agente de utilizador (e.g. Alice) enviava directamente mensagens de correio ao servidor de do receptor... Não seria possível o servidor de do remetente continuar a tentar enviar mensagem se o servidor de do receptor estivesse em baixo 68 Camada de Aplicação

69 Post Office Protocol v.3 (POP3) Descarrega s para a máquina actual Após cliente abrir ligação TCP no servidor de usando o porto 110 (1) Fase de autorização comandos do cliente user: username pass: password respostas do servidor +OK -ERR (problema com comando anterior) (2) Fase de transferência, cliente: list: lista os números e tamanho das msgs retr: transfere msg pelo número dele: apaga msg quit: termina a sessão POP3 (3) Fase de Actualização (update) servidor de correio apaga mensagens marcadas para remoção 69 Camada de Aplicação S: +OK POP3 server ready C: user ana S: +OK C: pass faminta S: +OK user successfully logged on C: list S: S: S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 2 contents> S:. C: dele 2 C: quit S: +OK POP3 server signing off

70 POP3 (cont.) [RFC 1939] POP3 não mantém estado entre ligações Só mantém estado na mesma sessão do utilizador, não entre sessões diferentes do utilizador Simplifica bastante a implementação do servidor POP3 Protocolo muito simples Porém de funcionalidade limitada Agente de utilizador pode ser configurado pelo utilizador O exemplo anterior usa o modo download e delete. Bob não pode reler as mensagens se mudar de cliente Download-e-mantenha : copia as mensagens em clientes diferentes 70 Camada de Aplicação

71 IMAP e HTTP Protocolos de Acesso IMAP [RFC 2060] Mantém todas as mensagens num único lugar: o servidor mais comandos (mais complexo) Permite ao utilizador organizar as mensagens em pastas no servidor remoto Criar pastas, reorganizar mais tarde mensagens nas pastas O IMAP mantém o estado do utilizador entre sessões: nomes das pastas e mapeamentos entre as IDs das mensagens e o nome da pasta Permite obter apenas componentes de mensagens Linhas de cabeçalho Uma parte de uma mensagem multipart E.g. Obter mensagem de texto sem descarregar imagem numa ligação de baixa largura de banda 71 Camada de Aplicação HTTP Cliente Web (e.g. Browser) é o agente de utilizador que comunica com a sua caixa de correio em HTTP Alice servidor de do remetente user agent Servidor HTTP servidor de do receptor HTTP SMTP HTTP Scripts Protocolo IMAP Protocolo de acesso: user agent Servidor IMAP Bob Permite a manipulação de mensagens no servidor remoto (como o IMAP) Numa implemantação alternativa o servidor HTTP usa um servidor IMAP para fornecer a funcionalidade de pastas e.g., Hotmail, Yahoo! Mail, Webmail, etc.

72 Correio Electrónico - Revisão Princípios e caracteristicas dos dos protocolos da da camada de de aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer Transfer Protocol Protocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simple Mail Mail Transfer Transfer Protocol, Protocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain Domain Name Name System System protocol protocol Partilha de de Ficheiros Peer-to-Peer (P2P) (P2P) 72 Camada de Aplicação Componentes do do Correio Electrónico SMTP Formato das Mensagens Extensões Multimédia Protocolos de de acesso ao ao POP3, POP3, IMAP, IMAP, HTTP HTTP

73 DNS: Domain Name System Como fazer o mapeamento entre os endereços IP e nome da máquina? Pessoas: muitos identificadores: BI, nome, nº passaporte Sistemas terminais da Internet, routers Endereço IP (32 bit) Usado simultaneamente para endereço de datagramas e como identificador Nome, e.g., ww.yahoo.com usado pelos seres humanos DNS: DNS: Domain Name Name System System Base Base de de Dados DadosDistribuida Distribuida implementada implementadacomo comouma umahierarquia Hierarquiade de muitos muitosservidores Servidoresde de nomes nomes Protocolo Protocoloda dacamada CamadaAplicação Aplicaçãoque que permite permitemáquinas máquinasinterrogarem interrogarem a Base Base de de Dados Dados para pararesolverem resolveremnomes Função Função core core da da Internet, Internet, implementada implementada num num protocolo protocolo da da camada camada aplicação aplicação Complexidade Complexidade na na fronteira fronteira da da rede rede DNS: Protocolo que usa o serviço de transporte não fiável UDP, no porto 53 complexo, usado por outros protocolos da camada aplicação: HTTP, SMTP e FTP Os servidores de nomes funcionam, em geral, como cliente e servidor estão normalmente em máquinas UNIX a correr o software Berkeley Internet Name Domain (BIND) 73 Camada de Aplicação

74 Serviços e Escalabilidade Serviços DNS (principal) Translação do nome da máquina para endereço IP Host aliasing (ou nome alternativo) Nome Real vs Alias DNS pode também ser invocado com o nome alias para pedir o nome real Aliasing de Servidor de Correio Distribuição de Carga Replicação de Servidores Web conjunto de endereços IP para um nome real Servidor responde com todos os endereços IP que mapeiam ao nome mas roda a ordem a cada pedido Porque não centralizar o DNS? ponto único de falha volume de tráfego base de dados centralizada distante manutenção Não é escalável! nenhum sevidor tem todos os mapeamentos de nome para endereço IP 74 Camada de Aplicação

75 DNS: Exemplo de Distribuição de Carga 75 Camada de Aplicação

76 Tipos de Servidores de Nomes Servidores de Nomes Locais Cada máquina, para conhecer um mapeamento nome/endereço começa por interrogar o seu servidor local Em geral, cada ISP tem um servidor de nomes local Também chmado default name server Sistemas terminais interrogam primeiro o Servidor de Nomes Local, sendo um pedido DNS query enviado ao servidor DNS local Actua como uma proxy, reencaminha query na hierarquia Servidores de Nomes Raiz Root Name Servers Interrogado por servidor de nomes local se este não consegue resolver um pedido Servidores de Nomes de Dominio de Nível Topo TLD Top Level Domain Responsável por com, org, net, edu, etc, e todos dominios nacionais uk, fr, ca, jp Servidores de Nomes Oficial Authoritative Name Servers Cada organização com máquinas de acesso público tem um servidor de nomes oficial onde a tradução nome/endereço está armazenada obrigatoriamente Para um sistema terminal: guarda o nome, endereço IP Pode executar a tradução nome/endereço para este sistema terminal 76 Camada de Aplicação

77 Base de Dados Distribuida e de estrutura Hierárquica a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 11 locations) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) k RIPE London (also Amsterdam, Frankfurt) i Autonomica, Stockholm (plus 3 other locations) m WIDE Tokyo b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA 13 servidores de nomes raiz no mundo Root DNS Servers com DNS servers org DNS servers edu DNS servers yahoo.com DNS servers amazon.com DNS servers pbs.org DNS servers poly.edu DNS servers umass.edu DNS servers 77 Camada de Aplicação

78 Procedimento Recursivo Utilizador usa browser, URL: gaia.cs.umass.edu/index.html Browser extrai gaia.cs.umass.edu 1. Máquina contacta o seu servidor de nomes local dns.eurecom.fr com query gaia.cs.umass.edu 2. Se for necessário, servidor local de nomes dns.eurecom.fr contacta um servidor de nomes raiz 3. Se for necessário o servidor de nomes raiz contacta um servidor de nomes de nível topo dns.edu 4. Se for necessário o servidor de nomes de nível topo contacta o servidor de nomes oficial authoritative dns.umass.edu 5. (6, 7 e 8) Servidor de nomes authoritative retorna endereço IP de gaia.cs.umass.edu de volta A máquina surf.eurecom.fr pretende o endereço IP cs.umass.edu local name server dns.eurecom.fr requesting host surf.eurecom.fr root name server TLD DNS server dns.edu 3 6 authoritative name server dns.umass.edu 5 4 gaia.cs.umass.edu Coloca o esforço da resolução de nomes no servidor de nomes contactado O servidor de nomes de nível topo pode não conhecer o endereço do servidor oficial, mas de um servidor intermédio 10 ou mais mensagens 78 Camada de Aplicação

79 Procedimento Iterativo 1. Máquina contacta o seu servidor de nomes local dns.eurecom.fr 2. Se for necessário, servidor local de nomes dns.eurecom.fr interroga um servidor de nomes raiz para descobrir servidor DNS edu 3. Servidor local recebe um IP dns.edu do servidor de nomes raiz 4. Servidor local interroga servidor de nomes de nível topo para descobrir servidor DNS umass.edu 5. Servidor local recebe um IP dns.umass.edu do servidor TLD 6. Servidor local interroga servidor de nomes oficial authoritative para descobrir IP de gaia.cs.umass.edu 7. (e 8) Envio do IP para cliente local name server dns.eurecom.fr requesting host surf.eurecom.fr root name server TLD DNS server dns.edu 6 authoritative name server dns.umass.edu gaia.cs.umass.edu Pedidos iterativos I don t know this name, but ask this server Cada servidor de nomes apenas fornece o endereço do próximo servidor a contactar 79 Camada de Aplicação

80 DNS: Caches e Actualização dos Registos Assim Assimque queum um servidorde de nomes nomesrecebe recebeum um mapeamento nome/ip, armazena-oem emcache Redução do do número de de mensagens na na internet internet Maior Maior eficiência no no mapeamento As As entradasda dacache têm têmum um temporizador (timeout) pelo peloque são são removidasapós apósum um certo certotempo tempo (e.g. (e.g. dois doisdias) dias) TLD TLD servers servers são são tipicamente colocadosem emcache nos nos Servidoresde de Nomes NomesLocais Assim, Assim, os osservidores servidoresde de nomes nomesraiz raiznão nãosão sãovisitados visitadoscom com frequência frequência 80 Camada de Aplicação

81 Registos DNS Inserçãode de registosno no DNS DNS Supõe Supõeque quecrias criasum um novo novo domínio, foo.com (foo.com, dns1.foo.com, NS) NS) (dns1.foo.com, , A) A) (foo.com, mail.foo.com, MX) MX) (mail.foo.com, , A) A) Cada resposta DNS contém 1 ou mais Registo de Recursos Resource Records (RR) Formato de um RR (4-tuple): (nome, valor, tipo, ttl) Formato de um RR (4-tuple): (nome, valor, tipo, ttl) Type=A nome - hostname valor - endereço IP Type=NS nome - dominio (e.g. foo.com) valor - endereço IP do servidor de nomes authoritative que sabe como obter o IP de máquinas deste dominio Type=CNAME nome - nome alternativo para uma dada máquina, e.g. é de facto servereast.backup2.ibm.com valor - nome real da máquina Type=MX valor - nome da máquina servidor de correio associada com nome RR armazenados em cache no servidor DNS de acordo com time to live (ttl) 81 Camada de Aplicação

82 Mensagens do Protocolo DNS msg header As mensagens pergunta e resposta têm o mesmo formato identification: 16 bit # for query, reply to query uses same # flags query or reply recursion desired recursion available reply is authoritative Name, type fields para pergunta RRs na resposta à pergunta Registos para authoritative servers Informação adicional de ajuda que pode ser utilizada 82 Camada de Aplicação

83 Serviço de nomes da Internet - Revisão Princípios e caracteristicas dos dos protocolos da da camada de de aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer Transfer Protocol Protocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simple Mail Mail Transfer Transfer Protocol, Protocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain Domain Name Name System System protocol protocol Partilha de de Ficheiros Peer-to-Peer (P2P) (P2P) 83 Camada de Aplicação O protocolo DNS Tipos de de Servidores de de Nomes Mensagens do do Protocolo DNS Registos DNS

84 P2P file sharing Pesquisa em Directório Centralizado Transferência de ficheiro é descentralizada, mas a localização de conteúdos é centralizada Desenho original do Napster 1. Registo Peer liga-se e informa servidor central Do seu endereço IP Conteúdo e.g. Lista de ficheiros MP3 2. Pedido Alice pede a canção Hey Jude 3. Transferência de dados Alice pede ficheiro a Bob 84 Camada de Aplicação Servidor de directório centralizado 2 Pedido Problemas Ponto Pontoúnico únicode de falha falha Estrangulamento Estrangulamentode de desempenho desempenho Infracções Infracçõesde de direitos direitosde de autor autor 1 1 Registo 1 1 Alice Bob peers 3 Transferência de dados

85 Pesquisa sem Directório Query flooding : Gnutella Totalmente distribuido sem servidor central sem hierarquia Usa nó de arranque para conhecer outros nós Vários clientes Gnutella implementam o protocolo, que é de dominio publico Associação Juntar a um par (mensagem de associação) Para o par X se juntar tem que achar outro par já na rede Gnutella para tal usa uma lista de pares candidatos X tenta estabelecer ligações TCP de forma sequencial com pares na lista até conseguir ligação com Y X envia uma mensagem Ping a Y Y reencaminha a mensagem Ping Todos os pares Z que recebem a msg Ping respondem com mensagem Pong Esta contém o endereço IP de Z, número e tamanho dos ficheiros partilhados por Z X recebe muitas mensagens Pong pode estabelecer ligações TCP adicionais 85 Camada de Aplicação

86 Gnutella: Mensagens de Pedidos Mensagemde de pedido pedido Query enviadasobre sobreas as ligaçõestcp Inclui keywords keywords descritivas descritivas do do conteúdo conteúdo procurado procurado Cada Cadapar par vizinho vizinho reencaminha a mensagemde de pedido pedido Se Se um um tem tem o objecto objectopedido (QueryHit), envia enviauma mensagem de de volta voltapara o par par que que perguntou enviada pelo pelo caminho caminho inverso inverso com nome nome e tamanho tamanho do do ficheiro ficheiro Query Transferência de ficheiro: HTTP fora da rede sobreposta Query QueryHit Query QueryHit Query Query Query QueryHit Query Query Query Query Query flooding Inundação de pedidos de raio (alcance) limitado (e.g. 7) 86 Camada de Aplicação

87 Inundação de Pedidos Vantagens Simples Altamente descentralizado O mais dificil de desligar Pares têm responsabilidades semelhantes: não há lideres de grupo Nenhum par mantém informação de directório Desvantagens Tráfego de pedidos excessivo Raio de alcance limitado do pedido: pode não encontrar o conteúdo quando este existe Nó de arranque Manutenção da rede sobreposta Escalabilidade Limitada: Inundaçãoda darede (flooding) 87 Camada de Aplicação

88 KaZaA: Pesquisa em Directório Distribuído Junta conceitos do Napster e Gnutella Explora a heterogeneidade dos nós Par líder de grupo Nó de arranque Cada par é um lider de grupo, ou está associado a um líder de grupo O lider de grupo conhece o conteúdo de todos os seus filhos Ligação TCP entre par e o seu líder de grupo Ligações TCP entre pares de lideres de grupo Rede sobreposta, hierárquica Pares são nós Arcos entre pares e o seu líder de grupo Arcos entre alguns pares de líderes de grupos Vizinhos virtuais Par na rede Par na rede Par líder de grupo Relações entre vizinhos na rede sobreposta. hierárquica 88 Camada de Aplicação

89 KaZaA: Descrição Identificação dos ficheiros Hash Descriptor Nome do ficheiro Descrição textual não estruturada Cliente envia keywords ao líder de grupo Líder de grupo responde c/ lista de pares cuja descrição corresponde às keywords Enviando: metadata, hash, endereço IP Se o líder de grupo reencaminha pedido a outros líderes de grupo, estes respondem com correspondências Cliente selecciona ficheiros para download Pedido HTTP usa hash como identificador, é enviado aos pares que contêm o ficheiro Cifra as mensagens de controlo mas não as de dados Vantagens Não há servidor de directório centralizado Serviço de localização distribuido pelos pares Mais dificil de desactivar Rede sobreposta hierárquica Maior alcançe dos pedidos Desvantagens Necessários nós de arranque Líderes de grupo podem ser sobrecarregados Truques Limites nos uploads simultâneos Pôr pedidos em filas Prioridade por incentivos Downloads paralelos 89 Camada de Aplicação

90 Partilha de Ficheiros Peer-to-Peer (P2P) Revisão Princípios e caracteristicas dos dos protocolos da da camada aplicação A Web Web e o HTTP HTTP (Hypertext Transfer Protocol) Transferência de de Ficheiros (File (File Transfer) File File Transfer Transfer Protocol Protocol (FTP) (FTP) Correio Correio Electrónico SMTP: SMTP: Simple Simple Mail Mail Transfer Transfer Protocol, Protocol, POP3, POP3, IMAP IMAP Serviço de de nomes nomes da da Internet DNS: DNS: Domain Domain Name Name System System protocol protocol Partilha de de Ficheiros Peer-to- Peer Peer (P2P) (P2P) 90 Camada de Aplicação P2P P2P File File sharing Um Um peer peer é tanto tantoum um cliente cliente Web Web como comoum um servidor Web Web temporário Todos Todosos ospeers são sãoservidores = facilmente escalável!! Napster --Pesquisa em em Directório Centralizado Pesquisa sem semdirectório Query flooding : Gnutella KaZaA Pesquisa em emdirectório Descentralizado

REDES DE COMPUTADORES. Prof. Evandro Cantú

REDES DE COMPUTADORES. Prof. Evandro Cantú REDES DE COMPUTADORES Prof. Evandro Cantú Prof. Evandro Cantú, [email protected] Slides adaptados de J. Kurose & K. Ross 2 Curso de Capacitação Intelbras Redes Computadores Maio 2007 Camada de

Leia mais

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.

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. A Web e o HTTP 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. Então, no início dessa década, iniciou-se

Leia mais

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

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

Leia mais

FTP: protocolo de transferência de arquivos

FTP: protocolo de transferência de arquivos FTP: protocolo de transferência de arquivos no hospedeiro interface cliente de FTP FTP sistema de arquivo local transf. de arquivos servidor FTP sistema de arquivo remoto transfere arquivo de/para hospedeiro

Leia mais

Camada de aplicação. Aplicações em rede

Camada de aplicação. Aplicações em rede Camada de aplicação Conceitos, implementação de protocolos da camada de aplicação Paradigma cliente-servidor Modelos de serviço Protocolos da camada de aplicação HTTP FTP SMTP, POP DNS Programação de protocolos

Leia mais

Transferência de arquivos (FTP)

Transferência de arquivos (FTP) Transferência de arquivos (FTP) Protocolo de transferência de arquivos (File Transfer Protocol) Descrito na RFC 959 Usa o TCP, a porta 21 (conexão de controle) e a porta 20 (conexão de dados) Em uma mesma

Leia mais

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

Servidor de E-mails e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Campus Cachoeiro Curso Técnico em Informática Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Definições Servidor de Mensagens Um servidor de

Leia mais

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

Correio Eletrônico e os protocolos SMTP, POP3 e IMAP Correio Eletrônico e os protocolos, POP3 e IMAP Thiago Cunha Pinto Correio eletrônico Três componentes principais: s do servidores de Simple Mail Transfer Protocol: Agente do também chamado leitor de redigir,

Leia mais

Camada de aplicação Conceitos, implementação de protocolos da camada de aplicação

Camada de aplicação Conceitos, implementação de protocolos da camada de aplicação Camada de aplicação Conceitos, implementação de protocolos da camada de aplicação Paradigma cliente-servidor Modelos de serviço Protocolos da camada de aplicação HTTP FTP SMTP, POP DNS CDN P2P Programação

Leia mais

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

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza Redes de Computadores Camada de Aplicação Prof. MSc. Hugo Souza É a camada que dispõe a programação para as aplicações de rede através dos protocolos de aplicação; Provém a implantação da arquitetura de

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 2.5 - DNS Prof. Jó Ueyama Março/2014 1 DNS: Domain Name System Pessoas: muitos identificadores: RG, nome, passaporte. Hosts e roteadores na Internet: endereços IP (32 bits)

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Nomeação Estruturada, Nomeação Baseada em Atributo Capítulo 5 Agenda Nomeação Estruturada (cont.) Implementação de um Espaço de Nomes DNS Definição

Leia mais

INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTRODUÇÃO ÀS REDES DE COMPUTADORES INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE APLICAÇÃO Teresa Vazão 2 INTRODUÇÃO Internet para todos.. 1979 Tim Burners Lee (invesngador do CERN): Inventor do conceito de navegação por hyper- texto 25

Leia mais

INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTRODUÇÃO ÀS REDES DE COMPUTADORES INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE APLICAÇÃO Teresa Vazão 2 INTRODUÇÃO Internet para todos.. 1979 Tim Burners Lee (invesngador do CERN): Inventor do conceito de navegação por hyper- texto 25

Leia mais

Servidor de E-mails e Protocolo SMTP

Servidor de E-mails e Protocolo SMTP Campus Cachoeiro Curso Técnico em Informática Servidor E-mails e Protocolo SMTP Professor: João Paulo Brito Gonçalves Disciplina: Serviços Res Definições Servidor Mensagens Um servidor mensagens é responsável

Leia mais

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

FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA. Aula 1 SENAC TI Fernando Costa FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA Aula 1 SENAC TI Fernando Costa Camada de Aplicação Objetivos: aspectos conceituais dos protocolos de aplicação em redes modelos de serviço da camada de transporte

Leia mais

2Arquitetura cliente-servidor

2Arquitetura cliente-servidor 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

Leia mais

Sistemas Distribuídos Capítulos 5 e 6 - Aula 9

Sistemas Distribuídos Capítulos 5 e 6 - Aula 9 Sistemas Distribuídos Capítulos 5 e 6 - Aula 9 Aula Passada Comentários Prova Nomes, Identificadores, Endereços Nomeação Simples Nomeação Estruturada Aula de hoje Nomeação estruturada Implementação de

Leia mais

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

Camada de aplicação. Camada de aplicação Camada de aplicação Camada de aplicação Nossos objetivos: Conceitual, aspectos de implementação de protocolos de aplicação de redes Modelos de serviço da camada de transporte Paradigma cliente-servidor

Leia mais

Redes de Computadores I

Redes de Computadores I UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores I Nível de Aplicação ( & ) Prof. Helcio Wagner da Silva. p.1/27

Leia mais

Teleprocessamento e Redes

Teleprocessamento e Redes Teleprocessamento e Redes Aula 21: 06 de julho de 2010 1 2 3 (RFC 959) Sumário Aplicação de transferência de arquivos de/para um host remoto O usuário deve prover login/senha O usa duas conexões TCP em

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação

Leia mais

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

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2 REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2 Avaliação sumária da matéria do Capítulo 2 Pergunta: 1 A figura (ver Anexo) ilustra três diagramas de mensagens referentes a pedidos que clientes

Leia mais

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Sistemas Distribuidos 2012-2013 1º semestre Camadas

Leia mais

Aplic. distribuídas e protocolos da camada de aplic.

Aplic. distribuídas e protocolos da camada de aplic. Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer

Leia mais

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/[email protected] www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade

Leia mais

Rede de Computadores (REC)

Rede de Computadores (REC) Rede de Computadores (REC) Aula 04 Camada de Aplicação Prof. Jackson Mallmann [email protected] Exemplos de requisição via telnet. iniciar / executar / cmd (Windows) telnet endereço telnet 192.168.1.3

Leia mais

Resolução de Nomes e o protocolo DNS

Resolução de Nomes e o protocolo DNS Resolução de Nomes e o protocolo DNS Thiago Cunha Pinto DNS: Domain Name System pessoas: muitos identificadores: CPF, nome, passaporte hospedeiros da Internet, roteadores: endereço IP (32 bits) usado para

Leia mais

HYPERTEXT TRANSFER PROTOCOL

HYPERTEXT TRANSFER PROTOCOL REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] HYPERTEXT TRANSFER PROTOCOL 1 HTTP Uma página WWW é composta de objetos e endereçado por uma

Leia mais

DNS - Domain Name System

DNS - Domain Name System DNS - Domain Name System IFSC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO SUBSEQUENTE DE TELECOMUNICAÇÕES! Prof. Tomás Grimm DNS Pessoas: muitos identificadores: RG, nome, passporte Internet hosts, roteadores: endereços

Leia mais

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

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 2 Camadas NOÇÕES DE REDE: CAMADA DE APLICAÇÃO Introdução à Microinformática Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Aplicação Transporte

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2011 Camada de Aplicação

Leia mais

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira Wireshark Captura de Protocolos da camada de aplicação Maicon de Vargas Pereira Camada de Aplicação Introdução HTTP (Hypertext Transfer Protocol) 2 Introdução Camada de Aplicação Suporta os protocolos

Leia mais

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

Aula-28 Camada Aplicação - DNS. Prof. Dr. S. Motoyama Aula-28 Camada Aplicação - DNS Prof. Dr. S. Motoyama 1 Camada Aplicação Escrever programas que Executem sobre diferentes sistemas finais e Se comuniquem através de uma rede. Ex.: Web software de servidor

Leia mais

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

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES O QUE É PROTOCOLO? Na comunicação de dados e na interligação em rede, protocolo é um padrão que especifica o formato de dados e as regras a serem seguidas. Sem protocolos, uma rede

Leia mais

Camada de Aplicação. Prof. Tiago Semprebom. [email protected] www.sj.cefetsc.edu.br/~tisemp. 2: Camada de aplicação 1

Camada de Aplicação. Prof. Tiago Semprebom. tisemp@sj.cefetsc.edu.br www.sj.cefetsc.edu.br/~tisemp. 2: Camada de aplicação 1 MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Camada de Aplicação Prof. Tiago Semprebom [email protected]

Leia mais

Redes de Computadores Aula 3

Redes de Computadores Aula 3 Redes de Computadores Aula 3 Aula passada Comutação: circuito x pacotes Retardos e perdas Aula de hoje Protocolo em camadas Aplicações C/S x P2P Web Estruturando a Rede Como organizar os serviços de uma

Leia mais

Aula 6 Camada de Aplicação Sistema de correio eletrônico e DNS

Aula 6 Camada de Aplicação Sistema de correio eletrônico e DNS Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense Aula 6 Camada de Aplicação Sistema de correio eletrônico e DNS Igor Monteiro Moraes Redes de Computadores I

Leia mais

Permite o acesso remoto a um computador;

Permite o acesso remoto a um computador; Telnet Permite o acesso remoto a um computador; Modelo: Cliente/Servidor; O cliente faz um login em um servidor que esteja conectado à rede (ou à Internet); O usuário manipula o servidor como se ele estivesse

Leia mais

Universidade Federal do Rio Grande do Norte

Universidade Federal do Rio Grande do Norte Universidade Federal do Rio Grande do Norte Redes de Computadores - Camada de Aplicação Curso de Engenharia de Software Prof. Marcos Cesar Madruga/Thiago P. da Silva Material basedado em [Kurose&Ross 2009]

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Sockets, FTP, Correio Eletrônico, P2P Prof. Jó Ueyama Março/2014 1 Capítulo 2.7 e 2.8 - Camada de Aplicação Programação de sockets 2 Programação de Sockets Objetivo: Socket: aprender

Leia mais

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

Redes de Computadores. Protocolos de comunicação: TCP, UDP Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca

Leia mais

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

Cap 03 - Camada de Aplicação Internet (Kurose) Cap 03 - Camada de Aplicação Internet (Kurose) 1. Qual a diferença entre um Programa de computador e um Processo dentro do computador? R. Processo é um programa que está sendo executado em uma máquina/host,

Leia mais

Redes de Computadores. Trabalho de Laboratório Nº7

Redes de Computadores. Trabalho de Laboratório Nº7 Redes de Computadores Curso de Eng. Informática Curso de Eng. de Electrónica e Computadores Trabalho de Laboratório Nº7 Análise do tráfego na rede Protocolos TCP e UDP Objectivo Usar o Ethereal para visualizar

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

Sistemas Distribuídos (DCC/UFRJ)

Sistemas Distribuídos (DCC/UFRJ) Sistemas Distribuídos (DCC/UFRJ) Aula 8: 2 de maio de 2016 Aplicações de email Eletronic mail é uma forma de comunicação assíncrona (pessoas não precisam coordenar/sincronizar o tempo de envio e recebimento

Leia mais

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia [email protected]. Redes e Comunicações

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia famaia@gmail.com. Redes e Comunicações Sistemas Multimédia Arquitectura Protocolar Simples Modelo OSI TCP/IP Redes e Comunicações Francisco Maia [email protected] Já estudado... Motivação Breve História Conceitos Básicos Tipos de Redes Componentes

Leia mais

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

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos Internet e protocolos web A Internet é uma rede descentralizada de recursos computacionais Tolerante a falhas (no single point of failure) Topologia tem de fornecer caminhos alternativos entre 2 computadores

Leia mais

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

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada

Leia mais

Teia de alcance mundial (World Wide Web WWW) Web composta de

Teia de alcance mundial (World Wide Web WWW) Web composta de Web Teia de alcance mundial (World Wide Web WWW) Web composta de Agentes de usuário para a Web (browsers) Servidores Web Protocolo de transferência de hipertexto (HyperText Transfer Protocol HTTP) Web

Leia mais

Redes de Computadores. Prof. Thiago Caproni Tavares DNS. Prof. Thiago Caproni Tavares

Redes de Computadores. Prof. Thiago Caproni Tavares DNS. Prof. Thiago Caproni Tavares Prof. Thiago Caproni Tavares Redes de DNS Prof. Thiago Caproni Tavares DNS: Domain Name System pessoas: muitos identificadores: CPF, nome, passaporte hospedeiros da Internet, roteadores: endereço IP (32

Leia mais

Redes de Computadores Aula 4

Redes de Computadores Aula 4 Redes de Computadores Aula 4 Aula passada Protocolo em camadas Aplicações C/S x P2P Aula de hoje DNS Sockets Programação com sockets Web DNS: Domain Name System Pessoas: muitos idenftificadores: CPF, passaporte,

Leia mais

1.264 Lição 11. Fundamentos da Web

1.264 Lição 11. Fundamentos da Web 1.264 Lição 11 Fundamentos da Web Navegadores e servidores da Web A Internet é apenas um conjunto de redes interconectadas livremente. Um conjunto de redes de área local conectado via redes de área ampla

Leia mais

INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTRODUÇÃO ÀS REDES DE COMPUTADORES INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE APLICAÇÃO Teresa Vazão 2 INTRODUÇÃO Internet para todos.. 1979 Tim Burners Lee (invesngador do CERN): Inventor do conceito de navegação por hyper- texto 25

Leia mais

Computação Distribuída

Computação Distribuída Roteiro da aula Sockets 1. UDP (User Datagram Protocol) 2. TCP ( (Transmission Control Protocol) 3. IP Multicast Invocação de Método M Remoto usando CORBA 1. Introdução 2. Modelo de Objeto 3. Entender

Leia mais

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns.

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns. Internet Internet ou Net É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns. Como Comunicam os computadores Os computadores comunicam entre si utilizando uma linguagem

Leia mais

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

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP [email protected] Camada de Aplicação 2 Camada de Aplicação Algumas aplicações de rede E-mail Web Mensagem instantânea Login remoto P2P file sharing Jogos de rede multiusuário Telefonia

Leia mais

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

Redes - Internet. Sumário 26-09-2008. Aula 3,4 e 5 9º C 2008 09 24. } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System Redes - Internet 9º C 2008 09 24 Sumário } Estrutura baseada em camadas } Endereços IP } DNS -Domain Name System } Serviços, os Servidores e os Clientes } Informação Distribuída } Principais Serviços da

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Aplicação HTTP FTP SMTP Slide 1 Mensagem de Requisição HTTP linha de pedido (comandos GET, POST,HEAD ) linhas de cabeçalho Carriage return, line feed indica fim da mensagem

Leia mais

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

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho Obs: Não há necessidade de entregar a lista Questões do livro base (Kurose) Questões Problemas

Leia mais

Comunicação entre processos

Comunicação entre processos Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação

Leia mais

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome DNS Sistema de Nomes de Domínio O espaço de nomes DNS Registros de recursos de domínio Servidores de nome Camada de Aplicação DNS Telnet e SSH SNMP SMTP, POP e IMAP WWW FTP O espaço de nomes DNS Parte

Leia mais

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

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação REC- Redes de Computadores Capítulo 5 Camada de Aplicação Capítulo 5: Camada de aplicação Princípios de aplicações de rede A Web e o HTTP FTP Correio eletrônico SMTP, POP3, IMAP DNS Programação de sockets

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 2 Gustavo Reis [email protected] - Protocolos de Internet Mensagem M Aplicação HTTP, SMTP, FTP, DNS Segmento Ht M Transporte TCP, UDP Datagrama Hr Ht M Rede

Leia mais

Programação com sockets (em Java)

Programação com sockets (em Java) com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission

Leia mais

PROTOCOLOS DE COMUNICAÇÃO

PROTOCOLOS DE COMUNICAÇÃO PROTOCOLOS DE COMUNICAÇÃO 3º ANO / 2º SEMESTRE 2014 INFORMÁTICA [email protected] Ambrósio Patricio Vumo Computer Networks & Distribution System Group Services Provided by DNS nós, seres humanos, podemos

Leia mais

Cliente-servidor com Sockets TCP

Cliente-servidor com Sockets TCP Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets

Leia mais

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

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz Camada de Aplicação Redes de Computadores Prof. Leandro C. Pykosz Camada de Aplicação A camada de aplicação fornece os serviços "reais" de rede para os usuários. Os níveis abaixo da aplicação fornecem

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet PTC 3450 - Aula 07 2.2 Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet (Kurose, p. 83-96) (Peterson, p. 239-240 e 425-444) 28/03/2017 Muitos slides adaptados com

Leia mais

INTRODUÇÃO ÀS REDES DE COMPUTADORES

INTRODUÇÃO ÀS REDES DE COMPUTADORES INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE APLICAÇÃO Teresa Vazão 2012/2013 IRC - Introdução às Redes de Computadores - LERC/LEE 2 INTRODUÇÃO Internet para todos.. 1979 Tim Burners Lee (invesngador

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

O protocolo HTTP. O que é o protocolo HTTP?

O protocolo HTTP. O que é o protocolo HTTP? O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. IIS - HTTP 1 O que é o protocolo HTTP? Hyper

Leia mais

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

Introdução à Camada de Aplicação. Prof. Eduardo Introdução à Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada

Leia mais

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos [email protected]

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Prof. Ricardo Ribeiro dos Santos [email protected] Curso de Engenharia de Computação UCDB Julho/2003 Relembrando... Encapsulamento nas camadas de rede e protocolos 2-2 Relembrando...

Leia mais

Universidade Federal de Mato Grosso

Universidade Federal de Mato Grosso Universidade Federal de Mato Grosso Programação III Curso de Ciência da Computação Prof. Thiago P. da Silva [email protected] Material basedado em [Kurose&Ross 2009] e [Gonçalves, 2007] Agenda Internet

Leia mais

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

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo TECNOLOGIA WEB Principais Protocolos na Internet Aula 2 Profa. Rosemary Melo Tópicos abordados Compreender os conceitos básicos de protocolo. Definir as funcionalidades dos principais protocolos de Internet.

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

INTERNET. TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores)

INTERNET. TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores) TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores) A cada computador integrado na rede é atribuído um número IP que o identifica

Leia mais

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. HTTP O protocolo HTTP Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP. Quais são as partes de um a resposta HTTP. O que é o protocolo HTTP? Hyper Text Transfer

Leia mais

Camada de Aplicação Protocolo FTP e Correio Eletrônico

Camada de Aplicação Protocolo FTP e Correio Eletrônico e Tecnologia de Implementação de Redes 2016.1 Camada de Aplicação Protocolo FTP e Correio Eletrônico Curso Técnico Integrado em Informática Turma: INT.INF.3M Conteúdo Programático (1 o Bimestre) Comunicação

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência

Leia mais