1) O documento discute os fundamentos de redes de computadores e como construir uma rede do zero usando os materiais de construção disponíveis.
2) É introduzida a ideia de arquitetura de rede e elementos-chave como switches e roteadores que permitem a conectividade indireta entre nós.
3) A multiplexação estatística é descrita como um método eficiente para compartilhar recursos de rede, onde os pacotes são transmitidos conforme a demanda em vez de intervalos fixos de tempo.
1. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
1. Fundamentos
PROBLEMA CRIANDO UMA REDE
Suponha que você queira construir uma rede de computadores, que tem potencial de crescer em
proporções globais e suportar aplicações tão diversas como a teleconferência, video-on-demand, comércio
eletrônico, computação distribuída e as bibliotecas digitais. Que tecnologias disponíveis que servem como
blocos de construção subjacentes, e que tipo de arquitetura de software que você projetar para integrar
esses blocos de construção em um serviço de comunicação eficaz?
Esta é a pergunta que tentamos responder. O objetivo primordial é o de descrever os materiais de
construção disponíveis e, em seguida, para mostrar como eles podem ser usados para construir uma rede
do zero.
O que é uma rede de computadores o que a difere de outras?
Primeiro, ele explora os requisitos que diferentes aplicações e comunidades diferentes de pessoas lugar
(como usuários de rede e operadores de rede) na rede.
Em segundo lugar, introduz a idéia de uma arquitetura de rede, que estabelece as bases para o resto do
livro.
Em terceiro lugar, introduz alguns dos elementos-chave na implementação de redes de computadores. Por
fim, identifica as principais métricas que são utilizados para avaliar o desempenho de redes de
computadores.
1.1 Aplicações
A maioria das pessoas conhece a Internet por meio de suas aplicações: a World Wide Web, e-mail
streaming de áudio e vídeo, salas de chat, compartilhamento e música (arquivo). A Web, por exemplo,
apresenta uma interface intuitiva simples
Outra aplicação generalizada da Internet é a entrega de "streaming" de áudio e vídeo. Enquanto um
arquivo de vídeo inteiro poderia primeiro ser obtido a partir de uma máquina remota e então reproduzida
Ivan Luciano de Sousa Cangela
2. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
na máquina local, semelhante ao processo de, isso implicaria esperar até que o último segundo do arquivo
de vídeo seja entregue antes de começar a assistí-lo. Streaming de vídeo implica que o emissor eo
receptor são, respectivamente, a fonte e o dissipador para o fluxo de vídeo. Isto é, a fonte gera um fluxo de
vídeo (talvez usando uma placa de captura de vídeo), envia através da Internet em
mensagens, e o dissipador exibe o fluxo que chega.
Há uma variedade de diferentes classes de aplicações de vídeo. Uma classe delas é o vídeo-on-demand,
que lê um filme pré-existente a partir do disco e transmite através da rede. Outro tipo de aplicação é de
videoconferência, que é, de alguma maneira o caso mais desafiador(e, para as pessoas em rede,
interessante) porque tem restrições de tempo muito apertadas. Assim como ao usar o telefone, as
interações entre os participantes devem ser pontuais. Quando uma pessoa gesticula, então a ação deve
ser exibida na outra extremidade o mais rápido possível. Demasiado atraso tornao o sistema inútil. Em
contraste, o vídeo-on-demand, que pode levar vários segundos do momento que o usuário inicia o vídeo
até a primeira imagem é exibida, o serviço ainda é considerado satisfatório. Além disso, o vídeo interativo
geralmente implica que o vídeo está fluindo em ambas direções, enquanto uma aplicação de vídeo-on-
demand é mais provável o envio de vídeo em apenas uma direção. Para além destas existem mais
aplicações.
1.2 Requisitos
Primeiro iremos dentificar o conjunto de restrições e requisitos que influenciam projeto de rede. Antes de
começar, no entanto, é importante compreender que as expectativas que você tem sobre uma rede
depende da sua perspectiva:
- Um desenvolvedor de aplicações poderia listar os serviços que a sua aplicação precisa, para por
exemplo, uma garantia de que cada mensagem a aplicação enviada será entregue sem erro dentro de um
intervalo de tempo.
- Um desenhador de rede iria listar as propriedades de um projeto de custo-benefício, por exemplo,
que os recursos de rede são utilizados de forma eficiente e razoavelmente imputados aos usuários.
Ivan Luciano de Sousa Cangela
3. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
- Um provedor de serviços de rede listaria as características de um sistema que é fácil de gerir e
administrar, por exemplo, em que as falhas podem ser facilmente isoladas e onde é fácil para explicar o da
rede uso.
Os requisitos fundamentais para o estabelecimento de uma rede de computadores são:
Conectividade
Partilha Económica de Recursos
Suporte a Serviços Comuns
Desempenho
1.2.1 Conectividade
Começando pelo o óbvio, uma rede deve fornecer conectividade entre um conjunto de computadores. Às
vezes é suficiente para construir uma rede limitada que interliga um grupo restitos de computadores. Na
verdade, por motivos de privacidade e segurança, muitas redes privadas tem o objetivo explícito de limitar
o conjunto de máquinas que estão ligadas entre si. Em contraste, outras redes (da qual a Internet é o
principal exemplo) são projetados para crescer de forma que lhes permite o potencial de interligar todos os
computadores do mundo. Um sistema concebido para suportar o crescimento em tamanho arbitrariamente
grande é dito escalável.
Ligações, nós, e nuvens
A conectividade de rede ocorre em diferentes níveis. No nível mais baixo, uma rede pode consistir em dois
ou mais computadores directamente ligados por algum meio físico, tal como um cabo coaxial ou fibra
óptica. Chamamos tal meio físico de um link, e muitas vezes referem-se aos computadores que ele
interliga como nós.
Ivan Luciano de Sousa Cangela
4. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
Se as redes de computadores fossem limitadas a situações em que todos os nós estão diretamente
ligados uns aos outros através de um meio físico comum, elas seriam muito limitadas no número de
computadores que podiam estar ligados, ou o número de fios saindo de cada nó se tornariam
incontroláveis e muito caras.
conectividade entre dois nós não implica necessariamente uma conexão física direta entre eles. Considere
os seguintes dois exemplos de como uma coleção de computadores podem ser indirectamente ligados.
Nós que estão ligados a pelo menos duas ligações devem executar software que encaminha os dados
recebidos em um link para fora em outro formando uma rede comutada(switched network). Existem vários
tipos de redes comutadas, dos quais os dois mais comuns são de comutação de circuitos e de comutação
de pacotes(circuit-switched and packet-switched). O primeiro é sobretudo utilizado pelo sistema de
telefonia, enquanto o segundo é usado pela maioria das redes de computadores e será o foco de estudo.
Uma importante característica da comutação de pacotes redes é que os nós de uma rede desse tipo
enviam blocos de dados discretos para o outro. A estes blocos de dados chaamos de pacote mensagem.
Comutação de pacotes(packet-switching) uma estratégia chamada store-and-forward na qual cada nó em
recebe um pacote completo através do link, armazena o pacote na memória interna e, em seguida,
encaminha o completo pacote para o nó seguinte. Em contraste, uma rede de comutação de circuitos
primeiro estabelece uma circuito dedicado através de uma seqüência de ligações e permite que o nó fonte
envie um fluxo de bits em todo este circuito para um nó de destino. A principal razão para a utilização da
comutação por pacote em vez de comutação por circuito de numa rede de computadores é a eficiência.
Ivan Luciano de Sousa Cangela
5. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
A seguir mostramos a segunda maneira na qual um conjunto de computadores podem ser indirectamente
ligados.
Nesta situação, um conjunto de redes independentes, clouds, (nuvens) estão interligadas formando uma
rede interna, Nós ligados a duas ou mais redes são chamadas de roteador ou gateway, que desempenha
papel semelhante ao de um interruptor que encaminha mensagens de uma rede para o outro.
Ivan Luciano de Sousa Cangela
6. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
1.2.2 Partilha Económica de Recursos
Se todos os hosts que desejam se comunicar compartilham a rede, como o fazem, ao mesmo tempo?
Como é que vários hosts compartilham o mesmo link quando todos querem usá-lo na mesma hora?
Para entender como hosts compartilham uma rede, é preciso introduzir um elemento fundamental, a
multiplexação, conceito que significa que um recurso do sistema é partilhado por vários usuários.
Na figura em cima três hosts, no lado esquerdo da rede (remetentes S1-S3) enviam dados para
os três hosts da direita (receptores R1-R3) através da rede comutada que apenas tém
uma ligação física. (Para simplificar, suponha que host S1 está enviando dados para host R1, e assim por
diante.) Nesta situação, o switch 1 multiplexa num único link físico três fluxos de dados correspondentes
aos três pares de hosts, em seguida demultiplexado de volta para fluxos separados peloswitch 2.
Existem diferentes métodos de multiplexação de fluxos múltiplos em um único link físico. Um método
comum é a multiplexação por divisão de tempo síncrono (synchronous time-division multiplexing - STDM).
A idéia da STDM é dividir o tempo em partes iguais de quanta, em um round-robin, dar a cada um fluxo
chance de enviar seus dados através do link físico. Por outras palavras, durante o tempo de quantum 1, os
dados de S1 a R1 são transmitidos; durante quantum de tempo 2, os dados de S2 para R2 são
transmitidos; em quantum 3, S3 envia dados para R3. Neste ponto, o primeiro fluxo (S1 a R1) começa a
passar de novo, e os processo repete-se. Outro método é multiplexação por divisão de frequência
(frequency-divisionmultiplexing - FDM). A idéia de FDM é transmitir cada fluxo através do link físico em
uma freqüência diferente, da mesma maneira que os sinais de emissoras de TV diferentes são
transmitidos em uma freqüência diferente em um link físico de TV a cabo.
Ivan Luciano de Sousa Cangela
7. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
Embora simples de entender, tanto a STDM e FDM são limitados de duas maneiras:
Primeiro, se um dos fluxos (pares de acolhimento) não tem dados para enviar, a sua quota de física
ligação, isto é, o seu quantum de tempo ou sua freqüência permanece ocioso, mesmo se um dos
outros fluxos tem dados para transmitir. Por exemplo, S3 teria que aguardar pela vez,
(parágrafo anterior), mesmo S1 e S2 não tendo nada para enviar. Para a comunicação com o computador,
a quantidade de tempo que uma ligação está inactivo pode ser muito grande, por exemplo, considere
a quantidade de tempo que você gasta lendo uma página web (deixando o link inativo) em comparação
com o tempo que você gasta buscando a página. Em segundo lugar, tanto STDM e FDM estão limitados a
situações em que o número máximo de fluxos é fixo e conhecida antes da hora. Não é prático para
redimensionar o quantum ou para adicionar os quanta adicional no caso de STDM ou para adicionar novas
frequências, no caso de FDM. A forma de multiplexação que utilizaremos é a statistical multiplexing. É
como STDM em que a ligação física é partilhada ao longo do tempo - primeiro dados de um fluxo são
transmitidos através da ligação física, depois os dados de outro fluxo são transmitidos, e assim em diante.
Ao contrário STDM, os dados são transmitidos por cada fluxo sobre procura em vez de durante um
predeterminado intervalo de tempo. Assim, se apenas um fluxo tem dados para enviar, ele consegue
transmitir sem esperar pelo seu quantum e, sem esperar o quanta atribuídos aos outros fluxos que não
estão a ser utilizados. É eliminando o tempo ocioso torna a comutação por pacotes eficiente.
Conforme definido até aqui, multiplexação estatística não tem nenhum mecanismo para garantir que todos
os fluxos eventualmente tenham a sua vez de transmitir através do link físico. Isto é, uma vez o fluxo ter
começado a enviar dados, é necessário alguma maneira de limitar a transmissão, de modo que o outro
fluxo possa transmitir. Para resolver este problema, multiplexação estatística define um limite superior
ligado ao tamanho do bloco de dados que cada fluxo é permitido transmitir por tempo dado. Este bloco de
tamanho limitado dos dados é chamdo de pacote(packet), para distingui-lo da mensagem arbitrariamente
grande que um programa pode trasmitir. Como uma rede de comutação de pacotes limita o tamanho
máximo de pacotes, um host não pode enviar uma mensagem completa em um pacote. O emissor precisa
de fragmentar a mensagem em vários pacotes, e cabe ao receptor a montagem dos pacotes de volta,
recuperando a mensagem original. A decisão sobre que pacote enviar em um link compartilhado pode ser
feita de maneiras diferentes. Cada switch em uma rede de comutação por pacotes toma esta decisão de
forma independente, com base em pacote a pacote. Por exemplo, um switch poderia ser projetado para
pacotes de serviços em first-in-first-out (FIFO). Outra abordagem seria transmitir em round-robin pacotes
Ivan Luciano de Sousa Cangela
8. Universidade São Tomás de Moçmbique
Tecnologias de Redes de Computadores
de cada um dos fluxos que no moment estão a enviar dados para o switch. Uma rede suporta à qualidade
de serviço (QoS) quando tenta alocar largura de banda para fluxos específicos.
Na figura em baixo, o switch tem três fluxos de pacotes de entrada para uma ligação de saída, é possível
que o mesmo receba pacotes mais rápido do que a ligação partilhada pode acomodar. Neste caso, o
switch é forçado a armazenar estes pacotes na sua memória(buffer). Se um switch de receber pacotes
mais rápido do que pode enviá-los por um período prolongado de tempo, pode ficar sem espaço de
memória intermédia, e alguns pacotes terão que ser descartados, neste estado, é diz-se que ele está
congestionado.
Ivan Luciano de Sousa Cangela