Flvia Balbino da Costa flavia.balbino@yahoo.com.br 2) MODELOS DE REFERNCIA 2.1) Arquitetura de Camadas Assim como a arquitetura da Internet, lidamos com sistemas complexos o tempo todo em nosso dia-a- dia. Imagine se algum pedisse a voc que descrevesse, por exemplo, o sistema de uma companhia area. Como voc encontraria a estrutura para descrever esse sistema complexo que tem agncias de emisso de passagens, pessoal para embarcar a bagagem, pilotos, avies, controle de trfego areo e um sistema mundial de roteamento de aeronaves?
Um modo de descrever esse sistema poderia ser apresentar a relao de uma srie de aes que voc realiza (ou que os outros realizam para voc) quando voa por uma empresa area.
A figura abaixo dividiu a funcionalidade da linha area em camadas, provendo uma estrutura com a qual podemos discutir a viagem area. Note que cada camada, combinada com as camadas abaixo dela, implementa alguma funcionalidade, algum servio.
Uma arquitetura de camadas nos permite discutir uma parcela especfica e bem definida de um sistema grande e complexo. Essa simplificao tem considervel valor intrnseco (inseparavelmente ligado a uma pessoa ou coisa), pois prov modularidade fazendo com que fique muito mais fcil modificar a implementao do servio prestado pela camada. Contanto que a camada fornea o mesmo servio para a que est acima dela e use os mesmos servios da camada abaixo dela, o restante do sistema permanece inalterado quando a sua implementao modificada.
Vantagens para a diviso em camadas: Padroniza os componentes de redes; Possibilita a comunicao entre tipos diferentes de hardware e de software de rede; Para sistemas grandes e complexos que so atualizados constantemente, a capacitao de modificar a implementao de um servio sem afetar outros componentes do sistema; Decompe as comunicaes de redes em partes menores, facilitando a aprendizagem e compreenso do funcionamento da rede.
Vamos agora voltar nossa ateno a protocolos de rede. Para prover uma estrutura para o projeto de protocolos de rede, projetistas de rede organizam protocolos e o hardware e o software de rede que implementam os protocolos em camadas. Cada protocolo pertence a uma das camadas, exatamente como cada funo na arquitetura de linha area, mostrado nas figuras anteriores, pertencia a uma camada. Cada camada oferece servios para a camada superior e os protocolos das vrias camadas so denominados pilha de protocolos.
Nas duas sees a seguir, examinaremos duas importantes arquiteturas de rede: O modelo de referncia OSI; O modelo de referncia TCP/IP. Embora os protocolos associados ao modelo OSI raramente sejam usados nos dias de hoje, o modelo em si de fato bastante geral e ainda vlido, e as caractersticas descritas em cada camada ainda so muito importantes. O modelo TCP/IP tem caractersticas opostas: o modelo propriamente dito no muito utilizado, mas os protocolos tm uso geral.
2.2) Modelo de Referncia OSI
Esse modelo se baseia em um proposta desenvolvida pelo ISO (International Standards Organization) como um primeiro passo em direo padronizao internacional dos protocolos empregados nas diversas camadas. Ele foi revisto em 1.995 e chamado Modelo de Referncia ISO OSI (Open Systems Interconnection), pois ele trata da interconexo de sistemas abertos, ou seja, sistemas que esto abertos comunicao com outros sistemas.
Para abreviar, mas denomin-lo simplesmente Modelo OSI. O modelo OSI tem sete camadas. A seguir um resumo dos princpios aplicados para chegar s sete camadas: Uma camada deve ser criada onde houver necessidade de um grau de abstrao adicional. Cada camada deve executar um funo bem definida. A funo de cada camada deve ser escolhida tendo em vista a definio de protocolos padronizados internacionalmente.
Os limites de camadas devem ser escolhidos para minimizar o fluxo de informaes pelas interfaces. O nmero de camadas deve ser grande o bastante para que funes distintas no precisem ser desnecessariamente colocadas na mesma camada e pequeno o suficiente para que a arquitetura no se torne difcil de controlar.
A arquitetura em camadas OSI uma arquitetura acadmica (s diz o que cada camada faz), no especifica os servios e os protocolos exatos que devem ser usados em cada camada, no existe implementao, somente na arquitetura TCP/IP.
No entanto, a ISO tambm produziu padres para todas as camadas, embora esses padres no faam parte do prprio modelo de referncia. Cada um foi publicado como um padro internacional distinto.
7 Aplicao Interface com o usurio (softwares) 6 Apresentao Compactao e descompactao (transformao, traduo, criptografia) de dados 5 Sesso Estabelece a sesso (comunicao, conexo) entre qualquer tipo de Aplicao 4 Transporte Segmentos so trafegados, garantia fim-a-fim. Ex: A o--------------------------------o B usa TCP ou UDP. 3 Rede Pacotes sendo trafegados, Roteamento (Sub-rede) 2 Enlace ou Link Quadros sendo trafegados, Switch, endereo MAC, detecta erros ponto a ponto. Ex: A o-------o-------o--------o--------o B 1 Fsica Bits sendo trafegados, cabos, hubs 2.2.1) A camada fsica
A camada fsica trata da transmisso de bits brutos por um canal de comunicao. no nvel de comunicao fsica dos circuitos que se compreende as especificaes do hardware da rede. O propsito principal da camada fsica definir normas para assegurar que quando um computador emissor transmite um bit 1, o computador receptor verifique que o bit 1 foi recebido e no o bit 0.
A multiplexao necessria na camada fsica, onde todo o trfego correspondente a todas as conexes tem de ser transmitido atravs de no mximo alguns circuitos fsicos. Alguns aspectos relacionados a camada fsica: voltagem (V), corrente (A), resistncia, etc.
Componentes da camada fsica: Passivos no necessitam de energia eltrica: Patch Panels, cabeamento, conectores. Ativos Transceivers (convertem uma forma de sinal em outra), repetidores e hubs.
2.2.2) A camada de enlace de dados A principal tarefa da camada de enlace de dados transformar um canal de transmisso bruto em uma linha que parea livre de erros de transmisso no detectados para a camada de rede. Para realizar esta tarefa, a camada de enlace faz com o que o transmissor divida os dados de entrada em quadros de dados e os transmita sequencialmente. Se o servio for confivel, o receptor confirmar a recepo correta de cada quadro enviando de volta um quadro de confirmao.
Para que uma mquina mais rpida envie dados para uma mquina mais lenta, h o controle de fluxo de dados (buffers) e o tratamento de erros.
Esta camada supervisiona a transmisso, confirma o checksum (verificador de erros), enderea e duplica os pacotes e mantm uma cpia de cada pacote at receber a confirmao do prximo ponto do caminho de que o pacote chegou inalterado (detecta erros ponto a ponto).
Quatro princpios da camada 2:
Comunica-se com as camadas de nvel superior atravs do Logical Link Control (LLC); Usa uma conveno de endereamento simples; Usa o enquadramento para organizar ou agrupar os dados; Usa o Media Access Control (MAC) para escolher que computador transmitir os dados binrios, em um grupo onde todos os computadores estejam tentando transmitir ao mesmo tempo.
OBSERVAES:
Formato de endereo MAC: hexadecimal Vem na placa de rede e de fbrica. Para que a mquina de origem descubra o endereo MAC da mquina de destino so usadas tabelas ARP localizadas nos provedores ou backbones (Embratel, Oi, Velox ou Registro BR), atravs dos roteadores.
2.2.3) A camada de Rede
Controla a operao da sub-rede. Determina a maneira como os pacotes so roteados da origem at o destino.
Se houver muitos pacotes na sub-rede ao mesmo tempo, eles dividiro o mesmo caminho, provocando gargalos. O controle desse congestionamento tambm pertence camada de rede. A qualidade do servio fornecido (retardo, tempo em trnsito, instabilidade, etc.) tambm uma questo da camada de rede.
Cabe a camada de rede permitir que redes heterogneas sejam interconectadas. Esta camada seleciona um caminho para a mensagem. Ela dispe os dados em pacotes, conta-os e acrescenta um cabealho contendo a seqncia de pacotes e o endereo do computador receptor. Controla a comutao e o estabelecimento da rota na criao de uma conexo para troca de informaes. Estabelece a conexo lgica entre dois pontos, cuidando do trfego e roteamento (melhor caminho) dos dados na rede.
Protocolos da camada de Rede: Protocolo Roteado o protocolo que pode ser roteado por um roteador. Ex: Apple Talk, DECnet, IPX e IP. Protocolo de Roteamento o que efetua o roteamento atravs da implementao de um algoritmo de roteamento especfico. Ex: IGRP, OSPF e RIP.
2.2.4) A camada de Transporte
A funo bsica desta camada aceitar dados da camada acima dela, dividi-los em unidades menores caso necessrio, repassar essas unidades camada de rede e assegurar que todos os fragmentos chegaro corretamente outra extremidade (garantia fim-a-fim usando os cabealhos de mensagens e as mensagens de controle).
A camada de transporte tambm determina que tipo de servio que deve ser fornecido camada de Sesso e, em ltima anlise, aos usurios da rede. O tipo de servio determinado quando a conexo estabelecida. Esta camada protege os dados que esto sendo enviados, subdivide-os em segmentos e cria testes checksum (que so somas matemticas baseadas nos contedos dos dados) que possam ser utilizados posteriormente para determinar se os dados foram truncados. Pode tambm fazer cpias de segurana dos dados.
Principais protocolos da camada de transporte:
Protocolo TCP: Orientado para conexo; Confivel; Divide as mensagens enviadas em segmentos; Reagrupa as mensagens na estao de destino; Reenvia tudo o que no foi recebido; Reagrupa as mensagens a partir de segmentos recebidos; Cuida tambm do controle de fluxo.
Protocolo UDP: Sem conexo; No confivel; No fornece verificao de software para a entrega da mensagem; Reagrupa as mensagens de entrada; No usa confirmaes; No fornece controle de fluxo.
2.2.5) A camada de Sesso
A camada de sesso permite que os usurios de diferentes mquinas estabeleam sesses entre eles. Uma sesso oferece diversos servios, inclusive o controle de dilogo (mantendo o controle de quem deve transmitir em cada momento), o gerenciamento de token (impedindo que duas partes tentem executar a mesma operao crtica ao mesmo tempo) e a sincronizao (realizando a verificao peridica de transmisses longas para permitir que elas continuem a partir do ponto em que estavam ao ocorrer uma falha).
Esta camada abre a comunicao e tem a tarefa de manter a comunicao fluindo entre todos os ns da rede. Ela determina fronteiras para o incio e o fim da mensagem e estabelece se a mensagem ser enviada em half-duplex ou full-duplex (controle de dilogos).
2.2.6) A camada de Apresentao
A camada de apresentao est relacionada sintaxe e semntica das informaes transmitidas. Gerencia estruturas de dados abstratas e permite a definio e o intercmbio de estruturas de dados de nvel mais alto.
Em outras palavras, esta camada garante que a mensagem ser transmitida em uma linguagem que o computador receptor possa entender, fornecendo converses de formato ou cdigo, preservando o contedo da informao enquanto resolve problemas de diferenas de sintaxe entre o sistema-fonte e o sistema-destino. Traduz a linguagem, se necessrio, comprimindo ou mesmo criptografando dados. Acrescenta outro cabealho especificando a linguagem, bem como esquemas de criptografia e compresso.
2.2.7) A camada de Aplicao
A camada de aplicao contm uma srie de protocolos comumente necessrios para os usurios. Dentre eles temos: HTTP (texto), SMTP e POP (correio eletrnico), FTP (transferncia de arquivos), DNS, TELNET, etc. Este nvel, dentro do processo de comunicao representado pelo usurio final. Refere-se aos programas aplicativos que o usurio enxerga, que vo desde os aplicativos de comunicao at os mais tradicionais, existentes para redes de micros e funcionam nesses ambientes integrados.
2.3) Modelo de Referncia TCP/IP
Modelo OSI Modelo TCP/IP 7 Aplicao Aplicao 6 Apresentao --- 5 Sesso --- 4 Transporte Transporte 3 Rede Inter-Redes ou Internet 2 Enlace Host/Rede ou Interface de Rede 1 Fsica Quando foram criadas as redes de rdio e satlite, comearam a surgir problemas com os protocolos existentes, o que forou a criao de uma nova arquitetura de referncia. Desse modo, a habilidade para conectar vrias redes de maneira uniforme foi um dos principais objetivos do projeto.
Essa arquitetura ficou conhecida como Modelo de Referncia TCP/IP, graas a seus dois protocolos.
2.3.1) A camada Host/Rede ou Camada de Acesso Rede
Abaixo da camada Inter-Redes, encontra-se um grande vcuo. O modelo de referncia TCP/IP no especifica muito bem o que acontece ali, exceto o fato de que o host tem de se conectar rede utilizando algum protocolo para que seja possvel enviar pacotes IP. Podemos dizer que os servios que eram executados nas camadas Fsica e Enlace, do modelo OSI foram resumidos nesta camada do modelo TCP/IP.
2.3.2) A camada Inter-Redes ou Internet
Sua tarefa permitir que os hosts injetem datagramas em qualquer rede e garantir que eles trafeguem independentemente at o destino (talvez em uma rede diferente). Estes datagramas podem at chegar fora de ordem, obrigando as camadas superiores a reorganiz-los. Essa camada est presente na Internet, da o termo Inter-Redes. Como vimos anteriormente, a Internet uma rede de redes.
A camada Inter-Redes define um formato de datagrama oficial e um protocolo chamado IP (Internet Protocol). A tarefa desta camada entregar datagramas IP onde eles so necessrios. O roteamento de datagramas uma questo de grande importncia nessa camada, assim como a necessidade de evitar o congestionamento. Por esses motivos, razovel dizer que a funo da camada Inter-Redes do Modelo TCP/IP muito parecida com a da camada de Rede do Modelo OSI.
A camada de rede da Internet tem dois componentes principais. Um deles um protocolo que define os campos no 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 tm 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.
2.3.3) A camada de Transporte
A finalidade desta camada permitir que as entidades pares dos hosts de origem e de destino mantenham uma conversao, exatamente como acontece na camada de transporte do modelo OSI.
Dois protocolos fim-a-fim foram definidos: TCP e UDP.
2.3.4) A camada de Aplicao
O modelo TCP/IP no tem as camadas de Apresentao e Sesso. Como no foi percebida qualquer necessidade, elas no foram includas. A experincia com o Modelo OSI demonstrou a correo dessa tese. A camada de Aplicao contm todos os protocolos de nvel mais alto vistos na tabela a seguir.
Protocolos e redes no modelo TCP/IP
2.4) Uma analogia de como funciona as camadas dos modelos quando enviamos um e-mail
1) O usurio usa um aplicativo de correio eletrnico para digitar a mensagem. No momento do envio estar sendo usada a camada de aplicao. Os caracteres precisam ser compilados para trafegar pela rede. 2) Depois de compilados, os dados so empacotados para serem transportados pela rede. Nesse momento usamos segmentos e asseguramos a confiabilidade da comunicao entre dois hosts.
3) Os dados so colocados em um pacote (OSI) ou datagrama (TCP/IP) que contm um cabealho de rede com endereos lgicos de origem e destino. Esses endereos ajudam os dispositivos da rede a enviar os pacotes atravs da rede por um caminho escolhido. 4) Cada dispositivo da rede deve colocar o pacote dentro de um quadro. O quadro permite a conexo com o prximo dispositivo da rede diretamente conectado no link. 5) Por fim as informaes so transformadas em 0 e 1 (bits) e estas so levadas ao meio fsico para que possam trafegar at o destino.
2.4) Camadas, mensagens, segmentos, datagramas e quadros, Encapsulamento
Como vimos anteriormente, comutadores de camada de enlace (switch) e roteadores, ambos so comutadores de pacotes. De modo semelhante a sistemas finais, roteadores e comutadores de camada de enlace no implementam todas as camadas da pilha de protocolos, normalmente implementam apenas as camadas de baixo.
Como mostra a figura anterior, comutadores de camada de enlace implementam as camadas 1 e 2; roteadores implementam as camadas 1, 2 e 3. Isso significa, por exemplo, que roteadores da camada de Internet so capazes de implementar o protocolo IP (da camada 3), mas comutadores da camada de enlace no. Veremos mais adiante que, embora no reconheam endereos IP, comutadores da camada de enlace so capazes de reconhecer endereos da camada 2, tais como endereos da Ethernet.
Note que sistemas finais implementam todas as cinco camadas, o que consistente com a noo de que a arquitetura da Internet concentra sua complexidade na periferia da rede. Nesta figura vemos um importante conceito: encapsulamento. 1) Uma mensagem de camada de aplicao na mquina emissora (M) passada para a camada de transporte. 2) No caso mais simples, esta pega a mensagem e anexa informaes adicionais (denominadas informaes de cabealho de camada de transporte, Ht) que sero usadas pela camada de transporte do lado receptor. 3) A mensagem de camada de aplicao e as informaes de cabealho da camada de transporte, juntas, constituem o segmento de camada de transporte, que encapsula a mensagem de camada de transporte.
OBS: As informaes adicionais podem incluir dados que habilitem a camada de transporte do lado do receptor a entregar a mensagem aplicao apropriada, alm de bits de deteco de erro que permitem que o receptor determine se os bits da mensagem foram modificados em trnsito. 4) A camada de transporte ento passa o segmento camada de rede, que adiciona informaes de cabealho de camada de rede (Hn), como endereos de sistemas finais de origem e destino, criando um datagrama de camada de rede. 5) Este ento passado para a camada de enlace, que adicionar suas prprias informaes de cabealho e criar um quadro de camada de enlace.
OBS: O processo de encapsulamento pode ser mais complexo do que o descrito acima. Por exemplo, uma mensagem grande pode ser dividida em vrios segmentos de camada de transporte (que tambm podem ser divididos em vrios datagramas de camada de rede). Na extremidade receptora, cada segmento deve ser reconstrudo a partir dos datagramas que o compem. Resumo do que venha a ser Encapsulamento:
Para que haja informao, tem que haver origem e destino, atravs de pacotes. Os dados so empacotados, ou seja, feito o encapsulamento, antes de serem enviados. O encapsulamento empacota as informaes de protocolo necessrias antes do trnsito pela rede. Assim, medida que o pacote de dados desce pelas camadas do modelo OSI, ele recebe cabealhos, trailers e outras informaes. 2.5) PDU e SDU
PDU Protocol Data Unit Para que os pacotes trafeguem pela rede, preciso que cada camada se comunique com a camada par de destino. Essa forma de comunicao chamada de comunicao ponto a ponto.] Durante esse processo, o protocolo de cada camada troca informaes, atravs do que chamamos de comunicao virtual, e essas informaes so chamadas de PDU.
PDU da camada de Transporte Segmento PDU da camada de Rede Pacote PDU da camada de Enlace Quadro As demais camadas no possuem PDU. 7
6
5
4
3
2
1
0 10000101110101010 Bits DADOS D D D D D D CR + CT + D D D CE + CR + CT + PDU Segmento PDU Pacote (OSI) ou Datagrama (TCP/IP) PDU Quadro Definimos SDU (Service Data Unit) como sendo os dados do usurio mais o cabealho da camada superior.