Professional Documents
Culture Documents
2.1 Princpios de aplicaes de redes 2.2 Web e HTTP 2.3 FTP 2.4 Correio Eletrnico
2.5 DNS
aplicao
transporte
rodam em (diferentes) hosts Comunicam-se sobre a rede p.ex., software servidor web se comunica com browser
aplicao
transporte
Dispositivos do ncleo no rodam aplicaes de usurio aplicaes em hosts permite rpido desenvolvimento e propagao das aplicaes
aplicao
transporte
2.5 DNS
Arquiteturas de Aplicao
Cliente-servidor Peer-to-peer (P2P) Hbrido de cliente-servidor e P2P
Arquitetura Cliente-servidor
servidor: Host sempre ligado Endereo IP fixo Fazenda de servidores para escalonamento clientes:
cliente/servidor
Comunicam-se com servidor pode ser conectado de vez em quando pode ter endereos IP dinmicos No se comunicam diretamente com outros clientes
Processos se comunicando
Processo: programa rodando em um host. Dentro do mesmo host, 2 processos se comunicam usando comunicao interprocessos (definida pelo Sist. Oper.). processos em diferentes hosts se comunicam atravs de trocas de mensagens Processo Cliente: processo que inicia comunicao Processo Servidor : processo que espera pra ser contactado Nota: aplicaes com arquiteturas P2P tem processos cliente & processos servidor
Sockets
processo envia/recebe mensagens para/de seu socket socket anlogo a uma porta
host ou server
Processo transmissor empurra mensagem pra fora da porta Processo transmissor confia na infraestrutura de transporte no outro lado da porta o qual envia mensagens para socket no processo receptor
processo socket
Internet
controlado pelo SO
API: (1) escolha do protocolo de transporte; (2) habilidade pra consertar uns poucos parmetros
Endereando processos
Para receber mensagens, processo deve ter identificador host tem endereo IP de 32 bits nico P: o endereo IP do host suficiente para identificar o processo?
Endereando processos
Para receber mensagens, processo deve ter identificador host tem endereo IP de 32 bits nico P: o endereo IP do host suficiente para identificar o processo? R: No, muitos processos podem estar rodando no mesmo host identificador inclui ambos o endereo IP e nmeros de porta associados com o processo no host. Examplos de nmeros de porta:
p.ex., pedido, resposta quais campos nas mensagens & como os campos so delineados significado da informao nos campos
Sintaxe da mensagem:
Semntica da mensagem
Protocolos de domnio pblico: definidos nas RFCs permite interoperabilidade p.ex., HTTP, SMTP Protocolos proprietrios: p.ex., Skype
Servio UDP:
Transferncia de dados no-confivel entre processos transmissor e receptor No fornece: setup de conexo, confiabilidade, controle de fluxo, controle de congestionamento, sincronismo, garantia de banda, ou segurana P: Quem vai usar UDP?
tipicamente UDP
2.5 DNS
Web e HTTP
Primeiro alguns jarges Pgina Web consiste de objetos Objeto pode ser arquivo HTML, imagem JPEG, applet Java, arquivo de udio, Pgina Web consiste de arquivo HTML base que inclui vrios objetos referenciados Cada objeto enderevel por uma URL Exemplo de URL: www.someschool.edu/someDept/pic.gif Nome do host Caminho
PC rodando Explorer
Protocolos que mantm estados so complexos! Histria passada (estado) deve ser mantida se servidor/cliente trava, suas vises de estados pode ser inconsistente, deve ser recuperada
Obs.
Conexes HTTP
HTTP no-persistente No mnimo 1 objeto enviado sobre uma conexo TCP. HTTP persistente Mltiplos objetos podem ser enviados sobre uma nica conexo TCP entre cliente e servidor.
HTTP No-persistente
Suponha que o usurio entre com a URL
1a. Cliente HTTP client inicia
conexo TCP a servidor HTTP (processo) em www.algumaEscola.edu na porta 80
www.algumaEscola.edu/algumDepartamento/home.index
tempo
Inicia conexo TCP RTT pede arquivo RTT arquivo recebido tempo
tempo
HTTP Persistente
Problemas do HTTP No persistente : requer 2 RTTs por objeto Buffers, variveis para cada conexo TCP browsers quase sempre abrem conexes TCP paralelas pra baixar os objetos referenciados HTTP Persistente servidor deixa conexo aberta depois de enviar resposta Mensagens HTTP subsequentes entre mesmo par cliente/servidor enviadas sobre conexo aberta cliente envia pedidos logo que encontra um objeto referenciado somente 1 RTT pra todos os objetos referenciados
Linha de pedido (comandos GET, POST, GET /somedir/page.html HTTP/1.1 HEAD) Host: www.someschool.edu User-agent: Mozilla/4.0 Linhas de Connection: close cabealho Accept-language:fr CR, LF indica fim da mensagem (CR, LF extra)
verso
pedido
Linhas do cabealho
Corpo da entidade
www.somesite.com/animalsearch?monkeys&banana
Tipos de mtodos
HTTP/1.0 GET POST HEAD
envia arquivo no corpo da entidade para o caminho especificado no campo da URL Deleta arquivo especificado no campo da URL
DELETE
pedido bem-sucedido, objeto requisitado vem depois nesta mensagem Objeto requisitado moveu-se, nova localizao especificada depois nesta mensagem (Location:) Mensagem de pedido no entendida pelo servidor Documento requisitado no encontrado neste servidor
Exemplo: Susan sempre acessa Internet do PC visita sites de ecommerce especficos pela primeira vez Quando os pedidos iniciais HTTP chega no site, o site cria: Um ID nico Uma entrada no banco de dados para o ID
servidor
Servidor Amazon cria ID Resposta http comum Set-cookie: 1678 1678 pro usurio cria
entrada
Msg de pedido http comum
Arquivo de cookie
ebay 8734 amazon 1678
cookie: 1678
1 semana depois:
ebay 8734 amazon 1678
Banco de dados
cookie: 1678
Ao especfica do cookie
Cookies (cont.)
O que os cookies podem fazer: Autorizao E-commerce Indicaes de produtos Estado de sesso de usurio (Webmail)
Cookies e privacidade: cookies permitem que sites aprendam muito sobre voc voc pode fornecer nome e e-mail aos sites
obs
Como manter o estado: Pontas do protocolo: mantm estado no transmissor/receptor sobre mltiplas transaes cookies: mensagens http carregam o estado
objeto no cache: cache returna objeto Alm do cache requisitar objeto do servidor de origem, ele returna o objeto ao cliente
cliente
Servidor de origem
Exemplo de Caching
Dados
Tamanho do objeto mdio = 100 000 bits Taxa mdia de pedidos dos browsers da instituia para servidores originais = 15/seg atraso do roteador institucional para qualquer servidor original e de volta ao roteador = 2 seg
Internet pblica
Servidores originais
Consequncias
utilizao na LAN = 15% utilizao no link de accesso = 100% Atraso total = atraso Internet + atraso acesso + atraso LAN = 2 seg + minutos + milisegundos
cache institucional
Servidores originais
consequncia
utilizao da LAN = 15% utilization do link de acesso = 15% Atraso total = atraso da Rede institucional Internet + atraso do access + atraso da LAN = 2 seg + msegs + msegs Quase sempre sai caro!
Link de acesso de 10 Mbps LAN de 10 Mbps
Cache institucional
Servidores originais
Internet pblica
consequncia
40% dos pedidos sero satisfeitos quase imediatamente 60% dos pedidos atendidos pelo servidor original utilizao do link de acesso reduzida para 60%, resultando em atrasos desprezveis (ex. 10 mseg) Atraso mdio total = atraso Internet + atraso acesso + atraso LAN = .6*(2.01) segs + .4*milisegs < 1.4 segs
Cache institucional
GET Condicional
Objetivo: no enviar objetos cache se cache tem verso da Mensagem de pedido pgina atualizada HTTP If-modified-since: cache: especifica data da <data> cpia armazenada no pedido Resposta HTTP HTTP
If-modified-since: <data>
HTTP/1.0 304 Not Modified
servidor
objeto no modificado
Resposta HTTP
HTTP/1.0 200 OK
objeto modificado
<dados>
2.5 DNS
Transferncia de arquivos
Servidor
Usurio em um host
Transfere arquivo para/de host remoto Modelo cliente/servidor cliente: lado que inicia a transferncia servidor: host remoto ftp: RFC 959 Servidor ftp: porta 21
Correio Eletrnico
3 componentes principais : Agentes de usurio Servidores de email simple mail transfer protocol (protocolo simples de transferncia de correio): SMTP Agente de usurio P.ex.. leitor de email compe, edita, l mensagens de email p.ex., Eudora, Outlook, elm, Mozilla Thunderbird Mensagens de entrada e sada armazenadas no servidor
user agent mail server
user agent
mail server
user agent
user agent
Servidor de email
Agente usurio
Agente usurio
1 AU 2
Servidor de email 3
Servidor de email 4 5 6
AU
cabealho
Linha em branco
corpo
corpo
SMTP
Protocolo de acesso
AU
SMTP: entrega/armazenamento para servidor do receptor Protocolo de acesso a eMail: baixar do servidor POP: Post Office Protocol [RFC 1939] autorizao (agente <-->servidor) e download IMAP: Internet Mail Access Protocol [RFC 1730] Mais recursos (mais complexo) manipulao de mensagens armazenadas no servidor HTTP: gmail, Hotmail, Yahoo! Mail, etc.
Protocolo POP3
Fase de autorizao
Comandos do cliente: user: declara login pass: senha Respostas do servidor +OK -ERR
S: C: S: C: S: C: S: S: S: C: S: S: C: C: S: S: C: C: S:
+OK POP3 server ready user bob +OK pass hungry +OK user successfully logged list 1 498 2 912 . retr 1 <message 1 contents> . dele 1 retr 2 <message 1 contents> . dele 2 quit +OK POP3 server signing off
on
CPF, nome, RG
Endereo IP (32 bits) usado pra enderear datagramas nome, p.ex., ww.yahoo.com - usado por humanos
DNS
Servios DNS Traduo de nome de mquina para endereo IP Apelidos de host
Por que no centralizar DNS? Ponto nico de falha Volume de trfego Base de dados centralizada e distante manuteno no escala!
Cliente quer IP pra www.amazon.com; 1o aprox: cliente pergunta pro servidor raiz como encontrar servidor DNS .com cliente pergunta pro servidor .com como encontrar o servidor DNS da amazon.com cliente pergunta pro servidor amazon.com como conseguir o IP de www.amazon.com
a Verisign, Dulles, VA c Cogent, Herndon, VA (also LA) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD
j Verisign, ( 21 locations)
k RIPE London (also 16 other locations) i Autonomica, Stockholm (plus 28 other locations) m WIDE Tokyo (also Seoul, Paris, SF)
responsveis pelos domnios com, org, net, edu, etc, e todos os de nao uk, fr, ca, jp. Network Solutions mantm servidores para domnio com Educause para domnio edu Servidores DNS da organizao, fornecem mapeamento autoritativo de hostname para IP para os servidores da organizao (p.ex., Web, email). Podem ser mantidos pela organizao ou por um provedor de servios
Quando o host faz pedido de traduo DNS, a pergunta enviada para seu servidor de DNS local
Host requisitante
cis.poly.edu gaia.cs.umass.edu
3 7 6 Servidor TLD
Servidor local
dns.poly.edu
8
servidor autoritativo dns.cs.umass.edu
Host requisitante
cis.poly.edu gaia.cs.umass.edu
Registros DNS
DNS: base de dados distribuida armazenando registros de recursos (RR)
Tipo=CNAME
nome apelido de uma nome
Tipo=NS
nome domnio (p.ex. foo.com) valor hostname dos servidores de dns desse domnio
Tipo=MX
valor nome do servidor de
Informaes adicionais
prov nomes, endereos IP de servidores autoritativos (primrio e secundrio) registradora insere 2 RRs no servidor TLD com:
Cria registro Tipo A no servidor autoritativo para www.networkuptopia.com; registro Tipo MX para networkutopia.com Como as pessoas descobrem o endereo IP de um Web site?