Redes de Computadores Serviços Ely Edison Matos [email protected] ago2003 Sistema Operacional Os serviços em uma rede são agregados em um Sistema Operacional de Rede (SOR) O Sistema Operacional (SO) é um software composto de um conjunto de rotinas que fornecem serviços básicos de uso geral que simplificam a utilização dos recursos de hardware As rotinas do SO fornecem serviços como gerenciamento do uso do processador alocação dos processos (programas em execução) na memória principal controle do acesso a dispositivos de entrada/saída alocação de informações nos meios de armazenamento gerenciamento do sistema de arquivos ,etc. Evolução do SO Aplicação Interação direta entre o aplicativo e o hardware - linguagem de máquina, assembler Evolução do SO Aplicação Sistema Operacional Interação indireta entre o aplicativo e o hardware (linguagens baseadas em compiladores - Pascal, Clipper, Fortran, Cobol) Evolução para SOR Do ponto de vista de hardware, a modificação necessária para viabilizar a ligação do computador à rede local foi a introdução de um dispositivo de E/S adicional responsável pela interface entre a cpu e o meio de comunicação A esta modificação de hardware devemos ter a contrapartida do software Novos recursos devem ser adicionados para que as funções da rede estejam disponíveis para as aplicações Como o Sistema Operacional Local (SOL) já estava em funcionamento, as novas modificações vieram apenas acrescentar recursos sem alterar em nada o que já existia Evolução para SOR Aplicação SOL SOR Adição das funções do Sistema Operacional de Rede às funções do SO Local SOR - Redirecionador Os Sistemas Operacionais de Rede (SOR) aparecem como uma extensão do SO Local A transparência do funcionamento do SOR é imprescindível O usuário deve poder usar os recursos de outras estações da rede como se estivesse operando localmente A solução encontrada foi a introdução de um módulo Redirecionador Intercepta as chamadas feitas pelas aplicações ao sistema operacional local, desviando aquelas que dizem respeito a recursos remotos para o módulo do sistema operacional de rede, responsável pelos serviços de comunicação, que providencia o acesso ao dispositivo remoto SOR - Redirecionador Para as aplicações do usuário, a instalação do sistema operacional de rede só é percebida apenas pela adição de novos recursos (recursos virtuais) aos que elas já possuíam anteriormente A interface utilizada pelas aplicações para ter acesso aos recursos tanto locais quando remotos permanece inalterada SOR - Redirecionador Cliente SERVIDOR Aplicativos Aplicativos Redirecionador BIOS Discos Porta paralela Placa de Video Placa de Som Programa de Rede Driver de Rede Discos Sistema Operacional Porta paralela Software Servidor Programa de Rede Driver de Rede SOR - Redirecionador O Redirecionador intercepta chamadas do aplicativo DOS e envia somente as chamadas de rede para o programa de comunicação de rede (NETBIOS, IPX, NETBEUI, IP) O programa de rede empacota a solicitação e envia ao driver de rede A placa de rede NIC-Cliente envia o pacote para o barramento para que o NIC-Servidor o receba O NIC-Servidor desempacota os dados e envia ao driver que o envia ao programa de rede que tomará a decisão de acesso aos recursos da maquinaservidor O resultado devidamente checado é devolvido pelas mesmas vias Arquitetura Cliente/Servidor A interface entre as aplicações e o sistema operacional baseia-se em interações solicitação/resposta A aplicação solicita um serviço (abertura de um arquivo, impressão de um bloco de dados, alocação de uma área de memória, etc.) através de uma chamada ao sistema operacional O sistema operacional em resposta à chamada, executa o serviço solicitado e responde informando o status da operação (se foi executada com sucesso ou não) e transferindo os dados resultantes da execução para a aplicação quando for o caso Arquitetura Cliente/Servidor No modo de interação Cliente-Servidor, a entidade que solicita um serviço é chamada cliente e a que presta o serviço é chamada servidor As estações que disponibilizam seus recursos a outras estações devem possuir a entidade (ou módulo) servidor As estações que fazem solicitações de serviços ao servidor devem possuir a entidade (ou módulo) cliente Arquitetura Cliente/Servidor SOL SORS SORC Hardware Arquitetura Cliente/Servidor Na estação que tenha o módulo cliente, o SOR, ao receber um pedido de acesso a um recurso localizado em outra estação da rede monta uma mensagem contendo o pedido e a envia ao módulo servidor da estação onde será executado o serviço Na estação remota o SOR recebe a mensagem, providencia a execução do serviço solicitado, monta uma mensagem com o resultado da execução (nos casos onde pedido envolve a devolução de dados podem ser necessárias mais de uma mensagem), e a envia de volta para o SOR na estação requerente Quando o SOR na estação que requisitou o serviço recebe a mensagem transportando a resposta, ele faz sua entrega à aplicação local Arquitetura Cliente/Servidor Notamos que as funções necessárias ao SOR no módulo cliente são diferentes das funções no módulo Servidor No primeiro (SOR Cliente) elas estão restritas a fornecer serviços de comunicações de pedidos ao servidor No módulo servidor alem das funções de comunicação, vários outros serviços são realizados (como compartilhamento de acesso, restrição de acesso, etc.). Assim podemos classificar os módulos de um SOR em 2 tipos SORC: módulo cliente do sistema operacional de rede SORS: módulo servidor do sistema operacional de rede Arquitetura Cliente/Servidor As estações dividem-se em estações-cliente e estações-servidoras As estações servidoras possuem necessariamente as funções do módulo servidor e podem, opcionalmente possuir as funções do módulo cliente Isto possibilita que um servidor seja cliente de outro servidor (caso típico da relação entre servidores de impressão e servidores de arquivo) Arquitetura Peer-to-Peer Nesta arquitetura, todas as estações contem os 2 módulos interagindo entre si e entre os módulos das outras estações Aplicação SOL Aplicação SOL SORS SORC Hardware SORS SORC Hardware Servidor Dedicado Na arquitetura Cliente-Servidor temos duas variações definidas pela forma como são usados os servidores Servidor dedicado ou não-dedicado Servidor Dedicado As estações servidoras incluem o módulo SORS e opcionalmente o módulo SORC que somente poderá ser usado pelo SORS local (por exemplo se ele for cliente de outro servidor) Normalmente não são permitidos usuários locais sendo integralmente dedicadas ao atendimento de pedidos enviados pelas estações clientes através da rede Servidor Dedicado Aplicação SOL SOL SORS SORC Hardware Hardware SORC Aplicação SOL Hardware SORC Servidor não-dedicado Servidor não-dedicado As estações servidoras possuem um sistema operacional local que é estendido por um módulo SORS e um módulo SORC O módulo SORC pode ser usado tanto pelo SORS quanto pelas aplicações dos usuários locais da estação servidora Assim os recursos locais das estações servidoras são compartilhados tanto pelos usuários atendidos pelo sistema operacional local quanto pelos usuários remotos que fazem seus pedidos através do SOR pela rede local Servidor não-dedicado Aplicação SOL Aplicação SOL SORS SORC Hardware Hardware SORC Aplicação SOL Hardware SORC Principais serviços Arquivo Impressão Mensagem Aplicação Servidor de Arquivos Oferece aos clientes os serviços de armazenamento, acesso e compartilhamento de arquivos e discos (mídia de gravação magnética ou ótica) Possui uma estrutura hierárquica de diretórios, proteção de arquivos individuais ou de diretórios, chaves para atualização simultânea e segura de arquivos, etc. Um Servidor de Arquivos é capaz de aceitar transações independente do sistema operacional do cliente, ou seja, independente da estrutura de arquivos do cliente Nesse caso existe uma estrutura de rede padrão usado no servidor de arquivos nos quais os vários arquivos dos clientes devem ser convertidos Servidor de Arquivos Um Servidor de Arquivos trabalha com 3 subsistemas funcionais Subsistema Gerenciador de Arquivos controla o acesso físico aos meios de armazenamento Subsistema de Cache de disco aumenta a eficiência do servidor permitindo que a leitura do disco seja sempre feita em blocos maiores, mantendo-os na RAM Subsistema de Acesso Compartilhado e Segurança controla o acesso simultâneo aos arquivos permitindo o seu compartilhamento 2 modelos básicos de acesso Share level User lever Servidor de Banco de Dados As aplicações baseadas no acesso a banco de dados compartilhado podem usar um servidor de arquivos para armazenar os arquivos dos banco de dados, enquanto a aplicação no cliente executa as operações sobre a base Esta solução além de tornar muito difícil a manutenção da integridade da base de dados (o travamento de registros será feito no cliente e repassado ao servidor e este tempo de repasse pode ser muito longo) degrada a performance de toda a rede pelo aumento do tráfego Um Servidor de Banco de Dados executa a parte das tarefas de acesso assume além das funções de armazenamento, algumas funções de processamento de consultas Um aspecto importante da utilização destes servidores é o aumento do desempenho das aplicações e da rede BD com Servidor de Arquivo Base de dados Aplicação resposta pedido BD Acesso Físico Servidor de Arquivos Servidor de Arq Pedido de Arquivos Resposta BD com SGBD - SQL Base de dados Aplicação pedido resposta Cliente SGBD Acesso Físico Servidor SGBD Consulta SQL Resposta SQL Servidor de Base de Dados Servidor de Impressão O cliente envia um pedido ao servidor especificando qual impressora será usada e os dados a serem impressos Se ela estiver disponível será alocada ao cliente até que este a libere (ou até que se esgote o tempo máximo e utilização, conforme negociação na alocação) Caso a impressora não esteja disponível o cliente é avisado Uma outra forma de implementação é o spolling O cliente, ao invés de pedir a alocação, envia diretamente ao servidor o documento a ser impresso O documento é colocado em uma fila de impressão (um arquivo que poderá estar no servidor de arquivos ou, se existir, no disco do próprio servidor de impressão) Servidor de Impressão Vantagens do uso de impressoras em rede Redução do número de impressoras necessárias às atividades da empresa Possibilidade de escolha de um local mais conveniente para as impressoras Uso de spoolers de impressão, reduzindo o tempo gasto pelo computador com serviço de impressão Possibilidade de uso simultâneo dos recursos de impressão/fax, através do uso de filas Uso de impressoras para tarefas/formulários específicos Servidor de Mensagens Os serviços de mensagem incluem o armazenamento, acesso e envio de dados, sejam arquivos de texto, binários, gráficos, de vídeo ou de áudio Correio Eletrônico (e-mail) Transferência eletrônica de dados entre dois ou mais computadores/usuários em rede Originalmente apenas mensagens em texto eram transferidas Atualmente as mensagens incluem uma grande quantidade de formatos, tais como gráficos, vídeo e áudio Muitos softwares permitem a criação de quadros de avisos eletrônicos (Noticeboards) Uso de fórums e listas de discussão Servidor de Aplicação Os servidores de aplicação executam softwares que podem ser acessados pelos clientes da rede Permitem o compartilhamento não só de dados, mas também de processamento Podem compartilhar componentes de software Exemplos Servidores gráficos Servidores Internet ORBs (Object Request Broker)