aula 5 camada de aplicacao

Download Aula 5   camada de aplicacao

Post on 24-May-2015

2.867 views

Category:

Education

3 download

Embed Size (px)

TRANSCRIPT

  • 1. Fundamento de Redes de ComputadoresAula 5 Camada de Aplicao

2. Notas da AulaComo foi o laboratrio do Wireshark? Fundamentos de Redes de Computadores 2/43 3. Relembrando as Camadas Fundamentos de Redes de Computadores 3/43 4. Princpios de Aplicaes de RedeFundamentos de Redes de Computadores 4/43 5. Camada de Aplicao E-mailRedes sociais Web Voice over IP Mensagem instantneaVdeo conferncia em Login remoto tempo real Compartilhamento de E-commercearquivos P2P Jogos em redemultiusurios Clipes de vdeoarmazenados em fluxocontnuo Fundamentos de Redes de Computadores5/43 6. Criando uma aplicao de redeEscreva programas que executemaplicao transporte em (diferentes) sistemas finais rede enlace se comuniquem pela redefsica ex.:, software de servidor Web se comunica com software de navegador WebNo preciso escrever software para dispositivos do ncleo da rede dispositivos do ncleo da rede no aplicaoexecutam aplicaes do usuriotransporterede as aplicaes nos sistemas finais permitem enlace fsicarpido desenvolvimento e propagao application transportnetwork data linkphysical Fundamentos de Redes de Computadores 6/43 7. Arquiteturas de AplicaoCliente-servidorIncluindo centros de dados/cloud computingPeer-to-peer (P2P)Hbrida de cliente-servidor e P2P Fundamentos de Redes de Computadores 7/43 8. Arquitetura Cliente-Servidorservidor: hospedeiro sempre ligado endereo IP permanente server farms por expansoclientes: comunicam-se com o servidor podem estar conectados intermitentemente cliente/servidor podem ter endereos IP dinmicos no se comunicam diretamente entre si Fundamentos de Redes de Computadores 8/43 9. Centro de Dados da GoogleCusto estimado do centro de dados: $600MGoogle gastou $2,4B em 2007 em novoscentros de dadosCada centro de dados usa de 50 a 100megawatts de potnciaFundamentos de Redes de Computadores 9/43 10. Arquitetura P2P PuraNenhum servidor sempreligadoSistemas finais arbitrriosse comunicam diretamentePares so conectadosintermitentemente emudam endereos IPpeer-peeraltamente escalvel, mas difcil de administrarFundamentos de Redes de Computadores 10/43 11. Hbrido de Cliente-Servidor e P2PSkype aplicao P2P voice-over-IP P2P servidor centralizado: achando endereo da parte remota: conexo cliente-cliente: direta (no atravs de servidor)Mensagem instantnea bate-papo entre dois usurios P2P servio centralizado: deteco/localizao da presena do clienteusurio registra seu endereo IP com servidor central quando entra on-lineusurio contacta servidor central para descobrir endereos IP dos parceiros Fundamentos de Redes de Computadores11/43 12. Processos se comunicandoProcesso: programa rodando dentro de umhospedeiroNo mesmo hospedeiro, dois processos secomunicam usando a comunicao entreprocessos (definida pelo SO).Processos em hospedeiros diferentes secomunicam trocando mensagens processo cliente: processo que inicia a comunicao processo servidor: processo que espera para ser contactadoNota: aplicaes com arquiteturas P2P tm processos clientes & processos servidores Fundamentos de Redes de Computadores 12/43 13. Sockets hospedeiro hospedeiro Processo envia/recebeou servidorou servidormensagens de/para seusocketcontrolado pelodesenvolvedor processoprocesso Socket semelhante porta da aplicao socketsocket Processo enviando empurra TCP com TCP commensagem pela porta buffers, Internetbuffers,variveis variveis Processo enviando contacom infraestrutura de controladotransporte no outro lado da pelo OSporta, que leva a mensagemao socket no processoreceptor Fundamentos de Redes de Computadores 13/43 14. Endereando processos Para receber mensagens, processo Identificador inclui endereo IPdeve ter identificadore nmeros de porta Dispositivo hospedeiro tem endereoassociados ao processo noIP exclusivo de 32 bitshospedeiro. Exerccio: use ipconfig do comando Exemplos de nmero de porta:prompt para obter seu endereo IP(Windows)servidor HTTP: 80 P: Basta o endereo IP do hospedeiroservidor de correio: 25em que o processo executado paraidentificar o processo? R: No, muitos processos podemestar rodando no mesmo hospedeiroFundamentos de Redes de Computadores14/43 15. Definies de protocolo da camada de aplicao Tipos de mensagens trocadas, ex.: requisio, resposta Sintaxe da mensagem: que campos nas mensagens & como os campos so delineados Semntica da mensagem significado da informao nos campos Regras de quando e como processos enviam & respondem amensagens Protocolos de domnio pblico: definidos em RFCs prov interoperabilidade ex.: HTTP, SMTP, BitTorrent Protocolos proprietrios: ex.: Skype, ppstreamFundamentos de Redes de Computadores 15/43 16. Que servio de transporte umaaplicao precisa?Perda de dados algumas apls. (p. e., udio) podem tolerar alguma perda outras apls. (p. e., transferncia de arquivos, telnet) exigemtransferncia de dados 100% confivelTemporizao algumas apls. (p. e., telefonia na Internet jogos interativos)exigem pouco atraso para serem eficazesVazo algumas apls. (p. e., multimdia) exigem um mnimo de vazopara serem eficazes outras apls. (apls. elsticas) utilizam qualquer vazo quereceberemSegurana criptografia, integridade de dados, Fundamentos de Redes de Computadores 16/43 17. Requisitos de servio de transporte dasaplicaes comuns Aplicao Perda de dados VazoSensvel ao tempotransf. arquivos sem perdaelstica noe-mail sem perdaelstica nodocumentos Web sem perdaelstica no udio/vdeo tolerante a perdaudio: 5 kbps-1 Mbps sim, centenas de ms tempo real vdeo:10 kbps-5 Mbps udio/vdeo tolerante a perdao mesmo que antessim, alguns seg armazenado jogos interativos tolerante a perdapoucos kbps ou maissim, centenas de ms Mensagemsem perdaelstica sim e noinstantneaFundamentos de Redes de Computadores 17/43 18. Servios de protocolos de transporte daInternetServio TCP: orientado a conexo: preparao exigida entre processos cliente e servidor transporte confivel entre processo emissor e receptor controle de fluxo: emissor no sobrecarrega receptor controle de congestionamento: regula emissor quando a rede estsobrecarregada no oferece: temporizao, garantias mnimas de vazo, seguranaServio UDP: transferncia de dados no confivel entre processo emissor e receptor no oferece: preparao da conexo, confiabilidade, controle de fluxo,controle de congestionamento, temporizao, garantia de vazo ousegurana Por que se incomodar? Por que existe um UDP? Fundamentos de Redes de Computadores 18/43 19. Aplicaes da Internet: aplicao, protocolos de transporte Protocolo da camadaProtocolo de Aplicao de aplicao transporte bsicoe-mail SMTP [RFC 2821]TCP acesso remoto Telnet [RFC 854] TCP Web HTTP [RFC 2616]TCPtransf. arquivos FTP [RFC 959]TCPmultimdia com HTTP (p. e., Youtube), TCP ou UDPfluxo contnuo RTP [RFC 1889] telefonia daSIP, RTP, proprietrioInternet (p. e., Skype) normalmente UDPFundamentos de Redes de Computadores19/43 20. WEB e o HTTPPgina Web consiste em objetosObjeto pode ser arquivo HTML, imagem JPEG,applet Java, arquivo de udio,Pgina Web consiste em arquivo HTML bsicoque inclui vrios objetos referenciadosCada objeto endereavel por um URLhttp://www.fatecindaiatuba.edu.br/servicos_online/secr_academica/index.phpNome do Hospedeiro Nome do CaminhoFundamentos de Redes de Computadores 20/43 21. Viso geral do HTTPHTTP: HyperText req Transfer Protocolu isi HT oPC rodando res TPpos protocolo da camadaMozilla ta HTTPde aplicao da WebP modelo cliente/servidor H TT io P Servidor uisHTT cliente: navegador que req sta rodando poservidor Webresrequisita, recebe,Apacheexibe objetos WebMac rodando servidor: servidor WebNavigatorenvia objetos emresposta arequisies Fundamentos de Redes de Computadores 21/43 22. Viso geral do HTTPUsa TCP:HTTP sem estado cliente inicia conexo TCP servidor no guarda(cria socket) com informaes sobreservidor, porta 80requisies passadas docliente servidor aceita conexoTCP do cliente mensagens HTTP (do Protocolos que mantm protocolo da camada deestado so complexos! aplicao) trocadas entre histria passada (estado) navegador (cliente HTTP)deve ser mantida e servidor Web (servidor se servidor/cliente falhar, HTTP) suas vises do estado conexo TCP fechada podem ser incoerentes, devem ser reconciliadas Fundamentos de Redes de Computadores 22/43 23. Conexes HTTPHTTP no persistente no mximo um objeto enviado por uma conexoTCP.HTTP persistente mltiplos objetos podem ser enviados por umanica conexo TCP entre cliente e servidor.Fundamentos de Redes de Computadores 23/43 24. HTTP no persistente Suponha que o usurio digite o URLwww.someSchool.edu/someDepartment/home.index1a. Cliente HTTP inicia conexo TCPcom servidor HTTP (processo) em 1b. Servidor HTTP no hospedeirowww.someSchool.edu na porta 80. www.someSchool.edu esperandoconexo TCP na porta 80. aceitaconexo, notificando cliente2. Cliente HTTP envia mensagem derequisio HTTP (contendo URL) pelosocket de conexo TCP. Mensagem 3. Servidor HTTP recebe mensagem deindica que cliente deseja o objetorequisio, forma mensagem desomeDepartment/home.index.resposta contendo objeto requisitado eTempoenvia mensagem para seu socket5. Cliente HTTP recebe mensagem de4. Servidor HTTP fecha conexo TCP.resposta contendo arquivo html, exibehtml. Analisando arquivo html, acha 10objetos JPEG referenciados.6. Etapas 1-5 repetidas para cada umdos 10 objetos JPEG.Fundamentos de Redes de Computadores24/43 25. HTTP no Persistente Tempo de RespostaDefinio de RTT: tempo para um pequeno pacote trafegar do cliente ao servidor e retornar.iniciatempo de resposta:conexo TCP RTT um RTT para iniciar a conexo requisitaTCParquivo tempo para um RTT para a requisio HTTP e RTT transmitirprimeiros bytes da resposta HTTP arquivo arquivoretornarem recebido tempo de transmisso de arquivo tempo tempo total = 2RTT + tempo detransmissoFundamentos de Redes de Computadores 25/43 26. HTTP PersistenteProblemas do HTTP no persistente: requer 2 RTTs por objeto overhead do SO para cada conexo TCP navegadores geralmente