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

Documentos relacionados
AULA 3 - REDES. Prof. Pedro Braconnot Velloso

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

Redes de Computadores

Protocolos da camada aplicação

Redes de Computadores

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

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

Capítulo 2. Camada de aplicação

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

: TMS M

Redes de Computadores I Internet - Conceitos

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores

REDES DE COMPUTADORES

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

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

Prof. Marcelo Cunha Parte 6

Protocolos de Rede. Protocolos em camadas

Redes de Computadores. Protocolos de Internet

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

Redes de Computadores e Telecomunicações - Camada de Transporte

Funcionalidade e Protocolos da Camada de Aplicação

Protocolos e Serviços de Redes

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

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

Redes de Computadores

Arquitetura de sistemas distribuídos

Redes de Computadores

Redes de Computadores

REDES DE COMPUTADORES

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

Aplicações Multimídia sobre Redes

Aula 1 Conceitos Básicos

Configuração de serviço feita sob encomenda em RV120W e em RV220W

Protocolos e Serviços de Redes

Pós-Graduação em Engenharia de Redes e Sistemas de Telecomunicações

Aplicações com Banco de Dados e Cliente-Servidor

Redes de Computadores e a Internet

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 e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

Capítulo 9: Camada de Transporte

Escola Politécnica da Universidade de São Paulo

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Modelo de Camadas. Redes de Computadores

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

Redes de Computadores

Redes de Computadores

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

Redes de Computadores

SISTEMAS OPERACIONAIS DE REDE

Arquitetura de Redes de Computadores

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

Arquitetura da Internet TCP/IP

Redes de Computadores RES 12502

Redes de Computadores RES 12502

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Arquitetura e Protocolos de Rede TCP/IP

Redes de Computadores. A arquitectura protocolar TCP/IP

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

Redes de Computadores e Aplicações

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

Introdução à Computação

DNS: Sistema de Nomes de Domínio

Preparação AV3 Fundamentos de Redes de Computadores

Redes de Computadores

Redes de Computadores

Rede de Computadores (REC)

Jéfer Benedett Dörr

AULA 2 - INTERNET. Prof. Pedro Braconnot Velloso

Camada de Transporte Protocolos TCP e UDP

Nível de Transporte Portas, Protocolos UDP e TCP

INTERNET. A figura mostra os inúmeros backbones existentes. São cabos de conexão de altíssima largura de banda que unem o planeta em uma rede mundial.

Redes de Computadores

Redes de Computadores

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

Capítulo 2 Camada de Aplicação

Redes de Computadores I

Universidade Federal de Minas Gerais Departamento de Ciência da Computação

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.

Lista de exercícios - 1º bimestre 2016 REDES

Arquitetura TCP/IP - Internet Protocolo IP Protocolo ICMP

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

2Arquitetura cliente-servidor

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

Redes e Serviços Internet (11103)

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Transporte. Thiago Leite

Modelos de referência de arquiteturas de redes: OSI e TCP/IP Profsº Luciano / Roberto

Redes de Computadores. Prof. Msc André Y. Kusumoto

Fundamentos de Redes e Sistemas Distribuídos Aula 03 Camadas

Redes de Computadores

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

Redes de Computadores. Camada de Transporte

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Modelo de Referência TCP/IP

Programação com Sockets

Transcrição:

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 do navegador web se comunicando com servidor web Dispositivos do núcleo da rede não trabalham na camada de aplicação Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach

Paradigmas de comunicação Cliente-Servidor Peer-to-peer (P2P) (detalhado mais tarde) Cliente - Servidor Cliente iniciativa da comunicação com servidor pode se conectar intermitentemente pode ter endereço dinâmico sem comunicação direta com outros clientes Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach

Cliente - Servidor Servidor sempre ativo aguardando conexões fornece serviços solicitados pelo cliente endereço permanente Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach Comunicação de processos Processo: programas em execução Comunicação entre dois processos no mesmo sistema final: comunicação interprocessos (definido pelo SO) em diferentes sistemas finais: troca de mensagens via rede Foco do curso

Comunicação de processos Tanto cliente quanto servidor precisam falar a mesma linguagem Protocolo de aplicação: conjunto de regras sintáticas e semânticas que governam a troca de mensagens domínio público proprietátios exs: skype, KaZaA definidos por RFCs para interoperabilidade exs: HTTP, SMTP, FTP,... Sockets Processo envia / recebe mensagens para / de seu socket Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach Socket como uma porta entre camada de aplicação e transporte API: escolha do protocolo de transporte e passagem de parâmetros

Endereçamento de processos Para troca de mensagens, processo deve estar associado a um identificador Endereço (IP) do hospedeiro não basta? Além do endereço IP do hospedeiro, número da porta associada ao processo no hospedeiro Portas Portas bem conhecidas (well-known ports) convencionalmente associadas a serviços comuns - IANA Servidor http: 80 Servidor smtp: 25... Solicitadas pelos processos, atribuídas pelo SO

Serviços da camada de transporte UDP (User Datagram Protocol) não confiável sem conexão com detecção de erro TCP (Transmission Control Prot.) confiável com conexão orientado a bytes Serviço UDP Identificação de uma aplicação endereço IP + UDP + número da porta Características sem conexão não confiável messagens podem ser perdidas erros podem ser detectados, não recuperados não preserva seqüência

Serviço TCP Identificação de uma aplicação endereço IP + TCP + número da porta Características orientado a conexão bidirecional confiável orientado a fluxo de bytes Qual serviço de transporte a aplicação necessita? Métricas relevantes de qualidade perda de dados atraso variação do atraso (jitter) vazão

Perda de pacotes Congestionamento na rede Erros de transmissão Algumas aplicações podem tolerar perdas (ex. aúdio) Outras exigem transmissão confiável (ex. transferência de arquivos)? Atraso Fatores de atraso Atraso de fila Atraso de processamento Atraso de acesso ao meio Atraso de transmissão Atraso de propragação

Atraso Aplicações tolerantes a atrasos importância para integridade ex: transferência de arquivos Aplicações não tolerantes a atrasos interatividade / tempo real ex.: telefonia internet, jogos on-line Jitter Decorrente da variação do atraso entre pacotes consecutivos Afeta sincronia e interatividade ex: aúdio e vídeo

Vazão Capacidade efetiva de transmissão da aplicação throughput - vazão de dados goodput - vazão efetiva de dados (sem retransmissões) Vazão Algumas aplicações exigem vazão mínima para serem efetivas ex: multimídia Outras aplicações melhoram desempenho conforme vazão aumenta ex: aplicações elásticas (transferência de arquivos)

TCP x UDP Serviço TCP Orientado à conexão: conexão entre cliente e servidor Transporte confiável entre os processos de envio e recepção Controle de fluxo: o transmissor não sobrecarrega o receptor Controle de congestionamento: protege rede do excesso de tráfego Não oferece: garantias de temporização e de banda mínima Serviço UDP Transferência de dados não confiável entre transmissor e receptor Não oferece: estabelecimento de conexão, confiabilidade, controle de fluxo e de congestionamento, garantia de temporização e de banda mínima Nomes e endereços Pessoas: muitos identificadores RG, CPF, nome,... Internet (hosts, roteadores,...) Endereços IP (32 bits): endereçamento de datagramas nomes - ex: martin.lncc.br - usado por humanos

Nomes e endereços Como relacionar nomes e endereços? DNS - Domain Name System Base de dados distribuída implementada numa hierarquia de muitos servidores de nomes Protocolo de camada de aplicação comunicação com servidores de nomes para resolver nomes (mapeamento nome/endereço) Nota: função interna da Internet, implementada como protocolo! da!camada de aplicação Complexidade na borda da rede DNS Base distribuída e hierárquica Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach Cliente quer o IP para www.amazon.com Cliente consulta um servidor de raiz para encontrar o servidor DNS com Cliente consulta o servidor DNS com para obter o servidor DNS amazon.com Cliente consulta o servidor DNS amazon.com para obter o endereço IP para www.amazon.com

DNS Existem 13 servidores de nome raiz no mundo Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach Servidores de nome raiz São contatados pelos servidores de nomes locais que não podem resolver um nome Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido Conseguem o mapeamento Retornam o mapeamento para o servidor de nomes local DNS: exemplo Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach

Web e HTTP HTTP: hypertext transfer protocol Protocolo da camada de aplicação da Web Modelo cliente/servidor Cliente: navegador que solicita, recebe e apresenta objetos da Web Servidor: envia objetos em resposta a requisições do(s) cliente(s) HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach Conexões HTTP TCP entre o cliente e o servidor HTTP não persistente No máximo, um objeto é enviado sobre uma conexão TCP Múltiplas conexões para múltiplos objetos O HTTP/1.0 utiliza HTTP não persistente HTTP persistente Múltiplos objetos podem ser enviados sobre uma conexão O HTTP/1.1 utiliza conexões persistentes em seu modo padrão Fonte: Wikipedia

Cliente HTTP: faça você mesmo 1) Telnet para um servidor Web: telnet www.lncc.br 80 2) Digite um pedido GET HTTP: GET / HTTP/1.1 host: www.lncc.br 3) Examine a mensagem de resposta enviada pelo servidor HTTP!!! Abre conexão TCP para a porta 80 (porta default do servidor HTTP) em www.lncc.br Qualquer coisa digitada é enviada para a porta 80 em www.lncc.br Digitando isso (tecle carriage return duas vezes), você envia este pedido HTTP GET mínimo (mas completo) ao servidor HTTP Correio eletrônico Três componentes principais: Agentes de usuário Servidores de correio Simple mail transfer protocol: SMTP Agente de usuário leitor de correio Composição, edição, leitura de mensagens de correio Ex.: Outlook, Thunderbird,... Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach

Correio eletrônico Servidores de correio Caixa postal contém mensagens que chegaram (ainda não lidas) para o usuário Fila de mensagens contém as mensagens de correio a serem enviadas Protocolo SMTP permite aos servidores de correio trocarem mensagens entre si Cliente : servidor de correio que envia Servidor : servidor de correio que recebe Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach Alice envia email para Bob Fonte: Kurose e Ross, Computer Networking: A Top-Down Approach

Paradigmas de comunicação Cliente-Servidor Peer-to-peer (P2P) Peer-to-peer (P2P) Compartilhamento de recursos e serviços computacionais diretamente entre sistemas Software executado em cada elemento (peer) é equivalente em funcionalidade Cada participante age como cliente e servidor ao mesmo tempo (servent)

P2P Cada participante paga a sua participação fornecendo acesso a (alguns de) seus recursos exceções são comuns: freeriders como controlar? incentivo / reputação Sistemas P2P têm recebido grande atenção: usuários empresas meios acadêmicos 8000000 Consummer IP traffic growth 6000000 TB/month 4000000 2000000 0 2005 2006 2007 2008 2009 2010 2011 Web/Mail/FTP P2P Gaming VideoComm VoIP VideotoPC VideotoTV Fonte: Global IP Traffic Forecast and Methodology, 2006 2011

P2P puro : Características Sem coordenação central Sem base de dados central Sem ponto único de falha ou gargalo Nenhum peer tem visão global do sistema Todos os dados e serviços são acessíveis de qualquer peer Peers são autônomos Peers e conexões não são confiáveis P2P: Vantagens Escalabilidade Não há gargalo para crescimento Robustez Não há ponto de falha único Flexibilidade Auto-configuração / configuração dinâmica

P2P: Napster P2P: Gnutella

P2P: Super-nós P2P: KaZaA

Aplicações P2P Muitas aplicações recentes IM VoIP Video (Internet TV)... Compartilhamento de arquivos E outras nem tanto... roteadores servidores de email P2P: cenário recente Fonte: The absolute majority of all Internet traffic is p2p!filesharing, the liquidculture notebook, March 2008

P2P: cenário recente Fonte: The absolute majority of all Internet traffic is p2p!filesharing, the liquidculture notebook, March 2008