Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
2006-07 (vb) ARC 4.1
4 – Serviços de Aplicação
• A existência de um suporte de comunicação permite a interligaçãode diversos dispositivos e também a disponibilização de diversasaplicaçõ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 clientesque 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.2
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.3
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.4
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.5
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.6
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.7
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.8
4.2 – Serviços de Aplicação – DNS
Estrutura do serviço DNS
2006-07 (vb) ARC 4.9
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.10
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.11
4.2 – Serviços de Aplicação – DNS
• Resolução:1. Consulta da cache;2. Se 1 falha, consulta do servidor
DNS configurado no dispositivo;3. Servidor verifica o elemento da
query faz parte das zonas que serve;
4. Se 3 falha, o servidor consulta a sua cache;
5. Se 4 falha, o servidor comporta-se como um cliente DNS fazendo consultas recursivas a uma lista de servidores pré-definidos (Root hints).
2006-07 (vb) ARC 4.12
4.2 – Serviços de Aplicação – DNS
• Consulta recursiva:1. Consulta ao NS por teste.nome.com;2. Caso não saiba responder, o NS consulta
um root server;3. O root server responde com a referência ao
um NS com autoridade no domínio .com;4. Consulta ao NS de 3 por .com;5. Que responde com a referência ao NS com
autoridade no domínio nome.com;6. Consulta ao NS de 5 por nome.com;7. Que responde com a informação;8. Que é passada ao cliente.
2006-07 (vb) ARC 4.13
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.14
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.15
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.16
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.17
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.18
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.19
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.20
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.21
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.22
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.23
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.24
4.6 – Serviços de Aplicação – FTP
• FTP (File Transfer Protocol):
Modo activo Modo passivo
2006-07 (vb) ARC 4.25
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.