4 – Serviços de Aplicação - 4 - Aplicacao.pdf · – Permite a transferência de ficheiros...

Preview:

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.

Recommended