Escolar Documentos
Profissional Documentos
Cultura Documentos
Motivação:
1. Introdução:
A comunicação para a humanidade é algo natural pois nenhum ser consegue viver
isoladamente, e desde seu surgimento pode-se observar o desenvolvimento de técnicas para suprir esta
necessidade de contato com outrém.
Isto pode ser exemplificado com a evolução dos toques de tambor e uso de sinais de fumaça por
pombos-correio; o surgimento do telégrafo em 1838 e seu desenvolvimento até a presente data com o
uso de rádios, televisores; até as comunicações via satélite.
Centrando a atenção ao desenvolvimento da informática (que oferecia riscos às organizações
pois defeitos no equipamento causavam a paralização de todo o serviço) para o surgimento de
minicomputadores e posteriormente microcomputadores, onde a utilização de redes de informação
proporcionou melhorias na estruturação organizacional.
Dessa forma, a descentralização do processamento também permitiu o compartilhamento de
recursos (como meios de armazenamento de dados, impressoras, softwares, por exemplo), maior
confiabilidade, modularidade do sistema, novos serviços dentre outras vantagens que facilitou a
comunicação entre pessoas.
1
Introdução à Redes de Computadores
3. Arquiteturas de Redes
3.1. Introdução
Para reduzir a complexidade de projeto, a maioria das redes de computadores são estruturadas
em camadas ou níveis, onde cada camada desempenha uma função específica dentro do objetivo
maior que é a tarefa de comunicação. As camadas são construídas umas sobre as outras e cada camada
oferece seus serviços para as camadas superiores, protegendo estas dos detalhes de como os serviços
oferecidos são de fato implementados.
A camada N em uma máquina, para desempenhar suas funções estabelece uma conversação
com a camada N em outra máquina. As regras utilizadas nesta conversação são chamadas de
protocolo da camada N. As funções de cada camada são executadas por entidades (processos, que
podem ser implementados por software ou por hardware). Entidades que executam em camadas
correspondentes e em máquinas distintas são chamadas de processos pares (peers). São os processos
pares que se comunicam utilizando o protocolo de sua camada. A figura 2 ilustra estes conceitos para
uma rede estruturada em 4 camadas.
ocorre. Na máquina destino a mensagem percorre o caminho inverso, da camada mais inferior para a
mais superior, com cada camada retirando e analisando as informações de controle colocadas pela sua
camada correspondente na máquina origem. Após esta análise a camada decide se passa o restante dos
dados para a camada superior. Estas informações de controle correspondem ao protocolo da camada e
também são conhecidos como header do protocolo.
Nota-se que existe uma interface entre cada par de camadas adjacentes. É ela que definirá quais
e como as funções oferecidas pela camada inferior podem ser acessadas pela camada superior. Esta
interface deve ser bastante clara, de modo que, ao trocar-se a implementação de uma camada por outra
completamente diferente, não seja necessário modificar as outras camadas. Isso é possível desde que a
interface entre as camadas seja mantida. Por exemplo, trocando-se linhas telefônicas por transmissão
via satélite, a implementação da camada responsável por manipular o acesso ao meio de transmissão
deverá modificar completamente sua implementação, porém as demais camadas não sofrerão estas
modificações desde que os mesmos serviços anteriores e o modo como são oferecidos sejam mantidos.
3
Introdução à Redes de Computadores
1A ARPAnet foi a primeira rede de computadores baseada na comutação de pacotes e que deu origem a INTERNET.
4
Introdução à Redes de Computadores
A função desta camada é lidar com a transmissão pura de bits através de um canal de
comunicação. Deve garantir que, quando um lado transmite um bit 1, este seja recebido como um bit 1
do outro lado, e não como um bit 0. Portanto, o protocolo da camada física deve considerar questões
como: voltagem para bit "1"; voltagem para bit "0“; tempo de duração de um bit; o modo de
transmissão (simplex, half-duplex, full-duplex); como a conexão é estabelecida e encerrada; pinagem
dos conectores e etc. Ou seja, questões mecânicas, elétricas e funcionais da transmissão dos bits.
A principal função desta camada é detectar e, opcionalmente, corrigir possíveis erros que
possam ocorrer durante a transmissão sobre o meio físico. Para isso, ela particiona os dados recebidos
da camada de rede em quadros (frames), algumas centenas de bits a serem enviados ao nível físico,
adcionando seus headers para controle de erros. Também deve cuidar da retransmissão de frames
danificados ou perdidos e resolver problemas de duplicação de frames. Por exemplo, um ruído no meio
de transmissão pode destruir o frame sendo transmitido. Neste Caso, a camada de Enlace de Dados na
máquina origem deve retransmitir o frame. Entretanto, múltiplas retransmissões introduzem a
possibilidade de frames duplicados.
Outras tarefas desta camada são processar avisos de confirmação de recebimento enviados pelo
receptor e resolver problemas de conexão entre máquinas com velocidades diferentes (quando uma
máquina transmite dados em uma velocidade maior do que a máquina destino pode suportar, ocorrerá
um estouro de buffer na máquina destino e os dados podem ser perdidos).
Esta camada controla a operação da subnet de comunicação. Sua tarefa principal está
relacionada com o problema de como os pacotes de informação são roteados da máquina origem até a
máquina destino. As rotas podem ser baseadas em tabelas estáticas embutidas na rede e que raramente
são modificadas. Elas também poderiam ser definidas no início de uma conversa, por exemplo, uma
sessão de terminal, ou finalmente, poderiam ser altamente dinâmicas, modificando-se a cada pacote
transmitido e refletindo a carga atual da rede.
Outras tarefas da camada de rede são: controle de congestionamento e tráfego; estatística de uso
por usuário; resolver problemas de incompatibilidades (ex.: formas de endereçamento; tamanho de
pacotes de dados; protocolos diferentes, etc) que podem ocorrer quando um pacote "viaja" por várias
redes até alcançar a máquina destino.
Em redes do tipo broadcast, devido à existência de um único canal, a função principal desta
camada (roteamento) torna-se irrelevante.
A camada de rede não garante necessariamente que um pacote chegue a seu destino, e pacotes
podem ser perdidos ou mesmo chegar fora da seqüência original de transmissão. A função básica desta
camada é aceitar os dados da camada de sessão, quebrá-los em partes menores se necessário, passá-los
à camada de rede e garantir que as partes cheguem em ordem no destino. Isso tudo deve ser feito
independentemente da tecnologia da subnet usada. Desse modo, a camada de transporte isola as
camadas superiores das mudanças inevitáveis na tecnologia de hardware.
5
Introdução à Redes de Computadores
Para cada requisição de conexão vinda da camada de sessão, a camada de transporte cria uma
conexão de rede distinta. Entretanto, no caso de uma requisição de conexão de alto desempenho, a
camada de transporte pode criar múltiplas conexões de rede para uma única sessão, aumentando o
desempenho. Do mesmo modo, a fim de reduzir custos, várias requisições distintas de sessão podem
ser multiplexadas em uma única conexão de rede.
Sua tarefa é permitir que usuários em máquinas diferentes estabeleçam sessões entre eles. Uma
sessão permite a um usuário, por exemplo, realizar um login em um sistema de tempo compartilhado
remoto ou transferir um arquivo entre duas máquinas. Esta camada é responsável por resolver todos os
problemas que possam ocorrer durante uma sessão. Por exemplo:
Ao contrário das demais camadas que estão preocupadas em transferir dados de maneira
confiável, a camada de Apresentação cuida da semântica e sintaxe da informação transferida. Ela
permite que dados representando uma cadeia de caracteres, números reais ou inteiros, ou estrutura de
dados, cheguem à máquina destino com o mesmo significado semântico e sintático com que foram
transmitidos, independentemente dos diferentes padrões de codificação utilizados pelas máquinas
envolvidas na comunicação. Isto é possível através da definição de dados em um modo abstrato, os
quais podem ser convertidos para a representação padrão da rede. Por exemplo, suponhamos que a
máquina A vai transmitir o número inteiro de dois bytes com valor 5 para a máquina B. Suponha ainda
que a máquina A utilize uma representação Big Endian, onde o byte mais significativo é o da
esquerda, e a máquina B utilize uma representação Little Endian, com byte mais significativo à direita.
Ao receber o dado e transformá-lo na sua representação, a máquina B entenderia o número como tendo
o valor 1280, ao invés de 5 como foi transmitido pela máquina A. Este problema é ilustrado na figura
abaixo.
6
Introdução à Redes de Computadores
Máquina A Máquina B
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
Figura 5: Problema na comunicação entre máquinas com diferentes formas de representação de dados.
O processo começa com a entrega dos dados a serem transmitidos pelo usuário para a camada
de aplicação na máquina A. A camada de aplicação junta aos dados do usuário um cabeçalho (header)
contendo informações de controle de protocolo. Após isso, os dados do usuário, juntamente com o
header anexado pela camada de aplicação são enviados para a camada de Apresentação. Para que possa
7
Introdução à Redes de Computadores
executar sua função, esta também anexa suas informações de controle de protocolo e repassa os dados
para a camada abaixo, ou seja, a camada de Sessão. Esse processo é feito na máquina A até que cada
camada faça sua função, ou seja, anexe seus headers de controle. Ao atingir a camada física na
máquina A, os dados são transmitidos pelo meio de transmissão, juntamente com os headers colocados
pelas camadas.
Na máquina B, ocorre o processo inverso. À medida que os dados vão sendo passados para as
camadas superiores, cada camada retira o header colocado por sua camada correspondente na máquina
origem (máquina A), executa as operações do protocolo de acordo com as informações contidas no
header, e passa o restante para a camada superior. O processo se encerra com o usuário no sistema B
recebendo os dados enviados pelo usuário do sistema A.