Capítulo 2: Camada de Aplicação

Tamanho: px
Começar a partir da página:

Download "Capítulo 2: Camada de Aplicação"

Transcrição

1 Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço aprender sobre protocolos através do estudo de protocolos populares do nível da aplicação Mais metas do capítulo protocolos específicos: HTTP FTP SMTP / POP3 / IMAP DNS a programação de aplicações de rede programação usando sockets 1

2 Capítulo 2: Roteiro Princípios das aplicações de rede Arquitetura da aplicação Comunicação entre processos O que definem os protocolos da camada de aplicação Quais os serviços demandados pela aplicação Serviços fornecidos pelos protocolos de transporte 2

3 Lista de aplicações populares bate-papo Redes sociais gamming on-line web... 3

4 Paradigma cliente-servidor (C-S) Apl. de rede típica tem duas partes: cliente e servidor Cliente: inicia contato com o servidor ( fala primeiro ) solicita serviço do servidor para WWW, cliente implementado no browser; para correio no leitor de mensagens Servidor: provê ao cliente o serviço requisitado p.ex., servidor WWW envia página solicitada; servidor de correio entrega mensagens aplicação transporte rede enlace física pedido resposta aplicação transporte rede enlace física 4

5 Paradigma Par a par (P2P) Não há um ponto central que oferece um serviço; Pares de Sistemas finais quaisquer se comunicam diretamente; Pares têm autonomia para escolher com quem eles vão se conectar; Conexão e desconexão são eventos corriqueiros. Ex.: Gnutella, BitTorrent Altamente escaláveis mas difíceis de gerenciar 5

6 Híbrida de cliente-servidor e P2P Napster Transferência de arquivo P2P Busca centralizada de arquivos: Conteúdo de registro dos pares no servidor central Consulta de pares no mesmo servidor central para localizar o conteúdo Instant messaging Bate-papo entre dois usuários é P2P Detecção/localização centralizada de presença: Usuário registra seu endereço IP com o servidor central quando fica on-line Usuário contata o servidor central para encontrar endereços IP dos vizinhos 6

7 Comunicação entre processos na rede processos se comunicam enviando ou recebendo mensagens através de um socket (TOMADA); socket O processo emissor joga a mensagem por seu socket; O processo emissor assume que há uma infra-estrutura de transporte no lado oposto do socket que irá transmitir a mensagem até o socket do processor receptor; host ou servidor host ou servidor processo Controlado pelo Desenvolvedor da aplicação socket socket TCP com buffers, Variáveis processo Internet TCP com buffers, Variáveis Controlado pelo OS API: (1) escolhe do protocolo de transporte; (2) habilidade para fixar alguns parâmetros (voltamos mais tarde a este assunto) 7

8 Identificando processos: Para que um processo possa receber mensagens, ele precisa ter um identificador; Cada host tem um endereço único de 32(IPv4)/128(IPv6) bits endereço IP; Q: O endereço IP de um host no qual um processo está executando é suficiente para identificar este processo? Resposta: Não, muitos processos podem estar em execução em um mesmo host O identificador inclue tanto o endereço IP como também o número de porta associado com o processo no host; Exemplo de número de portas: Servidor HTTP: 80 Servidor de Correio: 25 Voltaremos a este assunto mais tarde 8

9 Exemplo: Tráfego Capturado, IPs e Portas 9

10 Comunicação entre processos: Contextualizando Um processo é um programa que executa num hospedeiro (host). 2 processos no mesmo hospedeiro se comunicam usando comunicação entre processos definida pelo sistema operacional (SO). 2 processos em hospedeiros distintos se comunicam usando um protocolo da camada de aplicação. 10

11 Camada de aplicação define: Tipo das mensagens trocadas: ex, mensagens de requisição & resposta Sintaxe das mensagens: quais os campos de uma mensagem & como estes são delineados; Semântica dos campos: qual o significado das informações nos campos; Protocolos de domínio público: Definidos por RFCs Garante interoperabilidade ex, HTTP, SMTP Protocolos proprietários: ex, Skype Regras: definem quando e como os processos enviam & respondem mensagens; 11

12 Aplicações e protocolos da camada de aplicação Aplicação: processos distribuídos em comunicação executam em hospedeiros no espaço de usuário trocam mensagens para implementar a aplicação p.ex., correio, transf. de arquivo, WWW aplicação transporte rede enlace física Protocolos da camada de aplicação uma parte da aplicação define mensagens trocadas por apls e ações tomadas usam serviços providos por protocolos de camadas inferiores (TCP, UDP) aplicação transporte rede enlace física aplicação transporte rede enlace física 12

13 De que serviço de transporte uma aplicação precisa? Transferência Confiável de dados algumas apls (p.ex. áudio) podem tolerar algumas perdas outras (p.ex., www, ) requerem transferência 100% confiável Timing (Sensibilidade temporal) algumas apls (p.ex., telefonia Internet, jogos interativos) requerem baixo retardo para serem viáveis Largura de banda algumas apls (p.ex., multimídia) requerem quantia mínima de banda para serem viáveis outras apls ( apls elásticas ) conseguem usar qualquer quantia de banda disponível Segurança Garantir sigilo as mensagens transportadas. Integridade dos dados 13

14 Requisitos do serviço de transporte de apls comuns Aplicação transferência de arqs correio documentos WWW áudio/vídeo de tempo real áudio/vídeo gravado jogos interativos apls financeiras Whatsapp Perdas Banda sem perdas sem perdas sem perdas tolerante elástica elástica elástica áudio: 5Kb-1Mb vídeo:10kb-5mb como anterior > alguns Kbps elástica tolerante tolerante sem perdas Sensibilidade temporal não não não sim, 100 s mseg sim, alguns segs sim, 100 s mseg sim e não 14

15 Serviços providos por protocolos de transporte Internet serviço TCP: orientado a conexão: negociação e definição da conexão (setup) requerida entre cliente, servidor transporte confiável entre processos remetente e receptor controle de fluxo: remetente não vai sobrecarregar o receptor controle de congestionamento: reduz a atividade do remetente quando a rede está sobrecarregada não provê: garantias temporais ou de banda mínima serviço UDP: transferência de dados não confiável entre processos remetente e receptor não provê: setup da conexão, confiabilidade, controle de fluxo, controle de congestionamento, garantias temporais ou de banda mínima P: Qual é o interesse em ter um UDP? 15

16 Apls Internet: seus protocolos e seus protocolos de transporte Aplicação Protocolo Aplicação Protocolo Transporte correio eletrônico smtp [RFC 821] accesso terminal telnet [RFC 854] remoto TCP WWW http [RFC 2068] TCP transferência de ftp [RFC 959] arquivos TCP TCP streaming multimídia proprietário (p.ex. RealNetworks) TCP ou UDP servidor de arquivo remoto NFS TCP telefonia Internet Proprietário, Aberto (p.ex., Skype, Hangout) UDP ou TCP 16

17 WWW e HTTP: conceitos Página WWW: consiste de objetos endereçada por uma URL Quase todas as páginas WWW consistem de: página base HTML, e vários objetos referenciados. URL tem duas partes: nome de hospedeiro, e nome de caminho: Agente de usuário para WWW se chama de browser: Internet Explorer Firefox, Chrome Servidor para WWW se chama servidor WWW : Apache (domínio público) MS Internet Information Server (IIS) 17

18 Protocolo HTTP: visão geral HTTP: hypertext transfer protocol protocolo da camada de aplicação para WWW modelo cliente/servidor cliente: browser que pede, recebe, visualiza objetos WWW servidor: servidor WWW envia objetos em resposta a pedidos http1.0: RFC 1945 http1.1: RFC 2616 PC executa Explorer ped ido res pos Mac executa Navigator htt p ta htt p ttp h o tp Servidor did t e p ah executando t s o p servidor res WWW do ICOMP 18

19 Mais sobre o protocolo HTTP HTTP é sem estado HTTP: serviço de transporte TCP: cliente inicia conexão TCP (cria socket) ao servidor, porta 80 servidor aceita conexão TCP do cliente mensagens HTTP são trocadas entre browser e servidor WWW encerra conexão TCP servidor não mantém informação sobre pedidos anteriores do cliente Nota Protocolos que mantêm estado são complexos! história passada (estado) tem que ser guardada Caso servidor/cliente parem de executar, suas visões do estado podem ser inconsistentes, devendo então 19 ser reconciliadas

20 Conexões HTTP HTTP: não persistente No máximo um objeto é enviado em uma conexão TCP; HTTP/1.0 usa conexões não persistentes HTTP: persistente Múltiplos objetos podem ser enviados numa única conexão TCP entre o servidor e o cliente; HTTP/1.1 usa conexões persistentes no modo default; 20

21 Ex: HTTP não-persistente Supondo que usuário digita a URL (contém texto, referências a 10 imagens jpeg) 1a. Cliente http inicia conexão TCP com o servidor http (processo) Porta 80 é padrão para servidor http. 2. cliente http envia mensagem de pedido de http (contendo URL) através do socket da conexão TCP. A mensagem indica que o cliente deseja o objeto algumdepartamento/inicial.index tempo 1b. servidor http no hospedeiro espera por conexão TCP na porta 80. aceita conexão, avisando ao cliente 3. servidor http recebe mensagem de pedido, formula mensagem de resposta contendo objeto solicitado (algumdepartamento/inicial.index ), envia mensagem via socket 21

22 Ex: HTTP não-persistente (cont.) 5. cliente http recebe mensagem de resposta contendo arquivo html, visualiza html. Analisando arquivo html, encontra 10 objetos jpeg referenciados 4. servidor http encerra conexão TCP. 6. Passos 1 a 5 repetidos para cada um dos 10 objetos jpeg tempo 22

23 Tempo de Resposta Definição de RTT: tempo gasto para um pacote viajar entre cliente E servidor em caminho completo; Tempo de resposta: um RTT para iniciar a conexão TCP um RTT para a requisição HTTP e para que alguns bytes da resposta HTTP sejam recebidos tempo de transmissão do arquivo total = 2RTT+tempo de transmissão Inicia conexão TCP RTT requisição do arquivo RTT Arquivo recebido tempo Tempo para transmitir arquivo tempo 23

24 Para o caso de conexões HTTP nãopersistente servidor analisa pedido, responde, e encerra conexão TCP requer 2 RTTs para trazer cada objeto mas os browsers geralmente abrem conexões TCP paralelas para trazer cada objeto 24

25 Para o caso de conexões HTTP persistente Persistente sem pipelining: servidor mantém conexão aberta depois de enviar a resposta; mensagens HTTP subsequentes entre os mesmos cliente/servidor são enviadas por esta conexão; na mesma conexão TCP: servidor analisa pedido, responde, analisa novo pedido e assim por diante Cliente só faz nova requisição quando a resposta de uma requisição anterior foi recebida; um RTT para cada objeto Persistente com pipelining: default in HTTP/1.1 O cliente envia a requisição assim que encontra um objeto; Um pouco mais de um RTT para trazer todos os objetos 25

26 Mensagem de pedido HTTP: formato geral 26

27 Formato de mensagem HTTP: pedido Dois tipos de mensagem HTTP: pedido, resposta mensagem de pedido HTTP: ASCII (formato legível por pessoas) linha do pedido GET /diretorio/pagina.html HTTP/1.1 Host: Connection: close linhas do User-agent: Mozilla/5.0 cabeçalho Accept-language:En-us,us; Carriage return, line feed indica fim de mensagem (carriage return (CR), line feed(lf) adicionais) 29

28 Formato de mensagem HTTP: resposta linha de status (protocolo, código de status, frase de status) linhas de cabeçalho HTTP/ OK Date: Thu, 01 Jun :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 May Content-Length: 6821 Content-Type: text/html dados dados dados dados... dados, p.ex., arquivo html solicitado 30

29 Códigos de status da resposta HTTP Na primeira linha da mensagem de resposta servidor->cliente. Alguns códigos típicos: 200 OK sucesso, objeto pedido segue mais adiante nesta mensagem 301 Moved Permanently objeto pedido mudou de lugar, nova localização especificado mais adiante nesta mensagem (Location:) 400 Bad Request mensagem de pedido não entendida pelo servidor 404 Not Found documento pedido não se encontra neste servidor 505 HTTP Version Not Supported versão de http do pedido não usada por este servidor 31

30 Bad Request, Exemplo 32

31 Bad Request, Real Exemplo 33

32 Bad Request, Corrigido 34

33 Interação usuário-servidor: GET condicional servidor cliente Meta: não enviar objeto se cliente já tem (no cache) versão atual cliente: especifica data da cópia no cache no pedido http If-modified-since: <date> servidor: resposta não contém objeto se cópia no cache é atual: HTTP/ Not Modified msg de pedido http If-modified-since: <date> resposta http HTTP/ Not Modified objeto não modificado msg de pedido http If-modified-since: <date> resposta http objeto modificado HTTP/ OK <data> 35

34 Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço aprender sobre protocolos através do estudo de protocolos populares do nível da aplicação Mais metas do capítulo protocolos específicos: HTTP FTP SMTP / POP3 / IMAP DNS a programação de aplicações de rede programação usando sockets 40

35 FTP: o protocolo de transferência de arquivos usuário na estação Interface cliente do usuário FTP FTP transferência do arquivo sistema de arquivos local FTP servidor sistema de arquivos remoto transferir arquivo de/para hospedeiro remoto modelo cliente/servidor cliente: lado que inicia transferência (pode ser de ou para o sistema remoto) servidor: hospedeiro remoto ftp: RFC 959 servidor ftp: porta 21 41

36 FTP: conexões separadas p/ controle, dados Cliente FTP contacta servidor ftp na porta 21, especificando TCP como protocolo de transporte Cliente obtem autorização através da conexão de controle; O cliente acessa o diretório remoto através do envio de comandos pela conexão de controle; Quando o servidor recebe um comando para transferência de arquivo, o servidor abre uma conexão TCP com o cliente; Depois de transferir o arquivo a conexão é finalizada; conexão de controle TCP, porta 21 cliente FTP conexão de dados TCP, porta 20 servidor FTP são abertas duas conexões TCP paralelas: controle: troca comandos, respostas entre cliente, servidor. controle fora da banda dados: dados de arquivo de/para servidor 42

37 FTP: comandos, respostas Comandos típicos: enviados em texto ASCII pelo canal de controle USER nome PASS senha LIST devolve lista de arquivos no directório corrente RETR arquivo recupera (lê) arquivo remoto STOR arquivo armazena (escreve) arquivo no hospedeiro remoto Códigos de retorno típicos código e frase de status (como para http) 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file 43

38 FTP e a Segurança SFTP usa o protocolo SSH para criar um canal seguro de transferência de arquivos Usa apenas a porta 22 FTPS usa o protocolo SSH + certificados digitais Usa portas 21 e outras criadas acima de

39 Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço aprender sobre protocolos através do estudo de protocolos populares do nível da aplicação Mais metas do capítulo protocolos específicos: HTTP FTP SMTP / POP3 / IMAP DNS a programação de aplicações de rede programação usando sockets 45

40 fila de msg de saída Correio Eletrônico Três grandes componentes: agentes de usuário (AU) servidores de correio SMTP: simple mail transfer protocol Agente de Usuário a.k.a. leitor de correio compor, editar, ler mensagens de correio p.ex., Eudora, Outlook, ThunderBird mensagens de saída e chegada são armazenadas no servidor servidor de correio agente de usuário SMTP SMTP SMTP servidor de correio agente de usuário caixa de correio do usuário agente de usuário servidor de correio agente de usuário agente de usuário agente de usuário 46

41 Correio Eletrônico: servidores de correio Servidores de correio caixa de correio contém mensagens de chegada (ainda não lidas) p/ usuário fila de mensagens contém mensagens de saída (a serem enviadas) protocolo SMTP entre servidores de correio para transferir mensagens de correio cliente: servidor de correio que envia servidor : servidor de correio que recebe servidor de correio agente de usuário SMTP SMTP SMTP servidor de correio agente de usuário agente de usuário servidor de correio agente de usuário agente de usuário 47

42 Protocolos de accesso ao correio agente de usuário SMTP SMTP servidor de correio do remetente POP3 ou IMAP agente de usuário servidor de correio do receptor SMTP: entrega/armazenamento no servidor do receptor protocolo de accesso ao correio: recupera do servidor POP: Post Office Protocol [RFC 1939] autorização (agente <-->servidor) e transferência IMAP: Internet Mail Access Protocol [RFC 1730] mais comandos (mais complexo) manuseio de msgs armazenadas no servidor HTTP: Hotmail, Yahoo! Mail, Webmail, etc. 48

43 Cenário: Alice envia msg para Bob 1) Alice usa AU para compor a mensagem e enviá-la para bob@someschool.edu 4) SMTP cliente envia a msg da Alice através da conexão TCP; 2) O AU da Alice envia a mensagem para o seu servidor de correio; a msg é colocada na fila de mensagens; 5) Servidor de correio de Bob coloca a msg na caixa de correio de Bob; 6) Bob invoca o seu AU para ler a sua msg; 3) O cliente SMTP abre uma conexão TCP com o servidor de correio do Bob 1 agente usuário 2 servidor correio 3 servidor correio agente usuário 49

44 Interação SMTP típica S: C: S: C: S: C: S: C: S: C: C: C: S: C: S: 220 doces.br HELO consumidor.br 250 Hello consumidor.br, pleased to meet you MAIL FROM: 250 Sender ok RCPT TO: 250 Recipient ok DATA 354 Enter mail, end with "." on a line by itself Voce gosta de chocolate? Que tal sorvete?. 250 Message accepted for delivery QUIT 221 doces.br closing connection 50

45 Correio Eletrônico: SMTP [RFC 821] usa TCP para a transferência confiável de msgs do correio do cliente ao servidor, porta 25 transferência direta: servidor remetente ao servidor receptor três fases da transferência handshaking (apresentação) transferência das mensagens encerramento interação comando/resposta comandos: texto ASCII resposta: código e frase de status mensagens precisam ser em ASCII de 7-bits 51

46 Experimente você uma interação SMTP : telnet nomedoservidor 25 veja resposta 220 do servidor entre comandos HELO, MAIL FROM, RCPT TO, DATA, QUIT estes comandos permite que você envie correio sem usar um cliente (leitor de correio) 52

47 SMTP: últimas palavras SMTP usa conexões persistentes smtp requer que a mensagem (cabeçalho e corpo) sejam em ASCII de 7-bits algumas cadeias de caracteres não são permitidas numa mensagem (p.ex, acentos(é)). Logo a mensagem pode ter que ser codificada (normalmente em base64 ou quoted printable ) servidor SMTP usa CRLF.CRLF para reconhecer o final da mensagem Comparação com http HTTP : pull (puxar) push (empurrar) ambos tem interação comando/resposta, códigos de status em ASCII HTTP: cada objeto é encapsulado em sua própria mensagem de resposta SMTP: múltiplos objetos de mensagem enviados numa mensagem de múltiplas partes 53

48 Formato de uma mensagem SMTP: protocolo para trocar msgs de correio RFC 822: padrão para formato de mensagem de texto: linhas de cabeçalho, p.ex., To: From: Subject: cabeçalho linha em branco corpo diferentes dos comandos de SMTP! corpo a mensagem, somente de caracteres ASCII 54

49 Formato de uma mensagem: extensões para multimídia MIME: multimedia mail extension, RFC 2045, 2056 linhas adicionais no cabeçalho da msg declaram tipo do conteúdo MIME versão MIME método usado p/ codificar dados tipo, subtipo de dados multimídia, declaração parâmetros From: To: Subject: Imagem de uma bela torta MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data Dados codificados 55

50 Tipos MIME Content-Type: tipo/subtipo; parâmetros Text subtipos exemplos: plain, html charset= iso-88591, ascii Image Audio Application subtipos exemplos : jpeg, gif Video subtipos exemplos : mpeg, quicktime subtipos exemplos : basic (8-bit codificado mu-law), 32kadpcm (codificação 32 kbps) outros dados que precisam ser processados por um leitor para serem visualizados subtipos exemplos : msword, octet-stream 56

51 Tipo Multipart From: To: Subject: Imagem de uma bela torta MIME-Version: 1.0 Content-Type: multipart/mixed; boundary= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain caro Bernardo, Anexa a imagem de uma torta deliciosa Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data

52 IMAP Usa o modo: ler-e-guardar que posibilita acessar mensagens de vários clientes; Mantém todas as mensagens em um único lugar: servidor; Permite que o usuário organize suas msgs em pastas remotas como se fosse locais; IMAP mantém estado dos usuários durante as sessões: Nomes e pastas e mapeia os IDs das msgs e o nome das pastas; 58

53 Protocolo POP3 S: +OK POP3 fase de autorização comandos do cliente: user: declara nome pass: senha servidor responde +OK -ERR fase de transação, cliente: list: lista números das msgs retr: recupera msg por número dele: apaga msg quit server ready C: S: C: S: user ana +OK pass faminta +OK user successfully C: S: S: S: C: S: S: C: C: S: S: C: C: S: list retr 1 <message 1 contents>. dele 1 retr 2 <message 1 contents>. dele 2 quit +OK POP3 server signing off logged on 59

54 DNS: Domain Name System Pessoas: muitos identificadores: Domain Name System: CPF, nome, no. da Identidade hospedeiros, roteadores Internet : endereço IP (32 bit) - usado p/ endereçar datagramas nome, ex., solimoes.icomp.ufam.edu.br usado por gente P: como mapear entre nome e endereço IP? base de dados distribuída implementada na hierarquia de muitos servidores de nomes protocolo de camada de aplicação permite que hospedeiros, roteadores, servidores de nomes se comuniquem para resolver nomes (tradução endereço/nome) note: função imprescindível da Internet implementada como protocolo de camada de aplicação complexidade na borda da rede 60

55 DNS Roda sobre UDP e usa a porta 53 Especificado nas RFCs 1034 e 1035 e atualizado em outras RFCs. Outros serviços: apelidos para hospedeiros (aliasing) apelido para o servidor de mails distribuição da carga 61

56 Servidores de nomes DNS A dinâmica de comunicação Cliente faz requisição usado UDP; Servidor responde após algum atraso. Por que não centralizar o DNS? mas antes... ponto único de falha volume de tráfego base de dados centralizada e distante manutenção (da BD) Não é escalável! 62

57 Servidores de nomes DNS O Princípio: Nenhum servidor mantém todos os mapeamentos nome-para-endereço IP. A dinâmica geral: Cliente DNS consulta servidor raiz; Cliente DNS consulta servidor TLD; Cliente DNS consulta servidor oficial. 63

58 Servidores de nomes DNS servidores raiz(root DNS servers): São 13 ao todo; Conhecem endereços dos servidores TLD 64

59 Servidores de nomes DNS servidores de nomes oficial(authoritative DNS servers): responde por solicitações DNS para uma organização (amazon.com, google.com); guarda nome, endereço IP de hospedeiros; pode realizar tradução nome/endereço. servidor TLD(Top-Level Domain DNS servers): tem conhecimento de domínios de último nível(.com,.edu,.gov,.org, e.net); tem também conhecimento dos domínios de último nível do tipo país(.br,.fr,.it,.uk, e.ca) 66

60 Mas e Mais...Servidor DNS Local Não pertence a hierarquia de servidores DNS; Cada provedor, empresa tem um servidor de nomes local (default); Pedido DNS de hospedeiro vai primeiro ao servidor de nomes local; 67

61 Exemplo simples do DNS hospedeiro vod.icomp.ufam.edu.br requer endereço IP de servidor de nomes raiz 2 3 servidor TLD 4 5 servidor local mutum.ufam.edu.br servidor oficial dns.columbia.edu solicitante vod.icomp.ufam.edu.br 68

62 servidor de nomes raiz Exemplo de DNS Servidor TLD: servidor local 4 mutum.ufam.edu.br 2 pode não conhecer o servidor de nomes oficial pode conhecer servidor de nomes intermediário: a quem contatar para descobrir o servidor de nomes oficial 3 servidor TLD servidor intermediário 8 saell.cc.columbia.edu servidor oficial cs.columbia.edu solicitante vod.icomp.ufam.edu.br 69

63 Práticas: NSLOOKUP Determine o nome canônico do seu servidor de Descubra o nome do servidor web do icomp Realize, por 5 vezes, a resolução de Quantos endereços IP diferentes foram informados nas suas consultas? Se foi mais de um, que tipo de serviço o DNS está prestando? 70

64 DNS: Tipos de Consultas consulta recursiva: transfere a responsabilidade de resolução do nome para o servidor de nomes contatado consulta interativa: 2 servidor de nomes raíz consulta interativa servidor intermediário mutum.ufam.edu.br saell.cc.columbia.edu servidor local servidor consultado responde com o nome de um servidor de contato servidor oficial Não conheço este cs.columbia.edu nome, mas pergunte solicitante vod.icomp.ufam.edu.br para esse servidor 71

65 DNS: uso de cache, atualização de dados uma vez que um servidor qualquer aprende um mapeamento, ele o coloca numa cache local futuras consultas são resolvidas usando dados da cache entradas na cache são sujeitas a temporização (desaparecem depois de um certo tempo) ttl = time to live (sobrevida) 72

66 Registros DNS DNS: BD distribuído contendo registros de recursos (RR) formato RR: (nome, valor, tipo, sobrevida) Tipo=A nome é nome de hospedeiro valor é o seu endereço IP Tipo=CNAME nome é nome alternativo (alias) para algum nome canônico (verdadeiro) valor é o nome canônico Tipo=NS nome é domínio (p.ex. foo.com.br) valor é endereço IP de servidor oficial de nomes para este domínio Tipo=MX nome é domínio valor é nome do servidor de correio para este domínio73

67 DNS: protocolo e mensagens protocolo DNS: mensagens de pedido e resposta, ambas com o mesmo formato de mensagem cabeçalho de msg identificação: ID de 16 bit para pedido, resposta ao pedido usa mesmo ID flags: pedido ou resposta recursão desejada recursão permitida resposta é oficial 74

68 DNS: protocolo e mensagens campos de nome, e de tipo num pedido RRs em resposta ao pedido registros para outros servidores oficiais info adicional relevante que pode ser usada: O caso da consulta de MX 75

69 Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço aprender sobre protocolos através do estudo de protocolos populares do nível da aplicação Mais metas do capítulo protocolos específicos: HTTP FTP SMTP / POP3 / IMAP DNS P2P a programação de aplicações de rede programação usando sockets 76

70 Arquitetura P2P Pura Não requer servidor sempre conectado Comunicação entre sistemaspeer-peer finais ocorre diretamente Pares estão conectados de forma intermitente e mudam de endereço IP Três tópicos: Distribuição de Arquivo Busca pela informação Skype: Caso de Estudo 77

71 Tempo de distribuição do arquivo: C-S Servidor Servidor envia N cópias sequencialmente: NF/us segundos F us dn cliente i leva F/di segundos para efetuar download un u1 d1 u2 d2 Rede(com banda abundante) Tempo para distribuir F para N clientes usando = dcs = max { NF/us, F/min(di) } i Abordagem c-s Aumenta linearmente com N (para N grande) 78

72 Distribuição de Arquivo: C-S vs P2P Questão : Quanto tempo para distribuir um arquivo de UM servidor para N pares? Servidor Arquivo, tamanho F us dn u1 d1 u2 d2 us: banda de upload servidor ui: banda de upload do par i di: Banda de download do par i Rede (com banda abundante) un 79

73 Tempo de distribuição do arquivo: P2P Servidor servidor deve enviar uma cópia: F/us segundos cliente i leva F/di segundos para realizar download NF bits deve ser baixados (agregado) F us dn un u1 d1 u2 d2 Rede (com Banda abundante) A taxa de upload do sistema: us + Σui dp2p = max { F/us, F/min(di), NF/(us + i Σui) } 80

74 C-S vs. P2P: Exemplo Taxa upload dos Clientes = u, F/u = 1 hora, us = 10u, dmin us 81

75 Distribuição de Arquivo: BitTorrent Distribuição de arquivo P2P tracker: registra pares participam no torrent torrent: grupo de pares trocando pedaços de arquivos obtém lista de pares Troca de chunks par 82

76 BitTorrent (1) Arquivo dividido em chunks de 256KB. par junta-se ao torrent: Não possui chunks, mas irá acumulá-los ao longo do tempo Registra-se no tracker para obter a lista de pares, conecta-se ao subconj de pares ( vizinhos ) Enquanto faz download, par faz upload de chunks para outros pares. Pares podem entrar e sair Uma vez que um par possui o arquivo inteiro, ele pode (egoísta) sair ou (altruísta) permanecer 83

77 BitTorrent (2) Obtendo Chunks Em qq instante de tempo, diferentes pares possuem diferentes subconjuntos de chunks do arquivo; periodicamente, um par(alice) pergunta para cada vizinho pela lista de chunks que eles possuem; Alice envia requisições para os chunks que estão faltando Os raros têm prioridade Enviando Pedaços: tit-for-tat Alice envia chunks para quatro vizinhos atualmente enviando a ela chunks a altas taxas Re-avalia os top 4 a cada 10 segs. Cada 30 segs: seleciona randomicamente outro par, inicia envio de chunks O novo par escolhido pode se juntar aos top 4 optimistically unchoke 84

78 BitTorrent: Tit-for-tat, como funciona??? 85

79 BitTorrent: Tit-for-tat (1) Alice optimistically unchokes Bob (2) Alice torna-se um dos fornecedores top 4 de Bob; Bob mostra reciprocidade (3) Bob torna-se um dos fornecedores top 4 de Alice Com altas taxas de upload, pode-se achar melhores parceiros trocadores & obter o arquivo mais rapidamente. 86

80 P2P Qualquer, Técnicas para localizar informação 87

81 P2P: buscando informação Sistema de índice do P2P: mapeia info para localização do par (localização = Endereço IP & número de porta) Compartilhamento de arq. (eg emule) Índice dinamicamente registra localização dos arquivos que os pares compartilham. Pares precisam dizer ao sistema o que está sendo compartilhado. Pares buscam no índice para determinar onde os arquivos podem ser encontrados Mensagem Instantânea Índice mapeia nomes para localizações. Quando usuário começa uma aplicação IM, a aplicação precisa informar ao índice a sua localização Pares buscam no índice para determinar o endereço IP do usuário. 88

82 P2P: diretório centralizado Napster projeto original 1) Quando um dos pares se conecta, ele informa ao servidor central : Endereço IP conteúdo 2) Alice procura por Escreve ai, by Luan Vesgo Santana 3) Alice requisita o arquivo de Bob Bob Servidor de diretório centralizado 1 pares Alice 89

83 P2P: problemas com diretórios centralizados Ponto único de falha queda do diretório significa inviabilidade do sistema; Gargalo de desempenho limitado pelo recursos do servidor; Fácil identificar violação dos direitos autorais e punir dono do serviço; transferência de arquivo é descentralizada, mas localização de conteúdo é totalmente centralizada 90

84 P2P: Inundação de consultas (query flooding) Completamente distribuído Sem servidor central Usado pelo Gnutella; Cada par indexa somente arquivos que tem para compartilhar; A rede sobreposta: grafo A aresta entre um par X e Y se existe uma conexão TCP; Todos os pares ativos e as arestas forma a rede sobreposta; Aresta: enlace virtual (não físico); Um par conecta-se com < 10 vizinhos na rede sobreposta. 91

85 P2P: consulta por inundação Mensagem com a consulta enviada sobre conexões TCP existentes Pares repassam ry mensagem consulta e it Qu H ry Resposta e Qu enviada pelo Query caminho QueryHit reverso Escalabilidade: limitar escopo da inundação Qu e Query QueryHit Qu ery ry 92

86 P2P: chegada (bootstrap) O par que chega(alice) deve encontrar outro par na rede Gnutella: usa lista de pares candidatos Alice tenta sequencialmente estabelecer conexão TCP com pares candidatos até que uma conexão seja aberta(bob) Inundação: Alice envia Mensagens Ping para Bob; Bob repassa mensagem Ping para seus vizinhos de rede (que repassam para os vizinhos deles.) Pares que recebem mensagens Ping respondem para Alice com mensagem Pong Alice recebe várias mensagens Pong, e pode então estabelecer conexões TCP adcionais join 93

87 P2P: mais...inundação Prós pares possuem responsabilidades semelhantes; Extremamente descentralizado; Contras Tráfego excessivo de consultas Raio da consulta: pode não ser o suficiente para obter o conteúdo, quando este existir; Necessário conhecer um nó de entrada; 94

88 P2P: Explorando heterogenidade, diretório descentralizado Um nó é um líder de grupo ou é um nó liderado; O líder do grupo conhece o conteúdo em nós liderados; Os pares consultam o líder do grupo; O par líder pode consultar outros nós líder. Par qualquer Par líder do grupo Relacionamento de vizinhança na rede de cobertura 95

89 Mais sobre diretório descentralizado Vantagens da abordagem Nenhum servidor centralizado; O serviço de localização é distribuído entre os pares Mais dificuldade de se ter falhas; Desvantagem da abordagem Necessário nó de entrada O líder do grupo pode ficar sobrecarregado; 96

90 P2P Estudo de Caso: Skype Clientes Skype (SC) Aplicação P2P: pares de usuários se comunicando. Skype Protocolo proprietário login no servidor (engenharia reversa) Overlay hierarquica com Super Nós Índice mapeia usernames para endereço IP; distribuído nos Super nós Supernós (SN) 97

91 Pares são repassadores Problema quando Alice e Bob estão atrás de NATs. NAT impede que um par de fora da rede inicie uma chamada um um par que esteja dentro da rede Solução: Usando SN de Alice e Bob, repassador é escolhido Cada par inicia uma sessão com o repassador. Pares podem se comunicar, passando pelo NAT, através do repassador 98

92 Questões O que é uma rede de sobreposição em um sistema de compartilhamento de arquivos P2P? E;a inclui roteadores? O que são as arestas da rede de sobreposição? Na sua opinião, por que as aplicações de compartilhamento de arquivos P2P são tão populares? Será por que distribuem música e vídeo gratuitamente ou por que seu número imenso de servidores atende eficientemente uma demanda massiva de megabytes? Ou será pelas duas razões? 99

93 Cache WWW (servidor-procurador) Meta: atender pedido do cliente sem envolver servidor de origem usuário configura browser: acessos WWW via Proxy cliente envia todos pedidos http ao Proxy se objeto estiver na cache do Proxy, este o devolve imediatamente na resposta http senão, solicita objeto do servidor de origem, depois devolve resposta http ao cliente cliente Servidor de origem Servidor- ped tp t ido h htt Proxy ido res tt p d p h e pos p ta ta s o htt p p res ttp ped h o ido p tt did htt h e res p a p t p s ost o p ah ttp res cliente Servidor de origem 100

94 Mais sobre Web cache Cache atua tanto como cliente quanto como servidor; Cache pode fazer verificação no cabeçalho HTTP usando o campo Ifmodified-since : Tipicamente as caches web são instalados em ISPs (universidades, companhias, ISP residencial) Por quê usar cache WWW? tempo de resposta menor: cache mais próximo do cliente diminui tráfego aos servidores distantes muitas vezes o enlace que liga a rede da instituição ou do provedor à Internet é um gargalo. 101

95 Exemplo de Cache (1) Suposições Tamanho médio do objeto = 100,000 bits Taxa média de requisição do browser da instituição para os servidores de origem = 15/seg Atraso do roteador da instituição para qualquer servidor de origem e de volta para o roteador = 2 seg Conseqüências Utilização da LAN = 15% Utilização do enlace de acesso = 100% Atraso total = atraso Internet + atraso de acesso + atraso LAN = 2 seg + minutos + milisegundos Servidores de origem Internet pública enlace de accesso 1.5 Mbps rede da instituição LAN 10 Mbps cache da instituição 102

96 Exemplo cache (2) Solução possível Aumentar a banda do enlace de acesso para 10 Mbps Conseqüências Internet pública utilização LAN = 15% Utilização do enlace de acesso = 15% Atraso total = atraso Internet + atraso de acesso + atraso LAN = 2 sec + msecs + msecs Geralmente um upgrade de link é custo$o Servidores de origem enlace de accesso 10 Mbps rede da instituição LAN 10 Mbps cache da instituição 103

97 Exemplo cache(3) Servidores de origem Instala cache Suponha que a taxa de hits é.4 Conseqüência 40% das requisições são satisfeitas pela cache; Utilização do enlace de acesso reduzido para 60%, resultando em atrasos desprezíveis; Atraso total = atraso Internet + atraso de acesso + atraso =.6*2 sec +.6*.01 seg + millisegundos < 1.3 seg Internet pública enlace de accesso 1.5 Mbps rede da instituição LAN 10 Mbps cache da instituição 104

98 Programação com sockets Meta: aprender a construir aplicações cliente/servidor que se comunicam usando sockets socket API Sockets apareceu no BSD4.1 UNIX em 1981 são explicitamente criados, usados e liberados por apls paradigma cliente/servidor dois tipos de serviço de transporte via API Sockets datagrama não confiável fluxo de bytes, confiável uma interface (uma porta ), local ao hospedeiro, criada por e pertencente à aplicação, e controlado pelo SO, através da qual um processo de aplicação pode tanto enviar como receber mensagens para/de outro processo de aplicação (remoto ou local) 105

99 Programação com sockets usando TCP Socket: uma porta entre o processo de aplicação e um protocolo de transporte fim-a-fim (UDP ou TCP) Serviço TCP: transferência confiável de bytes de um processo para outro controlado pelo programador de aplicação controlado pelo sistema operacional processo processo socket TCP com buffers, variáveis estação ou servidor internet socket TCP com buffers, variáveis controlado pelo programador de aplicação controlado pelo sistema operacional estação ou servidor 106

100 Programação com sockets usando TCP Cliente deve contactar servidor processo servidor deve antes estar em execução servidor deve antes ter criado socket (porta) que aguarda contato do cliente Cliente contacta servidor para: criar socket TCP local ao cliente especificar endereço IP, número de porta do processo servidor Quando cliente cria socket: TCP do cliente estabelece conexão com TCP do servidor Quando contatado pelo cliente, o TCP do servidor cria socket novo para que o processo servidor possa se comunicar com o cliente permite que o servidor converse com múltiplos clientes ponto de vista da aplicação TCP provê transferência confiável, ordenada de bytes ( pipe ) entre cliente e servidor 107

101 Comunicação entre sockets 108

102 Exemplo de aplicação cliente-servidor teclado monitor servidor converte linha para letras maiúsculas, devolve para o cliente cliente lê linha modificada do socket (fluxo doservidor), imprime-a fluxo de entrada: seqüência de bytes para dentro do processo fluxo de saída: seqüência de bytes para fora do processo doservidor servidor lê linha do socket processo Process cliente para Servidor padrão (fluxo dousuário), envia para servidor via socket (fluxo paraservidor) dousuário cliente lê linha da entrada TCP socket clientsocket cliente para rede TCP socket da rede 109

103 Interações cliente/servidor usando o TCP Servidor (executa em nomehosp) Cliente cria socket, porta=x, para receber pedido: socketrecepção = ServerSocket () aguarda chegada de setup pedido de conexão socketconexão = socketrecepção.accept() lê pedido de socketconexão escreve resposta para socketconexão fecha socketconexão TCP da conexão cria socket, abre conexão a nomehosp, porta=x socketcliente = Socket() Envia pedido usando socketcliente lê resposta de socketcliente fecha socketcliente 110

104 Exemplo: cliente Java (TCP) import java.io.*; import java.net.*; class ClienteTCP { public static void main(string argv[]) throws Exception { String frase; String frasemodificada; Cria fluxo de entrada Cria socket de cliente, conexão ao servidor Cria fluxo de saída ligado ao socket BufferedReader dousuario = new BufferedReader(new InputStreamReader(System.in)); Socket socketcliente = new Socket( nomehosp", 6789); DataOutputStream paraservidor = new DataOutputStream(socketCliente.getOutputStream()); 111

105 Exemplo: cliente Java (TCP), cont. Cria fluxo de entrada ligado ao socket BufferedReader doservidor = new BufferedReader(new InputStreamReader(socketCliente.getInputStream())); frase = dousuario.readline(); Envia linha ao servidor paraservidor.writebytes(frase + '\n'); frasemodificada = doservidor.readline(); Lê linha do servidor System.out.println( Do Servidor: " + frasemodificada); socketcliente.close(); } } 112

106 Exemplo: servidor Java (TCP) import java.io.*; import java.net.*; class servidortcp { Cria socket para recepção na porta 6789 Aguarda, no socket para recepção, o contato do cliente Cria fluxo de entrada, ligado ao socket public static void main(string argv[]) throws Exception { String frasecliente; String frasemaiusculas; ServerSocket socketrecepcao = new ServerSocket(6789); while(true) { Socket socketconexao = socketrecepcao.accept(); BufferedReader docliente = new BufferedReader(new InputStreamReader(socketConexao.getInputStream())); 113

107 Programação com sockets usando UDP UDP: não tem conexão entre cliente e servidor não tem handshaking remetente coloca explicitamente endereço IP e porta do destino servidor deve extrair endereço IP, porta do remetente do datagrama recebido ponto de vista da aplicação UDP provê transferência não confiável de grupos de bytes ( datagramas ) entre cliente e servidor UDP: dados transmitidos podem ser recebidos fora de ordem, ou perdidos 114

108 Exemplo: servidor Java (TCP), cont Cria fluxo de saída, ligado ao socket DataOutputStream paracliente = new DataOutputStream(socketConexao.getOutputStream()); Lê linha do socket frasecliente= docliente.readline(); frasemaiusculas= frasecliente.touppercase() + '\n'; Escreve linha ao socket paraclient.writebytes(frasemaiusculas); } } } Final do laço while, volta ao início e aguarda conexão de outro cliente 115

109 Interações cliente/servidor usando o UDP Servidor (executa em nomehosp) cria socket, porta=x, para pedido que chega: socketservidor = DatagramSocket() lê pedido do socketservidor escreve resposta ao socketservidor especificando endereço IP, número de porta do cliente Cliente cria socket, socketcliente = DatagramSocket() cria, endereça (nomehosp, porta=x, envia pedido em datagrama usando socketcliente lê resposa do socketcliente fecha socketcliente 116

110 Cliente UDP 117

111 Exemplo: cliente Java (UDP) fluxo de entrada processo Process monitor dousuário teclado Entrada: recebe cliente pacote (UDP recebe byte stream ) pacote UDP recebepacket (UDP envia byte stream ) enviapacket Saída: envia pacote socket UDP clientsocket cliente para rede pacote UDP UDP socket da rede 118

112 Exemplo: cliente Java (UDP) import java.io.*; import java.net.*; class clienteudp { public static void main(string args[]) throws Exception { Cria fluxo de entrada Cria socket de cliente Traduz nome de hospedeiro ao endereço IP usando DNS BufferedReader do Usuario= new BufferedReader(new InputStreamReader(System.in)); DatagramSocket socketcliente = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName( nomehosp"); byte[] senddata = new byte[1024]; byte[] receivedata = new byte[1024]; String frase = dousuario.readline(); senddata = frase.getbytes(); 119

113 Exemplo: cliente Java (UDP) cont. Cria datagrama com dados para enviar, comprimento, endereço IP, porta Envia datagrama ao servidor DatagramPacket pacoteenviado = new DatagramPacket(dadosEnvio, dadosenvio.length, IPAddress, 9876); socketcliente.send(pacoteenviado); DatagramPacket pacoterecebido = new DatagramPacket(dadosRecebidos, dadosrecebidos.length); Lê datagrama do servidor socketcliente.receive(pacoterecebido); String frasemodificada = new String(pacoteRecebido.getData()); System.out.println( Do Servidor:" + frasemodificada); socketcliente.close(); } } 120

114 Servidor UDP 121

115 Exemplo: servidor Java (UDP) import java.io.*; import java.net.*; Cria socket para datagramas na porta 9876 class servidorudp { public static void main(string args[]) throws Exception { DatagramSocket socketservidor = new DatagramSocket(9876); byte[] dadosrecebidos = new byte[1024]; byte[] dadosenviados = new byte[1024]; Aloca memória para receber datagrama Recebe datagrama while(true) { DatagramPacket pacoterecebido = new DatagramPacket(dadosRecebidos, dadosrecebidos.length); socketservidor.receive(pacoterecebido); 122

116 Exemplo: servidor Java (UDP), cont Obtém endereço IP, no. de porta do remetente String frase = new String(pacoteRecebido.getData()); InetAddress IPAddress = pacoterecebido.getaddress(); int porta = pacoterecebido.getport(); String fraseemmaiusculas = frase.touppercase(); dadosenviados = fraseemmaiusculas.getbytes(); Cria datagrama p/ enviar ao cliente DatagramPacket pacoteenviado = new DatagramPacket(dadosEnviados, dadosenviados.length, IPAddress, porta); Escreve socketservidor.send(pacoteenviado); datagrama } no socket } } Fim do laço while, volta ao início e aguarda chegar outro datagrama 123

117 Servidor Web Simples Funções do servidor Web: Trata apenas um pedido HTTP por vez Aceita e examina o pedido HTTP Recupera o arquivo pedido do sistema de arquivos do servidor Cria uma mensagem de resposta HTTP consistindo do arquivo solicitado precedido por linhas de cabeçalho Envia a resposta diretamente ao cliente Depois de criado o servidor, pode-se requisitar um arquivo utilizando um browser; 124

118 Servidor Web Simples Contém a classe StringTokenizer que é usada para examinar o pedido Primeira linha da mensagem de pedido HTTP e Nome do arquivo solicitado Aguarda conexão do cliente import java.io.*; import java.net.*; import java.util.*; class WebServer { public static void main(string argv[]) throws Exception { String requestmessageline; String filename; ServerSocket listensocket = new ServerSocket(6789); Socket connectionsocket = listensocket.accept(); Cria fluxo de Entrada BufferedReader infromclient = new BufferedReader(new InputStreamReader( connectionsocket.getinputstream())); Cria fluxo de Saída DataOutputStream outtoclient = new DataOutputStream( connectionsocket.getoutputstream()); 125

119 Servidor Web Simples, cont Lê a primeira linha do pedido HTTP que deveria ter o seguinte formato: GET file_name HTTP/1.0 Examina a primeira linha da mensagem para extrair o nome do arquivo requestmessageline = infromclient.readline(); StringTokenizer tokenizedline = new StringTokenizer(requestMessageLine); if (tokenizedline.nexttoken().equals("get")){ filename = tokenizedline.nexttoken(); if (filename.startswith("/") == true ) filename = filename.substring(1); File file = new File(fileName); int numofbytes = (int) file.length(); Associa o fluxo infile ao arquivo filename Determina o tamanho do arquivo e constrói um vetor de bytes do mesmo tamanho FileInputStream infile = new FileInputStream ( filename); byte[] fileinbytes = new byte[]; infile.read(fileinbytes); 126

120 Servidor Web Simples, cont Inicia a construção da mensagem de resposta outtoclient.writebytes( "HTTP/ Document Follows\r\n"); if (filename.endswith(".jpg")) outtoclient.writebytes("content-type: image/jpeg\r\n"); if (filename.endswith(".gif")) outtoclient.writebytes("content-type: image/gif\r\n"); outtoclient.writebytes("content-length: " + numofbytes + "\r\n"); outtoclient.writebytes("\r\n"); Transmissão do cabeçalho da resposta HTTP. outtoclient.write(fileinbytes, 0, numofbytes); connectionsocket.close(); } else System.out.println("Bad Request Message"); } } 127

121 Programação de Sockets: referências Tutorial sobre linguagem C (audio/slides): Unix Network Programming (J. Kurose), Tutoriais sobre Java: Socket Programming in Java: a tutorial, 128

122 Capítulo 2: Resumo Terminamos nosso estudo de aplicações de rede! Requisitos do serviço de aplicação: confiabilidade, banda, retardo paradigma cliente-servidor modelo de serviço do transporte orientado a conexão, confiável da Internet: TCP não confiável, datagramas: UDP Protocolos específicos: http ftp smtp, pop3, imap dns programação c/ sockets implementação cliente/servidor usando sockets tcp, udp Distribuição de conteúdo: caches, CDNs P2P 129

123 Capítulo 2: Resumo Mais importante: aprendemos sobre protocolos troca típica de mensagens pedido/resposta: cliente solicita info ou serviço servidor responde com dados, código de status formatos de mensagens: cabeçalhos: campos com info sobre dados (metadados) dados: info sendo comunicada msgs de controle X dados na banda, fora da banda centralizado X descentralizado s/ estado X c/ estado transferência de msgs confiável X não confiável complexidade na borda da rede segurança: autenticação 130

124 Rotas para Acesso a Prodam 131

125 Rotas para Acesso a Bemol 132

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System Pessoas: muitos identificadores: CPF, nome, no. da Identidade hospedeiros, roteadores Internet : endereço IP (32 bit) - usado p/ endereçar datagramas nome, ex., jambo.ic.uff.br

Leia mais

Redes de Computadores Programação com Sockets

Redes de Computadores Programação com Sockets Prof. Othon Batista ( othonb@yahoo.com ) Página 1 Redes de Computadores Programação com Sockets Prof. Othon Batista ( othonb@yahoo.com ) Página 2 Roteiro Introdução A Arquitetura TCP/IP O Protocolo IP

Leia mais

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet PTC 3450 - Aula 07 2.2 Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet (Kurose, p. 83-96) (Peterson, p. 239-240 e 425-444) 28/03/2017 Muitos slides adaptados com

Leia mais

Camada de Aplicação Protocolo FTP e Correio Eletrônico

Camada de Aplicação Protocolo FTP e Correio Eletrônico e Tecnologia de Implementação de Redes 2016.1 Camada de Aplicação Protocolo FTP e Correio Eletrônico Curso Técnico Integrado em Informática Turma: INT.INF.3M Conteúdo Programático (1 o Bimestre) Comunicação

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Aplicação Slide 1 Protocolo da Camada de Aplicação Tipos de mensagens trocadas; A sintaxe dos vários tipos de mensagens; A semântica dos campos; Regras para determinar quando

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. José Augusto Suruagy Monteiro suruagy@unifacs.br www.nuperc.unifacs.br/suruagy/redes 2a: Camada de Aplicação 1 Livro Texto: Kurose, J., Ross, K., Computer Networking: A Top-Down

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Aula 6. Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba. Aula 6. Prof. Daniel F.

Aula 6. Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba. Aula 6. Prof. Daniel F. Camadas de Sessão, Apresentação e Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba 1 / 43 Roteiro 1 2 3 4 5 2 / 43 Modelo OSI Sessão Cuida dos processos

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Aplicação HTTP FTP SMTP Slide 1 Mensagem de Requisição HTTP linha de pedido (comandos GET, POST,HEAD ) linhas de cabeçalho Carriage return, line feed indica fim da mensagem

Leia mais

Capítulo 2: Camada de Aplicação

Capítulo 2: Camada de Aplicação Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço aprender sobre protocolos através

Leia mais

Capítulo 2: Camada de Aplicação

Capítulo 2: Camada de Aplicação Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes paradigma cliente servidor modelos de serviço aprender sobre protocolos através

Leia mais

Protocolos da camada aplicação

Protocolos da camada aplicação Protocolos da camada aplicação Definem como processos de uma aplicação trocam mensagens Mais especificamente definem Tipos de mensagens trocadas Sintaxe dos vários tipos de mensagens Ex.: campos Semântica

Leia mais

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,

Leia mais

Redes de Computadores. Profa. Kalinka Castelo Branco. Junho de Universidade de São Paulo. Camadas de Aplicação. Profa.

Redes de Computadores. Profa. Kalinka Castelo Branco. Junho de Universidade de São Paulo. Camadas de Aplicação. Profa. Redes de Computadores Castelo Universidade de São Paulo Junho de 2019 1 / 42 Roteiro 1 2 / 42 camada de aplicação Parte importante das aplicações, pois definem como as mensagens são trocadas: Definem tipos

Leia mais

Capítulo 2. Camada de aplicação

Capítulo 2. Camada de aplicação INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIADO RIO GRANDE DO NORTE IFRN Disciplina: Arquitetura de redes de computadores e Tecnologia de Implementação de Redes Professor: M. Sc. Rodrigo Ronner T.

Leia mais

Capítulo 2: Camada de Aplicação

Capítulo 2: Camada de Aplicação Capítulo 2: Camada de Aplicação Metas do capítulo: aspectos conceituais e de implementação de protocolos de aplicação em redes modelos de serviço da camada de transporte paradigma cliente servidor paradigma

Leia mais

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

AULA 3 - REDES. Prof. Pedro Braconnot Velloso AULA 3 - REDES Prof. Pedro Braconnot Velloso Resumo da última aula Começo da Internet Princípios básicos Comutação pacotes x circuitos Protocolos Arquitetura em camadas Arquitetura TCP/IP APLICAÇÃO TRANSPORTE

Leia mais

Servidor de s e Protocolo SMTP. Prof. MSc. Alaor José da Silva Junior

Servidor de  s e Protocolo SMTP. Prof. MSc. Alaor José da Silva Junior Servidor de E-mails e Protocolo SMTP Prof. MSc. Alaor José da Silva Junior Definições Servidor de Mensagens Um servidor de mensagens é responsável pela recepção e envio de mensagens. Dentro deste processo

Leia mais

User Datagram Protocol

User Datagram Protocol User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:

Leia mais

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017 PTC 3450 - Aula 05 2.1 Princípios das aplicações de rede 2.2 A Web e o HTTP (Kurose, p. 62-73) (Peterson, p. 425-444) 21/03/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All

Leia mais

Correio eletrônico. Sistema de correio da Internet composto de

Correio eletrônico. Sistema de correio da Internet composto de Correio eletrônico Sistema de correio da Internet composto de Agentes de usuário Servidores de correio ou agentes de transferência de mensagens Protocolo simples de transferência de correio (Simple Mail

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 2 - Camada de Aplicação Prof. Jó Ueyama Março/2017 1 Cap. 2: Camada de Aplicação 2.1. Princípios de aplicações de rede 2.2. Web e HTTP 2.3. FTP 2.4. Correio eletrônico SMTP,

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 2 - Camada de Aplicação Prof. Jó Ueyama Março/2014 1 Cap. 2: Camada de Aplicação 2.1. Princípios de aplicações de rede 2.2. Web e HTTP 2.3. FTP 2.4. Correio eletrônico SMTP,

Leia mais

Camada de Aplicação da Arquitetura TCP/IP

Camada de Aplicação da Arquitetura TCP/IP Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Aplicação da Arquitetura TCP/IP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes

Leia mais

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP

Leia mais

Arquitetura TCP/IP Nível de Aplicação (HTTP, SMTP, FTP & DNS) Prof. Helber Silva

Arquitetura TCP/IP Nível de Aplicação (HTTP, SMTP, FTP & DNS) Prof. Helber Silva Arquitetura TCP/IP Nível de Aplicação (HTTP, SMTP, FTP & DNS) Prof. Helber Silva 1 Roteiro Introdução Protocolo HTTP Protocolo SMTP Protocolo FTP Protocolo DNS Conclusão 2 Introdução Desenvolvimento de

Leia mais

Redes de Computadores

Redes de Computadores Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 16 de maio de 2017 Visão Geral 1 Introdução 2 3 Mensagem Eletrônica Os três componentes principais são: cliente de email. servidor

Leia mais

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte Escola Maria Eduarda Ramos de Barros Curso técnico em redes de computadores Carpina - PE Roteiro Aplicações de Rede Transporte

Leia mais

Redes de Computadores RES 12502

Redes de Computadores RES 12502 Instituto Federal de Santa Catarina Redes de Computadores Redes de Computadores RES 12502 2014 2 Área de Telecomunicações slide 1 O material para essas apresentações foi retirado das apresentações disponibilizadas

Leia mais

Capítulo 2 Camada de Aplicação

Capítulo 2 Camada de Aplicação Redes de Computadores DCC/UFJ Capítulo 2 Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados

Leia mais

FTP: protocolo de transferência de arquivos

FTP: protocolo de transferência de arquivos FTP: protocolo de transferência de arquivos no hospedeiro interface cliente de FTP FTP sistema de arquivo local transf. de arquivos servidor FTP sistema de arquivo remoto transfere arquivo de/para hospedeiro

Leia mais

Transferência de Arquivo: Protocolo FTP

Transferência de Arquivo: Protocolo FTP Para iniciar uma sessão FTP (File Transfer Protocol) típica e acessar uma conta, o usuário deve fornecer uma identificação e uma senha; Após a identificação o usuário pode realizar operações de transferência

Leia mais

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio Camada de Aplicação Redes Industriais Prof. Rone Ilídio Itens do Livro Redes de Computadores e a Internet, Kurose 5ª edição 2 Camada de Aplicação 2.1 Princípios de aplicações de rede 2.1.1 Arquiteturas

Leia mais

Redes de Computadores II. Programação com Sockets em Python

Redes de Computadores II. Programação com Sockets em Python v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets API de Sockets introduzida no BSD4.1 UNIX, 1981 sockets são explicitamente criados, usados

Leia mais

Redes de Computadores I. Sockets e Arquitetura HTTP

Redes de Computadores I. Sockets e Arquitetura HTTP v.2016 Redes de Computadores I Sockets e Arquitetura HTTP Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional Catalão HTTP - O Servidor Web Prof. Dr. Ricardo Couto Antunes da Rocha - Depto. de

Leia mais

REDES DE COMPUTADORES. Prof. Evandro Cantú

REDES DE COMPUTADORES. Prof. Evandro Cantú REDES DE COMPUTADORES Prof. Evandro Cantú Prof. Evandro Cantú, evandro.cantu@ifpr.edu.br Slides adaptados de J. Kurose & K. Ross 2 Curso de Capacitação Intelbras Redes Computadores Maio 2007 Camada de

Leia mais

Aplicação de rede. GA-027 Redes de Computadores. Camada de Aplicação. Artur Ziviani LNCC/MCT. Execução nos sistemas finais com comunicação via rede

Aplicação de rede. GA-027 Redes de Computadores. Camada de Aplicação. Artur Ziviani LNCC/MCT. Execução nos sistemas finais com comunicação via rede GA-027 Redes de Computadores Camada de Aplicação Artur Ziviani LNCC/MCT Aplicação de rede Execução nos sistemas finais com comunicação via rede Processos no SO usando infra-estrutura de comunição Ex: software

Leia mais

Redes de Computadores

Redes de Computadores Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 18 de maio de 2017 Visão Geral 1 Visão Geral 2 3 4 Web e o HTTP Relembrando rapidamente, página web é construída com objetos um objeto

Leia mais

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação REC- Redes de Computadores Capítulo 5 Camada de Aplicação Camada de aplicação DNS: Servidores de nomes raiz contactados por servidores de nomes locais que não conseguem traduzir nome servidores de nomes

Leia mais

DNS. Usa o UDP e a porta 53. Não é uma aplicação com a qual o usuário interage diretamente Complexidade nas bordas da rede

DNS. Usa o UDP e a porta 53. Não é uma aplicação com a qual o usuário interage diretamente Complexidade nas bordas da rede DNS Sistema de nomes de domínio (Domain Name System) Serviço de diretórios da Internet Nomes são mais fáceis de lembrar Descrito nas RFCs 1034, 1035 e outras DNS consiste em Banco de dados distribuído

Leia mais

PTC Aula A Web e o HTTP. (Kurose, p ) (Peterson, p ) 24/03/2017

PTC Aula A Web e o HTTP. (Kurose, p ) (Peterson, p ) 24/03/2017 PTC 3450 - Aula 06 2.2 A Web e o HTTP (Kurose, p. 73-83) (Peterson, p. 425-444) 24/03/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All Rights Reserved Capítulo 2: conteúdo

Leia mais

Redes de Computadores. Protocolos de Internet

Redes de Computadores. Protocolos de Internet Redes de Computadores Protocolos de Internet Gustavo Reis gustavo.reis@ifsudestemg.edu.br O que é a Internet? Milhões de elementos de computação interligados Hospedeiros = sistemas finais Executando aplicações

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 2.7 e 2.8 - Camada de Aplicação Programação de sockets Prof. Jó Ueyama Março/2014 SSC0540-2014 1 Sockets TCP - Cliente Processo servidor já deve estar em execução. l Servidor

Leia mais

Redes de Computadores Aula 03 - Camada de Aplicação

Redes de Computadores Aula 03 - Camada de Aplicação Instituto Federal de Santa Catarina Redes de Computadores Aula 03 - Camada de Aplicação Prof. Tomás Grimm! tomas.grimm@ifsc.edu.br!1 2005 by Pearson Education Camada de aplicação 2.1 Princípios de aplicações

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores SMTP Prof. Thiago Dutra Agenda n Definição de SMTP n Correio Eletrônico n Características do SMTP n Problemas do SMTP n Operação Básica do SMTP n Mensagens

Leia mais

Correio eletrônico: SMTP [RFC 821]

Correio eletrônico: SMTP [RFC 821] Correio eletrônico: SMTP [RFC 821] Usa TCP para transferência confiável de mensagens de correio do cliente ao servidor, porta 25 Transferência direta: servidor que envia para o servidor que recebe Três

Leia mais

Correio Eletrônico e os protocolos SMTP, POP3 e IMAP

Correio Eletrônico e os protocolos SMTP, POP3 e IMAP Correio Eletrônico e os protocolos, POP3 e IMAP Thiago Cunha Pinto Correio eletrônico Três componentes principais: s do servidores de Simple Mail Transfer Protocol: Agente do também chamado leitor de redigir,

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com SUÍTE TCP 1 Camada de aplicação Protocolo Hypertext Transfer Protocol 2 HTTP Uma página WWW

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores HTTP Prof. Thiago Dutra Agenda Definição de HTTP Hipertexto Características do HTTP O HTTP e a Web Conexões HTTP Mensagens HTTP Cookies Caches Web GET Condicional

Leia mais

Capítulo 2: Camada de Aplicação

Capítulo 2: Camada de Aplicação Capítulo 2: Camada Aplicação Aplicações e protocolos da camada Metas do capítulo: aspectos conceituais e implementação protocolos em res paradigma molos serviço aprenda sobre protocolos através do estudo

Leia mais

Servidor de E-mails e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes

Servidor de E-mails e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Campus Cachoeiro Curso Técnico em Informática Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Definições Servidor de Mensagens Um servidor de

Leia mais

Redes de Computadores

Redes de Computadores Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 16 de maio de 2017 Visão Geral 1 Camada de Aplicação 2 3 4 Camada de Aplicação Ao analisar esta camada devemos focar em alguns objetivos:

Leia mais

REDES DE COMPUTADORES II. TÁSSIO JOSÉ GONÇALVES GOMES

REDES DE COMPUTADORES II. TÁSSIO JOSÉ GONÇALVES GOMES REDES DE COMPUTADORES II TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com APRESENTAÇÃO TÁSSIO JOSÉ GONÇALVES GOMES Mestrando em Informática pela UFAL e Bacharel em Sistemas

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2011 Camada de Aplicação

Leia mais

Servidor de E-mails e Protocolo SMTP

Servidor de E-mails e Protocolo SMTP Campus Cachoeiro Curso Técnico em Informática Servidor E-mails e Protocolo SMTP Professor: João Paulo Brito Gonçalves Disciplina: Serviços Res Definições Servidor Mensagens Um servidor mensagens é responsável

Leia mais

Transferência de arquivos (FTP)

Transferência de arquivos (FTP) Transferência de arquivos (FTP) Protocolo de transferência de arquivos (File Transfer Protocol) Descrito na RFC 959 Usa o TCP, a porta 21 (conexão de controle) e a porta 20 (conexão de dados) Em uma mesma

Leia mais

Camada de Aplicação. Prof. Arliones Hoeller.

Camada de Aplicação. Prof. Arliones Hoeller. Camada de Aplicação arliones.hoeller@ifsc.edu.br 1 Camada de aplicação 2.1 Princípios de aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Correio electrônico SMTP, POP3, IMAP 2.5 DNS 2.6 Compartilhamento

Leia mais

Redes de Computadores I Internet - Conceitos

Redes de Computadores I Internet - Conceitos Redes de Computadores I Internet - Conceitos Prof. Luís Rodrigo lrodrigo@lncc.br http://lrodrigo.lncc.br 2009/1 v1-2009.03.11 Parte I: Introdução Visão Geral: O que é a Internet O que é um protocolo? Bordas

Leia mais

1.) [exercício 1, cap. 2 Kurose] Analise cada uma das três perguntas e responda se a afirmação é verdadeira ou falsa.

1.) [exercício 1, cap. 2 Kurose] Analise cada uma das três perguntas e responda se a afirmação é verdadeira ou falsa. UDESC Universidade do Estado de Santa Catarina DCC Departamento de Ciência da Computação REC Redes de computadores Quinta Lista de Exercícios 1.) [exercício 1, cap. 2 Kurose] Analise cada uma das três

Leia mais

FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA. Aula 1 SENAC TI Fernando Costa

FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA. Aula 1 SENAC TI Fernando Costa FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA Aula 1 SENAC TI Fernando Costa Camada de Aplicação Objetivos: aspectos conceituais dos protocolos de aplicação em redes modelos de serviço da camada de transporte

Leia mais

Capítulo 7. A camada de aplicação

Capítulo 7. A camada de aplicação Capítulo 7 A camada de aplicação slide 1 2011 Pearson Prentice Hall. Todos os direitos reservados. Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, Pearson Education-Prentice Hall,

Leia mais

Correio eletrônico. Sistema de correio da Internet composto de

Correio eletrônico. Sistema de correio da Internet composto de Correio eletrônico Sistema de correio da Internet composto de Agentes de usuário Servidores de correio ou agentes de transferência de mensagens Protocolo simples de transferência de correio (Simple Mail

Leia mais

SMTP Simple Mail Transport Protocol

SMTP Simple Mail Transport Protocol Simple Mail Transport Protocol Carlos Gustavo A. da Rocha Introdução Correio eletrônico existe desde o início da Internet Uma das aplicações mais populares e de maior sucesso Com o tempo ficou mais elaborado

Leia mais

Programação de Sockets

Programação de Sockets Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Socket API introduzida no BSD4.1 UNIX, 1981 explicitamente criados, usados e liberados

Leia mais

Prof. Marcelo Cunha Parte 6

Prof. Marcelo Cunha Parte 6 Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Sockets, FTP, Correio Eletrônico, P2P Prof. Jó Ueyama Março/2014 1 Capítulo 2.7 e 2.8 - Camada de Aplicação Programação de sockets 2 Programação de Sockets Objetivo: Socket: aprender

Leia mais

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB INTRODUÇÃO À INTERNET E À WORLD WIDE WEB CURSO TÉCNICO DE INFORMÁTICA MODALIDADE SUBSEQÜENTE DESENVOLVIMENTO WEB I PROF. ALEXANDRO DOS SANTOS SILVA 1 1 SUMÁRIO Conceitos básicos Histórico Principais modelos

Leia mais

Redes de Computadores I

Redes de Computadores I UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores I Nível de Aplicação (HTTP) Prof. Helcio Wagner da Silva. p.1/24

Leia mais

Comunicação entre processos

Comunicação entre processos Camada de aplicação Conceitos fundamentais Processos, endereços IP e portos Aplicações e protocolos da camada de aplicação Web e HTTP Correio eletrónico e SMTP, POP Tradução nomes-endereços e DNS Redes

Leia mais

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral:

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral: Parte I: Introdução Tarefa: ler capítulo 1 no texto Nosso objetivo: obter contexto, visão geral, sentimento sobre redes maior profundidade e detalhes serão vistos depois no curso abordagem: descritiva

Leia mais

Tecnologia de Redes de Computadores

Tecnologia de Redes de Computadores Tecnologia de Redes de Computadores Prof. Sidney Nicolau Venturi Filho 34. CAMADA DE APLICAÇÃO Camada de Aplicação Compreende aplicações p/ várias finalidades Telnet, Rlogin - sessão remota FTP, TFTP -

Leia mais

Fernando M. V. Ramos, RC (LEI), TP02. HTTP. Redes de Computadores

Fernando M. V. Ramos, RC (LEI), TP02. HTTP. Redes de Computadores TP02. HTTP Redes de Computadores Objetivos Uma introdução ao protocolo HTTP Um olhar com algum detalhe para dentro do protocolo Noções básicas Uma página web consiste num conjunto de objetos Ficheiros

Leia mais

EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE

EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE Objetivos: No Capítulo 4, vimos três tipos principais de endereços IP (Classes A, B e C) Neste capítulo examinaremos algumas técnicas que permitem que

Leia mais

Redes de Computadores

Redes de Computadores Elmano R. Cavalcanti Redes de Computadores Camada de Aplicação elmano.cavalcanti@garanhuns.ifpe.edu.br http://elmano.tk Esta apresentação contém slides fornecidos pela Editora Pearson como material de

Leia mais

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I Arquitetura de Rede Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I 2 Tipos de arquiteturas Cliente-Servidor Peer-to-Peer Arquitetura Híbrida Cliente-Servidor

Leia mais

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo Construção de Sites Introdução ao Universo Web Prof. Nícolas Trigo trigo.nicolas@gmail.com CONCEITOS BÁSICOS Internet à conglomerado de redes de computadores que permite o acesso a informações e a transferência

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Parte I Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e n UDP n Parte II n TCP

Leia mais

2Arquitetura cliente-servidor

2Arquitetura cliente-servidor Redes de computadores e a Internet Capítulo Camada de aplicação Nossos objetivos: Conceitual, aspectos de implementação de protocolos de aplicação de redes Paradigma cliente-servidor Paradigma peer-to-peer

Leia mais

Áudio digital - áudio de fluxo

Áudio digital - áudio de fluxo Áudio digital - áudio de fluxo Modo simples de áudio de fluxo (fonte: Tanenbaum) Problema: arquivo tem de ser baixado antes de iniciar a reprodução do áudio Solução: Uso de um metarquivo Áudio digital

Leia mais

Capítulo 11 Sumário. Serviço de Correio Eletrônico - SMTP e POP3. Serviço de Páginas - Protocolo HTTP, Linguagem HTML

Capítulo 11 Sumário. Serviço de Correio Eletrônico - SMTP e POP3. Serviço de Páginas - Protocolo HTTP, Linguagem HTML 1 Capítulo 11 Sumário Serviço de Nomes de Domínios DNS Serviço de Acesso Remoto - TELNET Serviço de Correio Eletrônico - SMTP e POP3 Serviço de Páginas - Protocolo HTTP, Linguagem HTML Serviço de Transferência

Leia mais

Capítulo 2: Camada de Aplicação

Capítulo 2: Camada de Aplicação Capítulo 2: Camada de Aplicação Sistemas de Informação Cin-UFPE Kelvin Lopes Dias kld@cin.ufpe.br 1 Aplicações e protocolos da camada de aplicação Aplicação: processos distribuídos em comunicação executam

Leia mais

Escola Politécnica da Universidade de São Paulo

Escola Politécnica da Universidade de São Paulo Escola Politécnica da Universidade de São Paulo Departamento de Engenharia de Telecomunicações e Controle PTC3450 - Redes de Comunicação - 1o semestre 2017 Lista de Exercícios Suplementares 1 1) (2014-P1)

Leia mais

INTERNET P R O F. M A R C O A N T Ô N I O PROF. MARCO ANTÔNIO

INTERNET P R O F. M A R C O A N T Ô N I O PROF. MARCO ANTÔNIO INTERNET P R O F. M A R C O A N T Ô N I O PROF. MARCO ANTÔNIO Conceito É uma rede de computadores interligadas, que possibilita o acesso a informações sobre e em qualquer lugar do mundo. Rede das Redes

Leia mais

Camada de Aplicação. Prof. Tiago Semprebom. tisemp@sj.cefetsc.edu.br www.sj.cefetsc.edu.br/~tisemp. 2: Camada de aplicação 1

Camada de Aplicação. Prof. Tiago Semprebom. tisemp@sj.cefetsc.edu.br www.sj.cefetsc.edu.br/~tisemp. 2: Camada de aplicação 1 MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS SÃO JOSÉ SANTA CATARINA Camada de Aplicação Prof. Tiago Semprebom tisemp@sj.cefetsc.edu.br

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Teleprocessamento e Redes

Teleprocessamento e Redes Teleprocessamento e Redes Aula 21: 06 de julho de 2010 1 2 3 (RFC 959) Sumário Aplicação de transferência de arquivos de/para um host remoto O usuário deve prover login/senha O usa duas conexões TCP em

Leia mais

Redes de Computadores e a Internet

Redes de Computadores e a Internet Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação

Leia mais

Redes de Computadores I. Camada de Aplicação no TCP/IP

Redes de Computadores I. Camada de Aplicação no TCP/IP v.2016 Redes de Computadores I Camada de Aplicação no TCP/IP Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional Catalão Roteiro Conceitos Básicos e Arquitetura DNS Domain Name System Protocolo

Leia mais

Introdução. Caixa postal (mailbox) Componentes do sistema de correio eletrônico. Correio eletrônico (SMTP, POP e IMAP)

Introdução. Caixa postal (mailbox) Componentes do sistema de correio eletrônico. Correio eletrônico (SMTP, POP e IMAP) Introdução Inst tituto de Info ormátic ca - UF FRGS Rd Redes de Computadores td Correio eletrônico (, POP e IMAP) Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons.

Leia mais

PROGRAMAÇÃO COM SOCKETS

PROGRAMAÇÃO COM SOCKETS unidade I Tecnologias de Redes de Computadores PROGRAMAÇÃO COM SOCKETS Olá! Na aula de hoje, faremos um estudo sobre sockets. Esta aula fornecerá uma boa base de como sockets são utilizados para a transmissão

Leia mais

Capítulo 1. 4 Modem de conexão discada sobre linha telefônica: residencial;

Capítulo 1. 4 Modem de conexão discada sobre linha telefônica: residencial; Universidade Federal do ABC Prof. João Henrique Kleinschmidt Gabarito Lista de Exercícios 1 e 2 Redes de Computadores Capítulo 1 Questões de revisão 4 Modem de conexão discada sobre linha telefônica: residencial;

Leia mais

Capítulo 7. A camada de aplicação

Capítulo 7. A camada de aplicação Capítulo 7 A camada de aplicação slide 1 slide 2 DNS Sistema de Nomes de Domínio O espaço de nomes DNS Registros de recursos de domínio Servidores de nome slide 3 O espaço de nomes DNS (1) Parte do espaço

Leia mais

Arquitetura de sistemas distribuídos

Arquitetura de sistemas distribuídos Arquitetura de sistemas distribuídos 3. Comunicação nos Sistemas Distribuídos 3.1.Introdução aos modelos de comunicação 3.2 Modelo Cliente-Servidor 3.3.Comunicação através de Sockets 3.3 Chamada a procedimento

Leia mais

Arquitetura da Internet TCP/IP

Arquitetura da Internet TCP/IP Arquitetura da Internet TCP/IP A Internet Internet é a rede mundial de computadores, à qual estão conectados milhões de computadores do mundo todo; A idéia de concepção de uma rede mundial surgiu nos Estados

Leia mais

Parte 2: Camada de Aplicação

Parte 2: Camada de Aplicação Parte 2: Camada de Aplicação Nossos objetivos : Outros objetivos: Conceitos, aspectos de implementação dos protocolos de aplicação: Paradigma client. Modelos de serviço. Aprender sobre protocolos pelo

Leia mais

Capítulo 2 Camada de Aplicação

Capítulo 2 Camada de Aplicação Redes de Computadores DCC/UFJ Capítulo 2 Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados

Leia mais

Camada de aplicação 2-1. Redes de Computadores

Camada de aplicação 2-1. Redes de Computadores Camada de aplicação.1 Princípios de aplicações de rede. Web e HTTP.3 FTP.4 Correio electrônico SMTP, POP3, IMAP.5 DNS.6 Compartilhamento de arquivos PP.7 Programação de socket com TCP.8 Programação de

Leia mais

: TMS M

: TMS M Infraestrutura de Redes de Computadores Turma : TMS 20171.3.01112.1M Camada de Transporte Prof. Thiago Dutra Agenda n Introdução n Protocolos de Transporte Internet n Multiplexação

Leia mais