Material para pesquisa escolar, indicado para quem está fazendo algum curso de informática, material sobre servidores e suas interações com os computadores clientes.
Material para pesquisa escolar, indicado para quem está fazendo algum curso de informática, material sobre servidores e suas interações com os computadores clientes.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PPT, PDF, TXT ou leia online no Scribd
Material para pesquisa escolar, indicado para quem está fazendo algum curso de informática, material sobre servidores e suas interações com os computadores clientes.
Direitos autorais:
Attribution Non-Commercial (BY-NC)
Formatos disponíveis
Baixe no formato PPT, PDF, TXT ou leia online no Scribd
passivamente esperando dados e um outro iniciar a comunicação enviando dados Dá-se o nome de Interação Cliente-Servidor
Os termos cliente-servidor se refere-se a dois
aplicativos envolvidos numa comunicação ▪ Cliente é o aplicativo que inicia a comunicação; ▪ Servidor é o aplicativo que espera passivamente o contato. Apesar das camadas subjacentes dos protocolos serem responsáveis por garantir a comunicação em uma inter-rede, é a camada de aplicativo que oferece a funcionalidade mais interessante. A função do software aplicativo é oferecer um formato adequado para os usuários acessarem, modificarem e inserirem informações. Mais importante ainda, os aplicativos definem nomes simbólicos para identificar os recursos físicos e abstratos disponíveis em um inter-rede. Ex: (recursos físicos) nomes de computadores ao invés de IPs; Ex:(recursos abstratos) pastas, arquivos e-mails Fornece uma infraestrutura de comunicação geral, sem especificar ou limitar um determinado serviço. Isto é definido pelo aplicativo e usuários. Embora um sistema de inter-rede forneça um serviço de comunicação básico, o software de protocolo não pode iniciar ou aceitar contato de um computador remoto. Em vez disso, dois programas aplicativos devem participar em qualquer comunicação: Um programa inicia a comunicação e o outro a aceita. O aplicativo informa ao software de protocolo local que é esperado um tipo específico de mensagem, e então o aplicativo espera. Quando chega uma mensagem que corresponde à que o aplicativo especificou, o software de protocolo passa a mensagem para o aplicativo. Características de Clientes
É programa aplicativo arbitrário que se torna um cliente
temporariamente quando for necessário acesso remoto, mas pode executar outros processamentos locais; É diretamente invocado por usuário e executa somente para uma sessão; Executa localmente em um computador pessoal; Inicia ativamente a comunicação com um servidor; Pode acessar múltiplos serviços quando necessário, mas contata ativamente um servidor remoto de cada vez; Não exige hardware especial; O software Servidor:
É um programa privilegiado de propósito especial dedicado a
fornecer um serviço, mas pode tratar de múltiplos clientes remotos ao mesmo tempo; É automaticamente invocado quando um sistema inicializa e continua a executar ao longo de muitas sessões; Roda em um computador compartilhado; Espera passivamente pelo contato de clientes remotos arbitrários; Aceita contato de clientes arbitrários, mas oferece um único serviço; Exige hardware poderoso e um sistema operacional sofisticado. - Refere-se a um programa que espera passivamente por comunicação. - Usamos o termo servidor para nos referirmos ao programa que esta rodando e não ao computador. - O termo computador da classe servidor se refere a um computador poderoso usado para executar software de servidor. - As informações podem passar em uma ou ambas as direções entre um cliente e um servidor. Tipicamente, um cliente envia um requisição para um servidor, e o servidor devolve uma resposta para o cliente. - Existem casos onde o cliente envia requisições e o servidor emite as respostas e casos onde o servidor fornece uma saída sem qualquer requisição (relatório de temperatura e etc.). Protocolo de Transporte
Como a maioria dos programas aplicativos, um cliente-
servidor usa um protocolo de transporte para se comunicar
Na comunicação entre um cliente e um servidor usando
protocolos TCP/IP através de uma inter-rede, o cliente e o servidor interagem com um protocolo na camada de transporte. Exemplo: Cliente e servidor usando a pilha do TCP/IP O aplicativo interage diretamente com um protocolo da camada de transporte para estabelecer uma comunicação e para enviar ou receber informações.
O protocolo de transporte utiliza protocolos das
camadas mais baixas para enviar e receber mensagens individuais. Deste modo, um computador necessita de uma pilha completa de protocolos para rodar um cliente ou um servidor. O computador deve ter recursos de hardware suficientes O computador deve ter um sistema operacional que permita que múltiplos programas aplicativos rodem concorrentemente o hardware pode ser compartilhado por múltiplos serviços ajuda a reduzir a sobrecarga de administração do sistema Um servidor ocioso não usa a CPU enquanto espera pela chegada de uma requisição. reduz o custo sem reduzir o desempenho Quando um servidor inicia a execução, ele se registra com o software de protocolo local especificando o identificador para o serviço que ele oferece. Quando um cliente contrata um servidor remoto, o cliente especifica o identificador para o serviço desejado. Como exemplo de identificação de serviço, considere o Transmission Control Protocol (TCP), o software de TCP no servidor usa o número de porta de protocolo em uma mensagem que chega para determinar qual serviço deve receber a requisição. O TCP usa valores inteiros de 16 bits conhecidos como números de porta de protocolo para identificar serviços e atribui um número de porta de protocolo único a cada serviço. Os protocolos de transporte atribuem a cada serviço um identificador único. Clientes e servidores especificam o identificador de serviço; o software de protocolo usa o identificador para identificar cada requisição que chega ao servidor correto. -A concorrência é fundamental para o modelo cliente-servidor de interação, pois um serviço concorrente oferece serviço para múltiplas clientes ao mesmo tempo sem exigir que cada cliente espere que os clientes anteriores terminem. -Várias estações fazendo download;
-Requisições pequenas podem ser satisfeitas
rapidamente; -A maioria dos servidores concorrentes opera dinamicamente;
-O servidor cria uma nova linha de execução
para cada requisição que chega; -A linha de execução principal do servidor espera pela chegada de uma requisição;
-Quando chega, a principal cria uma outra linha de
execução de serviço para tratar da requisição;
-A linha de execução de serviço trata de uma requisição
e então termina o processo;
-A linha de execução principal mantem o servidor vivo;
-Depois de criar uma linha de execução para tratar uma
requisição a execução principal espera por outra. Se N clientes estão usando um determinado serviço em um único computador, existem N + 1 linhas de execução fornecendo o serviço: a linha de execução principal está esperando requisições adicionais, e N execuções de serviço estão cada uma interagindo com um único cliente. Cuidado no planejamento de servidores. Um servidor pode ser cliente de outro. Pode ser difícil identificar e corrigir. Comparado com um loop infinito. Se um servidor de arquivos precisa de um servidor de tempo para que forneça a hora exata em que um arquivo foi requisitado, ou entregue, isso pode acarretar em uma dependência circular se o servidor de tempo precisar também do servidor de arquivos.