Parte 2: Camada de Aplicação Nossos objetivos : Outros objetivos: Conceitos, aspectos de implementação dos protocolos de aplicação: Paradigma client. Modelos de serviço. Aprender sobre protocolos pelo exame de protocolos de aplicação populares. Protocolos específicos: dhcp dns ftp http pop smtp snmp Tftp * Implementados nos roteadroes. 2: Application Layer 1 Aplicações e Protocolos da Camada de Aplicações Aplicação: comunicação entre processos distribuídos : Executam nos host s da rede no space. Trocam mensagens entre aplicações implementadas. Ex.:, e, ftp, Web, Protocolos da Camada de Aplicação: Uma parte de uma aplicação. Define o formato das mensagens e as ações da aplicação. Utiliza os serviços de comunicação fornecidos pelos protocolos da camada inferior (TCP, UDP). 2: Application Layer 2 1
Aplicações de rede: algumas expressões Processo: programa executando dentro de um host. Dentro do mesmo host, dois processos se comunicam por : interprocess communication (definido pelo OS). Processos executando em diferentes hosts, comunicam-se com: -layer protocol. Agente de usuário: software que fornece a interface para o usuário: Implementa protocolos do nível de aplicação. Web: browser. E-: reader. Streaming audio/video: media player. 2: Application Layer 3 Paradigma Client- Client: Aplicações de rede típicas possuem duas partes: client and. Inicializa contato com o ( speaks first ). Tipicamente requisita um serviço para o. Web: client implemented in browser; e-: in reader. Server: Fornece o serviço requisitado pelo client. Ex.:, Web envia requisição de Web page, envia e-. request reply 2: Application Layer 4 2
Protocolos da Camada de Aplicação (cont) Q: Como fazer um processo identificar outro processo com o qual deseja se comunicar? IP address do host que executa o outro processo. port number permite ao host que recebe a mensagem, identificar para qual processo se destina. /etc/services - Linux services* - Windows Client Server 2: Application Layer 5 Quais serviços de e uma aplicação necessita? Data loss Algumas aps (ex.:, áudio) podem tolerar loss. Outras aps (ex.:, file transfer, telnet) requerem 100% confiabilidade. Timing Algumas aps (ex.:, Internet telephony, interactive games) requerem low delay para serem effective. Bandwidth Algumas aps (ex.:, multimedia) requerem um mínimo de bandwidth para serem effective. Outras aps ( elastic apps ) fazem uso de qualquer bandwidth que consigam obter. 2: Application Layer 6 3
Requisitos do serviço de e para aps comuns Application Data loss Bandwidth Time Sensitive file transfer e- Web documents real-time audio/video stored audio/video interactive games financial apps no loss no loss loss-tolerant loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5Kb-1Mb video:10kb-5mb same as above few Kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no 2: Application Layer 7 Serviços dos Protocolos de Transporte TCP service: connection-oriented: setup necessário entre o client e o. reliable entre o processo que envia e o que recebe. flow control: quem envia respeita as condições de quem recebe. congestion control: controla o remetente quando a rede está sobrecarregada. does not providing: timing, mínimo de bandwidth garantida. UDP service: Transferência de dados não confiável entre remetente e destinatário. Não fornece: connection setup, reliability, flow control, congestion control, timing, or bandwidth garantida. Q: Por que utilizar o UDP? 2: Application Layer 8 4
Internet aps:, protocols Application e- remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) NSF proprietary (e.g., Vocaltec) Transport protocol TCP TCP TCP TCP TCP or UDP TCP or UDP typically UDP 2: Application Layer 9 A Web: O http http: hypertext transfer protocol Protocolo da camada de aplicação para Web. Modelo client/: client: browser que requests, receives, displays Web objectos. : Web sends objectos em resposta para requests. http1.0: RFC 1945 http1.1: RFC 2068 PC running Navegador IE Client PC executando Navegador IE http request http response http request http response Server PC APACHE Web 2: Application Layer 10 5
O http protocol: more http: TCP service: Client inicializa conexão TCP (cria socket) para, na porta 80. Server aceita conexão TCP do client. Mensagens http (layer protocol messages) são trocadas entre browser (http client) e Web (http ). Conexão TCP é encerrada closed. http é stateless não mantêm nenhuma informação sobre as requisições anteriores dos client s.! Protocolos que mantêm state são complexos! Histórico passado (state) deverá ser mantido. Se o /client crashes, suas visões de state poderão ser incosistente, mas devem ser reconciliadas. 2: Application Layer 11 http example Suppose enters URL http://www.ucpel.tche.br/oficial/index2.htm (contêm texto e referência para 10 imagens jpeg) time 1a. Client http requisita conexão TCP para o http (process) www.ucpel.tche.br. Porta 80 é default para http. 2. Client http envia http request message (contendo a URL) dentro de um socket de conexão TCP. 1b. Server http no host www.ucpel.tche.br aguarda por conexões TCP na porta 80 e accepts aceita a conexão, notificando o client. 3. Server http recebe a mensagem de requisição, forma uma response message com os objetos requisitados (index2.htm), enviando a mensagem dentro de um socket. 2: Application Layer 12 6
Exemplo http (cont.) time 5. Client http recebe a mensagem contendo o arquivo html, exibe o html. Analisando o arquivo html, encontra 10 referência para 10 objetos jpeg. 6. Passos 1-5 repetidos para cada um dos 10 objetos jpeg. 4. Server http fecha a conexão TCP. 2: Application Layer 13 Web Caches (proxy ) Objetivo: atender requisições de client sem envolver o de origem. sets browser: Web accesses via web cache client sends all http requests to web cache object in web cache: web cache returns object else web cache requests object from origin, then returns object to client client client http request http response http request http response Proxy http request http response origin origin 2: Application Layer 14 7
Movitação para um Web Caching? Assume: cache is close to client (e.g., in same ) smaller response time: cache closer to client decrease traffic to distant s link out of institutional/local ISP often bottleneck institutional public Internet 1.5 Mbps access link 10 Mbps LAN origin s institutional cache 2: Application Layer 15 ftp: the file transfer protocol at host FTP interface FTP client local file system file transfer FTP remote file system Transferência de arquivo to/from host remoto. client/ model client: reponsável por inicializar a transferência. : processo executando em background. ftp: RFC 959 ftp : porta 21 para comandos, porta 20 para dados. 2: Application Layer 16 8
ftp: separate control, data connections ftp client contacts ftp at port 21, specifying TCP as protocol two parallel TCP connections opened: control: exchange commands, responses between client,. out of band control data: file data to/from ftp maintains state : current directory, earlier authentication FTP client TCP control connection port 21 TCP data connection port 20 FTP 2: Application Layer 17 Electronic Mail Três componentes principais: User s. Mail s. Simple transfer protocol: smtp. User Agent Composing, editing, reading messages. e.g., Eudora, Outlook, Pine, Direto. Outgoing, incoming messages stored on. outgoing message queue box 2: Application Layer 18 9
Electronic Mail: s outgoing message queue Mail Servers box contains incoming messages (yet to be read) for message queue of outgoing (to be sent) messages smtp protocol between s to send e messages client: sending : receiving box 2: Application Layer 19 Mail message format smtp: protocol for exchanging e msgs RFC 822: standard for text message format: header lines, e.g., To: From: Subject: different from smtp commands! body the message, ASCII characters only header body blank line 2: Application Layer 20 10
Mail access protocols POP3 or IMAP sender s receiver s : delivery/storage to receiver s Mail access protocol: retrieval from POP: Post Office Protocol [RFC 1939] authorization ( < -->) and download IMAP: Internet Mail Access Protocol [RFC 1730] more features (more complex) manipulation of stored msgs on HTTP: Hot, Yahoo! Mail, etc. 2: Application Layer 21 11