SlideShare una empresa de Scribd logo
1 de 100
Descargar para leer sin conexión
Universidade Federal da Paraíba
                                Centro de Ciências Aplicadas e Educação
                                Departamento de Ciências Exatas




      Redes de Computadores:
      Camada de Aplicação


                                         Prof. Rafael Marrocos Magalhães
                                                            rafael@dce.ufpb.br

    28 de Fevereiro de 2012                                                                                               UFPB - CCAE - DCE


    Esta apresentação contém partes, ou mesmo slides inteiros, da apresentação original disponibilizada por J.F Kurose e K.W. Ross, com permissão para
                   utilização como material de apoio instrucional. E, conforme solicitação do original, incluí aqui a nota de direito autoral.

sexta-feira, 2 de março de 12                                                                                                                            1
Motivação


                                Como usamos a Internet?




sexta-feira, 2 de março de 12                             2
Sumário
                          Aplicações
                          Princípios de aplicações em redes
                          A Web e o Protocolo HTTP
                          FTP - transferência de arquivos
                          Correio Eletrônico (STMP, POP3, IMAP)
                          DNS - Nomes X IPs
                          Aplicações P2P


sexta-feira, 2 de março de 12                                     3
sexta-feira, 2 de março de 12   4
Algumas aplicações
                                Outras aplicações
                                 de rede
         !  e-mail                         !  redes sociais
         !  web                            !  voice over IP
         !  mensagem instantânea           !  vídeoconferência em
         !  login remoto                      tempo real
         !  compartilhamento de            !  computação em grade
            arquivos P2P
         !  jogos em rede
            multiusuários
         !  clipes de vídeo
            armazenados em fluxo
            contínuo


sexta-feira, 2 de março de 12                                       5
Objetivos
                          Aspectos conceituais sobre protocolos de
                          aplicação
                                modelos de serviço de transporte
                                paradigma cliente-servidor
                                paradigma peer-to-peer
                          Exemplos na prática
                          HTTP, FTP, STMP/POP3/IMAP, DNS, etc...


sexta-feira, 2 de março de 12                                        6
Criar Aplicações!?
                                           Criando uma aplicação
             Criando uma aplicação         de rede
                                        Escreva programas que
                                                                                            aplicação




             de rede
                                                                                           transporte
                                                                                              rede
                                            "    executem em (diferentes)                    enlace
                                                                                              física
                                                 sistemas finais
                                            "    se comuniquem pela rede
                                                                                                                     aplicação
    Escreva programas que                   "    p. e., software de servidor Web
                                                 se comunica com software de
                                                                                                                    transport
                                                                                                                       rede
                "       executem em é(diferentes)navegador Web
                                    Não preciso escrever software
                                                                                                                      enlace
                                                                                                                       física
                        sistemas finais dispositivos do núcleo da
                                      para                                          aplicação

                                      rede                                         transporte


                        se comuniquemdispositivos do núcleo da rede
                                            pela rede
                                                                                      rede
                                                                                     enlace
                "                      "                                              física

                                          não executam aplicações do                                       application


                        p. e., software usuárioservidor Web
                                           de
                                                                                                           transport

                "                                                                                           network
                                                                                                            data link
                                       "  as aplicações nos sistemas finais
                                                                                                            physical

                        se comunica com software de
                                          permitem rápido

                        navegador Web     desenvolvimento e propagação


    Não é preciso escrever software
      para dispositivos do núcleo da                                                                     aplicação

      rede                                                                                              transporte
                                                                                                           rede
                                                                                                          enlace
                "       dispositivos do núcleo da rede
sexta-feira, 2 de março de 12                                                                              física           7
Escreva programas que                                                                         transporte
                                                                                                         rede
                   "      executem em (diferentes)                                                      enlace


                                Criar Aplicações!?
                                                                                                         física
                          sistemas finais
                   "      se comuniquem pela rede
                                        Criando uma aplicação
                   "      p. e., software de servidor Web
                                        de rede
                          se comunica comprogramas que de
                                      Escreva
                                               software                                   aplicação
                                                                                         transporte

                          navegador Web  "  executem em (diferentes)
                                                                                            rede
                                                                                           enlace
                                                                                            física
                                               sistemas finais
        Não é preciso escrever software
                          "                    se comuniquem pela rede

          para dispositivos do núcleo da
                          "                    p. e., software de servidor Web
                                               se comunica com software de                     aplicação

          rede                                 navegador Web                                  transporte
                                                                                                 rede
                                 Não é preciso escrever software                                enlace
                   "  dispositivos do núcleo da rede da
                                   para dispositivos do núcleo                    aplicação      física
                                   rede                                          transporte

                          não executam" aplicaçõesnúcleo da rede
                                           dispositivos do
                                                            do                      rede
                                                                                   enlace
                                                                                    física

                          usuário          não executam aplicações do                                      application
                                                                                                           transport
                                           usuário                                                          network

                          as aplicações "  as aplicações nos sistemas finais
                                        nos sistemas finais
                                                                                                            data link
                   "                                                                                        physical



                          permitem rápido  permitem rápido
                                           desenvolvimento e propagação
                          desenvolvimento e propagação




sexta-feira, 2 de março de 12                                                                                            8
Arquitetura de
                                     Aplicações
                                Cliente-servidor
                                 Incluindo centros de dados/cloud
                                 computing

                                Peer-to-peer (P2P)

                                Híbrida cliente-servidor/p2p



sexta-feira, 2 de março de 12                                       9
Arquitetura cliente-ser
                                cliente-servidor
                                                          ser
rvidor
             servidor:
rvidor:
 "  hospedeiro sempre ligado
 "  endereço IP permanente
                                                          clie
 "  server farms por expansão
entes:
"     comunicam-se com o servidor     cliente/servidor
"     podem estar conectados
      intermitentemente
"     podem ter endereços IP
      dinâmicos
"     não se comunicam diretamente
      entre si
sexta-feira, 2 de março de 12                              10
ervidor
                                         Arquitetura cliente-se
                                 cliente-servidor
ervidor:
   "  hospedeiro sempre ligado
                                                             se
   "  endereço IP permanente
   "  server farms por expansão
 ientes:cliente:
         comunicam-se com o servidor
   " 
                                                             cl
   "     podem estar conectados
         intermitentemente
   "     podem ter endereços IP       cliente/servidor
         dinâmicos
   "     não se comunicam diretamente
         entre si



 sexta-feira, 2 de março de 12                               11
Centros de dados da Google

                 !  custo estimado do centro de dados: $600M
                 !  Google gastou $2,4B em 2007 em novos centros de
                    dados
                 !  cada centro de dados usa de 50 a 100 megawatts
                    de potência




sexta-feira, 2 de março de 12                                         12
rquitetura P2P pura
  Arquitetura P2P pura
                                 P2P pura
enhum servidor sempre
  !  nenhum servidor sempre
gado ligado
 stemas finais arbitrários
  !  sistemas finais arbitrários
e comunicam diretamente
     se comunicam diretamente
  !  pares são conectados
ares são conectados
 termitentemente e e
     intermitentemente
     mudam endereços IP
 udam endereços IP             peer-peer
                                  peer-peer


    altamente escalonável,
 altamente escalável, mas
mente escalável, mas
  mas difícil de administrar
    difícil de administrar
fícil de administrar
 sexta-feira, 2 de março de 12                13
Híbrido de cliente-servidor
                       Híbrido: cliente-servidor-P2P
                                 Híbrido de cliente-servidor
                                 e P2P
                                 e P2P
                                Skype
                                   "  aplicação P2P voice-over-IP P2P
                                Skype
                                   "  aplicação centralizado: achando endereço da parte
                                   "  servidor P2P voice-over-IP P2P
                                      remota:
                                   "  servidor centralizado: achando endereço da parte
                                   "  remota: cliente-cliente: direta (não através de
                                      conexão
                                      servidor)
                                   "  conexão cliente-cliente: direta (não através de
                                Mensagem instantânea
                                      servidor)
                                Mensagem instantâneadois usuários é P2P
                                   "  bate-papo entre
                                      serviço centralizado: detecção/localização da
                                   "  bate-papo entre dois usuários é P2P
                                      presença do cliente
                                   "  serviço centralizado: detecção/localização da
                                      presença do cliente seu endereço IP com servidor
                                       •  usuário registra
                                          central quando entra on-line
                                       •  usuário registra seu endereço IP com servidor
                                       •  central quando entra on-line
                                          usuário contacta servidor central para descobrir
                                          endereços IP dos parceiros
                                       •  usuário contacta servidor central para descobrir
                                          endereços IP dos parceiros



sexta-feira, 2 de março de 12                                                                14
Processos e comunicação
       Processos se comunicando

ocessos se comunicando
    processo: programa
       rodando dentro de um
                                  processo cliente:
                                    processo que inicia a
       hospedeiro                   comunicação
nicandomesmo hospedeiro,
    !  no                         processo servidor:
                                   processo cliente:
cesso: programa se
       dois processos               processo que espera
odando dentro de um
       comunicam usando a
       processo cliente:            para ser contactado inicia
                                      processo que               a
       comunicação entre
ospedeiro (definida pelo
       processos que inicia a
         processo                       comunicação
         comunicação
o mesmo hospedeiro,
       SO).                      !  Nota: aplicações com
                                     processo servidor:
    !  processo servidor:
ois processos se
       processos em                 arquiteturas P2P têm
         processo que espera
       hospedeiros diferentes       processos clientes & espera
                                        processo que
omunicam ser contactado
         para usando a
       se comunicam trocando            para ser contactado
                                    processos servidores
omunicação entre
 lo
       mensagens
rocessos (definida pelo
    !  Nota: aplicações com
 O). arquiteturas P2P têm         !  Nota: aplicações com
s       processos clientes &
rocessos em servidores
o       processos
                                    arquiteturas P2P têm
ospedeiros diferentes               processos clientes &
e comunicam trocando                processos servidores
 sexta-feira, 2 de março de 12                                       15
Sockets

 !  processo envia/recebe
    mensagens de/para seu
                                                        Sockets
                                                hospedeiro
                                                ou servidor
                                                                                hospedeiro
                                                                                ou servidor

     Sockets
    socket                                               controlado pelo
 !  socket semelhante à porta
                                                         desenvolvedor
                                           processo      da aplicação              processo
          "  processo enviando empurra
   !      processo envia/recebe
             mensagem pela porta
                                             hospedeiro
                                           socket
                                             ou servidor
                                                                                      hospedeiro
                                                                                   socket
                                                                                      ou servidor
          mensagens de/para seu
          "  processo enviando conta com
                                          TCP com
                                                               Internet
                                                                                  TCP com
          socket
                                          buffers,                                buffers,
             infraestrutura de            variáveis           controlado pelo     variáveis
             transporte no outro lado da
   !      socket que leva a mensagem
             porta,
                    semelhante à porta         processo
                                                              desenvolvedor
                                                              da aplicação               processo
           "  processo enviando empurra
             ao socket no processo                  controlado
                                                                                         socket
                                                socket
               mensagem pela porta
             receptor                               pelo OS
                                              TCP com                                   TCP com
           "  processo enviando conta com
   !      API: (1) escolha do protocolo de transporte; (2)
                                              buffers,              Internet
                                                                                        buffers,
               infraestrutura de              variáveis
          capacidade de consertar alguns parâmetros (muito
             transporte no outro lado da
                                                                                        variáveis

          mais sobre isso adiante)
             porta, que leva a mensagem
                   ao socket no processo                      controlado
                                                              pelo OS
                   receptor
     !  API: (1) escolha do protocolo de transporte; (2)
sexta-feira, 2 de março de 12                                                                       16
Endereço X Processo
                 Endereçando processos

Endereçando processos
   !  para receber mensagens,
                                              "  R: Não, muitos processos
         processo deve ter
         identificador                           estar rodando no mesmo
 para receber mensagens,                         hospedeiro
      !  dispositivo hospedeiro tem R: Não, muitos processos podem
                                    " 
 processo deve ter                        !  Identificador inclui endereç
         endereço IP exclusivo de 32 estar rodando no mesmo
 identificador                               números de porta associados
         bits                          hospedeiro
 dispositivo hospedeiro tem                  processo no hospedeiro.




                                 ?
      !  exercício: use ipconfig Identificador inclui endereço IP e
                                !  do
 endereço IP exclusivo de 32
 bits    comando prompt para obter seu de porta associados ao port
                                   números Exemplos de número de
                                          ! 
                                              "  servidor HTTP: 80
         endereço IP (Windows) processo no hospedeiro.
 exercício: use ipconfig do
                  o endereço IP!  Exemplos de servidorde porta:
      !  P: Basta para obter seu do
 comando prompt
                                              "  número de correio: 25

 endereço IP (Windows) que o processo é
         hospedeiro em              "  servidor HTTP: 80
         executado para identificar oservidor de correio: 25
 P: Basta o endereço IP do          " 
         processo?
 hospedeiro em que o processo é
 executado para identificar o
 sexta-feira, 2 de março de 12                                        17
Definições de protocolo
                    Definição de Protocolo
      da camada de aplicação
     Definições de protocolo
     da camada de aplicação
      !  tipos de mensagens
          1                                   protocolos de domínio
          trocadas,
     !  tipos de mensagens                       público: domínio
                                             protocolos de
           "  p. e., requisição, resposta
        trocadas,                             !  definidos em RFCs
       2 sintaxe da mensagem:
       !                                       público:
             p. e., requisição, resposta
               "                              !  provê interoperabilidade
             "  que campos nas mensagens &   !  definidos em RFCs
     !  sintaxe da os campos são
                como mensagem:                 !  p. e., HTTP, SMTP,
                                             !  provê interoperabilidade
          "  que campos nas mensagens &
                delineados                        BitTorrent
             como os campos são              !  p. e., HTTP, SMTP,
       3 semântica da mensagem
       ! 
             delineados
                                               protocolos proprietários:
                                                BitTorrent
             "  significado da informação
     !  semântica da mensagem                  !  p. e., Skype, ppstream
                                             protocolos proprietários:
                nos campos
          "  significado da informação
       4 regras de quando e como
       !                                     !  p. e., Skype, ppstream
             nos campos
          processos enviam &
     !  regras de quando e como
          respondem a mensagens
        processos enviam &
        respondem a mensagens
sexta-feira, 2 de março de 12                                               18
Quais requisitos sua aplicação exige?


                                1.   perda de dados?
                                2.   temporização?
                                3.   vazão (banda)?
                                4.   segurança?




sexta-feira, 2 de março de 12                          19
Características de de transporte
                                Que serviço  transporte
                                 uma aplicação precisa?
                                perda de dados                  vazão
                                !  algumas apls. (p. e., áudio) !  algumas
                                   podem tolerar alguma perda      multimí
                                !  outras apls. (p. e.,            mínimo
                                   transferência de arquivos,      serem “
                                   telnet) exigem
                                                                !  outras
                                   transferência de dados
                                                                   elástica
                                   100% confiável
                                                                   qualque
                                temporização                       receber
                                !  algumas apls. (p. e.,        segurança
                                   telefonia na Internet
                                   jogos interativos)           !  criptog
sexta-feira, 2 de março de 12                                      de dado
                                                                        20
!  outras apls. (p. e.,        míni
                          Características de de arquivos,
                               transferência transporte        sere
                                  telnet) exigem
                                                            !  outr
                                  transferência de dados
                                                               elás
                                  100% confiável
                                                               qual
                                temporização                   rece
                                !  algumas apls. (p. e.,    segura
                                   telefonia na Internet
                                   jogos interativos)       !  crip
                                   exigem pouco atraso         de d
                                   para serem “eficazes”



sexta-feira, 2 de março de 12                                    21
Características de transporte
ço de transporte
ção precisa?
 s                vazão
s. (p. e., áudio) !  algumas apls. (p. e.,
 ar alguma perda     multimídia) exigem um
 (p. e.,             mínimo de vazão para
 ia de arquivos,     serem “eficazes”
em
                  !  outras apls. (“apls.
 ia de dados
                     elásticas”) utilizam
 vel
                     qualquer vazão que
                     receberem
s. (p. e.,        segurança
  Internet
 tivos)           !  criptografia, integridade
 sexta-feira, 2 de março de 12                             22
rquivos,   serem “eficazes”
         !  outras apls. (“apls.
dados Características de transporte
            elásticas”) utilizam
            qualquer vazão que
            receberem
 ,       segurança
 net
         !  criptografia, integridade
 so         de dados,…
zes”




 sexta-feira, 2 de março de 12          23
Características de transporte
Requisitos de serviço de
 transporte das aplicações
comuns
                   Aplicação    Perda de dados      Vazão                  Sensível ao tempo

        transf. arquivos        sem perda           elástica               não
                  e-mail        sem perda           elástica               não
      documentos Web            sem perda           elástica               não
            áudio/vídeo         tolerante a perda   áudio: 5 kbps-1 Mbps   sim, centenas de ms
             tempo real                             vídeo:10 kbps-5 Mbps
            áudio/vídeo         tolerante a perda   o mesmo que antes      sim, alguns seg
           armazenado
       jogos interativos        tolerante a perda   poucos kbps ou mais    sim, centenas de ms
             Mensagem           sem perda           elástica               sim e não
            instantânea




sexta-feira, 2 de março de 12                                                                    24
Dois tipos de serviços
                 Serviços de protocolos de
                 Serviços de protocolos de
                 transporte da Internet
                             da Internet
                 transporte
                   serviço TCP:
                 serviço TCP:
                                                           serviço
                                                       serviço UDP:      UDP:
                 serviço TCP:                         serviço UDP:
                 !  orientado a conexão:
                 !  orientado a conexão:              !  !  transferência de dados
                                                          transferência de dados
                        preparação exigida entre
                        preparação exigida entre             não confiável entre
                                                           não confiável entre
                        processos cliente ee servidor
                        processos cliente servidor         processo emissor e e
                                                             processo emissor
                        transporteconfiável entre
                                    confiável entre          receptor
                                                           receptor
                 ! 
                 !      transporte
                        processo emissor ee receptor !  !  não oferece: preparação
                        processo emissor receptor          não oferece: preparação
                 !      controle de fluxo: emissor não
                        controle de fluxo: emissor não     dada conexão,
                                                              conexão,
                        sobrecarrega receptor
                        sobrecarrega receptor                confiabilidade, controle
                                                           confiabilidade, controle
                                                           dede fluxo, controle de
                                                              fluxo, controle de
                 !      controle de congestionamento:
                        controle de congestionamento: congest., temporização,
                        regula emissor quando a a rede
                                                rede         congest., temporização,
                        regula emissor quando              garantia de de vazão ou
                        está sobrecarregada                  garantia vazão ou
                        está sobrecarregada                segurança
                                                             segurança
                 !      não oferece: temporização,
                        não oferece: temporização,
                 !                                     P: P: por que se incomodar? Por
                                                          por que se incomodar? Por
                        garantias mínimas de vazão,
                        garantias mínimas de vazão,        que existe umum UDP?
                                                             que existe UDP?
                        segurança
                        segurança

sexta-feira, 2 de março de 12                                                            25
Características de transporte
plicações da Internet: aplicação,
rotocolos de transporte
                                     Protocolo da camada      Protocolo de
                         Aplicação   de aplicação             transporte básico

                         e-mail      SMTP [RFC 2821]          TCP
              acesso remoto          Telnet [RFC 854]         TCP
                          Web        HTTP [RFC 2616]          TCP
             transf. arquivos        FTP [RFC 959]            TCP
             multimídia com          HTTP (p. e., Youtube),   TCP ou UDP
               fluxo contínuo        RTP [RFC 1889]
                  telefonia da       SIP, RTP, proprietário
                       Internet      (p. e., Skype)           normalmente UDP




 sexta-feira, 2 de março de 12                                                    26
A Web e o HTTP



sexta-feira, 2 de março de 12               27
Inovação
                       1870 Telefone
                       1920 Rádio/TV
                       1990 WEB
                       por demanda, não à mercê da
                       operadora!
                       várias interfaces

sexta-feira, 2 de março de 12                        28
Web e HTTP
                                         Conceitos
                 primeiro, algum jargão
                 !  página Web consiste em objetos
                 !  objeto pode ser arquivo HTML, imagem JPEG,
                    applet Java, arquivo de áudio,…
                 !  página Web consiste em arquivo HTML básico que
                    inclui vários objetos referenciados
                 !  cada objeto é endereçável por um URL
                 !  exemplo de URL:
                                www.someschool.edu/someDept/pic.gif

                                 nome do hospedeiro   nome do caminho


sexta-feira, 2 de março de 12                                           29
Funcionamento
      Visão geral do HTTP
         Visão geral do HTTP

         HTTP: HyperText
      HTTP: HyperText
           Transfer Protocol
        Transfer Protocol
                     !  protocolo da camada de   PC rodando
      !  protocolo da da Web de
              aplicação camada                    PC rodando
                                                  Explorer
         aplicação da Web
           !  modelo cliente/servidor
                                                   Explorer

      !  modelo cliente: navegador que
                "  cliente/servidor
                   requisita, recebe,
          "  cliente: navegador que                                Servidor
                   “exibe” objetos Web                              rodando
             requisita, recebe,                                            Servid
                                                                 servidor Web
                "  servidor: servidor Web
             “exibe” objetos em
                   envia objetos Web
                                                                    Apache rodan
                                                                       servidor
          "  servidor: servidor Web
                   resposta a requisições
                                                  Mac rodando             Apach
                        envia objetos em           Navigator
                        resposta a requisições
                                                   Mac rodando
                                                    Navigator
sexta-feira, 2 de março de 12                                                 30
Funcionamento
             Usa Conexão TCP!
             usa TCP:                         HTTP é “sem estado”
                                              !  servidor não guarda
             !  cliente inicia conexão TCP       informações sobre
        (cria socket) com servidor,              requisições passadas do
                                                 cliente
        porta 80
                                                 HTTP é “sem estado”
                                                 HTTP é “sem estado”
a TCP:
     !  servidor aceita conexão TCP
                                                           aparte
        do cliente                                 !  servidor não guarda
                                             Protocolos que mantêm
cliente mensagens HTTP (doTCP
     !  inicia conexão                          “estado” são complexos! sobre
                                                       informações
(cria socket) com servidor,
        protocolo da camada de                         requisições passadas do
                                             !  história passada (estado)
        aplicação) trocadas entre                      cliente
porta 80navegador (cliente HTTP) e
                                                deve ser mantida
                                             !  se servidor/cliente falhar,
servidor aceita conexão TCP
        servidor Web (servidor
        HTTP)                                   suas visões do “estado”       aparte
do cliente                                      podem ser incoerentes,
                                                Protocolos que mantêm
     !  conexão TCP fechada
                                                devem ser reconciliadas
mensagens HTTP (do                                “estado” são complexos!
protocolo da camada de                         !  história passada (estado)
aplicação) trocadas entre
sexta-feira, 2 de março de 12                                                          31
Tipos de HTTP
         Conexões HTTP

         HTTP não persistente          HTTP persistente
         !  no máximo um objeto é      !  múltiplos objetos
            enviado por uma               podem ser enviados
            conexão TCP.                  por uma única conexão
                                          TCP entre cliente e
                                          servidor.




sexta-feira, 2 de março de 12                                     32
HTTP não persistente
             HTTP não persistente
         Suponha que o usuário digite o URL
                                                                             (contém texto,
         www.someSchool.edu/someDepartment/home.index
                                                                            referências a 10
                                                                            imagens JPEG)
             1a. Cliente HTTP inicia conexão TCP
                    com servidor HTTP (processo) em
                                                      1b. Servidor HTTP no hospedeiro
                    www.someSchool.edu na porta 80.
                                                         www.someSchool.edu
                                                         esperando conexão TCP na
                                                         porta 80. “aceita” conexão,
                                                         notificando cliente
             2. Cliente HTTP envia mensagem
                   de requisição HTTP (contendo
                   URL) pelo socket de conexão        3. Servidor HTTP recebe mensagem
                   TCP. Mensagem indica que             de requisição, forma mensagem de
                   cliente deseja o objeto              resposta contendo objeto
                   someDepartment/home.index.           requisitado e envia mensagem
                                                        para seu socket
  tempo


sexta-feira, 2 de março de 12                                                                  33
HTTP não persistente
                                                                 4. Servidor HTTP fecha conexão
                                                                   TCP.
                      5. Cliente HTTP recebe
                                mensagem de resposta
                                contendo arquivo html, exibe
                                html. Analisando arquivo html,
                                acha 10 objetos JPEG
                                referenciados.
 tempo 6. Etapas 1-5 repetidas para cada
                                um dos 10 objetos JPEG.




sexta-feira, 2 de março de 12                                                                     34
HTTP não persistente
       HTTP não persistente:
    Tempo de de resposta
       tempo  resposta
            definição de RTT: tempo para
               um pequeno pacote trafegar
               do cliente ao servidor e
               retornar.                  inicia
                                          conexão TCP
            tempo de resposta:                    RTT
            !  um RTT para iniciar a conexão requisita
                                              arquivo
               TCP                                                 tempo para
                                                   RTT
                                                                   transmitir
            !  um RTT para a requisição                            arquivo
               HTTP e primeiros bytes da         arquivo
                                                 recebido
               resposta HTTP retornarem
            !  tempo de transmissão de                  tempo   tempo
               arquivo
            total = 2RTT + tempo de transmissão

sexta-feira, 2 de março de 12                                                   35
HTTP persistente
    HTTP persistente

    problemas do HTTP não         HTTP persistente:
       persistente:               !  servidor deixa a conexão
    !  requer 2 RTTs por objeto      aberta depois de enviar a
    !  overhead do SO para cada      resposta
       conexão TCP                !  mensagens HTTP seguintes
    !  navegadores geralmente        entre cliente/servidor
       abrem conexões TCP            enviadas pela conexão aberta
       paralelas para buscar      !  cliente envia requisições assim
       objetos referenciados         que encontra um objeto
                                     referenciado
                                  !  no mínimo um RTT para todos
                                     os objetos referenciados


sexta-feira, 2 de março de 12                                          36
Mensagem de requisição
                           Mensagens do HTTP
                        HTTP
                    !  dois tipos de mensagens HTTP:            requisição, resposta
                    !  mensagem de requisição HTTP:
                       "  ASCII (formato de texto legível)


             linha de requisição
               (comandos GET,              GET /somedir/page.html HTTP/1.1
                POST, HEAD)                Host: www.someschool.edu
                                           User-agent: Mozilla/4.0
                                 linhas de Connection: close
                                cabeçalho Accept-language:fr

                    carriage return,
                       line feed         (carriage return, line feed extras)
                      indica final
                     da mensagem



sexta-feira, 2 de março de 12                                                          37
Mensagem de requisição
      Mensagens do               HTTP
HTTP: formato geral
      Formato geral de mensagem HTTP




 sexta-feira, 2 de março de 12          38
Upload de entrada (form)
    Upload da entrada do
    formulário
    método POST:
    !  página Web
       geralmente inclui                     método do URL:
       entrada do formulário                 !  usa o método GET
    !  entrada é enviada ao                  !  entrada é enviada no
       servidor no corpo da                     campo de URL da linha
       entidade                                 de requisição:

                                www.umsite.com/buscaanimal?macacos&banana




sexta-feira, 2 de março de 12                                               39
sexta-feira, 2 de março de 12   40
Tipos de métodoTipos de métodos
            HTTP/1.0                               HTTP/1.1
            !  GET                                 !  GET, POST, HEAD
            !  POST                                !  PUT
            !  HEAD                                   "    envia arquivo no corpo da
                     "     pede ao servidor para           entidade ao caminho
                           deixar objeto                   especificado no campo de
                           requisitado fora da             URL
                           resposta                !  DELETE
                                                       "  exclui arquivo especificado
                                                          no campo de URL




sexta-feira, 2 de março de 12                                                           41
Mensagem de reposta
 Mensagem de resposta HTTP
         linha de status
            (protocolo
        código de estado                     HTTP/1.1 200 OK
        frase de estado)                     Connection close
                                             Date: Thu, 06 Aug 1998 12:00:15 GMT
                                 linhas de   Server: Apache/1.3.0 (Unix)
                                cabeçalho    Last-Modified: Mon, 22 Jun 1998 …...
                                             Content-Length: 6821
                                             Content-Type: text/html

         dados, p. e.,                       dados dados dados dados dados ...
        arquivo HTML
         requisitado



sexta-feira, 2 de março de 12                                                       42
Códigos de estado
                       Códigos de estado da
                       resposta HTTP
            primeira linha da mensagem de resposta servidor->cliente
            alguns exemplos de código:
             200 OK
                        "       requisição bem-sucedida, objeto requisitado mais adiante
                301 Moved Permanently
                        "       objeto requisitado movido, novo local especificado mais
                                adiante na mensagem (Location:)
                400 Bad Request
                        "       mensagem de requisição não entendida pelo servidor
                404 Not Found
                        "       documento requisitado não localizado neste servidor
                505 HTTP Version Not Supported

sexta-feira, 2 de março de 12                                                              43
sexta-feira, 2 de março de 12   44
Estado usuário-servidor:   cookies
                cookies
     Muitos sites importantes Exemplo:
      usam cookies
                                !  Susana sempre acessa a
     Quatro componentes:
       1) linha de cabeçalho de
                                   Internet pelo PC
          cookie da mensagem de !  visita um site de comércio
          resposta HTTP
                                   eletrônico pela primeira vez
       2) linha de cabeçalho de
          cookie na mensagem de !  quando as primeiras
          requisição HTTP          requisições HTTP chegam ao
       3) arquivo de cookie na     site, este cria:
                  máquina do usuário,
                  controlado pelo           "    ID exclusivo
                  navegador do usuário      "    entrada no banco de dados de
               4) banco de dados de apoio        apoio para o ID
                  no site Web

sexta-feira, 2 de março de 12                                                   45
cookies
                   cliente
                   cliente                                       servidor
                                                          servidor
                   ebay 8734
                                 requisição http normal servidor Amazon
               arq. de cookie    resposta http normal     cria ID 1678
                                 Set-cookie: 1678         para usuário cria
                                                                       entrada
                  ebay 8734
                  amazon 1678
                                 requisição http normal
                                   cookie: 1678               ação    acessa
                                                           específica
     uma semana depois:           resposta http normal     do cookie             banco de
                                                                                 dados de
                                                                        acessa
                                                                                 apoio
                   ebay 8734     requisição http normal
                   amazon 1678     cookie: 1678               ação
                                                           específica
                                  resposta http normal     do cookie



sexta-feira, 2 de março de 12                                                               46
cookies
             cookies podem ter: ter:
             O O que os cookies podem ter:
                 que os cookies podem                           aparte
                                                                        aparte
             !  autorização                Cookies e privacidade:
                !  autorização
            O que os cookies podem ter:          Cookies e privacidade:
                                                                    aparte
             !  carrinhos de compras       !  cookies permitem que
            !  autorização de compras
                !  carrinhos                 Cookies e privacidade: que
                                              os !  cookies permitem
                                                 sites descubram
             !  recomendações
                !  recomendações
            !  carrinhos de compras           muitoos sites descubram
                                             !  cookies permitem que
                                                     sobre você
             !  estado da sessão do                 muito sobre você
                !  estado da sessão do
            !  recomendações Web)          !  você sites fornecer
                                                os pode descubram
                 usuário (e-mail da
                                                muitoe-mail aos sites
                                                 !  e sobre você
                                              nome você pode fornecer
            !  estado da sessão do Web)
                   usuário (e-mail da
             Como manter o “estado”:
                                             !  você pode fornecer sites
                                                    nome e e-mail aos
             !  usuário (e-mail da Web)
                Como manter do“estado”: mantêm
                 extremidades o protocolo:      nome e e-mail aos sites
            mantendo o emissor/receptor por
                !  manter estado:
                 estado no o “estado”:
            Comoextremidades do protocolo: mantêm
                 múltiplas transações
                   estado no emissor/receptor por
            !  extremidades do protocolo: mantêm
                 cookies: mensagens HTTP
                   múltiplas transações
             ! estado no emissor/receptor por
                 transportam estado
               múltiplas transações HTTP
                !  cookies: mensagens
                   transportam estado
            !  cookies: mensagens HTTP
               transportam estado

sexta-feira, 2 de março de 12                                                    47
cache (web proxy)
         Caches Web (servidor proxy)
         objetivo: satisfazer a requisição do cliente sem envolver
            servidor de origem
        !  usuário prepara                                    servidor
                                                             de origem
           navegador: acessos à
           Web via cache                          servidor
        !  navegador envia todas                   proxy
                                   cliente
           as requisições HTTP
           ao cache
                 "     objeto no cache: cache
                       retorna objeto
                 "     ou cache requisita
                       objeto do servidor de    cliente
                                                                servidor
                       origem, depois retorna                  de origem
                       objeto ao cliente


sexta-feira, 2 de março de 12                                              48
chache (web proxy)
                Mais sobre caching Web

                !  cache atua como        Por que caching Web?
                   cliente e servidor     !  reduz tempo de resposta à
                !  normalmente, cache é      requisição do cliente
                   instalado por ISP (da !  reduz tráfego no enlace de
                   universidade, empresa,    acesso de uma instituição
                   residencial)           !  Internet densa com caches:
                                             permite que provedores de
                                             conteúdo “fracos” remetam
                                             conteúdo efetivamente
                                             (mas o mesmo ocorre com
                                             compartilhamento de
                                             arquivos P2P)


sexta-feira, 2 de março de 12                                             49
exemplo caching
               Exemplo de caching
           suposições                                                           servidores
           !  tamanho médio do objeto =                                          de origem
              1.000.000 bits
                                                                Internet
           !  taxa de requisição média dos                       pública
              navegadores da instituição aos
              servidores de origem = 15/s
           !  atraso do roteador institucional a
                                                                      enlace de
              qualquer servidor de origem e de                        acesso a 15 Mbps
              volta ao roteador = 2 s                     rede
                                                      institucional
           consequências                                                   LAN de 100 Mbps

           !  utilização na LAN = 15%
           !  utilização no enlace de acesso = 100%
           !  atraso total = atraso da Internet +                              cache
               atraso do acesso + atraso da LAN                             institucional
             = 2 s + x minutos + y milissegundos


sexta-feira, 2 de março de 12                                                                50
exemplo caching
   solução possível                                                    servidores
   !  aumentar largura de banda do                                      de origem
          enlace de acesso para, digamos,
          100 Mbps                                     Internet
                                                        pública
   consequência
   !  utilização na LAN = 15%
   !  utilização no enlace de acesso = 15%                    enlace de
                                                              acesso a 100 Mbps
   !  atraso total = atraso da Internet +        rede
      atraso do acesso + atraso da LAN =     institucional
                                                                  LAN de 100 Mbps
      2 s + x ms + y ms
   !  normalmente, uma atualização
      dispendiosa
                                                                      cache
                                                                   institucional


sexta-feira, 2 de março de 12                                                       51
exemplo caching
                                                                      servidores
         possível solução: instalar cache                              de origem
         !  suponha que índice de acerto é
                0,4                                    Internet
         consequência                                   pública
         !  40% de requisições serão
            satisfeitas imediatamente
         !  60% de requisições satisfeitas
            pelo servidor de origem                          enlace de
                                                             acesso a 15 Mbps
         !  utilização do enlace de acesso       rede
            reduzida para 60%, resultando    institucional
                                                                  LAN de 100 Mbps
            em atrasos insignificantes
            (digamos, 10 ms)
         !  atraso médio total = atraso da
            Internet + atraso de acesso +
            atraso da LAN = 0,6*(2,01) s +                            cache
            0,4*milissegundos < 1,4 s                              institucional


sexta-feira, 2 de março de 12                                                       52
FTP (arquivos)



sexta-feira, 2 de março de 12                    53
FTP: o protocolo de
       Transferência de arquivos (FTP)
 transferência de arquivos

                                interface cliente   transf. de arquivos
                                                                          servidor
                                de usuário FTP
                                                                            FTP
                                   FTP
                usuário no
                hospedeiro                                                      sistema de
                                             sistema de                         arquivo remoto
                                             arquivo local

            !  transfere arquivo de/para hospedeiro remoto
            !  modelo cliente/servidor
                   cliente: lado que inicia transferência (de/para remoto)
                      " 
                "  servidor: hospedeiro remoto
            !  ftp: RFC 959
            !  servidor ftp: porta 21




sexta-feira, 2 de março de 12                                                                    54
FTP: conexões separadas controle
                                   de

                      FTP - características
           para controle e dados remoto enviando comandos por
                                !  cliente navega por diretório

                    FTP: conexões separadas           conexão de controleTCP
                                                         conexão de controle

          para controleée dados comando de transferência de
     !  cliente FTP contacta servidor
        FTP na porta 21, TCP
                                                                 porta 21
                                                 !  quando servidor recebe

        protocolo de transporte                       arquivo, abrecontrole TCP TCP
                                                          conexão de 2a conexão
         !  cliente FTP contactaconexão
     !  cliente autorizado por          servidor      (para arquivo) dados cliente
                                                 cliente
                                                          conexão de 21
                                                                 porta
                                                                       com TCPservidor
            FTP na porta 21, TCP é                               porta 20
        de controle                              !  após transferir um arquivo,
                                                   FTP                            FTP
            protocolo de transporte
     !  cliente navega por diretório                  servidor fecha conexão de
                                                           conexão de dados TCP
         !  cliente autorizado por conexão cliente                             servidor
                                                      dados
        remoto enviando comandos por !  servidor abre outra conexão
                                                                 porta 20
            de controle                             FTP                          FTP
        conexão de controle                          de dados TCP para transferir
paradas cliente navega por diretório
         ! 
     !  quando servidor recebe
            remoto enviando comandos por !  outro arquivo outra conexão
                                                      servidor abre
ados comando dede controle
            conexão transferência de             !  conexão de controle: “fora da
                                                      de dados TCP para transferir
        arquivo, abre 2 TCP  a conexão TCP
             conexão de controle
         !  quandoporta 21
                      servidor recebe
 dor    (para arquivo) com cliente de                banda”arquivo
                                                      outro
            comando de transferência              !  conexão de controle: “fora da
            arquivo, abre 2      a conexão TCP
     !  após transferir um arquivo,              !  servidor FTP mantém
                                                      banda”
                                                     “estado”: diretório atual,
        servidor arquivo) servidor
exão cliente(para fecha conexão de
               conexão de dados com cliente
                     porta 20
                                TCP

        dados transferir umFTP
         FTPapós
         !                            arquivo,        servidor FTP mantém
                                                  !  autenticação anterior
 o                    servidor fecha conexão de    “estado”: diretório atual,
  por         !     servidor abre outra conexão
                      dados                        autenticação anterior
                    de dados TCP para transferir
                    outro arquivo
 de
  sexta-feira, 2 de março de 12                                                      55
FTP - comandos
         Comandos e respostas FTP

         exemplos de comandos:                 exemplos de códigos de
         !  enviado como texto ASCII             retorno
            pelo canal de controle             !  código e frase de estado
         !  USER nome-usuário                       (como no HTTP)
         !  PASS senha                         !    331 Username OK,
         !  LIST retorna lista de
                                                    password required
                 arquivos no diretório atual   !    125 data connection
                                                    already open;
         !  RETR nome-arquivo                       transfer starting
                 recupera (apanha) arquivo
                                               !    425 Can’t open data
         !  STOR nome-arquivo                       connection
                 armazena (coloca) arquivo     !    452 Error writing
                 no hospedeiro remoto               file



sexta-feira, 2 de março de 12                                                56
sexta-feira, 2 de março de 12   57
sexta-feira, 2 de março de 12   58
Email
            (SMTP, POP3, IMAP)


sexta-feira, 2 de março de 12    59
Conceitos
                          Correio eletrônico
          Correio eletrônico
            Três componentes principais:                             agente
                                                                     usuário
                                                                                          fila de
                                                                                    msg. de saída
                     !  agentes do usuário
                                                            serv. agente           caixa de entrada
     Três !  servidores de correio
          componentes principais:                          correio
                                                                                               fila de
                                                                                      do usuário
                     !  Simple Mail Transfer Protocol:               usuário              msg. de saída
     !  agentes do usuário                                            SMTP
              SMTP                                                                         agente
                                                                                     caixa de entrada
     !  servidores de correio                              serv.
                                                          correio                       do usuário
                                                                                           usuário
           Agente do usuário
     !  Simple Mail Transfer Protocol:                   SMTP                     mail

        SMTPtambém chamado “leitor de
           !                                                          SMTP       server
                                                                                            agenteagente
              correio”                                                SMTP                  usuário
                                                            serv.                                 usuário
           !  redigir, editar, ler mensagens
     Agente do usuário                                   SMTP
                                                           correio                  mail
              de correio eletrônico
     !  tambéme., Eudora, Outlook, de
                 chamado “leitor elm,                                              server
                                                                                        agente
           !  p.                                                                              agente
        correio”
              Mozilla Thunderbird                                      SMTP            usuário
                                                                                              usuário
                                                                       agente
                                                           serv.
     !  redigir, editar, ler mensagens
           !  mensagens entrando e saindo                              usuário
                                                          correio
                                                            agente
              armazenadas no servidor
        de correio eletrônico                              usuário
                                                                                             agente
     !  p. e., Eudora, Outlook, elm,
                                                                                             usuário
            Mozilla Thunderbird                                         agente
sexta-feira, 2 de março de 12                                                                          60
!  agentes do usuário
                                                                             caixa de entr

                                    Conceitos
    !  servidores de correio                            serv.
                                                       correio                  do usuário
    !  Simple Mail Transfer Protocol:
            SMTP          Correio eletrônico                       SMTP                age
                                                                                       usu
           Três componentes principais:                agente                 fila de
    Agente do usuário                        SMTP usuário             msg. de saída
                                                                          mail
           !  agentes do usuário
    !  também chamado correio de
                              “leitor           serv.
                                                                         server
                                                                     caixa de entrada
           !  servidores de                                                            agen
       correio”
           !  Simple Mail Transfer Protocol:
                                               correio      SMTP        do usuário
                                                                                      usuár
                                                  serv. SMTP
    !  redigir, editar, ler mensagens
              SMTP                                                              agente
                                                correio                        usuário
       de correio eletrônico
           Agente do usuário                 SMTP                  mail             agente
    !  p. e., Eudora,chamado “leitor de
           !  também    Outlook, elm,                             server
                                                                             agente usuário
       Mozilla Thunderbird
              correio”                                   SMTPagente          usuário
                                                serv.
    !  mensagens entrando
           !  redigir, editar, ler e saindo
                                   mensagens   correio
                                                             usuário
              de correio eletrônico              agente
       armazenadas no servidor                   usuário                    agente
                     !  p. e., Eudora, Outlook, elm,
                                                                            usuário
                        Mozilla Thunderbird                      agente
                     !  mensagens entrando e saindo              usuário
                                                       agente
                        armazenadas no servidor        usuário



sexta-feira, 2 de março de 12                                                           61
Correio eletrônico:Conceitos
                  Correio eletrônico
                servidores de correio
                     Três componentes principais:               agente
                                                                  agente
                                                                                  fila de
           servidores de usuário
              !  agentes do
                            correio                             usuário
                                                                 usuário
                                                                            msg. de saída

           !  caixa de correio correio
               !  servidores de
                                contém                 serv.               caixa de entrada
                                                        serv.                 do usuário
              mensagens que chegam para               correio
                                                   correio
                                                                                agente
               !  Simple Mail Transfer Protocol:
              o usuário                                                         usuário
                   SMTP                                    SMTP
           !  fila de mensagens com                         SMTP serv. usuário   agente

              mensagens usuário
               Agente do de correio a                                  correio agente
              serem enviadas                     SMTP                 mail
                                                                                  usuário
               !  também chamado “leitor de      SMTP                server
                                                                               agente
           !  protocolo SMTP entre
                   correio”                                SMTP               usuário
              servidores editar, ler mensagens
               !  redigir,
                            de correio para         serv.    SMTP
              enviar mensagens de e-mail           correio
                                                     serv.                       agente
                   de correio eletrônico
               "  cliente: servidor de envio       correio                      usuário
                                                                            agente
               !  p. e., Eudora, Outlook, elm,
                  de correio
                   Mozilla Thunderbird
                                                                            usuário
                                                            agente
               "  “servidor”: servidor de                    agente
               !  mensagens entrando e saindo               usuário
                                                             usuário
                  recepção de no servidor
                   armazenadas   correio            agente
                                                      agente
                                                      usuário
                                                      usuário


sexta-feira, 2 de março de 12                                                                 62
Correio eletrônico:
                  Correio eletrônico:
                       SMTP [RFC 2821]
                  SMTP [RFC 2821]
                                 usa TCP para transferir de modo con
                    !  usa TCP para transferir de modo confiável a mensagem
                             ! 
                       de e-mail do cliente ao servidor, porta 25
                                 de e-mail do cliente ao servidor, port
                    !  transferência direta: servidor de envio ao servidor de
                       recepção transferência direta: servidor de env
                              ! 
                                 recepção
                    !  três fases da transferência
                        "  handshaking (saudação)
                        "  transferência fases da transferência
                              !  três de mensagens
                                   "  handshaking (saudação)
                        "  fechamento
                    !  interação comando/resposta
                                   "  transferência de mensagens
                        "  comandos: texto ASCII

                                   "  fechamento
                        "  resposta: código e frase de estado

                    !  mensagens devem estar em ASCII de 7 bits
                              !  interação comando/resposta
                                   "  comandos: texto ASCII
sexta-feira, 2 de março de 12                                                 63
Cenário: Alice envia
                         Alice envia mensagem a Bob
                     mensagem a Bob
             1) Alice usa AU para redigir
                mensagem “para”                       4) Cliente SMTP envia
                bob@algumaescola.edu                     mensagem de Alice pela
             2) O AU de Alice envia                      conexão TCP
                mensagem ao seu servidor              5) Servidor de correio de Bob
                de correio, que é colocada               coloca mensagem na caixa
                na fila de mensagens                     de correio de Bob
             3) Lado cliente do SMTP abre
                                                      6) Bob chama seu agente do
                conexão TCP com servidor
                de correio de Bob                        usuário para ler mensagem



                                1                         serv.
                                         serv.
                                                         correio        agente
                          agente        correio
                                    2                                   usuário
                          usuário          3                       6
                                                  4         5



sexta-feira, 2 de março de 12                                                         64
Exemplo de interação SMTP
                 S:        220 hamburger.edu
                 C:        HELO crepes.fr
                 S:        250 Hello crepes.fr, pleased to meet you
                 C:        MAIL FROM: <alice@crepes.fr>
                 S:        250 alice@crepes.fr... Sender ok
                 C:        RCPT TO: <bob@hamburger.edu>
                 S:        250 bob@hamburger.edu ... Recipient ok
                 C:        DATA
                 S:        354 Enter mail, end with "." on a line by itself
                 C:        Você gosta de ketchup?
                 C:        Que tal picles?
                 C:        .
                 S:        250 Message accepted for delivery
                 C:        QUIT
                 S:        221 hamburger.edu closing connection



sexta-feira, 2 de março de 12                                                 65
SMTP: palavras finais
                                comentários
      !  SMTP usa conexões            Comparação com HTTP:
         persistentes
                                      !  HTTP: puxa
      !  SMTP requer que a
         mensagem (cabeçalho e        !  SMTP: empurra
         corpo) esteja em ASCII de    !  ambos têm interação de
         7 bits                         comando/resposta em
      !  servidor SMTP usa              ASCII, códigos de estado
         CRLF.CRLF para
         determinar fim da            !  HTTP: cada objeto
         mensagem                        encapsulado em sua própria
                                         mensagem de resposta
                                      !  SMTP: múltiplos objetos
                                         enviados na mensagem
                                         multiparte


sexta-feira, 2 de março de 12                                         66
Formato da mensagem de
    correio    Exemplo de mensagem
    SMTP: protocolo para trocar
       mensagens de e-mail                    cabeçalho
                                                           linha
    RFC 822: padrão para formato
                                                            em
       de mensagem de texto:
                                                          branco
    !  linhas de cabeçalho, p. e.,
                 Para:
              " 
                                               corpo
              "  De:
              "  Assunto:
              diferente dos comandos
                 SMTP!
    !  corpo
              "     a “mensagem”, apenas em
                    caracteres ASCII




sexta-feira, 2 de março de 12                                      67
Protocolos de acesso  Como acessar msgs
          de correio
                                      SMTP           SMTP                 prot.
                                agente                                            agente
                                usuário                                  acesso   usuário


                                      servidor de correio   servidor de correio
                                          do emissor           do receptor

           !  SMTP: remessa/armazenamento no servidor do receptor
           !  protocolo de acesso ao correio: recuperação do servidor
                    "     POP: Post Office Protocol [RFC 1939]
                           •  autorização (agente <--> servidor) e download
                    "     IMAP: Internet Mail Access Protocol [RFC 1730]
                           •  mais recursos (mais complexo)
                           •  manipulação de msgs armazenadas no servidor
                    "     HTTP: gmail, Hotmail, Yahoo! Mail etc.


sexta-feira, 2 de março de 12                                                               68
Protocolo POP3
           fase de autorização
                                             S:   +OK POP3 server ready
                                             C:   user bob
           !  comandos do cliente:           S:   +OK
                                             C:   pass hungry
                  user: declare “username”
                   "                         S:   +OK usuário logado com sucesso
               "  pass: senha
                                             C: list
           !  respostas do servidor           S: 1 498
                                              S: 2 912
               "  +OK
                                              S: .
               "  -ERR                        C: retr 1
                                              S: <message 1 contents>
           fase de transação, cliente:        S: .
           !  list: lista números de msg.     C: dele 1
                                              C: retr 2
           !  retr: recupera mensagem por     S: <message 1 contents>
              número                          S: .
                                              C: dele 2
           !  dele: exclui                    C: quit
           !  quit                            S: +OK serv. POP3 desconectando




sexta-feira, 2 de março de 12                                                      69
POP3 (mais) e IMAP
       Mais sobre POP3             IMAP
       !  Exemplo anterior usa     !  Mantém todas as
          modo “download e            mensagens em um local: o
          excluir”
                                      servidor
       !  Bob não pode reler e-
          -mail se mudar o         !  Permite que o usuário
          cliente                     organize msgs em pastas
       !  “Download-e-manter”:     !  IMAP mantém estado do
          cópias de mensagens         usuário entre sessões:
          em clientes diferentes      "    nomes de pastas e
       !  POP3 é sem estado                mapeamento entre IDs de
          entre as sessões                 mensagem e nome de pasta



sexta-feira, 2 de março de 12                                         70
E-mail e HTTP

                                    Hotmail

                                     Gmail




sexta-feira, 2 de março de 12                   71
DNS
                      (Domain Name Sytem)



sexta-feira, 2 de março de 12               72
Conceitos Domain Name System
             DNS: Domain Name System
                                     DNS:
                                          Iniciais
             pessoas: muitos             Domain Name System:
               identificadores: pessoas: !  banco de dados distribuído
                                         muitos              Domain N
                                        identificadores:
                    CPF, nome, passaporte
                       "                           implementado na hierarquia
                                                                       !  banco d
                                                   muitos servidores deimplem
                                         "  CPF, nome, passaporte          nome
             hospedeiros da Internet,                                     muitos
                                                !  protocolo em nível de aplica
                                     hospedeiros da Internet,
                roteadores:                                            !  protoco
                                                   hospedeiro, roteadores,
                                        roteadores:                       hosped
                 "  endereço IP (32 bits) –
                                         "  endereço IP (32 bits) – nomes servido
                                                   servidores de           se
                    usado para endereçar usado para endereçar
                                                   comunicam para resolver no
                                                                          comunic
                    datagramas                     (tradução endereço/nome)
                                            datagramas                    (traduç
                 "  “nome”, p. e.,                  "  Nota: função básica Not
                                         "  “nome”, p. e.,                 "  da
                    ww.yahoo.com – usado ww.yahoo.com – usado implementada
                                                        Internet,             Inte
                    pelos humanos           pelos humanos
                                                        como protocolo em nívecom
                                     P: Como mapear entre
                                                        aplicação             apli
             P: Como mapear entre
                                        endereço "  complexidade na “borda
                                                    IP e nome?             "  com
                endereço IP e nome?                                           red
                                                        rede
sexta-feira, 2 de março de 12                                                  73
main Name System                 Conceitos Iniciais
itos                              Domain Name System:
 dores:                           !  banco de dados distribuído
me, passaporte                       implementado na hierarquia de
                                     muitos servidores de nomes
 da Internet,
                                  !  protocolo em nível de aplicação
es:                                  hospedeiro, roteadores,
 o IP (32 bits) –                    servidores de nomes se
ara endereçar                        comunicam para resolver nomes
mas                                  (tradução endereço/nome)
p. e.,                                "  Nota: função básica da
 o.com – usado                           Internet, implementada
 manos                                   como protocolo em nível de
 ear entre                               aplicação
 IP e nome?                           "  complexidade na “borda” da
                                         rede

 sexta-feira, 2 de março de 12                                         74
DNS
              DNS                          DNS
          Serviços de DNS
          Serviços de DNS            Por que não centralizar o o
                                        Por que não centralizar
          !  tradução nome de
          !  tradução nome de              DNS?
                                         DNS?
             hospedeiro -> endereço !  !  único ponto de falha
             hospedeiro -> endereço      único ponto de falha
             IP
             IP                          volume de tráfego
                                     !  !  volume de tráfego
          !  apelidos de hospedeiro
          !  apelidos de hospedeiro !  banco de dados
              "  nomes canônicos        !  banco de dados
              "  nomes canônicos
                                         centralizado distante
                                           centralizado distante
          !  apelidos de servidor de
          !  apelidos de servidor de !  manutenção
             correio
             correio                    !  manutenção
          !  distribuição de carga
          !  distribuição de carga
                    "  servidores Web            Não é escalável!
                     "  servidores Web
                       replicados: conjunto de    Não é escalável!
                       endereços IPconjunto de
                        replicados: para um
                       nome canônico para um
                        endereços IP
                           nome canônico

sexta-feira, 2 de março de 12                                        75
Banco de dados distribuído,
           hierárquico
                                             Servidores DNS raiz



                       servs. DNS com        servs. DNS org         servs. DNS edu


                                                servs. DNS         servs. DNS servs. DNS
              servs. DNS        servs. DNS
                                                pbs.org            poly.edu   umass.edu
              yahoo.com         amazon.com
         Cliente quer IP para www.amazon.com; 1a aprox:
         !  cliente consulta serv. raiz para achar servidor DNS com
         !  cliente consulta serv. DNS com para obter serv. DNS
            amazon.com
         !  cliente consulta serv. DNS amazon.com para obter
            endereço IP para www.amazon.com


sexta-feira, 2 de março de 12                                                              76
DNS: Servidores de nomes
    raiz        Servidor raiz
   !  contactados por servidores de nomes locais que não conseguem traduzir
      nome
   !  servidores de nomes raiz:
       "  contacta servidor de nomes com autoridade se o mapeamento não for
          conhecido
       "  obtém mapeamento
       "  retorna mapeamento ao servidor de nomes local




                                                       13 servidores de
                                                       nomes raiz no mundo




sexta-feira, 2 de março de 12                                                 77
TLD e servidores com outros níveis
                    Servidores DNS
                 autoridade
         !  servidores de domínio de alto nível (TLD) :
             "  responsáveis por com, org, net, edu etc. e todos os
                domínios de país de alto nível: br, uk, fr, ca, jp.
             "  A Network Solutions mantém servidores para TLD
                com
             "  Educause para TLD edu

         !  servidores DNS com autoridade:
             "  servidores DNS da organização, provendo nome de
                hospedeiro com autoridade a mapeamentos IP para os
                servidores da organização (p. e., Web, correio).
             "  podem ser mantidos pela organização ou provedor de
                serviços


sexta-feira, 2 de março de 12                                         78
Servidor DNS local
           Servidor de nomes local

           !  não pertence estritamente à hierarquia
           !  cada ISP (ISP residencial, empresa,
                  universidade) tem um.
                     "  também     chamado “servidor de nomes default”
           !  quando hospedeiro faz consulta ao DNS,
                  consulta é enviada ao seu servidor DNS local
                     "  atua    como proxy, encaminha consulta para
                           hierarquia



sexta-feira, 2 de março de 12                                            79
Funcionamento
        Exemplo de resolução
        Exemplo de resolução
         na nome DNS
             prática
        de nome DNS
        de                              servidor DNS raiz
                                        servidor DNS raiz
                                                     22
          !  hospedeiro em
           !  hospedeiro                                   33         servidor DNS TLD
                                                                     servidor DNS TLD
               cis.poly.edu quer
                cis.poly.edu                                    44
               endereço IP para
                endereço IP                                     55
               gaia.cs.umass.edu
                gaia.cs.umass.edu
                                         serv. DNS local
                                          serv. DNS local
              consulta repetida:
             consulta repetida:            dns.poly.edu
                                            dns.poly.edu
                                                                77     66
              !  servidor contactado
             !  servidor contactado             11    88
                 responde com nome
                responde com nome
                 do servidor a
                do servidor a                                   serv. DNS com autoridade
                                                                 serv. DNS com autoridade
                 contactar
                contactar                                          dns.cs.umass.edu
                                                                      dns.cs.umass.edu
                                           hospedeiro
                                            hospedeiro
              !  “não conheço esse
             !  “não conheço esse          solicitante
                 nome, mas pergunte a       solicitante
                nome, mas pergunte a       cis.poly.edu
                 este servidor”             cis.poly.edu             gaia.cs.umass.edu
                este servidor”                                        gaia.cs.umass.edu


sexta-feira, 2 de março de 12                                                               80
Funcionamento
         na prática                                  serv. DNS raiz


             consulta recursiva:
                                                 2                   3
             !  coloca peso da
                resolução de nome                            6
                                                     7
                sobre o servidor de
                                                                             serv. DNS TLD
                nomes contactado
             !  carga pesada?
                                  serv. DNS local
                                      dns.poly.edu               5       4

                                            1    8

                                                         serv. DNS com autoridade
                                                            dns.cs.umass.edu
                                      hospedeiro
                                      solicitante
                                      cis.poly.edu
                                                            gaia.cs.umass.edu

sexta-feira, 2 de março de 12                                                                81
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao

Más contenido relacionado

La actualidad más candente

Meet stringent latency demands with time-sensitive networking
Meet stringent latency demands with time-sensitive networkingMeet stringent latency demands with time-sensitive networking
Meet stringent latency demands with time-sensitive networkingADVA
 
FTTx Solution Litech
FTTx Solution LitechFTTx Solution Litech
FTTx Solution LitechDwi Astranto
 
TechWiseTV Workshop: Cisco SD-WAN
TechWiseTV Workshop: Cisco SD-WANTechWiseTV Workshop: Cisco SD-WAN
TechWiseTV Workshop: Cisco SD-WANRobb Boyd
 
Ericsson NFVi solution
Ericsson NFVi solutionEricsson NFVi solution
Ericsson NFVi solutionEricsson
 
GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)NetProtocol Xpert
 
Wireless LAN Deployment Best Practices
Wireless LAN Deployment Best PracticesWireless LAN Deployment Best Practices
Wireless LAN Deployment Best PracticesMichael Boman
 
Advanced: 5G Service Based Architecture (SBA)
Advanced: 5G Service Based Architecture (SBA)Advanced: 5G Service Based Architecture (SBA)
Advanced: 5G Service Based Architecture (SBA)3G4G
 
Lte lte advanced
Lte lte advancedLte lte advanced
Lte lte advancedHardik_Tank
 
How PSTN phone works?
How PSTN phone works?How PSTN phone works?
How PSTN phone works?mahipal9
 

La actualidad más candente (20)

Ip ran v1.1
Ip ran v1.1Ip ran v1.1
Ip ran v1.1
 
Meet stringent latency demands with time-sensitive networking
Meet stringent latency demands with time-sensitive networkingMeet stringent latency demands with time-sensitive networking
Meet stringent latency demands with time-sensitive networking
 
WiFi - IEEE 802.11
WiFi - IEEE 802.11WiFi - IEEE 802.11
WiFi - IEEE 802.11
 
SD WAN
SD WANSD WAN
SD WAN
 
FTTx Solution Litech
FTTx Solution LitechFTTx Solution Litech
FTTx Solution Litech
 
Lte tutorial
Lte tutorialLte tutorial
Lte tutorial
 
Mobile ad hoc networks (manets)
Mobile ad hoc networks (manets)Mobile ad hoc networks (manets)
Mobile ad hoc networks (manets)
 
TechWiseTV Workshop: Cisco SD-WAN
TechWiseTV Workshop: Cisco SD-WANTechWiseTV Workshop: Cisco SD-WAN
TechWiseTV Workshop: Cisco SD-WAN
 
Netflow slides
Netflow slidesNetflow slides
Netflow slides
 
Wimax / ieee 802.16
Wimax / ieee 802.16Wimax / ieee 802.16
Wimax / ieee 802.16
 
Radio network overview
Radio network overviewRadio network overview
Radio network overview
 
Ericsson NFVi solution
Ericsson NFVi solutionEricsson NFVi solution
Ericsson NFVi solution
 
GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)GRE (Generic Routing Encapsulation)
GRE (Generic Routing Encapsulation)
 
CW Testing
CW TestingCW Testing
CW Testing
 
Wireless LAN Deployment Best Practices
Wireless LAN Deployment Best PracticesWireless LAN Deployment Best Practices
Wireless LAN Deployment Best Practices
 
Advanced: 5G Service Based Architecture (SBA)
Advanced: 5G Service Based Architecture (SBA)Advanced: 5G Service Based Architecture (SBA)
Advanced: 5G Service Based Architecture (SBA)
 
rf planning
rf planningrf planning
rf planning
 
Lte lte advanced
Lte lte advancedLte lte advanced
Lte lte advanced
 
How PSTN phone works?
How PSTN phone works?How PSTN phone works?
How PSTN phone works?
 
Verizon Managed SD-WAN with Cisco IWAN
Verizon Managed SD-WAN with Cisco IWAN Verizon Managed SD-WAN with Cisco IWAN
Verizon Managed SD-WAN with Cisco IWAN
 

Destacado

Camada De Aplicação
Camada De AplicaçãoCamada De Aplicação
Camada De AplicaçãoLyous
 
SC - EAD - SL01 - Conceitos Básicos
SC - EAD - SL01 - Conceitos BásicosSC - EAD - SL01 - Conceitos Básicos
SC - EAD - SL01 - Conceitos BásicosUFPB
 
SC - EAD - SL03 - Contextos ee Aplicação da EAD
SC - EAD - SL03 - Contextos ee Aplicação da EADSC - EAD - SL03 - Contextos ee Aplicação da EAD
SC - EAD - SL03 - Contextos ee Aplicação da EADUFPB
 
Boas vindas alunos_ead_2013
Boas vindas alunos_ead_2013Boas vindas alunos_ead_2013
Boas vindas alunos_ead_2013Jorge Purgly
 
Camada de aplicação
Camada de aplicaçãoCamada de aplicação
Camada de aplicaçãoPjpilin
 
RC - SLAP - Apresentação da disciplina de Redes (2011-1)
RC - SLAP - Apresentação da disciplina de Redes (2011-1)RC - SLAP - Apresentação da disciplina de Redes (2011-1)
RC - SLAP - Apresentação da disciplina de Redes (2011-1)UFPB
 
SC - EAD - SLAP - Apresentação
SC - EAD - SLAP - ApresentaçãoSC - EAD - SLAP - Apresentação
SC - EAD - SLAP - ApresentaçãoUFPB
 
SC - EAD - SL05 - Criação e Desenvolvimeto de Cursos
SC - EAD - SL05 - Criação e Desenvolvimeto de CursosSC - EAD - SL05 - Criação e Desenvolvimeto de Cursos
SC - EAD - SL05 - Criação e Desenvolvimeto de CursosUFPB
 
SC - EAD - SL06 - O Ensino e o Instrutor
SC - EAD - SL06 - O Ensino e o InstrutorSC - EAD - SL06 - O Ensino e o Instrutor
SC - EAD - SL06 - O Ensino e o InstrutorUFPB
 
ACII - SLAP - Apresentacao
ACII - SLAP - ApresentacaoACII - SLAP - Apresentacao
ACII - SLAP - ApresentacaoUFPB
 
ACII - SL06 - Virtualizacao
ACII - SL06 - VirtualizacaoACII - SL06 - Virtualizacao
ACII - SL06 - VirtualizacaoUFPB
 
ACII - SL03 - Armazenamento Secundario
ACII - SL03 - Armazenamento SecundarioACII - SL03 - Armazenamento Secundario
ACII - SL03 - Armazenamento SecundarioUFPB
 

Destacado (20)

Camada 7 do modelo OSI
Camada 7 do modelo OSICamada 7 do modelo OSI
Camada 7 do modelo OSI
 
Camada De Aplicação
Camada De AplicaçãoCamada De Aplicação
Camada De Aplicação
 
Http mensagens
Http   mensagensHttp   mensagens
Http mensagens
 
Camada de aplicacao parte2
Camada de aplicacao parte2Camada de aplicacao parte2
Camada de aplicacao parte2
 
Curso de cgi
Curso de cgiCurso de cgi
Curso de cgi
 
Cgi e-o-marco-civil
Cgi e-o-marco-civilCgi e-o-marco-civil
Cgi e-o-marco-civil
 
SC - EAD - SL01 - Conceitos Básicos
SC - EAD - SL01 - Conceitos BásicosSC - EAD - SL01 - Conceitos Básicos
SC - EAD - SL01 - Conceitos Básicos
 
SC - EAD - SL03 - Contextos ee Aplicação da EAD
SC - EAD - SL03 - Contextos ee Aplicação da EADSC - EAD - SL03 - Contextos ee Aplicação da EAD
SC - EAD - SL03 - Contextos ee Aplicação da EAD
 
Camada de aplicação parte1
Camada de aplicação parte1Camada de aplicação parte1
Camada de aplicação parte1
 
Boas vindas alunos_ead_2013
Boas vindas alunos_ead_2013Boas vindas alunos_ead_2013
Boas vindas alunos_ead_2013
 
Apresentação Pet
Apresentação PetApresentação Pet
Apresentação Pet
 
Camada de aplicação
Camada de aplicaçãoCamada de aplicação
Camada de aplicação
 
RC - SLAP - Apresentação da disciplina de Redes (2011-1)
RC - SLAP - Apresentação da disciplina de Redes (2011-1)RC - SLAP - Apresentação da disciplina de Redes (2011-1)
RC - SLAP - Apresentação da disciplina de Redes (2011-1)
 
SC - EAD - SLAP - Apresentação
SC - EAD - SLAP - ApresentaçãoSC - EAD - SLAP - Apresentação
SC - EAD - SLAP - Apresentação
 
SC - EAD - SL05 - Criação e Desenvolvimeto de Cursos
SC - EAD - SL05 - Criação e Desenvolvimeto de CursosSC - EAD - SL05 - Criação e Desenvolvimeto de Cursos
SC - EAD - SL05 - Criação e Desenvolvimeto de Cursos
 
SC - EAD - SL06 - O Ensino e o Instrutor
SC - EAD - SL06 - O Ensino e o InstrutorSC - EAD - SL06 - O Ensino e o Instrutor
SC - EAD - SL06 - O Ensino e o Instrutor
 
ACII - SLAP - Apresentacao
ACII - SLAP - ApresentacaoACII - SLAP - Apresentacao
ACII - SLAP - Apresentacao
 
ACII - SL06 - Virtualizacao
ACII - SL06 - VirtualizacaoACII - SL06 - Virtualizacao
ACII - SL06 - Virtualizacao
 
ACII - SL03 - Armazenamento Secundario
ACII - SL03 - Armazenamento SecundarioACII - SL03 - Armazenamento Secundario
ACII - SL03 - Armazenamento Secundario
 
http
httphttp
http
 

Similar a RC - SL02 - Camada de Aplicacao

Aula 5 camada de aplicacao
Aula 5   camada de aplicacaoAula 5   camada de aplicacao
Aula 5 camada de aplicacaowab030
 
Aula 7 camada de transporte
Aula 7   camada de transporteAula 7   camada de transporte
Aula 7 camada de transportewab030
 
Aula 4 introducao iii
Aula 4   introducao iiiAula 4   introducao iii
Aula 4 introducao iiiwab030
 
Aula 2 Introdução a Redes I
Aula 2  Introdução a Redes IAula 2  Introdução a Redes I
Aula 2 Introdução a Redes Iwab030
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de redewab030
 
RC SL04 - Camada de Rede
RC SL04 - Camada de RedeRC SL04 - Camada de Rede
RC SL04 - Camada de RedeUFPB
 
Fundamentos da Andragogia Aplicados Educacao a Distancia
Fundamentos da Andragogia Aplicados Educacao a DistanciaFundamentos da Andragogia Aplicados Educacao a Distancia
Fundamentos da Andragogia Aplicados Educacao a DistanciaLuciano Sathler
 
Gerência de Redes SNMP
Gerência de Redes SNMPGerência de Redes SNMP
Gerência de Redes SNMPIsraelCunha
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IPCleiton Cunha
 
Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações emgsroma
 
Protocolos de comuni
Protocolos de comuniProtocolos de comuni
Protocolos de comuniredesinforma
 
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropMaurício Linhares
 

Similar a RC - SL02 - Camada de Aplicacao (20)

Cap2
Cap2Cap2
Cap2
 
Computadores
ComputadoresComputadores
Computadores
 
Aula 5 camada de aplicacao
Aula 5   camada de aplicacaoAula 5   camada de aplicacao
Aula 5 camada de aplicacao
 
Aula 7 camada de transporte
Aula 7   camada de transporteAula 7   camada de transporte
Aula 7 camada de transporte
 
Aula 4 introducao iii
Aula 4   introducao iiiAula 4   introducao iii
Aula 4 introducao iii
 
Aula 2 Introdução a Redes I
Aula 2  Introdução a Redes IAula 2  Introdução a Redes I
Aula 2 Introdução a Redes I
 
Aula 9 camada de rede
Aula 9   camada de redeAula 9   camada de rede
Aula 9 camada de rede
 
RC SL04 - Camada de Rede
RC SL04 - Camada de RedeRC SL04 - Camada de Rede
RC SL04 - Camada de Rede
 
Fundamentos da Andragogia Aplicados Educacao a Distancia
Fundamentos da Andragogia Aplicados Educacao a DistanciaFundamentos da Andragogia Aplicados Educacao a Distancia
Fundamentos da Andragogia Aplicados Educacao a Distancia
 
Cap2a
Cap2aCap2a
Cap2a
 
Gerência de Redes SNMP
Gerência de Redes SNMPGerência de Redes SNMP
Gerência de Redes SNMP
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Artigo Redes Jonnes
Artigo Redes JonnesArtigo Redes Jonnes
Artigo Redes Jonnes
 
Artigo Redes Jonnes
Artigo Redes JonnesArtigo Redes Jonnes
Artigo Redes Jonnes
 
3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP3ª Unidade Modelo OSI e TCP/IP
3ª Unidade Modelo OSI e TCP/IP
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações em
 
Protocolos de comuni
Protocolos de comuniProtocolos de comuni
Protocolos de comuni
 
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
 
Conceitos redes
Conceitos redesConceitos redes
Conceitos redes
 

Más de UFPB

Projetando Experiências de Aprendizagem com Ferramentas de Design e dos Negócios
Projetando Experiências de Aprendizagem com Ferramentas de Design e dos NegóciosProjetando Experiências de Aprendizagem com Ferramentas de Design e dos Negócios
Projetando Experiências de Aprendizagem com Ferramentas de Design e dos NegóciosUFPB
 
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosUFPB
 
ACII - SL05 - Armazenamento Distribuido
ACII - SL05 - Armazenamento DistribuidoACII - SL05 - Armazenamento Distribuido
ACII - SL05 - Armazenamento DistribuidoUFPB
 
RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteUFPB
 
ACII - SL04 - Introducao a redes de computadores
ACII - SL04 - Introducao a redes de computadoresACII - SL04 - Introducao a redes de computadores
ACII - SL04 - Introducao a redes de computadoresUFPB
 
ACII - SL02 - Representação computacional
ACII - SL02 - Representação computacionalACII - SL02 - Representação computacional
ACII - SL02 - Representação computacionalUFPB
 
ACII - SL01 - Marcos da evolução computacional
ACII - SL01 - Marcos da evolução computacionalACII - SL01 - Marcos da evolução computacional
ACII - SL01 - Marcos da evolução computacionalUFPB
 
SC - EAD - SL02 - Contextualização Histórica
SC - EAD - SL02 - Contextualização HistóricaSC - EAD - SL02 - Contextualização Histórica
SC - EAD - SL02 - Contextualização HistóricaUFPB
 

Más de UFPB (8)

Projetando Experiências de Aprendizagem com Ferramentas de Design e dos Negócios
Projetando Experiências de Aprendizagem com Ferramentas de Design e dos NegóciosProjetando Experiências de Aprendizagem com Ferramentas de Design e dos Negócios
Projetando Experiências de Aprendizagem com Ferramentas de Design e dos Negócios
 
ACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidosACII - SL07 - Introducao aos sistemas distribuidos
ACII - SL07 - Introducao aos sistemas distribuidos
 
ACII - SL05 - Armazenamento Distribuido
ACII - SL05 - Armazenamento DistribuidoACII - SL05 - Armazenamento Distribuido
ACII - SL05 - Armazenamento Distribuido
 
RC - SL03 - Camada de Transporte
RC - SL03 - Camada de TransporteRC - SL03 - Camada de Transporte
RC - SL03 - Camada de Transporte
 
ACII - SL04 - Introducao a redes de computadores
ACII - SL04 - Introducao a redes de computadoresACII - SL04 - Introducao a redes de computadores
ACII - SL04 - Introducao a redes de computadores
 
ACII - SL02 - Representação computacional
ACII - SL02 - Representação computacionalACII - SL02 - Representação computacional
ACII - SL02 - Representação computacional
 
ACII - SL01 - Marcos da evolução computacional
ACII - SL01 - Marcos da evolução computacionalACII - SL01 - Marcos da evolução computacional
ACII - SL01 - Marcos da evolução computacional
 
SC - EAD - SL02 - Contextualização Histórica
SC - EAD - SL02 - Contextualização HistóricaSC - EAD - SL02 - Contextualização Histórica
SC - EAD - SL02 - Contextualização Histórica
 

Último

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 

Último (20)

Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 

RC - SL02 - Camada de Aplicacao

  • 1. Universidade Federal da Paraíba Centro de Ciências Aplicadas e Educação Departamento de Ciências Exatas Redes de Computadores: Camada de Aplicação Prof. Rafael Marrocos Magalhães rafael@dce.ufpb.br 28 de Fevereiro de 2012 UFPB - CCAE - DCE Esta apresentação contém partes, ou mesmo slides inteiros, da apresentação original disponibilizada por J.F Kurose e K.W. Ross, com permissão para utilização como material de apoio instrucional. E, conforme solicitação do original, incluí aqui a nota de direito autoral. sexta-feira, 2 de março de 12 1
  • 2. Motivação Como usamos a Internet? sexta-feira, 2 de março de 12 2
  • 3. Sumário Aplicações Princípios de aplicações em redes A Web e o Protocolo HTTP FTP - transferência de arquivos Correio Eletrônico (STMP, POP3, IMAP) DNS - Nomes X IPs Aplicações P2P sexta-feira, 2 de março de 12 3
  • 4. sexta-feira, 2 de março de 12 4
  • 5. Algumas aplicações Outras aplicações de rede !  e-mail !  redes sociais !  web !  voice over IP !  mensagem instantânea !  vídeoconferência em !  login remoto tempo real !  compartilhamento de !  computação em grade arquivos P2P !  jogos em rede multiusuários !  clipes de vídeo armazenados em fluxo contínuo sexta-feira, 2 de março de 12 5
  • 6. Objetivos Aspectos conceituais sobre protocolos de aplicação modelos de serviço de transporte paradigma cliente-servidor paradigma peer-to-peer Exemplos na prática HTTP, FTP, STMP/POP3/IMAP, DNS, etc... sexta-feira, 2 de março de 12 6
  • 7. Criar Aplicações!? Criando uma aplicação Criando uma aplicação de rede Escreva programas que aplicação de rede transporte rede "  executem em (diferentes) enlace física sistemas finais "  se comuniquem pela rede aplicação Escreva programas que "  p. e., software de servidor Web se comunica com software de transport rede "  executem em é(diferentes)navegador Web Não preciso escrever software enlace física sistemas finais dispositivos do núcleo da para aplicação rede transporte se comuniquemdispositivos do núcleo da rede pela rede rede enlace "  "  física não executam aplicações do application p. e., software usuárioservidor Web de transport "  network data link "  as aplicações nos sistemas finais physical se comunica com software de permitem rápido navegador Web desenvolvimento e propagação Não é preciso escrever software para dispositivos do núcleo da aplicação rede transporte rede enlace "  dispositivos do núcleo da rede sexta-feira, 2 de março de 12 física 7
  • 8. Escreva programas que transporte rede "  executem em (diferentes) enlace Criar Aplicações!? física sistemas finais "  se comuniquem pela rede Criando uma aplicação "  p. e., software de servidor Web de rede se comunica comprogramas que de Escreva software aplicação transporte navegador Web "  executem em (diferentes) rede enlace física sistemas finais Não é preciso escrever software "  se comuniquem pela rede para dispositivos do núcleo da "  p. e., software de servidor Web se comunica com software de aplicação rede navegador Web transporte rede Não é preciso escrever software enlace "  dispositivos do núcleo da rede da para dispositivos do núcleo aplicação física rede transporte não executam" aplicaçõesnúcleo da rede dispositivos do do rede enlace física usuário não executam aplicações do application transport usuário network as aplicações "  as aplicações nos sistemas finais nos sistemas finais data link "  physical permitem rápido permitem rápido desenvolvimento e propagação desenvolvimento e propagação sexta-feira, 2 de março de 12 8
  • 9. Arquitetura de Aplicações Cliente-servidor Incluindo centros de dados/cloud computing Peer-to-peer (P2P) Híbrida cliente-servidor/p2p sexta-feira, 2 de março de 12 9
  • 10. Arquitetura cliente-ser cliente-servidor ser rvidor servidor: rvidor: "  hospedeiro sempre ligado "  endereço IP permanente clie "  server farms por expansão entes: "  comunicam-se com o servidor cliente/servidor "  podem estar conectados intermitentemente "  podem ter endereços IP dinâmicos "  não se comunicam diretamente entre si sexta-feira, 2 de março de 12 10
  • 11. ervidor Arquitetura cliente-se cliente-servidor ervidor: "  hospedeiro sempre ligado se "  endereço IP permanente "  server farms por expansão ientes:cliente: comunicam-se com o servidor "  cl "  podem estar conectados intermitentemente "  podem ter endereços IP cliente/servidor dinâmicos "  não se comunicam diretamente entre si sexta-feira, 2 de março de 12 11
  • 12. Centros de dados da Google !  custo estimado do centro de dados: $600M !  Google gastou $2,4B em 2007 em novos centros de dados !  cada centro de dados usa de 50 a 100 megawatts de potência sexta-feira, 2 de março de 12 12
  • 13. rquitetura P2P pura Arquitetura P2P pura P2P pura enhum servidor sempre !  nenhum servidor sempre gado ligado stemas finais arbitrários !  sistemas finais arbitrários e comunicam diretamente se comunicam diretamente !  pares são conectados ares são conectados termitentemente e e intermitentemente mudam endereços IP udam endereços IP peer-peer peer-peer altamente escalonável, altamente escalável, mas mente escalável, mas mas difícil de administrar difícil de administrar fícil de administrar sexta-feira, 2 de março de 12 13
  • 14. Híbrido de cliente-servidor Híbrido: cliente-servidor-P2P Híbrido de cliente-servidor e P2P e P2P Skype "  aplicação P2P voice-over-IP P2P Skype "  aplicação centralizado: achando endereço da parte "  servidor P2P voice-over-IP P2P remota: "  servidor centralizado: achando endereço da parte "  remota: cliente-cliente: direta (não através de conexão servidor) "  conexão cliente-cliente: direta (não através de Mensagem instantânea servidor) Mensagem instantâneadois usuários é P2P "  bate-papo entre serviço centralizado: detecção/localização da "  bate-papo entre dois usuários é P2P presença do cliente "  serviço centralizado: detecção/localização da presença do cliente seu endereço IP com servidor •  usuário registra central quando entra on-line •  usuário registra seu endereço IP com servidor •  central quando entra on-line usuário contacta servidor central para descobrir endereços IP dos parceiros •  usuário contacta servidor central para descobrir endereços IP dos parceiros sexta-feira, 2 de março de 12 14
  • 15. Processos e comunicação Processos se comunicando ocessos se comunicando processo: programa rodando dentro de um processo cliente: processo que inicia a hospedeiro comunicação nicandomesmo hospedeiro, !  no processo servidor: processo cliente: cesso: programa se dois processos processo que espera odando dentro de um comunicam usando a processo cliente: para ser contactado inicia processo que a comunicação entre ospedeiro (definida pelo processos que inicia a processo comunicação comunicação o mesmo hospedeiro, SO). !  Nota: aplicações com processo servidor: !  processo servidor: ois processos se processos em arquiteturas P2P têm processo que espera hospedeiros diferentes processos clientes & espera processo que omunicam ser contactado para usando a se comunicam trocando para ser contactado processos servidores omunicação entre lo mensagens rocessos (definida pelo !  Nota: aplicações com O). arquiteturas P2P têm !  Nota: aplicações com s processos clientes & rocessos em servidores o processos arquiteturas P2P têm ospedeiros diferentes processos clientes & e comunicam trocando processos servidores sexta-feira, 2 de março de 12 15
  • 16. Sockets !  processo envia/recebe mensagens de/para seu Sockets hospedeiro ou servidor hospedeiro ou servidor Sockets socket controlado pelo !  socket semelhante à porta desenvolvedor processo da aplicação processo "  processo enviando empurra !  processo envia/recebe mensagem pela porta hospedeiro socket ou servidor hospedeiro socket ou servidor mensagens de/para seu "  processo enviando conta com TCP com Internet TCP com socket buffers, buffers, infraestrutura de variáveis controlado pelo variáveis transporte no outro lado da !  socket que leva a mensagem porta, semelhante à porta processo desenvolvedor da aplicação processo "  processo enviando empurra ao socket no processo controlado socket socket mensagem pela porta receptor pelo OS TCP com TCP com "  processo enviando conta com !  API: (1) escolha do protocolo de transporte; (2) buffers, Internet buffers, infraestrutura de variáveis capacidade de consertar alguns parâmetros (muito transporte no outro lado da variáveis mais sobre isso adiante) porta, que leva a mensagem ao socket no processo controlado pelo OS receptor !  API: (1) escolha do protocolo de transporte; (2) sexta-feira, 2 de março de 12 16
  • 17. Endereço X Processo Endereçando processos Endereçando processos !  para receber mensagens, "  R: Não, muitos processos processo deve ter identificador estar rodando no mesmo para receber mensagens, hospedeiro !  dispositivo hospedeiro tem R: Não, muitos processos podem "  processo deve ter !  Identificador inclui endereç endereço IP exclusivo de 32 estar rodando no mesmo identificador números de porta associados bits hospedeiro dispositivo hospedeiro tem processo no hospedeiro. ? !  exercício: use ipconfig Identificador inclui endereço IP e !  do endereço IP exclusivo de 32 bits comando prompt para obter seu de porta associados ao port números Exemplos de número de !  "  servidor HTTP: 80 endereço IP (Windows) processo no hospedeiro. exercício: use ipconfig do o endereço IP!  Exemplos de servidorde porta: !  P: Basta para obter seu do comando prompt "  número de correio: 25 endereço IP (Windows) que o processo é hospedeiro em "  servidor HTTP: 80 executado para identificar oservidor de correio: 25 P: Basta o endereço IP do "  processo? hospedeiro em que o processo é executado para identificar o sexta-feira, 2 de março de 12 17
  • 18. Definições de protocolo Definição de Protocolo da camada de aplicação Definições de protocolo da camada de aplicação !  tipos de mensagens 1 protocolos de domínio trocadas, !  tipos de mensagens público: domínio protocolos de "  p. e., requisição, resposta trocadas, !  definidos em RFCs 2 sintaxe da mensagem: !  público: p. e., requisição, resposta "  !  provê interoperabilidade "  que campos nas mensagens & !  definidos em RFCs !  sintaxe da os campos são como mensagem: !  p. e., HTTP, SMTP, !  provê interoperabilidade "  que campos nas mensagens & delineados BitTorrent como os campos são !  p. e., HTTP, SMTP, 3 semântica da mensagem !  delineados protocolos proprietários: BitTorrent "  significado da informação !  semântica da mensagem !  p. e., Skype, ppstream protocolos proprietários: nos campos "  significado da informação 4 regras de quando e como !  !  p. e., Skype, ppstream nos campos processos enviam & !  regras de quando e como respondem a mensagens processos enviam & respondem a mensagens sexta-feira, 2 de março de 12 18
  • 19. Quais requisitos sua aplicação exige? 1. perda de dados? 2. temporização? 3. vazão (banda)? 4. segurança? sexta-feira, 2 de março de 12 19
  • 20. Características de de transporte Que serviço transporte uma aplicação precisa? perda de dados vazão !  algumas apls. (p. e., áudio) !  algumas podem tolerar alguma perda multimí !  outras apls. (p. e., mínimo transferência de arquivos, serem “ telnet) exigem !  outras transferência de dados elástica 100% confiável qualque temporização receber !  algumas apls. (p. e., segurança telefonia na Internet jogos interativos) !  criptog sexta-feira, 2 de março de 12 de dado 20
  • 21. !  outras apls. (p. e., míni Características de de arquivos, transferência transporte sere telnet) exigem !  outr transferência de dados elás 100% confiável qual temporização rece !  algumas apls. (p. e., segura telefonia na Internet jogos interativos) !  crip exigem pouco atraso de d para serem “eficazes” sexta-feira, 2 de março de 12 21
  • 22. Características de transporte ço de transporte ção precisa? s vazão s. (p. e., áudio) !  algumas apls. (p. e., ar alguma perda multimídia) exigem um (p. e., mínimo de vazão para ia de arquivos, serem “eficazes” em !  outras apls. (“apls. ia de dados elásticas”) utilizam vel qualquer vazão que receberem s. (p. e., segurança Internet tivos) !  criptografia, integridade sexta-feira, 2 de março de 12 22
  • 23. rquivos, serem “eficazes” !  outras apls. (“apls. dados Características de transporte elásticas”) utilizam qualquer vazão que receberem , segurança net !  criptografia, integridade so de dados,… zes” sexta-feira, 2 de março de 12 23
  • 24. Características de transporte Requisitos de serviço de transporte das aplicações comuns Aplicação Perda de dados Vazão Sensível ao tempo transf. arquivos sem perda elástica não e-mail sem perda elástica não documentos Web sem perda elástica não áudio/vídeo tolerante a perda áudio: 5 kbps-1 Mbps sim, centenas de ms tempo real vídeo:10 kbps-5 Mbps áudio/vídeo tolerante a perda o mesmo que antes sim, alguns seg armazenado jogos interativos tolerante a perda poucos kbps ou mais sim, centenas de ms Mensagem sem perda elástica sim e não instantânea sexta-feira, 2 de março de 12 24
  • 25. Dois tipos de serviços Serviços de protocolos de Serviços de protocolos de transporte da Internet da Internet transporte serviço TCP: serviço TCP: serviço serviço UDP: UDP: serviço TCP: serviço UDP: !  orientado a conexão: !  orientado a conexão: !  !  transferência de dados transferência de dados preparação exigida entre preparação exigida entre não confiável entre não confiável entre processos cliente ee servidor processos cliente servidor processo emissor e e processo emissor transporteconfiável entre confiável entre receptor receptor !  !  transporte processo emissor ee receptor !  !  não oferece: preparação processo emissor receptor não oferece: preparação !  controle de fluxo: emissor não controle de fluxo: emissor não dada conexão, conexão, sobrecarrega receptor sobrecarrega receptor confiabilidade, controle confiabilidade, controle dede fluxo, controle de fluxo, controle de !  controle de congestionamento: controle de congestionamento: congest., temporização, regula emissor quando a a rede rede congest., temporização, regula emissor quando garantia de de vazão ou está sobrecarregada garantia vazão ou está sobrecarregada segurança segurança !  não oferece: temporização, não oferece: temporização, !  P: P: por que se incomodar? Por por que se incomodar? Por garantias mínimas de vazão, garantias mínimas de vazão, que existe umum UDP? que existe UDP? segurança segurança sexta-feira, 2 de março de 12 25
  • 26. Características de transporte plicações da Internet: aplicação, rotocolos de transporte Protocolo da camada Protocolo de Aplicação de aplicação transporte básico e-mail SMTP [RFC 2821] TCP acesso remoto Telnet [RFC 854] TCP Web HTTP [RFC 2616] TCP transf. arquivos FTP [RFC 959] TCP multimídia com HTTP (p. e., Youtube), TCP ou UDP fluxo contínuo RTP [RFC 1889] telefonia da SIP, RTP, proprietário Internet (p. e., Skype) normalmente UDP sexta-feira, 2 de março de 12 26
  • 27. A Web e o HTTP sexta-feira, 2 de março de 12 27
  • 28. Inovação 1870 Telefone 1920 Rádio/TV 1990 WEB por demanda, não à mercê da operadora! várias interfaces sexta-feira, 2 de março de 12 28
  • 29. Web e HTTP Conceitos primeiro, algum jargão !  página Web consiste em objetos !  objeto pode ser arquivo HTML, imagem JPEG, applet Java, arquivo de áudio,… !  página Web consiste em arquivo HTML básico que inclui vários objetos referenciados !  cada objeto é endereçável por um URL !  exemplo de URL: www.someschool.edu/someDept/pic.gif nome do hospedeiro nome do caminho sexta-feira, 2 de março de 12 29
  • 30. Funcionamento Visão geral do HTTP Visão geral do HTTP HTTP: HyperText HTTP: HyperText Transfer Protocol Transfer Protocol !  protocolo da camada de PC rodando !  protocolo da da Web de aplicação camada PC rodando Explorer aplicação da Web !  modelo cliente/servidor Explorer !  modelo cliente: navegador que "  cliente/servidor requisita, recebe, "  cliente: navegador que Servidor “exibe” objetos Web rodando requisita, recebe, Servid servidor Web "  servidor: servidor Web “exibe” objetos em envia objetos Web Apache rodan servidor "  servidor: servidor Web resposta a requisições Mac rodando Apach envia objetos em Navigator resposta a requisições Mac rodando Navigator sexta-feira, 2 de março de 12 30
  • 31. Funcionamento Usa Conexão TCP! usa TCP: HTTP é “sem estado” !  servidor não guarda !  cliente inicia conexão TCP informações sobre (cria socket) com servidor, requisições passadas do cliente porta 80 HTTP é “sem estado” HTTP é “sem estado” a TCP: !  servidor aceita conexão TCP aparte do cliente !  servidor não guarda Protocolos que mantêm cliente mensagens HTTP (doTCP !  inicia conexão “estado” são complexos! sobre informações (cria socket) com servidor, protocolo da camada de requisições passadas do !  história passada (estado) aplicação) trocadas entre cliente porta 80navegador (cliente HTTP) e deve ser mantida !  se servidor/cliente falhar, servidor aceita conexão TCP servidor Web (servidor HTTP) suas visões do “estado” aparte do cliente podem ser incoerentes, Protocolos que mantêm !  conexão TCP fechada devem ser reconciliadas mensagens HTTP (do “estado” são complexos! protocolo da camada de !  história passada (estado) aplicação) trocadas entre sexta-feira, 2 de março de 12 31
  • 32. Tipos de HTTP Conexões HTTP HTTP não persistente HTTP persistente !  no máximo um objeto é !  múltiplos objetos enviado por uma podem ser enviados conexão TCP. por uma única conexão TCP entre cliente e servidor. sexta-feira, 2 de março de 12 32
  • 33. HTTP não persistente HTTP não persistente Suponha que o usuário digite o URL (contém texto, www.someSchool.edu/someDepartment/home.index referências a 10 imagens JPEG) 1a. Cliente HTTP inicia conexão TCP com servidor HTTP (processo) em 1b. Servidor HTTP no hospedeiro www.someSchool.edu na porta 80. www.someSchool.edu esperando conexão TCP na porta 80. “aceita” conexão, notificando cliente 2. Cliente HTTP envia mensagem de requisição HTTP (contendo URL) pelo socket de conexão 3. Servidor HTTP recebe mensagem TCP. Mensagem indica que de requisição, forma mensagem de cliente deseja o objeto resposta contendo objeto someDepartment/home.index. requisitado e envia mensagem para seu socket tempo sexta-feira, 2 de março de 12 33
  • 34. HTTP não persistente 4. Servidor HTTP fecha conexão TCP. 5. Cliente HTTP recebe mensagem de resposta contendo arquivo html, exibe html. Analisando arquivo html, acha 10 objetos JPEG referenciados. tempo 6. Etapas 1-5 repetidas para cada um dos 10 objetos JPEG. sexta-feira, 2 de março de 12 34
  • 35. HTTP não persistente HTTP não persistente: Tempo de de resposta tempo resposta definição de RTT: tempo para um pequeno pacote trafegar do cliente ao servidor e retornar. inicia conexão TCP tempo de resposta: RTT !  um RTT para iniciar a conexão requisita arquivo TCP tempo para RTT transmitir !  um RTT para a requisição arquivo HTTP e primeiros bytes da arquivo recebido resposta HTTP retornarem !  tempo de transmissão de tempo tempo arquivo total = 2RTT + tempo de transmissão sexta-feira, 2 de março de 12 35
  • 36. HTTP persistente HTTP persistente problemas do HTTP não HTTP persistente: persistente: !  servidor deixa a conexão !  requer 2 RTTs por objeto aberta depois de enviar a !  overhead do SO para cada resposta conexão TCP !  mensagens HTTP seguintes !  navegadores geralmente entre cliente/servidor abrem conexões TCP enviadas pela conexão aberta paralelas para buscar !  cliente envia requisições assim objetos referenciados que encontra um objeto referenciado !  no mínimo um RTT para todos os objetos referenciados sexta-feira, 2 de março de 12 36
  • 37. Mensagem de requisição Mensagens do HTTP HTTP !  dois tipos de mensagens HTTP: requisição, resposta !  mensagem de requisição HTTP: "  ASCII (formato de texto legível) linha de requisição (comandos GET, GET /somedir/page.html HTTP/1.1 POST, HEAD) Host: www.someschool.edu User-agent: Mozilla/4.0 linhas de Connection: close cabeçalho Accept-language:fr carriage return, line feed (carriage return, line feed extras) indica final da mensagem sexta-feira, 2 de março de 12 37
  • 38. Mensagem de requisição Mensagens do HTTP HTTP: formato geral Formato geral de mensagem HTTP sexta-feira, 2 de março de 12 38
  • 39. Upload de entrada (form) Upload da entrada do formulário método POST: !  página Web geralmente inclui método do URL: entrada do formulário !  usa o método GET !  entrada é enviada ao !  entrada é enviada no servidor no corpo da campo de URL da linha entidade de requisição: www.umsite.com/buscaanimal?macacos&banana sexta-feira, 2 de março de 12 39
  • 40. sexta-feira, 2 de março de 12 40
  • 41. Tipos de métodoTipos de métodos HTTP/1.0 HTTP/1.1 !  GET !  GET, POST, HEAD !  POST !  PUT !  HEAD "  envia arquivo no corpo da "  pede ao servidor para entidade ao caminho deixar objeto especificado no campo de requisitado fora da URL resposta !  DELETE "  exclui arquivo especificado no campo de URL sexta-feira, 2 de março de 12 41
  • 42. Mensagem de reposta Mensagem de resposta HTTP linha de status (protocolo código de estado HTTP/1.1 200 OK frase de estado) Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT linhas de Server: Apache/1.3.0 (Unix) cabeçalho Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html dados, p. e., dados dados dados dados dados ... arquivo HTML requisitado sexta-feira, 2 de março de 12 42
  • 43. Códigos de estado Códigos de estado da resposta HTTP primeira linha da mensagem de resposta servidor->cliente alguns exemplos de código: 200 OK "  requisição bem-sucedida, objeto requisitado mais adiante 301 Moved Permanently "  objeto requisitado movido, novo local especificado mais adiante na mensagem (Location:) 400 Bad Request "  mensagem de requisição não entendida pelo servidor 404 Not Found "  documento requisitado não localizado neste servidor 505 HTTP Version Not Supported sexta-feira, 2 de março de 12 43
  • 44. sexta-feira, 2 de março de 12 44
  • 45. Estado usuário-servidor: cookies cookies Muitos sites importantes Exemplo: usam cookies !  Susana sempre acessa a Quatro componentes: 1) linha de cabeçalho de Internet pelo PC cookie da mensagem de !  visita um site de comércio resposta HTTP eletrônico pela primeira vez 2) linha de cabeçalho de cookie na mensagem de !  quando as primeiras requisição HTTP requisições HTTP chegam ao 3) arquivo de cookie na site, este cria: máquina do usuário, controlado pelo "  ID exclusivo navegador do usuário "  entrada no banco de dados de 4) banco de dados de apoio apoio para o ID no site Web sexta-feira, 2 de março de 12 45
  • 46. cookies cliente cliente servidor servidor ebay 8734 requisição http normal servidor Amazon arq. de cookie resposta http normal cria ID 1678 Set-cookie: 1678 para usuário cria entrada ebay 8734 amazon 1678 requisição http normal cookie: 1678 ação acessa específica uma semana depois: resposta http normal do cookie banco de dados de acessa apoio ebay 8734 requisição http normal amazon 1678 cookie: 1678 ação específica resposta http normal do cookie sexta-feira, 2 de março de 12 46
  • 47. cookies cookies podem ter: ter: O O que os cookies podem ter: que os cookies podem aparte aparte !  autorização Cookies e privacidade: !  autorização O que os cookies podem ter: Cookies e privacidade: aparte !  carrinhos de compras !  cookies permitem que !  autorização de compras !  carrinhos Cookies e privacidade: que os !  cookies permitem sites descubram !  recomendações !  recomendações !  carrinhos de compras muitoos sites descubram !  cookies permitem que sobre você !  estado da sessão do muito sobre você !  estado da sessão do !  recomendações Web) !  você sites fornecer os pode descubram usuário (e-mail da muitoe-mail aos sites !  e sobre você nome você pode fornecer !  estado da sessão do Web) usuário (e-mail da Como manter o “estado”: !  você pode fornecer sites nome e e-mail aos !  usuário (e-mail da Web) Como manter do“estado”: mantêm extremidades o protocolo: nome e e-mail aos sites mantendo o emissor/receptor por !  manter estado: estado no o “estado”: Comoextremidades do protocolo: mantêm múltiplas transações estado no emissor/receptor por !  extremidades do protocolo: mantêm cookies: mensagens HTTP múltiplas transações ! estado no emissor/receptor por transportam estado múltiplas transações HTTP !  cookies: mensagens transportam estado !  cookies: mensagens HTTP transportam estado sexta-feira, 2 de março de 12 47
  • 48. cache (web proxy) Caches Web (servidor proxy) objetivo: satisfazer a requisição do cliente sem envolver servidor de origem !  usuário prepara servidor de origem navegador: acessos à Web via cache servidor !  navegador envia todas proxy cliente as requisições HTTP ao cache "  objeto no cache: cache retorna objeto "  ou cache requisita objeto do servidor de cliente servidor origem, depois retorna de origem objeto ao cliente sexta-feira, 2 de março de 12 48
  • 49. chache (web proxy) Mais sobre caching Web !  cache atua como Por que caching Web? cliente e servidor !  reduz tempo de resposta à !  normalmente, cache é requisição do cliente instalado por ISP (da !  reduz tráfego no enlace de universidade, empresa, acesso de uma instituição residencial) !  Internet densa com caches: permite que provedores de conteúdo “fracos” remetam conteúdo efetivamente (mas o mesmo ocorre com compartilhamento de arquivos P2P) sexta-feira, 2 de março de 12 49
  • 50. exemplo caching Exemplo de caching suposições servidores !  tamanho médio do objeto = de origem 1.000.000 bits Internet !  taxa de requisição média dos pública navegadores da instituição aos servidores de origem = 15/s !  atraso do roteador institucional a enlace de qualquer servidor de origem e de acesso a 15 Mbps volta ao roteador = 2 s rede institucional consequências LAN de 100 Mbps !  utilização na LAN = 15% !  utilização no enlace de acesso = 100% !  atraso total = atraso da Internet + cache atraso do acesso + atraso da LAN institucional = 2 s + x minutos + y milissegundos sexta-feira, 2 de março de 12 50
  • 51. exemplo caching solução possível servidores !  aumentar largura de banda do de origem enlace de acesso para, digamos, 100 Mbps Internet pública consequência !  utilização na LAN = 15% !  utilização no enlace de acesso = 15% enlace de acesso a 100 Mbps !  atraso total = atraso da Internet + rede atraso do acesso + atraso da LAN = institucional LAN de 100 Mbps 2 s + x ms + y ms !  normalmente, uma atualização dispendiosa cache institucional sexta-feira, 2 de março de 12 51
  • 52. exemplo caching servidores possível solução: instalar cache de origem !  suponha que índice de acerto é 0,4 Internet consequência pública !  40% de requisições serão satisfeitas imediatamente !  60% de requisições satisfeitas pelo servidor de origem enlace de acesso a 15 Mbps !  utilização do enlace de acesso rede reduzida para 60%, resultando institucional LAN de 100 Mbps em atrasos insignificantes (digamos, 10 ms) !  atraso médio total = atraso da Internet + atraso de acesso + atraso da LAN = 0,6*(2,01) s + cache 0,4*milissegundos < 1,4 s institucional sexta-feira, 2 de março de 12 52
  • 53. FTP (arquivos) sexta-feira, 2 de março de 12 53
  • 54. FTP: o protocolo de Transferência de arquivos (FTP) transferência de arquivos interface cliente transf. de arquivos servidor de usuário FTP FTP FTP usuário no hospedeiro sistema de sistema de arquivo remoto arquivo local !  transfere arquivo de/para hospedeiro remoto !  modelo cliente/servidor cliente: lado que inicia transferência (de/para remoto) "  "  servidor: hospedeiro remoto !  ftp: RFC 959 !  servidor ftp: porta 21 sexta-feira, 2 de março de 12 54
  • 55. FTP: conexões separadas controle de FTP - características para controle e dados remoto enviando comandos por !  cliente navega por diretório FTP: conexões separadas conexão de controleTCP conexão de controle para controleée dados comando de transferência de !  cliente FTP contacta servidor FTP na porta 21, TCP porta 21 !  quando servidor recebe protocolo de transporte arquivo, abrecontrole TCP TCP conexão de 2a conexão !  cliente FTP contactaconexão !  cliente autorizado por servidor (para arquivo) dados cliente cliente conexão de 21 porta com TCPservidor FTP na porta 21, TCP é porta 20 de controle !  após transferir um arquivo, FTP FTP protocolo de transporte !  cliente navega por diretório servidor fecha conexão de conexão de dados TCP !  cliente autorizado por conexão cliente servidor dados remoto enviando comandos por !  servidor abre outra conexão porta 20 de controle FTP FTP conexão de controle de dados TCP para transferir paradas cliente navega por diretório !  !  quando servidor recebe remoto enviando comandos por !  outro arquivo outra conexão servidor abre ados comando dede controle conexão transferência de !  conexão de controle: “fora da de dados TCP para transferir arquivo, abre 2 TCP a conexão TCP conexão de controle !  quandoporta 21 servidor recebe dor (para arquivo) com cliente de banda”arquivo outro comando de transferência !  conexão de controle: “fora da arquivo, abre 2 a conexão TCP !  após transferir um arquivo, !  servidor FTP mantém banda” “estado”: diretório atual, servidor arquivo) servidor exão cliente(para fecha conexão de conexão de dados com cliente porta 20 TCP dados transferir umFTP FTPapós !  arquivo, servidor FTP mantém !  autenticação anterior o servidor fecha conexão de “estado”: diretório atual, por !  servidor abre outra conexão dados autenticação anterior de dados TCP para transferir outro arquivo de sexta-feira, 2 de março de 12 55
  • 56. FTP - comandos Comandos e respostas FTP exemplos de comandos: exemplos de códigos de !  enviado como texto ASCII retorno pelo canal de controle !  código e frase de estado !  USER nome-usuário (como no HTTP) !  PASS senha !  331 Username OK, !  LIST retorna lista de password required arquivos no diretório atual !  125 data connection already open; !  RETR nome-arquivo transfer starting recupera (apanha) arquivo !  425 Can’t open data !  STOR nome-arquivo connection armazena (coloca) arquivo !  452 Error writing no hospedeiro remoto file sexta-feira, 2 de março de 12 56
  • 57. sexta-feira, 2 de março de 12 57
  • 58. sexta-feira, 2 de março de 12 58
  • 59. Email (SMTP, POP3, IMAP) sexta-feira, 2 de março de 12 59
  • 60. Conceitos Correio eletrônico Correio eletrônico Três componentes principais: agente usuário fila de msg. de saída !  agentes do usuário serv. agente caixa de entrada Três !  servidores de correio componentes principais: correio fila de do usuário !  Simple Mail Transfer Protocol: usuário msg. de saída !  agentes do usuário SMTP SMTP agente caixa de entrada !  servidores de correio serv. correio do usuário usuário Agente do usuário !  Simple Mail Transfer Protocol: SMTP mail SMTPtambém chamado “leitor de !  SMTP server agenteagente correio” SMTP usuário serv. usuário !  redigir, editar, ler mensagens Agente do usuário SMTP correio mail de correio eletrônico !  tambéme., Eudora, Outlook, de chamado “leitor elm, server agente !  p. agente correio” Mozilla Thunderbird SMTP usuário usuário agente serv. !  redigir, editar, ler mensagens !  mensagens entrando e saindo usuário correio agente armazenadas no servidor de correio eletrônico usuário agente !  p. e., Eudora, Outlook, elm, usuário Mozilla Thunderbird agente sexta-feira, 2 de março de 12 60
  • 61. !  agentes do usuário caixa de entr Conceitos !  servidores de correio serv. correio do usuário !  Simple Mail Transfer Protocol: SMTP Correio eletrônico SMTP age usu Três componentes principais: agente fila de Agente do usuário SMTP usuário msg. de saída mail !  agentes do usuário !  também chamado correio de “leitor serv. server caixa de entrada !  servidores de agen correio” !  Simple Mail Transfer Protocol: correio SMTP do usuário usuár serv. SMTP !  redigir, editar, ler mensagens SMTP agente correio usuário de correio eletrônico Agente do usuário SMTP mail agente !  p. e., Eudora,chamado “leitor de !  também Outlook, elm, server agente usuário Mozilla Thunderbird correio” SMTPagente usuário serv. !  mensagens entrando !  redigir, editar, ler e saindo mensagens correio usuário de correio eletrônico agente armazenadas no servidor usuário agente !  p. e., Eudora, Outlook, elm, usuário Mozilla Thunderbird agente !  mensagens entrando e saindo usuário agente armazenadas no servidor usuário sexta-feira, 2 de março de 12 61
  • 62. Correio eletrônico:Conceitos Correio eletrônico servidores de correio Três componentes principais: agente agente fila de servidores de usuário !  agentes do correio usuário usuário msg. de saída !  caixa de correio correio !  servidores de contém serv. caixa de entrada serv. do usuário mensagens que chegam para correio correio agente !  Simple Mail Transfer Protocol: o usuário usuário SMTP SMTP !  fila de mensagens com SMTP serv. usuário agente mensagens usuário Agente do de correio a correio agente serem enviadas SMTP mail usuário !  também chamado “leitor de SMTP server agente !  protocolo SMTP entre correio” SMTP usuário servidores editar, ler mensagens !  redigir, de correio para serv. SMTP enviar mensagens de e-mail correio serv. agente de correio eletrônico "  cliente: servidor de envio correio usuário agente !  p. e., Eudora, Outlook, elm, de correio Mozilla Thunderbird usuário agente "  “servidor”: servidor de agente !  mensagens entrando e saindo usuário usuário recepção de no servidor armazenadas correio agente agente usuário usuário sexta-feira, 2 de março de 12 62
  • 63. Correio eletrônico: Correio eletrônico: SMTP [RFC 2821] SMTP [RFC 2821] usa TCP para transferir de modo con !  usa TCP para transferir de modo confiável a mensagem !  de e-mail do cliente ao servidor, porta 25 de e-mail do cliente ao servidor, port !  transferência direta: servidor de envio ao servidor de recepção transferência direta: servidor de env !  recepção !  três fases da transferência "  handshaking (saudação) "  transferência fases da transferência !  três de mensagens "  handshaking (saudação) "  fechamento !  interação comando/resposta "  transferência de mensagens "  comandos: texto ASCII "  fechamento "  resposta: código e frase de estado !  mensagens devem estar em ASCII de 7 bits !  interação comando/resposta "  comandos: texto ASCII sexta-feira, 2 de março de 12 63
  • 64. Cenário: Alice envia Alice envia mensagem a Bob mensagem a Bob 1) Alice usa AU para redigir mensagem “para” 4) Cliente SMTP envia bob@algumaescola.edu mensagem de Alice pela 2) O AU de Alice envia conexão TCP mensagem ao seu servidor 5) Servidor de correio de Bob de correio, que é colocada coloca mensagem na caixa na fila de mensagens de correio de Bob 3) Lado cliente do SMTP abre 6) Bob chama seu agente do conexão TCP com servidor de correio de Bob usuário para ler mensagem 1 serv. serv. correio agente agente correio 2 usuário usuário 3 6 4 5 sexta-feira, 2 de março de 12 64
  • 65. Exemplo de interação SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Você gosta de ketchup? C: Que tal picles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection sexta-feira, 2 de março de 12 65
  • 66. SMTP: palavras finais comentários !  SMTP usa conexões Comparação com HTTP: persistentes !  HTTP: puxa !  SMTP requer que a mensagem (cabeçalho e !  SMTP: empurra corpo) esteja em ASCII de !  ambos têm interação de 7 bits comando/resposta em !  servidor SMTP usa ASCII, códigos de estado CRLF.CRLF para determinar fim da !  HTTP: cada objeto mensagem encapsulado em sua própria mensagem de resposta !  SMTP: múltiplos objetos enviados na mensagem multiparte sexta-feira, 2 de março de 12 66
  • 67. Formato da mensagem de correio Exemplo de mensagem SMTP: protocolo para trocar mensagens de e-mail cabeçalho linha RFC 822: padrão para formato em de mensagem de texto: branco !  linhas de cabeçalho, p. e., Para: "  corpo "  De: "  Assunto: diferente dos comandos SMTP! !  corpo "  a “mensagem”, apenas em caracteres ASCII sexta-feira, 2 de março de 12 67
  • 68. Protocolos de acesso Como acessar msgs de correio SMTP SMTP prot. agente agente usuário acesso usuário servidor de correio servidor de correio do emissor do receptor !  SMTP: remessa/armazenamento no servidor do receptor !  protocolo de acesso ao correio: recuperação do servidor "  POP: Post Office Protocol [RFC 1939] •  autorização (agente <--> servidor) e download "  IMAP: Internet Mail Access Protocol [RFC 1730] •  mais recursos (mais complexo) •  manipulação de msgs armazenadas no servidor "  HTTP: gmail, Hotmail, Yahoo! Mail etc. sexta-feira, 2 de março de 12 68
  • 69. Protocolo POP3 fase de autorização S: +OK POP3 server ready C: user bob !  comandos do cliente: S: +OK C: pass hungry user: declare “username” "  S: +OK usuário logado com sucesso "  pass: senha C: list !  respostas do servidor S: 1 498 S: 2 912 "  +OK S: . "  -ERR C: retr 1 S: <message 1 contents> fase de transação, cliente: S: . !  list: lista números de msg. C: dele 1 C: retr 2 !  retr: recupera mensagem por S: <message 1 contents> número S: . C: dele 2 !  dele: exclui C: quit !  quit S: +OK serv. POP3 desconectando sexta-feira, 2 de março de 12 69
  • 70. POP3 (mais) e IMAP Mais sobre POP3 IMAP !  Exemplo anterior usa !  Mantém todas as modo “download e mensagens em um local: o excluir” servidor !  Bob não pode reler e- -mail se mudar o !  Permite que o usuário cliente organize msgs em pastas !  “Download-e-manter”: !  IMAP mantém estado do cópias de mensagens usuário entre sessões: em clientes diferentes "  nomes de pastas e !  POP3 é sem estado mapeamento entre IDs de entre as sessões mensagem e nome de pasta sexta-feira, 2 de março de 12 70
  • 71. E-mail e HTTP Hotmail Gmail sexta-feira, 2 de março de 12 71
  • 72. DNS (Domain Name Sytem) sexta-feira, 2 de março de 12 72
  • 73. Conceitos Domain Name System DNS: Domain Name System DNS: Iniciais pessoas: muitos Domain Name System: identificadores: pessoas: !  banco de dados distribuído muitos Domain N identificadores: CPF, nome, passaporte "  implementado na hierarquia !  banco d muitos servidores deimplem "  CPF, nome, passaporte nome hospedeiros da Internet, muitos !  protocolo em nível de aplica hospedeiros da Internet, roteadores: !  protoco hospedeiro, roteadores, roteadores: hosped "  endereço IP (32 bits) – "  endereço IP (32 bits) – nomes servido servidores de se usado para endereçar usado para endereçar comunicam para resolver no comunic datagramas (tradução endereço/nome) datagramas (traduç "  “nome”, p. e., "  Nota: função básica Not "  “nome”, p. e., "  da ww.yahoo.com – usado ww.yahoo.com – usado implementada Internet, Inte pelos humanos pelos humanos como protocolo em nívecom P: Como mapear entre aplicação apli P: Como mapear entre endereço "  complexidade na “borda IP e nome? "  com endereço IP e nome? red rede sexta-feira, 2 de março de 12 73
  • 74. main Name System Conceitos Iniciais itos Domain Name System: dores: !  banco de dados distribuído me, passaporte implementado na hierarquia de muitos servidores de nomes da Internet, !  protocolo em nível de aplicação es: hospedeiro, roteadores, o IP (32 bits) – servidores de nomes se ara endereçar comunicam para resolver nomes mas (tradução endereço/nome) p. e., "  Nota: função básica da o.com – usado Internet, implementada manos como protocolo em nível de ear entre aplicação IP e nome? "  complexidade na “borda” da rede sexta-feira, 2 de março de 12 74
  • 75. DNS DNS DNS Serviços de DNS Serviços de DNS Por que não centralizar o o Por que não centralizar !  tradução nome de !  tradução nome de DNS? DNS? hospedeiro -> endereço !  !  único ponto de falha hospedeiro -> endereço único ponto de falha IP IP volume de tráfego !  !  volume de tráfego !  apelidos de hospedeiro !  apelidos de hospedeiro !  banco de dados "  nomes canônicos !  banco de dados "  nomes canônicos centralizado distante centralizado distante !  apelidos de servidor de !  apelidos de servidor de !  manutenção correio correio !  manutenção !  distribuição de carga !  distribuição de carga "  servidores Web Não é escalável! "  servidores Web replicados: conjunto de Não é escalável! endereços IPconjunto de replicados: para um nome canônico para um endereços IP nome canônico sexta-feira, 2 de março de 12 75
  • 76. Banco de dados distribuído, hierárquico Servidores DNS raiz servs. DNS com servs. DNS org servs. DNS edu servs. DNS servs. DNS servs. DNS servs. DNS servs. DNS pbs.org poly.edu umass.edu yahoo.com amazon.com Cliente quer IP para www.amazon.com; 1a aprox: !  cliente consulta serv. raiz para achar servidor DNS com !  cliente consulta serv. DNS com para obter serv. DNS amazon.com !  cliente consulta serv. DNS amazon.com para obter endereço IP para www.amazon.com sexta-feira, 2 de março de 12 76
  • 77. DNS: Servidores de nomes raiz Servidor raiz !  contactados por servidores de nomes locais que não conseguem traduzir nome !  servidores de nomes raiz: "  contacta servidor de nomes com autoridade se o mapeamento não for conhecido "  obtém mapeamento "  retorna mapeamento ao servidor de nomes local 13 servidores de nomes raiz no mundo sexta-feira, 2 de março de 12 77
  • 78. TLD e servidores com outros níveis Servidores DNS autoridade !  servidores de domínio de alto nível (TLD) : "  responsáveis por com, org, net, edu etc. e todos os domínios de país de alto nível: br, uk, fr, ca, jp. "  A Network Solutions mantém servidores para TLD com "  Educause para TLD edu !  servidores DNS com autoridade: "  servidores DNS da organização, provendo nome de hospedeiro com autoridade a mapeamentos IP para os servidores da organização (p. e., Web, correio). "  podem ser mantidos pela organização ou provedor de serviços sexta-feira, 2 de março de 12 78
  • 79. Servidor DNS local Servidor de nomes local !  não pertence estritamente à hierarquia !  cada ISP (ISP residencial, empresa, universidade) tem um. "  também chamado “servidor de nomes default” !  quando hospedeiro faz consulta ao DNS, consulta é enviada ao seu servidor DNS local "  atua como proxy, encaminha consulta para hierarquia sexta-feira, 2 de março de 12 79
  • 80. Funcionamento Exemplo de resolução Exemplo de resolução na nome DNS prática de nome DNS de servidor DNS raiz servidor DNS raiz 22 !  hospedeiro em !  hospedeiro 33 servidor DNS TLD servidor DNS TLD cis.poly.edu quer cis.poly.edu 44 endereço IP para endereço IP 55 gaia.cs.umass.edu gaia.cs.umass.edu serv. DNS local serv. DNS local consulta repetida: consulta repetida: dns.poly.edu dns.poly.edu 77 66 !  servidor contactado !  servidor contactado 11 88 responde com nome responde com nome do servidor a do servidor a serv. DNS com autoridade serv. DNS com autoridade contactar contactar dns.cs.umass.edu dns.cs.umass.edu hospedeiro hospedeiro !  “não conheço esse !  “não conheço esse solicitante nome, mas pergunte a solicitante nome, mas pergunte a cis.poly.edu este servidor” cis.poly.edu gaia.cs.umass.edu este servidor” gaia.cs.umass.edu sexta-feira, 2 de março de 12 80
  • 81. Funcionamento na prática serv. DNS raiz consulta recursiva: 2 3 !  coloca peso da resolução de nome 6 7 sobre o servidor de serv. DNS TLD nomes contactado !  carga pesada? serv. DNS local dns.poly.edu 5 4 1 8 serv. DNS com autoridade dns.cs.umass.edu hospedeiro solicitante cis.poly.edu gaia.cs.umass.edu sexta-feira, 2 de março de 12 81