segunda-feira, 28 de janeiro de 2008

Redes de acesso - II

Antes de chegarmos aos detalhes sobre como implementar uma gateway inteligente com suporte para múltiplos circuitos de acesso à Internet, interessa ver quais os pré-requisitos para implementar um acesso de qualidade.

As nossas sugestões para acessos ADSL são as seguintes:
  • hardware certificado
  • bridged mode
  • QoS
Começando pelo hardware: desde que este tipo de equipamento se tornou uma commodity nasceram como cogumelos diferente marcas e modelos dos mais diversos fabricantes, com o respectivo decréscimo de preço e o lamentável descréscimo de fiabilidade.

Por esta razão, a atitude amadora habitual de "vou comprar ali um modem à FNAC" deverá ser a primeira a morrer se o objectivo é prestar um serviço fiável. A nova atitude deverá ser "vou comprar ali um modem à FNAC, optando preferencialmente por um modelo dos oferecidos por um operador e fazer testes de certificação, findos os quais comprarei uma pilha de modems exactamente iguais para garantir a repetibilidade do processo".

(uma desilução para os que pensaram que iríamos criticar a FNAC)

Os modelos fornecidos pelos operadores de telecomunicações têm habitualmente boa qualidade, pois o próprio operador já efectou testes e ao contrário do que se pensa funcionam independentemente da rede do operador desde que em bridged mode.

A importância do bridged mode resume-se a três factos:
  • o modem passa a executar uma tarefa simples (bridging) deixando a parte complexa para o kernel Linux, o qual funciona sem problemas de estabilidade
  • o IP público fica directamente acessível à gateway Linux com toda a flexibilidade que isso acarreta
  • a configuração torna-se independente do equipamento uma vez que todos os modems em bridging se comportam da mesma maneira (isto permite fazer subsituições de equipamento sem nenhuma alteração na gateway o que minimiza a demora e os riscos da substituição)
Finalmente, falemos um pouco do QoS (Quality of Service), expressão aproximadamente equivalente a Traffic Shapping, Diffserv ou como melhor se diria em portugês: tráfego diferenciado.

Quando se partilha um acesso à Internet é habitual haver falta de largura de banda, períodos de consumo em burst e tráfego heterogéneo. Sem uma configuração com trágego diferenciado na gateway os utilizadores que façam downloads ou uploads em volume irão facilmente inviabilizar o trabalho dos que necessitam de fazer navegação web ou usar sessões interactivas de shell. Isto acontece porque quando a linha fica saturada (no sentido up, down ou ambos) formam-se filas de espera de pacotes no equipamento as quais podem demorar vários segundos a ser processadas, deixando que efectivamente o tráfego não urgente (downloads/uploads) degrade a performance do tráfego urgente (entenda-se tráfego urgente aquele face ao qual o utilizador espera uma resposta imediata para prosseguir, tal como navegação web ou utilização de sessões ssh).

A atitude amadora de "resolução" é-nos certamente familiar ("parem lá com os downloads que não se consegue trabalhar" / "ninguém aqui está a fazer downloads, se não queres trabalhar não inventes"). A forma eficaz de resolver o problema é a configuração correcta na gateway.

Felizmente o kernel de Linux permite-nos fazer configurações muitíssimo sofisticadas e este nível, com um gigantesco impacto na usabilidade do acesso.

Ficam aqui algumas referências interessantes sobre este tema:

ADSL Optimizer
ADSL Bandwidth-Management HOWTO

e um script que permite resolver o problema em casos simples:

HTB_shaper_basic.sh

Nota:

Este assunto já tinha sido abordado nesta apresentação, onde foram referidos alguns exemplos de equipamento certificado.

Sem comentários: