# Introdução à Ciência da Computação/Introdução à Redes

acima: Introdução à Ciência da Computação anterior: <<<Introdução aos Bancos de Dados | próximo: Avaliação 2>>>
Uma Rede de computadores consiste de dois ou mais equipamentos computacionais que podem ser ligados entre si de forma a compartilhar dados ou recursos computacionais. Esta idéia de compartilhamento é uma herança direta das telecomunicações, que por sua vez surgiu da necessidade do ser humano comunicar-se de forma fidedigna e eficiente por grandes distâncias. Naturalmente, estas formas de comunicação utilizaram diversos mecanismos e ferramentas conforme a evolução humana e a sociedade que a utilizava. Como exemplo de formas primitivas de rede podemos mencionar os sinais de fumaça, pombo-correio, o telégrafo, as redes telefônicas e de distribuição.
Com o surgimento dos computadores, surgiu a necessidade de interligação entre duas ou mais máquinas que pudessem acessar e manipular uma mesma base de dados, e também comunicar-se entre si. Daí surge o conceito de Rede de Computador.

## História

Antes do advento das redes de computadores baseadas em algum tipo de sistema de telecomunicação, a comunicação entre máquinas calculadoras e computadores antigos era realizada por usuários humanos através do carregamento de instruções entre eles.
Em setembro de 1940, George Stibitz usou uma máquina de teletipo para enviar instruções para um conjunto de problemas a partir de seu Model K na Faculdade de Dartmouth em Nova Hampshire para a sua Calculadora de Números Complexos em Nova Iorque e recebeu os resultados de volta pelo mesmo meio. Conectar sistemas de saída como teletipos a computadores era interesse na Advanced Research Projects Agency (ARPA) quando, em 1962, J. C. R. Licklider foi contratado e desenvolveu um grupo de trabalho o qual ele chamou de a “Rede Intergaláctica”, um precursor da Arpanet.
Em 1964, pesquisadores de Dartmouth desenvolveram o Sistema de Compartilhamento de Tempo de Dartmouth para usuários distribuídos de grandes sistemas de computadores. No mesmo ano, no MIT, um grupo de pesquisa apoiado pela General Electric e Bell Labs usou um computador (DEC’s PDP-8) para rotear e gerenciar conexões telefônicas.
Durante a década de 1960, Leonard Kleinrock, Paul Baran e Donald Davies, de maneira independente, conceituaram e desenvolveram sistemas de redes os quais usavam datagramas ou pacotes, que podiam ser usados em uma rede de comutação de pacotes entre sistemas de computadores.
Em 1969, a Universidade da Califórnia em Los Angeles, SRI (em Stanford), a Universidade da Califórnia em Santa Bárbara e a Universidade de Utah foram conectadas com o início da rede ARPANet usando circuitos de 50 kbits/s.

## Camadas OSI

Para facilitar o processo de padronização e obter interconectividade entre máquinas de diferentes sistemas operativos, a Organização Internacional de Padronização (ISO - International Organization for Standardization) aprovou, no início dos anos 80, um modelo de referência para permitir a comunicação entre máquinas heterogêneas, denominado OSI (Open Systems Interconnection). Esse modelo serve de base para qualquer tipo de rede, seja de curta, média ou longa distância.

### Descrição das camadas

Este modelo é dividido em camadas hierárquicas, ou seja, cada camada usa as funções da própria camada ou da camada anterior, para esconder a complexidade e transparecer as operações para o usuário, seja ele um programa ou uma outra camada.

#### Camada física

A camada física define as características técnicas dos dispositivos elétricos (físicos) do sistema. Ela contém os equipamentos de cabeamento ou outros canais de comunicação que se comunicam diretamente com o controlador da interface de rede. Preocupa-se, portanto, em permitir uma comunicação bastante simples e confiável, na maioria dos casos com controle de erros básico:
* Move bits (ou bytes, conforme a unidade de transmissão) através de um meio de transmissão.
* Define as características elétricas e mecânicas do meio, taxa de transferência dos bits, tensões etc.
* Controle de acesso ao meio.
* Confirmação e retransmissão de quadros.
* Controle da quantidade e velocidade de transmissão de informações na rede.

### Camada de ligação de dados

A camada de ligação de dados, também conhecida é como camada de enlace ou link de dados. Esta camada detecta e, opcionalmente, corrige erros que possam acontecer no nível físico. É responsável pela transmissão e recepção (delimitação) de quadros e pelo controle de fluxo. Ela também estabelece um protocolo de comunicação entre sistemas diretamente conectados.
Exemplo de protocolos nesta camada: PPP, LAPB (do X.25),NetBios. Também está inserida no modelo TCP/IP (apesar do TCP/IP não ser baseado nas especificações do modelo OSI)
Na rede ethernet cada placa de rede possui um endereço físico, que deve ser único na rede.
Em redes do padrão IEEE 802, e outras não IEEE 802 como a FDDI, esta camada é dividida em outras duas camadas: Controle de ligação lógica (LLC), que fornece uma interface para camada superior (rede), e controle de acesso ao meio físico (MAC), que acessa diretamente o meio físico e controla a transmissão de dados.

### Camada de rede

A camada de Rede é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, de forma que os pacotes consigam chegar corretamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, baseada em fatores como condições de tráfego da rede e prioridades.
Essa camada é usada quando a rede possui mais de um segmento e, com isso, há mais de um caminho para um pacote de dados trafegar da origem ao destino.
Encaminhamento, endereçamento, interconexão de redes, tratamento de erros, fragmentação de pacotes, controle de congestionamento e sequenciamento de pacotes são funções desta camada.
* Movimenta pacotes a partir de sua fonte original até seu destino através de um ou mais enlaces.
* Define como dispositivos de rede descobrem uns aos outros e como os pacotes são roteados até seu destino final.

### Camada de transporte

A camada de transporte é responsável por pegar os dados enviados pela camada de Sessão e dividi-los em pacotes que serão transmitidos para a camada de Rede. No receptor, a camada de Transporte é responsável por pegar os pacotes recebidos da camada de Rede, remontar o dado original e assim enviá-lo à camada de Sessão.
Isso inclui controle de fluxo, ordenação dos pacotes e a correção de erros, tipicamente enviando para o transmissor uma informação de recebimento, informando que o pacote foi recebido com sucesso.
A camada de Transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (camadas de 1 a 3). A camada 4, Transporte, faz a ligação entre esses dois grupos e determina a classe de serviço necessária como orientada a conexão e com controle de erro e serviço de confirmação, sem conexões e nem confiabilidade.
O objetivo final da camada de transporte é proporcionar serviço eficiente, confiável e de baixo custo. O hardware e/ou software dentro da camada de transporte e que faz o serviço é denominado entidade de transporte.
A entidade de transporte comunica-se com seus usuários através de primitivas de serviço trocadas em um ou mais TSAP, que são definidas de acordo com o tipo de serviço prestado: orientado ou não à conexão. Estas primitivas são transportadas pelas TPDU.
Na realidade, uma entidade de transporte poderia estar simultaneamente associada a vários TSA e NSAP. No caso de multiplexação, associada a vários TSAP e a um NSAP e no caso de splitting, associada a um TSAP e a vários NSAP.
A ISO define o protocolo de transporte para operar em dois modos:
* Orientado a conexão.
* Não-Orientado a conexão.
Como exemplo de protocolo orientado à conexão, temos o TCP, e de protocolo não orientado à conexão, temos o UDP. É obvio que o protocolo de transporte não orientado à conexão é menos confiável. Ele não garante - entre outras coisas mais, a entrega das TPDU, nem tão pouco a ordenação das mesmas. Entretanto, onde o serviço da camada de rede e das outras camadas inferiores é bastante confiável - como em redes locais, o protocolo de transporte não orientado à conexão pode ser utilizado, sem o overhead inerente a uma operação orientada à conexão.
O serviço de transporte baseado em conexões é semelhante ao serviço de rede baseado em conexões. O endereçamento e controle de fluxo também são semelhantes em ambas as camadas. Para completar, o serviço de transporte sem conexões também é muito semelhante ao serviço de rede sem conexões. Constatado os fatos acima, surge a seguinte questão: "Por que termos duas camadas e não uma apenas?". A resposta é sutil, mas procede: A camada de rede é parte da sub-rede de comunicaçoes e é executada pela concessionária que fornece o serviço (pelo menos para as WAN). Quando a camada de rede não fornece um serviço confiável, a camada de transporte assume as responsabilidades; melhorando a qualidade do serviço.

### Camada de sessão

A camada de Sessão permite que duas aplicações em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, essas aplicações definem como será feita a transmissão de dados e coloca marcações nos dados que estão sendo transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor.
* Disponibiliza serviços como pontos de controle periódicos a partir dos quais a comunicação pode ser restabelecida em caso de pane na rede.

### Camada de apresentação

A camada de Apresentação, também chamada camada de Tradução, converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando, por exemplo, o dispositivo transmissor usa um padrão diferente do ASCII, por exemplo. Pode ter outros usos, como compressão de dados e criptografia.
A compressão de dados pega os dados recebidos da camada sete e os comprime (como se fosse um compactador comumente encontrado em PCs, como o Zip ou o Arj) e a camada 6 do dispositivo receptor fica responsável por descompactar esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da camada 7 foram "encolhidos" e enviados à camada 5.
Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo que os dados só serão decodificados na camada 6 do dispositivo receptor.

### Camada de aplicação

A camada de aplicação faz a interface entre o protocolo de comunicação e o aplicativo que pediu ou receberá a informação através da rede. Por exemplo, ao solicitar a recepção de e-mails através do aplicativo de e-mail, este entrará em contato com a camada de Aplicação do protocolo de rede efetuando tal solicitação. Tudo nesta camada é direcionada aos aplicativos. Telnet e FTP são exemplos de aplicativos de rede que existem inteiramente na camada de aplicação.

## Topologia

A topologia de uma rede descreve fisicamente e logicamente como é o layout do meio através do qual há o tráfego de informações, e também como os dispositivos estão conectados a ele.Há várias formas nas quais se pode organizar a interligação entre cada um dos nós (computadores) da rede.A topologia física é a verdadeira aparência ou layout da rede, enquanto que a lógica descreve o fluxo dos dados através da rede.

### Barramento

Na topologia em barra (barramento) pode ser empregada a comunicação com caminhos bidirecionais. Todos os nós são conectados diretamente na barra de transporte, sendo que o sinal gerado por uma estação propaga-se ao longo da barra em todas as direções. Cada no -computador- atende por um endereço na barra de transporte (normalmente cabos coaxiais), portanto, quando uma estação conectada no barramento reconhece o endereço de uma mensagem, esta a aceita imediatamente, caso contrário, a despreza. Tem como característica típica, a possibilidade de todas as estações escutarem o meio de transmissão simultaneamente. O princípio de funcionamento é bem simples: - se uma estação deseja transmitir, ela verifica se o meio está ocupado. - se estiver desocupado, a estação inicia sua transmissão. - se apenas aquela estação desejava transmitir, a transmissão ocorre sem problemas.O problema esta no fato de que se há um ponto danificado no barramento,toda a rede e prejudicada.

### Anel ou ring

Na topologia em anel os dispositivos são conectados em série, formando um circuito fechado (anel). Os dados são transmitidos unidirecionalmente de nó em nó até atingir o seu destino. Uma mensagem enviada por uma estação passa por outras estações, através das retransmissões, até ser retirada pela estação destino ou pela estação fonte. Características: - Dados circulam de forma unidirecional. - Os sinais sofrem menos distorção e atenuação no enlace entre as estações, pois há um repetidor em cada estação. - Há um atraso de um ou mais bits em cada estação para processamento de dados. - Há uma queda na confiabilidade para um grande número de estações. - A cada estação inserida, há um aumento de retardo na rede. - É possível usar anéis múltiplos para aumentar a confiabilidade e o desempenho!

### Estrela ou star

As redes em estrela, que são as mais comuns hoje em dia, utilizam cabos de par trançado e um hub como ponto central da rede. O hub se encarrega de retransmitir todos os dados para todas as estações, mas com a vantagem de tornar mais fácil a localização dos problemas, já que se um dos cabos, uma das portas do hub ou uma das placas de rede estiver com problemas, apenas o PC ligado ao componente defeituoso ficará fora da rede. Claro que esta topologia se aplica apenas a pequenas redes, já que os hubs costumam ter apenas 8 ou 16 portas. Em redes maiores é utilizada a topologia de árvore, onde temos vários hubs interligados entre si por switches ou roteadores. Em inglês é usado também o termo Star Bus, ou estrela em barramento, já que a topologia mistura características das topologias de estrela e barramento.

### Árvore

A topologia em árvore é essencialmente uma série de barras interconectadas. Geralmente existe uma barra central onde outros ramos menores se conectam. Esta ligação é realizada através de derivadores e as conexões das estações realizadas do mesmo modo que no sistema de barra padrão. Cuidados adicionais devem ser tomados nas redes em árvores, pois cada ramificação significa que o sinal deverá se propagar por dois caminhos diferentes. A menos que estes caminhos estejam perfeitamente casados, os sinais terão velocidades de propagação diferentes e reflectirão os sinais de diferente maneiras. Em geral, redes em árvore, vão trabalhar com taxa de transmissão menores do que as redes em barra comum, por estes motivos.

## Tipos de Redes

As redes também podem ser definidas de acordo com a extensão do alcance de sua comunicação.

### PANs (Personal Area Network)

Personal Area Network ou Rede de Área Pessoal é uma rede de computadores pessoais, formadas por nós (dispositivos conectados à rede) muito próximos ao usuário (geralmente em metros). Estes dispositivos podem ser pertencentes ao usuário ou não. Como exemplo podemos imaginar um computador portátil conectando-se a um outro e este a uma impressora. Tecnologicamente é o mesmo que uma LAN, diferindo-se desta apenas pela pouca possibilidade de crescimento e pela utilização doméstica.

### LANs (Local Area Network)

LANs (acrônimo de Local Area Network, "rede de área local" ) são redes utilizadas na interconexão de equipamentos processadores com a finalidade de troca de dados. Tais redes são denominadas locais por cobrirem apenas uma área limitada (10 Km no máximo, quando passam a ser denominadas WANs ), visto que, fisicamente, quanto maior a distância de um nó da rede ao outro, maior a taxa de erros que ocorrerão devido à degradação do sinal.
As LANs são utilizadas para conectar estações, servidores, periféricos e outros dispositivos que possuam capacidade de processamento em uma casa, escritório, escola e edifícios próximos.

### CANs (Campus Area Network)

A CAN (Campus Area Network) é uma rede que usa ligações entre computadores localizados em áreas de edifícios ou prédios diferentes, como em campus universitários ou complexos industriais.
Deve também usar links (ligações) típicos de LANs (Local Area Networks) ou perde-se seu caráter de CAN para tornar-se uma MAN ou WAN, dependendo de quem seja o dono do link usado.

### MANs (Metropolitan Area Network)

Uma Metropolitan Area Network ou Rede de Área Metropolitana é uma rede de comunicação que abrange uma cidade. O exemplo mais conhecido de uma MAN é a rede de televisão a cabo disponível em muitas cidades.
A partir do momento que a internet atraiu uma audiência de massa, as operadoras de redes de TV a cabo, começaram a perceber que, com algumas mudanças no sistema, elas poderiam oferecer serviços da Internet de mão dupla em partes não utilizadas do espectro. A televisão a cabo não é a única MAN. Os desenvolvimentos mais recentes para acesso à internet de alta velocidade sem fio resultaram em outra MAN, que foi padronizada como IEEE 802.16.

### WANs (Wide Area Network)

A Wide Area Network (WAN), Rede de área alargada ou Rede de longa distância, também conhecida como Rede geograficamente distribuída, é uma rede de computadores que abrange uma grande área geográfica, com freqüência um país ou continente. Difere, assim, das PAN, das LAN e das MAN.
A história da WAN começa em 1965 quando Lawrence Roberts e Thomas Merril ligaram dois computadores, um TX-2 em Massachussets a um Q-32 na Califórnia, através de uma linha telefónica de baixa velocidade, criando a primeira rede de área alargada (WAN). A maior WAN que existe é a Internet.
Em geral, as redes geograficamente distribuídas contém conjuntos de servidores, que formam sub-redes. Essas sub-redes têm a função de transportar os dados entre os computadores ou dispositivos de rede.
As Wans tornaram-se necessárias devido ao crescimento das empresas, onde as Lan's não eram mais suficientes para atender a demanda de informações, pois era necessária uma forma de passar informação de uma empresa para outra de forma rapida e eficiente. Ai surgiram as wans, que conectam redes dentro de uma vasta área geográfica, permitindo comunicação a grande distância.

## Resumo

REDES
Uma Rede de computadores consiste de dois ou mais equipamentos computacionais que podem ser ligados entre si de forma a compartilhar dados ou recursos computacionais. As redes podem ser definidas de acordo com a extensão do alcance de sua comunicação, como por exemplo:
* PANs (Personal Area Network) PANs ou Rede de Área Pessoal, é uma rede de computadores pessoais, formadas por nós (dispositivos conectados à rede) muito próximos ao usuário (geralmente em metros). Como exemplo podemos imaginar um computador portátil conectando-se a um outro e este a uma impressora. Tecnologicamente é o mesmo que uma LAN, diferindo-se desta apenas pela pouca possibilidade de crescimento e pela utilização doméstica.
* LANs (Local Area Network)
LANs ou Rede de Área Local, são redes utilizadas na interconexão de equipamentos processadores com a finalidade de troca de dados. Tais redes são denominadas locais por cobrirem apenas uma área limitada (10 Km no máximo, quando passam a ser denominadas WANs), visto que, fisicamente, quanto maior a distância de um nó da rede ao outro, maior a taxa de erros que ocorrerão devido à degradação do sinal. As LANs são utilizadas para conectar estações, servidores, periféricos e outros dispositivos que possuam capacidade de processamento em uma casa, escritório, escola e edifícios próximos.
* CANs (Campus Area Network)
A CAN é uma rede que usa ligações entre computadores localizados em áreas de edifícios ou prédios diferentes, como em campus universitários ou complexos industriais. Deve também usar links típicos de LANs ou perde-se seu caráter de CAN para tornar-se uma MAN ou WAN, dependendo de quem seja o dono do link usado.
* MANs (Metropolitan Area Network)
Uma MAN ou Rede de Área Metropolitana, é uma rede de comunicação que abrange uma cidade. O exemplo mais conhecido de uma MAN é a rede de televisão a cabo disponível em muitas cidades. A partir do momento que a internet atraiu uma audiência de massa, as operadoras de redes de TV a cabo, começaram a perceber que, com algumas mudanças no sistema, elas poderiam oferecer serviços da Internet de mão dupla em partes não utilizadas do espectro. A televisão a cabo não é a única MAN. Os desenvolvimentos mais recentes para acesso à internet de alta velocidade sem fio resultaram em outra MAN, que foi padronizada como IEEE 802.16.
* WANs (Wide Area Network)
A WAN ou Rede de Longa Distância, é uma rede de computadores que abrange uma grande área geográfica, com freqüência um país ou continente. Difere, assim, das PAN, das LAN e das MAN. A maior WAN que existe é a Internet. Em geral, as redes geograficamente distribuídas, contém conjuntos de servidores que formam sub-redes. Essas sub-redes têm a função de transportar os dados entre os computadores ou dispositivos de rede. As Wans tornaram-se necessárias devido ao crescimento das empresas, onde as Lan's não eram mais suficientes para atender a demanda de informações, pois era necessária uma forma de passar informação de uma empresa para outra de forma rápida e eficiente. Aí surgiram as WANs, que conectam redes dentro de uma vasta área geográfica, permitindo comunicação em uma grande distância.