quarta-feira, 3 de junho de 2009

Redes de Computadores

Quando dois ou mais computadores trocam serviços, se tem uma rede de computadores. Pode ser impressoras, dados, mensagens (de texto instantâneas ou emails), etc. A internet já é uma rede com muitos serviços disponíveis e por isso, é tão útil nos dias de hoje. A idéia deste post é comentar algumas destas teorias de redes.

Topologias
A topologia da rede define por onde esta troca de informações acontece e por isso, vou descrever um pouco destas topologias para podermos compreender melhor como estas redes funcionam.

Uma topologia em barramento é quando todos os computadores estão ligados ao mesmo barramento, que já não é muito utilizada nos dias de hoje, já que era feita com cabos coaxiais, ligando um computador ao outro com um único cabo e utilizando o "T" para fazer a extensão para o próximo computador. E as redes em árvore são essencialmente uma série de redes de barramento, fazendo uma máquina conversar com outras duas.

Quando os computadores estão ligados em anel, um computador só conversa com o seu vizinho diretamente. Então quando ele quer falar com outra máquina ele envia a mensagem e o vizinho passa para o próximo até que ou a mensagem chegue ao seu destino ou retorne ao computador que a enviou (que então tira a mensagem do círculo).

As topologias em estrela, hoje em dia, são as mais comuns. Tem um centralizador da rede (hub, switch) e todos os computadores da rede ligados a ele, funcionando para pequenas redes, já que estes centralizadores raramente possuem muitas portas. Mesmo assim, é um dos tipos mais comuns de redes atualmente.

Por fim, a topologia híbrida que é também muito utilizada hoje em dia. Cada ambiente seleciona a rede que é mais adequada para ele e conversa com outras redes de topologias diferentes.

Ligação ao Meio
Além das topologias, ainda há mais uma forma de se classificar estas ligações.

Ponto a ponto é uma forma de ligar dois equipamentos. Serve para as topologias de anel (ligando um computador ao outro), estrela (ligando um computador ao centralizador) e é bem mais simples de implementar porque não possui os problemas de múltiplas reflexões nem de transmissões simultâneas.

No caso da ligação multiponto, há algumas precauções que deve-se tomar com reflexões e ter a certeza de qual computador está tentando falar com ele. Pode-se utilizar este tipo de ligação em qualquer uma das topologias.

Meios de Transmissão
Agora vamos falar dos cabos e outros meios onde esta informação pode trafegar. É parte vital da montagem de uma boa rede a definição de qual meio de transmissão será utilizado.

O cabo de par trançado foi criado para se tentar diminuir o ruído e manter as propriedades elétricas do meio. Ele tem esse nome porque é composto por dois pares de cabos de cobre trançados um no outro. Em baixas frequências ele apresenta uma boa resistência a ruídos, porém em altas frequências o cabo coaxial é melhor.

Como acabamos de dizer, o cabo coaxial é mais resistente a ruídos, independentemente do tamanho do cabo, mas é mais caro. Ele é feito com dois condutores, um interno e um externo, separados por um dielétrico e possuindo uma camada isolante circundando o condutor externo.

Já as fibras óticas, ainda mais caras, são imunes a ruídos eletromagnéticos e permitem um isolamento completo entre o transmissor e o receptor. Sua transmissão é realizada por um sinal de luz codificado que trafega dentro do domínio de frequência infravermelho.

Fora isso temos os meios de transmissão wireless. Ou que não precisam de cabos. Ondas de rádio são utilizadas para longo alcance, mas podem ser bloqueadas por obstáculos físicos nestas frequências, ou em frequências mais baixas podem atravessar paredes, mas não ficam com um alcance muito grande. De qualquer forma, para o curto alcance, geralmente se utiliza as ondas milimétricas ou infravermelhas (utilizadas em controles remotos, por exemplo). Neste caso elas não atravessam objetos sólidos, o que é uma vantagem para este tipo de equipamento. E por fim, temos a transmissão por microondas, que foi muito utilizada para transmissões de longo alcance antes da fibra ótica e ainda hoje em tecnologias de celulares, possuem a desvantagem de precisar de muitos repetidores.

Transmissão e Banda Passante
Agora podemos conversar sobre como a transmissão dos dados será realizada. A origem primeiro gera a informação, depois monta uma tabela de símbolos e monta um pacote com os dados que será transmitido. Depois é feita a transmissão deste pacote da origem ao destino seguindo a topologia certa e no destino se faz a decodificação desta informação e se recria a informação. Para determinar a banda passante de uma rede é necessário saber com que frequência o sinal pode ocilar da origem até o destino, pelo ruído que pode ser gerado no canal, pela atenuação e pelos ecos. Em um meio sem ruído, o máximo que pode ser transmitido de dados com uma frequência de "X" Hz é 2 "X", porque você pode mandar um bit na subida e outro na decida da oscilação do sinal. Por isso, duas fórmulas bastante comuns na ausência de ruído:

C = 2 W baunds.

Se não forem apenas dois níveis de tensão (alto e baixo) transmitidos, na verdade a fórmula passa a poder transportar log2(L) bits, onde L é a quantidade de níveis de tensão, transformando a fórmula em:

C = 2 W log2(L) bps (se L = 2, log2(2) = 1 e ficamos exatamente com a fórmula anterior).

Para aqueles que não se lembram, uma regrinha fácil para o cálculo do logarítimo é com 2 elevado a "X" é igual a L. Quanto é "X"? Além disso os sinais vão sofrendo atenuação com a distância da origem (a fibra ótica permite uma atenuação menor que 1dB por km), por isso há um limite de uso diferente para cada tipo de cabeamento/meio de trasmissão e o ruído é geralmente medido em decibéis. Se quisermos levar em consideração o sinal sobre o ruído, podemos dividir a fórmula acima por:

C = ( 2 W log2(L) ) / (1 + S/R) (onde S = Sinal e R = Ruído, ambos em potência ou decibéis)

Assim é possível se determinar com mais precisão a banda passante máxima.

Protocolos de Rede

O modelo ISO/OSI é um bom modelo de arquitetura de redes que deve ser seguido nos projetos de protocolos de redes, com o objetivo de permitir a troca de informações entre computadores de fabricantes distintos. Para reduzir a complexidade, o modelo dividiu a arquitetura em camadas, sendo que há uma hierarquia entre elas. Cada camada fornece serviços para a camada superior e usa serviços da camada inferior. São elas:

- Aplicação -
Aplicação (fornecer aos processos de uma aplicação os meios para utilizar os meios de comunicação disponiveis)
Apresentação (realizar as conversões necessárias para que a comunicação seja realizada)
Sessão (estruturar os circuitos fornecidos pela camada de transporte para fazer o controle do token ou do diálogo - ver que estão se entendendo ou voltar até o último ponto de onde iniciaram)
Transporte (definir um meio confiável fim-a-fim de transmissão, garantir que os pacotes sejam interpretados na ordem correta e que cheguem do outro lado corretamente)
Rede (trata dos problemas de roteamento e chaveamento de pacotes)
Enlace (transforma um meio de comunicação não confiável em confiável, colocando a informação em quadros com redundância para detecção de erros, por exemplo)
Físico (define como representar os bits no meio físico, se a comunicação será half-duplex ou duplex, como a conexão será estabelecida e desfeita)
- meio físico -

Já a arquitetura TCP/IP é muito semelhante a esta, mas possui menos camadas definidas.

- Aplicação -
Aplicação (soma das camadas de sessão, apresentação e aplicação, tem como exemplos: http, dns, ftp, telnet)
Transporte (exemplos: TCP e UDP)
Rede (exemplos: IP)
Intra-Rede (corresponde as camadas físico e enlace, com exemplos: ethernet, slip, PPP)
- meio físico -

Montando a Rede

Agora que temos todo estes conhecimentos sobre redes podemos determinar qual a rede que precisamos para nossa aplicação. Podendo escolher como será feita a ligação dos computadores, quais protocolos utilizar, determinar a banda que será conquistada com a rede. Mais do que isso, talvez se quiser saber o quanto divide a banda ao se utilizar hubs ou switches, mas isto poderá ser matéria de um outro post...

Nenhum comentário: