Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos Baseados na Web
Advertisements

INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Comunicação entre processos distribuídos
Bruno Rafael de Oliveira Rodrigues
Ir p/ primeira página Cliente/Servidor Modelo usado para construir aplicações Servidor em número de porta conhecido – Aceita requisições e executa serviços.
Interação Cliente Servidor
Conceitos de Sockets Universidade Federal do Rio Grande do Sul (UFRGS)
Apresentação para EAD usando modelo instrucional
FEUPDEECRedes de Computadores, 4º Ano de EEC, ramo de ACI Sockets Abril, 98Isidro Vila Verde 1 Formato das estruturas de dados Estrutura.
Mobilidade Cláudia Ribeiro.
Obtenção de IP TCP UDP.
Sistemas Distribuídos
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
Camada de Transporte: Portas, Sockets, Aplicações em Rede
Introdução à Programação Distribuída em Java
Funcionalidades e Protocolos da Camada de Aplicação
Modelo de referência OSI
Aula 9 - Camada de aplicação
Funcionalidade e Protocolos da Camada de Aplicação
Programação de Sistemas de Comunicação
Protocolos e o Modelo OSI
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Faculdade de Tecnologia SENAI de Desenvolvimento Gerencial
Comunicação entre Processos - Sockets. Conceitos Básicos Sockets são uma forma de IPC ( InterProcess Communication ) fornecida pela 4.3 BSD que fornecem.
Cont. gerenciamento de rede Prof. Eliane Teresa Borela 2°p redes de Computadores.
Arquitetura de Redes de Computadores – Luiz Paulo Maia Camada de Aplicação1 Arquitetura de Redes de Computadores Camada de Aplicação.
Processos.
Davidson Rodrigo Boccardo
Falso, HTTP usa TCP. 1) HTTP usa arquitetura cliente servidor, aceitando conexões UDP na porta 80.
REDES DE COMPUTADORES CONCEITOS E TÓPICOS RELACIONADOS A REDES DE COMPUTADORES ________________________________________________ Redes – Prof. Roni Márcio.
Domain Name System - Sistema de Nomes de Domínios
Sistemas de Informação: Estrutura básica dos Sistemas Empresariais.
Prof.°: João Henrique Disciplina: SOR II
Desenvolvimento de Aplicações TCP/IP com Sockets Márcio de Sousa Dias
Arquitetura de Redes de Computadores – Luiz Paulo Maia Camada de Transporte1 Arquitetura de Redes de Computadores Luiz Paulo Maia Camada de Transporte.
Camada de Transporte: protocolo UDP
Administração e Projeto de Redes
(c)AB, WEB: filosofia e origens Grupo de utilizadores Internet Ambiente académico dominado por sistemas UNIX Conjunto de serviços básicos: correio.
Comunicação Cliente-Servidor Linguagem para Internet II Prof. Marcelo da Silveira Siedler SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL.
CAMADA DE SESSÃO FORNECE OS MEIOS NECESSÁRIOS PARA QUE AS CAMADAS SUPERIORES POSSAM ORGANIZAR, SINCRONIZAR E GERENCIAR SUAS TROCAS DE DADOS.
Execícios de Revisão Redes de Computadores Edgard Jamhour
Python Threads e Socket
DHCP Dynamic Host Configutation Protocol Charles Felipe Oliveira Viegas Douglas Xavier T. de Oliveira.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Escola Secundaria Sebastião da gama Comunicação de dados Prof: Carlos Pereira Nome :André Santos Ano/Turma:12ºL Nº:2 IP Dinâmico, IP Fixo e DNS.
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Tema 07: A camada de aplicação: protocolos HTTP, SMTP, DNS, FTP
IP/DNS NUNO BANDOLA COMUNICAÇÃO DE DADOS CARLOS PEREIRA.
Serviços de rede e internet Jackson Eduardo da Silva.
Redes de Computadores e Internet Sistemas de comunicação de dados Professor: Waldemiro Arruda.
Passagens de Mensagens Prof. Dr. Norian Marranghello
Redes de Computadores 2 - Camada de Aplicação (Princípios Básicos) –
Introdução à plataforma Web (internet) e protocolos de comunicação
PROTOCOLOS ALUNOS: HUDSON JOSÉ WASHINGTON VITÓRIA GABRIEL KURIYAMA THIAGO SANTOS CAROLINA LIMA Professor: Alcebíades Lôbo.
Protocolos de Comunicação e Passagem de Mensagens
Sockets Redes de Comunicação de Dados Prof. Esp. Cristiano José Cecanho.
Curso Superior em Redes de Computadores SSH Prof. Sales Filho.
Alessandro D. R. Fazenda
Redes de Computadores e Aplicações – Camada de aplicação IGOR ALVES.
Curso Superior em Redes de Computadores FTP Prof. Sales Filho.
Capítulo 2 Redes de computadores e a Internet Camada de aplicação Prof. Gustavo Wagner.
Curso Superior em Redes de Computadores DHCP Prof. Sales Filho.
Redes de Computadores Endereçamento IP Básico Prof. Sales Filho.
Curso Superior em Redes de Computadores
Redes de Computadores e Aplicações – Camada de Rede Protocolos de Roteamento dinâmico RIP IGOR ALVES.
Redes de Computadores Camada de Rede Projeto de endereçamento - 1 Prof. Sales Filho.
Sistemas de Informações Fundamentos da Computação B. Internet Márcio Aurélio Ribeiro Moreira
Centro Federal de Educação Tecnológica do RN Redes de Computadores Curso Superior em Redes de Computadores Camada de Rede Roteamento IP UNICAST Prof. Sales.
Redes de Computadores e Aplicações – Modelo TCP/IP
Transcrição da apresentação:

Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho

2 Objetivo Apresentar os detalhes específicos dos tipos de aplicação Apresentar o modelo cliente-servidor Apresentar as características da interface Socket Apresentar os detalhes de projetos de servidores

3 Introdução Camada de aplicação Trata os detalhes específicos de cada tipo de aplicação Mensagens trocadas por cada tipo de aplicação definem um protocolo de aplicação Cada protocolo de aplicação especifica a sintaxe e a semântica de suas mensagens Diversos protocolos de aplicação FTP (File Tranfer Protocol) SMTP (Simple Mail Transfer Protocol) DNS (Domain Name System) HTTP (HyperText Transfer Protocol)

4 Introdução Camada de aplicação Implementada usando processos de aplicação Processos interagem usando o modelo cliente- servidor Processos usam os serviços da camada de transporte Processos interagem com as implementações dos protocolos de transporte através de uma API (Application Programming Interface) A interface Socket é um dos principais exemplos de interface de interação

5 Modelo cliente-servidor Componentes Servidor Processo que oferece um serviço que pode ser requisitado pelos clientes através da rede Comunica-se com o cliente somente após receber requisições Executa continuamente Cliente Processo que requisita um serviço oferecido por um servidor Inicia a interação com o servidor Disponibiliza a interface com o usuário Finaliza a execução após ser utilizado pelo usuário

6 Modelo cliente-servidor Paradigma requisição-resposta Servidor Aceita requisição dos clientes Executa seu serviço realizando o processamento das requisições Retorna o resultado para os respectivos clientes Cliente Envia requisições através da rede para um ou vários servidores Aguarda o recebimento das respectivas respostas

7 Modelo cliente-servidor Identificação de processos Clientes e servidores são identificados por meio das portas Cliente deve conhecer, previamente, a porta usada pelo servidor Servidor não precisa conhecer, previamente, a porta usada pelo cliente Servidor descobre a porta usada pelo cliente somente após receber a requisição

8 Modelo cliente-servidor Identificação de processos Portas são permanentemente reservadas para serviços padronizados e bem conhecidos Porta 53 (DNS) Porta 161 (SNMP) Portas reservadas são utilizadas pelos servidores que implementam os respectivos serviços Demais portas são disponíveis para uso dos clientes

9 Modelo cliente-servidor Negociação de porta Servidor requisita uma porta reservada e bem conhecida, previamente reservada ao ser serviço Servidor informa ao sistema operacional a porta que deseja utilizar e qual protocolo da camada de transporte Cliente requisita uma porta qualquer não reservada Sistema operacional escolhe a porta arbitrária para o cliente

10 Modelo cliente-servidor Alocação de portas Padronizadas pela IANA (Internet Assigned Numbers Authority) Reservada (0 – 1.023) Atribuídas a serviços padronizados Acessados apenas por processos privilegiados Registradas (1.024 – ) Não são reservadas, mas apenas listadas para coordenar o uso para serviços não padronizados Acessadas por qualquer processo Dinâmicas ( – ) Não possuem reserva, podendo ser usadas pelos clientes Acessadas por quaisquer processos

11 Interface Socket Características Define interface entre os processos de aplicação e as implementações dos serviços de transporte Originalmente proposta para sistemas UNIX e a linguagem C Amplamente adotada em diversas plataformas e linguagens Um Socket é um ponto de comunicação É identificado pelos endpoints local e remoto Cada endpoint é representado pelo par (Endereço IP, porta)

12 Interface Socket Estados de um Socket TCP Socket ativo Usado pelo cliente para ativamente enviar requisições de conexão ao servidor ClosedEstablised

13 Interface Socket Estados de um Socket TCP Socket passivo Usado pelo servidor para passivamente aguardar por requisições de conexão ClosedListenEstablised

14 Interface Socket Endpoint local Criado por default com endereço IP especial e uma porta arbitrária selecionada pelo sistema operacional Pode ser atribuído um endereço IP e uma porta específica Endereço IP específico deve ser evitado em sistemas Multihomend, exceto por questões de segurança Servidor deve configurar uma porta específica Cliente usa a porta selecionada pelo sistema operacional

15 Interface Socket Endpoint remoto Criado por default com endereço IP especial e porta “*” Pode ser atribuído um endereço IP e uma porta específica Cliente UDP ou TCP deve especificar o endereço IP e a porta do servidor Servidor UDP pode configurar um endereço IP e porta específica Deve ser evitado em sistemas Multihomend, exceto por questões de segurança Servidor TCP usa associação default

16 Interface Socket Endpoint local e remoto Vários sockets podem utilizar o mesmo número de porta local, desde que os seus respectivos endpoints local e remotos sejam diferentes LINUX

17 Interface Socket Endpoint local e remoto WINDOWS

18 Interface Socket Modelo de programação Explora chamadas ao sistema operacional Adota o modelo de arquivo, que é baseado no paradigma abrir-ler-fechar Principais funções Socket (Cria o socket) Bind (Associa o socket com uma porta) Listen (Aguarda conexões) Accept (Aceita conexão) Connect (Realiza um pedido de conexão) Read / recvfrom (Recebe dados) Write / sendto (Envia dados)

19 Interface Socket Clientes e servidores UDP Modelo de implementação socketbindsendtocloserecvfrom socketrecvfromclosesendto Comunicação Cliente UDP Servidor UDP

20 Interface Socket Clientes e servidores TCP Modelo de implementação socketbindreadcloseListen Comunicação Servidor TCP acceptwrite socketwritecloseconnect Cleinte TCP read Sincronização

21 Projeto de servidores Tratamento de requisição Servidor iterativo (single threaded) Trata requisição de um único cliente a cada instante Implementado como um único processo Servidor concorrente (multi-threaded) Trata simultaneamente requisições de vários clientes Implementado com vários processos ou threads independentes Cada processo ou thread trata individualmente as requisições de um determinado cliente

22 Projeto de servidores Tratamento de requisições Servidor Iterativo Adequado para serviços com reduzida taxa de requisição Requisições com baixa carga de processamento socketbindListen Servidor TCP acceptwritereadclose Socket original Novo socket

23 Projeto de servidores Tratamento de requisições Servidor Iterativo Adequado para serviços com reduzida taxa de requisição Requisições com baixa carga de processamento socketbindListen Servidor TCP writereadclose Socket original Novo socket close accept readwrite...

24 Projeto de servidores Compartilhamento de portas Servidor concorrente Socket mestre Está sempre no estado Listen Endpoint local possui o endereço especial e a porta específica do servidor Endpoint remoto possui o endereço especial e porta “*” Sockets dos escravos Estão sempre no estado established Endpoints locais possuem endereço IP da estação e a porta específica do servidor Endpoints remotos possuem os endereços IP e as portas dos respectivos clientes

25 Projeto de servidores Compartilhamento de portas Servidor concorrente Existe um único socket no estado Listen Somente processa segmentos SYN Podem existir diversos sockets no estado established Somente processam segmentos de dados Endpoints local e remoto desses sockets devem ser diferentes

26 Projeto de servidores Gerenciamento de conexões TCP Fila de requisições Associada a sockets no estado de Listen Armazena requisições de conexões que já foram aceitas pela entidade TCP Processamento da requisição é realizado pela entidade TCP e não pelo servidor Requisição presente na fila ainda não aceita pelo servidor A requisição somente é aceita e removida da fila quando o servidor ativa a função accept Possui capacidade fixa, mas pode ser configurada pelo servidor com a função Listen

27 Projeto de servidores Multiplicidade do serviço Servidor de um único serviço Aguarda requisições em um único socket, que possui uma única porta associada ao endpoint local Implementação baseada na função accept Servidor de múltiplos serviços Aguarda requisições em diversos sockets, que possuem diferentes portas associadas aos respectivos endpoints locais Implementação baseada na função select Exemplo: xinetd (Unix/Linux)

28 Referências Comer, Douglas E., Interligação de Redes Com Tcp/ip James F. Kurose, Redes de Computadores e a Internet Escola Superior de Redes, Arquitetura e Protocolos de Redes TCP/IP