4 – Serviços de Aplicação
•
A existência de um suporte de comunicação permite a interligação
de diversos dispositivos e também a disponibilização de diversas
aplicações que adicionam funcionalidades ao sistema.
•
Embora alguns desses serviços sejam instalados em todas os
dispositivos, na maioria dos casos os serviços são disponibilizados
por servidores específicos para esse efeito.
•
Alguns dos servidores implicam configuração do lado dos clientes
que utilizam o serviço, o que implica novas tarefas e problemas a
nível de administração. Idealmente essa configuração não será
necessária, sendo o sistema capaz de identificar e lidar com o
tráfego pretendido.
2006-07
(vb) ARC
4.1
4.1 – Serviços de Aplicação – Proxy
• Um servidor proxy funciona como intermediário entre os
clientes de um serviço e o(s) servidor(es) que o prestam.
Os pedidos efectuados pelos clientes (transferência de
ficheiro, acesso a páginas http, etc) são efectuados ao
proxy que os envia para o servidor destino, recebe a
resposta e fá-la chegar ao cliente.
• Como vantagens da utilização de proxies temos:
– Caching de dados, optimizando a utilização da rede;
– Ponto único de configuração de serviços (autenticação, etc);
– Possibilidade de balanceamento de carga entre dispositivos que
prestam o mesmo serviço;
– Ponto único de monitorização e filtragem de tráfego;
– Partilha de recurso.
2006-07
(vb) ARC
4.2
4.1 – Serviços de Aplicação – Proxy
• Classificação de proxies quanto ao modo de operação:
– Intercepting: o cliente não necessita de qualquer configuração (e
pode não saber sequer da existência do proxy). Os pedidos por
este enviados são capturados pelo proxy que os envia, recebe a
resposta e injecta a resposta na rede. Utilizado quer para
simplificar a gestão dos clientes quer para implementar
mecanismos de filtragem/censura de recursos ou destinos;
– Transparente: proxy que não altera o pedido efectuado pelo
cliente. Um proxy não-transparente altera parte do pedido
(mudança de protocolo, etc);
2006-07
(vb) ARC
4.3
4.1 – Serviços de Aplicação – Proxy
• Classificação de proxies quanto ao modo de operação:
– Split Proxy: par de aplicações a correr em dispositivos distintos
e que implementam entre si um mecanismo de optimização de
algum aspecto da transmissão (codificação de conteúdos,
encriptação, etc.);
– Reverse Proxy: proxy ao qual um ou mais servidores estão
ligados. Desta forma é possível efectuar várias tarefas
(balanceamento de tráfego, segurança, ponto único de
monitorização, caching, optimização da gestão de pedidos, etc.);
– Circumventer: mecanismo de fuga a políticas da rede,
habitualmente implementando split proxying entre um servidor
interno e um externo à estrutura. Entre eles é escondida de
alguma forma a natureza do tráfego, que contorna assim as
políticas do sistema.
2006-07
(vb) ARC
4.4
4.1 – Serviços de Aplicação – Proxy
• Classificação de proxies quanto à finalidade:
– Partilha de ligação ao exterior da rede;
– Caching: usado em sistemas onde vários dispositivos acedam a
com frequência aos mesmos dados (normalmente estáticos). Os
pedidos e respostas são armazenados durante algum tempo e,
quando surgem pedidos iguais de outros clientes, os dados são
entregues mais rapidamente;
– Web: embora efectuem também caching de dados, são usados
para analisar e filtrar conteúdos ou destinos de tráfego;
– Anonimizer: proxy não-transparente que mascara a identidade
do cliente;
2006-07
(vb) ARC
4.5
4.1 – Serviços de Aplicação – Proxy
• Problemas associados à utilização de proxies:
–
–
–
–
–
Ponto único de falha de um serviço;
Desempenho do proxy afecta o desempenho do serviço;
Tempo de vida dos dados em proxies de caching;
Possibilidade de mascarar tráfego com fins pouco correctos;
Em proxies de anonimato, o proxy fica associado ao
comportamento dos dispositivos que o usam, podem ser
banidos de determinados destinos e/ou serviços (e com eles
todos dos dispositivos que os usam).
2006-07
(vb) ARC
4.6
4.2 – Serviços de Aplicação – DNS
• DNS (Domain Name Server):
– Serviço que permite interligar o endereço IP de um dispositivo
público numa rede (ou na Internet) com um nome mais fácil de
memorizar pelos utilizadores, gerido pelo ICANN (Internet
Corporation for Assigned Names and Numbers);
– Dado o volume de informação e milhões de consultas diárias, o
serviço é distribuído por inúmeros servidores, organizados numa
estrutura hierárquica. Quanto mais alto o nível do servidor, maior
o volume de informação lá armazenado. A maioria dos
servidores (normalmente localizados em ISPs) apenas mantêm
tabelas reduzidas, recorrendo a servidores acima na hierarquia
quando lhe é solicitada informação de que não dispõem. No
topo da hierarquia existem os chamados servidores raíz, 13 no
total e identificados de A a M (na realidade cada servidor é um
agregado de servidores).
2006-07
(vb) ARC
4.7
4.2 – Serviços de Aplicação – DNS
Estrutura
do
serviço DNS
2006-07
(vb) ARC
4.8
4.2 – Serviços de Aplicação – DNS
• DNS (Domain Name Server):
– Os nomes DNS estão normalmente organizados de forma
hierárquica, estando os elementos de topo da hierarquia mais à
direita no nome.
– O elemento mais à direita é designado zona raíz ou domínio de
topo, podendo identificar um país (pt, uk, br, etc), zona
geográfica (eu, asia, etc) ou natureza de entidade (org, edu, net,
etc).
– Os prefixos adicionados permitem pormenorizar o elemento na
estrutura (por exemplo esta.ipt.pt e estt.ipt.pt fazem parte do
mesmo domínio ipt.pt).
2006-07
(vb) ARC
4.9
4.2 – Serviços de Aplicação – DNS
• Conceitos associados:
– Zona DNS: zona contígua de um namespace (dtic.esta.ipt.pt,
aalcatel.esta.ipt.pt e esta.ipt.pt, por exemplo), gerida por um
servidor DNS;
– Resolver: cliente que efectua pedidos (queries) a um servidor
DNS;
– Resource Records: entradas de uma base de dados onde são
efectuadas associações nome – endereço IP.
2006-07
(vb) ARC
4.10
4.2 – Serviços de Aplicação – DNS
•
Resolução:
1.
2.
Consulta da cache;
Se 1 falha, consulta do servidor
DNS configurado no dispositivo;
Servidor verifica o elemento da
query faz parte das zonas que
serve;
Se 3 falha, o servidor consulta a
sua cache;
Se 4 falha, o servidor comportase como um cliente DNS
fazendo consultas recursivas a
uma lista de servidores prédefinidos (Root hints).
3.
4.
5.
2006-07
(vb) ARC
4.11
4.2 – Serviços de Aplicação – DNS
•
Consulta recursiva:
1.
2.
Consulta ao NS por teste.nome.com;
Caso não saiba responder, o NS consulta
um root server;
O root server responde com a referência ao
um NS com autoridade no domínio .com;
Consulta ao NS de 3 por .com;
Que responde com a referência ao NS com
autoridade no domínio nome.com;
Consulta ao NS de 5 por nome.com;
Que responde com a informação;
Que é passada ao cliente.
3.
4.
5.
6.
7.
8.
2006-07
(vb) ARC
4.12
4.2 – Serviços de Aplicação – DNS
•
Problemas associados à utilização de DNS:
–
–
–
–
–
Serviço crítico para os utilizadores;
Tempo de vida da cache DNS;
Utilização de servidor próprio ou recurso a servidor exterior;
Propagação de novos dados na estrutura DNS;
Necessidade de associar endereços IP estáticos aos nomes:
•
•
Contornável numa rede interna pela interligação do servidor DNS
com um servidor de atribuição dinâmica de endereços IP (4.3);
Contornável na Internet pela utilização de serviços DDNS (DNS
dinâmico).
2006-07
(vb) ARC
4.13
4.3 – Serviços de Aplicação – DHCP
• DHCP (Dynamic Host Configuration Protocol):
– Permite a um dispositivo a configuração automática de diversos
parâmetros (endereço IP, gateway, etc) recorrendo a um
servidor para este fim;
– Permite melhor aproveitamento de uma gama de endereços IP;
– Automatiza o processo de configuração dos dispositivos:
• Fugindo a problemas da configuração manual;
• Permitindo uma rápida alteração de configuração no sistema;
– O endereço é atribuído durante um intervalo de tempo
configurável (lease time).
2006-07
(vb) ARC
4.14
4.3 – Serviços de Aplicação – DHCP
•
Procedimento:
1. O cliente envia um pedido para a rede a solicitar
a configuração, mesmo sem ter informação sobre
o servidor (eventualmente sugerindo valores);
2. O servidor recebe o pedido e responde enviando
o endereço IP (de acordo com a sua política e
historial do dispositivo);
3. O cliente indica a aceitação do valor, enviando
para toda a rede o valor (para que, caso existam
vários servidores, os outros percebem com a
oferta aceite);
4. O servidor envia o resto da configuração do
dispositivo;
2006-07
(vb) ARC
4.15
4.3 – Serviços de Aplicação – DHCP
• Problemas associados à utilização do DHCP:
–
–
–
–
–
Ponto de falha único;
Serviço crítico para os utilizadores;
Servidores não autorizados;
Clientes não autorizados;
Conflito de endereços caso a gama de endereços a ser gerida
esteja mal definida;
– Conflito de endereços quando dispositivos são configurados
manualmente com endereços da gama dinâmica;
– Interligação com o acesso aos dispositivos por nome (DNS).
2006-07
(vb) ARC
4.16
4.4 – Serviços de Aplicação – HTTP
• Servidor HTTP:
– Servidor capaz de processar pedidos HTTP (HyperText Transfer
Protocol);
– Serviços básicos:
• HTTP;
• Logging;
• Outros serviços:
– Autenticação;
– Conteúdos dinâmicos: usando interfaces como o CGI, ASP, PHP, .Net;
– HTTPS (Secure HTTP): serviços de transferência segura, baseados
nos protocolos SSL ou TLS;
– Gestão de largura de banda (Bandwidth throttling);
– Hosts virtuais: vários servidores virtuais no mesmo dispositivo.
2006-07
(vb) ARC
4.17
4.4 – Serviços de Aplicação – HTTP
• Implementação:
– Linux: Apache;
– Windows: IIS;
• Parâmetros de Desempenho:
–
–
–
–
Número de pedidos;
Latência de processamento dos pedidos;
Throughput;
Comportamento do sistema depende do efeito conjunto destes
parâmetros.
2006-07
(vb) ARC
4.18
4.4 – Serviços de Aplicação – HTTP
•
Factores de dimensionamento:
– Número de pedidos;
– Natureza dos conteúdos (estáticos ou dinâmicos).
•
Sobrecarga:
–
–
–
–
•
Sobreutilização;
Código ou comportamento malicioso;
Comportamento do rede;
Outros serviços em execução no servidor.
Possíveis melhorias:
–
–
–
–
Caching de conteúdos dinâmicos;
Replicação de servidores;
Firewalls e sistemas de detecção de intrusão;
Bandwidth Throttling e traffic shaping.
2006-07
(vb) ARC
4.19
4.4 – Serviços de Aplicação – HTTP
• Configuração:
– Habitualmente o serviço funciona no porto 80 (8080 para
HTTPS), que deve estar acessível para tráfego TCP e UDP;
– Nalguns casos será aconselhável alterar o porto;
– A transferência de conteúdos multimédia é implementada pelo
protocolo MIME.
2006-07
(vb) ARC
4.20
4.5 – Serviços de Aplicação – Mail
• Serviço extremamente complexo:
– Embora o serviço não seja em tempo real, o volume de dados é
muito elevado:
• Spam, vírus, chain letters, ficheiros de dimensão muito elevada,
etc.
– Implementação:
• Linux: Free-BSD ou Sendmail;
• Windows: nativo nos servidores.
– Acesso do utilizador:
•
•
•
•
•
Local;
Webmail;
SMTP;
POP;
IMAP.
2006-07
(vb) ARC
4.21
4.5 – Serviços de Aplicação – Mail
• Protocolos de acesso:
– SMTP (Simple Mail Transfer Protocol): protocolo simples,
usualmente a correr no porto 25. Várias limitações como a
necessidade de percorrer sequencialmente as mensagens e a
inexistência de autenticação no envio de correio electrónico.
– POP (Post Office Protocol): actualmente na versão 3. Opera
sobre o porto 110. O protocolo mais implantado, tem algumas
limitações pois é pensado como um mecanismo de entrega em
que a mensagem deixa de existir no servidor após a entrega
(contornável).
– IMAP (Internet Message Access Protocol): actualmente na
versão 4. Apresenta algumas mensagens face ao POP (cópias
de mensagem no servidor, download on demand das
mensagens), mas é menos utilizado. Opera sobre o porto 143.
2006-07
(vb) ARC
4.22
4.6 – Serviços de Aplicação – FTP
• FTP (File Transfer Protocol):
– Permite a transferência de ficheiros entre dispositivos;
– Implementações:
• Linux: várias, WU-FTP, etc.
• Windows: IIS.
– Funciona em dois portos, um para comandos (21) e outro para
os dados (pode ser o porto 20 ou um porto acima de 1023).
– Modos de operação: o estabelecimento da ligação passa por
dois requests, o primeiro iniciado pelo cliente.
• Activo: o segundo request é iniciado pelo servidor;
• Passivo: o segundo request também é iniciado pelo cliente.
2006-07
(vb) ARC
4.23
4.6 – Serviços de Aplicação – FTP
• FTP (File Transfer Protocol):
Modo activo
Modo passivo
2006-07
(vb) ARC
4.24
4.6 – Serviços de Aplicação – FTP
• Modo activo vs modo passivo:
– Modo activo é mais vantajoso para o servidor, mas o pedido por
este iniciado pode ser filtrado pela firewall do cliente, o que
levanta muitos problemas de conectividade;
– Modo passivo é mais vantajoso para o cliente, mas implica que
o servidor tem de estar mais exposto (portos na gama 1024+
têm de estar abertos aos clientes).
• Modo de transferência:
– ASCII: informação é enviada pelo seu código ASCII;
– Binário: informação é enviada como um stream de bits.
2006-07
(vb) ARC
4.25
Download

Sistemas Operativos I