Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila
Apostila
CENTRO TECNOLGICO
DEPARTAMENTO DE AUTOMAO E SISTEMAS
Das 5331- sistemas distribudos e
REDES de computadores para
controle e AUTOMAO industrial
PROF. DR.-ING. MARCELO RICARDO STEMMER
Verso 2001
1
1. Introduo geral.......................................................................................................................5
2. As Redes de Comunicao......................................................................................................5
2.1. INTRODUO...............................................................................................................5
2.1.1. Histrico das Redes de Comunicao.......................................................................5
2.1.2. Importncia das Redes de Comunicao...................................................................6
2.1.3. Extenso e Topologia das Redes de Comunicao...................................................7
2.1.4. Aspectos Arquiteturais das Redes de Comunicao.................................................9
2.2. O MODELO DE REFERNCIA OSI............................................................................17
2.2.1. Introduo...............................................................................................................17
2.2.2. A Arquitetura OSI e as Funes das Camadas........................................................17
2.2.3. A Comunicao no RM-OSI...................................................................................22
2.2.4. Os Conceitos do Modelo RM-OSI..........................................................................23
2.3. SERVIOS E PROTOCOLOS OSI..............................................................................28
2.3.1. Introduo...............................................................................................................28
2.3.2. A Camada Fsica.....................................................................................................28
2.3.3. A Camada de Enlace de Dados...............................................................................43
2.3.4. A Camada de Rede..................................................................................................68
2.3.5. A Camada de Transporte.........................................................................................84
2.3.6. A Camada de Sesso.............................................................................................105
2.3.7. A Camada de Apresentao..................................................................................116
2.3.8. A Camada de Aplicao........................................................................................134
2.4. A INTERCONEXO DE REDES...............................................................................145
2.4.1. Introduo.............................................................................................................145
2.4.2. Aspectos da conectividade....................................................................................147
2.4.3. A interconexo segundo o modelo OSI................................................................149
2.4.4. As diferentes possibilidades de interconexo.......................................................150
2.4.5. Os Repetidores (Repeaters)...................................................................................151
2.4.6. As pontes (bridges)...............................................................................................153
2.4.7. Os roteadores (routers)..........................................................................................154
2.4.8. As passarelas (gateways).......................................................................................155
2.4.9. Concentradores.....................................................................................................156
3. AS Redes locais industriais.................................................................................................158
3.1. Introduo........................................................................................................................158
3.1.1. As redes e os nveis hierrquicos de integrao fabril..............................................159
3.2. redes locais industriais ....................................................................................................162
3.2.1. Motivao..................................................................................................................162
3.2.2. Caractersticas bsicas das redes industriais.............................................................162
3.2.2.1. Comportamento temporal .................................................................................162
2
3.2.2.2. Confiabilidade....................................................................................................182
3.2.2.3. Requisitos do meio ambiente.............................................................................183
3.2.2.4. Tipo de mensagens e volume de informaes....................................................185
3.2.3. Projetos de Padronizao de redes industriais..........................................................186
3.2.3.1. Projeto PROWAY..............................................................................................186
3.2.3.2. Projeto IEEE 802 e ISO/IEC 8802.....................................................................186
3.2.3.3. Projeto MAP......................................................................................................203
3.2.3.4. Projeto TOP........................................................................................................203
3.2.3.5. Projeto FIELDBUS............................................................................................204
3.3. O Projeto MAP (Manufacturing Automation Protocol)...................................................205
3.3.1. Introduo.................................................................................................................205
3.3.2. A arquitetura MAP....................................................................................................206
3.3.3. A arquitetura MAP-EPA...........................................................................................208
3.3.4. A arquitetura Mini-MAP...........................................................................................209
3.3.5. Os servios de mensagem industrial (MMS)............................................................209
3.3.5.1. Os objetos MMS................................................................................................211
3.3.5.2. Os servios MMS...............................................................................................212
3.4. Redes Fieldbus.................................................................................................................217
3.4.1. Motivaes e Requisitos do Fieldbus........................................................................217
3.4.2 A proposta FIP (Factory Instrumentation Protocol)...................................................222
3.4.2.1. Introduo..........................................................................................................223
3.4.2.2. A camada Fsica ................................................................................................223
3.4.2.3. A camada de Enlace...........................................................................................223
3.4.2.4. A Camada de Aplicao.....................................................................................226
3.4.2.5. Funes de gerenciamento da rede.....................................................................227
3.4.3. A proposta PROFIBUS (PROcess FIeld BUS).........................................................227
3.4.3.1. Introduo..........................................................................................................227
3.4.3.2. A camada fsica..................................................................................................228
3.4.3.3. A camada de enlace............................................................................................228
3.4.3.4. A camada de Aplicao......................................................................................230
3.4.4. A proposta ISA SP-50...............................................................................................233
3.4.4.1. Introduo..........................................................................................................233
3.4.4.2. A camada Fsica.................................................................................................233
3.4.4.3. A camada de Enlace...........................................................................................234
3.4.4.4. A camada de Aplicao......................................................................................237
3.4.4.5. Camada do Usurio............................................................................................237
3.4.4.6. Servios de Gerenciamento de rede...................................................................238
3.4.5. Concluses................................................................................................................238
3
3.5. Anlise de alguns Produtos comerciais............................................................................239
3.5.1. Introduo.................................................................................................................239
3.5.2. Redes para Instrumentao........................................................................................239
3.5.3. Redes para automao de escritrios........................................................................240
3.5.4. Softwares para rede...................................................................................................241
3.5.4.1. Novell Netware..................................................................................................241
3.5.4.2. LAN-Manager....................................................................................................242
3.5.4.3. LAN-Server........................................................................................................242
3.5.4.4. PC-LAN.............................................................................................................242
3.5.4.5. NetBios...............................................................................................................242
3.5.4.6. TCP/IP................................................................................................................242
3.5.5. redes industriais.........................................................................................................247
3.5.5.1. Redes SINEC (Siemens) ...................................................................................247
3.5.5.2. Bitbus (INTEL)..................................................................................................248
3.5.5.3. CAN (Controller Area Network).......................................................................250
3.5.5.4. VAN (Vehicle Area Network)...........................................................................253
3.5.5.5. Devicenet...........................................................................................................253
3.5.5.6. Controlnet...........................................................................................................257
3.5.5.7. O Protocolo HART............................................................................................258
3.5.5.8. INTERBUS-S ....................................................................................................259
3.5.5.9. ASI-BUS ...........................................................................................................261
3.5.5.10. FAIS ................................................................................................................263
3.5.5.11. LON .................................................................................................................264
3.5.5.12. P-NET .............................................................................................................268
3.5.5.13. SERCOS .........................................................................................................269
3.5.5.14. MODBUS.........................................................................................................271
3.5.5.15. redes IBM.........................................................................................................272
3.5.6. Concluso e discusses.............................................................................................273
Bibliografia.............................................................................................................................274
4
1. INTRODUO GERAL
2. AS REDES DE COMUNICAO
2.1. INTRODUO
2.1.1. HISTRICO DAS REDES DE COMUNICAO
A evoluo da microeletrnica e da informtica tem possibilitado a obteno de
processadores eoutros componentes decomputadores cadavez mais potentes evelozes, em
umtamanho mais reduzido e com um preo acessvel a um nmero cada vez maior de
pessoas. Os microprocessadores existentes hoje emdia, que ocupamespao menor do que
umacaixadefsforos, substituemeultrapassamas capacidades dos computadores dealguns
anos atrs, queocupavamsalas inteiras. Estes erammquinas bastantecomplexas no quediz
respeito sua utilizao e que ficavamemsalas isoladas, s quais muito poucas pessoas
tinhamacesso, sendo operadas apenas por especialistas (analistas de sistema). Os usurios
daqueles computadores normalmentesubmetiamseus programas aplicativos como jobs (ou
tarefas) que executavam sem qualquer interao com o autor do programa.
Umaprimeiratentativadeinteraocomocomputador ocorreunoinciodosanos 60,
comatcnicadetime-sharing, quefoi o resultado do desenvolvimento das teleimpressoras
e da tecnologia de transmisso de dados. Nesta tcnica um conjunto de terminais era
conectado aumcomputador central atravs delinhas decomunicao debaixavelocidade, o
que permitia aos usurios interagir comos seus programas. A necessidade de conexo de
terminais para o processamento interativo foi o ponto de partida para o estabelecimento de
necessidades de comunicao nos computadores. A tcnica de time-sharing permitia a um
grandeconjuntodeusuriosocompartilhamentodeumnicocomputador paraaresoluode
umagrandediversidadedeproblemas eas aplicaes desenvolvidas foramcadavez mais se
multiplicando e se diversificando (clculos complexos, produo de relatrios, ensino de
programao, aplicaes militares, etc). Este aumento na demanda implicava numa
necessidadecrescentedeatualizaes eincrementos nas capacidades dearmazenamento ede
clculo na unidade central, o que nem sempre era vivel ou possvel, dado que os
computadores do tipo "mainframe" nemsempre eramadaptados para suportar determinadas
extenses.
Nos anos 70, com o surgimento dos minicomputadores, foi possvel adaptar as
capacidadesdeprocessamentosreaisnecessidadesdeumadadaaplicao. Almdisso, dado
que emuma empresa umgrande nmero de usurios operavamsobre conjuntos comuns de
5
informaes, anecessidadedocompartilhamentodedados, dedispositivosdearmazenamento
e de perifricos entre os vrios departamentos de uma empresa deu umnovo impulso aos
trabalhos no sentido de se resolver os problemas de comunicao entre os computadores.
Estes novos tipos de aplicaes exigiamuma velocidade e uma capacidade de transmisso
muito mais elevadas queno caso daconexo determinais aumcomputador central. Assim,
com a utilizao de minicomputadores interconectados, obtinha-se uma capacidade de
processamento superior quela possvel com a utilizao dos mainframes. Outro aspecto
interessante que as redes podiam ser estendidas em funo das necessidades de
processamentodasaplicaes. Almdisso, amodularidadenatural dasredesdecomputadores
era tal que uma falha numminicomputador (ou na comunicao via rede) tinha umefeito
bastante limitado em relao ao processamento global.
Atualmente, as vantagens dos sistemas distribudos einterconectados umaevidncia
reconhecidaparaas aplicaes mais diversas, desdeaautomao deescritrios atocontrole
de processos, passando por aplicaes de gerenciamento bancrio, reservas de passagens
areas, processamento de texto, correio eletrnico, etc...
2.1.2. IMPORTNCIA DAS REDES DE COMUNICAO
Um grande nmero de empresas possui atualmente uma quantidade relativamente
grandedecomputadores operandonos seus diversos setores. Umexemplodestefatoaquele
deumaempresaquepossui diversasfbricascontendocadaumaumcomputador responsvel
dasatividadesdebasedafbrica(controledeestoques, controledaproduoe, oquetambm
importante, aproduodafolhadepagamentos). Nesteexemplo, apesar dapossibilidadede
operao destes computadores de maneira isolada, evidente que sua operao seria mais
eficienteseeles fossemconectados para, por exemplo, permitir otratamentodas informaes
de todas as fbricas da empresa. O objetivo da conexo dos diferentes computadores da
empresa permitir o que poderamos chamar de compartilhamento de recursos, ou seja,
tornar acessveis a cada computador todos os dados gerados nas diversas fbricas da empresa.
Umoutro ponto importantedaexistnciadas Redes deComunicao relacionado a
um aumento na confiabilidade do sistema como um todo. Pode-se, por exemplo, ter
multiplicados os arquivos emduas ou mais mquinas para que, emcaso de defeito de uma
mquina, cpias dos arquivos continuaro acessveis em outras mquinas. Alm disso, o
sistema pode operar emregime degradado no caso de pane de umcomputador, sendo que
outramquinapodeassumir asuatarefa. A continuidadedefuncionamento deumsistema
ponto importante para um grande nmero de aplicaes, como por exemplo: aplicaes
militares, bancrias, o controle de trfego areo, etc.
A reduo de custos uma outra questo importante da utilizao das Redes de
Comunicao, umavez quecomputadores depequeno porteapresentamumamenor relao
preo/desempenho queos grandes. Assim, sistemas queutilizariamapenas umamquinade
6
grande porte e de custo muito elevado podemser concebidos base da utilizao de um
grandenmerodemicrocomputadores(ouestaesdetrabalho) manipulandodadospresentes
num ou mais servidores de arquivos.
2.1.3. EXTENSO E TOPOLOGIA DAS REDES DE COMUNICAO
2.1.3.1. Redes locais e redes de longa distncia
Na seo anterior foramapresentados dois exemplos de implementao de Redes de
Comunicao: no primeiro caso, o sistema era composto de diversos computadores
espalhados cada um numa fbrica da empresa.
No segundo caso, o sistema era composto de diversos microcomputadores, podendo
todos estar localizados na mesma sala ou em salas vizinhas num mesmo edifcio.
A diferenanadimenso das Redes deComunicao introduz diferentes problemas e
necessidades edeve, ento, ser objeto deumaclassificao. No quediz respeito ao exemplo
dosmicrocomputadores, aredeclassificadacomosendoumaRede de rea Local (ouLAN -
Local Area Network), caracterizadaparticularmentepor umapequenaextenso, limitando-se
normalmente interconexo de computadores localizados numa mesma sala, nummesmo
prdio ounumcampus. Nesteltimo caso, elarecebeadenominao deCAN (Campus Area
Network).
No exemplo da empresa possuindo diversas fbricas, a rede utilizada permitiria
conectar computadores localizados emdiferentes prdios numamesmacidadeoumesmo em
cidadesdistantesdeumadadaregio. IstocaracterizaumaRede de Longa Distncia (ouWAN
- Wide Area Network). Seas estaes interligadas esto situadas namesmacidade, utiliza-se
freqentemente a denominao MAN (Metropolitan Area Network).
2.1.3.2. As diferentes topologias
Um ponto importante no que diz respeito concepo de uma rede de comunicao a
definio da maneira como as diferentes estaes sero associadas. Inicialmente, podemos
distinguir doistiposprincipaisdeconcepo: oscanaisemmodoponto-a-ponto eoscanaisde
difuso.
Nos canais em ponto-a-ponto, aredecompostadediversas linhas decomunicao,
cada linha sendo associada conexo de um par de estaes.
Neste caso, se duas estaes devemse comunicar semo compartilhamento de um
cabo, a comunicao ser feita de modo indireto, atravs de uma terceira estao. Assim,
quando umamensagem(ou pacote) enviadadeumaestao aoutradeformaindireta(ou
seja, atravs de uma ou mais estaes intermedirias), ela ser recebida integralmente por
cadaestaoe, umavez quealinhadesadadaestaoconsideradaestlivre, retransmitida
estaoseguinte. Estapolticadetransmissotambmconhecidacomostore and forward
ou comutao de pacotes. A maior parte das redes de longa distncia do tipo ponto-a-ponto.
7
Asredesponto-a-pontopodemser concebidassegundodiferentestopologias. Asredes
locaisponto-a-pontosocaracterizadasnormalmentepor umatopologiasimtrica; asredesde
longa distncia apresentamgeralmente topologias assimtricas. A figura 2.1.1 apresenta as
diferentes topologias possveis nas redes ponto-a-ponto.
Umaoutraclassederedes, asredes de difuso, caracterizadapelocompartilhamento,
por todasasestaes, deumalinhanicadecomunicao. Nestecaso, asmensagensenviadas
por uma estao so recebidas por todas as demais conectadas ao suporte, sendo que um
campo de endereo contido na mensagem permite identificar o destinatrio.
Narecepo, amquinaverificaseo endereodefinido no campo correspondeaoseu
e, emcaso negativo, a mensagem ignorada. As redes locais pertencemgeralmente a esta
classe de redes.
Nas redes de difuso, existe a possibilidade de uma estao enviar uma mesma
mensagemsdemaisestaesdarede, utilizandoumcdigodeendereoespecial. Estaforma
decomunicao recebeo nomedeBroadcasting. Nestecaso, todas as estaes vo tratar a
mensagemrecebida. Pode-seaindaespecificar umamensagemdemodoqueestasejaenviada
a um subgrupo de estaes da rede. Esta forma de comunicao recebe o nome de
Multicasting. A figura 2.1.2 apresenta algumas topologias possveis no caso das redes a
difuso.
Numa rede em barramento, geralmente uma nica mquina autorizada a cada
instanteatransmitir umamensagem aestaomestra do barramento. Asdemaisestaes
devemesperar autorizaoparatransmisso. Paraisto, ummecanismodearbitragem deveser
implementado para resolver possveis problemas de conflito (quando duas ou mais estaes
querem enviar uma mensagem), este mecanismo podendo ser centralizado ou distribudo.
No caso das redes desatlite(ourdio), cadaestao dotadadeumaantenaatravs
daqual podeenviar ereceber mensagens. Cadaestaopodeescutar osatlitee, emalguns
casos, receber diretamente as mensagens enviadas pelas demais estaes.
(a) (b) (c)
(d)
(e)
8
Figura 2.1.1 - Topologias ponto-a-ponto: (a) estrela; (b) anel; (c) rvore;
(d) malha regular; (e) malha irregular.
satlite
(a) (b) (c)
Figura 2.1.2 - Topologias das redes de difuso: (a) barramento; (b) satlite; (c) anel.
No caso do anel, cada bit transmitido propagado de maneira independente em relao
mensagem(oupacote) ao qual elepertence. Emgeral, cadabit realizaumavoltacompleta
do anel duranteotempo necessrioparaaemissodeumcertonmerodebits, antes mesmo
daemisso completadamensagem. Tambmnestatopologia, necessriaaimplementao
deummecanismodeacessoaosuportedecomunicao. Existemdiferentestcnicasparaeste
fim que sero discutidas ao longo do curso.
As redes dedifusopodemaindaconsiderar duasclasses demecanismos deacessoao
suportedecomunicao: estticas oudinmicas. Umexemplo do primeiro caso adefinio
deintervalos detempo duranteos quais cadaestao temapossedo canal decomunicao,
permitindo ento queestaemitaamensagemdemaneiracclica. No entanto, estapoltica
bastanteineficientedo ponto devistado envio das mensagens, umavez quemuitas estaes
no vo enviar mensagens nos intervalos aelas destinadas. J naoutraclassedemecanismos
(dinmicos), o acesso dado s estaes segundo a demanda de envio de mensagens. Nos
mecanismos de acesso dinmicos, pode-se ainda considerar dois casos:
osmecanismoscentralizados, nosquaisumaestaocentral (rbitro) aresponsvel
da definio do direito de acesso ao suporte de comunicao;
os mecanismos distribudos, nos quais cada estao define quando elavai emitir a
mensagem.
Estudaremos estes mecanismos em mais detalhe mais a frente no curso.
2.1.4. ASPECTOS ARQUITETURAIS DAS REDES DE COMUNICAO
2.1.4.1 Servios necessrios comunicao
9
Como visto nas sees precedentes, as redes de computadores podemsecaracterizar
por diferentes configuraes e topologias. Apesar da diversidade no que diz respeito a este
aspecto, todas as possveis configuraes tm um objetivo comum: atransferncia de dados.
O problema que se coloca ento relacionado especificao dos procedimentos e
mecanismos que devem ser implementados para viabilizar o funcionamento da rede. A
resoluo desteproblemabaseadaprincipalmenteno conhecimento prvio das funes que
devemser suportadas pelarede, assimcomo do ambienteno qual elavai ser inserida. Estes
aspectos sero mostrados aqui atravs de alguns exemplos.
O primeiro exemplo baseado napolticadetime-sharing mencionadanaseo 1.
Vamos considerar o caso emque temos apenas umterminal conectado a umcomputador,
como mostrado nafigura 2.1.3. Consideremos queumusurio vservir-sedo terminal para
processar informaes no computador central. Paraqueisto sejapossvel, necessrio queo
computador central sejadotado do programanecessrio ao tratamento daquelas informaes.
Emcaso positivo, o terminal e o computador devemestabelecer umdilogo que permita o
bomdesenrolar das operaes de tratamento das informaes. Este dilogo dever permitir,
por exemplo, que o usurio comunique sua inteno (de processar as informaes!) ao
computador e, emseguida, envie as informaes a seremprocessadas. Uma vez efetuado o
tratamento, o computador deve retornar os resultados ao terminal.
Esta seqncia de operaes, apesar de aparentemente elementar, requer a satisfao
deumasriedecondies. Vamossupor, por exemplo, queocomputador central eoterminal
tenham sido fabricados de forma totalmente independente um do outro, o que pode ter
resultado numa diferente filosofia no que diz respeito ao formato das informaes. Um
primeiroobstculoaser vencidoaqueledalinguagem; oterminal deveriaentoseadaptar
linguagemdocomputador central. Resolvidooproblemadecompreenso, umoutroproblema
encontrado diz respeito aos possveis erros de transmisso que podem ocorrer durante a
comunicao, uma vez que as linhas de comunicao esto sujeitas a rudos e outros
fenmenos podendo provocar perdas de informao. Alm disso, a taxa de transmisso
(baudrate) eaforma de representar os sinais binrios deveser igual emambososlados. Uma
outraquestopodeaindaestar relacionadavelocidade de funcionamento dos dois elementos.
Se considerarmos que o computador central opera numa velocidade superior do terminal,
por exemplo, o terminal corre o risco de ser bombardeado pelo fluxo de dados vindo do
computador, oquevai exigir entooestabelecimentodeummecanismodecontroledofluxo
de informao.
10
terminal
computador
central
Figura 2.1.3 - Terminal conectado a um computador central.
Resumindo, arededecomunicao deve, almdesuprir as funes detransmisso e
tratamento de informaes, oferecer servios de adaptao, deteco e correo de erros de
transmisso e controle de fluxo.
Vamosconsiderar agoraque, aoinvsdeumnicoterminal, vamosconectar ummaior
nmero deles ao computador central (figura 2.1.4).
Aqui, cada terminal pode, a princpio e a qualquer momento, tomar a iniciativa da
trocadedados como computador. Isto significaquecadaterminal terdeser caracterizado
por umendereo especfico, cuja utilizao correta vai permitir evitar que o computador
central envieas informaes aos terminais demaneiraindevida. Por outro lado, seo nmero
de terminais conectados ao computador central torna-se relativamente elevado (a fim de
permitir a utilizao mxima da capacidade de processamento deste), ser necessrio
organizar as interaes entreterminais eo computador central emsesses, detal formaque,
ao trmino de uma sesso entre um terminal e o computador central, este ter liberados
determinadoselementos(envolvidosnaquelasesso) quepoderoatender outrosterminaisem
estado de espera.
Ainda, considerando que nem todos os terminais vo efetuar o mesmo tipo de
tratamento deformasimultnea, dever-se-, ento, especificar aaplicao associada. Assim,
todas as necessidades vistas neste exemplo devero ser associadas s funcionalidades
definidas no exemplo anterior. Mas os problemas no terminampor aqui... (impossvel, no
momento, prever onde terminaro os problemas!).
terminais
computador
central
11
Figura 2.1.4 - Configurao com vrios terminais.
Vamos considerar ainda umexemplo, mais particularmente o de uma rede contendo
diversos computadores, terminais, etc, cadaumdestes elementos constituindo umn darede
(figura 2.1.5). Neste exemplo, os dois elementos envolvidos numa comunicao no sero
maisnecessariamenteadjacentes; almdisso, podemexistir diversas maneirasdeconect-los,
o que conduz a diferentes caminhos de envio de dados.
No exemplo mostrado na figura 2.1.5, os ns 1 e 5 podemser conectados por pelo
menos10caminhosdiferenteseaescolhadequal caminhoutilizar deverentoser realizada,
o que no uma tarefa to simples quanto possa parecer. A funo de escolha de uma
caminho adequado recebe o nome de Roteamento.
1
2 4
3
5
Figura 2.1.5 - Configurao com vrios computadores e terminais.
Ainda, se a rede da classe ponto-a-ponto (ou comutao de pacotes), o sistema de
comunicao deveassegurar acorretatransmisso (transporte) dainformao deumponto a
outro. Particularmente, sernecessrio garantir queas mensagens enviadas sero recuperadas
e reconstitudas na ordem correta no ponto de chegada.
Umrequisitotambmimportanteoaspectodacodificaodasmensagensdemodoa
evitar o acesso a informaes de parte de usurios alheios ao sistema considerado. A esta
funo, pode-seeventualmenteacrescentar tcnicas decompresso de dados, necessriasea
informao enviada demasiadamente redundante e o custo da comunicao alto.
2.1.4.2 Questes organizacionais
Umavez listadas as diferentes necessidades relacionadas aumarededecomunicao,
a questo que se coloca a da viabilidade de um projeto de rede, dada a quantidade de
funes a implementar.
12
Uma outra questo a do ordenamento das funes: o controle de fluxo deve ser
realizado antes ou depois da correo de erros? Uma vez resolvida esta questo, que
elementosdaredeseroresponsveisdaimplementaodestasfunes? Assoluesadotadas
so dependentes do suporte de transmisso utilizado? Elas continuam vlidas no caso de
expanso da rede? Estas questes representam, de certo modo, a necessidade de levar em
conta um certo ordenamento no que diz respeito adoo das solues a cada problema.
Umailustrao tpicado problemaaqueledas relaes internacionais: vamos supor
dois pases A e B, representados pelos seus respectivos presidentes que devemassinar um
acordo de cooperao industrial e comercial. Supondo que a organizao poltica dos dois
pases amesma, cadapresidentedeveconvocar o seuprimeiro ministro paraacompanhar a
execuo do acordo.
Em cada pas, o primeiro ministro vai convocar o ministro da indstria a fim de
implementar o acordo do ponto de vista industrial.
Supondo quefaz partedo acordo aconstruo deumnovo avio civil, o ministro da
indstriavai convocar o diretor das indstrias aeronuticas eespaciais paraqueestefaaos
primeiros contatos. Finalmente, odiretor vai contactar umindustrial do ramo erequisitar que
este contacte seu homlogo no pas B. Uma vez iniciado o processo de cooperao, os
industriais devero prestar informaes sobre o estado da cooperao administrao dos
seusrespectivospases, sendoqueainformaovai subindonahierarquiadaorganizaodos
pases, sendo filtrada em toda informao que possa parecer suprflua para o elemento
superior.
Este processo ilustrado na figura 2.1.6 e ele caracteriza, na verdade, a filosofia de
concepo das redes de comunicao, que baseada emdois conceitos fundamentais: o da
hierarquia e o da descentralizao, cuja conjuno vai permitir responder questo de
ordenao na adoo das solues. Segundo esta filosofia, uma tarefa global vista como
sendo decomposta medida que se vai descendo na hierarquia e que a nica interao fsica se
faz no seu nvel mais baixo.
Pas A Pas B
Primeiro Ministro
Ministro da
Indstria
Diretor do setor
aeronutico
Industrial
13
Figura 2.1.6 - A filosofia de concepo das redes, ilustrada por um processo de relaes
internacionais.
Podemos considerar que a comunicao entre dois ns de uma rede uma tarefa global
que afeta umsistema complexo e, conseqentemente, sujeita aplicao dos princpios de
hierarquizao e de descentralizao.
As vantagens da adoo destes princpios so, fundamentalmente:
facilidade de estudo e de implementao da rede a partir de elementos de base
existentes, o que permite a reduo dos custos de instalao;
simplificao de sua operao em funo da definio de regras formais;
garantiadeconfiabilidadedosistema, particularmentegraasaoencapsulamentodas
funes, o que permite limitar a propagao de erros e facilitar a manuteno;
garantia, pela modularidade, de um grau satisfatrio de evolutividade e de
extensibilidade da rede;
otimizar o desempenho.
Todosestesaspectosnosconduzemaconceber umaarquiteturadecomunicaocomo
sendo uma organizao de software e hardware estruturada em camadas.
2.1.4.3 A estruturao em camadas
Os conceitos de hierarquia e descentralizao podemser empregados de diferentes
formas, cada uma podendo implicar numtipo de rede particular. Emfuno desta provvel
multiplicidade, surgiu ento a necessidade de uma normalizao permitindo a conexo de
diferentes classes de hardware.
Para possibilitar anormalizao, foi necessrio estabelecer ummodelo terico capaz
de representar as relaes entre as diferentes tarefas implementadas nos diferentes nveis
hierrquicos. A possibilidadedeinterconexodeumnmeroqualquer desistemas, ouseja, de
conjuntosautnomospodendoefetuar tarefasdetratamentooudetransmissodeinformao,
era uma caracterstica essencial para o modelo a ser estabelecido.
A figura 2.1.7 ilustra a arquitetura hierarquizada emcamadas (no caso, 7 camadas),
que permitir introduzir o conjunto de conceitos relacionados ao modelo estabelecido.
O objetivo decadacamadao oferecimento deumdeterminado servio s camadas
superiores (utilizando-se, tambmdos servios oferecidos pelas camadas inferiores) deforma
a evitar que estas necessitem conhecer certos aspectos da implementao destes servios.
14
A camadan assumeacomunicaocomacamadan deumaoutramquina. Parafaz-
lo, ela se serve de um conjunto de convenes e regras que vo permitir gerir esta
comunicao. A esteconjuntoderegras econvenes, d-seo nomedeprotocolo dacamada
n, ou, simplesmente, protocolo n. As entidades representando camadas correspondentes em
diferentessistemassodenominadasprocessos pares, ouentidades pares. Osprocessospares
vo se comunicar ento atravs dos protocolos, como foi visto na parte 1 deste documento.
Comosepodever nafigura, noexistemeiodecomunicaofsicoentreasdiferentes
camadas (apenas o Meio de Transmisso entre as entidades pares da camada 1), o que
significa que no existe transferncia direta de dados entre a camada n de uma mquina
camada n de outra mquina. Na realidade, cada camada transfere os dados camada
imediatamenteinferior atacamadamais baixa; o dado ento transmitido outramquina
atravs do Meio de Transmisso. A comunicao entreas camadas vistaento como uma
comunicao virtual e representada, na figura 2.1.7, pelas linhas ligando cada par de
processos de uma camada.
Si stema A
Camada
7
Camada
6
Camada
5
Camada
4
Camada
3
Camada
2
Camada
1
Meio de Transmisso
Si stema B
Camada
7
Camada
6
Camada
5
Camada
4
Camada
3
Camada
2
Camada
1
Protocolo da camada 1
Protocolo da camada 2
Protocolo da camada 3
Protocolo da camada 4
Protocolo da camada 5
Protocolo da camada 6
Protocolo da camada 7
Interface
camadas
5/6
Interface
camadas
6/7
Interface
camadas
3/4
Interface
camadas
4/5
Interface
camadas
1/2
Interface
camadas
2/3
Interface
camadas
5/6
Interface
camadas
6/7
Interface
camadas
3/4
Interface
camadas
4/5
Interface
camadas
1/2
Interface
camadas
2/3
Figura 2.1.7 - Modelo hierarquizado em 7 camadas.
Cadacamada comunica-secomas camadas adjacentes atravs deumainterface, que
define as operaes elementares e os servios que a camada inferior oferece camada
considerada. Nomomentodadefiniodonmerodecamadasquevai compor umaredeedo
papel quecadaumadelas devecumprir, umatarefaimportanteseradefinio completadas
15
interfaces entre as camadas; isto vai implicar na definio do servio oferecido por cada
camada. Uma vantagemda correta definio das interfaces a facilidade de introduo de
modificaes nas implementaes das diferentes camadas; os mecanismos podem ser
implementados de forma diferente, desde que as interfaces anteriormente definidas sejam
respeitadas.
Aoconjuntodascamadascompondoumareded-seonomedearquitetura da rede, e
as especificaes daarquiteturadevemconter informaes suficientes parapermitir o correto
desenvolvimento darede, tanto do ponto devistado softwarequanto do hardware. Por outro
lado, os detalhes deimplementao dos mecanismos aimplementar emcadacamada, assim
como as especificaes detalhadas das interfaces no fazempartedadefinio daarquitetura
da rede.
A figura 2.1.8 permite ilustrar o processo da comunicao no contexto de uma
arquitetura multicamadas.
O processo dacamada7geraumamensagemm, quesertransmitidadestacamada
inferior segundo o que estiver definido pela interface das camadas 6/7.
m
M
M
M1
m
M
M
protocolo da
camada 2
protocolo da
camada 3
protocolo da
camada 4
protocolo da
camada 5
protocolo da
camada 6
protocolo da
camada 7
interface
6/7
interface
5/6
interface
6/7
interface
5/6
SISTEMA
FONTE
SISTEMA
DESTINO
TRANSMISSO RECEPO
H4 M2 H4
M2 H4 H3 H4 H3 M1
H4 H3 M1 H2 T2 H4 H3 M2 H2 T2 H4 H3 M1 H2 T2 H4 H3 M2 H2 T2
M2 H4 H3 H4 H3 M1
M1 H4 M2 H4
Figura 2.1.8 - Ilustrao da comunicao virtual numa arquitetura de rede.
Considera-sequeestatransmisso introduz algumas modificaes namensagem(por
exemplo, uma compresso de dados), o que justifica uma nova representao desta por M.
Estamensagem, por suavez, transmitidacamada5, atravs dainterfacedas camadas 5/6.
No exemplo considerado na figura, a mensagemno sofre modificaes, mas esta camada
efetua o controle de fluxo.
16
A camada 4 responsvel da decomposio da mensagem a fim de respeitar as
restries de tamanho que podem ser impostas pelas camadas inferiores. Assim, M
decomposta emM1 e M2. Para isto, inserido tambm na mensagem (ou nas partes da
mensagem) umcabealhoH4 contendoumainformaodecontrole, como, por exemplo, um
nmero de ordemque vai permitir, posteriormente, na camada 4 do sistema destinatrio, a
reconstruo da mensagema partir das partes recebidas. Outras informaes podemainda
estar contidas neste cabealho, como, por exemplo, o tamanho da mensagem, o instante de
envio, etc.
Nacamada3, feitaaescolhadas linhas desada(roteamento) eumnovocabealho,
H3, introduzido s mensagens. Na camada 2, almde umcabealho, H2, introduzido
tambm um sufixo, T2, contendo informaes especficas esta camada. A mensagem
finalmente entregue camada 1 para emisso via meio fsico.
Nosistemadestinatrio, oprocessoinversosedesenrola, sendoqueasmensagens vo
subindo, decamadaemcamada, eoscabealhosretiradosnascamadasrespectivas, demodoa
evitar que estes sejam transferidos s camadas que no lhes dizem respeito.
Umaspecto importante mostrado nesta figura o da comunicao virtual ocorrendo
entre as diferentes camadas pares. As camadas em cada nvel possuem uma viso da
comunicao horizontal, mesmo se as mensagens so na realidade transmitidas s camadas
inferiores pertencentes ao mesmo sistema.
2.2. O MODELO DE REFERNCIA OSI
2.2.1. INTRODUO
A grande importncia da interconexo dos computadores atravs de redes de
comunicao deu origema uma necessidade que foi tornando-se evidente medida que os
desenvolvimentos neste domnio foram acentuando-se: a padronizao das redes de
comunicao.
Iniciou-se, ento, no seio daISO (International Standards Organization), umareunio
de esforos no sentido de definir uma proposta de arquitetura normalizada para as redes de
comunicao. Dadaagrandediversidadedos equipamentos edas solues existentes no que
diz respeito comunicao, o resultado deste trabalho foi de fato a padronizao de um
modelo (denominado Modelo de Referncia) sobre o qual deveriam ser baseadas as
arquiteturas de redes de comunicao, de forma a permitir a interconexo de equipamentos
heterogneos, tornando transparente ao usurio a forma como esta interconexo fosse
implementada. Um sistema fundamentado em tal modelo de referncia dito um
sistema aberto, uma vez que este est aberto comunicao comoutros equipamentos, de
diferentes classes, fabricantes, modelos, etc.
Baseadanestafilosofia, aproposta, definidanumasriededocumentosproduzidospor
aquela organizao, foi denominada de Modelo de Referncia para a Interconexo de
17
Sistemas Abertos ou RM-OSI (Reference Model for Open Systems Interconnection), cujos
conceitos principais sero apresentados nas sees que seguem.
2.2.2. A ARQUITETURA OSI E AS FUNES DAS CAMADAS
O modelo OSI foi criado seguindo afilosofiadas arquiteturas multicamadas, descrita
no captulo precedente. Como mostraafigura 2.2.1, suaarquiteturadefine7 camadas, cujos
princpios de definio foram os seguintes:
cada camada corresponde a um nvel de abstrao necessrio no modelo;
cada camada possui suas funes prprias e bem definidas;
as funes de cada camada foramescolhidas segundo a definio dos protocolos
normalizados internacionalmente;
a escolha das fronteiras entre cada camada deveriam ser definidas de modo a
minimizar o fluxo de informao nas interfaces;
onmero decamadas deveriaser suficientementegrandeparaevitar arealizaode
funes muito diversas por uma mesma camada;
o nmero de camadas deveria ser suficientemente pequeno para evitar uma alta
complexidade da arquitetura.
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace de
Dados
Fsica
Protocolo de Transporte
Protocolo de Sesso
Protocolo de Apresentao
Protocolo de Aplicao
Aplicao
Apresentao
Sesso
Transporte
Enlace de
Dados
Rede
Fsica
Enlace de
Dados
Rede
Fsica
Enlace de
Dados
Rede
Fsica
protocolos internos
da sub-rede
SUB-REDE
IMP IMP
7
6
5
4
3
2
1
APDU
PPDU
SPDU
TPDU
PACOTE
QUADRO
BIT
IMP - Interface Message Processor
SISTEMA A SISTEMA B
Figura 2.2.1 - Arquitetura a sete camadas do modelo OSI.
Como se pode ver na figura 2.2.1, o modelo prev a comunicao entre subredes
atravs de IMPs (Interface Message Processors). Na figura, vemos ainda as unidades de
dados trocadas a nvel da arquitetura: APDU (Application Protocol Data Unit), PPDU
(Presentation Protocol Data Unit), ..., at BIT.
18
Vamosdescrever, aseguir, asprincipaisfunesrealizadaspor cadaumadascamadas
definidas no modelo RM-OSI.
A Camada Fsica responsvel pela transferncia de bits num circuito de
comunicao. Demaneirageral, asuafunogarantir quecadabit enviadodeumladoser
recebidodooutroladosemter alteradooseuvalor, ouseja, seobit enviadoesta1, eleser
recebido a 1 e no a 0. Para isto, as questes a serem resolvidas neste nvel so do tipo:
os modos de representao dos bits 0 e 1 de maneira a evitar ambigidades ou
confuses (valor datenso emvolts paraarepresentao dos valores 0e1dos bits,
durao de cada sinal representando um bit, a codificao dos sinais, etc...);
ostiposdeconectoresaseremutilizadosnasligaes(nmerodepinosutilizado, as
funes associadas a cada pino, ...);
a maneira como as conexes so estabelecidas para a iniciao de umdilogo e
como feita a desconexo ao final deste;
o modo de transmisso adotado ( unidirecional, bidirecional, ...);
o modo de conexo adotado (ponto-a-ponto, multiponto, ...);
o modo de tratamento dos erros (deteco, tratamento, etc...).
A concepo desta camada deve se relacionar definio das interfaces eltricas e
mecnicas, seus modos de funcionamento, o suporte de comunicao adotado, etc.
A Camada de Enlace de Dados tempor funo principal atransformao do meio de
comunicaobrutoemumalinhalivredeerros detransmisso paraacamadadeRede. Ela
efetua esta funo atravs da decomposio das mensagens em unidades de dados
denominadas quadros (Frames), que correspondem a algumas centenas de bytes. Estes
quadros so transmitidos seqencialmente e vo gerar quadros de reconhecimento enviados
peloreceptor. Nestacamada, as unidades dedados so enriquecidascomumconjuntodebits
adicionais (no incio efimdecadaquadro) demodo apermitir o reconhecimento destes ea
definio de um endereo para o destinatrio da mensagem.
Umproblematpicodestenvel odaocorrnciadeumaperturbaosobrealinhade
transmisso que provoque a deturpao ou destruio (perda) do quadro enviado. Esta
deturpao ou perda deve ser reconhecida e tratada (controle de erros de transmisso de
quadros). Neste caso, o quadro deve ser retransmitido para garantir a integridade da
informaotransferida. Por outrolado, deve-setambmevitar mltiplasretransmissesdeum
mesmo quadro, o que pode provocar a sua duplicao, por exemplo, se o quadro de
reconhecimento perdido.
Umaoutrafuno destacamadaevitar umaaltataxadeenvio dedados dapartedo
emissor no caso do sistema receptor no ter capacidade de absorver a informao mesma
19
taxa. Estemecanismodevepermitir informar aoemissor anecessidadedearmazenamentodos
dados a transmitir (controle de fluxo de quadros).
A Camada de Rede responsvel pelagesto desub-redes; eladefineaformacomo
ospacotes dedadosseroencaminhadosdoemissor aoreceptor (roteamento). Oscaminhosa
serem utilizados podem ser definidos em funo de tabelas estticas ou determinados
dinamicamente no momento de cada dilogo em funo das condies de trfego da rede. Esta
camada deve ainda efetuar a gesto dos problemas de congestionamento provocados pela
presena de uma quantidade excessiva de pacotes de dados na rede. Ela deve, finalmente,
resolver todos os problemas relacionados interconexo de redes heterogneas,
particularmente:
incompatibilidades no endereamento;
incoerncias em relao aos tamanhos das mensagens;
etc...
A Camada de Transporte representa uma interface entre as camadas orientadas
comunicao (1, 2 e 3) eas camadas orientadas aplicao (5, 6 e7). Ela recebeos dados
enviados da camada de sesso, devendo decomp-los, se for o caso, emunidades de dados
menores (partio) e garantir que todas as partes da mensagem vo ser transmitidas
corretamente outra extremidade. Esta funo deve ser suprida de maneira eficiente,
inclusive, sem que a camada de Sesso tome conhecimento de possveis alteraes na
tecnologia da parte material da rede.
Estacamadacria, normalmente, umaconexoderedeparacadaconexodetransporte
requerida pela camada de Sesso, embora, se as necessidades de velocidade de transmisso
sojustificadas, elapossaestabelecer diversasconexesderedeparaumamesmaconexode
transporte. Por outro lado, seo custo damanuteno deumaconexo deredeconsiderado
elevado, esta camada pode efetuar a funo inversa, ou seja, a multiplexao de vrias
conexes detransporte sobre uma mesma conexo de rede, estatarefa sendo feita de modo
transparente para a camada de Sesso.
Ela deve determinar, tambm, o tipo de servio oferecido camada de Sesso e,
conseqentemente, aos usurios da rede. Uma conexo de transporte tpica aquela de um
canal ponto-a-ponto, livre de erros de transmisso, transmitindo as mensagens na mesma
ordememqueelasforamenviadas. Por outrolado, outrasclassesdeserviospodemfornecer
uma conexo capaz de enviar as mensagens de modo isolado, mas sema garantia de uma
ordemcorreta na transmisso. O tipo do servio a ser fornecido definido no momento do
estabelecimento da conexo.
Umacaractersticadestacamadaqueelaimplementaumverdadeiro dilogo fim-a-
fim, ouseja, o programaexecutandonosistemafontedialogacomoprogramaexecutandona
20
mquina destino atravs dos cabealhos e informaes de controle contidas nas mensagens
destenvel. J nas camadas mais baixas, os protocolos operamentremquinas vizinhas eno
entreossistemasfonteedestino, dadoqueestespodemestar separadospor vriosIMPs. Esta
diferena fundamental, que se estende igualmente s camadas superiores (at a camada 7)
pode ser verificada pela ilustrao da figura 2.2.1.
Dado que esta camada responsvel do estabelecimento e trmino das conexes de
rede, eladevedefinir ummecanismodeendereamentoquepermitaaumsistemaindicar com
qual sistema ele deseja dialogar. Este endereamento indica os processos de aplicao
envolvidos no dilogo e no apenas os ns de rede envolvidos, como ocorre no
endereamento feito na camada de enlace de dados.
Finalmente, eladeveimplementar ummecanismo decontroledefluxo fim-a-fimpara
evitar queo sistemafonteenviemensagens numataxasuperior quelacomaqual o sistema
destino pode consumi-las.
A Camada de Sesso responsvel peloestabelecimentodesessesdedilogoparaos
usuriosdarede. Umasessoobjetivapermitir otransportededados, damesmaformaqueos
servios oferecidos pelacamadadeTransporte, mas elaofereceservios mais sofisticados de
comunicao que podem ser teis a determinadas aplicaes. Um exemplo disto a
possibilidadedeenvio, atravs deumasesso, deumarquivo dedados (ouprograma) deum
sistema a outro. Outro servio da camada de Sesso efetuar a gesto do dilogo, ou seja,
definir, por exemplo, se o dilogo vai ser efetuado em modo uni- ou bi-direcional.
Umservio tambmimportanteaqueledasincronizao do dilogo. Considere, por
exemplo, queumarquivo deveser transferido atravs deumasesso eestadevedurar duas
horas eque, por umarazo qualquer, o tempo mdio entreduas panes deumahora. Aps
umaprimeirainterrupo por pane, atransfernciadeverreiniciar, podendo ocasionar erros
de transmisso. Uma forma de evitar isto a insero de pontos de teste junto aos dados
fazendo comque, aps umainterrupo detransferncia, os dados sejamretomados apenas a
partir do ltimo ponto de teste.
A Camada de Apresentao oferece algumas funes freqentemente necessrias na
comunicao, de modo a poupar o usurio deste trabalho. Esta camada assume
particularmente as funes associadas formatao, sintaxe e semntica dos dados
transmitidos. Umexemplo tpico das funes efetuadas por esta camada a codificao da
informao num padro bem definido (ASCII, EBCDIC, etc).
Estacamadapodeaindasuprir outras funes associadas compresso dos dados, se
utilizando do conhecimento do significado da informao para reduzir a quantidade de
informao enviada, inclusive para implementar funes de confidencialidade e de
autenticao (proteo de acesso).
21
A Camada de Aplicao implementaumconjuntodeprotocolosbastantediversificado
eorientado aaplicaes bemdefinidas. Umexemplo disto o protocolo de terminal virtual,
quepermiteautilizao deumdeterminado programa(por exemplo, umeditor detextos) de
forma independente do tipo de terminal conectado rede. Outro servio importante o de
transferncia de arquivos, que permite adaptar o tipo do arquivo transferido forma
implementada pelo sistema de arquivamento do sistema considerado.
Na parte dedicada a esta camada veremos, alm destas, outras classes de servios
implementados a este nvel.
2.2.3. A COMUNICAO NO RM-OSI
A formacomoos dadossotransferidos aolongodomodeloOSI ilustradanafigura
2.2.2. Como se pode ver, o processo emissor vai enviar uma certa quantidade de dados ao
processo receptor. Eleenvia, ento, os dados camadadeAplicao queintroduz aestes um
cabealho de aplicao, AH, e envia a mensagem resultante camada de Apresentao.
Esta camada, por sua vez, introduz mensagem recebida um cabealho de
apresentao, PH, enviando a mensagem em seguida camada inferior.
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
protocolo de
aplicao
protocolo de
apresentao
protocolo de
sesso
protocolo de
transporte
protocolo de
rede
DADOS
processo
receptor
meio de transmisso de dados
Aplicao
processo
emissor
DADOS AH
DADOS PH
DADOS SH
DADOS TH
DADOS NH
DADOS DH
BITS
Aplicao
Figura 2.2.2 - Ilustrao da comunicao no modelo OSI.
22
importante ressaltar aqui que esta camada no toma conhecimento da existncia e
significado do cabealho deaplicao, considerando estecomo partedos dados compondo a
mensagem. Este processo detransferncia de camada a camadavai se repetindo at o nvel
fsico, quando os dados sero, enfim, transmitidos ao sistema destino. Neste sistema, os
diversos cabealhos introduzidos nas camadas de rede do sistema fonte vo sendo
interpretados e eliminados nas camadas correspondentes at que os dados cheguem ao
processo receptor.
O conceito fundamental da transferncia de dados que cada camada foi projetada
como se ela fosse realmente horizontal, quando na verdade a transmisso se d de modo
vertical.
Istoficaclaro, por exemplo, quandoacamadadeTransporteemissorarecebeumdado
dacamadadeSesso; elainsereumcabealhodetransporteeenviaamensagemcamadade
Redeemissora. Esteprocesso, portanto, paraacamadadeTransporte, no mais do queum
detalhe tcnico. Umexemplo anlogo aquele de umdiplomata de umpas fazendo um
discurso, nasuaprprialngua, nasNaesUnidas. Esteconsideraestar sedirigindoaos seus
colegas diplomatas de outros pases (suas entidades pares), embora, na prtica, ele esteja
dirigindo-se ao seu intrprete (a camada logo abaixo na hierarquia).
2.2.4. OS CONCEITOS DO MODELO RM-OSI
Como visto anteriormente, o objetivo de cada camada definida no modelo OSI
fornecer umdeterminado conjunto deservios camadaimediatamentesuperior. A nvel do
modelo derefernciaOSI, foi feitaumasriededefinies quevo permitir identificar cada
componentedomodelodeformaclaraenoambgua. objetivodestaseointroduzir estes
conceitos.
2.2.4.1 Terminologia OSI
A nvel de cada camada existemelementos ativos que implementamos servios e
protocolos relacionados com aquela camada. A estes elementos ativos, d-se o nome de
entidades, quepodemser entidadesdesoftwareoudehardware. sentidadeslocalizadasem
diferentes sistemas, mas associadas a um mesmo nvel (ou camada), d-se o nome de
entidades pares. As entidades recebemtambmumadenominao complementar emfuno
dacamadaqual elas esto relacionadas por exemplo, entidadedeaplicao, entidadede
apresentao, etc.
As entidades de uma camada N (ou entidades N) implementamumservio que
utilizado pela camada N+1. Assim, a camada N dita ser umfornecedor de servio e a
23
camadaN+1 denominadaumusurio de servio. Por outrolado, acamadaN poderutilizar
os servios da camada imediatamente inferior, a camada N-1 para oferecer os servios
camada superior. Ela pode ainda oferecer diferentes categorias (ou classes) de servios:
servios mais eficientes e mais caros ou servios menos eficientes e econmicos.
Os servios oferecidos por uma camada so acessveis empontos de acesso aos
servios, ouSAP (service access point). OsSAPsdacamadaN sooslugaresondeacamada
N+1 poder acessar os servios oferecidos, cada SAP sendo identificado por umendereo
nico. Por exemplo, os SAP de uma rede telefnica so as tomadas s quais podem ser
conectadososaparelhostelefnicoseseusendereossoosnmerosdetelefoneassociados
tomada considerada.
Paraqueduas camadaspossamtrocar informaes, existeumasriederegrasaserem
respeitadas, definidas pela interface. Atravs de uma interface, a camada N+1 envia uma
unidade de dados de interface, ou IDU (Interface Data Unit) entidadedacamadaN pelo
SAP. A IDU composta de uma parte denominada unidade de dados de servio, ou SDU
(Service Data Unit) e de informaes de controle de interface, ou ICI (Interface Control
Information). A SDU a informao transmitida via rede entidade par e, emseguida,
camadaN+1. A ICI utilizadaparaauxiliar agestodacamadainferior emseutrabalho(por
exemplo, o nmero de bytes compondo a SDU correspondente).
Para transmitir uma SDU, a entidade da camada N pode fragment-la emdiversas
partes, ecadapartevai receber umcabealho, sendoenviadacomoumaunidade de dados de
protocolo, ou PDU (Protocol Data Unit). Os cabealhos de PDU so utilizados pelas
entidades pares parao transportedo protocolo. Elas identificamaPDU contendo os dados e
aquelas contendo informaes de controle (nmeros de seqncia, contagens, etc). A figura
2.2.3ilustrao processo descrito. As PDUs recebemnormalmenteumadenominao segundo
acamadaqual estoassociadas. Por exemplo, asPDUsdeaplicaosoditasAPDU, assim
como as de apresentao so as PPDU, as de sesso SPDU, e assim por diante.
ICI SDU
SAP
ICI SDU
CAMADA N+1
CAMADA N
interface
SDU
cabealho
N-PDU
as entidades da
camada N trocam
N-PDUs via proto-
colos N
IDU
Figura 2.2.3 - Conceitos associados ao modelo de referncia OSI.
2.2.4.2 Servios orientados conexo e sem conexo
24
Comojfoi dito, ascamadaspodemoferecer diferentesclassesdeserviosscamadas
superiores. Estes servios podem ser orientados conexo ou sem conexo.
No quediz respeitoaos servios orientados conexo, podemos citar, comoexemplo
tpico o sistema telefnico. Para que seja possvel falar a algumno telefone, necessrio,
inicialmente, tirar ofonedogancho, digitar (oudiscar) umnmero, esperar queointerlocutor
atenda, falar e, finalmente, desligar. Este o princpio de base de umservio orientado
conexo: estabelecimento daconexo, utilizao do servio etrmino daconexo. Oaspecto
principal daconexo o fatodequeelafuncionacomoumaespciedecanal atravs doqual
iro transitar os objetos ou mensagens envolvidas na realizao do servio.
J os servios sem conexo so estruturados como o sistema postal, onde cada
mensagem(oucarta, seconsideramos o exemplocitado) contmo endereo dodestinatrio e
entoencaminhadapelo sistema, independentedeoutras mensagens. Normalmente, seduas
mensagens so enviadas a um mesmo destinatrio, a primeira a ser enviada deve ser a
primeira a ser recebida. Por outro lado, neste modo de servio pode ocorrer que uma
mensagemsejaatrasadafazendocomqueasegundamensagemsejarecebidaprimeiro. J nos
servios orientados conexo, isto jamais poder acontecer.
Cadaserviocaracterizado por umaqualidadedeservio. Umservio ditoconfivel
aquele emque os dados nunca podemser perdidos. Normalmente, a implementao de
servios confiveis feita atravs da definio de mensagens de reconhecimento enviadas
peloreceptor, paracadamensagemrecebidadoemissor. Esteprocesso, emboraextremamente
benfico, introduz umalentidonatransfernciadedados, oquesignificaquenemsempreele
desejvel num sistema.
Nemtodas as aplicaes requeremautilizao deconexes. Umexemplo disto pode
ser o deumaaplicao decorreio eletrnico. Pode-seimaginar umaaplicao decorreio em
que o usurio no se interesse pelo estabelecimento de uma conexo e tampouco por uma
confiabilidade de 100% no que diz respeito chegada das mensagens. Os servios sem
conexo e no-confiveis so denominados servios de datagrama.
Existemcasos, porm, emque, apesar denonecessitar oestabelecimentodeconexo,
a confiabilidade essencial. O servio utilizado neste caso dito de datagrama com
reconhecimento.
Oserviodepedido-resposta jumoutrotipodeservionoqual oemissor enviaum
datagrama contendo um servio e o receptor envia um outro contendo a resposta a este
pedido.
A tabelaaseguir ilustraos diferentes servios comesemconexo, comexemplos de
aplicao destes servios.
Servios Comentrio Exemplo
Transf. confivel de
mensagens
com ou sem conexo sequenciamento de pginas
25
Transf. confivel de dados com ou sem conexo transferncia de arquivos
Transf. sem controle de
erros
com ou sem conexo voz digitalizada
Datagrama s/
reconhecimento
sem conexo correio eletrnico
Datagrama c/
reconhecimento
sem conexo correio eletrnico
registrado
Pedido-Resposta sem conexo consulta a bases de dados
2.2.4.3 As Primitivas de Servio
Umservio definido formalmente por umconjunto de primitivas (ou operaes)
disponveis aumusurio ouaoutras entidades parao acesso queleservio. Estas primitivas
permitemindicar aaoaser executadapeloservioouaindaumpedidodeinformaosobre
uma ao executada previamente.
NomodeloOSI, asprimitivasdeserviosodivididasemquatroclasses: asprimitivas
de pedido (request), as primitivas de indicao (indication), as primitivas de resposta
(response) e as primitivas de confirmao (confirm).
A tabela a seguir mostra o significado de cada uma destas primitivas no que diz
respeito execuo de um servio.
Primitiva Significado
REQUEST Pedido enviado por uma entidade que solicita um servio
INDICATION Atravs dela, a entidade par informada de uma solicitao de
servio
RESPONSE A entidade par responde ao pedido de servio
CONFIRM A entidade solicitante informada do resultado do servio
Umexemplodautilizaodasprimitivasdeservioopedidodeumestabelecimento
deconexo. Pararequisitar o estabelecimento deumaconexo, aentidadequequer iniciar o
dilogo envia uma primitiva de servio de pedido de abertura de conexo,
CONNECT.request, que vai se refletir, na entidade destinatria, por uma primitiva de
indicao, CONNECT.indication. A entidade que recebeu a indicao vai enviar uma
primitivaderesposta, CONNECT.response, parainformar seestaaceitaouno aconexo.
Finalmente, aentidadeemissoravai saber do resultado do seu pedido pelarecepo deuma
primitivadeserviodeconfirmao, CONNECT.confirm. Esteprocedimentoilustradona
figura 2.2.4.
26
CAMADA N+1
CAMADA N
CAMADA N+1
CAMADA N
CONNECT.request
CONNECT.confirm
CONNECT.response
CONNECT.indication
SISTEMA A SISTEMA B
Figura 2.2.4 - Ilustrao da troca de primitivas de servio (confirmado).
Parmetros podemser associados s primitivas. No caso do servio de conexo, por
exemplo, os parmetros podem especificar os seguintes aspectos relacionados conexo
desejada:
a mquina com a qual se deseja dialogar;
o tipo de servio desejado;
o tamanho mximo das mensagens;
etc...
Seaentidadeinvocadanoestdeacordocomosparmetroscontidosnaprimitivade
indicao recebida, estapodefazer umacontraproposta, atravs dos parmetros daprimitiva
deresposta, quesertransmitidaentidadeemissoraatravs dos parmetros daprimitivade
confirmao.
Os servios no modelo OSI podem ser de dois tipos: confirmados ou no-confirmados.
No caso dos servios confirmados, as quatro classes de primitivas so definidas, ou
seja, pedido (request), indicao (indication), resposta (response) e confirmao (confirm).
Isto significa que a entidade que requisitou o servio ter sempre uma informao sobre as
condies de realizao deste at mesmo se este foi realizado com sucesso ou no.
Nos servios no-confirmados, apenas as duas primeiras classes de primitivas so
utilizadas, ouseja, pedido eindicao. Nestetipo deservios, aentidadeemissorado pedido
no receber nenhuma informao sobre as condies de realizao do servio requisitado,
nem mesmo se este foi realizado.
A tabela abaixo apresenta um conjunto de primitivas associadas a um servio
orientado conexo. Neste exemplo, CONNECT um servio confirmado enquanto os
servios DATA e DISCONNECT so no-confirmados.
Primitiva Significado
CONNECT.request pedido de estabelecimento de uma conexo
CONNECT.indication indicao entidade invocada
CONNECT.response utilizada para indicar a aceitao ou no da conexo
CONNECT.confirm informa entidade emissora se a conexo aceita
27
DATA.request pedido de envio de dados
DATA.indication sinalizao da chegada de dados
DISCONNECT.request pedido de trmino da conexo
DISCONNECT.indication indicao do pedido entidade par
2.2.4.4 A Relao entre Servio e Protocolo
Embora sejam freqentemente confundidos, servio e protocolo so dois conceitos
distintos. O importante nesta distino de poder estabelecer a relao entre os dois
conceitos.
O servio corresponde a um conjunto de operaes que uma camada capaz de
oferecer camadaimediatamentesuperior. Eledefineo que umacamadacapaz deexecutar
semse preocupar coma maneira pela qual as operaes sero executadas. O servio est
intimamenterelacionadocomasinterfacesentreduascamadas, ainferior sendoafornecedora
do servio e a superior, a usuria deste.
Por outro lado, o protocolo define umconjunto de regras que permitemespecificar
aspectos da realizao do servio, particularmente, o significado dos quadros, pacotes ou
mensagens trocadas entreas entidades pares deumadadacamada. A nvel deumacamada, o
protocolo pode ser mudado semproblemas, desde que as interfaces coma camada superior
no sejam alteradas, ou seja, que aquela continue a ter a mesma visibilidade no que diz
respeito aos servios realizados pela camada considerada.
2.3. SERVIOS E PROTOCOLOS OSI
2.3.1. INTRODUO
A definio de ummodelo de referncia para a interconexo de sistemas abertos, o
modelo RM-OSI foi, sem dvida, uma contribuio positiva para a padronizao das
arquiteturas de comunicao.
Entretanto, a definio das camadas presentes do modelo OSI est relacionada
definio de solues em termos de servios e protocolos que implementem as funes
relacionadas a cada uma destas camadas.
O objetivo desta parte do documento apresentar os principais problemas e as
respectivas solues relacionadas com cada uma das camadas do modelo OSI.
Como poder ser visto ao longo desta parte, as sete camadas do modelo OSI podem ser
organizadas em duas classes distintas:
as camadas baixas, que compreendem desde a camada fsica at a camada de
transporte e cujos servios e protocolos esto relacionados coma transmisso dos
dados propriamente dita;
28
as camadas altas, que compreendemdesde a camada de sesso at a camada de
aplicao, cujos servios e protocolos so mais orientados a resolver questes
envolvendo as aplicaes que iro utilizar o suporte de comunicao considerado.
2.3.2. A CAMADA FSICA
O objetivo dacamadaFsicaassegurar o transportedos dados representados por um
conjunto de bits entre dois equipamentos terminais, via um suporte de transmisso.
Abordaremos, nesta parte do documento, os principais aspectos e problemas
relacionados transmisso de dados, como, os suportes de transmisso, os modos de
transmisso, a multiplexao e a comutao.
Ainda nestaseo, sero vistos alguns exemplos de interfaces fsicas padronizadas e
adotadas em muitas aplicaes e arquiteturas de comunicao.
2.3.2.1. Os Suportes de Transmisso
Os suportes detransmisso podemsecaracterizar pelaexistnciaou no deumguia
fsico parao envio do sinal. Naprimeiraclasseesto os cabos eltricos, as fibras ticas e, na
segunda classe, as ondas de rdio, as ondas de luz, etc.
a) Transmisso com guia fsico
- O par de fios tranados (twisted pair)
Emdiversasaplicaes, necessriosemanter umaconexodiretaepermanenteentre
dois computadores. O suporte de transmisso mais clssico utilizado at o momento o par de
fios tranados, o qual composto de dois fios eltricos em cobre, isolados, e arranjados
longitudinalmente de forma helicoidal. Esta tcnica de enrolar os fios permite diminuir os
efeitos das indues eletromagnticas parasitas provenientes do ambienteno qual esteestiver
instalado.
A utilizao mais tpicadestesuportedetransmisso aredetelefnica, onde, graas
ssuascaractersticaseltricas, os sinaispodempercorrer vriasdezenasdequilmetros, sem
a necessidade de amplificao ou regenerao de sinal.
Estespodem, ainda, ser utilizadostantoparaatransmissodesinaisanalgicosquanto
desinaisdigitais, abandapassanteatingidasendofunodasuacomposio(particularmente,
dimetro epurezados condutores, naturezados isolantes edo comprimento do cabo). A taxa
de transmisso obtida pela utilizao deste suporte de transmisso situa-se na faixa de
29
algumas dezenas deKbits/s, podendo atingir, emcondies particulares, afaixados Mbits/s
para pequenas distncias.
O fato derepresentar umbaixo custo e umagrandefaixadeutilizao o tornamum
dos suportes mais utilizados atualmente e, provavelmente, nos prximos anos.
- Os cabos coaxiais
Os cabos coaxiais so tambmaltamente empregados como suporte de transmisso.
Dois tipos de cabos so tipicamente utilizados: o primeiro tipo apresenta uma impedncia
caracterstica de 50 ohms, utilizado nas transmisses digitais denominada transmisso em
banda base; osegundotipo, comumaimpednciacaractersticade75ohms, maisadequado
paraatransmisso desinais analgicos. Eles so constitudos dedois condutores arranjados
deformaconcntrica: umcondutor central, aalma, envoltopor ummaterial isolantedeforma
cilndrica. Esta capa isolante , por sua vez, envolta por uma trana metlica condutora em
cobre. Finalmente, o conjunto envolto numa capa de proteo emplstico isolante, como
mostrado na figura 2.3.1.
alma de cobre
capa isolante
capa de proteo
trana metlica
Figura 2.3.1 - Cabo coaxial.
Em relao aos pares de fios tranados, os cabos coaxiais apresentam melhores
caractersticaseltricas, oferecendoumboarelaoentreabandapassanteeaproteocontra
interferncias eletromagnticas. Seu custo, porm, bastante superior.
A larguradebandavai depender igualmentedaqualidadedacomposiodocaboedo
seucomprimento. Paradistnciasemtornode1km, possvel obter umataxadetransmisso
emtorno de 10 Mbits/s, podendo-se obter taxas superiores para distncias mais curtas. Os
cabos coaxiais so muito utilizados como suporte de transmisso nas Redes Locais
Industriais.
- As fibras ticas
30
Asfibrasticassoomeiodetransmissopeloqual ossinaisbinriossoconduzidos
sobaformadeimpulsos luminosos. Umimpulso luminosorepresentaumbit a1, enquanto a
ausncia deste impulso representa um bit a 0. A luz visvel uma onda luminosa cuja
freqncia est na ordemde 10
8
Hz, o que d ao sistema uma banda passante potencial
bastantegrande. As taxas detransmisso numsuporteafibraticaficamnafaixados Gbit/s
(10
9
bit/s).
Um sistema de transmisso a base de fibra tica composto de trs elementos
principais: osuportedetransmisso(afibraticapropriamentedita), odispositivodeemisso
e o dispositivo de recepo da onda luminosa.
A fibra tica constituda de umfilamento bastante fino, base de silcio e outros
componentes dopantes. Ela consiste de um ncleo no qual se propaga a luz e uma capa
externa de proteo que mantm a luz no interior do ncleo. O dispositivo de emisso consiste
de um dido emissor de luz (LED) ou de um dido laser. O dispositivo de recepo
constitudo geralmente de um fotodido ou de um fototransistor (figura 2.3.2).
E
i
R
fibra
i
Figura 2.3.2 - Transmisso tica de sinais
O princpio datransmisso das fibras ticas o dareflexo daluz nainterfaceentre
doismeios. Quandoumraioluminosodeixaummeiohomogneoparasepropagar numoutro
meio, o seupercurso sofreumdesvio nainterfaceentreos dois meios (refrao). Entretanto,
comomostradonafigura 2.3.3, existeumngulodeincidncialimite, apartir doqual oraio
luminoso, aoinvsdeser refratado, serrefletidonainterface, sendomantidonomeionoqual
ele havia sido introduzido. Desta forma, a luz poder ser propagada ao longo do meio, em
distncias de vrios quilmetros.
1
1
2
2
3
3
Silcio
Ar
fonte de
luz
31
Figura 2.3.3 - Princpio da transmisso em fibras ticas.
Atualmente, os suportes decomunicao basedefibraticaso utilizados emredes
de comunicao em longa distncia, substituindo sistemas mais antigos base de cabos
coaxiais. Isto devercontinuar aocorrer nos prximos anos, contribuindo paraquesetenha,
num futuro prximo, em distncias relativamente grandes, sistemas de comunicao
oferecendo altas taxas de transmisso, garantindo assim o envio de grandes volumes de
informao.
Emredes locais industriais tambmsevmprocurando adotar atecnologiadas fibras
ticasnosltimosanos. Umproblema, porm, associadoscaractersticasdasredeslocaiso
dadefiniodosnsderede, particularmente, noquediz respeitosderivaes, umavez que
estas freqentementetmtopologiaembarramento. Umaalternativaaconstruo deredes
em anel, constitudas de ligaes ponto-a-ponto.
A realizaodas derivaesemfibraticapodesebasear emduasdiferentes tcnicas.
A primeira consiste da definio de uma derivao passiva, composta de uma bifurcao
simples do filamento tico. O inconvenientedesta tcnica aperda deintensidadedo sinal
luminosoemcadabifurcao, oquelimitaonmeromximodensaseremimplementados.
A segunda tcnica baseia-se no repetidor ativo, onde a luz proveniente do suporte a
base de fibra tica convertida novamente emsinal eltrico emcada derivao. Estes so
transmitidos ao computador ou equipamento considerado e, emseguida, reconvertidos em
sinal luminoso paraacontinuidadedatransmisso ao longo darede. Umadesvantagemdesta
tcnicaque, no caso depanedeumdestes repetidores, o funcionamento daredecomo um
todotambmsercomprometido. Outroinconvenienteoaumentodocustoderealizaodas
bifurcaes, quepassamaexigir umpequenocircuitoeletrnicoemcadarepetidor. Por outro
lado, umavez queossinais soreconstitudos emcadarepetidor, adistnciaentrecadanda
rede pode ser grande, assim como o nmero de pontos da rede (sem limite terico),
constituindo assim uma vantagem sobre os outros sistemas apresentados.
b) A transmisso de dados sem guia fsico
Como visto nas sees anteriores, a transmisso de dados utilizando guias fsicos
altamente dependente da tecnologia de concepo do suporte de comunicao considerado.
Um outro problema ligado utilizao de guias fsicos a necessidade, dependendo da
aplicao edaextenso darede, dainstalao desistemas decanalizao parapassagemdo
suporte de transmisso. Isto pode elevar consideravelmente o custo de uma rede, emcertas
situaes.
Nestescasos, umarededecomunicaobaseadaemummeiosemguiafsicopodeser
uma soluo mais interessante. Por exemplo, numa rede que deve estender-se ao longo dos
32
diversosprdiosnumcampusdeumauniversidade, podeser maisinteressanteainstalaode
um conjunto emissor-receptor a raios laser ou infravermelhos no teto de cada um dos prdios.
J existemtambmredeslocaisbaseadasemsinaisderdio. Cadaestaoderedetem
que possuir uma unidade de transmisso e recepo (transceptor) de rdio, podendo ser
livrementedeslocadadentrodoambiente. Dentreasvantagensdestetipodesistema, podemos
citar:
Flexibilidade
Interconexo completa
Estaes mveis
Por outro lado, uma rede via rdio apresenta tambm as seguintes desvantagens:
Problema de autenticao
Privacidade
Dependncia de regulamentao pblica
Deve-se tambm levar em considerao as seguintes limitaes e compromissos:
banda passante;
rea de cobertura;
interferncias;
regulamentaes;
custos.
No caso de comunicao emlongas distncias, as ondas de rdio emalta freqncia
podem tambm ser utilizadas, constituindo uma boa alternativa utilizao dos cabos coaxiais
oufibrasticas. Nestecaso, antenasparablicasdeemisso-receposoinstaladasnoaltode
pilaresdeconcretoeumafaixadefreqnciaentoestabelecidaentreduasantenassituadas
numa distncia da ordem de dezenas de quilmetros.
Ossatlitesdecomunicaosoumaoutraopoparaatransmissodedadosemuma
largagamadeaplicaes. Estes podemser vistos comoestaesrepetidoras instaladasnocu
dotadas de umcerto nmero de emissores-receptores, capazes de receber sinais numa certa
faixa de freqncia, amplific-los e, em seguida, retransmit-los em outra faixa de freqncia.
Dependendo do satlite, os feixes deondadifundidos paraaterrapodemcobrir uma
zonageogrficarelativamentegrandeoumaisrestrita. Umsatliteutiliza, emgeral, umafaixa
de freqncia emtorno de 500 MHz distribuda entre 10 a 12 repetidores, cada umdeles
utilizando umafaixaemtorno de36 MHz, dentro daqual estepodetransmitir umfluxo de
dados a uma taxa de 50 Mbit/s.
33
2.3.2.2. Aspectos da Transmisso de Dados
O meio detransmisso consistegeralmentedeumconjunto derecursos eregras que
permitematransmissodeinformaesdeumpontoaoutronumarededecomunicao. Este
processo ilustrado pela figura 2.3.4(a), onde podemos observar os seguintes elementos:
afonte de informao, quepodeser umcomputador ou umterminal, por exemplo,
que gera as informaes que devero ser transmitidas, estas sendo representadas,
usualmente, por um conjunto de dgitos binrios, ou bits;
o transmissor, que responsvel da adaptao ou converso do conjunto de
informaes, debits, parasinal eltricooueletromagntico, adaptando-oaomeiode
transmisso;
o suporte de transmisso, encarregado do transporte dos sinais representando a
informaoequepodeser caracterizadopor umadastcnicasapresentadasnaseo
precedente; o suporte de transmisso quem realiza a ligao fsica entre os
elementos envolvidos na comunicao;
o receptor, responsvel pela reconstituio da informao a partir dos sinais
recebidos via suporte de transmisso, e que, inclusive pode ter sofrido distores
provocadas por rudos existentes no meio;
o destinatrio da informao, que pode ser umcomputador, umterminal ou outro
equipamento e que vai consumir a informao gerada pelo elemento fonte.
Geralmente, a transmisso pode ser realizada de forma bidirecional, de forma alternada
ou simultnea. Assim, a cada n dever estar associado umequipamento transmissor e um
receptor compondo o conjunto transceptor como mostrado na figura 2.3.4(b).
FONTE DE
INFORMAO
BINRIA
TRANSMISSOR RECEPTOR SUPORTE DE TRANSMISSO
RUDO
DESTINATRIO
DA
INFORMAO
BINRIA
(a)
(b)
RUDO
SUPORTE DE TRANSMISSO
FONTE OU
INFORMAO
BINRIA
DESTINATRIO
FONTE OU
INFORMAO
BINRIA
DESTINATRIO
TRANSMISSOR
RECEPTOR
TRANSMISSOR
RECEPTOR
Figura 2.3.4 - (a) Sistema de transmisso ponto-a-ponto unidirecional; (b) modelo
bidirecional.
34
A transmisso de dados em um nico sentido denominada simplex, e quando
realizada nos dois sentidos denominada duplex. No caso em que ela se realiza
alternadamente, ouseja, oranumsentido, oranooutro, elasedenominahalf-duplex. No caso
em que ela se realiza simultaneamente nos dois sentidos, esta ser denominada full-duplex.
Nas sees seguintes sero discutidos diversos aspectos bsicos referentes
transmisso de dados.
a) Modos de transmisso
Os modos de transmisso caracterizam as diferentes formas como os bits de
informao transmitidos so delimitados e encaminhados ao longo da linha de comunicao.
Noquediz respeitoformacomoosbitssoencaminhadosaolongodeumalinhade
comunicao, pode-se distinguir o modo de transmisso paralelo e o modo serial.
Na transmisso paralela, os bits so transportados simultaneamente por umsuporte
composto de vrias linhas em paralelo. um modo de transmisso mais adequado
comunicao entre equipamentos localizados a curtas distncias. A ligao interna na
arquiteturadecomputadores ou entrecomputadores eperifricos prximos so exemplos da
aplicao datransmisso paralela. Estaformadetransmisso permiteumamaior velocidade
deenvio dedados, devidaao paralelismo. Por outro lado, so necessrios mais condutores, o
quetornaocabodetransmissomaiscaro. Almdisso, comoossinaissendotransmitidosnos
diversos condutores paralelos tem que ter um referencial eltrico comum (sinal terra), a
comunicao apresenta elevada sensibilidade rudos (perturbaes eletromagnticas).
Na transmisso serial, mais adequada a comunicao entre equipamentos separados
por grandes distncias, os bits so encaminhados serialmenteatravs deuma nicalinhade
comunicao, usualmente com 2 ou 4 condutores.
Pode-seconsiderar outros parmetros paraaclassificao dos modos detransmisso,
como, por exemplo, aformadesincroniaentreemissor ereceptor, associadatemporizao.
No caso particular das transmisses seriais, aformadedelimitar os bits podelevar emconta
duas diferentes filosofias: a transmisso sncrona e a transmisso assncrona.
Na transmisso sncrona, os bits de dados so enviados segundo uma cadncia pr-
definida, obedecendo a um sinal de temporizao (clock). O receptor, por sua vez,
conhecendo os intervalos de tempo que permitem delimitar um bit, poder identificar a
seqncia dos bits fazendo uma amostragem do sinal recebido.
Na transmisso assncrona, no existe a fixao prvia de umperodo de tempo de
emissoentreotransmissor eoreceptor. A separaoentreos bits feitaatravs deumsinal
35
especial comdurao varivel. Umcaso tpico detransmisso assncronaatransmisso de
caracteres; neste caso, a cada grupo de bits constituindo umcaracter so adicionados bits
especiais para representar o incio (start bit) e final deste (stop bit). Neste tipo de
comunicao, apesar daassincroniaaonvel decaracteres, ocorreumasincronizaoaonvel
de bit.
Um outro aspecto a ser destacado a maneira como a banda passante (faixa de
freqncia de transmisso) do canal de comunicao explorada.
Emumprimeiro modo, atransmisso em banda base ("baseband"), abandapassante
do suporte de transmisso atribuda totalmente a umnico canal de transmisso. Neste
modo, os sinais so transmitidos atravs do meio de comunicao multiplexados no tempo.
Em pequenas distncias, uma taxa de transmisso de at 10 Mbit/s pode ser obtida.
Em um segundo modo, a transmisso em banda larga ("broadband"), a banda
passantedosuportedetransmissodivididanumdeterminadonmerodecanaisdefaixade
freqncia estreita, permitindo que os dados sejamtransmitidos utilizando uma tcnica de
multiplexaoemfreqncia. A bandapassantedoscanaisnormalmentedefinidaemfuno
da taxa de transmisso desejada e do modo de modulao empregado. Neste modo de
transmisso, cada canal pode atingir uma taxa de transmisso de at 3 Mbit/s, inferior,
portanto, transmisso embandabase. Estatcnicapermiteadefinio decanais diferentes
detransmissosobreomesmoguiafsicoeutilizadaparaarealizaodacomunicaofull-
duplex.
b) Transmisso analgica versus transmisso digital
A transmisso analgica, naqual ossinaissotransmitidossobaformadetensesou
correntes de amplitudes ou freqncias variveis, temdominado historicamente a indstria
das telecomunicaes. No entanto, apresenacadavez maior dos computadores esistemas a
base de microprocessadores tende a mudar esta filosofia de transmisso de dados.
At bemrecentemente, a tecnologia telefnica era baseada na transmisso de sinais
analgicos. Apesar da grande difuso dos sistemas a transmisso digital, ainda sero
necessriosmuitosdesenvolvimentosparaqueatransmissoanalgicadesapareatotalmente,
se isto vier a ocorrer.
A transmisso digital consiste no transporte de dados na forma de trens de sinais
representando os nveis lgicos 0 e 1. A correta interpretao da informao transmitida
requer que o emissor e o receptor adotem uma codificao idntica para determinar o
significado de cada seqncia de bits (como o cdigo ASCII ou EBCDIC). Por exemplo, a
letra "A", no cdigo ASCII (American Standard Code for Information Interchange), seria
36
representada por uma seqncia de 8 bits na forma 01100101. As diferentes formas de
codificao dos sinais 0 e 1 sero discutidas no item seguinte.
A adoodatcnicadigital constitui umaevoluonocampodatransmissodedados
e isto considerando duas principais vantagens:
as taxas deerro detransmisso digital so muito inferiores quelas datransmisso
analgica. Natransmissoanalgica, osamplificadoresutilizadosparacompensao
dos enfraquecimentos de sinal no compensam de maneira tima, o que
freqentemente introduz distores nestes sinais. Isto no ocorre no caso dos
repetidores utilizados em transmisso digital;
uma maior facilidade para a multiplexao das informaes, antes da sua
transmisso atravs de um nico suporte de comunicao.
Umoutropontoafavor datransmissodigital soasconstantesquedasnospreosdos
componentes digitais, o queconduz asistemas detransmisso digital to baratos quanto seus
equivalentes para transmisso analgica. Uma das tcnicas mais utilizadas emtransmisso
digital a PCM (Pulse Code Modulation), onde os sinais analgicos so transformados em
sinais digitais atravs de uma amostragem.
Dentro dos sistemas a base de transmisso analgica, pode-se destacar as redes
telefnicas pblicas, os modems e algumas interfaces industriais. Aqui, a informao a ser
transmitidarepresentadapor variaescontnuas deamplitudeoufreqnciaentreextremos
pr-definidos, como por exemplo, entre-10V e+10V, entre0mA e20mA ouentre4mA e
20 mA (nveis usados emcomunicao dedados parasensores eatuadores naindstria). Os
sinais transmitidos pelo sistema telefnico so sinais sinusoidais, comfaixa de freqncia
entre 300 e 3400 Hertz, limitada graas adio de filtros.
A conexo deumassinanteaumcentro deconexo implementadanormalmentena
forma de um par de fios tranados. Se os filtros limitadores da faixa de freqncia so
retirados, possvel ento, dependendo da qualidade do cabo utilizado, transmitir sinais
digitais pela rede telefnica a uma taxa de 1 a 2 Mbit/s sobre uma distncia de alguns
quilmetros.
c) Tcnicas de codificao de bits
Natransmisso digital existemdiferentes formas decodificar os sinais lgicos 0 e1.
Em uma primeira abordagem, o sinal 1 pode ser representado por um nvel de tenso enquanto
o sinal 0 representado por outro (ou por dois intervalos de tenso, como veremos a seguir).
37
Umaformapossvel derepresentaodossinais 0e1acodificaobinria, queusa
um sinal do tipo "on-off", como mostrado na figura 2.3.5(a). Aqui, o sinal lgico 1
representado por umatenso positiva(por exemplo, +5V) enquanto o nvel 0representado
por 0V (sinal ativoalto). Outraopoacodificao bipolar, querepresentaosinal lgico1
por umatensopositiva(por exemplo, +12V) eosinal lgico0por umatensonegativa(por
exemplo, -12V). possvel tambmdefinir os sinais de forma oposta, isto , uma tenso
negativaounulaparao sinal lgico 1eumatenso positivaparao sinal lgico 0(sinal ativo
baixo). Na prtica, devido a possibilidade de presena de perturbaes e a queda de tenso
causada pela prpria impedncia do meio de transmisso, trabalha-se com intervalos de
tenso: por exemplo, umatenso entre+3e+12V consideradacomo representando o sinal
lgico1(ou0), enquantoumatensoentre-3e-12V aceitacomolgico0(ou1). Qualquer
sinal no intervalo entre -3 e +3V considerado "indefinido" e indica um erro de transmisso.
Quando um sinal digital aplicado a uma das extremidades de um cabo, ele ser
recebido na outra extremidade mais ou menos enfraquecido e deformado, isto devido s
caractersticas do cabo, particularmente, ao seu comprimento e sua impedncia.
A transmisso analgica faz uso da modulao de um sinal portador sinusoidal,
usualmentecomumafreqnciacompreendidaentre1e2MHz. A modulao de amplitude
consiste em modificar a amplitude do sinal da portadora com as informaes digitais a
transmitir. Por exemplo, umvalor daamplitudeatribudo informao binria0eoutro ao
1.
A modulao em freqncia utiliza o mesmo formalismo, mas o parmetro
considerado aqui a freqncia, utilizando, desta vez, dois valores distintos de freqncia
paraindicar osvaloresbinrios0e1. Estaformademodulaodenominadatransmissoem
banda portadora ("carrierband") ou FSK (Frequency Shift Keying). As figuras 2.3.5(b) e
2.3.5(c) ilustram os processos de modulao em amplitude e em freqncia, respectivamente.
0 1 0 0 1 1 0 1 0
V1
V2
(a)
(b)
(c)
38
Figura 2.3.5 - (a) Sinal digital; (b) Sinal modulado em amplitude (ASK); (c) Sinal modulado
em freqncia (FSK).
Oequipamentocapaz detratar umfluxodeinformaesbinriasnumsinal modulado,
oureconstitu-loapartir dosinal moduladoomodem (modulador-demodulador). Omodem
normalmente inserido entre o equipamento informtico e o meio de transmisso.
d) Tcnicas de sincronizao em nvel de bits
Para a correta leitura do sinal digital transmitido, o receptor precisa conhecer a
freqncia adotada pelo emissor e amostrar o sinal recebido em pontos adequados. A
amostragemdeveocorrer omaisprximopossvel docentrodosinal, umavez queatransio
de uma tenso (ou freqncia) que representa o sinal 0 para outra que representa o sinal 1
leva, naprtica, umtempodiferentedezero. Paratal, necessrioconhecer otempomdiode
durao de cada sinal 0 ou 1, que depende da freqncia de transmisso adotada e
denominado "tempo bit", identificar o flanco detransio de0 para1 ou de1 para0eler o
valor datenso aps metadedo tempo bit, isto , no centro do intervalo, como ilustrado na
figura 2.3.6.
1
0
tempo de subida tempo de descida
tempo bit instante de amostragem
Figura 2.3.6 - Tempo bit e amostragem de sinal
Na transmisso sncrona, umsinal de temporizao ("clock") enviado por meio de
um par separado de fios e define os momentos corretos de amostragem no receptor. O
inconvenienteestjustamentenanecessidadedeadotar umsegundo par decondutores, alm
daquele usado para o envio dos dados, o que encarece o cabo.
Na transmisso assncrona usado apenas um par de fios, mas uma forma de
sincronizaoanvel debitssefaz necessriaparaadeterminaodomomentodeamostrar o
sinal. J queaqui nohumsinal separadodesincronizao, necessriogarantir queotrem
39
de sinais contenha muitas transies, que podem ser detectadas facilmente por circuitos
eletrnicos adequados, e fazer a amostragem em um instante pr-determinado aps estas.
Para garantir a presena de transies suficientes no sinal de modo a permitir uma
correta sincronizao, so adotadas tcnicas alternativas de codificao dos sinais 0 e 1.
Uma destas tcnicas a codificao RZ (Return to Zero), que usada emconjunto
coma codificao bipolar j vista anteriormente. Aqui, o sinal sempre retorna a zero entre
dois dgitos consecutivos, como ilustrado na figura 2.3.7. Isto tem o efeito de garantir a
presenadetransies mesmo queo sinal contenhaumalongaseqnciadesinais lgicos 0
ou1 seguidos (equenormalmenteno apresentariamtransies emumacodificao bipolar
simples). A amostragem feita no meio do tempo bit, contado a partir da deteco da
transio(logicamentetantooemissor quantooreceptor devemusar omesmotempobit, isto
, devem operar na mesma freqncia).
+12V
-12V
0V
1 1 0 0 1
tempo bit
Figura 2.3.7 - Codificao RZ
Outra tcnica a chamada codificao NRZ (Non Return to Zero), ou Manchester.
Aqui, o sinal lgico 1 representado por uma transio entre uma tenso positiva e uma
negativa(figura 2.3.8(a)), enquanto o sinal lgico 0 representado por umatransio entre
umatensonegativaeumapositiva(figura 2.3.8(b)). A formaresultantedeumtremdesinais
exemplificada na figura 2.3.8(c). Da mesma forma que na tcnica anterior, isto garante a
presenadetransiessuficientesparaasincronizaodosinal. Nestecaso, aamostragemdo
sinal feita na segunda metade do tempo bit.
40
(a)
+12V
-12V
tempo bit
Lgico 1
(b)
+12V
-12V
tempo bit
Lgico 0
trem de sinais (c)
1 1 1 0 0 1
Figura 2.3.8 - Codificao NRZ (Manchester): (a) Sinal lgico 1; (b) Sinal lgico 0; (c)
exemplo: seqncia 111001.
Uma terceira tcnica a chamada NRZI (Non Return to Zero Inverted), tambm
conhecida como Manchester Diferencial ou Manchester Modificada. Nesta tcnica, a
ocorrnciadeumatransio no inicio do tempo bit indicaapresenadeumzero no tremde
sinais, conformeilustradonafigura 2.3.9. Senohouver transio(flanco) noinicio, osinal
interpretado como lgico 1, independentedo valor detenso lido. Notequeo sinal lgico 1
tambmpossui umatransio, pormestaficano meio do intervalo desinalizao eno no
inicio.
1 0 0 1 1 1 0 1
tempo bit
Figura 2.3.9 - Codificao NRZI (Manchester Diferencial)
e) Multiplexao
A multiplexao ummecanismo muito utilizado na transmisso de dados, pois ela
permite otimizar a utilizao de um suporte de comunicao.
41
Duas tcnicas de multiplexao so mais utilizadas: a tcnica de Multiplexao em
Freqncia ou FDM (Frequency Division Multiplexing) e a tcnica de Multiplexao no
Tempo ou TDM (Time Division Multiplexing).
A tcnica FDM consiste em permitir o compartilhamento da faixa de freqncias
oferecida pelo suporte de comunicao entre diferentes usurios. Assim, cada faixa de
freqncias deve estar permanentemente alocada a um usurio de forma exclusiva.
Umexemplo deaplicao destatcnicaconsistenatransmisso deondas derdio em
ondas mdias, onde a banda passante situa-se entre 500 kHz e 1.500 MHz. Diferentes
portadoras situadas nesta faixa de freqncia so atribudas a estaes de radiodifuso,
mantendo, porm, entre estas, um espao suficiente para evitar interferncias. A mesma
tcnicapodeser usadaemredesparaatransmissosimultneadevriossinaissobreomesmo
guia fsico (broadband).
A tcnica TDM consiste em permitir o compartilhamento da capacidade de
transmissodosuportedecomunicaoentreasdiversasestaesduranteumcurtoespaode
tempo (isto , cadaestao dispedo meio s parasi duranteumintervalo detempo). Esta
tcnicabastanteutilizadaemtelecomunicaes, particularmente, natelefonia, onde, acada
125 mseg, um usurio pode enviar um byte de informao.
2.3.2.3. Interfaces industriais tpicas para a camada fsica
Ao nvel da camada fsica existem diversas interfaces padronizadas em uso na
industria. Uma interface define as caractersticas eltricas, mecnicas e funcionais de uma
conexo fsica.
Exemplos bemconhecidos deinterfaces padronizadas paraestacamadaso: RS-232-
C, RS-422, RS-423 e RS-485, definidas pela EIA (Electronics Industries Association).
As interfacesRS-232-C, RS-422eRS-423permitemsomentealigaoponto-a-ponto
entre dois elementos de comunicao, suportando assimredes comtopologias em estrela,
anel, rvoreoumalha. Enquanto aRS-232-C operacomsinais refereciados aterra, o queos
torna sensveis perturbaes, as interfaces RS-422 e RS-423 trabalham com sinais
diferenciais, reduzindo consideravelmente a sensibilidade rudos e permitindo o uso de
cabos mais longos que os usados com RS-232-C.
A interface RS-485 permite a conexo de at 32 elementos de comunicao (ns ou
estaes) em um mesmo barramento, suportando assim redes de difuso.
Emfuno de suagrande aceitao nos meios industriais, ainterface RS-232-C ser
apresentadacomumpouco mais de detalhes aqui. A EIA definedois elementos envolvidos
42
numacomunicao, o DTE (DataTerminal Equipment) eo DCE (DataCircuit-Terminating
Equipment).
O conector adotado nesta interface possui 25 pinos (DB25), de forma trapezoidal,
correspondendonormaISO-2110. Os pinos superiores, emnmerodetreze, sonumerados
de1a13daesquerdaparaadireita, ospinosinferioressonumeradosde14a25, tambmda
esquerdaparaadireita. Algunsequipamentosmaisrecentesutilizamumconector comapenas
9 pinos (DB9).
Noquediz respeitos especificaes eltricas, umatensonegativainferior a-3volts
permite representar uma informao binria 1 e uma tenso positiva, superior a +3 volts,
permite representar uma informao binria 0 (sinal ativo baixo). A taxa de transmisso mdia
deaproximadamente20Kbit/snumcabodecomprimentonosuperior a15metros. Ambos
os equipamentos envolvidos na comunicao tem que ser ajustados para a mesma freqncia.
No que diz respeito as especificaes funcionais, podemos descrever os diferentes
sinaisenvolvidosnumacomunicaocomauxliodafigura 2.3.10, quepermiterepresentar os
sinais mais utilizados em aplicaes tpicas.
Quando o DTE torna-se ativo, ele apresenta na interface o DTR (Data Terminal
Ready), pino 20, a 1. Quando o DCE ativado ele mantmo sinal DSR (Data Set Ready),
pino 6, tambma1. Umavez queo DCE (ummodem, por exemplo) detectaapresenada
portadoranalinha, eleprevineoDTE (ocomputador) colocandoosinal CD (Carrier Detect),
pino 8, a 1. O DTE, por sua vez, indica ao modem a sua inteno de transmitir a partir do sinal
correspondente ao pino 4, RTS (Request To Send). A resposta do modemdada atravs do
sinal CTS (Clear To Send), pino 5, o quesignificaqueo DTE podeiniciar atransmisso. Os
dados so ento enviados pela linha TD (Transmitted Data), pino 2. No caso de uma
transmisso emduplex, o DTE podereceber os dados, deformasimultneaao envio, atravs
dalinhaRD (Received Data), pino 3. O pino 2do DCE deveser ligado ao pino 3do DTE e
vice-versa.
terra de proteo (1)
TD - transmisso de dados (2)
RD - recepo dos dados (3)
RTS - pedido de envio (4)
CTS - pronto para envio (5)
DSR - dados prontos (6)
terra de sinalizao comum (7)
CD - deteco do sinal da linha (8)
DTR - equip. terminal de dados pronto (20)
Computador
ou
Terminal
(DTE)
Modem
(DCE)
43
Figura 2.3.10 - Sinais tpicos da interface RS-232-C.
A ligao mais simples entredois equipamentos utiliza apenas as linhas RD (pino 3
para DB25, ou 2 para DB9), TD (pino 2 para DB25, ou 3 para DB9) e terra (pino 7 para
DB25, ou 5 para DB9), onde o TD de umequipamento deve estar ligado ao RD do outro,
conforme ilustrado na figura 2.3.11.
Equip. A Equip. B
7 7
2 (TD)
3 (RD)
2 (TD)
3 (RD)
Figura 2.3.11 - Conexo mnima via RS-232-C
2.3.3. A CAMADA DE ENLACE DE DADOS
A camadadeEnlacedeDados tempor funo oferecer umcaminho parao transporte
das informaes entreentidades daCamadadeRede, queserestudadanaparteseguintedo
documento. Dentre os fatores com os quais a camada de Enlace deve preocupar-se esto:
a forma como os bits provenientes da camada Fsica sero agrupados em quadros;
os mecanismos dedeteco ecorreo deerros aseremimplantados, umavez queas
informaes trocadas atravs da camada Fsica no so isentas de erros de transmisso;
os mecanismos de controle de fluxo para limitar o volume de informao trocados
entre entidades fonte e destino;
a gesto das ligaes entre as entidades;
o controle de acesso ao meio, em redes de difuso.
Nas redes dedifuso acamadadeenlacededados usualmentedecompostaemduas
subcamadas, conforme proposta da IEEE:
Subcamada de Controle de Acesso ao Meio (MAC - Medium Access Control),
responsvel pelo acessoordenadoecompartilhadodo canal decomunicao(nocaso,
um barramento);
SubcamadadeControleLgico deEnlace(LLC - Logical Link Control), responsvel
pelo estabelecimento de conexes e oferecimento de servios de comunicao s
camadas acima.
44
2.3.3.1. Subcamada MAC
Do ponto devistadaprogramao distribuda, o meio detransmisso das redes locais
constitui um recurso compartilhado entre as estaes a ela conectadas. Os mtodos de
definio de direito de acesso utilizados nas redes locais so os denominados protocolos de
acesso ao meio.
Se tomarmos o tempo de acesso ao meio como critrio, podemos organizar os
protocolos deacesso ao meio emduas principais classes: os protocolos determinsticos eos
no determinsticos.
Os protocolos deacesso determinsticos so caracterizados pelaconcesso do direito
ao acesso independentementedas necessidades detransmisso decadan daestao. Dentre
os protocolos conhecidos destaclasse, podemos destacar o protocolo TDMA (TimeDivision
Multiple Access), onde o acesso dado a cada estao considerando faixas de tempo bem
definidas. Estemtodo apresentaumbaixo desempenho, umavez quemuito tempo podeser
perdido no caso de estaes que no tenham mensagens a transmitir. Outro exemplo de
protocolos de acesso determinsticos so aqueles baseados na passagem de ficha (token
passing), onde uma ficha correspondendo ao direito de transmisso passada de estao a
estaodarede. Aoreceber aficha, umaestaoquenotenhamensagensatransmitir repassa
afichaestaoseguintenalistadeestaescompondoarede. Vamosanalisar algunsdestes
protocolos mais adiante nesta seo.
Os protocolos de acesso no determinsticos, podem ser tambm denominados
protocolos de competio, uma vez que as estaes querendo transmitir vo competir pelo
meio de transmisso. Estes protocolos so mais adaptados s condies de transmisso da
redelocal. Umexemplo destaclasseso os protocolos detipo CSMA, cujas variaes sero
estudadas nos pargrafos a seguir.
a) Os protocolos no determinsticos
- CSMA persistente e no persistente:
Estes protocolos, pertencentes classe de protocolos ditos de deteco de portadora
(carrier sense), baseiam-se no conceito de escuta do meio de transmisso para a seleo do
direito de acesso a este.
UmprimeiroexemplodesteprotocolooCSMA 1-persistente (CSMA - Carrier Sense
Multiple Access ou Acesso Mltiplo por Deteco de Portadora). Neste protocolo, quando
uma estao est pronta a enviar umquadro de dados, ela escuta o que est ocorrendo no
suportedetransmisso. No caso emqueo canal jestsendo ocupado por algumaestao, a
estao aguarda na escuta at que o meio esteja livre para a sua emisso (da o nome
45
"persistente"); quando isto ocorre, ela pode ento emitir umquadro. O mtodo chamado
"1"-persistente porque, quando a linha esta livre, a estao enviar os dados com100% de
probabilidade. Aps a transmisso dos dados, e estao emissora espera uma resposta
(chamadaquadro de reconhecimento) daestao receptora, indicando acorretarecepo dos
dados.
Seumaoutraestao estavaaesperadeumaoportunidadedeenviar dados ao mesmo
tempoqueaprimeira, podeocorrer queambasdetectemomeiocomoestandolivreaomesmo
tempo. Nestecaso, ambas iro enviar seus dados simultaneamente, deformaqueo sinal no
barramento ser uma "mistura" ininteligvel das duas mensagens. Esta condio recebe o
nomede"Coliso". Naocorrnciadeumacoliso, aestao receptorano enviaoquadro de
reconhecimento esperado e a estao emissora tenta a emisso novamente aps um
determinado tempo.
O protocolo CSMA 1-persistentealtamenteinfluenciado pelo tempo depropagao
dos quadros no suportedetransmisso. Isto ilustrado pelo exemplo deduas estaes A eB
querendo emitir umquadro. Vamos supor queA detectao meio livreeemiteumquadro; em
seguida, B vai escutar o meio para ver o seu estado; se o atraso de propagao do quadro
emitido por A tal queo sinal aindano podeser detectado anvel daestao B, ento esta
vai considerar o meio livre e emitir o seu quadro, gerando naturalmente uma coliso. Isto
significa que, quanto maior o tempo de propagao no suporte de comunicao, pior o
desempenho do protocolo devido ocorrncia de colises.
Na verdade, embora as probabilidades no sejammuito grandes, as colises podem
ocorrer mesmoseotempodepropagaoconsideradonulo. Vamos supor agoraas estaes
A eB comquadrosatransmitir, masqueumaterceiraestao, C estutilizandoomeio. Neste
caso, asduasestaesvoaguardar aliberaodomeioe, quandoesteestiver liberado, ambas
vo emitir seus quadros, caracterizando a coliso.
Outro exemplo de protocolo CSMA o CSMA no persistente. Segundo este
protocolo, as estaes comportam-sedemaneiramenos "afoita" parao envio demensagens.
Assim, uma estao que deseje emitir umquadro vai escutar o suporte de transmisso para
verificar seesteestdisponvel. Emcaso positivo, o quadro sertransmitido. Caso contrrio,
ao invs de ficar escutando espera da liberao do canal, ele vai esperar umperodo de
tempo aleatrio e, aps aexpirao deste, vai escutar o canal novamenteparaverificar asua
liberao(ouno). Esteprotocolopermitereduzir aspossibilidadesdeocorrnciadecolises,
embora ele introduza um maior atraso de emisso a nvel das estaes que o protocolo
persistente.
O CSMA p-persistente mais umexemplo de protocolo de acesso, funcionando da
seguinte maneira: quando uma estao tem um quadro a enviar, ela escuta o canal para
verificar a disponibilidade; se o canal est disponvel , a probabilidade da estao emitir o
quadroigual ap. A probabilidadedequeestaaguardeoprximointervalodetempoigual
46
a q =1 - p; se, no incio do segundo intervalo de tempo, o canal est disponvel, as
probabilidades deenvio ou deesperacontinuamas mesmas; o processo continua, ento, at
que o quadro seja finalmente transmitido ou que outra estao tenha tomado posse do canal.
- O protocolo CSMA/CD (CSMA com deteco de coliso):
Os protocolos descritos ataqui, emboraapresentando aspectos interessantes, podem
ser melhorados considerando-sequecadaestaopoderiadetectar, antesdaemisso, oestado
de conflito com outras estaes da rede, evitando assim a emisso do quadro considerado.
O protocolo CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
um protocolo baseado neste princpio e muito utilizado nas redes locais (foi proposto
originalmentepeloscriadoresdaredeEthernet). Nesteprotocolo, quandomaisdeumaestao
estapronta paraemitir umamensagemcomo meio livre, estas emitemo quadro, o que vai
gerar umacoliso. A primeiraestao quedetectar acoliso interrompeimediatamenteasua
transmisso, reiniciando o processo todo aps aexpirao deumperodo detempo aleatrio,
deformaatornar improvvel aocorrnciadeumanovacoliso(figura 2.3.3.1). Paradetectar
acoliso, aestaoemissoradeveescutar aquiloqueelamesmacolocounomeio(aomenosa
primeira palavra de cdigo enviada deve ser escutada pela prpria estao emissora).
emissor
receptor
emissor
emissor
Figura 2.3.3.1 - Mtodo de acesso CSMA/CD
Para melhor entender o mecanismo deste protocolo, vamos analisar o caso emque
duas estaes iniciemuma transmisso numinstante de tempo t0. O tempo mnimo para a
deteco de uma coliso o tempo de propagao do sinal emitido por uma estao at a outra
estao.
47
Istosignifica, emumaprimeiraanliseque, seumaestaoqueemitiuumquadrono
detectaumacolisonumperododetempoigual aotempodepropagaodosinal aolongodo
canal de comunicao, pode considerar-se possuidora do meio e que as demais estaes
abstiveram-se de enviar.
Esta anlise apresenta, porm, uma impreciso. Vamos considerar t o tempo de
propagao de umsinal entre duas estaes, as mais distantes uma da outra. Consideremos
queemt0umaestaoemiteumquadro. Vamossupor queem t - e, poucoantesqueosinal
tenha chegado, outra estao efetue uma transmisso. Ela vai detectar, imediatamente a
colisoeinterromper asuaemisso. Por outrolado, aperturbaoocasionadapelacolisono
vai poder ser detectada pela primeira estao que emitiu o quadro antes de umperodo de
tempo igual a 2t - e. Assim, no pior caso, uma estao s poder estar segura de que ela
adquiriu o acesso ao canal de transmisso aps um perodo de tempo de 2t. Assim, no
protocoloCSMA/CD, umaestaoemiteumapalavradedados, esperapor umtempo2t e, se
nodetectar nenhumacoliso, consideraqueanicaausar omeionaquelemomentoepassa
a enviar o restante dos dados.
OmtodoCSMA/CDpropiciaumagrandeotimizaonousodomeioemrelaoaos
protocolosanteriores, poisaocorrnciadeumacolisodetectadalogonaprimeirapalavrae
a emisso interrompida, no tendo que ser completamente repetida depois. Vale salientar
que nada impede que o CSMA/CD seja tambm 1-persistente ou p-persistente.
No entanto, em todos os mtodos de acesso CSMA temos que, quanto maior o
nmero de estaes, maior a probabilidade de ocorrncia de colises (esta probabilidade
aumenta exponencialmente), de formaque o tempo de reao aumentaconsideravelmente e
no podeser exatamentedeterminado. Emfuno destecomportamento, mtodos deacesso
no determinsticos so considerados inadequados para aplicaes em tempo real, muito
comuns em ambiente fabril.
b) Os protocolos determinsticos
Os mtodos de acesso determinsticos so aqueles com tempo de resposta
univocamente determinvel. Estes mtodos podem ser classificados em:
mtodos com comando centralizado (ex.: Mestre-Escravos) e
mtodos com comando distribudo (ex.: Token-Passing).
Nos sistemas com comando centralizado, somente uma estao pode agir como
detentorado direito detransmisso (Mestre). O direito deacesso ao meio fsico distribudo
por tempo limitado pelaestao mestreas demais (Escravas). Aqui todas as trocas dedados
ocorremapenas entre mestre e escravos (figura 2.3.3.2). Esta configurao deixa o sistema
48
dependentedaestaocentral, masaconfiguraousual dossistemasdecontrolenamaioria
de suas aplicaes. Este mtodo de acesso ao meio tambm garante um tempo entre
transmisses consecutivas a qualquer estao da rede e segue a prtica atual de fazer um
controle distribudo com uma superviso centralizada.
Mestre
Escravo Escravo Escravo Escravo
Figura 2.3.3.2 - Mtodo de acesso mestre/escravos
Os sistemas comcomando distribudo permitemadefinio demais deumaestao
comdireitodeacessoaomeiofsico. Estedireitodeacesso(chamado"Token") transmitido
ciclicamente entre as vrias estaes, que podem livremente trocar dados entre si (figura
2.3.3.3). Este sistema , no entanto, bemmais complexo do que o Mestre-Escravos, j que
providncias especiaistemqueser tomadasnocasodaperdadotokenoudaentradaousada
deumadas estaes darede. Estemtodo mais adequado parasistemas nos quais diversas
unidades independentes desejam trocar livremente informaes entre si. Neste mtodo,
possvel determinar umtempomximoentreduas oportunidades consecutivas detransmisso
para cada estao.
receptor
emissor
token
Figura 2.3.3.3 - Controle de acesso por passagem de Token
2.3.3.2. Subcamada LLC
a) As Classes de Servios de Enlace
A subcamadaLLC da camadadeEnlacedeDados oferece servios classificados em
trs principais categorias, estas dependendo do sistema no qual elas sero implantadas:
49
servio sem conexo e sem reconhecimento (no confivel);
servio sem conexo com reconhecimento (confivel);
servio orientado conexo (confivel).
Na primeira classe de servios, a mquina fonte da informao envia os quadros de
dados mquinadestinatriasemrecepo dereconhecimento dainformao enviada; alm
disso, no existe estabelecimento prvio de conexo e, conseqntemente, no existe
liberao desta ao final do dilogo. Se um quadro de dados perdido no suporte de
transmisso como conseqncia de umrudo, no existe nenhum mecanismo que permita
solucionar o problema. Esta classe de servios adequada quando implantados sobre um
suporte de comunicao cuja taxa de erros muito baixa ou que a correo dos erros
previstanas camadas superiores. Eles podemser empregados emalgumas aplicaes tempo-
real e em redes locais.
A segunda classe de servios, embora ainda no defina o estabelecimento prvio de
conexo, prevaexistnciadequadrosdereconhecimento, demodoqueamquinafonteser
notificada pela mquina destinatria da recepo do quadro previamente enviado. Um
mecanismo quepodeser implantado no caso deperdado quadro o quecorrespondeno
recepo do quadro de reconhecimento aps um certo tempo (timeout) a reemisso
daquele. Num servio sem conexo, existe a possibilidade da reemisso de quadros
provocando a recepo mltipla do mesmo quadro (duplicao de mensagem).
A terceiraclassedeserviosamaissofisticada, umavez queeladefineanecessidade
do estabelecimento prvio de conexo e a liberao destas ao final do dilogo. Neste caso,
cadaquadroenviadonumeradoeacamadadeEnlacegarantequecadaquadroenviadoser
recebido, uma nica vez, e que o conjunto de quadros enviados ser recebido ordenado da
mesmaformaquefoi enviado. Estaclassedeservios oferececamadadeRedeumcanal de
comunicao confivel.
Os servios orientados conexo so caracterizados por trs principais etapas:
a etapa de estabelecimento de conexo, durante a qual so definidos todos os
parmetros relacionados conexo, como por exemplo, os contadores deseqncia
de quadros;
a etapa de transmisso de dados, durante a qual so realizadas todas as trocas de
informao correspondentes ao dilogo entre duas mquinas;
aetapadeliberao da conexo, quecaracterizaofimdodilogoenaqual todasas
variveis e outros recursos alocados conexo sero novamente disponveis.
50
A comunicaoentreas camadas deRedeedeEnlacefeitaatravs deprimitivas de
servio (request, indication, response e confirm) da interface entre as duas camadas, como
definidas na parte relativa apresentao do modelo OSI. Um esquema permitindo
demonstrar omodo deutilizao das primitivas mostradonafigura 2.3.3.4. Nesteesquema,
representa-se nas extremidades a camada de Rede, caracterizada pelos dois sistemas
envolvidosnodilogo(nocaso, A eB, quesoasentidadespares) enocentroascamadas de
Enlace (de A e B), que tornam a comunicao transparente para as camadas de rede
envolvidas.
Os deslocamentos verticais das primitivas representam o tempo decorrido entre as
ocorrncias destas (por exemplo, no caso das primitivas request e indication, o tempo
decorrido entre o envio da primeira pela camada de Rede do sistema A e a recepo da
segunda pela camada de Rede do sistema B).
camada de rede camada de rede camada de enlace
request
indication
response
confirm
sistema A sistema B
Figura 2.3.3.4 - Primitivas de servio trocadas entre as camadas de Rede e de Enlace.
b) O conceito de quadro
ParaqueoserviosejaoferecidocamadadeRede, acamadadeEnlaceutiliza-sedos
servios fornecidos pela camada Fsica que, como j foi descrito na parte precedente,
responsvel datransmissodebits deumpontoaoutronarededecomunicao, sendoqueo
conjunto de bits transmitido pode sofrer distores produzindo erros de transmisso. Uma
conseqnciatpicapodeser queo nmero debits recebidos sejainferior ao nmero debits
enviados ou os valores de alguns bits podem ter sido modificados.
Com o objetivo de permitir um controle de erro eficiente, a camada de Enlace
decompe as mensagens em pores menores denominadas quadros, aos quais so
adicionadoscdigos especiaisdecontroledeerro. Destaforma, oreceptor podeverificar seo
cdigoenviadonocontextodeumquadroindicaounoaocorrnciadeerrosdetransmisso
e ele pode, assim, tomar as providncias necessrias para evitar as conseqncias devido
quele erro.
51
A definio e delimitao dos quadros pode obedecer a diferentes polticas. Uma
possvel polticaaadotar podeser, por exemplo, acontagemdecaracteres. Nestapoltica,
introduzido um caracter especial que indica o nmero de caracteres compondo o quadro.
Destemodo, anvel dacamadadeEnlacedoreceptor, bastaqueaentidadeleiaestecaracter e
emseguidaconteo nmero decaracteres paradefinir o tamanho do quadro. O inconveniente
destatcnica, noentanto, queocaracter quedefineotamanhodoquadropodeser deturpado
durante a transmisso, o que significa que o receptor vai ler erroneamente os quadros
transmitidos. A figura 2.3.3.5 ilustra este problema.
Umatcnicamelhor, queapresentaumasoluoaesteproblema, consistenaadiode
seqncias especiais decaracteres demodoarepresentar oincio efimdatransmissodeum
quadro.
5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6
contador es de car acter es
quadr o1 (5 car .) quadr o2 (5 car .) quadr o3 (8 car .)
(a)
5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6
(b)
er r o contador de car acter es
Figura 2.3.3.5 - Seqncia de caracteres: (a) sem erro; (b) com erro.
A figura 2.3.3.6ilustraumcaso relativoaestatcnica, ondeaseqnciadecaracteres
DLE (Data Link Escape) e STX (Start of TeXt) inserida para representar o incio de um
quadroeaseqnciaDLE eETX (End of TeXt) pararepresentar ofimdoquadro. Estatcnica
apresenta, ainda, umponto de vulnerabilidade: se, dentro do texto, uma seqncia de bits
coincide com uma das seqncias de caracteres citada (dado que os bits podem assumir
qualquer combinao de valores), a entidade receptora na camada de Enlace pode ser
enganada por esta seqncias e, assim, interpretar erroneamente o quadro.
A soluo a este problema vem atravs da introduo, pela entidade de Enlace
emissora, deumcaracter DLE adicional acadavez que, emumaseqnciadebitsdapartede
dados, aparecer umbytequecoincidir comumcaracter DLE. Destaforma, bastaentidadede
dados receptoraeliminar os caracteres DLE dos dados antes deemiti-los camadadeRede.
Istovai permitir ento, sentidadesreceptorasdeEnlace, fazer adistinoentreasseqncias
delimitadoras dequadro (DLE-STX eDLE-ETX) das seqncias acidentais nos dados. Os
caracteresDLE introduzidosanvel dosdadossodenominadoscaracteres de transparncia.
Esta tcnica de delimitao de quadros utilizada emprotocolos simples de comunicao
serial orientados caracter.
52
DLE STX A B DLE C DLE ETX
DLE STX A B DLE C DLE ETX DLE
(a)
(b)
Figura 2.3.3.6 - (a) Dados enviados pela camada de Rede com seqncias de delimitao; (b)
idem, com introduo dos caracteres de transparncia.
Umatcnicamuitoutilizadaedefinidamaisparticularmenteparaautilizaoemredes
de comunicao aquela em que os quadros so delimitados por uma seqncia de bits
particular, mas destavez dissociados da codificao decaracteres. A seqncia 01111110
freqentemente adotada para representar a delimitao dos quadros.
De maneira anloga utilizao dos caracteres de transparncia da tcnica anterior,
bits de transparncia so introduzidos anvel dapartededados paraevitar aconfuso, por
parte do receptor, comos delimitadores de quadro (esta tcnica tambm conhecida como
"bit-stuffing"). Assim, no receptor, acadavez que5bits 1 consecutivos so detectados na
partededados, umbit 0adicionado aps aseqncia. Do lado do receptor, acadavez que
ocorrer umaseqnciade5bits 1 consecutivos dedados seguidos deumbit 0, esteltimo
sereliminadodapartededados. A figura 2.3.3.7ilustraaaplicaodestatcnica. Em2.3.3.7
(a) so apresentados os dados originais e, em2.3.3.7(b), os mesmos dados comaintroduo
dos bits de transparncia.
bit de transparncia
0 1 1 0 1 1 1 1 1 1 1 1 0 1
0 1 1 0 1 1 1 1 1 1 1 1 0 1 0
(a)
(b)
Figura 2.3.3.7 - (a) dados originais; (b) dados com adio do bit de transparncia
2.3.3.3. O controle de erros
Oserrosquepodemocorrer sobreossuportesdetransmissotemcomocausasosmais
diversos fenmenosfsicos, comopor exemplo, orudotrmico, provocadopelaagitaodos
eltrons nos cabos decobre. Outro fenmeno importanteso os rudos impulsivos causados
pelo chaveamento de rels ou outros dispositivos eletromecnicos.
Verifica-se entretanto que, independentemente do fenmeno causador de erro, estes
tendemagerar normalmenteverdadeiros pacotes deerros (error bursts) eno erros simples.
53
Isto podeter umaspecto positivo, umavez que, numconjunto relativamentegrandedebits,
ummenor nmerodepacotes vai conter erros. Por outrolado, os erros agrupados empacotes
so mais difceis de modelizar e de detectar.
O controle de erros detransmisso uma das funes mais importantes asseguradas
pela camada de enlace (usualmente implementado na subcamada LLC).
Os protocolos decontroledeerro so caracterizados, emgeral, peladefinio deum
quadro de controle, correspondente a um reconhecimento positivo ou negativo. Caso a
entidadeemissorarecebaumreconhecimentopositivodeumquadropreviamenteenviado, ela
entende que aquele foi corretamente recebido.
Por outro lado, se ela recebe um reconhecimento negativo, ficar ciente de que o
quadro foi mal transmitido e que, neste caso, ele dever ser retransmitido.
Ainda, se, por uma intensidade relativamente forte de rudo, o quadro inteiro no
recebido pela entidade destinatria, esta no vai reagir ao quadro emitido e a entidade
emissoracorreo risco deesperar indefinidamentepelo reconhecimento. I isto evitado pela
adio de temporizadores, estabelecendo assim um tempo mximo de espera pelo
reconhecimento, antes daretransmisso (time-out). O tempo deesperadeveser determinado
em funo dos atrasos relativos transmisso dos quadros de modo que os quadros de
reconhecimento, se existentes, cheguem antes do esgotamento da temporizao.
Deste modo, se o quadro ou o reconhecimento so perdidos, a temporizao ser
esgotada, podendo provocar aretransmisso do quadro. Nestecaso, possvel queo quadro
sejaaceitomaisdeumavez pelacamadadeEnlaceetransmitidocamadadeRede, causando
umaduplicao dequadros. Paraevitar esteproblema, deve-seintroduzir ummecanismo de
distino dos quadros a fimde que o receptor possa separar os quadros duplicados de seus
originais.
Existempraticamenteduastcnicas paraotratamentodeerros. A primeiraconsistena
introduo, anvel dosquadros, deinformaessuficientementeredundantesquepermitamao
receptor reconstituir os dados enviados a partir da informao recebida. A segunda tcnica
consisteemadicionar unicamenteumconjunto deinformaes redundantes o suficientepara
que o receptor possa detectar a ocorrncia de um erro (sem corrigi-lo) e requisitar a
retransmisso do quadro. A primeira tcnica denominada cdigo corretor de erros e a
segunda cdigo detetor de erros.
Umapalavradecdigodecomprimentoigual an bitscompostadeumnmerom de
bits dedados eumnmero r debits decontrole(n = m +r). Dadas duas palavras decdigo,
por exemplo, 10001001 e10110001, possvel determinar dequantos bits elas diferem(no
caso do exemplo, elas diferemde 3 bits). Isto pode ser feito efetuando umou exclusivo
entreas duas palavras econtando onmero debits "1" do resultado. A estenmerodado o
nomedeDistncia de Hamming. SeadistnciadeHamming entreduas palavras d, sero
necessrios d erros simples para transformar uma palavra em outra.
54
A parte de dados da palavra de cdigo pode ter at 2
m
valores diferentes. Devido
formacomqueos r bits decontrolesocalculados, nemtodos os 2
n
valores possveis paraa
palavradecdigo so efetivamenteutilizados. Sendo conhecidaatcnicadeclculo dos bits
decontrole, possvel fazer umalistadetodas as palavras decdigo vlidas. Pode-seagora
verificar entreaspalavrasdestalistaquais asqueapresentamamenor distnciadeHamming.
Esta ser a distncia de Hamming do cdigo como um todo.
A propriedade de um cdigo ser detetor ou corretor depende da sua distncia de
Hamming. Para que seja possvel detectar d erros numa palavra, necessrio que o cdigo
tenha uma distncia de Hamming de d+1. Isto porque impossvel que d erros possam
transformar uma palavra de cdigo em outra palavra de cdigo autorizada.
Por outro lado, para que seja possvel corrigir d erros, a distncia de Hamming do
cdigo deverser de2d +1. Nestecaso, mesmo qued erros simples ocorram, apalavrade
cdigo continua ainda mais prxima da palavra transmitida.
Assim, fica claro que umcdigo corretor de erros precisa ter palavras vlidas mais
diferentes entre si do que as usadas com um cdigo apenas detetor de erros.
Veremos a seguir exemplos de ambas as tcnicas.
a) Os cdigos de correo de erro (forward error control)
Os cdigos corretores so utilizados para as transmisso de dados em casos
particulares como, por exemplo, quando os canais so unidirecionais ouquando impossvel
ou indesejvel requisitar a retransmisso de um quadro.
Umexemplo extremamentesimplificado decdigo corretor deerros podeser visto a
seguir, sendo este composto de apenas 4 palavras de cdigo: 0000000000, 0000011111,
1111100000 e 1111111111.
Estecdigo apresentaumadistnciadeHamming de5, o quesignificaqueelepode
corrigir at2 erros emcadapalavradecdigo. Seo receptor detectaumapalavradecdigo
igual a 0000000111, ele capaz de reconhecer a palavraoriginal como sendo 0000011111,
poisestaapalavravlidamaisprximadarecebida. Por outrolado, seumerrotriploocorre,
modificando, por exemplo, apalavra0000000000em0000000111, oreceptor serincapaz de
corrigi-lo.
Um cdigo corretor de erros bastante usado na prtica foi proposto pelo prprio
Hamming em1950. Este cdigo s pode corrigir erros simples, de 1 bit. Nele, o nmero
mnimodebitsdecontroledadopor (m + r + 1) 1 2
r
, ondem onmerodebitsdedadose
r o nmero de bits de controle. No cdigo de Hamming, cada palavra composta por uma
mistura de bits de dados e de controle, numerados da esquerda para a direita (assim, o bit 1 o
primeiro daesquerda). Todos os bits queso potncias de2(1, 2, 4, 8, 16, etc...) so usados
como bits de controle e os demais (3, 5, 6, 7, 9, 10, etc...) so usados como bits de dados
(figura 2.3.3.8).
55
1
bi ts de contr
3 4 5 6 7 8 9 10 11 2
bi ts de dados
Figura 2.3.3.8 - Palavra de cdigo de 11 bits, com 7 bits de dados e 4 de controle
Umdeterminadobit dedadosk temsuaparidadecontroladapelosbitsdecontroleque
fazempartedaexpansodek empotnciasde2(isto, cujasomaigual ak). Por exemplo, o
bit dedados 3controladopelos bits 1e2, obit 5pelos bits 1e4, obit 6pelos bits 2e4, o
bit 11 pelos bits 1, 2 e 8, etc.
Os bits decontrolesocalculados deformaqueumOU-exclusivo(XOR) entreeles e
o bit de dados que estes controlam sempre par. Por exemplo:
(Bit de dados 3) XOR (Bit de Controle 1) XOR (Bit de controle 2) =1.
Quando umapalavradecdigorecebida, aunidadereceptorainicializaumcontador
emzero. Emseguida, aparidadedecadabit decontroleverificada. Seumadelasnoestiver
correta, onmerodobit decontroleondeo errofoi detectadoadicionadoaocontador. Seo
contador estiver emzero no final do processo, assume-sequeno houveerro (ou, ao menos,
nada foi detectado). Se o contador no estiver emzero, o seu valor indica o nmero do bit
errado, que pode ento ser corrigido por simples inverso, sem necessidade de retransmisso!
Para exemplificar, suponha que queremos transmitir o texto "Hamming code" entre
dois computadores. Adotou-se palavras de cdigo com 7 bits de dados, de forma que o
nmero mnimo debits decontrole4. As palavras decdigo atransmitir so mostradas na
tabela abaixo:
Caracter Cdigo ASCII Cdigo de Hamming
H 1001000 00110010000
a 1100001 10111001001
m 1101101 11101010101
m 1101101 11101010101
i 1101001 01101011001
n 1101110 01101010110
g 1100111 11111001111
0100000 10011000000
56
c 1100011 11111000011
o 1101111 00101011111
d 1100100 11111001100
e 1100101 00111000101
b) Os cdigos de deteco de erro (feedback error control)
O exemplo mais simples de cdigo detetor de erros o controle de paridade. Ele
baseado naadio de1bit deparidadecadapalavradecdigo enviada, obtido por meio de
umOU-exclusivo (XOR) dos bits que compema palavra. Por exemplo: para a seqncia
00100110, obit deparidadevale1(0xor 0xor 1xor 0xor 0xor 1xor 1xor 0=1, paridade
impar). Logo, o emissor envia a seqncia 001001101, que inclui o bit de paridade no final.
O receptor, por seu turno, realiza independentemente uma operao OU-exclusivo
sobre os bits que vo sendo recebidos (isto , calcula a paridade novamente) e compara o
resultadoobtidocomoltimobit enviado(queobit deparidadecalculadopeloemissor); se
houver diferena, houveerro detransmisso (isto , algumbit foi distorcido). No entanto, se
umnmeropar debitsfoi distorcido, omtodonocapaz dedetectar oerro. Assim, obit de
paridade permite detectar unicamente erros simples.
Umavariantemelhoradadestemtodoaparidadelongitudinal, conhecidacomoBSC
(Block Sum Check), usadaparao conjunto depalavras decdigo quecompemumquadro.
Aqui, almde acrescentar umbit de paridade para cada palavra, calculada uma palavra
completa adicional, da forma mostrada no exemplo seguinte:
caracter ASCII binrio bit paridade
R 52H 01010010 1
E 45H 01000101 1
D 44H 01000100 0
E 45H 01000101 1
BSC 00010110 1
A palavra BSC enviada no final do quadro, aps as palavras que fazemparte dos
dados a enviar. O receptor, a exemplo da tcnica de paridade simples, calcula o BSC dos
dadosamedidaquesorecebidosecomparaoresultadocomaltimapalavraenviada(que
o BSC calculado pelo emissor); se houver diferena, houve erro de transmisso. Nesta
variante, erros que no foram detectados pela paridade simples provavelmente sero
detectados pela paridade longitudinal. Esta tcnica largamente utilizada emprotocolos de
rede mais simples, mas tem uma eficincia limitada.
Um mtodo de deteco de erros ainda melhor e largamente utilizado em redes locais
a definio de umcdigo polinomial, tambmdenominado CRC (cyclic redundancy code).
57
Nos cdigos polinomiais, considera-se que os bits de uma cadeia de caracteres so os
coeficientes de um polinmio, coeficientes estes, capazes de assumir apenas dois valores: 0 ou
1. Assim, umbloco dek bits visto como umasriedecoeficientes deumpolinmio dek
termos, indo de x
k-1
a x
0
. Por exemplo, a palavra 110001 contm6 bits e representa o
polinmio x
5
+x
4
+1 (coeficientes contados da direita para a esquerda).
A utilizao decdigos de deteco polinomiais baseadanaescolhadeumcdigo
especial que caracteriza um polinmio gerador G(x). Uma exigncia em relao a este
polinmio que os bits mais significativo e menos significativo (correspondendo,
respectivamente aos coeficientes de mais alta ordeme de mais baixa ordemdo polinmio)
sejamde valor 1. A tcnica consiste emadicionar a umbloco de dados (caracterizando um
polinmio M(x)) umconjunto de bits de controle de modo que o quadro (dados +bits de
controle) sejadivisvel por G(x). Narecepo, aentidadedeEnlaceefetuaadiviso dos bits
compondo o quadro pelo polinmio gerador. Caso o resto seja diferente de zero,
caracterizada ento a ocorrncia de um erro de transmisso.
O Algoritmo bsico para o clculo do CRC o seguinte:
Seja r o grau do polinmio gerador G(x); acrescentar r bits a zero no final da
mensagem a enviar, obtendo o polinmio x
r
.M(x) ;
executar a diviso em mdulo-2 do polinmio resultante x
r
.M(x) por G(x);
Subtrai em mdulo-2 o resto da diviso acima do polinmio x
r
.M(x)
Resultado: quadro a transmitir com FCS
Vamos ilustrar o clculo do CRC por meio de um exemplo:
Seja o Frame de dados a transmitir: M(x) =11100110
Tomemos como polinmio gerador: G(x) =11001 =x
4
+x
3
+1
O Frame com acrscimo do zeros fica: x
r
.M(x) = 11100110 0000
A diviso do polinmio x
r
.M(x) por G(x) ilustrada a seguir:
1 0 1 1 0 1 1 0
1 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0
1 1 0 0 1
0 0 1 0 1 1
0 0 0 0 0
0 1 0 1 1 1
1 1 0 0 1
0 1 1 1 0 0
1 1 0 0 1
0 0 1 0 1 0
58
0 0 0 0 0
0 1 0 1 0 0
1 1 0 0 1
0 1 1 0 1 0
1 1 0 0 1
0 0 0 1 1 0
0 0 0 0 0
0 1 1 0
Para o exemplo acima, o resto R(x)=0110 a prpria FCS. O Frame a transmitir
dadopor x
r
.M(x) - R(x) =111001100110(quecorrespondeaoframeoriginal acrescidodos4
bits de R(x)) .
Todas as operaes descritas acima podem ser implementadas em hardware com
registradores de deslocamento e portas lgicas XOR.
Alguns exemplos de polinmios geradores freqentemente adotados na deteco de
erros so:
CRC-12 = x
12
+ x
11
+x
3
+ x
2
+x
1
+1
CRC-16 = x
16
+ x
15
+x
2
+1
CRC-CCITT = x
16
+ x
12
+x
5
+1
Tomando-se o polinmio gerador da CCITT como exemplo, verificamos que um
polinmio de ordem 16, de forma que sero acrescentados 16 bits de CRC em cada quadro.
Este polinmio capaz de detectar:
todos os erros de paridade
todos os erros de 2 bits
todos os pares de erros de 2 bits cada
blocos de erros no excedendo 16 bits
Estaltimatcnicabemmais eficientequeas anteriores, apesar deno ser infalvel
(nenhuma delas). Observequeoscdigos detetores deerrono corrigemaspalavraserradas
recebidas. Eles permitemapenas detectar aocorrnciado erro eo computador querecebeos
dados deve requerer uma retransmisso da palavra de cdigo errada, ao contrrio do que
ocorre com os cdigos corretores !
2.3.3.4. Anlise de alguns protocolos de enlace
Os protocolos que analisaremos aqui vo permitir detectar uma srie de problemas
relacionados aocontroledeerros, queafunomais importanteaser efetuadapelacamada
59
deEnlace. A ordemdeapresentaodestesprotocolossegueumaordemdecomplexidadeque
vai crescendo emfuno de novas hipteses que levantaremos ao longo da anlise. Nesta
anlise, vamos considerar a comunicao entre entidades de comunicao situados emdois
sistemas distantes, denominados aqui A e B.
No primeiro caso, vamos supor queo suportedecomunicao utilizado permiteuma
comunicaounidirecional apenasequeascamadasdeRededossistemasA eB estosempre
prontasaenviar ereceber dados, respectivamente. Ainda, nestecaso, ocanal decomunicao
perfeito, ou seja, nenhumquadro corrompido ou perdido. Assim, do lado do receptor, o
nico evento possvel a recepo de quadros corretos. A figura 2.3.3.9 ilustra a troca de
quadros entreas entidades localizadas nos sistemas A eB. Estatrocarealizadanumanica
direo (de A para B), sema ocorrncia de perdas dada a considerao de que o canal de
comunicao perfeito.
O segundo caso, indo do imaginrio ao mais realista, leva emconta o fato de que a
camada de Rede do sistema receptor no temcapacidade de tratar os dados coma mesma
velocidadeemqueelessogeradospelacamadadeRedeemissora. Por outrolado, ahiptese
de que o canal perfeito e que os dados circulam numa nica direo ainda verdadeira.
O problemaquesecoloca, nestecaso, o deimpedir queo emissor envieos quadros
numavelocidadesuperior quelaqueoreceptor podeconsumi-los(trat-loseretransmiti-los).
Uma formadefaz-lo estabelecer ummecanismo de temporizao do lado do emissor de
modoaprovocar umpequenoespaodeesperapelotratamentododadopreviamenteenviado
antes do envio do seguinte. Estasoluo no , evidentemente, amelhor, umavez queuma
m escolha do limite de espera pode conduzir a atrasos indesejveis na comunicao.
dados
dados
dados
.
.
.
A B
Figura 2.3.3.9 - Troca de quadros considerando um protocolo onde a comunicao
unidirecional e sem corrupo nem perda de quadros.
Uma forma mais eficiente de faz-lo determinar uma maneira de informar ao
emissor, do estado corrente do receptor. Isto conduz definio de quadros de
reconhecimento quesero enviados pelo receptor, aps o tratamento do dado recebido, para
informar aoemissor queelepodeenviar oquadrodedadosseguinte. Istosignificaque, apesar
dacomunicaoser consideradaunidirecional, ocanal conectandoasduascamadasdeEnlace
60
deve permitir a comunicao bidirecional para permitir que a entidade de Enlace receptora
emita os quadros de reconhecimento. Este protocolo, denominado send-wait, stop-and-wait ou
envia-espera, ilustrado pela figura 2.3.3.10.
Oterceirocasoaser analisadoaqui torna-semuitomaisprximodoreal, umavez que
consideraremos aqui ahiptese (nemtohipotticaassim!) dequeos dados possamchegar
outra extremidade do canal corrompidos ou que estes sejamperdidos ao longo do canal.
Vamos, porm, considerar a possibilidade de detectar a ocorrncia de quadros incorretos
atravs de uma das tcnicas apresentadas na seo 2.3.3.3.
dados
A B
reconhecimento
dados
reconhecimento
dados
Figura 2.3.3.10 - Protocolo envia-espera.
Umaprimeirasoluoaquelaemqueoreceptor emiteumquadrodereconhecimento
somente no caso emque o quadro de dados recebido esteja correto. Do lado do receptor,
estabelecidoummecanismodetemporizaoquedisparadoapsoenviodecadaquadrode
dados. Seaps aexpiraodatemporizao, umquadrodereconhecimentonorecebido, o
emissor consideraqueo quadro dedados foi perdido ouquefoi recebido incorretamenteeo
retransmite. A operao repetidapelo nmero devezes quesejamnecessrias paraqueum
quadro de reconhecimento seja, enfim recebido de B (figura 2.3.3.11).
61
A B
temporizao esgotada
temporizao interrompida
reconhecimento
reconhecimento
dado2
dado2
dado1
Figura 2.3.3.11 - Protocolo considerando controle de erro por quadro de reconhecimento com
temporizao.
Esta soluo, porm, apresenta uma grave deficincia: no caso da entidade em B
receber corretamenteodadoeenviar oquadrodereconhecimentoeesteltimofor perdidono
canal decomunicao, aentidadeemissora, aps aexpirao datemporizao, vai reemitir o
quadro de dados, gerando um problema de duplicao de mensagem (figura 2.3.3.12).
Isto significa que o receptor deve ser capaz de reconhecer os quadros recebidos de
modo a saber se estes so duplicados ou no. Para isto, ser preciso introduzir umcampo
contendo umnmero de seqncia (umbit, no caso) do quadro de modo a permitir esta
distino. Seumaentidadereceptorarecebesucessivamentedois quadros contendo o mesmo
nmero de seqncia, o segundo ser rejeitado.
Outro ponto importante a ser destacado no caso deste terceiro tipo de protocolo a
escolha do valor da temporizao no emissor (para espera do reconhecimento). Uma
temporizao muito longa pode conduzir a atrasos indesejveis na comunicao. Uma
temporizao excessivamente curta, por outro lado, pode conduzir a erros de protocolo
considerveis. Tomando como exemplo este caso, vamos supor que o emissor enviou um
quadro, queestefoi recebido corretamentepelo receptor que, por suavez, emitiuumquadro
de reconhecimento.
62
dado1
A B
dado1
reconhecimento
temporizao esgotada
perda
quadro duplicado
Figura 2.3.3.12 - Protocolo considerando controle de erro por quadro de reconhecimento com
temporizao, no caso de perda do quadro de reconhecimento (gerando duplicao de quadro).
Considerando queatemporizao excessivamentecurta, podeocorrer queestaseja
expirada antes que o quadro de reconhecimento tenha sido integralmente transmitido ao
emissor. Desta forma, o receptor entende que o quadro foi perdido ou transmitido
incorretamente e retransmite o mesmo. Em seguida, o emissor recebe o quadro de
reconhecimentodaqueleenviadoinicialmentee, erroneamente, pensaqueoreconhecimento
relativo quele queele haviaenviado posteriormente. Entretanto, o emissor desconhece que
um novo quadro de reconhecimento est a caminho (relativo ao quadro duplicado). Se,
portanto o quadro seguinte perdido e o emissor recebeumquadro de reconhecimento ele,
desta vez, vai interpretar que o ltimo quadro enviado foi corretamente recebido,
caracterizando ento um erro de protocolo. A figura 2.3.3.13 ilustra este problema.
Os protocolos analisados nestaseo, do tipoenvia-espera, apesar dos problemas que
podemgerar, so bastante utilizados, principalmente devido sua relativa simplicidade de
construo. Estaclassedeprotocolos, almdisso, subutilizaocanal decomunicao, umavez
que eles devem esperar a recepo do quadro de reconhecimento para poderem enviar o
quadro de dados seguinte.
Uma classe de protocolos mais eficiente aquela emque o emissor pode enviar um
certo nmerodequadros dedados semqueeletenharecebidoo reconhecimentodos quadros
j emitidos. Isto vai requerer, obviamente, a implementao de um mecanismo de
reconhecimento de quadros mais completo que aquelecitado no caso do protocolo anterior.
So os denominados protocolos contnuos ou de largura de janela.
63
dado1
A B
dado1
dado2
reconhecimento
reconhecimento
perda
temporizao interrompida
temporizao esgotada
Figura 2.3.3.13 - Protocolo com quadro de reconhecimento no caso de temporizao
excessivamente curta.
Os protocolos de largura de janela tambm so chamados protocolos de janela
deslizante ou Continuous-RQ.
A idiabsicanumerar tambmosACK. EmconseqnciadanumeraodosACK,
o emissor no precisa esperar umACK para cada quadro: ele pode enviar vrios quadros e
manter uma lista de retransmisso com um time-out para cada quadro. A lista de
retransmisso opera de forma FIFO. O receptor retorna umACK como nmero do quadro
recebido N(r). O receptor mantm uma lista de recepo, contendo os n ltimos quadros
recebidos sem erro (n a largura da janela).
Quando o emissor recebe umACK, deleta o quadro comnmero correspondente da
lista de retransmisso. Este procedimento ilustrado na figura 2.3.3.14.
tempo
N N N
N+1 N+1
N+2
N+1
N+2
N+3
N+2
N+3
N+4
N+3
N+4
N+1
N N N N N
N+1
N+1
N+1
N+1
N+1
N+1
N+1
N+1
N+1
lista de
retrans-
misso
lista de
recepo
E
R
I(N) I(N+1) I(N+2) I(N+3) I(N+4)
I(N) I(N+1) I(N+2) I(N+3) I(N+4)
I(N) I(N+1) I(N+2) I(N+3) I(N+4)
A(N) A(N+1) A(N+2) A(N+3)
Figura 2.3.3.14 - Protocolo de janela deslizante
64
OExemplovistoassumequenoocorremerros. Duas estratgias podemser adotadas
em caso de erros:
Retransmissoseletiva: emissor retransmitesomentequadroscujosACK noforam
recebidos aps time-out. Receptor temquemanter buffer comn(larguradejanela)
grande...
Retorna-N (Go-Back-N): quando o receptor recebe umquadro fora da sequencia,
pede ao emissor para reiniciar do ltimo quadro recebido na ordem correta.
Receptor mantm janela com largura 1 !
2.3.3.5. Exemplo de Protocolo de Enlace: o HDLC
HDLC (High-level Data Link Control) umafamliadeprotocolos orientados ao bit,
resultado do esforo realizado pelaISO paraapadronizao dacamadadeenlace. O HDLC
foi definido pelaISO apartir do protocolo SDLC (Synchronous DataLink and Control), da
IBM. Existem atualmente diversos protocolos compatveis com o HDLC: por exemplo,
ADCCP (ANSI), LAP E LAPB (CCITT).
O protocolo HDLC prev 2 modos de operao:
NRM (Normal ResponseMode): defineumaestao mestraevrias escravas com
topologia em barramento;
ABM (AsynchronousBalancedMode): operaomultimestreparatopologiaponto-
a-ponto.
A forma de operao mais comum para a maioria das aplicaes de HDLC a
utilizao do modo NRM (mestre / escravos).
Umquadro HDLC apresentaaestruturaconformemostrado nafigura 2.3.3.15, cujos
campos sero descritos a seguir. Os campos flag correspondem seqncia 01111110, que
permitedelimitar oquadro. Todosos quadrosHDLC iniciameterminamcomestaseqncia.
Nocasodeenviodequadrosconsecutivos, ummesmoflagpodemarcar ofimdeumquadroe
o incio deoutro. O campo endereo, de8 bits, permiteidentificar aestao destinatriado
quadro (no caso de comando) ou fonte (no caso de resposta). O campo controle permite
identificar a funo do quadro, assimcomo especificar os nmeros de seqncia. A figura
2.3.3.16mostraaconfiguraodosbitscompondoestecampo. Ocampoinformao aquele
que contm os dados a serem transferidos via camada de Enlace. O campo FCS (Frame Check
Sequence) contmaseqnciadedetecodeerrosutilizada. Estaseqnciacalculadasobre
os campos endereo, controle e informao, utilizando como polinmio gerador a
combinao x
16
+ x
12
+x
5
+1 (CRC-CCITT).
Umquadro deenlaceconsiderado incorreto e, assim, ignorado pelo destinatrio nas
seguintes condies:
65
se no estiver delimitado pelos flags;
se o comprimento for inferior a 32 bits entre flags;
se contiver mais de sete 1s consecutivos.
O protocolo HDLC prev trs tipos de quadro: de informao, de superviso e no
numerados, diferenciados pelocampo de controle, comomostraafigura2.3.3.15. Os bits 1e
2 deste campo permitem identificar o tipo de quadro: se bit 1 =0 indica um quadro de
informao; sebit 1 =1, podeidentificar tanto umquadro de superviso (bit 2 =0) ou um
quadro no numerado (bit 2 =1). Os quadros de superviso so utilizados principalmente
paracontroledefluxo (indicar sereceptor estpronto ouno parareceber dados, rejeio de
quadros comdefeito, quadro de reconhecimento), enquanto os quadros no numerados so
usados principalmente para o estabelecimento e o trmino de conexes.
8 bits 8 bits 8 bits
***
16 bits
8 bits
flag endereo controle informao FCS flag
Figura 2.3.3.15 - Estrutura de um quadro HDLC.
1
2 3 4 5 6 7 8
0 N(s)
P/F
N(r)
1
0 S S
P/F
N(r)
1
1 M M
P/F
M M M
bits
informao
superviso
no numerado
Figura 2.3.3.16 - Campo controle dos quadros HDLC.
OcampoN(s) permitedefinir onmerodeseqnciadoquadroeocampoN(r) parao
reconhecimento de quadros (indica o nmero do prximo quadro esperado) N(s) e N(r)
correspondem, defato, aos camposseq eack mostrados anteriormente. Obit P/F dependedo
modo deoperao do protocolo. No primeiro modo deoperao, resposta normal (NRM), o
bit P a 1 indica que a estao emissora deseja consultar uma secundria. Desta forma, o
ltimoquadrodeumaseqnciadequadrosderespostaenviadospor umaestaosecundria
conter o bit F a 1. No segundo modo, resposta assncrona e balanceada (ABM), o
66
recebimento de umquadro como bit P a 1 indica que a estao secundria deve enviar o
prximo quadro com o bit F tambm a 1.
Os bits S soutilizados paraidentificar comandosdesuperviso, particularmentepara
comandos de reconhecimento e de controle de fluxo. A tabela abaixo mostra as possveis
combinaes dos bits S e os comandos / respostas associados.
S S Cdigo Comando/Resposta
0 0 RR Receiver Ready (Receptor Pronto)
1 0 RNR Receiver Not Ready (Receptor No Pronto)
0 1 REJ Reject (Rejeitado)
1 1 SREJ Selective Reject (Recusa Seletiva)
Os bits M so utilizados para identificar comandos e respostas no numeradas. Eles
permitem, nos quadrossemnumerao, representar 32diferentes comandos erespostas, entre
os quais DISC para terminar uma conexo de enlace previamente estabelecida, FRMR para
indicar arejeio deumquadro, SNRM (Set Normal ResponseMode, Connect), SABM (Set
Asynchronous BalancedMode), UA (UnnumberedACK), UP (UnnumberedPoll, usado pelo
mestre em NRM), etc...
A operao do protocolo pode ser ilustrada como segue:
Inicio de operao:
ajuste do modo de operao e estabelecimento de uma conexo (frame
SNRM ou SABM)
parceiro responde com frame UA
Troca de Dados:
emNRM, escravo s envia dados a pedido do mestre: mestre envia UP,
escravo responde com I-Frame (se tem dados) ou RNR (se no tem dados)
emABM, operao full-duplex. Estao envia I-Frame, receptor responde
com RR (ACK), REJ (NAK) ou SREJ (NAK)
Fim conexo:
emNRM smestrepodeconcluir conexo(frameDISC); escravoresponde
com frame UA.
em ABM, qualquer lado pode enviar DISC; outro responde com UA.
2.3.3.6. Padro IEEE 802 para a Camada de Enlace
67
O IEEE definiu um padro para a camada de enlace (norma IEEE 802.2), hoje
largamentedifundido. Estudaremos anormaIEEE 802 mais detalhadamenteemumcaptulo
posterior. Aqui nos limitaremos a descrever brevemente as primitivas propostas nesta norma.
Primitivas da Interface MAC / LLC:
M_DATA.request (local address, remote address, user data, service class):
pedido originado dasubcamadaLLC paraasubcamadaMAC solicitando o
envio de um frame de dados entre estaes;
M_DATA.confirm(status): confirmao de envio de umframe retornada
pela subcamada MAC subcamada LLC (valor local, no ACK do
receptor);
M_DATA.indication (local address, remote address, user data, service
class): indicaparaasubcamadaLLC do receptor achegadadeumframede
dados de uma estao remota.
Na proposta IEEE 802, a subcamada MAC opera somente com servios sem conexo e
semreconhecimento. OsserviosoferecidospelasubcamadaLLC aousurio(oucamadade
rede) podem ser com ou sem conexo e so apresentados na tabela a seguir:
SERVIOS ORIENTADOS CONEXO
L_CONNECT.request (local address, remote address, service class)
L_CONNECT.indicationt (local address, remote address, status, service class)
L_CONNECT.response (local address, remote address, service class)
L_CONNECT.confirm (local address, remote address, status, service class)
L_DISCONNECT.request (local address, remote address)
L_DISCONNECT.indication (local address, remote address, reason)
L_DISCONNECT.response (local address, remote address)
L_DISCONNECT.confirm (local address, remote address, status)
L_DATA_CONNECT.request (local address, remote address, user_data)
L_DATA_CONNECT.indication (local address, remote address , user_data)
L_DATA_CONNECT.response (local address, remote address)
L_DATA_CONNECT.confirm (local address, remote address status)
68
L_RESET.request ( local address, remote address)
L_RESET.indication (local address, remote address, reason)
L_RESET.response (local address, remote address)
L_RESET.confirm (local address, remote address, status)
L_CONNECTION_FLOWCONTROL.request (local address, remote address,
amount of data)
L_CONNECTION_FLOWCONTROL.indication (local address, remote address,
amount of data)
SERVIOS SEM CONEXO
L_DATA.request (local address, remote address, user_data, service class)
L_DATA.indication (local address, remote address, user_data, service class)
2.3.4. A CAMADA DE REDE
O objetivo da camada de Rede assegurar o transporte de unidades de dados,
denominadas pacotes, do sistema fonte ao sistema destinatrio, definindo uma trajetria
apropriada. Estatrajetriapodesignificar apassagempor diversosnsintermediriosdarede,
o que significa que a camada de Rede deve ter o conhecimento de todos os aspectos
topolgicos daredeconsideradae, comestainformao, ser capaz deescolher o caminho a
ser traado pelas mensagens (Roteamento). Nestaescolha, interessantequesejalevado em
contaoestadocorrentedarede, particularmentenoquediz respeitoaotrfegodasmensagens,
evitando assim a sobrecarga de certos trechos das linhas de comunicao.
Ainda, se o sistemas fonte e destinatrio esto conectados a redes diferentes, estas
diferenas devem ser levadas em conta e compensadas pela camada de Rede.
Duas funes essenciais da camada de Rede, descritas brevemente aqui, refletem,
respectivamente, os problemas deroteamento econgestionamento, sero tratados nestaparte
do documento. Os mecanismos relacionados s funes deinterconexo de redes merecero
uma parte dedicada mais adiante.
2.3.4.1. Servios oferecidos pela camada de Rede
a) Servios orientados conexo e sem conexo
Umadas primeiras discusses realizadas no quediz respeito concepo dacamada
de Rede foi a questo do tipo de servio a ser oferecido s camadas superiores,
particularmente relacionado existncia ou no de conexo.
69
Aqueles que defendiama proposta de umservio semconexo, estabeleciamque a
funo desta camada era garantir o transporte dos pacotes e nada mais que isso, as outras
funes como o controle deerro, controle defluxo, etc, devendo ficar acargo das camadas
superiores da arquitetura de comunicao. Desta forma, a camada de Rede deveria, ento,
oferecer unicamente dois tipos de primitivas de servio: SEND PACKET e RECEIVE
PACKET.
Por outro lado, outro grupo defendiaapropostadeumservio confivel, orientado
conexo, com comunicao bidirecional.
Oresultadodestadiscussofoi adefinio, anvel domodeloOSI, deduasclasses de
servio, sem conexo e orientado conexo, sendo que uma certa liberdade foi dada no
sentido desedefinir aquenvel o servio comconexo seriaimplantado, ou mesmo seeste
seria implantado. Abriu-se, assim, a possibilidade de se ter, nos diferentes nveis, as duas
classes de servio, como ilustrado pela figura 2.3.24.
APLICAO
APRESENTAO
SESSO
TRANSPORTE
REDE
ENLACE
FSICA
servio orientado
conexo
servio sem
conexo
SAP
Figura 2.3.24 - Ilustrao das classes de servio do modelo OSI.
OsSAPssolocalizadosnainterfaceentreduascamadas, permitindoqueumacamada
tenhaacessoaosserviosoferecidospelacamadainferior. Comosepodever nafigura2.3.24,
da camada de Enlace para cima, os servios podem ser sem ou com conexo.
Pode-seter, desdeo nvel Aplicao, umservio totalmenteorientado conexo ou,
de maneira oposta, sem conexo. Ainda, possvel ter-se num dado nvel, um servio
orientado conexo, mesmo se os servios oferecidos pelas camadas inferiores so sem
conexo. Oinversotambmverdadeiro, emboranosejaumaescolhadasmaisinteressantes
(implantar servios sem conexo sobre redes oferecendo servios orientados conexo).
Umaconexo deRedevista, daticado modelo OSI, como umpar defilas FIFO
(FIrst In FIrst Out), cadaumaorientadanumsentido, conectadoentredoisNSAPs (endereos
derede). A figura 2.3.25 ilustrao estado daconexo, considerando aadoo deumservio
orientado conexo. A figura 2.3.25(a) ilustra o estado da conexo antes do seu
70
estabelecimento; 2.3.25(b) aps o estabelecimento da conexo e, 2.3.25(c), aps o envio de
trs pacotes de dados.
NSAPs
usurio
1
usurio
2
camada Rede
NSAPs
(a) (b) (c)
usurio
1
usurio
2
camada Rede
camada Rede
NSAPs
usurio
1
usurio
2
Figura 2.3.25 - Modelo de uma conexo de Rede: (a) antes do estabelecimento; (b) aps o
estabelecimento; (c) aps o envio de trs pacotes (de 1 para 2).
b) As primitivas de servio
A tabelaaseguir apresentaas primitivas deservio disponveis pelacamadadeRede
do modelo OSI, tanto para os servios orientados conexo como para os sem conexo.
SERVIO ORIENTADO CONEXO
N_CONNECT.request(called, calling,acks_wanted,exp_wanted,qos,user_data)
N_CONNECT.indication(called,calling,acks_wanted,exp_wanted,qos,user_data)
N_CONNECT.response(responder,acks_wanted,exp_wanted,qos,user_data)
N_CONNECT.confirm(responder,acks_wanted,exp_wanted,qos,user_data)
N_DISCONNECT.request (source, reason, user_data, responding_address)
N_DISCONNECT.indication (source, reason, user_data, responding_address)
N_DATA.request (user_data)
N_DATA.indication (user_data)
N_DATA_ACKNOWLEDGE.request ( )
N_DATA_ACKNOWLEDGE.indication ( )
N_EXPEDITED_DATA.request (user_data)
N_EXPEDITED_DATA.indication (user_data)
N_RESET.request (source, reason)
N_RESET.indication (source, reason)
N_RESET.response ( )
N_RESET.confirm ( )
SERVIO SEM CONEXO
N_UNITDATA.request (source_address,dest_address, qos, user_data)
N_UNITDATA.indication (source_address,dest_address, qos, user_data)
71
N_FACILITY.request (qos)
N_FACILITY.indication (dest_address, qos, reason)
N_REPORT.indication (dest_address, qos, reason)
N_CONNECT.request aprimitivautilizadapararequisitar oestabelecimentodeuma
conexo deRedeeatravs deseus parmetros deve-seindicar o endereo ao qual sedeseja
conectar (calling), assimcomo o endereo do iniciador (called). Encontra-se, ainda, nos seus
parmetros, duas variveis booleanas que permitem requisitar servios adicionais.
O parmetro acks_wanted permiteindicar o pedido dereconhecimento depacotes. Se
acamadadeRedeno permiteo fornecimento dereconhecimento, o fornecedor vai colocar
estavarivel afalso naprimitivadeindicao; damesmaforma, seaentidadedestinatriano
podefornecer reconhecimento, elamesmao far(colocar acks_wanted afalso) naprimitiva
de resposta.
O outro parmetro booleano, exp_wanted, permite a utilizao de servios de dados
expressos (ou urgentes), o que significa que um pacote pode violar a ordem normal dos
pacotes nafilaparasecolocar nacabeadesta. Isto permite, decerto modo, estabelecer um
nvel de prioridade entre as mensagens a nvel de Rede.
O parmetro qos (quality of service) permitedeterminar aqualidadedo servio aser
oferecido, sendo composto de duas listas de valores. A primeira lista contm o contexto
desejado pela entidade iniciadora; a segunda indica os valores mnimos aceitveis. Se o
servio de Rede incapaz de fornecer pelo menos os valores mnimos estabelecidos pelo
usurio iniciador, aconexo no serestabelecida. Os valores estabelecidos nesteparmetro
so a taxa de erro, a taxa de transmisso, a confidencialidade e custo da transmisso.
O iniciador pode, atravs do parmetro user_data, introduzir dados no pedido de
conexo, podendo a entidade chamada consultar estes dados antes da aceitao da conexo.
A aceitao de uma conexo feita pelo chamador atravs da primitiva
N_CONNECT.indication; por outro lado, a recusa implementada atravs da primitiva
N_DISCONNECT.request, que informa, atravs do parmetro reason, o motivo do no
estabelecimento da conexo.
Se a conexo estabelecida, a transmisso de dados feita utilizando a primitiva
N_DATA.request, queserrefletidano receptor por umaprimitivaN_DATA.indication. Caso
um pedido de reconhecimento de pacotes foi acertado entre os usurios da camada no
momento daconexo, o reconhecimento serimplementado atravs do envio, pelo receptor,
de uma primitiva N_DATA_ACKNOWLEDGE.request.
As primitivas N_RESET so utilizadas parasinalizar problemas decomunicao, tais
como o bloqueio de uma entidade de transporte envolvida na comunicao ou mesmo do
fornecedor do servio. Oefeito desteservio o esvaziamento das filas deespera, sendo que
72
as informaes presentes nestas sero perdidas. As perdas devero ser recuperadas pela
camada de Transporte.
As primitivas N_UNITDATA so utilizadas para o envio de dados no servio sem
conexo; elasnooferecemnemcontroledeerrosnemdefluxo. N_FACILITY oservioque
permiteao usurio obter informaes sobreas caractersticas datransmisso deinformao,
por exemplo, a percentagem de pacotes distribudos.
Finalmente, aprimitivaN_REPORT permitecamadadeRedeinformar aocorrncia
de problemas relativos ao servio de Rede, como, por exemplo, a indisponibilidade
momentnea de um determinado endereo destinatrio.
c) O endereamento de Rede
Umafunoimportantedestacamadaofornecimentodeumacodificaoespacial de
endereos coerente para uso da camada de Transporte. O fato que, para cada rede, foi
definida uma estrutura distinta de endereamento, o trabalho de uniformizao ficando a cargo
da camada de Rede.
De uma forma geral, 2 esquemas bsicos de endereamento so possveis:
endereamento hierrquico: oendereoconstitudoconformeaposiodecada
entidade na hierarquia da rede, sugerindo o local onde esta se encontra. Este
esquemadeendereamentousadoemWANseMANs(ex.: Internet). Estatcnica
facilita o roteamento.
endereamento horizontal: aqui, o endereo no temrelao comlocalizao da
entidadenarede. EsteesquemausadoemLANs(ex.: padroIEEE 802). Estetipo
detcnicafacilitaareconfigurao daredesemnecessitar alterar os endereos das
estaes.
NomodeloOSI, aestruturadeendereamentoanvel deRedefoi concebidademodo
aincorporar as caractersticas das diversas estruturas deendereamento existentes. Todas as
primitivasdeserviodeRedeutilizamoendereamentoorientadoaosNSAPsparaidentificar
a origemou o destinatrio de umpacote. A figura 2.3.26 mostra o formato do endereo de
NSAP, que composto de trs campos:
AFI (Authority and Format Identifier), identificao tipo deendereamento existente
no terceiro campo do endereo, possibilitando uma numerao entre 10 e 99,
correspondente aos diferentes formatos existentes e deixando ainda possibilidades
de extenso;
IDI (Initial Domain Identifier) indicaodomnioao qual pertenceonmerodo DSP
(o terceiro campo) se o DSP umnmero de telefone, este campo indicar o
cdigo do pas;
73
DSP (Domain Specific Part) contmo endereo especfico do NSAP no domnio
considerado.
AFI IDI DSP
IDP
Figura 2.3.26 - Endereamento de um NSAP.
2.3.4.2. A funo de Roteamento
Como dito na parte introdutria, a funo principal da camada de Rede efetuar o
encaminhamento dos pacotes trocados entre duas entidades oferecendo uma comunicao
fim-a-fim. Duranteatrajetriaospacotessofreroumasriedesaltos, sendoqueadecisode
quecaminhoutilizar feitaanvel dacamadadeRede. Estadecisopodelevar emconta(ou
no) a situao da rede do ponto de vista do trfego de informao.
Num primeiro ponto, dado este ltimo aspecto, pode-se distinguir os diferentes
algoritmos de roteamento em duas principais classes: os algoritmos adaptativos e no
adaptativos. Osalgoritmosnoadaptativosnolevamemcontaasituaodetrfegodarede,
fazendo o denominado roteamento esttico; j os adaptativos o fazem considerando
modificaes de topologia da rede e do trfego real.
As sees queseguemvo discutir alguns dos conjuntos dealgoritmos deroteamento
existentes.
a) Algoritmo do caminho mais curto
Estealgoritmo baseado numarepresentao dasubredenaformadeumgrafo, onde
os ns so os IMPs eos arcos so as linhas decomunicao. A escolhadeumatrajetria,
ento, baseada neste grafo, o objetivo sendo encontrar o caminho mais curto entre dois IMPs.
O conceito de caminho mais curto pode levar em conta diferentes aspectos:
o nmero de ns entre os dois pontos;
a distncia geogrfica entre os pontos;
os tempos de espera em cada n da trajetria, etc...
Noterceirocaso, por exemplo, osarcossoetiquetadoscomumvalor querepresentao
tempo mdio de espera entre o envio e a recepo de um pacote de teste, expedido
periodicamente.
74
Umexemplodealgoritmodocaminhomaiscurtoaqueledefinidopor Dijkstra, onde
cada n etiquetado pela distncia do n fonte seguindo o caminho mais curto conhecido.
Como, inicialmente, nenhumcaminhoconhecido, osns soetiquetadoscominfinito, ou
"1". Estasvosendoatualizadasmedidaqueoalgoritmoprogrideequeoscaminhosvose
tornando conhecidos, as etiquetas vo indo do provisrio ao permanente uma vez que o
caminho mais curto foi encontrado para os diferentes ns.
A figura 2.3.27 ilustra o funcionamento deste algoritmo. Vamos considerar o grafo
apresentadoem2.3.27(a), ondeosarcossoetiquetadoscomovalor dadistnciaentreosns.
Vamos considerar que o objetivo aqui encontrar o caminho mais curto entre A e D.
Como o n A o n de origem, ele ser marcado por um n de referncia (fundo cinza)
e sero analisados os ns adjacentes. Estes sero etiquetados pela distncia que os separa de A,
marcandotambm, naetiqueta, oltimonapartir doqual oclculofoi feito. Apsaanlise
dos ns adjacentes aA, marca-seaquelecontendo aetiquetademenor valor, como mostrado
em 2.3.27(b), este n passando a ser o n ativo (ou de referncia).
Repetindo a anlise para o n B, define-se o n E como sendo o novo n ativo,
mostradoem2.3.27(c). Oalgoritmovai progredindoatqueocaminhomaiscurtosejaento
encontrado, as etiquetas sendo modificadas segundo as anlises efetuadas. A progresso do
algoritmo para o exemplo ilustrada por 2.3.27(d), 2.3.27(e) e 2.3.27(f).
Para este exemplo, o caminho mais curto fica sendo pelas estaes A-B-E-F-H-D,
sendo A a origem e D o destino final.
2
6
1
2
7
2
4
2
3 3
2
A
B
G
E
F
C
H
D A
B (2,A)
G (6,A)
E ( ,-)
F ( ,-)
C ( ,-)
H ( ,-)
D ( ,-)
(a)
(b)
(c)
(d)
(e)
(f)
A
B (2,A)
G (6,A)
E (4,B)
F ( ,-)
C (9,B)
H ( ,-)
D ( ,-) A
B (2,A)
G (5,E)
E (4,B)
F (6,E)
C (9,B)
H ( ,-)
D ( ,-)
A
B (2,A)
G (5,E)
E (4,B)
F (6,E)
C (9,B)
H (9,G)
D ( ,-) A
B (2,A)
G (5,E)
E (4,B)
F (6,E)
C (9,B)
H (8,F)
D ( ,-)
Final =D (10,H)
Figura 2.3.27 - Ilustrao do algoritmo de Dijkstra.
75
O algoritmo do caminho mais curto pode ser executado localmente em cada n,
partindo de uma informao fixa sobre os custos de cada linha (roteamento esttico
distribudo).
Oalgoritmo podetambmser executado por umaestao encarregadadedefinir rotas
entre todos os demais ns. Esta estao chamada RCC (Routing Control Center). A RCC
recebe novos dados sobre custo de certas linhas cada vez que uma mudana ocorre
(roteamento dinmico centralizado). O uso da RCC pode causar sobrecarga na rede se
ocorremalteraes muito freqentes nos custos de cada linha, pois a RCC temque receber
muitas mensagens contendo novos dados sobre custos das linhas afetadas.
b) Roteamento multicaminhos
Estealgoritmolevaemcontaapossibilidadedeexistnciadediversoscaminhosentre
dois ns de valores quase equivalentes. Desta forma, o desempenho da rede pode ser
melhorado, se o trfego assumido por vrios caminhos, reduzindo assima carga de uma
dada linha de comunicao.
Esta tcnica de roteamento implantada da seguinte forma: cada IMP mantm
atualizada uma tabela comuma linha para cada IMP da rede. Para cada IMP, tem-se as
diferenteslinhasdesadaparaestedestino, classificadasemordemdecrescente, domelhor ao
menos eficiente, com um peso relativo.
Antesdoenviodeumpacote, oIMP geraumnmeroaleatrioparadefinir ocaminho,
utilizando os pesos como probabilidade. As tabelas so criadas de maneira esttica pelo
administrador do sistema e carregadas em cada IMP na inicializao da rede.
O grafo dafigura2.3.28(a) ilustrao desenvolvimento destealgoritmo, sendo queem
2.3.28(b) est apresentada a tabela para o IMP J. Se J recebe umpacote destinado a A, ele
pode optar por um dos trs caminhos, consultando a tabela na linha associada ao n A.
A primeiraescolhaocaminhodiretoaA, asoutrassendoviaI eH, respectivamente.
A deciso, ento, baseadanageraodeumnmeroaleatrioentre0,00e0,99. Seonmero
inferior a0,63, alinhaA serescolhida, seestiver entre0,63e0,83, alinhapassando por I
ser escolhida; seno, ser a linha que passa por H.
76
A B C D
E F G
H
I J K L
A A 0,63 0,21 0,16 I H
B A 0,46 0,31 0,23 H I
C A 0,34 0,33 0,33 I H
D H 0,50 0,25 0,25 A I
E A 0,40 0,40 0,20 I H
F A 0,34 0,33 0,33 H I
G H 0,46 0,31 0,23 A K
H H 0,63 0,21 0,16
K A
I I 0,65 0,22 0,13 A H
K K 0,67 0,22 0,11 H A
L K 0,42 0,42 0,16 H A
(a) (b)
Figura 2.3.28 - Ilustrao do algoritmo multicaminho: (a) grafo da rede; (b) tabela p/ n J .
A vantagem desta tcnica sobre a anterior a possibilidade de definir diferentes
classes de trfego sobre diferentes caminhos. Uma outra vantagem a confiabilidade, uma vez
que vrias linhas podem ser perdidas sem que a rede perca a sua conectividade.
c) Roteamento dinmico distribudo
Nestatcnica, cadaestaotrocaperiodicamenteinformaesderoteamentocomsuas
vizinhas. Cada estao envia aos seus vizinhos imediatos uma tabela contendo informao
sobre custo de transmisso a partir dela para cada uma das demais estaes da rede. Esta
tabela contm, paracada destino possvel, o n preferencial desada e o custo estimado de
transmisso por esten. Estetipo deroteamento tambmconhecido como Roteamento por
Vetor de Distancia (Distance Vector Routing).
Cada n temque conhecer o custo de transmisso para cada umdos seus vizinhos
imediatos. Paradecidir arota, aestao emissorasomao custo detransmisso ato vizinho
imediato com custo estimado dali at destino final.
A operao deste tipo de algoritmo ilustrada na figura 2.3.29.
77
(b) tabelas do n J
A B C D
E F G
H
I J K L
(a) subrede
L
A
B
C
D
E
F
G
H
I
J
K
A I H K
0
12
25
40
14
23
18
17
21
9
24
29
Origens
d
e
s
t
i
n
o
s
24
36
18
27
7
20
31
20
0
11
22
33
20
31
19
8
30
19
6
0
14
7
22
9
21
28
36
24
22
40
31
19
22
10
0
9
8
-
-
-
-
-
-
12
10
0
6
-
J
8
20
28
20
17
30
18
12
10
0
6
15
A
A
I
H
I
I
H
H
I
-
K
K
nova
tabela J
recebido das demais estaes
local
Figura 2.3.29 - Roteamento dinmico distribudo
No exemploacima, umamensagemdonJ paraonB serroteadaatravs donA,
enquanto umamensagemdestinadaao n C passarpelo n I (ver ltimatabelaadireita, na
figura 2.3.39). Vale lembrar que esta escolha de rota pode mudar, pois o roteamento
dinmico, isto , as tabelas so periodicamente atualizadas. Um algoritmo baseado neste
principio, denominado RIP (Routing Information Protocol) foi implementado originalmente
na ARPANET e posteriormente na Internet (parte do protocolo IP at 1990, quando foi
substituido pelo protocolo OSPF, Open Shortest Path First), e na rede novell (protocolo IPX).
2.3.4.3. O controle de congestionamento
Duranteofuncionamentodeumaaplicaodistribudaconstrudasobreumarede, vo
existir instantes emque o fluxo de mensagens sendo trocadas pode atingir valores bastante
importantes, detal formaqueos ns intermedirios, responsveis do tratamento dos pacotes,
no sejammais capazes de tratar os pacotes para retransmisso. Isto, naturalmente, vai ter
como conseqncia uma degradao no funcionamento da rede, podendo trazer prejuzos
(lentido, perdas de pacotes) ao desempenho da aplicao e comprometendo o seu correto
funcionamento. As causas destasobrecarga, conhecidapor congestionamento, podemser de
vrias naturezas. Umexemplo disto podeser alentido dos ns narealizao do roteamento
ou um mau funcionamento do mecanismos de controle de fluxo.
O congestionamento consiste, normalmentedeumprocesso arealimentao positiva,
o nmero de mensagens tendendo a crescer se a rede est congestionada.
78
Sendo assim, a camada de Rede deve tambm fazer este papel, atravs da
implementaodefunes decontroledecongestionamento, alguns dos quais serodescritos
a seguir.
a) Pr-alocao de buffers
Uma primeira forma de controlar o congestionamento da rede atravs da pr-
alocao de buffers, particularmenteseoservioorientadoconexo. Istosignificaque, no
momento do estabelecimento do circuito virtual que vai caracterizar a conexo, um
determinado nmero debuffers deveser alocado emcadan parapermitir o armazenamento
dos pacotes a seremretransmitidos. Evidentemente, o nmero de buffers a ser alocado vai
depender do protocolo implementado entre cada par de ns intermedirios (IMPs). Um
algoritmo do tipo envia-espera vai exigir umnmero de buffers evidentemente menor do
que um algoritmo que autorize o envio de diversos pacotes antes da retransmisso.
b) A destruio de pacotes
Umoutromecanismoqueadotadoparaocontroledecongestoodadestruio de
pacotes. Nestecaso, no existereservaprviadebuffers, demodo que, seumpacotechega
num IMP e este no dispe de buffer para o seu armazenamento, este simplesmente
destrudo (oudescartado). Seo servio oferecido do tipo datagrama, no hmais nadaa
fazer; por outro lado, se este orientado conexo, o pacote dever ser armazenado em algum
n para uma possvel retransmisso. Ainda, a destruio de pacotes deve seguir uma certa
disciplina: por exemplo, destruir umpacotedereconhecimentopodenoser umaboasoluo,
umavez queestepacotepoderiapermitir aonoapagamentodeumpacotedeinformaoe,
por conseqncia, aliberaodeumbuffer. Umasoluoparaistoareserva, paracadalinha
de chegada, de um buffer que possibilite a recepo de pacotes de reconhecimento
endereados quele n.
c) O controle de fluxo
O controle de fluxo consiste em outra tcnica de controle de congestionamento,
embora no muito eficiente nesta tarefa. O problema do controle do fluxo o fato que os
limites do trfego no podem ser estabelecidos a valores muito baixos, pois isto pode
provocar problemas deeficinciana aplicao se umpico detrfego requerido. Por outro
lado, a escolha de um limite alto de trfego pode resultar num controle medocre do
congestionamento.
79
d) outras tcnicas
Outras tcnicas de controle de congesto podemser ainda implementadas, como por
exemplo:
o controle isartmico, baseado na existncia emcada n de umcerto nmero de
fichas. O n que tiver um pacote a transmitir, deve obter uma ficha, se existir
alguma disponvel. Isto permite manter constante o nmero de pacotes em
circulao na rede;
os pacotes de estrangulamento, enviados por umn ao usurio do servio derede,
indicando que determinadas linhas de sada esto no limite da saturao. Isto faz
comqueo usurio reduzao envio depacotes parao destino utilizando aquelalinha
at que a situao retome a normalidade.
2.3.4.4. Exemplos de Protocolos de Rede
a) Protocolo X.25 PLP
O protocolo X.25 PLP (Packet Layer Protocol) o protocolo de nvel 3 largamente
adotado no modelo OSI fazendo parte do padro X.25. O X.25 o resultado dos esforos
efetuadosapartir de1974peloCCITT paraadefiniodeumpadrodecomunicaoparaos
nveis Fsico, Enlace e Rede.
OX.25defineainterfaceentreumDTE (Data Terminal Equipment) eumDCE (Data
Circuit-terminating Equipment). Umn intermedirio dasubrede(umIMP, naterminologia
OSI) definido aqui como um DSE (Data Switching Exchange).
O padro X.25 define o formato e o significado da informao trocada atravs da
interface DTE-DCE para as camadas 1, 2 e 3. No que diz respeito ao nvel 1, X.25 faz
referncia a outros padres, no caso o X.21 para as transmisses digitais e X.21bis, uma verso
analgica do X.21, bastante similar a RS-232-C.
Nacamada2, X.25defineprotocolosdeenlacecomoobjetivodeoferecer ummeiode
transmisso confivel, definindo protocolos como LAP e LAPB.
No nvel de Rede, X.25 implementa as conexes entre dois DTEs (figura 2.3.29),
oferecendo dois tipos de conexo:
80
achamada virtual (virtual calls), quesimilar aumachamadatelefnicacomum, a
qual caracterizada pelo estabelecimento de uma conexo, a troca de dados e a
liberao de conexo;
o circuito virtual permanente (permanent virtual circuits), quefuncionacomo uma
linha especializada, disponvel a todo momento, de modo que basta aos DTEs
efetuar a transferncia dos dados (uma conexo permanente estabelecida na
inicializao).
No caso das chamadas virtuais, como mostra a figura 2.3.30, quando umDTE quer
dialogar com um outro DTE, ele deve, inicialmente, estabelecer a conexo; ele constri,
ento, umpacoteCALL REQUEST enviando-o ao DCE. Emseguida, asubredeencaminhao
pacoteao DCE destinatrio quevai pass-lo ao DTE correspondente. Seaconexo podeser
estabelecida, o DTE destinatrio vai enviar um pacote CALL ACCEPTED indicando a
aceitao da chamada.
DTE
DCE DCE
DTE
DSE
(Data Terminal
Equipment)
(Data Circuit-
terminating
Equipment)
(Data Switching
Exchange)
Protocolo X.25 PLP
IMP (ISO)
Figura 2.3.29 - O protocolo de rede X.25 PLP
Com a conexo estabelecida, os dois DTEs podem, ento trocar pacotes de dados
atravs de uma linha de comunicao bidirecional.
Quando um dos DTEs deseja terminar o dilogo, ele envia um pacote CLEAR
REQUEST ao seu par que vai responder com um pacote CLEAR CONFIRMATION em
reconhecimento.
81
CALL
CALL
CALL
CALL
DADOS
DADOS
DADOS
DADOS
CLEAR
CLEAR
CLEAR
CLEAR
etapa de
liberao
etapa de
transf. de
dados
etapa de
chamada
DTE local DTE remoto interface
DTE-DCE
interface
DTE-DCE
troca de um nmero
arbitrrio de pacotes
de dados
Figura 2.3.30 - Comunicao entre dois DTEs via X.25.
A figura 2.3.31 apresenta o formato de um pacote CALL REQUEST. Este pacote,
assimcomo os demais do protocolo X.25, inicia por umcabealho de 3 bytes. Os campos
GRUPO eCANAL compemumnmero decircuito virtual aser utilizado no dilogo, este
nmero codificado em12bits, o quesignificaquepode-seutilizar at4096circuitos virtuais
distintos, sendo que o nmero 0 reservado pelo protocolo. O campo TIPO permite
identificar o tipo do pacoteenviado, o bit CM estando a1nos pacotes decontroleea0nos
pacotes dedados. Ocabealho, defato, comumatodos os pacotes doX.25. J os camposa
seguir so especficos ao pacote CALL REQUEST. Os dois campos seguintes, TAM. END.
INIC. e TAM. END. RESP. representam os tamanhos dos endereos do iniciador e do
respondedor, respectivamente. Eles so codificados naforma dedgitos decimais, em4 bits
por campo.
O sistema de endereamento do X.25 similar ao do sistema telefnico, onde cada
usurio identificado por umnmero decimal formado pelo cdigo do pas, umcdigo de
rede e umendereo interior da rede correspondente, este endereo podendo conter at 14
dgitos decimais. O campo TAM. FACILIDADES, permite indicar o tamanho do campo
seguinte, FACILIDADES, que por sua vez permite ao usurio requisitar servios especiais
(facilidades) necessrios comunicao. Um exemplo destas facilidades pode ser a
chamadaacobrar (PCV). Finalmente, ocampoDADOS USURIO permiteaoDTE enviar at
16 bytes de informao com o pacote CALL REQUEST.
O pacote de dados do X.25 mostrado figura 2.3.32. O bit Q indica dado
qualificado. Este bit no temgrande utilidade no protocolo de Rede, mas ele permite aos
82
protocolos das camadas superiores fazer adistino entresuas mensagens decontroleesuas
mensagens de dados. O campo CM sempre 0 para os pacotes de dados.
Os campos SEQNCIA e SUPERPOS. so utilizados no controle de fluxo com janela
de antecipao. O bit D indica o significado do campo SUPERPOS.: se D = 0, o
reconhecimento vai indicar que o DCE local recebeu o pacote; se D = 1, o reconhecimento vai
indicar queo DTE remoto recebeu o pacote. O campo M (More) indicaapertinnciadeum
pacote a um grupo de pacotes considerado.
8 bits
0 0 0 1 GRUPO
CANAL
TIPO
CM
TAM. END. INIC. TAM. END. RESP.
ENDEREO INICIANTE
ENDEREO RESPONDEDOR
TAM. FACILIDADES 0 0
FACILIDADES
DADOS USURIO
Figura 2.3.31 - Pacote CALL REQUEST do X.25.
8 bits
Q D GRUPO
CANAL
SUPERPOS. 0
MD.
M SEQUNCIA
DADOS
Figura 2.3.32 - Pacote de dados do X.25.
OsdemaispacotesdecontroledoX.25soapresentadosnafigura 2.3.33, algunsdeles
contendoapenas ocabealhoeoutroscontendoinformaes adicionais(at2bytes). Nocaso
deumpacoteCLEAR REQUEST, por exemplo, o quarto byteindicaacausadaliberao da
conexo.
83
8 bits
0 0 0 1 GRUPO
CANAL
TIPO
CM
INFORMAO
ADICIONAL
Figura 2.3.33 - Pacotes de controle do X.25.
b) O Protocolo IP (Internet Protocol)
O protocolo IP foi projetado para redes de comutao de pacotes. Assume-se que a
rede composta de vrias sub-redes de tipos diferentes, interligadas por routers
(roteadores). Cada estao na rede denominada um host (hospedeiro).
O IP um protocolo sem conexo e sem reconhecimento (opera, portanto, com
datagrama no confivel). Ele s faz controle de erros do cabealho das mensagens, para
garantir acorreo do endereo dedestino, vital paraafuno deroteamento. O IP tambm
no faz controledefluxo. Como o protocolo IP usualmenteutilizado emconjunto comum
protocolo de transporte chamado TCP, estas funes ficama cargo deste outro protocolo,
como veremos na seo seguinte.
O IP usa endereamento hierrquico e suporta roteamento dinmico distribudo nos
routers. Um router pode tambm descartar pacotes se no houver espao em buffer para
armazena-los.
O esquemadeendereamento adotado no protocolo IP o seguinte: cadaestao na
redepossui umendereonico, compostode32bits(4bytes), subdivididosem3classesmais
utilizadas:
classeA: byte1=>msbazero, demais7bitsidentificamsub-rede(de1a126); 24
bits restantes usados paradefinir o endereo local do host (at16milhes dehosts
por sub-rede)
classe B: 2 bytes para sub-rede e 2 bytes para host (at 65.536 hosts por sub-rede)
classeC: 3 bytes parasub-redee1 byteparahost (at254 hosts, valores 0 e255
reservados)
O esquema completo de endereamento apresentado na figura 2.3.34.
Usa-se uma mscara de endereamento para definir a partir de que byte comea o
endereo do host, separando-o do endereo da subrede. Por exemplo, a mscara
255.255.255.0indicaqueos 3primeiros bytes fazempartedo endereodasubrede, enquanto
o quarto byte contm o endereo do host.
84
Desta forma, uma estao de rede teria umendereo IP do tipo: 150.162.14.1 (host
atlas no LCMI-UFSC) ou 150.162.14.4 (host polaris, tambmno LCMI). Observe que as
duas estaes do exemplo acima esto situadas na mesma subrede. Os bytes nos exemplos
acima so separados por pontos para facilitar a converso do formato string para endereo IP.
32 bits
0 Sub-rede Host
10 Sub-rede Host
110 Sub-rede Host
1110 Endereo para Multicast
11110 Reservado para uso futuro
classe
A
B
C
D
E
Endereos
1.0.0.0 a
12725525
128.0.0.0 a
19125525
192.0.0.0 a
22325525
224.0.0.0 a
23925525
240.0.0.0 a
24725525
Figura 2.3.34 Endereamento IP
2.3.5. A CAMADA DE TRANSPORTE
A funo da camada de Transporte permitir a transferncia de informaes do
sistemaemissor ao sistemareceptor deformaconfivel eeconmica, independentementeda
natureza da informao ou das redes suportando a comunicao.
A importncia dos servios fornecidos por esta camada est no fato que muitas
aplicaes existentes podem funcionar simplesmente com a existncia de um servio
confivel de transporte de informao, o que quer dizer que os servios que poderiamser
fornecidos pelascamadas superiores sodispensveis. Umexemplodistoainterconexode
estaes no sistema UNIX.
Nestapartedodocumentoseroapresentadasasprincipaisdefiniesrelacionadasaos
servios e protocolos de transporte, particularmente do ponto de vista do modelo OSI.
2.3.5.1. O servio oferecido camada de Sesso
85
Segundo o modelo OSI, os usurios da camada de Transporte so as entidades de
Sesso, s quais deveser oferecido o servio confivel detransportedos bits deinformao
fim-a-fim, esteservio sendo fornecido atravs deumaentidadedesoftwareoudehardware
denominada entidade de transporte.
Demaneirasimilar camadadeRede, adeTransportepodefornecer duas classes de
servio, ou seja, sem conexo e orientados conexo.
Os servios deTransporteorientados conexosocaracterizados pelas trs etapas j
descritasparaoutrosnveisdomodeloOSI, isto, estabelecimento de conexo, transferncia
de dados e liberao da conexo.
Estes servios so bastantesimilares aos servios oferecidos pelacamadadeRede, o
quepoderiacolocar emdvidaanecessidadedestacamada. No entanto, asuaexistnciase
justificapelanecessidadedeservios desupervisodacamadadeRededopontodevistadas
entidades efetivamente envolvidas na comunicao. Trata-se aqui de uma superviso fim-a-
fim, uma vez que, at o nvel de Rede, as comunicaes se fazem ponto-a-ponto.
OutracontribuioimportantedacamadadeTransportequeelapermiteautilizao
deprimitivas deservio padro pelas diversas aplicaes construdas sobrearedeefetuando
um perfeito isolamento em relao s camadas superiores e tornando transparentes as
possveis alteraes tecnolgicas quepoderiamocorrer nos nveis inferiores. Por estarazo,
constuma-sefazer umadistino entreos nveis de1 a4 eos de5 a7. Os primeiros quatro
nveis seriam mais orientados ao transporte efetivo das informaes e os trs nveis
superiores, mais orientados s aplicaes que sero construdas sobre a rede.
Poderamos sintetizar o servio fornecido pela camada de Transporte como de
supervisor da qualidade de servio oferecido pela camada de Rede. Isto significa que, se a
camada de Rede confivel, a camada de Transporte no ter muito a fazer.
Por outro lado, se o servio de Rede deficiente, acamada de Transporte assume a
funodesuprir asdiferenasentreaqualidadedeservioqueacamadadeSessonecessitae
aquilo que a camada de Rede pode oferecer.
Paraisto, o conceito dequalidade de servio (QOS, Quality Of Service) umaspecto
importante na concepo da camada de Transporte, baseado sobre um certo conjunto de
parmetros, entre os quais:
o tempo de estabelecimento de uma conexo;
a probabilidade de falha de um estabelecimento;
a taxa de dbito da conexo;
o tempo de trnsito;
a taxa de erro residual;
a probabilidade de incidente de transferncia;
o tempo de desconexo;
86
a prioridade, etc...
No momento do pedido de um estabelecimento de conexo, o usurio iniciante
encaminhaestesparmetrosnasprimitivasdeservio. SeacamadadeTransportejulgacertos
parmetros longe da realidade, ela pode sinalizar isto ao usurio iniciante, semmesmo ter
tentado estabelecer aconexo, atravs deumamensagemdeerro quevai, tambm, indicar a
naturezadoerrosinalizado. OutrapossibilidadeacamadadeTransportejulgar queumcerto
valor para umparmetro seja impossvel de oferecer, mas que umvalor no muito longe
daquele poderia ser oferecido. Neste caso, ela pode modificar os valores dos parmetros
enquadrados e encaminhar o pedido de conexo mquina remota.
Ainda, seamquinadistanteverificaqueelano podeoferecer determinados valores
especificados nos parmetros do pedido, ela pode modificar aqueles parmetros. Se ela
verificar que no pode atender determinados parmetros nos valores mnimos permitidos, a
conexo ser rejeitada.
2.3.5.2. As primitivas de servio de Transporte
As primitivas de servio de Transporte do modelo OSI so apresentadas na tabela a
seguir, existindo para os servios orientados conexo e sem conexo.
SERVIO ORIENTADO CONEXO
T_CONNECT.request (called, calling,exp_data,qos,user_data)
T_CONNECT.indication (called, calling, exp_data,qos,user_data)
T_CONNECT.response (qos, responder, exp_data, user_data)
T_CONNECT.confirm (qos, responder, exp_data, user_data)
T_DISCONNECT.request (user_data)
T_DISCONNECT.indication (reason, user_data)
T_DATA.request (user_data)
T_DATA.indication (user_data)
T_EXPEDITED_DATA.request (user_data)
T_EXPEDITED_DATA.indication (user_data)
SERVIO SEM CONEXO
T_UNITDATA.request (called, calling,qos,user_data)
T_UNITDATA.indication (called, calling,qos,user_data)
Como podemos ver, as primitivas de servio de Transporte se assemelhambastante
quelas do servio deRede. Existe, porm, umadiferenafundamental entreos dois nveis.
No caso do nvel Rede, considera-sequeo servio oferecido correspondeao funcionamento
real do sistema, representando inclusive suas falhas. Desta forma, podemocorrer perdas de
pacotes ou a emisso de comandos N_RESET de sua prpria iniciativa.
87
J no caso do nvel Transporte, os comandos N_RESET no so propagados aos
usurios (as camadas superiores), uma vez que o objetivo principal desta camada o
tratamentodetodososproblemasdecomunicaoevitandoqueosusuriosdoserviotomem
conhecimento das ms condies de funcionamento da rede de comunicao (se tal o caso!).
Umaoutradiferenaentreos dois servios so os usurios destes. No caso do servio
de Rede, os usurios so as entidades de Transporte, normalmente elementos associados ao
sistema operacional considerado ou a uma placa especfica instalada nos sistemas.
J os usurios do servio de Transporte podem ser programas escritos pelos
programadores de aplicaes, uma vez que, como j foi dito, muitas aplicaes podem
comunicar-sediretamenteatravs do uso direto das primitivas deservio deTransporte(no
fazendo uso dos servios de Sesso, de Apresentao ou de Aplicao).
As possveis relaes entre as primitivas de servio da camada de Transporte so
apresentadas nafigura 2.3.5.1. As duas extremidades das ilustraes caracterizamos usurios
do servio de Transporte, o fornecedor sendo representado pelo espao separando os dois
usurios.
Em2.3.5.1(a) ilustrada umestabelecimento normal de conexo, onde o usurio da
esquerda envia uma primitiva T_CONNECT.request camada de transporte. O usurio da
direita vai receber ento uma primitiva T_CONNECT.indication, cujos parmetros vo
conduzir os valores, particularmente, daqualidadedeservioaseremnegociados. Esteaceita
o estabelecimento da conexo, retornando camada de Transporte uma primitiva
T_CONNECT.response, queserrefletida, viaservio deTransporte, no usurio daesquerda
na forma de uma primitiva T_CONNECT.confirm.
88
T_CONNECT
request
T_CONNECT
indication
T_CONNECT
response
T_CONNECT
confirm
T_CONNECT
request
T_CONNECT
indication
T_DISCONNECT
request
T_DISCONNECT
indication
T_CONNECT
request
T_DISCONNECT
indication
(a) (b) (c)
T_DISCONNECT
request
T_DISCONNECT
indication
T_DISCONNECT
request T_DISCONNECT
indication
(d) (e) (f)
T_DISCONNECT
request
T_DISCONNECT
indication
T_DATA
request
T_DATA
indication
(g) (h)
T_EXPEDITED_DATA
request
T_EXPEDITED_DATA
indication
Figura 2.3.5.1 - As diversas interaes entre as primitivas de servio de Transporte.
A figura2.3.5.1(b) apresentaumatentativadeestabelecimento deconexo, rejeitada,
porm, pelousuriodadireita, queutilizaasprimitivasdeservioT_DISCONNECT.request e
T_DISCONNECT.indication para sinalizar a rejeio.
O caso similar na figura 2.3.5.1(c), porm, desta vez, o prprio fornecedor do
servio de Transporte quem rejeita a conexo, enviando uma primitiva
T_DISCONNECT.indication ao usurio da esquerda.
No que diz respeito liberao da conexo, pode-se considerar trs diferentes
maneiras: aprimeira, ilustradaem2.3.5.1(d), considerao caso emquealiberao iniciada
por umdos usurios (no caso o da esquerda). A conexo liberada no momento emque o
usurio da direita recebe uma primitiva T_DISCONNECT.indication, reflexo da primitiva
T_DISCONNECT.request emitida pelo usurio que iniciou a liberao; em 2.3.5.1(e)
considerado o caso em que os dois usurios iniciam, simultaneamente, a liberao da conexo,
nestecaso, aconexo liberada semaemisso deoutras primitivas de servio; finalmente,
em 2.3.5.1(f), a liberao iniciada pelo prprio servio de Transporte, que vai emitir
primitivas T_DISCONNECT.indication aos dois usurios conectados.
J as figuras 2.3.5.1(g) e 2.3.5.1(h), representam, respectivamente, a etapa de
transferncia de dados, para dados normais e expressos.
2.3.5.3. Os protocolos de Transporte
89
ComodefinidopelomodeloOSI, oserviooferecidopor umacamadaN oresultado
da implementao de umprotocolo N regendo a comunicao entre duas entidades N. Em
princpio, osprotocolosdeTransporteapresentampreocupaessimilaresdosprotocolosde
Enlace, ou seja, o controle de erros, o controle de fluxo, o sequenciamento dos dados.
No entanto, algumas diferenas podem ser levantadas:
no caso da camada de Enlace, dois IMPs comunicam-se via um canal de
comunicao; a nvel de Transporte, a comunicao feita via uma subrede;
no que diz respeito ao endereamento, a nvel de Enlace, umIMP no necessita
referir-se explicitamente comqual IMP ele quer dialogar, uma vez que dois IMPs
so conectados por umavianica(exceto no caso deredes dedifuso); j, no nvel
Transporte, o endereo do destinatrio deve ser explicitamente definido;
umoutroproblemaaquestodocontroledefluxo; aocontrriodonvel deEnlace,
onde cada conexo pode alocar um determinado nmero de buffers para o
armazenamento dos quadros, no nvel Transporte isto fica mais difcil dado o
nmero de conexes que pode estar sendo gerenciado num dado instante.
Um aspecto a ser levado em conta no momento da concepo da camada de Transporte
o servio oferecido pela camada de Rede, que pode ser classificado da seguinte maneira:
servios do tipo A, quecaracterizaos servios "perfeitos", ondeafrao depacotes
perdidos, duplicados oucorrompidos desprezvel; o tipo deservio dificilmente
encontradoemredespblicas, masalgumasredeslocaissobastanteprximasdeste
tipo de servio;
servios do tipo B, onde a perda de pacotes tambm rara, mas a comunicao
freqentementeinterrompida(servioN_RESET) devidoaproblemas decongesto,
de hardware ou software;
servios do tipo C, no confiveis, sendo caracterizados normalmentepelas redes a
longa distncia do tipo datagrama.
Paracadatipodeservio, deA aC, onvel doserviodeTransportecaminhadomais
simples ao mais complexo, ou seja, quanto pior o servio oferecido pela camada de Rede,
melhor (e mais complexo) dever ser o servio oferecido pela camada de Transporte.
Parapermitir adefiniodevriosnveisdeoferecimentodeservio, omodeloOSI, a
nvel da camada de Transporte, define cinco classes de servio:
90
classe 0, que so os servios mais simples, capazes de estabelecer uma conexo, mas
baseados na hiptese que o servio de Rede no gera erros de transmisso; no
existe tratamento de erros, controle de fluxo nem sequenciamento;
classe 1, corresponde classe 0, mas permite implementar a retomadade dilogo,
considerando que pode ocorrer quebra do dilogo a nvel de Rede (servio
N_RESET); ele permite a retomada da comunicao entre duas entidades de
Transporte aps a interrupo de uma conexo de Rede;
classe 2, que torna mais sofisticadaa classe 0 pela introduo da possibilidadede
manuteno dediversas conexes deTransportesobreumanicaconexo deRede
(multiplexao);
classe 3, queagrupaos mecanismos deretomadadedilogo daclasse1comos de
multiplexao da classe 2;
classe 4, definida para operar sobre os servios de Rede do tipo C cuja falta de
confiabilidade conhecida, devendo tratar ento os erros, perdas, duplicaes,
retomadadedilogo etodos os possveis problemas no resolvidos pelacamadade
Rede.
No momento do estabelecimento deumaconexo, so as entidades pares quedevem
tomar adeciso sobrequal classedeservio adotar, umaclassesendo propostapeloiniciante
e negociada para permitir o estabelecimento da conexo.
As funes do protocolo de Transporte vo depender do ambiente no qual ele vai
operar assimcomo danaturezados servios quedevemser supridos. Ummnimo defunes
deve, todavia, ser oferecido por um protocolo de Transporte, entre as quais:
o estabelecimento de conexo;
transferncia de TPDUs;
segmentao de mensagens, etc...
O termo TPDU indicado acima serve para definir a unidade de dados trocada entre
duasunidadesdeTransportequeaunidade de dados de protocolo de transporte (emingls,
Transport Protocol Data Unit). Por outrolado, aunidadededadosemitidapor umusuriodo
servio Transporte ser referenciado como sendo uma mensagem.
Umamensagemaser transmitidapodeter umtamanho qualquer, asegmentao das
mensagens devendo ser assumida por esta camada. Isto significa que, se uma unidade de
dados apresenta umtamanho superior ao de umpacote, ela deve ser segmentada emtantos
pacotes quantos sejam necessrios para efetuar a sua completa emisso.
Ainda, seumaentidadedeTransportegerenciavriasconexesnumdadoinstante, ela
devenumerar asconexeseinserir onmerocorrespondentenasunidadesdedados, afimde
91
permitir entidade receptora de identificar corretamente a conexo qual esta unidade de
dados deve ser associada. Independente da classe de protocolo considerada, deve sempre
existir um mecanismo de liberao de conexo, esta liberao sendo, porm, diferente
dependendo da classe de protocolo considerada.
2.3.5.4. O gerenciamento de conexes
O gerenciamento deconexes umadas importantes funes assumidas pelacamada
deTransporte. Comojfoi dito, emboraestafunopossaparecer similar quelasupridapela
camadadeEnlace, ogerenciamentodasconexesdeTransportebemmaiscomplexodoque
das conexes de Enlace.
Gerenciar umaconexo anvel deenlaceou rederelativamentefcil, pois envolve
sempre estaes adjacentes. A situao se complica a nvel de transporte, pois a conexo
envolve estaes finais (origem e destino), com vrias estaes intermedirias no
consideradas como parte da conexo. Discutiremos a seguir vrios aspectos ligados ao
gerenciamento de conexes de transporte.
a) O Endereamento
Umendereoanvel detransporte(TSAP, Ponto de Acesso ao Servio de Transporte
ouTransport Service Access Point),) anlogoao NSAP derede, mas oNSAP endereans
de rede, enquanto o TSAP enderea um processo de aplicao dentro do n.
CadaProcesso deaplicao deveseassociar aumTSAP paraenviar dados. A forma
deassociaoentreumprocessoeumTSAP nodefinidapelomodeloOSI edependentedo
sistema operacional de cada estao (ex.: no UNIX, via sockets).
A comunicao entreprocessos aplicativos requer aindicao tanto do NSAP quanto
doTSAP. Quandousadoumesquemadeendereamentohierrquico, oNSAP usualmente
um campo dentro do TSAP.
Se endereamento no hierrquico ou o NSAP no um campo de TSAP,
necessrio mapear TSAPs emNSAPs por meio deumServidor deNomes (NameServer)
ou pedindo por difuso que a mquina comumdado TSAP se identifique, i., envie seu
NSAP como resposta (ex.: protocolos ARP e RARP).
QuandoumusuriodacamadadeTransportequer dialogar comumoutrousurio, ele
deveprimeiramente, identificar, de algumaforma, o usurio (ou processo de aplicao) que
vai estar envolvido no dilogo. Isto feito normalmente pela definio de umTSAP. A
relaoentreos TSAPs, NSAPs eumaconexodeTransporteapresentadanafigura 2.3.5.2
a seguir, onde o processo de conexo pode ser implementado da seguinte forma:
92
umprocesso servidor localizado na mquina B se conecta ao TSAP 122 e espera a
recepo de uma indicao de conexo;
umprocesso situado emA requisita uma conexo ao servidor emB, enviando uma
primitiva de servio T_CONNECT.request especificando a fonte, o TSAP 6 e o
endereo do processo destinatrio, o TSAP 122.
a entidade de Transporte A seleciona umNSAP disponvel na mquina e estabelece
uma conexo de Rede, atravs da qual ela vai poder dialogar com a entidade de
Transporte em B;
a entidade de Transporte em B gera ento uma primitiva de servio
T_CONNECT.indication; seoservidor emB estprontoaaceitar aconexo, estaser,
ento, estabelecida.
processo A processo B
1
2
3
4
TSAP 6 TSAP122
NSAP
NSAP
conexo
1
2
3
4
Figura 2.3.5.2 - Relao entre TSAP, NSAP e conexo de Transporte.
O problema do esquema acima o seguinte: como o processo cliente na estao A
sabeoTSAP doprocessoservidor naestaoB (nocaso, 122) ? Umasoluopossvel seriaa
seguinte: processos servidores muito usados recebemumendereo TSAP fixo e conhecido
por todos os demais processos no sistema. Esta soluo, no entanto, pouco flexvel e no
resolveo problemamais geral de2processos deaplicao quaisquer querendo secomunicar
entre si.
As formas mais usuais de realizar isto na prtica so as seguintes:
Uso de umServidor de Processos (Process Server ou logger): cada n temum
logger, cujo TSAP conhecido, etodo pedido deservio encaminhado aele. O
Logger cria uma instncia de um processo servidor cujo servio foi requisitado, d a
eleumTSAP eestabelececonexo entreesteeo processo clientequerequisitouo
servio.
93
Uso deumServidor de Nomes (NameServer): todos os processos servidores so
cadastrados no Name Server, que contatado pelos clientes e devolve TSAP do
servidor paraoserviorequisitado(comoumserviodeinformaodatelefnica).
O TSAP do Name Server fixo.
b) O estabelecimento de uma conexo
Este umprocesso relativamente complexo, particularmente se o servio de Rede
fornecido relativamente pobre (tipo C, por exemplo) e no se resume no envio de uma
primitiva de pedido de conexo (Connection Request CR) e na recepo de uma
confirmao (Connection Confirm CC).
Oproblemaestsimplesmenteassociadoaofatoque, numservioderedepobre, pode
ocorrer perda ou duplicao de pacotes. Numa rede onde ocorrem problemas de
congestionamento os reconhecimentos podemno chegar nuncaemtempo hbil, provocando
a retransmisso dos pacotes duas ou mais vezes. Ainda, se o servio de rede do tipo
datagrama, os pacotes vo seguir caminhos diferentes, alguns deles ficando presos em
caminhos bloqueados e reaparecendo um perodo de tempo aps.
Este aspecto pode ser relativamente prejudicial numa aplicao distribuda, uma vez
queumcomando pode, semo conhecimento do usurio, ser efetuado diversas vezes (seeste
comando for o depsito na conta de algum, o usurio que requisitou o depsito pode ter
muito aperder naoperao, particularmenteseo proprietrio dacontaparaondeo depsito
foi requisitado no for muito honesto). Umcuidado especial dever, ento, ser tomado para
eliminar o efeito da duplicao dos pacotes a nvel do servio de Transporte.
Umaformadefaz-loatravsdadefiniodeumparmetro(nmero) derefernciaa
ser includo emcadaunidadededados, inclusivenaquelas conduzindo o pedido deconexo.
A cadaliberaodeconexo, umatabelacontendoas refernciasdas conexes obsoletas ser
atualizada. Desta forma, a cadavez que umpedido deconexo for recebido, a entidadevai
verificar, atravsdoparmetroderefernciaassociado, seopedidocorrespondeounoauma
conexo jliberada. Emcaso positivo, o pedido deconexo serignorado. O problemacom
estatcnicao fato que, caso umaestao entreempane, os valores constantes natabelade
conexespodemser perdidose, assim, naretomadadeexecuo, aentidadedetransportevai
perder a informao sobre que conexes teriam sido efetuadas ou no.
Outraformadefaz-lo atravs daeliminao dos pacotes duplicados aps umcerto
perodo de tempo. Isto pode ser implementado de diferentes maneiras:
atravs da limitao do tamanho da subrede, diminuindo o risco de que pacotes
fiquem circulando na rede e reduzindo, conseqentemente, os riscos de
congestionamento;
94
a associao de umcontador de saltos (umsalto sendo a passagempor umn
intermedirio) a cada pacote, de tal modo que, quando o contador ultrapassa um
determinado valor, o pacote destrudo;
a associao de uma data (de envio) a cada pacote de modo que o pacote ser
destrudo no momento em que a sua idade tiver ultrapassado um certo valor.
Esta terceira soluo apresenta uma dificuldade relativamente grande que a
manuteno da sincronizao dos relgios ao longo das diferentes estaes da rede.
Uma das solues mais freqentemente adotadas para a soluo deste problema o
chamado three-way handshake, cuja operao a seguinte: duas TPDUs comnumerao
idnticanopodemestar pendentes (esperandoconfirmao) aomesmotempo. A numerao
das TPDUs no podeserepetir dentro deumintervalo detempo T. A operao sedem3
passos (three-way):
n A envia pedido de conexo com nmero de seqncia inicial x
n B enviaconfirmao do pedido contendo valor dex e seu prprio nmero de
seqncia inicial y
n A envia primeira TPDU contendo confirmao do valor y
NenhumanovaTPDU comnmero deseqnciax aceitaantes deumintervalo de
tempo T. A figura 2.3.5.3 ilustra a operao do protocolo em trs situaes distintas.
CR (x)
CR (x)
CC (y, x)
CC (y,x)
D (x,y)
D (x,y)
(a)
CR (x) => duplicata
CC (y, x)
CC (y,x)
REJ (y)
REJ (y)
(b)
CR (x) => duplicata
CC (y, x)
CC (y,x)
REJ (y)
REJ (y)
D (x,z) => duplicata com ack = z e no y
(c)
Figura 2.3.5.3 - Three-Way hadshake: (a) operao normal; (b) CR duplicado; (c) CR e D
duplicados
c) A liberao da conexo
A liberao de uma conexo, embora seja mais simples do que o estabelecimento,
exigecertos cuidados afimdeevitar aocorrnciadecertas situaes indesejveis. A figura
95
2.3.5.1 apresentava, em(d), (e) e (f), trs situaes tpicas da liberao de uma conexo, a
primeira situao revelando-se a mais clssica e mais freqente.
Estas trs situaes so caracterizadas pela interrupo brutal da conexo, podendo
inclusive ocorrer perda de dados que teriam sido transmitidos. Isto ilustrado na figura
2.3.5.4, no primeiro caso descrito.
Oprotocolodeliberaodeconexodeve, ento, ser melhor elaboradoafimdeevitar
estetipodeproblema. Umasoluoseriaadefiniodeumdilogo quepermitisseassegurar
que ambos os usurios terminaramefetivamente a transmisso de dados. Isto, no entanto,
pode ser ineficiente, pois no evidente definir como este dilogo poderia ser conduzido,
particularmente se o transporte utiliza um servio de Rede no confivel.
T_DATA
request
T_DATA
indication
T_DISCONNECT
request
T_DISCONNECT
request
T_DATA
request perda
dado
Figura 2.3.5.4 - Perda de dados no caso de uma liberao de conexo.
A liberao pode ser mais eficiente se umprocedimento emtrs etapas definido
(three-way handshake), como mostrado na figura 2.3.5.5. Em2.3.5.5(a), mostrado o caso
normal, onde o usurio que quer liberar a conexo envia umDR (Disconnect Request)para
indicar asuainteno. Apsoenvio, estedisparaumtemporizador (simbolizadonafigurapor
+ t). Ousurioreceptor respondecomumDC (Disconnect Confirm), disparandotambmum
temporizador. Quando o DC chegaao usurio iniciador, esteemitefinalmenteumACK ese
desconecta. Na seqncia, o usurio que recebe o ACK vai tambm se desconectar.
J em2.3.5.5(b), mostrado como o protocolo vai secomportar emcaso daperdado
ACK. Nestecaso, o temporizador disparado pelo usurio dadireitavai resolver o problema,
efetuando a desconexo na sua expirao.
DR + t
DR
DC + t
DC
ACK
fim con.
ACK
fim con.
DR + t
DR
DC + t
DC
ACK
fim con.
(timeout)
fim con.
perda
(a) (b)
96
Figura 2.3.5.5 - Liberao de conexo em trs etapas: (a) caso normal; (b) caso de perda do
reconhecimento.
d) O controle de fluxo e o armazenamento
Umproblema que deve ser tratado durante a manuteno de uma conexo ativa
aquele ligado ao controle de fluxo. Este problema , de umlado, bastante similar quele
tratado pela camada de Enlace.
Por outrolado, anvel deTransporte, onmerodeconexesexistentesgrande, oque
significaumanecessidadedearmazenamento muito maior queno caso do nvel Enlace(que
gerencia uma nica conexo de cada vez).
Comofoi vistonapartedestinadacamadadeEnlace, certosprotocolos, por questes
deeficincia, exigiamumamemorizaodos quadrosnasduasextremidadesdaconexo. Isto
significava, tambm, a alocao de umnmero suficiente de buffers nas duas extremidades
para assegurar o armazenamento dos quadros.
No caso de Transporte, este tipo de soluo torna-se mais difcil a implementar,
necessitando de solues mais adaptadas ao problema. A soluo a implementar pode
depender fortemente do servio oferecido pela camada de Rede.
Se o servio oferecido do tipo datagrama com reconhecimento, a entidade
receptora sabe que a emissora obrigada a armazenar as unidades de dados enviadas que
aindanoforamreconhecidas. Assim, elepodesimplesmentenofazer nenhumaalocaode
buffer especficoparaaconexo, todososbuffersdisponveispodendoser compartilhadospor
todasasconexesexistentes. Destaforma, quandoumaTPDU recebida, senoexistebuffer
disponvel ela simplesmente rejeitada. Isto no gera nenhum problema, uma vez que a
entidade emissora, aps um certo tempo, vai retransmitir a TPDU que no foi reconhecida.
J , no caso deumservio deredeconfivel, o procedimento podeser diferente. Num
primeiro caso, se o emissor sabe que o receptor ter sempre condies de armazenar as
TPDUspor eleemitidas, entoestenovai necessitar armazen-las(poissabequenohaver
necessidadederetransmisso). Casocontrrio, elevai ter dearmazen-lasdetodomodo, uma
vez queos reconhecimentos dacamadadeRedesignificamapenas queo pacotefoi recebido
mas no que a TPDU foi aceita.
SeoarmazenamentodeTPDUsfeitodoladodoreceptor, oproblemaaser resolvido
como definir o tamanho dos buffers de armazenamento. Se as diversas TPDUs so de
tamanhos aproximadamente equivalentes, a soluo alocar um determinado nmero de
buffers deigual tamanho, como mostraafigura 2.3.5.6(a), ondecadabuffer vai conter uma
TPDU. Seos tamanhos daTPDUs variammuito, estasoluopodenoser amelhor, mesmo
seo tamanho dos buffers estabelecido ao tamanho mximo das TPDUs. Nestecaso, alocar
umbuffer para armazenar uma TPDU de tamanho reduzido desperdiar memria. Assim,
97
umaoutrasoluo aalocao debuffers detamanho varivel, como mostraafigura2.3.5.6
(b), ondeo desperdcio menor, ou, ainda, alocar umnico buffer circular, como mostrado
em 2.3.5.6(c).
Estas duas ltimas soluessoeficientes nocasodeconexes comgrandetrfegode
TPDUs. Caso contrrio, podem no ser as melhores.
TPDU1 TPDU2 TPDU3
espao disponvel
(a) (b) (c)
Figura 2.3.5.6 - As diferentes solues de armazenamento: (a) buffers de tamanhos iguais; (b)
buffers de tamanhos variveis; (c) buffer circular.
O trfego importantetambmnadefinio damelhor soluo no quediz respeito
localizaodoarmazenamento noemissor ounoreceptor. Nocasodemltiplasconexes,
mas compouco trfego emcadaumadelas (terminais interativos, por exemplo), melhor a
implementao de ummecanismo de alocao dinmica de buffers nas duas extremidades.
Como o emissor no temcertezadequeo receptor poderalocar o buffer, elemantmcom
ele uma cpia da TPDU at receber o reconhecimento. Por outro lado, no caso de trfegos
relativamente altos, melhor ter uma alocao esttica de buffers associados conexo na
extremidade receptora a fim de permitir a transmisso numa taxa mxima.
Outropontoimportanteaser cobertopelacamadadeTransporte, acapacidadedeum
usurio (emissor) alocar distncia(no receptor) os buffers demaneiradinmica, os buffers
podendo ser alocados para cada conexo ou para umconjunto de conexes existentes entre
dois usurios.
e) Multiplexao e Splitting
O mecanismo de multiplexao aplicado sobre uma mesma conexo, um circuito
virtual ouumamesmalinhaumaspectobastanteimportantenoquediz respeitoscamadas
constituindo a arquitetura de um sistema de comunicao.
Na camada de Transporte, a multiplexao pode ser necessria particularmente em
duas situaes tpicas:
98
num primeiro tempo, no caso de uma rede utilizando circuitos virtuais, cada
conexo estabelecidavai utilizar-sederecursos presentes nos IMPs durantetodaa
suadurao; assim, podeser interessante, paraotimizar autilizaodos recursos de
rede(e, evidentemente, o custo deumacomunicao!), associar diversas conexes
deTransporteaumamesmaconexo deRede, como mostrado nafigura 2.3.5.7(a),
onde 4 conexes de Transporte so multiplexadas em uma de Rede a
multiplexao para cima;
no caso de uma aplicao onde o usurio envia uma quantidade relativamente
grandedemensagens, dependendodoprotocoloimplementadoanvel deRede, uma
nicaconexopodeser insuficienteparasuportar aconexodeTransporte; assim, a
camadadeTransportepodedecidir efetuar amultiplexao para baixo, ouSplitting,
onde uma conexo de Transporte pode ser mapeada emvrias conexes de Rede,
como mostrado na figura 2.3.5.7(b).
1
2
3
4
CAMADAS
TSAPs
NSAPs
LSAPs
(a) (b)
IMP IMP
Figura 2.3.5.7 - Multiplexao: (a) para cima; (b) para baixo.
f) A retomada de uma conexo
Umavez queduranteaoperaodeumaconexo, incidentespodemocorrer, acamada
deTransportedevetratar tambmdesteproblema. No casodacamadadeRede, as primitivas
N_RESET, foram definidas para o tratamento de incidentes.
As entidades de Transporte, quando da ocorrncia de umincidente, devemdialogar
para trocar informaes sobre quais unidades de dados teriam sido recebidas ou no.
O problema maior ocorre, porm, se a pane ocorre numdos sistemas envolvidos na
comunicao. Apsaretomadadaconexo, todasasinformaessoreinicializadasdemodo
que o usurio acaba perdendo a informao de qual era o seu estado antes do incidente.
Umaformaderecuperaodoestadoenviar umaunidadededadosatodososoutros
usurios a fimde obter as informaes sobre todas as conexes existentes. O emissor pode
estar emdois estados: unidades esperadereconhecimento ou no. Assim, o emissor pode
99
decidir aretransmisso das unidades. Estasoluo, porm, no assimto simples, umavez
que a recepo do reconhecimento pode no garantir o armazenamento da unidade
correspondente se, por exemplo, a pane ocorreu imediatamente aps o envio do
reconhecimento, quando aunidaderecebidano tinhaaindasido armazenada. Nestecaso, o
emissor poderiaretransmitir aquelasque, por ventura, notivessemsidorecebidas noladodo
receptor.
Por outro lado, se a unidade escrita antes do envio do reconhecimento, isto pode
causar o problema inverso, o que vai provocar uma duplicao de TPDUs.
2.3.5.5. Exemplos de Protocolo de Transporte
a) Os protocolos OSI
Como j foi dito, o protocolo OSI organizado em5 classes, onde cada uma delas
permitecobrir umaclassedeconfiabilidadedacamadadeRede. O protocolo deTransporte
OSI baseado na definio de 10 TPDUs, estas compostas de quatro partes:
umcampo de1 byte, denominado LI (Length Indicator), indicando o tamanho dos
cabealhos fixos e variveis;
uma parte fixa do cabealho, cujo tamanho vai depender da TPDU considerada;
uma parte varivel do cabealho, cujo tamanho vai depender dos parmetros
definidos;
dados do usurio.
A figura 2.3.5.8apresentaos10tiposdeTPDUsdomodeloOSI. As quatroprimeiras
TPDUs, CR, CC, DR e DC (CONNECTION REQUEST, CONNECTION CONFIRM,
DISCONNECT REQUEST e DISCONNECTION CONFIRM) correspondem aos pacotes
CALL REQUEST, CALL ACCEPTED, CLEAR REQUEST eCLEAR CONFIRM definidos no
protocolo X.25.
Uma entidade de Transporte, quando deseja estabelecer uma conexo, envia uma
TPDU CR edeverreceber umaCC. No momento daliberao daconexo, as TPDUs DR e
DC sero trocadas entre duas entidades.
As TPDUs DT (DATA) e ED (EXPEDITED DATA) so utilizadas para transferir,
respectivamente, dadosnormaisedadosexpressos. Osreconhecimentos relativosaestasduas
TPDUs sero, respectivamente, AK (DATA ACKNOWLEDGEMENT) e EA (EXPEDITED
DATA ACKNOWLEDGEMENT).
Finalmente, as TPDUs RJ (REJECT) eER (ERROR) so utilizadas parao tratamento
de erros.
100
Comosepodever nafigura, todasas TPDUssocompostas docampoLI, jdescrito.
O byteseguinte utilizado, particularmente no protocolo declasse 4, para implementar um
mecanismodecrdito, utilizadoparacontrolar otrfegodeunidadesdedados, substituindoo
mecanismo com janela de antecipao.
1 1 2 2 1
LI 1110 CDT 0 0 Ref. Origem Classe P. Var DADOS CR
LI 1101 CDT Ref. Destino Ref. Origem CC
LI 1000 0000 Ref. Origem DR
LI 1100 0000 Ref. Origem P. Var DC
LI 1111 0000 DADOS DT
LI 0001 0000 P. Var DADOS ED
LI 0110 CDT
TPDU esperada
P. Var AK
LI 1110 CDT EA
LI 0101 CDT TPDU esperada RJ
LI 0111 0000 Causa Rejeio P. Var ER
Ref. Destino
Ref. Destino
Ref. Destino
Ref. Destino
Ref. Destino
TPDU N
TPDU N
Ref. Destino
Ref. Destino
Ref. Destino
TPDU esperada P. Var
Classe P. Var DADOS
Razo P. Var DADOS
Figura 2.3.5.8 - TPDUs do protocolo de Transporte OSI.
Os campos Ref. Destino e Ref. Origem permitem identificar as conexes de
Transporte. Eles so utilizados nos protocolos de classe 2 a 4, onde pode ocorrer a
multiplexao devrias conexes. Quando umpacoterecebidoatravs dacamadadeRede,
a entidade de Transporte vai analisar estes campos para definir a que conexo ele pertence.
OcampoClasse utilizadopelas entidades deTransporteparaanegociaodaclasse
do protocolo a ser implementado na conexo.
A parte varivel da TPDU vai conter informaes, tais como: TSAP devendo ser
conectado no usurio local, TSAP devendo ser alocado no usurio remoto, classes de
protocolo aceitas em segunda opo, etc.
OcampoDADOS podeconter at32bytesdeinformaesnasclasses1a4, nosendo
utilizado na classe 0.
No caso das TPDUs DT (DATA) eED (EXPEDITED DATA), o campo EOT (End Of
Transmission) utilizadoparamarcar ofinal deumatransmisso, elesetadoa1, nocasoda
TPDU enviada ser a ltima. Isto necessrio para possibilitar os procedimentos de montagem.
101
As TPDUs AK (DATA ACKNOWLEDGE) e EA (EXPEDITED DATA
ACKNOWLEDGE) so utilizadas para reconhecer, respectivamente as TPDUs DT e ED. O
campoTPDU esperada funcionademaneirasimilar aocampoack apresentadonacamadade
Enlace. A diferenaqueeleindicaquetodas as TPDUs anteriores foramrecebidas, exceto
aquela referenciada pelo campo.
Finalmente, ocampoCausa Rejeio presentenaTPDU ER (ERROR) permiteindicar
a causa do erro sinalizado, como cdigo de parmetro invlido, tipo de TPDU inexistente,
referncia de TPDU invlida, etc.
NocasodeumserviodeTransportesemconexo, acamadadeTransporteOSI, pode
seutilizar deumservio deRedecomousemconexo. Como jfoi dito naparterelativa
camada de Rede, a definio de umservio semconexo que utilize umservio orientado
conexo no l muito interessante, mas, s vezes, o nico servio de Rede disponvel
orientado conexo, como por exemplo o X.25.
No caso da utilizao de um servio sem conexo, cada TPDU associada a um
pacote, sem reconhecimento nem garantia de sequenciamento.
O protocolo do servio deTransportesemconexo defineo formato daTPDU como
ilustradonafigura 2.3.5.9, bastantesimilar utilizadanocasodoservioorientadoconexo.
A parte varivel da TPDU conduz os endereos de TSAP (origeme destinatrio) e outras
informaes.
1 1
LI 01000000 P. Var DADOS
Figura 2.3.5.9 - Formato da TPDU do servio de Transporte sem conexo.
b) O protocolo TCP
O protocolo TCP (Transmission Control Protocol) foi definido como resultado dos
trabalhos realizados anvel daredeamericanaARPANET, parapoder permitir aincluso de
redes locais cujo servio de Rede fosse menos confivel do que o da prpria ARPANET.
Associado a TCP, foi definido tambmumnovo protocolo de Rede, o IP (Internet
Protocol), sendo que hoje, o par TCP/IP bastante utilizado na interconexo de computadores
(padro UNIX e INTERNET).
Uma entidade de Transporte TCP aceita mensagens de tamanho varivel,
fragmentando-as emunidadedetamanho inferior ouigual a64Kbytes, estas unidades sendo
102
enviadas como datagramas isolados, acamadadeRedeno oferecendo nenhumagarantiade
entrega dos datagramas. O TCP deve, ento, definir um temporizador e retransmitir as
unidadesperdidas. OTCP deveaindatratar oproblemadesequenciamentodasunidades, uma
vez que no garantida a chegada na ordem correta a nvel de Rede.
CadaunidadetransmitidaviaTCP temumnmerodeseqnciaparticular (de32bits)
permitindo tratar o problema de seqncias idnticas. O TCP trata tambmo problema de
unidades atrasadas no estabelecimento de conexo implementando umprocedimento a trs
etapas.
O TCP utiliza um cabealho fixo para as unidades de dados, o formato sendo
apresentado na figura 2.3.5.10, cujos campos tm as funes seguintes:
porta fonte e porta destino realizam o endereamento em TCP (endereos dos
TSAPs);
nmero de seqncia e reconhecimento, efetuamas funes de sequenciamento e
reconhecimento, respectivamente; eles ocupam, cada, 32 bits, pois cada byte
numerado no TCP;
tamanho cabealho permiteindicar onmero depalavras de32bits quefaro parte
do cabealho; necessrio, pois o campo opo, vai ser composto de umnmero
varivel de palavras;
URG (URGent pointer) bit setado a 1 se o apontador de prioridades est ativado;
este ser explicado mais tarde;
PORTA ORIGEM PORTA DESTINO
NMERO SEQUNCIA
RECONHECIMENTO
TAMANHO
CABEALHO
JANELA
CONTROLE ERRO
APONTADOR PRIORIDADE
OPES
DADOS
F
I
N
U
R
G
A
C
K
E
O
M
R
S
T
S
Y
N
Figura 2.3.5.10 - Formato do cabealho da TPDU do TCP.
103
ACK (ACKnowledge) serveparaindicar seo campo reconhecimento utilizado (1)
ou no (0);
EOM (End Of Messages) permite indicar o final de uma transmisso;
RST (ReSTart) servereinicializaodeumaconexoquandoasuaoperaotorna-
se comprometida;
SYN setado a 1 para indicar que a unidade contm um pedido de conexo;
FIN utilizado para a liberao de conexo; especifica que o emissor no possui
mais dados a enviar;
janela utilizado paraimplementar o controledefluxo; elecomposto de16 bits
pelo fato de que o controle feito a nvel de byte e no de TPDU;
controle de erro permiteefetuar ocontroledoerro; estedefinidopor umalgoritmo
simples ondeos bytes dedados so somados como palavras de16bits; estecampo
apresenta o complemento 1 do resultado da soma;
apontador de prioridades utilizado para permitir o envio de unidades urgentes,
indicando o offset (deslocamento) emrelao ao nmero de seqncia ao qual o
dado urgente pode se localizar;
opes utilizado para definir os parmetros da comunicao (por exemplo, o
tamanho dos buffers);
dados contm efetivamente os dados que sero transmitidos.
No UNIX, os processos usurios do TCP so identificados por uma porta (ou
porto). As portas so locais e podem se repetir em ns diferentes. Os processos so
identificados univocamentenaredepelo identificador dasuaportaconcatenado ao endereo
IP do n, definindo um socket (equivalente a um TSAP para o RM-OSI).
Processos servidores muito usados recebem portas fixas, conhecidas dos demais
processos(ex.: servidor FTP, Telnet, etc.). Oestabelecimentodeumaconexoentreprocessos
deaplicao requer umpar desockets, queoperamdeformafull-duplex. Ummesmo socket
podeparticipar devrias conexes. Umaconexo definidaatravs dos identificadores dos
sockets envolvidos, dos nmeros de seqncia, da largura de janela, etc.
O TCP estabelecee desfaz conexes por meio do protocolo three-way-handshake, j
descrito anteriormente.
Os processos de aplicao transmitemdados fazendo chamadas ao TCP e passando
como parmetros os buffers onde os dados se encontram. No caso do UNIX, o TCP foi
concebido como mdulo do sistema operacional.
A interfacecomo usurio (ou processos deaplicao) feitapor meio das seguintes
chamadas (system calls) ao TCP:
open (conexo)
104
close (conexo)
send (dados)
receive (dados)
status (conexo)
c) Interfaces para Programas de Aplicao - APIs
APIs (Application Program Interfaces) so interfaces para programadores usando
diretamenteos servios dacamadadetransporte. Seuobjetivo facilitar aimplementao de
programas de aplicao que fazem uso dos servios de comunicao da rede. APIs so
usualmente oferecidas para alguns sistemas operacionais (ex.: UNIX) e algumas linguagens
(ex.: C).
Exemplos de APIs bastante difundidas so:
TLI (Transport Layer Interface): API paralinguagemC comTCP emUNIX System
V.
NetBIOS: interface para programao de aplicaes distribudas da IBM. Oferece
servio de transmisso confivel orientado conexo, servio de nomes para
identificar usurios e servio de datagrama no confivel (opcional). Existem
verses para TCP, SPX (Sequenced Packet Protocol, protocolo de transporte da
novell) ou para operar sobre acamadadeenlace (LLC classe 1). No ltimo caso,
inclui protocolos de rede e transporte.
Berkeley Sockets: API paralinguagemC comTCP emUNIX BSD ecompatveis.
Os servios so acessveis por meio dos system calls mostrados na tabela a seguir:
System Call Funo
socket cria um socket (TSAP)
bind associa um nome ASCII a um socket j existente
listen cria uma fila de espera para requisies de servio
accept remove um pedido de conexo de uma fila ou espera por um novo pedido
connect estabelece uma conexo com outro socket
shutdown encerra uma conexo entre sockets
send envia mensagem por uma conexo existente
recv recebe mensagem por uma conexo existente
select testa um grupo de sockets para ver se tem mensagens
105
Para algumas arquiteturas de rede, a subdiviso emcamadas termina aqui. Este o
casodaarquiteturaTCP/IP (cujonomederivadopar deprotocolosTCP eIP, jvistos). Paraa
arquiteturaTCP/IP, assume-sequeos aplicativos operemsobreos servios detransporte(no
caso, os servios do protocolo TCP ouUDP, queumaverso semconexo eno confivel
do TCP). Estudaremos alguns destes aplicativos mais afrente. J no caso do RM-OSI, foram
definidas mais trs camadas acima da camada de transporte, que estudaremos a seguir.
2.3.6. A CAMADA DE SESSO
Como foi mencionado anteriormente, o modelo hierrquico decomunicao proposto
no modelo OSI pode fazer distino emduas classes de camadas: as camadas inferiores,
concretizadaspelas camadasde1a4, jvistas, cujosservios soorientadosaotransportede
informao prpriamentedito, tratando essencialmentedeproblemas decomunicao como,
por exemplo, codificaoetransmissodebits, controledefluxoedeerros, sequenciamento,
roteamento, controle de trfego e gerenciamento de conexes; as camadas superiores,
concretizadas pelas camadas de5 a7, cujos servios seorientammais s aplicaes escritas
pelos usurios no sentido de facilitar ou simplificar as suas tarefas, fornecendo servios
padronizados os mais diversos.
A camada de Sesso a primeira camada (no sentido bottom-up) enquadrada na
segunda classe. Ao contrrio de outras camadas j estudadas e outras que sero vistas mais
adiante, a camada de Sesso foi introduzida no momento da definio do modelo OSI. As
demaiscamadaspresentesnoOSI foram, decertomodo, inspiradasdemodelospr-existentes
na concepo de redes j existentes na poca como, por exemplo, ARPANET.
Esta , na verdade, uma das camadas mais simples do modelo OSI, oferecendo uma
quantidade relativamente limitada, longe dos servios oferecidos por camadas como a de
Transporte, por exemplo.
Nestapartedo documento, veremos ento os servios oferecidos pelaSesso ecomo
estes so implementados atravs dos protocolos.
2.3.6.1. Servios oferecidos camada de apresentao
A principal funo desta camada oferecer aos seus usurios meios para o
estabelecimentodasconexes, denominadassesses, demodoqueestespossamtrocar dados.
Uma sesso pode ser utilizada para permitir a conexo distncia a umcomputador, por
exemplo, atravs deumterminal, paraumatransfernciadearquivo, parao carregamento de
programas distncia, etc.
Segundo o modelo OSI, os usurios dos servios de Sesso so as entidades de
Apresentao, a posio desta camada estando ilustrada na figura 2.3.43.
106
Apesar de que, ao nvel de Sesso, so oferecidas primitivas de servio para a
comunicao semconexo, neste modo, no possvel explorar os servios orientados aos
usurios, disponveis nesta camada.
No quediz respeitoconexodeSesso (ousesso, comodefinidoacima), pode-se
estabelecer as diferentes possveis relaes entreumaconexo deSesso eumaconexo de
Transporte, como mostra a figura 2.3.44.
TSAP
SSAP
ENTIDADE
DE SESSO
1 a 3
4
5
6
7
TRANSPORTE
APRESENTAO
protocolo de
sesso
SPDUs
servios oferecidos
camada de apresen-
tao
servios oferecidos
camada de sesso
TSAP
SSAP
ENTIDADE
DE SESSO
TRANSPORTE
APRESENTAO
Figura 2.3.43 - Posio da camada de Sesso no modelo OSI.
Em2.3.44(a), mostradaumacorrespondnciade1a1entreumaconexo deSesso
e uma de Transporte. Por outro lado, como mostrado em 2.3.44(b), pode-se utilizar uma
mesmaconexo deTransporteparasuportar diferentes sesses consecutivas. Ainda, pode-se
ter o quadro inverso, onde, pela quebra de uma conexo de Transporte, a abertura de uma
novaprovidenciadaparagarantir acontinuidadedeumamesmasesso. Esteltimocenrio,
ilustrado em 2.3.44(c), se caracteriza, por exemplo, quando as entidades de Transporte
assumem a tarefa de retomada de dilogo aps uma pane.
T r a n s p o r t e
S e s s o
T r a n s p o r t e
S e s s o
T r a n s p o r t e
S e s s o
( a ) ( b ) ( c )
Figura 2.3.44 - Diferentes relaes entre conexo de Sesso e de Transporte: (a)
correspondncia 1 a 1; (b)vrias conexes de Transporte para uma nica sesso; (c) uma
conexo de Transporte para vrias sesses .
2.3.6.2. Sesso x Transporte: similaridades e diferenas
107
Damesmaformacomo foi visto paracamadas inferiores, o dilogo viaestacamada
caracterizado pelas trs etapas aseguir: estabelecimento de sesso, transferncia de dados e
liberao da sesso.
As primitivas de estabelecimento e liberao de sesso oferecidas camada de
Apresentao so similares quelas oferecidas prpria camada de Sesso pelo Transporte.
Esta similaridade ocorre a tal ponto que, emmuitos casos, a recepo de uma primitiva de
servio da camada de Apresentao reflete-se imediatamente no envio de uma primitiva de
servio equivalente da camada de Transporte. Um exemplo disto a primitiva de
estabelecimento deSesso, S_CONNECT.request, querefletidano envio deumaprimitiva
T_CONNECT.request.
Na fase de estabelecimento de uma conexo, da mesma forma que na camada de
Transporte, ocorreanegociao, entreas duas entidades envolvidas (deApresentao) sobre
queparmetrosvodefinir acomunicao. Dentreestesparmetros, encontram-separmetros
jconhecidosdeoutrosnveisdomodeloOSI (por exemplo, anecessidadedetransfernciade
dados expressos) e tambmparmetros especficos camada de Sesso (por exemplo, na
aberturadeumasesso paratrocadeinformaes viacorreio eletrnico, umparmetro pode
ser qual usurio vai tomar a iniciativa do dilogo).
Apesar das semelhanas j levantadas, pode-se destacar tambmalgumas diferenas
entre uma sesso e uma conexo de Transporte, essas diferenas estando particularmente
associadas ao procedimento deliberao das conexes. No caso dacamadadeTransporte, a
primitiva T_DISCONNECT.request , na forma adotada no modelo OSI, causa a terminao
abrupta da conexo, podendo ocorrer inclusive perda dos dados ainda em trnsito (este
problema foi levantado quando da apresentao da camada de Transporte e se aplica, por
exemplo, ao protocolo TP4 da ISO). J , no caso das sesses, a primitiva responsvel da
liberao S_RELEASE.request quepermiteterminar, demaneiraordenadaaconexo, sem
ocorrncia de perda dos dados (liberao negociada). possvel, no entanto, emcaso de
necessidade, promover umaliberao abruptadasesso, isto, graas utilizao daprimitiva
S_ABORT.request. A diferenaentreas duasformasdeliberaodeumaconexomostrada
na figura 2.3.45. Em 2.3.45(a) apresentada a liberao abrupta de uma conexo de
Transporte; em 2.3.45(b), apresentada a liberao negociada de uma sesso.
Como se pode ver em2.3.45(b), ao contrrio dos servios de liberao de conexo
apresentados at o momento, o servio de liberao negociada S_RELEASE umservio
confirmado, caracterizado pelas primitivas request, indication, response e confirm.
Como mostra a figura, mesmo aps ter emitido o pedido de liberao, a entidade
usuriapodecontinuar areceber primitivas deservio deindicao detransfernciadedados
(no caso, S_DATA.indication), sendo queadesconexo s serefetivadaaps arecepo da
primitiva S_RELEASE.confirm.
108
Umoutroponto debastantesimilaridadeentreas camadas deSesso eTransporteo
endereamento. Da mesma formaque no Transporte, a nvel de Sesso necessrio indicar
umSSAP (Ponto de Acesso ao Servio de Sesso ouSession Service Access Point) nafasede
estabelecimento de sesso. Normalmente, um endereo de SSAP nada mais que um
endereo de TSAP enriquecido com outras informaes.
Ainda, umadiferenaentreSesso eTransporteestnos tipos dedados transmitidos.
Comofoi vistonocasodacamadadeTransporte, existemdoistiposdefluxosdedados os
dados normais eos dados expressos (ouurgentes). J nacamadadeSesso, almdestes dois
tipos de dados, podemocorrer outros dois os dados tipados (typed data) e os dados de
capacidade (capacity data). Estes tipos de dados sero explicados mais adiante, neste
documento.
T_DISCONNECT
request
T_DISCONNECT
indication
T_DATA
request perda
dado
S_RELEASE
request
S_RELEASE
indication
S_DATA
request
S_DATA
indication
S_RELEASE
response
S_RELEASE
confirm
(a)
(b)
Figura 2.3.45 - (a) liberao abrupta; (b) liberao negociada.
2.3.6.3. A gesto do dilogo
Segundo o modelo OSI, todas as conexes estabelecidas so, aprincpio, do tipo full
duplex (ouseja, bidirecionais simultneas, conformamostrado nafigura 2.3.46(a)). Por outro
lado, existemmuitasaplicaesnasquaisapossibilidadedeoperaoemhalf duplex podeser
mais interessante. Este servio implementado a nvel da camada de Sesso graas
definio de uma ficha de dados (data token), como ilustrado na figura 2.3.46(b). A
comunicaoemhalf duplex umaoponegociadanomomentodoestabelecimentodeuma
sesso. Seestaopo adotada, deverser definidotambmqual dos usurios envolvidos no
dilogo poder tomar a iniciativa (possuidor da ficha). Quando este usurio terminar a sua
transmisso, ele pode ceder a ficha ao usurio par para que ele possa efetuar a sua
transmisso. A passagemdefichadeumusurioaoutroimplementadaatravs daprimitiva
S_TOKEN_GIVE.
109
Ainda, se um dos usurios querendo efetuar uma transmisso no possui a ficha
naquele instante, ele pode requisit-la a seu par atravs da emisso de uma primitiva
S_TOKEN_PLEASE.request. O usurio receptor daprimitivaS_TOKEN_PLEASE.indication
pode ou no querer ceder a ficha.
Emcasonegativo, ousurioquearequisitounofaroutracoisasenoesperar aboa
vontadedoseuinterlocutor (ouainda, enviar dadosurgentesquenonecessitamapossesso
daficha). A fichas passaater algumsentido no caso decomunicao half duplex. Sefull
duplex a opo adotada, ela no levada em conta.
(a)
(b)
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_TOKEN_GIVE
request
S_TOKEN_GIVE
indication
S_DATA
request
S_DATA
indication
Figura 2.3.46 - (a) comunicao full duplex; (b) comunicao half duplex com ficha.
2.3.6.4. A sincronizao
A camada de Sesso deve cobrir igualmente os problemas relacionados
sincronizao. Estatarefatil paraamanutenodacoernciadoestadoentredoisusurios
interlocutores em caso de erro ou outro problema.
Apesar de que a camada de Transporte tenha, por princpio, a funo de cobrir todos os
problemas relacionados retomada aps erros ou panes, esta camada cobre unicamente os
problemas relacionados transmisso dedados propriamentedita, no levando emcontaos
problemasquepodemocorrer nascamadassuperiores. Esteserrospodemocasionar perdasde
dados que a camada de Transporte incapaz de detectar (uma vez que esta no a sua
funo!).
A camada de Sesso vem, ento ao socorro do sistema efetuando a tarefa de
sincronizao, atravs da insero a nvel dos dados de pontos de sincronizao, que
permitemmanter asessonumestadocorrespondendoaumantigopontodesincronizao. A
figura 2.3.47(a) ilustra o procedimento de insero de pontos de sincronizao.
Umexemplo disto pode ser ilustrado na transmisso de umdocumento via rede, no
qual este pode ser decomposto em pginas s quais se pode associar os pontos de
sincronizao. Nestecaso, aresincronizao vai consistir na retransmisso do documento a
partir de uma dada pgina que estava sendo transmitida quando o problema ocorreu.
110
A sincronizaoimplementadadaseguinteforma: ousurioemissor insere, nas suas
mensagens, pontos desincronizao, cadaponto contendo umnmero desrie. Quando um
usurioenviaumaprimitiva(request) parainserir umpontodesincronizao, ooutrousurio
vai receber umaprimitiva deindication correspondente, isto ocorrendo deigual maneira no
caso de uma resincronizao.
importante notar aqui que a camada de Sesso oferece unicamente as ferramentas
para a soluo dos problemas de erros e incoerncia por sincronizao/resincronizao. Na
realidade, quem ativa estas ferramentas quando da ocorrncia de um problema so as
entidades das camadas superiores.
Omecanismo desincronizao definedois tipos distintos depontos desincronizao:
os pontos de sincronizao mximos e mnimos.
Os pontos de sincronizao mximos so utilizados para delimitar trechos da
informaodenominados dilogos, querepresentamumadecomposiolgicadainformao
(captulos de um livro, por exemplo).
J ospontosdesincronizaomnimos soutilizadosparaseparar poresmenores da
informao. No caso deumlivro, estaporo poderiaser as pginas dos captulos. A figura
2.3.47(b) ilustra os pontos de sincronizao mximos e mnimos.
1 2 3 4 5 6 7 8 9
SESSO
ponto de sincronizao
1
2 3 4
5
6 7 8
9
ponto de sincronizao
mximo
ponto de sincronizao
mnimo
DILOGO
(a)
SESSO
(b)
Figura 2.3.47 - (a) Pontos de sincronizao; (b) Pontos de sincronizao mximos e mnimos.
Umadiferenafundamental entreos pontos mximos emnimos residenacapacidade
de resincronizao. No caso de um ponto de sincronizao mximo, aps uma pane,
possvel resincronizar, no mximo, deumponto desincronizao mximo paratrs. A partir
desteponto, impossvel recuperar informao. Isto ocorreporqueumpontomximo visto
comoumafronteiradeproteo, cujainformaoanterior garantidater sidorecebida, oque
111
significa que elapode ser apagada da extremidadeemissora. Isto j no ocorre no caso dos
pontos de sincronizao mnimos.
Almdisso, pelo fato de que os pontos de sincronizao mximos so tidos como
fronteiras de proteo da informao, estes devem ser explicitamente reconhecidos pelo
receptor, o que no necessrio no caso dos pontos de sincronizao mnimos.
2.3.6.5. Gerenciamento de atividades
OutrafunoimportantedacamadadeSessoocontroledeatividades. Estatarefa
baseadano conceito dedecomposio do fluxo dedados ematividades, independentes umas
das outras. Oconceito deatividadevai depender daaplicao considerada, o usurio sendo o
responsvel desta definio.
Umexemplo tpico deutilizao do conceito atransfernciadearquivos, ondecada
arquivo deve ser separado, de alguma forma dos demais. A forma de faz-lo atravs da
definio, de cada arquivo, como sendo uma atividade, como mostra a figura 2.3.48. Para
faz-lo, antes da emisso de cada arquivo, o usurio deve enviar uma primitiva
S_ACTIVITY_START.request paramarcar oinciodeumaatividade; istovai gerar, noladodo
receptor, umaprimitivaS_ACTIVITY_START.indication sinalizandooinciodoenviodeuma
nova atividade (neste caso particular, o arquivo).
arquivo 2
arquivo 1
ATIVIDADE
incio atividade
fim atividade
SESSO
ATIVIDADE
Figura 2.3.48 - Conceito de atividade aplicado a uma transferncia de arquivo.
O fim da transferncia de um arquivo marcado, ento, pelo envio, por parte do
emissor, deumaprimitivaS_ACTIVITY_END.request. Ointeressedadefiniodeatividade
o fato que certas aplicaes podemter a garantia de atomicidade, evitando erros devido a
panes ocorridas entre aes de uma mesma atividade.
Um exemplo de aplicao o de uma operao bancria realizada atravs de um
terminal informatizado. A operao normal se desenrola da maneira seguinte:
112
o proprietrio dacontaemiteumcomando informando o seu nmero deconta(ea
senha correspondente) o computador do banco verifica o nmero e a senha, e
bloqueia o cdigo correspondente a fim de evitar o acesso concorrente;
oproprietriodacontaenviaumnovocomandoinformandoonmerodacontapara
ondeo dinheiro deveser transferido o computador verificao nmero dacontae
bloqueia o cdigo correspondente pela mesma razo j apresentada;
o proprietrio, finalmente, emiteumterceiro comando informando o montanteaser
transferido o computador efetiva, ento, a transferncia para a conta destinatria.
Um caso tpico deste cenrio aquele em que uma pane (falta de energia, por
exemplo) ocorreno terminal sendoutilizadopeloclienteproprietriodacontaimediatamente
aps o primeiro comando. O computador vai bloquear o cdigo correspondenteconta, mas
os demais comandos no sero efetuados.
A aplicao do conceito de atividade via camada de Sesso permite solucionar este
problema, garantindo aatomicidadedaoperao. A operao completapodeser vistacomo
umaatividade. Assim, aps arecepo deumaprimitiva S_ACTIVITY_START.indication, o
computador dobancoficariaarmazenandoasmensagens(decomando) atarecepodeuma
primitiva S_ACTIVITY_END.indication. S neste momento, os comandos seriamefetivados
pelo computador.
Umaoutrapropriedadeinteressantedas atividades acapacidadedeser interrompida
e retomada sem a perda das informaes. Isto pode ser feito atravs da primitiva
S_ACTIVITY_INTERRUPT quepermiteiniciar umanovaatividadeeretomar aquelaao final
desta segunda atividade a partir do ponto onde ela tinha sido interrompida.
Umexemplotpicoaqueledatransfernciadeumarquivodetamanhorelativamente
grande, no qual, durante a transferncia, seja necessrio, com relativa urgncia, efetuar a
consulta a uma base de dados (anurio telefnico, agenda, por exemplo). Este exemplo
ilustrado na figura 2.3.49.
transf. arquivo
1 parte
transf. arquivo
2 parte
consulta
anurio
1
incio atividade 1
interrupo atividade 1
incio atividade 2
fim atividade 2
retomada atividade 1
fim atividade 1
2 3 4 5 6
1
2
3
4
5
6
113
Figura 2.3.49 - Exemplo da interrupo de um atividade para a realizao de outra.
2.3.6.6. As primitivas de servio de Sesso
Oquadroaseguir apresentaalistadasprimitivasdeserviooferecidaspelacamadade
Sesso, indicandoasclassesdeprimitivascompondocadaservio(R - request, I - indication,
Rs - response e C - confirm).
So 58primitivas organizadas em7grupos: estabelecimento deconexo, liberao de
conexo, transferncia de dados, gerenciamento de fichas, sincronizao, gerenciamento de
atividades e relatrio de anomalias.
Os dois primeiros grupos so relacionados, respectivamente, inicializao etrmino
das sesses. As primitivas S_CONNECT, conduzem, emseus parmetros, informaes tais
como: SSAPs dos interlocutores, qualidade do servio, nmeros iniciais dos pontos de
sincronizao, etc.
J osserviosdeliberaodesessopodemser detrstipos: oprimeiro, caracterizado
pelaprimitivas S_RELEASE, especificando umservio confirmado detrmino negociado de
sesso(semperdadedados); os doisoutros, paraeliberaoabruptadesesso(comeventual
perda de dados), caracterizados pelas primitivas S_U_ABORT e S_P_ABORT, indicando,
respectivamente, terminaodeiniciativadousurio(U - user) edofornecedor doservio(P
- provider).
Oterceirogrupocaracterizadopelasquatroclassesdeprimitivasparaatransferncia
de dados (S_DATA, S_EXPEDITED_DATA, S_TYPED_DATA e S_CAPABILITY_DATA)
cadaumaparaumdos quatrotiposdedados (normais, urgentes, tipados edecapacidade). Os
dados normais e urgentes tendo sido discutidos em outras oportunidades, cabe aqui uma
apresentao dos dois outros tipos de dados.
Osdados tipados sosimilaresaosdadosnormaisdopontodevistadatransferncia, a
diferenafundamental sendo aliberdadedetransmisso semanecessidadedepossedaficha
de dados. Este tipo de dados so utilizados, principalmente, para a troca de mensagens de
controle entre os dois usurios.
Os dados de capacidade so utilizados paraatransfernciademensagens decontrole
daprpriacamadadeSesso. OservioS_CAPABILITY_DATA, comosepodever natabela,
umservioconfirmado, fornecendoumreconhecimentodosdadosdecapacidade. Ainda, ao
contrrio dos dados tipados, estes dados s podemser transmitidos se a entidade possui a
ficha de transferncia de dados.
O quarto grupo de servios relacionado ao gerenciamento das fichas, que so em
nmero de4: as fichas dedados (paraatransfernciaemhalf-duplex), as fichas deliberao
(para o incio de uma liberao negociada), as fichas de sincronizao mnima (para a insero
depontosdesincronizaomnimos) easfichasdesincronizaomximaeatividade(parao
114
gerenciamento das atividades e da sincronizao). S_TOKEN_GIVE permite efetuar a
transfernciadeumaoumais fichas entidaderemota, as fichas atransferir sendo indicadas
nos parmetros das primitivas.
O quinto grupo contmos servios relativos sincronizao, seja para insero de
pontos de sincronizao (atravs dos servios S_SYNC_MAJOR e S_SYNC_MINOR,
dedicados, respectivamente, introduo de pontos de sincronizao mximos e mnimos),
seja para a resincronizao a partir de um ponto dado (S_RESYNCHRONIZE).
Primitiva R I Rs C Funo
ORIENTADO CONEXO
S_CONNECT estabelecimento de conexo
S_RELEASE
S_U_ABORT
S_P_ABORT
transferncia de dados normais
transferncia de dados urgentes
transferncia de dados tipados
transf. de dados de capacidade
S_TOKEN_GIVE
S_TOKEN_PLEASE
S_CONTROL_GIVE
transferncia normal de dados
transferncia urgente de dados
transferncia de dados tipados
transf. de dados de capacidade
P_TOKEN_GIVE
P_TOKEN_PLEASE
P_CONTROL_GIVE
ARU
ARP
Desconexo anormal (iniciativa do usurio)
Desconexo anormal (iniciativa fornecedor)
TD
TE
TTD
TC
TCC
Transferncia de dados normais
Transferncia de dados urgentes
Transferncia de dados tipados
Transferncia de dados de capacidade
Confirmao de transferncia de capacidade
AC
ACA
RS
RSA
Pedido de alterao de contexto
Aceitao da alterao de contexto
Pedido de resincronizao
Aceitao da resincronizao