Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos Baseados na Web
Advertisements

Capítulo 2: Camada de Aplicação
Missão da camada de enlace Serviços oferecidos TCP UDP
Bruno Rafael de Oliveira Rodrigues
Redes I Os Protocolos Prof. Dr. Amine BERQIA
Servidor de s e Protocolo SMTP
Conceitos Relacionados a Internet
URL: Redes Prof. Edgard Jamhour URL:
Prof. Evandro Cantú, Dr. Eng. REDES DE COMPUTADORES.
Redes de Computadores 2 - Camada de Aplicação (HTTP) –
Conceitos Básicos de Informática REDES DE COMUNICAÇÃO: INTERNET
1a. Prova: Soluções Teleprocessamento e Redes
Paulo Roberto Freire Cunha
Capítulo 2: Camada de Aplicação
Oficina de Pesquisa na Rede
Visão Geral de Protocolos
Internet Principais conceitos.
Obtenção de IP TCP UDP.
TCP/IP básico e outros protocolos
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
História da Internet 1º A Internet foi idealizada na década de 60 nos Estados Unidos. O objectivo inicial, era o enorme potencial de partilha de informações.
Camada de Transporte: Portas, Sockets, Aplicações em Rede
REDES DE COMPUTADORES II
Funcionalidades e Protocolos da Camada de Aplicação
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Modelo de referência OSI
Aula 9 - Camada de aplicação
Protocolo HTTP e Web Servers
Redes Aula 7 Professor: Marcelo Maia.
Hash HTTPS SSL Certificados.
REDES DE COMPUTADORES Prof. Deivson
Aula 2 Arquitetura & Protocolos
Capítulo 2: Camada de Aplicação
Capítulo 2 – Camada de Aplicação
Funcionalidade e Protocolos da Camada de Aplicação
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Redes de Comunicação – Módulo 3
HTTP Hypertext Transfer Protocol.
Camada de Transporte prof. Eduardo.
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Trabalho realizado por: Leandro, Ruslana e Nataliya.
Prof. Carlos Roberto da Silva Filho, M. Eng.
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Davidson Rodrigo Boccardo
IIS Web Server.
Redes de computadores Interligação de máquinas diferentes, através de conexões físicas (cabos metálicos, fibras óticas)
A Internet e Seu Impacto
Modelo OSI Disciplina: Comunicação de Dados Ricardo Bento 12ºL nº11.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Administração e Projeto de Redes
(c)AB, WEB: filosofia e origens Grupo de utilizadores Internet Ambiente académico dominado por sistemas UNIX Conjunto de serviços básicos: correio.
Redes Avançadas – Prof. Mateus Raeder Redes Avançadas Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Serviços de rede e internet Jackson Eduardo da Silva.
Redes de Computadores Camada de Aplicação.
Escola Politécnica da USP abril de 2013 PTC 2550 – Redes de Comunicação De Dados e P1 Transporte Multimídia PTC 2550 – Redes de Comunicação De Dados e.
Redes de Computadores 2 - Camada de Aplicação (Princípios Básicos) –
Introdução à plataforma Web (internet) e protocolos de comunicação
Administração e Projeto de Redes Material de apoio Camada de Transporte Cap.4 10/02/2010.
Redes de computadores e a Internet
Protocolos de Comunicação e Passagem de Mensagens
Arquitetura em Camadas
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Alessandro D. R. Fazenda
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Servidor WEB IGOR ALVES. O protocolo HTTP 1990 surgimento da aplicação www Grande quantidade de informação que pode ser acessada por demanda Buscadores.
Transcrição da apresentação:

Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -

Redes de Computadores I – Prof. Mateus Raeder Sumário Camada de aplicação Protocolos de aplicação –HTTP –FTP Exercícios

Redes de Computadores I – Prof. Mateus Raeder Camada de aplicação Metas: Aprender aspectos conceituais e de implementação de protocolos de aplicação em redes –Paradigma cliente /servidor –Modelos de serviço Aprender sobre protocolos através do estudo de protocolos populares do nível da aplicação Conhecer......protocolos específicos: –http –ftp –smtp –pop –dns...a programação de aplicações de rede. –Programação usando sockets

Redes de Computadores I – Prof. Mateus Raeder Camada de aplicação É a camada mais próxima dos usuários Nas demais camadas, existem 1 ou 2 protocolos principais Na camada de aplicação, existem vários protocolos, um para cada tipo de serviço –Além disso, um serviço de rede pode fazer uso de mais de um protocolo Ex.: o serviço de pode utilizar os protocolos SMTP, POP e IMAP

Redes de Computadores I – Prof. Mateus Raeder Camada de aplicação Aplicações de rede são a “razão de ser” de uma rede de computadores –Qual a necessidade de projetar uma rede se não existissem aplicações que fossem usá-la? Aplicações de rede são distribuídas em dois ou mais sistemas finais application transport network data link physical application transport network data link physical application transport network data link physical

Redes de Computadores I – Prof. Mateus Raeder Camada de aplicação application transport network data link physical application transport network data link physical application transport network data link physical Aplicações comunicam- se através de troca de mensagens –Ex.: Correio eletrônico, transferência de arquivos, WWW, login remoto, voz, etc... –As aplicações de rede têm protocolos da camada de aplicação que definem detalhes desta comunicação via troca de mensagens

Redes de Computadores I – Prof. Mateus Raeder Protocolos de aplicação Protocolos da camada de aplicação: – Não são a aplicação. –APENAS uma “parte” da aplicação. –Define mensagens trocadas por aplicações e ações tomadas em sua resposta. –Usam serviços providos por protocolos de camadas inferiores Os processos em dois sistemas diferentes comunicam-se entre si, trocando mensagens através da rede de computadores. Um processo de emissão cria e emite mensagens na rede; um processo de recepção recebe estas mensagens e responde possivelmente emitindo mensagens de volta.

Redes de Computadores I – Prof. Mateus Raeder Como os processos trocam mensagens Um protocolo da camada de aplicação define como os processos de aplicação, funcionando em sistemas de extremidade diferentes, trocam mensagens. Detalhadamente, um protocolo da camada de aplicação define: –Os tipos de mensagens trocadas, por exemplo, mensagens do pedido e mensagens de resposta. –A sintaxe dos vários tipos de mensagem, tais como os campos na mensagem e como os campos são delineados. –A semântica dos campos, isto é, o significado da informação nos campos. –As regras para determinar quando e como um processo emite mensagens e responde às mensagens.

Redes de Computadores I – Prof. Mateus Raeder Aplicações de rede Um processo é um programa que roda num host. –Dois processos no mesmo host se comunicam usando comunicação entre processos (interprocess comunnication), definida pelo sistema operacional (SO). –Dois processos em hosts distintos se comunicam usando um protocolo da camada de aplicação Um agente de usuário (UA) é uma interface entre o usuário e a aplicação de rede. WWW: browser. Correio: leitor/compositor de mensagens Streaming audio/video: tocador (player) de mídia

Redes de Computadores I – Prof. Mateus Raeder Paradigma cliente-servidor Existem 2 figuras: cliente e servidor –Cliente: solicita um serviço Ex.: leitor de correio eletrônico –Servidor: recebe, processa e responde Ex.: servidor de correio

Redes de Computadores I – Prof. Mateus Raeder Camada de aplicação API - Aplication Program Interface: –Interface de programação de aplicações Define a interface entre a aplicação e camada de transporte. Socket (= tomada) : API da Internet –Dois processos se comunicam enviando dados para um socket, ou lendo dados de um socket.

Redes de Computadores I – Prof. Mateus Raeder Comunicação pelos sockets (1) Os dois processos comunicam-se entre si emitindo e recebendo mensagens através de seus sockets. O socket de um processo pode ser pensado como do porta do processo: –Um processo emite e recebe mensagens da rede, através de seus sockets. –Quando um processo quer emitir uma mensagem a um outro processo em um outro host, empurra a mensagem para fora de sua porta. –O processo supõe que há um infra-estrutura de transporte no outro lado da porta, a qual transportará a mensagem até a porta do processo do destino.

Redes de Computadores I – Prof. Mateus Raeder Como um processo identifica outro ? Pergunta: Como um processo pode “identificar”o outro processo com o qual quer se comunicar? Endereço IP do host do outro processo. –Por enquanto: basta saber que o IP ADDRESS é um valor de 32- bits que identifica unicamente o sistema de extremidade. Mais precisamente, identifica unicamente a interface (placa) que conecta esse host à Internet. Ex “Número de porta” : permite que o hospedeiro receptor determine a qual processo deve ser entregue a mensagem. Exemplo: Porta 80/TCP. Ex :80 (Ver RFC Portas well-known)

Redes de Computadores I – Prof. Mateus Raeder Que serviços de transporte a aplicação precisa? Quando se desenvolve uma aplicação, deve-se escolher um dos protocolos disponíveis do transporte. –Como você faz esta escolha? Estuda-se os serviços fornecidos pelos protocolos disponíveis do transporte, e escolhe-se o protocolo com os serviços que melhor se adaptem às necessidades de sua aplicação.

Redes de Computadores I – Prof. Mateus Raeder Perda de dados: Algumas aplicações (por exemplo áudio) podem tolerar algumas perdas. Outras (por exemplo, transferência de arquivos, telnet) exigem transferência 100% confiável Temporização: Algumas aplicações (por exemplo, telefonia em Internet, jogos interativos) requerem baixo retardo para serem “viáveis”. Largura de banda: Algumas aplicações (por exemplo, multimídia) requerem quantia mínima de banda para serem “viáveis”. Outras aplicações (“elásticas”) conseguem usar qualquer quantia de banda disponível. Que serviços de transporte a aplicação precisa?

Redes de Computadores I – Prof. Mateus Raeder Requisitos do serviço de transporte de aplicações comuns AplicaçãoPerdasBandaSensibilidade temporal transferência de arqssem perdaselásticanão correiosem perdaselásticanão documentos WWWsem perdaselásticanão áudio/vídeo de tempo real tolerante áudio: 5Kb-1Mb | vídeo:10Kb-5Mb sim, décimos de seg. áudio/vídeo gravadotolerantecomo anteriorsim, alguns seg. jogos interativostolerante> alguns Kbpssim, décimos de seg. apps financeirassem perdaselásticasim e não

Redes de Computadores I – Prof. Mateus Raeder Serviço TCP: – Orientado a conexão: estabelecimento exigido entre cliente e servidor. – Transporte confiável entre processos emissor e receptor. – Controle de fluxo : emissor não vai “afogar” receptor. – Controle de congestionamento : estrangular emissor quando a rede está carregada. Serviço UDP: – Não orientado a conexão –Transferência de dados não confiável entre processos remetente e receptor. –Não provê: estabelecimento da conexão, confiabilidade, controle de fluxo, controle de congestionamento, garantias temporais ou de banda mínima. –Pergunta-se: Qual é o interesse em ter um UDP? Serviços providos por protocolos de transporte Internet

Redes de Computadores I – Prof. Mateus Raeder Aplicações Internet: seus protocolos e seus protocolos de transporte Aplicação Protocolo da camada de app. Protocolo de transporte usado Correio eletrônicosmtp [RFC 821]TCP Acesso terminal remoto telnet [RFC 854]TCP WWWhttp [RFC 2068]TCP Transferência de arquivos ftp [RFC 959]TCP streaming multimídia proprietário (Ex: RealNetworks) TCP ou UDP Servidor de arquivo remoto NFSTCP ou UDP Telefonia Internet proprietário (Ex: Volcatec) tipicamente UDP

Redes de Computadores I – Prof. Mateus Raeder Os principais protocolos de aplicação HTTP e FTP

Redes de Computadores I – Prof. Mateus Raeder Página WWW: –Consiste de “objetos” –Endereçada por um URL - Universal Resource Locator. Quase todas as páginas WWW consistem de: –Página base HTML, e –Vários objetos referenciados. URL tem duas partes: –nome de hospedeiro, e nome de caminho: Agente de usuário para WWW se chama de browser: –MS Internet Explorer. –Firefox. Servidor para WWW se chama “servidor WWW”: –Apache (domínio público). –MS Internet Information Server (IIS). WWW

Redes de Computadores I – Prof. Mateus Raeder WWW: o protocolo http http: HyperText Transfer Protocol –Protocolo da camada de aplicação para WWW. –Modelo cliente-servidor cliente: browser que solicita, recebe (“visualiza”) objetos WWW. servidor: servidor WWW envia objetos em resposta a pedidos. –http1.0: RFC 1945 –http1.1: RFC 2068 PC running Explorer Server running Apache Web server Mac running Safari HTTP request HTTP response

Redes de Computadores I – Prof. Mateus Raeder Usa serviço de transporte TCP: –1.) Cliente inicia conexão TCP (cria socket) ao servidor, na porta 80. –2.) Servidor aceita conexão TCP do cliente. –3.) Troca mensagens http (mensagens do protocolo da camada de aplicação) entre browser (cliente http) e servidor WWW (servidor http). –4.) Encerra conexão TCP. http é “ sem estado” (stateless) –Servidor não mantém informação sobre pedidos anteriores do cliente. Mais sobre o protocolo http Protocolos que mantêm “estado” são complexos! História passada (estado) tem que ser guardada. Caso caia servidor/cliente, suas visões do “estado” podem ser inconsistentes, devem ser reconciliadas

Redes de Computadores I – Prof. Mateus Raeder Exemplo de http Supondo que um usuário digita a URL 1a. Cliente http inicia conexão TCP ao servidor http (processo) em Porta 80 é padrão para servidor http. 2. cliente http envia mensagem de pedido de http (contendo URL) através do socket da conexão TCP 1b. servidor http no hospedeiro espera por conexão TCP na porta 80. “Aceita” conexão, avisando ao cliente 3. servidor http recebe mensagem de pedido, formula mensagem de resposta contendo objeto solicitado (index.html), e envia mensagem via socket. TEMPO (Ex: contém texto, referências a 10 imagens jpeg)...

Redes de Computadores I – Prof. Mateus Raeder Exemplo de http (continuação) TEMPO 4. servidor http encerra conexão TCP. 5. cliente http recebe mensagem de resposta contendo arquivo html “inicial.html”, e visualiza Html. Analisando arquivo html, encontra 10 objetos jpeg referenciados. 6. Passos 1 a 5 repetidos para cada um dos 10 objetos jpeg E então, continua...

Redes de Computadores I – Prof. Mateus Raeder Não persistente: –HTTP/1.0 –Servidor analisa pedido, responde, e encerra conexão TCP. –2 RTTs para trazer cada objeto (RTT = round trip Time  tempo de viagem de ida e volta) Persistente: –Default for HTTP/1.1 –Na mesma conexão TCP: servidor analisa pedido, responde, analisa novo pedido, etc... –Cliente envia pedidos para todos objetos referenciados, assim que recebe o HTML base. – Menos RTTs. –Consexão é encerrada depois de determinado tempo sem uso Conexões não-persistente e persistente

Redes de Computadores I – Prof. Mateus Raeder Conexão não-persistente (1) 1.O cliente HTTP inicia uma conexão TCP com o servidor. 2.O cliente emite mensagem de requisição HTTP através do socket associado com a conexão do TCP que foi estabelecida. 3.Servidor HTTP recebe o request através do socket associado com a conexão estabelecida, recupera o objeto /ai/inicial.html de seu armazenamento, encapsula o objeto em uma mensagem HTTP de resposta, e emite a mensagem de resposta através do socket. 4.O servidor diz ao cliente para fechar a conexão TCP. 5.O cliente recebe a mensagem de resposta. A conexão TCP termina. A mensagem indica que o objeto encapsulado é um arquivo HTML. O cliente extrai o arquivo da mensagem de resposta, analisa, e encontra referências a 10 objetos do JPEG. 6. As primeiras quatro etapas são repetidas então para cada um dos objetos JPEG referenciados.

Redes de Computadores I – Prof. Mateus Raeder Conexão não-persistente (2) Cada conexão TCP transporta exatamente uma mensagem de pedido e uma mensagem de resposta. No nosso exemplo, quando um usuário requisita página, 11 conexões TCP são geradas. Nas etapas das conexões não persistentes, cada conexão do TCP é fechada depois que o servidor envia o objeto: a conexão não persiste para outros objetos. Quando o browser recebe uma página, mostra a página ao usuário. Dois browsers diferentes podem interpretar (isto é, mostrar ao usuário) um Web page de maneiras um diferentes. O HTTP não tem nada ver como um Web page é interpretado por um cliente. As especificações do HTTP (RFC1945 e RFC2616) definem somente o protocolo de comunicação entre o programa HTTP do cliente e o programa HTTP do servidor.

Redes de Computadores I – Prof. Mateus Raeder RTT (Round Trip Time) Definição: tempo que um pacote leva para ser enviado e retornar ao cliente; Tempo de resposta: –Um RTT para iniciar a conexão TCP; –Um RTT para enviar requisição HTTP e receber os primeiros bytes da resposta; Tempo de transmissão do arquivo –Total: 2RTT + tempo de transmissão time to transmit file initiate TCP connection RTT request file RTT file received time

Redes de Computadores I – Prof. Mateus Raeder Problemas do HTTP não persistente: –Gasta 2RTT para cada objeto –OS deve alocar recursos para cada conexão TCP –Browsers costumam abrir conexões paralelas HTTP persistente –Servidor deixa as conexões abertas após enviar a resposta –Mensagens HTTP seguintes são enviadas usando esta conexão Conexão persistente

Redes de Computadores I – Prof. Mateus Raeder Conexão persistente Persistente sem paralelismo –Cliente envia nova requisição apenas quando a mensagem anterior tiver sido recebida –Um RTT para cada objeto referenciado Persistente com paralelismo –Padrão no HTTP/1.1 –Cliente envia requisições no momento em que encontra objetos referenciados –Pouco maior que um RTT para todos os objetos referenciados