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

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

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

Redes de Computadores

Camada de Aplicação da Arquitetura TCP/IP

Protocolos da camada aplicação

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

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

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

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

Redes de Computadores

Capítulo 2. Camada de aplicação

Redes de Computadores

Redes de Computadores

Redes de Computadores

REDES DE COMPUTADORES

Redes de Computadores

Redes de Computadores

Redes de Computadores I Internet - Conceitos

Protocolos e Serviços de Redes

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

Protocolos e Serviços de Redes

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

Capítulo 2: Camada de Aplicação

REDES DE COMPUTADORES. Prof. Evandro Cantú

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

Redes de Computadores

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

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

Redes de Computadores RES 12502

REDES DE COMPUTADORES

Capítulo 2 Camada de Aplicação

Prof. Marcelo Cunha Parte 6

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

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

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

SMTP Simple Mail Transport Protocol

Redes de Computadores e a Internet Kurose. Prof. Rone Ilídio da Silva DTECH-CAP-UFSJ

Arquitetura de sistemas distribuídos

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

Escola Politécnica da Universidade de São Paulo

Redes de Computadores

Modelo de Camadas. Redes de Computadores

Redes P2P. Apresentadora: Luciana Pereira Oliveira. Duração: 40 minutos Data: 20/07/

Redes de Computadores

UNIVERSIDADE FEDERAL DO PIAUÍ COLÉGIO TÉCNICO DE TERESINA-TÉCNICO EM INFORMÁTICA DISCIPLINA: REDES DE COMPUTADORES I PROFESSOR: Valdemir Junior

Redes de Computadores. Protocolos de Internet

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

Preparação AV3 Fundamentos de Redes de Computadores

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

Aplicações Multimídia sobre Redes

Redes de Computadores e Aplicações

Áudio digital - áudio de fluxo

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Programação para Web

Redes de Computadores

Prof. Samuel Henrique Bucke Brito

Redes de Computadores e a Internet

Redes de Computadores

Firewall - Inspeção com estado. (Stateful Inspection)

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

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

: TMS M

Redes de Computadores e a Internet

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO

Redes de Computadores

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

e Protocolos de Streaming Aplicações Multimídia Multimídia Aplicações jitter Variação de retardo Efeito do jitter

Introdução à Computação

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores I

Programação com Sockets

Vamos fazer um pequeno experimento

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

CENTRAL DE CURSOS 29/05/2014

Redes de Comunicação de Dados

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

Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas

Estruturas básicas de redes Internet Padronização e Protocolos

Arquitetura da Internet TCP/IP

Redes de Computadores

Arquitetura em Camadas. Profª. Dianne Scherly Varela de Medeiros

Redes de Computadores Aula 4. Aleardo Manacero Jr.

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

Transferência de Arquivo: Protocolo FTP

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Funcionalidade e Protocolos da Camada de Aplicação

Aplicações Gerais de Informá5ca

2Arquitetura cliente-servidor

Introdução à Ciência da Computação

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

Arquitetura e Protocolos de Rede TCP/IP

Redes de Computadores

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

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Cap 03 - Camada de Aplicação Internet (Kurose)

Protocolos de Rede. Protocolos em camadas

Definição das 7 Camadas do Modelo OSI e Explicação das Funções

Redes de Computadores.

Redes de Computadores e Internet

Informática Básica. Aula 03 Internet e conectividade

Transcrição:

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 que controlam a transferência dos dados, cuidando dos erros e administrando registros das transmissões. Serviços: Controle de diálogo (quem deve transmitir em cada momento); Gerenciamento de tokens (impede operações críticas de serem executadas ao mesmo tempo); Sincronização (permite que uma transmissão continue do ponto onde parou). 7 6 5 4 3 2 1 OSI Apresentação Sessão Transporte Rede Enlace de dados Física 3 / 43

Modelo OSI Apresentação Serve como o tradutor de dados para a rede: está ligada à semântica e à sintaxe das informações transmitidas. Gerencia estruturas de dados abstratas: Para que dois computadores possam se comunicar, as estruturas de dados a serem trocados podem ser definidas de maneira abstrata, com uma codificação padrão que será usada durante a conexão. É responsável pela compressão e criptografia dos dados. 7 6 5 4 3 2 1 OSI Apresentação Sessão Transporte Rede Enlace de dados Física 4 / 43

Modelo OSI Engloba protocolos que realizam a comunicação fim-a-fim entre aplicações/processos de diferentes computadores. Contém muitos protocolos comumente necessários pelos usuários; Frequentemente nos referimos às camadas de Sessão, Apresentação e simplesmente como : As funções dessas três camadas são implementadas de modo bem integrado. 7 6 5 4 3 2 1 OSI Apresentação Sessão Transporte Rede Enlace de dados Física 5 / 43

/ Algumas aplicações de rede E-mail; Web; Mensagens instantâneas; Login remoto; Compartilhamento de arquivos ; Jogos de rede multi-usuários; Vídeo-clipes; Voz sobre IP; Videoconferência em tempo real; Computação paralela em larga escala; Etc. 6 / 43

/ Criando uma aplicação de rede Programas que executam em diferentes sistemas finais e comunicam-se através da rede. Ex.: servidor Web se comunica com o navegador; Programas não relacionados ao núcleo da rede: Dispositivos do núcleo da rede não executam aplicações de usuários; nos sistemas finais permitem rápido desenvolvimento e disseminação. 7 / 43

/ Arquiteturas das aplicações Cliente-servidor; Peer-to-peer (); Híbrido de cliente-servidor e. 8 / 43

/ Arquitetura das aplicações / Arquitetura cliente-servidor Servidor: Sempre ligado; Endereço IP permanente; Escalabilidade. Cliente: Comunica-se com o servidor; Pode estar conectado intermitentemente; Pode ter endereços IP dinâmicos; Não se comunica diretamente com outros clientes. 9 / 43

/ Arquiteturas das aplicações / Arquitetura pura Não há servidor sempre ligado; Sistemas finais arbitrários se comunicam diretamente; Pares estão conectados intermitentemente e mudam endereços IP; Exemplo: Gnutella; Altamente escalável; Porém, difícil de gerenciar. 10 / 43

/ Arquiteturas das aplicações / Arquitetura híbrida de cliente-servidor e Napster: Transferência de arquivos ; Busca de arquivos centralizada: Pares registram conteúdo no servidor central; Pares consultam o mesmo servidor central para localizar conteúdo. Instant messaging: Conversa entre usuários ; Localização e detecção de presença centralizadas: Usuários registram o seu endereço IP junto ao servidor central quando ficam online; Usuários consultam o servidor central para encontrar endereços IP dos contatos. 11 / 43

/ comunicação Processo: programa que executa num hospedeiro Processos no mesmo hospedeiro se comunicam usando comunicação entre processos definida pelo sistema operacional (SO); hospedeiros distintos se comunicam trocando mensagens através da rede. Processos Processo cliente: processo que inicia a comunicação; Processo servidor: processo que espera para ser contatado. Nota: aplicações com arquiteturas possuem processos clientes e processos servidores. 12 / 43

/ Sockets Os processos enviam/recebem mensagens para/dos seus sockets; Um socket é análogo a uma porta: Processo transmissor envia a mensagem através da porta; O processo transmissor assume a existência da infraestrutura de transporte no outro lado da porta que faz com que a mensagem chegue ao socket do processo receptor. 13 / 43

/ Sockets 14 / 43

/ Endereçando os processos Para que um processo receba mensagens, ele deve possuir um identificador; Cada host possui um endereço IP único de 32 bits; Pergunta: o endereço IP do host no qual o processo está sendo executado é suficiente para identificar o processo? Resposta: não, muitos processos podem estar executando no mesmo host; O identificador inclui tanto o endereço IP quanto os números das portas associadas com o processo no host.; Exemplo de números de portas: Servidor : 80; Servidor de : 25. 15 / 43

/ camada de aplicação Definem tipos de mensagens trocadas; Definem sintaxe dos tipos das mensagens: campos presentes nas mensagens e como são identificados; Definem semântica dos campos: significado da informação nos campos; Definem regras para quando os processos enviam e respondem às mensagens. camada de aplicação Protocolos de domínio público: Definidos em RFCs; Permitem interoperação; Ex.: e SMTP. Protocolos proprietários: Ex.: KaZaA. 16 / 43

/ Que serviço de transporte uma aplicação precisa? Perda de dados: Algumas aplicações (Ex.: áudio) podem tolerar algumas perdas; Outras (Ex.: transferência de arquivos, Telnet) requerem transferência 100% confiável. Temporização: Algumas aplicações (Ex.: jogos interativos) requerem baixo atraso para serem viáveis. Largura de banda: Algumas aplicações (Ex.: multimídia) requerem quantia mínima de banda para serem viáveis ; Outras aplicações ( aplicações elásticas ) conseguem usar qualquer quantia de banda disponível. 17 / 43

/ Requisitos do serviço de transporte de apls comuns Perdas Banda Sensibilidade temporal Transferência de arquivos Sem perdas Elástica Não Sem perdas Elástica Não Documentos WWW Sem perdas Elástica Não Áudio: 5 kbps - 1 mbps Áudio/vídeo de tempo real Tolerante Vídeo: 10 kbps - 5 mbps Sim, 100 ms Áudio/vídeo gravado Tolerante Como o anterior Sim, alguns segundos Jogos interativos Tolerante >alguns kbps Sim, 100 ms financeiras Sem perdas Elástica Sim e não 18 / 43

/ Internet e seus protocolos Protocolo de aplicação Protocolo de transporte usado eletrônico SMTP [RFC 2821] TCP Acesso terminal remoto Telnet [RFC 854] TCP WWW [RFC 2616] TCP Transferência de arquivos [RFC 959] TCP Streaming multimídia Proprietário (Ex.: RealNetworks) TCP ou UDP Telefonia Internet Proprietário (Ex.: Dialpad) Tipicamente UDP 19 / 43

/ Protocolo Páginas Web consistem de objetos; Objeto pode ser um arquivo HTML, uma imagem JPEG, um applet Java, um arquivo de áudio; Páginas Web consistem de um arquivo HTML base que inclui vários objetos referenciados; Cada objeto é endereçável por uma URL; Exemplo de URL: www.someschool.edu /somedept/pic.gif (nome do hospedeiro) (nome do caminho) 20 / 43

/ Protocolo Hypertext Transfer Protocol Protocolo da camada de aplicação da Web; Modelo cliente/servidor. Cliente: browser que pede, recebe, visualiza objetos Web; Servidor: servidor Web envia objetos em resposta a pedidos. 1.0: RFC 1945; 1.1: RFC 2068. 21 / 43

/ Protocolo 22 / 43

/ Protocolo Usa serviço de transporte TCP: Cliente inicia conexão TCP (cria socket) ao servidor, porta 80; Servidor aceita conexão TCP do cliente; Mensagens (mensagens do protocolo da camada de aplicação) trocadas entre browser (cliente ) e servidor Web (servidor ); Encerra conexão TCP. é sem estado : Servidor não mantém informação sobre pedidos anteriores do cliente. Protocolos que mantêm estado são complexos! História passada (estado) tem que ser guardada; Caso caia servidor/cliente, suas visões do estado podem ser inconsistentes, devem ser reconciliadas. 23 / 43

/ : o protocolo de transferência de arquivos 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. : RFC 959; Servidor : porta 21. 24 / 43

/ : o protocolo de transferência de arquivos Cliente contata servidor na porta 21, especificando o TCP como protocolo de transporte; O cliente obtém autorização através da conexão de controle; O cliente consulta o diretório remoto enviando comandos através da conexão de controle; Quando o servidor recebe um comando para a transferência de um arquivo, ele abre uma conexão de dados TCP para o cliente; Após a transmissão de um arquivo o servidor fecha a conexão. 25 / 43

/ : o protocolo de transferência de arquivos Servidor mantém o estado : diretório atual, autenticação anterior. 26 / 43

/ Eletrônico Três grandes componentes: 1 Agentes de usuário (UA); 2 Servidores de correio; 3 Simple Mail Transfer Protocol (SMTP). 1 Agente de Usuário: Também conhecido como leitor de correio ; Compor, editar, ler mensagens de correio; Ex.: Outlook, Thunderbird; Mensagens de saída e entrada são armazenadas no servidor. 27 / 43

/ Eletrônico 2 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). 3 Protocolo SMTP entre servidores de correio para transferir mensagens de correio: Cliente: servidor de correio que envia; Servidor: servidor de correio que recebe. 28 / 43

/ Eletrônico SMTP Usa TCP para a transferência confiável de mensagens do correio do cliente ao servidor, porta 25; Transferência direta: servidor remetente ao servidor receptor; Três fases da transferência: Handshaking; Transferência das mensagens; Encerramento. Interação comando/resposta: Comandos: texto ASCII; Resposta: código e frase de status. 29 / 43

/ Protocolos de acesso ao correio SMTP: faz entrega/armazenamento no servidor do receptor; Protocolo de acesso ao correio: recupera do servidor: POP: Post Office Protocol [RFC 1939] Autorização (agente servidor) e transferência. : Internet Mail Access Protocol [RFC 1730] Mais comandos (mais complexo); Manuseio de mensagens armazenadas no servidor. : Hypertext Transfer Protocol Gmail, Hotmail, Yahoo! Mail, Webmail, etc. 30 / 43

/ (Domain Name System) Pessoas possuem muitos identificadores: CPF, nome, RG. Hospedeiros, roteadores: Endereço IP (32 bits) usado p/ endereçar pacotes; nome, ex.: www.cs.vu.nl/~ast/ usado por pessoas. Pergunta: como mapear entre nome e endereço IP? 31 / 43

/ (Domain Name System) Domain Name System: 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); Função imprescindível da Internet implementada como protocolo de camada de aplicação (complexidade na borda da rede); Roda sobre UDP e usa a porta 53; Especificado nas RFCs 1034 e 1035. 32 / 43

/ (Domain Name System) Servidor de nomes : Por que não centralizar o? Ponto único de falha; Volume de tráfego; Base de dados centralizada e distante; Manutenção da base de dados; Não é escalável; Nenhum servidor mantém todos os mapeamentos nome-para-endereço IP. 33 / 43

/ (Domain Name System) Servidor de nomes : Servidor de nomes local: Cada provedor, empresa tem servidor de nomes local (default); Pedido de hospedeiro vai primeiro ao servidor de nomes local; Quando não consegue resolver o nome, procura um servidor raiz. Servidor raiz: Procura servidor oficial se mapeamento for desconhecido; Obtém tradução; Devolve mapeamento ao servidor local. 34 / 43

/ (Domain Name System) Exemplo de : usuario.utfpr.edu.br requer o endereço IP de www.cs.columbia.edu 1 Contata servidor local, dns.utfpr.edu.br; 2 dns.utfpr.edu.br contata servidor raiz, se necessário; 3 Servidor raiz contata servidor oficial, cs.columbia.edu, se necessário. 35 / 43

/ Compartilhamento de arquivos Vamos analisar um exemplo: 1 Alice executa a aplicação cliente em seu computador; 2 Conecta-se à Internet, obtém um novo endereço IP para cada conexão; 3 Procura por uma música; 4 A aplicação exibe outros pares que possuem uma cópia da música; 5 Alice escolhe um dos pares, Bob; 6 O arquivo é copiado do PC de Bob para o PC de Alice por ; 7 Enquanto Alice faz o download, outros usuários copiam o arquivo a partir do PC de Alice; 8 O par de Alice pode ser classificado tanto como um cliente Web, quanto como um servidor Web transiente; 9 Todos os pares são servidores = altamente escaláveis! 36 / 43

/ Compartilhamento de arquivos / Diretório centralizado: Napster Projeto original Napster : 1 Quando um par se conecta, ele informa ao servidor central o seu endereço IP e conteúdo; 2 Alice procura pela música; 3 Alice requisita o arquivo de Bob. 37 / 43

/ Compartilhamento de arquivos / Diretório centralizado: Napster Problemas do Napster : Ponto único de falhas; Gargalo de desempenho; Infração de copyright. Transferência de arquivo é descentralizada, mas a localização de conteúdo é altamente centralizada. 38 / 43

/ Compartilhamento de arquivos / Diretório distribuído: Gnutella Totalmente distribuído; Sem servidor central; Protocolo de domínio público; Muitos clientes Gnutella implementando o protocolo. 39 / 43

/ Compartilhamento de arquivos / Diretório distribuído: Gnutella Mensagem de consulta é enviada pelas conexões TCP existentes; Os pares encaminham a mensagem de consulta; QueryHit (encontro) é enviado pelo caminho reverso. 40 / 43

/ Compartilhamento de arquivos / Explorando heterogeneidade: KaZaA Cada par é um ĺıder de grupo ou está atribuído a um ĺıder de grupo: Conexão TCP entre o par e seu ĺıder de grupo; Conexões TCP entre alguns pares de ĺıderes de grupo. O ĺıder de grupo acompanha o conteúdo em todos os seus discípulos. 41 / 43

/ Compartilhamento de arquivos / Explorando heterogeneidade: KaZaA Cada arquivo possui um hash e um descritor; O cliente envia a consulta de palavra-chave para o seu ĺıder de grupo; O ĺıder de grupo responde com os encontros: Para cada encontro: metadata, hash, endereço IP. Se o ĺıder de grupo encaminha a consulta para outros ĺıderes de grupo, eles respondem com os encontros; O cliente então seleciona os arquivos para download: Requisições usando hash como identificador são enviadas aos pares que contêm o arquivo desejado. 42 / 43

1 Exercícios para entrega via Moodle (até 06/06). 43 / 43