Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistema estruturado;
Facilidade de entendimento e visualização;
Permite a interconexão entre sistemas de diferentes fabricantes, desde que o padrão de cada
camada seja aberto.
Devido a essas vantagens, os sistemas surgiram estruturados em camadas, e cada camada foi criada
com os seguintes objetivos:
Uma camada deve ser criada sempre que uma nova forma de abstração é necessária;
Cada camada deve executar uma tarefa bem definida;
A tarefa de cada camada deve procurar se adaptar a protocolos já existentes;
Os limites entre as camadas devem ser escolhidos de modo a minimizar o fluxo de informação
entre elas.
Para tornar mais claro o conceito de independência entre camadas, pode-se imaginar a seguinte
situação hipotética: um filósofo na Alemanha querendo se comunicar com outro filósofo na França. Para
tradução das mensagens, cada um deles contrata um tradutor, que tem a função de converter as
mensagens para uma linguagem padrão (inglês, por exemplo). Por sua vez, para enviar as palavras entre
os dois países, cada tradutor contrata um mensageiro, que tem a função de entregar cada palavra da
mensagem ao outro lado. Os mensageiros devem estabelecer um padrão para a comunicação, que pode
ser telefone, carta, telegrama ou qualquer outro existente. A comunicação descrita acima pode ser dividida
em três camadas distintas:
Esse exemplo tem a finalidade de esclarecer alguns pontos importantes da utilização de pilhas de
protocolos. Cada camada é independente entre si, e não deve se preocupar com a função das outras
camadas, mas sim utilizar os serviços oferecidos pela camada inferior e oferecer seus serviços à camada
superior. Assim, ao filósofo não interessa o padrão de linguagem utilizado pela camada 2 (que poderia ser
português ou japonês sem prejuízo para a comunicação correta), e aos tradutores não interessa a forma
pela qual os mensageiros vão fazer a comunicação (que poderia ser qualquer outra forma, como telegrama
ou rádio).
Tanto o modelo OSI como a arquitetura TCP/IP são estruturados em pilhas de protocolos. Alguns
padrões de protocolos existentes atualmente foram criados pela ISO, como, por exemplo, o TP4 na camada
de transporte e o X.400 (correio eletrônico) na camada de aplicação. Entretanto, alguns protocolos
existentes foram criados antes do modelo OSI, não sendo definidos pela ISO, mas possuindo tarefas que se
encaixam em certos níveis do modelo, como, por exemplo, a família de protocolos TCP/IP. Além disso,
outros padrões surgem à medida que as redes vão se modificando, encaixando-se em determinadas
camadas do modelo.
Dessa forma, existem diversos padrões que, de uma forma ou de outra, são utilizados atualmente
no mercado, criando uma grande confusão para comunicação entre máquinas heterogêneas. Cada
fabricante vê-se forçado a possuir interfaces para diversos protocolos, visando disponibilizar seu
equipamento para qualquer rede existente no mercado.
Na arquitetura de camadas, cada camada além de se comunicar com suas camadas adjacentes,
também se comunica com suas camadas pares de outro computador. Para isso, cada camada acrescenta
suas próprias informações de controle à mensagem que está sendo transmitida. A informação é
acrescentada na forma de cabeçalhos que são introduzidos pelo transmissor e removidos pelo receptor,
depois que a informação for utilizada.
Quando um programa em um computador necessita enviar uma mensagem a um programa em
outro computador, ela é entregue à camada superior que acrescenta seu cabeçalho passando-a à camada
seguinte, e assim sucessivamente, até a camada inferior (física), que transmite a mensagem pelo meio até
o receptor. A camada inferior do receptor lê as informações enviadas a ela, contidas no cabeçalho, e
entrega seu conteúdo à camada seguinte, e assim sucessivamente, até que a mensagem seja recebida
pelo programa receptor. A esse conjunto de dados mais o cabeçalho chamamos genericamente de
PACOTE, que constitui a unidade básica de transmissão de dados na rede. Em função da camada de
origem, o pacote recebe um nome específico, vejamos o caso do modelo OSI:
Aplicação Mensagem
Apresentação Pacote
Sessão Pacote
Transporte Segmento
Rede Datagrama
Enlace Quadro
Física Bit
É importante saber que o conceito de cabeçalho e dados é relativo. Ele depende da perspectiva da
camada analisando a unidade de informação. Por exemplo, para a camada 3, uma unidade de informação
consiste de um cabeçalho de camada 3 e os dados que o seguem. Entretanto, os dados da camada 3
podem potencialmente conter cabeçalhos das camadas 4, 5, 6 e 7. Além disso, o cabeçalho de camada 3 é
simplesmente um dado para a camada 2. Esse conceito fica melhor ilustrado através da figura representada
abaixo.
4. O Modelo OSI
A figura 3 mostra as sete camadas (níveis) do modelo OSI, que serão analisadas a seguir, iniciando
pela camada mais próxima ao meio físico e terminando na camada mais próxima do usuário. Pode-se ver
através da figura que cada camada possui um ou mais protocolos que realizam as funções específicas
daquela camada, e esses protocolos são compatíveis entre as máquinas que estão se comunicando
(sistema A e sistema B).
Figura 3 – Comunicação entre dois sistemas através do modelo OSI.
Entre cada camada existe uma interface. Essa interface permite que duas camadas quaisquer
troquem informações. A interface também define quais primitivas, operações e serviços a camada inferior
oferece à imediatamente superior.
Cada camada é independente entre si e executa somente suas funções, sem se preocupar com as
funções das outras camadas. Assim, por exemplo, a camada 2 preocupa-se em fazer uma transmissão livre
de erros, não importando se a camada física esteja utilizando par trançado, cabo coaxial ou fibra ótica.
5. Arquitetura TCP/IP
No início dos anos 60, uma associação entre o DARPA (Defense Advanced Research Projects
Agency), um grupo de universidades e algumas instituições, criaram o "ARPANET Network Working
Group". Em 1969, a rede ARPANET entrou em operação, consistindo inicialmente de quatro nós e
utilizando comutação de pacotes para efetuar a comunicação.
Em 1974, um estudo feito por Vinton Cert e Robert Kahn, propôs um grupo de protocolos centrais
para satisfazer as seguintes necessidades:
Permitir o roteamento entre redes diferentes (chamadas subnets ou sub-redes);
Independência da tecnologia de redes utilizada para poder conectar as sub-redes;
Independência do hardware;
Possibilidade de recobrar-se de falhas.
Originalmente, esses protocolos foram chamados de NCP (Network Control Program), mas, em
1978, passaram a ser chamados de TCP/IP.
Em 1980, o DARPA começou a implementar o TCP/IP na ARPANET, dando origem à Internet. Em
1983, o DARPA finalizou a conversão de todos seus computadores e exigiu a implementação do TCP/IP em
todos os computadores que quisessem se conectar à ARPANET.
Além disso, o DARPA também financiou a implementação do TCP/IP como parte integral do sistema
operacional Unix, exigindo que este fosse distribuído de forma gratuita. Dessa forma o Unix e,
conseqüentemente, o TCP/IP, se difundiram, cobrindo múltiplas plataformas.
Assim, o TCP/IP ficou sendo utilizado como o padrão de fato para interconectar sistemas de
diferentes fabricantes, não apenas na Internet, mas em diversos ramos de negócios que requerem tal forma
de comunicação.
Figura 4 - Comparação entre os modelos OSI e TCP/IP
Considerando seu uso consolidado na Internet, vamos analisar as camadas da arquitetura TCP/IP,
bem como suas funções e exemplos referentes aos protocolos existentes para cada uma delas.
A camada física tem a função de transmitir uma seqüência de bits através de um canal de
comunicação. As funções típicas dos protocolos desta camada são para fazer com que um bit “1”
transmitido por uma estação seja entendido pelo receptor como bit “1” e não como bit “0”. Assim, esta
camada trabalha basicamente com as características mecânicas e elétricas do meio físico, como por
exemplo:
A camada física especifica a maneira com que os 0s e 1s dos quadros serão enviados para a rede
(ou recebidos da rede, no caso da recepção de dados). Ela não sabe o significado dos 0s e 1s que está
recebendo ou transmitindo. Por exemplo, no caso da recepção de um quadro, a camada física converte os
sinais do cabo em 0s e 1s e envia essas informações para a camada de enlace, que montará o quadro e
verificará se ele foi recebido corretamente. Como você pode facilmente perceber, o papel dessa camada é
efetuado pela placa de rede dos dispositivos conectados em rede. Note que a camada física não inclui o
meio onde os dados circulam, isto é, o cabo da rede. O máximo com que essa camada se preocupa é com
o tipo de conector e o tipo de cabo usado para a transmissão e recepção dos dados, de forma que os 0s e
1s sejam convertidos corretamente no tipo de sinal requerido pelo cabo, mas o cabo em si não é
responsabilidade dessa camada.
A camada de rede tem dois componentes principais. Um deles é um protocolo que define os
campos do datagrama, bem como o modo como os sistemas finais e os roteadores agem nesses campos.
Este é o famoso protocolo IP. Existe somente um único protocolo IP, e todos os componentes da Internet
que têm uma camada de rede devem executar esse protocolo. O outro componente importante é o
protocolo de roteamento que determina as rotas que os datagramas seguem entre origens e destinos. A
Internet tem muitos protocolos de roteamento. A Internet é uma rede de redes e, dentro de uma delas, o
administrador pode executar qualquer protocolo de roteamento que queira. Embora a camada de rede
contenha o protocolo IP e também numerosos protocolos de roteamento, ela quase sempre é denominada
simplesmente camada IP, refletindo o fato de que ela é o elemento fundamental que mantém a integridade
da Internet.
Executar o roteamento dos pacotes entre fonte e destino consiste em verificar a melhor rota quando
existem caminhos diferentes para conectar entre si dois nós da rede. Em redes de longa distância é comum
que a mensagem chegue do nó fonte ao nó destino passando por diversos nós intermediários no meio do
caminho, e é tarefa da camada de rede escolher o melhor caminho para essa mensagem.
A escolha da melhor rota pode ser baseada em tabelas estáticas, que são configuradas na criação
da rede e são raramente modificadas, pode também ser determinada no início de cada conversação, ou ser
altamente dinâmica, sendo determinada a cada novo pacote, a fim de refletir exatamente a carga da rede
naquele instante. Na prática, os roteadores atualizam suas tabelas de roteamento de tempos em tempos.
Se muitos pacotes estão sendo transmitidos através dos mesmos caminhos, eles vão diminuir o
desempenho global da rede, formando gargalos. O controle de tais congestionamentos é tarefa da camada
de rede.
Resumindo, as principais funções da camada de rede são as seguintes:
Roteamento dos pacotes entre fonte e destino, mesmo que tenha que passar por diversos nós
intermediários durante o percurso;
Controle de congestionamento;
A camada de aplicação é onde residem aplicações de rede e seus protocolos. Ela inclui muitos
protocolos, tais como o protocolo HTTP (que provê requisição e transferência de documentos pela Web), o
SMTP (que provê transferência de mensagens de correio eletrônico) e o FTP (que provê a transferência de
arquivos entre dois sistemas finais). Certas funções de rede, como a tradução de nomes fáceis de entender
dados a sistemas finais da Internet para um endereço de rede de 32 bits, também são executados com a
ajuda de um protocolo de camada de aplicação, no caso, o sistema de nomes de domínio (domain name
system - DNS).
Esta camada é a que mais se aproxima do usuário. Ela fornece ao usuário uma interface que
permite acesso a diversos serviços de aplicação, convertendo as diferenças entre diferentes fabricantes
para um denominador comum.
Por exemplo, em uma transferência de arquivos entre máquinas de diferentes fabricantes, podem
haver convenções de nomes diferentes (DOS tem uma limitação de somente 8 caracteres para o nome de
arquivo, UNIX não), formas diferentes de representar as linhas, e assim por diante. Transferir um arquivo
entre os dois sistemas requer uma forma de trabalhar com essas incompatibilidades, e essa é a função da
camada de aplicação.
A camada de aplicação sem dúvida nenhuma é a camada que possui o maior número de protocolos
existentes, devido ao fato de estar mais perto do usuário, e os usuários possuírem necessidades diferentes.
Algumas aplicações desta camada são transferência de arquivos, correio eletrônico e terminais virtuais,
entre outras.