Sei sulla pagina 1di 276

UNIVERSIDADE FEDERAL DE SANTA CATARINA

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. 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

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.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

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 e outros componentes de computadores cada vez mais potentes e velozes, em
um tamanho mais reduzido e com um preo acessvel a um nmero cada vez maior de
pessoas. Os microprocessadores existentes hoje em dia, que ocupam espao menor do que
uma caixa de fsforos, substituem e ultrapassam as capacidades dos computadores de alguns
anos atrs, que ocupavam salas inteiras. Estes eram mquinas bastante complexas no que diz
respeito sua utilizao e que ficavam em salas isoladas, s quais muito poucas pessoas
tinham acesso, sendo operadas apenas por especialistas (analistas de sistema). Os usurios
daqueles computadores normalmente submetiam seus programas aplicativos como jobs (ou
tarefas) que executavam sem qualquer interao com o autor do programa.
Uma primeira tentativa de interao com o computador ocorreu no incio dos anos 60,
com a tcnica de time-sharing, que foi o resultado do desenvolvimento das teleimpressoras
e da tecnologia de transmisso de dados. Nesta tcnica um conjunto de terminais era
conectado a um computador central atravs de linhas de comunicao de baixa velocidade, o
que permitia aos usurios interagir com os 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
grande conjunto de usurios o compartilhamento de um nico computador para a resoluo de
uma grande diversidade de problemas e as aplicaes desenvolvidas foram cada vez mais se
multiplicando e se diversificando (clculos complexos, produo de relatrios, ensino de
programao, aplicaes militares, etc). Este aumento na demanda implicava numa
necessidade crescente de atualizaes e incrementos nas capacidades de armazenamento e de
clculo na unidade central, o que nem sempre era vivel ou possvel, dado que os
computadores do tipo "mainframe" nem sempre eram adaptados para suportar determinadas
extenses.
Nos anos 70, com o surgimento dos minicomputadores, foi possvel adaptar as
capacidades de processamento s reais necessidades de uma dada aplicao. Alm disso, dado
que em uma empresa um grande nmero de usurios operavam sobre conjuntos comuns de
5

informaes, a necessidade do compartilhamento de dados, de dispositivos de armazenamento


e de perifricos entre os vrios departamentos de uma empresa deu um novo impulso aos
trabalhos no sentido de se resolver os problemas de comunicao entre os computadores.
Estes novos tipos de aplicaes exigiam uma velocidade e uma capacidade de transmisso
muito mais elevadas que no caso da conexo de terminais a um computador 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
processamento das aplicaes. Alm disso, a modularidade natural das redes de computadores
era tal que uma falha num minicomputador (ou na comunicao via rede) tinha um efeito
bastante limitado em relao ao processamento global.
Atualmente, as vantagens dos sistemas distribudos e interconectados uma evidncia
reconhecida para as aplicaes mais diversas, desde a automao de escritrios at o controle
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
grande de computadores operando nos seus diversos setores. Um exemplo deste fato aquele
de uma empresa que possui diversas fbricas contendo cada uma um computador responsvel
das atividades de base da fbrica (controle de estoques, controle da produo e, o que tambm
importante, a produo da folha de pagamentos). Neste exemplo, apesar da possibilidade de
operao destes computadores de maneira isolada, evidente que sua operao seria mais
eficiente se eles fossem conectados para, por exemplo, permitir o tratamento das 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.
Um outro ponto importante da existncia das Redes de Comunicao relacionado a
um aumento na confiabilidade do sistema como um todo. Pode-se, por exemplo, ter
multiplicados os arquivos em duas ou mais mquinas para que, em caso de defeito de uma
mquina, cpias dos arquivos continuaro acessveis em outras mquinas. Alm disso, o
sistema pode operar em regime degradado no caso de pane de um computador, sendo que
outra mquina pode assumir a sua tarefa. A continuidade de funcionamento de um sistema
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, uma vez que computadores de pequeno porte apresentam uma menor relao
preo/desempenho que os grandes. Assim, sistemas que utilizariam apenas uma mquina de
6

grande porte e de custo muito elevado podem ser concebidos base da utilizao de um
grande nmero de microcomputadores (ou estaes de trabalho) manipulando dados presentes
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 foram apresentados 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 diferena na dimenso das Redes de Comunicao introduz diferentes problemas e
necessidades e deve, ento, ser objeto de uma classificao. No que diz respeito ao exemplo
dos microcomputadores, a rede classificada como sendo uma Rede de rea Local (ou LAN Local Area Network), caracterizada particularmente por uma pequena extenso, limitando-se
normalmente interconexo de computadores localizados numa mesma sala, num mesmo
prdio ou num campus. Neste ltimo caso, ela recebe a denominao de CAN (Campus Area
Network).
No exemplo da empresa possuindo diversas fbricas, a rede utilizada permitiria
conectar computadores localizados em diferentes prdios numa mesma cidade ou mesmo em
cidades distantes de uma dada regio. Isto caracteriza uma Rede de Longa Distncia (ou WAN
- Wide Area Network). Se as estaes interligadas esto situadas na mesma cidade, 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 dois tipos principais de concepo: os canais em modo ponto-a-ponto e os canais de
difuso.
Nos canais em ponto-a-ponto, a rede composta de diversas linhas de comunicao,
cada linha sendo associada conexo de um par de estaes.
Neste caso, se duas estaes devem se comunicar sem o compartilhamento de um
cabo, a comunicao ser feita de modo indireto, atravs de uma terceira estao. Assim,
quando uma mensagem (ou pacote) enviada de uma estao a outra de forma indireta (ou
seja, atravs de uma ou mais estaes intermedirias), ela ser recebida integralmente por
cada estao e, uma vez que a linha de sada da estao considerada est livre, retransmitida
estao seguinte. Esta poltica de transmisso tambm conhecida como store and forward
ou comutao de pacotes. A maior parte das redes de longa distncia do tipo ponto-a-ponto.

As redes ponto-a-ponto podem ser concebidas segundo diferentes topologias. As redes


locais ponto-a-ponto so caracterizadas normalmente por uma topologia simtrica; as redes de
longa distncia apresentam geralmente topologias assimtricas. A figura 2.1.1 apresenta as
diferentes topologias possveis nas redes ponto-a-ponto.
Uma outra classe de redes, as redes de difuso, caracterizada pelo compartilhamento,
por todas as estaes, de uma linha nica de comunicao. Neste caso, as mensagens enviadas
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.
Na recepo, a mquina verifica se o endereo definido no campo corresponde ao seu
e, em caso negativo, a mensagem ignorada. As redes locais pertencem geralmente a esta
classe de redes.
Nas redes de difuso, existe a possibilidade de uma estao enviar uma mesma
mensagem s demais estaes da rede, utilizando um cdigo de endereo especial. Esta forma
de comunicao recebe o nome de Broadcasting. Neste caso, todas as estaes vo tratar a
mensagem recebida. Pode-se ainda especificar uma mensagem de modo que esta seja enviada
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
instante a transmitir uma mensagem a estao mestra do barramento. As demais estaes
devem esperar autorizao para transmisso. Para isto, um mecanismo de arbitragem deve ser
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 de satlite (ou rdio), cada estao dotada de uma antena atravs
da qual pode enviar e receber mensagens. Cada estao pode escutar o satlite e, em alguns
casos, receber diretamente as mensagens enviadas pelas demais estaes.

(a)

(c)

(b)

(d)

(e)

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 (ou pacote) ao qual ele pertence. Em geral, cada bit realiza uma volta completa
do anel durante o tempo necessrio para a emisso de um certo nmero de bits, antes mesmo
da emisso completa da mensagem. Tambm nesta topologia, necessria a implementao
de um mecanismo de acesso ao suporte de comunicao. Existem diferentes tcnicas para este
fim que sero discutidas ao longo do curso.
As redes de difuso podem ainda considerar duas classes de mecanismos de acesso ao
suporte de comunicao: estticas ou dinmicas. Um exemplo do primeiro caso a definio
de intervalos de tempo durante os quais cada estao tem a posse do canal de comunicao,
permitindo ento que esta emita a mensagem de maneira cclica. No entanto, esta poltica
bastante ineficiente do ponto de vista do envio das mensagens, uma vez que muitas estaes
no vo enviar mensagens nos intervalos a elas destinadas. J na outra classe de mecanismos
(dinmicos), o acesso dado s estaes segundo a demanda de envio de mensagens. Nos
mecanismos de acesso dinmicos, pode-se ainda considerar dois casos:
os mecanismos centralizados, nos quais uma estao central (rbitro) a responsvel
da definio do direito de acesso ao suporte de comunicao;
os mecanismos distribudos, nos quais cada estao define quando ela vai 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

Como visto nas sees precedentes, as redes de computadores podem se caracterizar


por diferentes configuraes e topologias. Apesar da diversidade no que diz respeito a este
aspecto, todas as possveis configuraes tm um objetivo comum: a transferncia 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 deste problema baseada principalmente no conhecimento prvio das funes que
devem ser suportadas pela rede, assim como do ambiente no qual ela vai ser inserida. Estes
aspectos sero mostrados aqui atravs de alguns exemplos.
O primeiro exemplo baseado na poltica de time-sharing mencionada na seo 1.
Vamos considerar o caso em que temos apenas um terminal conectado a um computador,
como mostrado na figura 2.1.3. Consideremos que um usurio v servir-se do terminal para
processar informaes no computador central. Para que isto seja possvel, necessrio que o
computador central seja dotado do programa necessrio ao tratamento daquelas informaes.
Em caso positivo, o terminal e o computador devem estabelecer um dilogo que permita o
bom desenrolar 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, em seguida, envie as informaes a serem processadas. Uma vez efetuado o
tratamento, o computador deve retornar os resultados ao terminal.
Esta seqncia de operaes, apesar de aparentemente elementar, requer a satisfao
de uma srie de condies. Vamos supor, por exemplo, que o computador central e o terminal
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
primeiro obstculo a ser vencido aquele da linguagem; o terminal deveria ento se adaptar
linguagem do computador central. Resolvido o problema de compreenso, um outro problema
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) e a forma de representar os sinais binrios deve ser igual em ambos os lados. Uma
outra questo pode ainda estar relacionada velocidade 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, o que vai exigir ento o estabelecimento de um mecanismo de controle do fluxo
de informao.

10

computador
central
terminal

Figura 2.1.3 - Terminal conectado a um computador central.


Resumindo, a rede de comunicao deve, alm de suprir as funes de transmisso e
tratamento de informaes, oferecer servios de adaptao, deteco e correo de erros de
transmisso e controle de fluxo.
Vamos considerar agora que, ao invs de um nico terminal, vamos conectar um maior
nmero deles ao computador central (figura 2.1.4).
Aqui, cada terminal pode, a princpio e a qualquer momento, tomar a iniciativa da
troca de dados com o computador. Isto significa que cada terminal ter de ser caracterizado
por um endereo especfico, cuja utilizao correta vai permitir evitar que o computador
central envie as informaes aos terminais de maneira indevida. Por outro lado, se o 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 entre terminais e o computador central em sesses, de tal forma que,
ao trmino de uma sesso entre um terminal e o computador central, este ter liberados
determinados elementos (envolvidos naquela sesso) que podero atender outros terminais em
estado de espera.
Ainda, considerando que nem todos os terminais vo efetuar o mesmo tipo de
tratamento de forma simultnea, dever-se-, ento, especificar a aplicao associada. Assim,
todas as necessidades vistas neste exemplo devero ser associadas s funcionalidades
definidas no exemplo anterior. Mas os problemas no terminam por aqui... ( impossvel, no
momento, prever onde terminaro os problemas!).
computador
central

terminais

11

Figura 2.1.4 - Configurao com vrios terminais.


Vamos considerar ainda um exemplo, mais particularmente o de uma rede contendo
diversos computadores, terminais, etc, cada um destes elementos constituindo um n da rede
(figura 2.1.5). Neste exemplo, os dois elementos envolvidos numa comunicao no sero
mais necessariamente adjacentes; alm disso, podem existir diversas maneiras de conect-los,
o que conduz a diferentes caminhos de envio de dados.
No exemplo mostrado na figura 2.1.5, os ns 1 e 5 podem ser conectados por pelo
menos 10 caminhos diferentes e a escolha de qual caminho utilizar dever ento ser realizada,
o que no uma tarefa to simples quanto possa parecer. A funo de escolha de uma
caminho adequado recebe o nome de Roteamento.
2

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 deve assegurar a correta transmisso (transporte) da informao de um ponto a
outro. Particularmente, ser necessrio garantir que as mensagens enviadas sero recuperadas
e reconstitudas na ordem correta no ponto de chegada.
Um requisito tambm importante o aspecto da codificao das mensagens de modo a
evitar o acesso a informaes de parte de usurios alheios ao sistema considerado. A esta
funo, pode-se eventualmente acrescentar tcnicas de compresso de dados, necessria se a
informao enviada demasiadamente redundante e o custo da comunicao alto.
2.1.4.2 Questes organizacionais

Uma vez listadas as diferentes necessidades relacionadas a uma rede de comunicao,


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
elementos da rede sero responsveis da implementao destas funes? As solues adotadas
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.
Uma ilustrao tpica do problema aquele das relaes internacionais: vamos supor
dois pases A e B, representados pelos seus respectivos presidentes que devem assinar um
acordo de cooperao industrial e comercial. Supondo que a organizao poltica dos dois
pases a mesma, cada presidente deve convocar o seu primeiro ministro para acompanhar 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 que faz parte do acordo a construo de um novo avio civil, o ministro da
indstria vai convocar o diretor das indstrias aeronuticas e espaciais para que este faa os
primeiros contatos. Finalmente, o diretor vai contactar um industrial do ramo e requisitar 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
seus respectivos pases, sendo que a informao vai subindo na hierarquia da organizao dos
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 em dois 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 um sistema 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;
garantia de confiabilidade do sistema, particularmente graas ao encapsulamento das
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.
Todos estes aspectos nos conduzem a conceber uma arquitetura de comunicao como
sendo uma organizao de software e hardware estruturada em camadas.
2.1.4.3 A estruturao em camadas
Os conceitos de hierarquia e descentralizao podem ser empregados de diferentes
formas, cada uma podendo implicar num tipo de rede particular. Em funo desta provvel
multiplicidade, surgiu ento a necessidade de uma normalizao permitindo a conexo de
diferentes classes de hardware.
Para possibilitar a normalizao, foi necessrio estabelecer um modelo terico capaz
de representar as relaes entre as diferentes tarefas implementadas nos diferentes nveis
hierrquicos. A possibilidade de interconexo de um nmero qualquer de sistemas, ou seja, de
conjuntos autnomos podendo efetuar tarefas de tratamento ou de transmisso de informao,
era uma caracterstica essencial para o modelo a ser estabelecido.
A figura 2.1.7 ilustra a arquitetura hierarquizada em camadas (no caso, 7 camadas),
que permitir introduzir o conjunto de conceitos relacionados ao modelo estabelecido.
O objetivo de cada camada o oferecimento de um determinado servio s camadas
superiores (utilizando-se, tambm dos servios oferecidos pelas camadas inferiores) de forma
a evitar que estas necessitem conhecer certos aspectos da implementao destes servios.

14

A camada n assume a comunicao com a camada n de uma outra mquina. Para fazlo, ela se serve de um conjunto de convenes e regras que vo permitir gerir esta
comunicao. A este conjunto de regras e convenes, d-se o nome de protocolo da camada
n, ou, simplesmente, protocolo n. As entidades representando camadas correspondentes em
diferentes sistemas so denominadas processos pares, ou entidades pares. Os processos pares
vo se comunicar ento atravs dos protocolos, como foi visto na parte 1 deste documento.
Como se pode ver na figura, no existe meio de comunicao fsico entre as diferentes
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
imediatamente inferior at a camada mais baixa; o dado ento transmitido outra mquina
atravs do Meio de Transmisso. A comunicao entre as camadas vista ento como uma
comunicao virtual e representada, na figura 2.1.7, pelas linhas ligando cada par de
processos de uma camada.

Sistema B

Sistema A

Interface
camadas
6/7
Interface
camadas
5/6
Interface
camadas
4/5
Interface
camadas
3/4
Interface
camadas
2/3
Interface
camadas
1/2

Camada
7

Camada
6

Camada
5

Camada
4

Camada
3

Camada
2

Camada
1

Protocolo da camada 7

Protocolo da camada 6

Protocolo da camada 5

Protocolo da camada 4

Protocolo da camada 3

Protocolo da camada 2

Protocolo da camada 1

Camada
7

Camada
6

Camada
5

Interface
camadas
6/7
Interface
camadas
5/6
Interface
camadas
4/5

Camada
4

Camada
3

Interface
camadas
3/4
Interface
camadas
2/3

Camada
2

Camada
1

Interface
camadas
1/2

Meio de Transmisso

Figura 2.1.7 - Modelo hierarquizado em 7 camadas.


Cada camada comunica-se com as camadas adjacentes atravs de uma interface, que
define as operaes elementares e os servios que a camada inferior oferece camada
considerada. No momento da definio do nmero de camadas que vai compor uma rede e do
papel que cada uma delas deve cumprir, uma tarefa importante ser a definio completa das
15

interfaces entre as camadas; isto vai implicar na definio do servio oferecido por cada
camada. Uma vantagem da 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.
Ao conjunto das camadas compondo uma rede d-se o nome de arquitetura da rede, e
as especificaes da arquitetura devem conter informaes suficientes para permitir o correto
desenvolvimento da rede, tanto do ponto de vista do software quanto do hardware. Por outro
lado, os detalhes de implementao dos mecanismos a implementar em cada camada, assim
como as especificaes detalhadas das interfaces no fazem parte da definio da arquitetura
da rede.
A figura 2.1.8 permite ilustrar o processo da comunicao no contexto de uma
arquitetura multicamadas.
O processo da camada 7 gera uma mensagem m, que ser transmitida desta camada
inferior segundo o que estiver definido pela interface das camadas 6/7.

TRANSMISSO
protocolo da

interface
6/7

protocolo da

camada 6

interface
5/6

interface
5/6

protocolo da

camada 5

H4 M2

protocolo da
camada 4

H3 H4 M1

camada 7

interface
6/7

H4 M1

RECEPO

H4 M1

H4 M2

protocolo da
H3 H4 M2

H2 H3 H4 M1 T2 H2 H3 H4 M2 T2

camada 3
protocolo da
camada 2

SISTEMA
FONTE

H3 H4 M1

H3 H4 M2

H2 H3 H4 M1 T2 H2 H3 H4 M2 T2

SISTEMA
DESTINO

Figura 2.1.8 - Ilustrao da comunicao virtual numa arquitetura de rede.


Considera-se que esta transmisso introduz algumas modificaes na mensagem (por
exemplo, uma compresso de dados), o que justifica uma nova representao desta por M.
Esta mensagem , por sua vez, transmitida camada 5, atravs da interface das camadas 5/6.
No exemplo considerado na figura, a mensagem no 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 em M1 e M2. Para isto, inserido tambm na mensagem (ou nas partes da
mensagem) um cabealho H4 contendo uma informao de controle, como, por exemplo, um
nmero de ordem que vai permitir, posteriormente, na camada 4 do sistema destinatrio, a
reconstruo da mensagem a partir das partes recebidas. Outras informaes podem ainda
estar contidas neste cabealho, como, por exemplo, o tamanho da mensagem, o instante de
envio, etc.
Na camada 3, feita a escolha das linhas de sada (roteamento) e um novo cabealho,
H3, introduzido s mensagens. Na camada 2, alm de um cabealho, H2, introduzido
tambm um sufixo, T2, contendo informaes especficas esta camada. A mensagem
finalmente entregue camada 1 para emisso via meio fsico.
No sistema destinatrio, o processo inverso se desenrola, sendo que as mensagens vo
subindo, de camada em camada, e os cabealhos retirados nas camadas respectivas, de modo a
evitar que estes sejam transferidos s camadas que no lhes dizem respeito.
Um aspecto 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 origem a 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 da ISO (International Standards Organization), uma reunio
de esforos no sentido de definir uma proposta de arquitetura normalizada para as redes de
comunicao. Dada a grande diversidade dos equipamentos e das 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 com outros equipamentos, de
diferentes classes, fabricantes, modelos, etc.
Baseada nesta filosofia, a proposta, definida numa srie de documentos produzidos por
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 a filosofia das arquiteturas multicamadas, descrita
no captulo precedente. Como mostra a figura 2.2.1, sua arquitetura define 7 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 foram escolhidas 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;
o nmero de camadas deveria ser suficientemente grande para evitar a realizao de
funes muito diversas por uma mesma camada;
o nmero de camadas deveria ser suficientemente pequeno para evitar uma alta
complexidade da arquitetura.
7

Aplicao

Apresentao

Sesso

Transporte

Protocolo de Aplicao

Protocolo de Apresentao

Protocolo de Sesso

Protocolo de Transporte

Aplicao

APDU

Apresentao

PPDU

Sesso

SPDU

Transporte

TPDU

SUB-REDE

Rede

Rede

Rede

Rede

PACOTE

protocolos internos
da sub-rede

Enlace de
Dados

Fsica

SISTEMA A

Enlace de
Dados

Enlace de
Dados

Fsica

Fsica

IMP

IMP

IMP - Interface Message Processor

Enlace de
Dados

Fsica

QUADRO

BIT

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

Vamos descrever, a seguir, as principais funes realizadas por cada uma das camadas
definidas no modelo RM-OSI.
A Camada Fsica responsvel pela transferncia de bits num circuito de
comunicao. De maneira geral, a sua funo garantir que cada bit enviado de um lado ser
recebido do outro lado sem ter alterado o seu valor, ou seja, se o bit enviado est a 1, ele ser
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 da tenso em volts para a representao dos valores 0 e 1 dos bits,
durao de cada sinal representando um bit, a codificao dos sinais, etc...);
os tipos de conectores a serem utilizados nas ligaes (nmero de pinos utilizado, as
funes associadas a cada pino, ...);
a maneira como as conexes so estabelecidas para a iniciao de um dilogo 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 tem por funo principal a transformao do meio de
comunicao bruto em uma linha livre de erros de transmisso para a camada de Rede. 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
pelo receptor. Nesta camada, as unidades de dados so enriquecidas com um conjunto de bits
adicionais (no incio e fim de cada quadro) de modo a permitir o reconhecimento destes e a
definio de um endereo para o destinatrio da mensagem.
Um problema tpico deste nvel o da ocorrncia de uma perturbao sobre a linha de
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
informao transferida. Por outro lado, deve-se tambm evitar mltiplas retransmisses de um
mesmo quadro, o que pode provocar a sua duplicao, por exemplo, se o quadro de
reconhecimento perdido.
Uma outra funo desta camada evitar uma alta taxa de envio de dados da parte do
emissor no caso do sistema receptor no ter capacidade de absorver a informao mesma

19

taxa. Este mecanismo deve permitir informar ao emissor a necessidade de armazenamento dos
dados a transmitir (controle de fluxo de quadros).
A Camada de Rede responsvel pela gesto de sub-redes; ela define a forma como
os pacotes de dados sero encaminhados do emissor ao receptor (roteamento). Os caminhos a
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) e as camadas orientadas aplicao (5, 6 e 7). Ela recebe os dados
enviados da camada de sesso, devendo decomp-los, se for o caso, em unidades 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.
Esta camada cria, normalmente, uma conexo de rede para cada conexo de transporte
requerida pela camada de Sesso, embora, se as necessidades de velocidade de transmisso
so justificadas, ela possa estabelecer diversas conexes de rede para uma mesma conexo de
transporte. Por outro lado, se o custo da manuteno de uma conexo de rede considerado
elevado, esta camada pode efetuar a funo inversa, ou seja, a multiplexao de vrias
conexes de transporte sobre uma mesma conexo de rede, esta tarefa 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
ordem em que elas foram enviadas. Por outro lado, outras classes de servios podem fornecer
uma conexo capaz de enviar as mensagens de modo isolado, mas sem a garantia de uma
ordem correta na transmisso. O tipo do servio a ser fornecido definido no momento do
estabelecimento da conexo.
Uma caracterstica desta camada que ela implementa um verdadeiro dilogo fim-afim, ou seja, o programa executando no sistema fonte dialoga com o programa executando na

20

mquina destino atravs dos cabealhos e informaes de controle contidas nas mensagens
deste nvel. J nas camadas mais baixas, os protocolos operam entre mquinas vizinhas e no
entre os sistemas fonte e destino, dado que estes podem estar separados por vrios IMPs. 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, ela deve definir um mecanismo de endereamento que permita a um sistema indicar 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, ela deve implementar um mecanismo de controle de fluxo fim-a-fim para
evitar que o sistema fonte envie mensagens numa taxa superior quela com a qual o sistema
destino pode consumi-las.
A Camada de Sesso responsvel pelo estabelecimento de sesses de dilogo para os
usurios da rede. Uma sesso objetiva permitir o transporte de dados, da mesma forma que os
servios oferecidos pela camada de Transporte, mas ela oferece servios mais sofisticados de
comunicao que podem ser teis a determinadas aplicaes. Um exemplo disto a
possibilidade de envio, atravs de uma sesso, de um arquivo de dados (ou programa) de um
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.
Um servio tambm importante aquele da sincronizao do dilogo. Considere, por
exemplo, que um arquivo deve ser transferido atravs de uma sesso e esta deve durar duas
horas e que, por uma razo qualquer, o tempo mdio entre duas panes de uma hora. Aps
uma primeira interrupo por pane, a transferncia dever reiniciar, podendo ocasionar erros
de transmisso. Uma forma de evitar isto a insero de pontos de teste junto aos dados
fazendo com que, aps uma interrupo de transferncia, os dados sejam retomados 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. Um exemplo tpico das funes efetuadas por esta camada a codificao da
informao num padro bem definido (ASCII, EBCDIC, etc).
Esta camada pode ainda suprir 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 implementa um conjunto de protocolos bastante diversificado


e orientado a aplicaes bem definidas. Um exemplo disto o protocolo de terminal virtual,
que permite a utilizao de um determinado programa (por exemplo, um editor de textos) 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 forma como os dados so transferidos ao longo do modelo OSI ilustrada na figura


2.2.2. Como se pode ver, o processo emissor vai enviar uma certa quantidade de dados ao
processo receptor. Ele envia, ento, os dados camada de Aplicao que introduz a estes 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.
processo
receptor

processo
emissor
DADOS

Aplicao

protocolo de
aplicao

Apresentao

protocolo de
apresentao

Sesso

protocolo de
sesso

Transporte

protocolo de
transporte

Rede
Enlace
Fsica

AH
PH

DH

DADOS

Apresentao

DADOS

SH
TH

protocolo de
NH
rede

Aplicao

DADOS

DADOS
DADOS

Sesso
Transporte
Rede

DADOS

Enlace

BITS

Fsica

meio de transmisso de dados

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 de aplicao, considerando este como parte dos dados compondo a
mensagem. Este processo de transferncia de camada a camada vai 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.
Isto fica claro, por exemplo, quando a camada de Transporte emissora recebe um dado
da camada de Sesso; ela insere um cabealho de transporte e envia a mensagem camada de
Rede emissora. Este processo, portanto, para a camada de Transporte, no mais do que um
detalhe tcnico. Um exemplo anlogo aquele de um diplomata de um pas fazendo um
discurso, na sua prpria lngua, nas Naes Unidas. Este considera estar se dirigindo aos 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 um determinado conjunto de servios camada imediatamente superior. A nvel do
modelo de referncia OSI, foi feita uma srie de definies que vo permitir identificar cada
componente do modelo de forma clara e no ambgua. objetivo desta seo introduzir estes
conceitos.
2.2.4.1 Terminologia OSI
A nvel de cada camada existem elementos ativos que implementam os servios e
protocolos relacionados com aquela camada. A estes elementos ativos, d-se o nome de
entidades, que podem ser entidades de software ou de hardware. s entidades localizadas em
diferentes sistemas, mas associadas a um mesmo nvel (ou camada), d-se o nome de
entidades pares. As entidades recebem tambm uma denominao complementar em funo
da camada qual elas esto relacionadas por exemplo, entidade de aplicao, entidade de
apresentao, etc.
As entidades de uma camada N (ou entidades N) implementam um servio que
utilizado pela camada N+1. Assim, a camada N dita ser um fornecedor de servio e a
23

camada N+1 denominada um usurio de servio. Por outro lado, a camada N poder utilizar
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 em pontos de acesso aos
servios, ou SAP (service access point). Os SAPs da camada N so os lugares onde a camada
N+1 poder acessar os servios oferecidos, cada SAP sendo identificado por um endereo
nico. Por exemplo, os SAP de uma rede telefnica so as tomadas s quais podem ser
conectados os aparelhos telefnicos e seus endereos so os nmeros de telefone associados
tomada considerada.
Para que duas camadas possam trocar informaes, existe uma srie de regras a serem
respeitadas, definidas pela interface. Atravs de uma interface, a camada N+1 envia uma
unidade de dados de interface, ou IDU (Interface Data Unit) entidade da camada N 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, em seguida,
camada N+1. A ICI utilizada para auxiliar a gesto da camada inferior em seu trabalho (por
exemplo, o nmero de bytes compondo a SDU correspondente).
Para transmitir uma SDU, a entidade da camada N pode fragment-la em diversas
partes, e cada parte vai receber um cabealho, sendo enviada como uma unidade de dados de
protocolo, ou PDU (Protocol Data Unit). Os cabealhos de PDU so utilizados pelas
entidades pares para o transporte do protocolo. Elas identificam a PDU contendo os dados e
aquelas contendo informaes de controle (nmeros de seqncia, contagens, etc). A figura
2.2.3 ilustra o processo descrito. As PDUs recebem normalmente uma denominao segundo
a camada qual esto associadas. Por exemplo, as PDUs de aplicao so ditas APDU, assim
como as de apresentao so as PPDU, as de sesso SPDU, e assim por diante.
IDU
ICI

CAMADA N+1

SDU
SAP

interface

cabealho

CAMADA N

ICI

SDU

SDU

as entidades da
camada N trocam
N-PDUs via protocolos N

N-PDU

Figura 2.2.3 - Conceitos associados ao modelo de referncia OSI.


2.2.4.2 Servios orientados conexo e sem conexo

24

Como j foi dito, as camadas podem oferecer diferentes classes de servios s camadas
superiores. Estes servios podem ser orientados conexo ou sem conexo.
No que diz respeito aos servios orientados conexo, podemos citar, como exemplo
tpico o sistema telefnico. Para que seja possvel falar a algum no telefone, necessrio,
inicialmente, tirar o fone do gancho, digitar (ou discar) um nmero, esperar que o interlocutor
atenda, falar e, finalmente, desligar. Este o princpio de base de um servio orientado
conexo: estabelecimento da conexo, utilizao do servio e trmino da conexo. O aspecto
principal da conexo o fato de que ela funciona como uma espcie de canal atravs do qual
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 (ou carta, se consideramos o exemplo citado) contm o endereo do destinatrio e
ento encaminhada pelo sistema, independente de outras mensagens. Normalmente, se duas
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
mensagem seja atrasada fazendo com que a segunda mensagem seja recebida primeiro. J nos
servios orientados conexo, isto jamais poder acontecer.
Cada servio caracterizado por uma qualidade de servio. Um servio dito confivel
aquele em que os dados nunca podem ser perdidos. Normalmente, a implementao de
servios confiveis feita atravs da definio de mensagens de reconhecimento enviadas
pelo receptor, para cada mensagem recebida do emissor. Este processo, embora extremamente
benfico, introduz uma lentido na transferncia de dados, o que significa que nem sempre ele
desejvel num sistema.
Nem todas as aplicaes requerem a utilizao de conexes. Um exemplo disto pode
ser o de uma aplicao de correio eletrnico. Pode-se imaginar uma aplicao de correio 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.
Existem casos, porm, em que, apesar de no necessitar o estabelecimento de conexo,
a confiabilidade essencial. O servio utilizado neste caso dito de datagrama com
reconhecimento.
O servio de pedido-resposta j um outro tipo de servio no qual o emissor envia um
datagrama contendo um servio e o receptor envia um outro contendo a resposta a este
pedido.
A tabela a seguir ilustra os diferentes servios com e sem conexo, com exemplos de
aplicao destes servios.
Servios
Transf. confivel de
mensagens

Comentrio
com ou sem conexo

25

Exemplo
sequenciamento de pginas

Transf. confivel de dados


Transf. sem controle de
erros
Datagrama s/
reconhecimento
Datagrama c/
reconhecimento
Pedido-Resposta

com ou sem conexo


com ou sem conexo

transferncia de arquivos
voz digitalizada

sem conexo

correio eletrnico

sem conexo

correio eletrnico
registrado
consulta a bases de dados

sem conexo

2.2.4.3 As Primitivas de Servio

Um servio definido formalmente por um conjunto de primitivas (ou operaes)


disponveis a um usurio ou a outras entidades para o acesso quele servio. Estas primitivas
permitem indicar a ao a ser executada pelo servio ou ainda um pedido de informao sobre
uma ao executada previamente.
No modelo OSI, as primitivas de servio so divididas em quatro classes: as primitivas
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
Um exemplo da utilizao das primitivas de servio o pedido de um estabelecimento
de conexo. Para requisitar o estabelecimento de uma conexo, a entidade que quer 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
primitiva de resposta, CONNECT.response, para informar se esta aceita ou no a conexo.
Finalmente, a entidade emissora vai saber do resultado do seu pedido pela recepo de uma
primitiva de servio de confirmao, CONNECT.confirm. Este procedimento ilustrado na
figura 2.2.4.

26

SISTEMA A

SISTEMA B

CAMADA N+1

CAMADA N+1
CONNECT.response

CONNECT.request

CONNECT.confirm

CONNECT.indication

CAMADA N

CAMADA N

Figura 2.2.4 - Ilustrao da troca de primitivas de servio (confirmado).


Parmetros podem ser 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...
Se a entidade invocada no est de acordo com os parmetros contidos na primitiva de
indicao recebida, esta pode fazer uma contraproposta, atravs dos parmetros da primitiva
de resposta, que ser transmitida entidade emissora atravs dos parmetros da primitiva de
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, ou seja, pedido e indicao. Neste tipo de servios, a entidade emissora do 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
CONNECT.request
CONNECT.indication
CONNECT.response
CONNECT.confirm

Significado
pedido de estabelecimento de uma conexo
indicao entidade invocada
utilizada para indicar a aceitao ou no da conexo
informa entidade emissora se a conexo aceita
27

DATA.request
DATA.indication
DISCONNECT.request
DISCONNECT.indication

pedido de envio de dados


sinalizao da chegada de dados
pedido de trmino da conexo
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 camada imediatamente superior. Ele define o que uma camada capaz de executar
sem se preocupar com a maneira pela qual as operaes sero executadas. O servio est
intimamente relacionado com as interfaces entre duas camadas, a inferior sendo a fornecedora
do servio e a superior, a usuria deste.
Por outro lado, o protocolo define um conjunto de regras que permitem especificar
aspectos da realizao do servio, particularmente, o significado dos quadros, pacotes ou
mensagens trocadas entre as entidades pares de uma dada camada. A nvel de uma camada, o
protocolo pode ser mudado sem problemas, desde que as interfaces com a 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 um modelo 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 com a transmisso dos
dados propriamente dita;

28

as camadas altas, que compreendem desde 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 da camada Fsica assegurar o transporte dos 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 nesta seo, 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 de transmisso podem se caracterizar pela existncia ou no de um guia


fsico para o envio do sinal. Na primeira classe esto 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)

Em diversas aplicaes, necessrio se manter uma conexo direta e permanente entre


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 ambiente no qual este estiver
instalado.
A utilizao mais tpica deste suporte de transmisso a rede telefnica, onde, graas
s suas caractersticas eltricas, os sinais podem percorrer vrias dezenas de quilmetros, sem
a necessidade de amplificao ou regenerao de sinal.
Estes podem, ainda, ser utilizados tanto para a transmisso de sinais analgicos quanto
de sinais digitais, a banda passante atingida sendo funo da sua composio (particularmente,
dimetro e pureza dos condutores, natureza dos isolantes e do comprimento do cabo). A taxa
de transmisso obtida pela utilizao deste suporte de transmisso situa-se na faixa de
29

algumas dezenas de Kbits/s, podendo atingir, em condies particulares, a faixa dos Mbits/s
para pequenas distncias.
O fato de representar um baixo custo e uma grande faixa de utilizao o tornam um
dos suportes mais utilizados atualmente e, provavelmente, nos prximos anos.
- Os cabos coaxiais

Os cabos coaxiais so tambm altamente 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; o segundo tipo, com uma impedncia caracterstica de 75 ohms, mais adequado
para a transmisso de sinais analgicos. Eles so constitudos de dois condutores arranjados
de forma concntrica: um condutor central, a alma, envolto por um material isolante de forma
cilndrica. Esta capa isolante , por sua vez, envolta por uma trana metlica condutora em
cobre. Finalmente, o conjunto envolto numa capa de proteo em plstico isolante, como
mostrado na figura 2.3.1.
capa de proteo
capa isolante

alma de cobre
trana metlica

Figura 2.3.1 - Cabo coaxial.


Em relao aos pares de fios tranados, os cabos coaxiais apresentam melhores
caractersticas eltricas, oferecendo um boa relao entre a banda passante e a proteo contra
interferncias eletromagnticas. Seu custo, porm, bastante superior.
A largura de banda vai depender igualmente da qualidade da composio do cabo e do
seu comprimento. Para distncias em torno de 1 km, possvel obter uma taxa de transmisso
em torno 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

As fibras ticas so o meio de transmisso pelo qual os sinais binrios so conduzidos


sob a forma de impulsos luminosos. Um impulso luminoso representa um bit a 1, enquanto a
ausncia deste impulso representa um bit a 0. A luz visvel uma onda luminosa cuja
freqncia est na ordem de 108 Hz, o que d ao sistema uma banda passante potencial
bastante grande. As taxas de transmisso num suporte a fibra tica ficam na faixa dos Gbit/s
(109 bit/s).
Um sistema de transmisso a base de fibra tica composto de trs elementos
principais: o suporte de transmisso (a fibra tica propriamente dita), o dispositivo de emisso
e o dispositivo de recepo da onda luminosa.
A fibra tica constituda de um filamento 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).

i
f ib r a
E

Figura 2.3.2 - Transmisso tica de sinais


O princpio da transmisso das fibras ticas o da reflexo da luz na interface entre
dois meios. Quando um raio luminoso deixa um meio homogneo para se propagar num outro
meio, o seu percurso sofre um desvio na interface entre os dois meios (refrao). Entretanto,
como mostrado na figura 2.3.3, existe um ngulo de incidncia limite, a partir do qual o raio
luminoso, ao invs de ser refratado, ser refletido na interface, sendo mantido no meio no qual
ele havia sido introduzido. Desta forma, a luz poder ser propagada ao longo do meio, em
distncias de vrios quilmetros.
Ar

1
1

2
2

3
3

S ilcio

31

fonte de
luz

Figura 2.3.3 - Princpio da transmisso em fibras ticas.


Atualmente, os suportes de comunicao base de fibra tica so utilizados em redes
de comunicao em longa distncia, substituindo sistemas mais antigos base de cabos
coaxiais. Isto dever continuar a ocorrer nos prximos anos, contribuindo para que se tenha,
num futuro prximo, em distncias relativamente grandes, sistemas de comunicao
oferecendo altas taxas de transmisso, garantindo assim o envio de grandes volumes de
informao.
Em redes locais industriais tambm se vm procurando adotar a tecnologia das fibras
ticas nos ltimos anos. Um problema, porm, associado s caractersticas das redes locais o
da definio dos ns de rede, particularmente, no que diz respeito s derivaes, uma vez que
estas freqentemente tm topologia em barramento. Uma alternativa a construo de redes
em anel, constitudas de ligaes ponto-a-ponto.
A realizao das derivaes em fibra tica pode se basear em duas diferentes tcnicas.
A primeira consiste da definio de uma derivao passiva, composta de uma bifurcao
simples do filamento tico. O inconveniente desta tcnica a perda de intensidade do sinal
luminoso em cada bifurcao, o que limita o nmero mximo de ns a serem implementados.
A segunda tcnica baseia-se no repetidor ativo, onde a luz proveniente do suporte a
base de fibra tica convertida novamente em sinal eltrico em cada derivao. Estes so
transmitidos ao computador ou equipamento considerado e, em seguida, reconvertidos em
sinal luminoso para a continuidade da transmisso ao longo da rede. Uma desvantagem desta
tcnica que, no caso de pane de um destes repetidores, o funcionamento da rede como um
todo tambm ser comprometido. Outro inconveniente o aumento do custo de realizao das
bifurcaes, que passam a exigir um pequeno circuito eletrnico em cada repetidor. Por outro
lado, uma vez que os sinais so reconstitudos em cada repetidor, a distncia entre cada n da
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 e da extenso da rede, da instalao de sistemas de canalizao para passagem do
suporte de transmisso. Isto pode elevar consideravelmente o custo de uma rede, em certas
situaes.
Nestes casos, uma rede de comunicao baseada em um meio sem guia fsico pode ser
uma soluo mais interessante. Por exemplo, numa rede que deve estender-se ao longo dos
32

diversos prdios num campus de uma universidade, pode ser mais interessante a instalao de
um conjunto emissor-receptor a raios laser ou infravermelhos no teto de cada um dos prdios.
J existem tambm redes locais baseadas em sinais de rdio. Cada estao de rede tem
que possuir uma unidade de transmisso e recepo (transceptor) de rdio, podendo ser
livremente deslocada dentro do ambiente. Dentre as vantagens deste tipo de sistema, 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 em longas distncias, as ondas de rdio em alta freqncia


podem tambm ser utilizadas, constituindo uma boa alternativa utilizao dos cabos coaxiais
ou fibras ticas. Neste caso, antenas parablicas de emisso-recepo so instaladas no alto de
pilares de concreto e uma faixa de freqncia ento estabelecida entre duas antenas situadas
numa distncia da ordem de dezenas de quilmetros.
Os satlites de comunicao so uma outra opo para a transmisso de dados em uma
larga gama de aplicaes. Estes podem ser vistos como estaes repetidoras instaladas no cu
dotadas de um certo 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 de onda difundidos para a terra podem cobrir uma
zona geogrfica relativamente grande ou mais restrita. Um satlite utiliza, em geral, uma faixa
de freqncia em torno de 500 MHz distribuda entre 10 a 12 repetidores, cada um deles
utilizando uma faixa em torno de 36 MHz, dentro da qual este pode transmitir um fluxo de
dados a uma taxa de 50 Mbit/s.

33

2.3.2.2. Aspectos da Transmisso de Dados

O meio de transmisso consiste geralmente de um conjunto de recursos e regras que


permitem a transmisso de informaes de um ponto a outro numa rede de comunicao. Este
processo ilustrado pela figura 2.3.4(a), onde podemos observar os seguintes elementos:
a fonte de informao, que pode ser um computador ou um terminal, 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, de bits, para sinal eltrico ou eletromagntico, adaptando-o ao meio de
transmisso;
o suporte de transmisso, encarregado do transporte dos sinais representando a
informao e que pode ser caracterizado por uma das tcnicas apresentadas na seo
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 um computador, um terminal 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 um equipamento transmissor e um
receptor compondo o conjunto transceptor como mostrado na figura 2.3.4(b).
RUDO
FONTE DE
INFORMAO
BINRIA

TRANSMISSOR

SUPORTE DE TRANSMISSO

RECEPTOR

DESTINATRIO
DA
INFORMAO
BINRIA

(a)

RUDO
FONTE OU
DESTINATRIO
INFORMAO
BINRIA

TRANSMISSOR

TRANSMISSOR
SUPORTE DE TRANSMISSO
RECEPTOR

RECEPTOR

FONTE OU
DESTINATRIO
INFORMAO
BINRIA

(b)

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, ou seja, ora num sentido, ora no outro, ela se denomina half-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.
No que diz respeito forma como os bits so encaminhados ao longo de uma linha de
comunicao, pode-se distinguir o modo de transmisso paralelo e o modo serial.
Na transmisso paralela, os bits so transportados simultaneamente por um suporte
composto de vrias linhas em paralelo. um modo de transmisso mais adequado
comunicao entre equipamentos localizados a curtas distncias. A ligao interna na
arquitetura de computadores ou entre computadores e perifricos prximos so exemplos da
aplicao da transmisso paralela. Esta forma de transmisso permite uma maior velocidade
de envio de dados, devida ao paralelismo. Por outro lado, so necessrios mais condutores, o
que torna o cabo de transmisso mais caro. Alm disso, como os sinais sendo transmitidos nos
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 serialmente atravs de uma nica linha de
comunicao, usualmente com 2 ou 4 condutores.
Pode-se considerar outros parmetros para a classificao dos modos de transmisso,
como, por exemplo, a forma de sincronia entre emissor e receptor, associada temporizao.
No caso particular das transmisses seriais, a forma de delimitar os bits pode levar em conta
duas diferentes filosofias: a transmisso sncrona e a transmisso assncrona.
Na transmisso sncrona, os bits de dados so enviados segundo uma cadncia prdefinida, 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 um perodo de tempo de
emisso entre o transmissor e o receptor. A separao entre os bits feita atravs de um sinal
35

especial com durao varivel. Um caso tpico de transmisso assncrona a transmisso de


caracteres; neste caso, a cada grupo de bits constituindo um caracter so adicionados bits
especiais para representar o incio (start bit) e final deste (stop bit). Neste tipo de
comunicao, apesar da assincronia ao nvel de caracteres, ocorre uma sincronizao ao nvel
de bit.
Um outro aspecto a ser destacado a maneira como a banda passante (faixa de
freqncia de transmisso) do canal de comunicao explorada.
Em um primeiro modo, a transmisso em banda base ("baseband"), a banda passante
do suporte de transmisso atribuda totalmente a um nico 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
passante do suporte de transmisso dividida num determinado nmero de canais de faixa de
freqncia estreita, permitindo que os dados sejam transmitidos utilizando uma tcnica de
multiplexao em freqncia. A banda passante dos canais normalmente definida em funo
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 em banda base. Esta tcnica permite a definio de canais diferentes
de transmisso sobre o mesmo guia fsico e utilizada para a realizao da comunicao fullduplex.
b) Transmisso analgica versus transmisso digital

A transmisso analgica, na qual os sinais so transmitidos sob a forma de tenses ou


correntes de amplitudes ou freqncias variveis, tem dominado historicamente a indstria
das telecomunicaes. No entanto, a presena cada vez maior dos computadores e sistemas a
base de microprocessadores tende a mudar esta filosofia de transmisso de dados.
At bem recentemente, a tecnologia telefnica era baseada na transmisso de sinais
analgicos. Apesar da grande difuso dos sistemas a transmisso digital, ainda sero
necessrios muitos desenvolvimentos para que a transmisso analgica desaparea totalmente,
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 adoo da tcnica digital constitui uma evoluo no campo da transmisso de dados
e isto considerando duas principais vantagens:
as taxas de erro de transmisso digital so muito inferiores quelas da transmisso
analgica. Na transmisso analgica, os amplificadores utilizados para compensao
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.
Um outro ponto a favor da transmisso digital so as constantes quedas nos preos dos
componentes digitais, o que conduz a sistemas de transmisso digital to baratos quanto seus
equivalentes para transmisso analgica. Uma das tcnicas mais utilizadas em transmisso
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
transmitida representada por variaes contnuas de amplitude ou freqncia entre extremos
pr-definidos, como por exemplo, entre -10V e +10V, entre 0 mA e 20 mA ou entre 4 mA e
20 mA (nveis usados em comunicao de dados para sensores e atuadores na indstria). Os
sinais transmitidos pelo sistema telefnico so sinais sinusoidais, com faixa de freqncia
entre 300 e 3400 Hertz, limitada graas adio de filtros.
A conexo de um assinante a um centro de conexo implementada normalmente na
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

Na transmisso digital existem diferentes formas de codificar os sinais lgicos 0 e 1.


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

Uma forma possvel de representao dos sinais 0 e 1 a codificao binria, que usa
um sinal do tipo "on-off", como mostrado na figura 2.3.5(a). Aqui, o sinal lgico 1
representado por uma tenso positiva (por exemplo, +5V) enquanto o nvel 0 representado
por 0V (sinal ativo alto). Outra opo a codificao bipolar, que representa o sinal lgico 1
por uma tenso positiva (por exemplo, +12V) e o sinal lgico 0 por uma tenso negativa (por
exemplo, -12V). possvel tambm definir os sinais de forma oposta, isto , uma tenso
negativa ou nula para o sinal lgico 1 e uma tenso positiva para o 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, uma tenso entre +3 e +12V considerada como representando o sinal
lgico 1 (ou 0), enquanto uma tenso entre -3 e -12V aceita como lgico 0 (ou 1). 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,
usualmente com uma freqncia compreendida entre 1 e 2 MHz. A modulao de amplitude
consiste em modificar a amplitude do sinal da portadora com as informaes digitais a
transmitir. Por exemplo, um valor da amplitude atribudo informao binria 0 e outro 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
para indicar os valores binrios 0 e 1. Esta forma de modulao denominada transmisso em
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

V2

(a)
V1

(b)

(c)

38

Figura 2.3.5 - (a) Sinal digital; (b) Sinal modulado em amplitude (ASK); (c) Sinal modulado
em freqncia (FSK).
O equipamento capaz de tratar um fluxo de informaes binrias num sinal modulado,
ou reconstitu-lo a partir do sinal modulado o modem (modulador-demodulador). O modem
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
amostragem deve ocorrer o mais prximo possvel do centro do sinal, uma vez que a transio
de uma tenso (ou freqncia) que representa o sinal 0 para outra que representa o sinal 1
leva, na prtica, um tempo diferente de zero. Para tal, necessrio conhecer o tempo mdio de
durao de cada sinal 0 ou 1, que depende da freqncia de transmisso adotada e
denominado "tempo bit", identificar o flanco de transio de 0 para 1 ou de 1 para 0 e ler o
valor da tenso aps metade do tempo bit, isto , no centro do intervalo, como ilustrado na
figura 2.3.6.
tempo bit

instante de amostragem

0
tempo de subida

tempo de descida

Figura 2.3.6 - Tempo bit e amostragem de sinal


Na transmisso sncrona, um sinal de temporizao ("clock") enviado por meio de
um par separado de fios e define os momentos corretos de amostragem no receptor. O
inconveniente est justamente na necessidade de adotar um segundo par de condutores, 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
sincronizao a nvel de bits se faz necessria para a determinao do momento de amostrar o
sinal. J que aqui no h um sinal separado de sincronizao, necessrio garantir que o trem

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 em conjunto
com a 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
presena de transies mesmo que o sinal contenha uma longa seqncia de sinais lgicos 0
ou 1 seguidos (e que normalmente no apresentariam transies em uma codificao bipolar
simples). A amostragem feita no meio do tempo bit, contado a partir da deteco da
transio (logicamente tanto o emissor quanto o receptor devem usar o mesmo tempo bit, isto
, devem operar na mesma freqncia).
1

+12V
0V
-12V

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 uma transio entre
uma tenso negativa e uma positiva (figura 2.3.8(b)). A forma resultante de um trem de sinais
exemplificada na figura 2.3.8(c). Da mesma forma que na tcnica anterior, isto garante a
presena de transies suficientes para a sincronizao do sinal. Neste caso, a amostragem do
sinal feita na segunda metade do tempo bit.

40

tempo bit
+12V
Lgico 1

(a)
-12V
tempo bit
+12V

Lgico 0

(b)
-12V
1

(c)

trem de sinais

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
ocorrncia de uma transio no inicio do tempo bit indica a presena de um zero no trem de
sinais, conforme ilustrado na figura 2.3.9. Se no houver transio (flanco) no inicio, o sinal
interpretado como lgico 1, independente do valor de tenso lido. Note que o sinal lgico 1
tambm possui uma transio, porm esta fica no meio do intervalo de sinalizao e no no
inicio.
1

tempo bit

Figura 2.3.9 - Codificao NRZI (Manchester Diferencial)


e) Multiplexao
A multiplexao um mecanismo 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.
Um exemplo de aplicao desta tcnica consiste na transmisso de ondas de rdio 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
tcnica pode ser usada em redes para a transmisso simultnea de vrios sinais sobre o mesmo
guia fsico (broadband).
A tcnica TDM consiste em permitir o compartilhamento da capacidade de
transmisso do suporte de comunicao entre as diversas estaes durante um curto espao de
tempo (isto , cada estao dispe do meio s para si durante um intervalo de tempo). Esta
tcnica bastante utilizada em telecomunicaes, particularmente, na telefonia, onde, a cada
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 bem conhecidos de interfaces padronizadas para esta camada so: RS-232C, RS-422, RS-423 e RS-485, definidas pela EIA (Electronics Industries Association).
As interfaces RS-232-C, RS-422 e RS-423 permitem somente a ligao ponto-a-ponto
entre dois elementos de comunicao, suportando assim redes com topologias em estrela,
anel, rvore ou malha. Enquanto a RS-232-C opera com sinais refereciados a terra, o que os
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.
Em funo de sua grande aceitao nos meios industriais, a interface RS-232-C ser
apresentada com um pouco mais de detalhes aqui. A EIA define dois elementos envolvidos
42

numa comunicao, o DTE (Data Terminal Equipment) e o DCE (Data Circuit-Terminating


Equipment).
O conector adotado nesta interface possui 25 pinos (DB25), de forma trapezoidal,
correspondendo norma ISO-2110. Os pinos superiores, em nmero de treze, so numerados
de 1 a 13 da esquerda para a direita, os pinos inferiores so numerados de 14 a 25, tambm da
esquerda para a direita. Alguns equipamentos mais recentes utilizam um conector com apenas
9 pinos (DB9).
No que diz respeito s especificaes eltricas, uma tenso negativa inferior a -3 volts
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
de aproximadamente 20 Kbit/s num cabo de comprimento no superior a 15 metros. 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
sinais envolvidos numa comunicao com auxlio da figura 2.3.10, que permite representar 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 mantm o sinal DSR (Data Set Ready),
pino 6, tambm a 1. Uma vez que o DCE (um modem, por exemplo) detecta a presena da
portadora na linha, ele previne o DTE (o computador) colocando o sinal 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 modem dada atravs do
sinal CTS (Clear To Send), pino 5, o que significa que o DTE pode iniciar a transmisso. Os
dados so ento enviados pela linha TD (Transmitted Data), pino 2. No caso de uma
transmisso em duplex, o DTE pode receber os dados, de forma simultnea ao envio, atravs
da linha RD (Received Data), pino 3. O pino 2 do DCE deve ser ligado ao pino 3 do DTE e
vice-versa.
terra de proteo (1)
TD - transmisso de dados (2)
RD - recepo dos dados (3)
RTS - pedido de envio (4)
Computador
ou
Terminal
(DTE)

Modem
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)

43

(DCE)

Figura 2.3.10 - Sinais tpicos da interface RS-232-C.


A ligao mais simples entre dois 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 um equipamento deve estar ligado ao RD do outro,
conforme ilustrado na figura 2.3.11.

2 (TD)

2 (TD)

3 (RD)

3 (RD)

Equip. A

Equip. B

Figura 2.3.11 - Conexo mnima via RS-232-C


2.3.3. A CAMADA DE ENLACE DE DADOS
A camada de Enlace de Dados tem por funo oferecer um caminho para o transporte
das informaes entre entidades da Camada de Rede, que ser estudada na parte seguinte do
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 de deteco e correo de erros a serem implantados, uma vez que as
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 de difuso a camada de enlace de dados usualmente decomposta em duas


subcamadas, conforme proposta da IEEE:

Subcamada de Controle de Acesso ao Meio (MAC - Medium Access Control),


responsvel pelo acesso ordenado e compartilhado do canal de comunicao (no caso,
um barramento);
Subcamada de Controle Lgico de Enlace (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 de vista da programao distribuda, o meio de transmisso 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 de acesso ao meio em duas principais classes: os protocolos determinsticos e os
no determinsticos.
Os protocolos de acesso determinsticos so caracterizados pela concesso do direito
ao acesso independentemente das necessidades de transmisso de cada n da estao. Dentre
os protocolos conhecidos desta classe, podemos destacar o protocolo TDMA (Time Division
Multiple Access), onde o acesso dado a cada estao considerando faixas de tempo bem
definidas. Este mtodo apresenta um baixo desempenho, uma vez que muito tempo pode ser
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
estao da rede. Ao receber a ficha, uma estao que no tenha mensagens a transmitir repassa
a ficha estao seguinte na lista de estaes compondo a rede. Vamos analisar alguns destes
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
rede local. Um exemplo desta classe so os protocolos de tipo 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.
Um primeiro exemplo deste protocolo o CSMA 1-persistente (CSMA - Carrier Sense
Multiple Access ou Acesso Mltiplo por Deteco de Portadora). Neste protocolo, quando
uma estao est pronta a enviar um quadro de dados, ela escuta o que est ocorrendo no
suporte de transmisso. No caso em que o canal j est sendo ocupado por alguma estao, 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 um quadro. O mtodo chamado
"1"-persistente porque, quando a linha esta livre, a estao enviar os dados com 100% de
probabilidade. Aps a transmisso dos dados, e estao emissora espera uma resposta
(chamada quadro de reconhecimento) da estao receptora, indicando a correta recepo dos
dados.
Se uma outra estao estava a espera de uma oportunidade de enviar dados ao mesmo
tempo que a primeira, pode ocorrer que ambas detectem o meio como estando livre ao mesmo
tempo. Neste caso, ambas iro enviar seus dados simultaneamente, de forma que o sinal no
barramento ser uma "mistura" ininteligvel das duas mensagens. Esta condio recebe o
nome de "Coliso". Na ocorrncia de uma coliso, a estao receptora no envia o quadro de
reconhecimento esperado e a estao emissora tenta a emisso novamente aps um
determinado tempo.
O protocolo CSMA 1-persistente altamente influenciado pelo tempo de propagao
dos quadros no suporte de transmisso. Isto ilustrado pelo exemplo de duas estaes A e B
querendo emitir um quadro. Vamos supor que A detecta o meio livre e emite um quadro; em
seguida, B vai escutar o meio para ver o seu estado; se o atraso de propagao do quadro
emitido por A tal que o sinal ainda no pode ser detectado a nvel da estao 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 sejam muito grandes, as colises podem
ocorrer mesmo se o tempo de propagao considerado nulo. Vamos supor agora as estaes
A e B com quadros a transmitir, mas que uma terceira estao, C est utilizando o meio. Neste
caso, as duas estaes vo aguardar a liberao do meio e, quando este estiver liberado, ambas
vo emitir seus quadros, caracterizando a coliso.
Outro exemplo de protocolo CSMA o CSMA no persistente. Segundo este
protocolo, as estaes comportam-se de maneira menos "afoita" para o envio de mensagens.
Assim, uma estao que deseje emitir um quadro vai escutar o suporte de transmisso para
verificar se este est disponvel. Em caso positivo, o quadro ser transmitido. Caso contrrio,
ao invs de ficar escutando espera da liberao do canal, ele vai esperar um perodo de
tempo aleatrio e, aps a expirao deste, vai escutar o canal novamente para verificar a sua
liberao (ou no). Este protocolo permite reduzir as possibilidades de ocorrncia de colises,
embora ele introduza um maior atraso de emisso a nvel das estaes que o protocolo
persistente.
O CSMA p-persistente mais um exemplo 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
quadro igual a p. A probabilidade de que esta aguarde o prximo intervalo de tempo igual

46

a q = 1 - p; se, no incio do segundo intervalo de tempo, o canal est disponvel, as


probabilidades de envio ou de espera continuam as 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 at aqui, embora apresentando aspectos interessantes, podem
ser melhorados considerando-se que cada estao poderia detectar, antes da emisso, o estado
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
originalmente pelos criadores da rede Ethernet). Neste protocolo, quando mais de uma estao
esta pronta para emitir uma mensagem com o meio livre, estas emitem o quadro, o que vai
gerar uma coliso. A primeira estao que detectar a coliso interrompe imediatamente a sua
transmisso, reiniciando o processo todo aps a expirao de um perodo de tempo aleatrio,
de forma a tornar improvvel a ocorrncia de uma nova coliso (figura 2.3.3.1). Para detectar
a coliso, a estao emissora deve escutar aquilo que ela mesma colocou no meio (ao menos a
primeira palavra de cdigo enviada deve ser escutada pela prpria estao emissora).
emissor

emissor
receptor

emissor

Figura 2.3.3.1 - Mtodo de acesso CSMA/CD


Para melhor entender o mecanismo deste protocolo, vamos analisar o caso em que
duas estaes iniciem uma transmisso num instante 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

Isto significa, em uma primeira anlise que, se uma estao que emitiu um quadro no
detecta uma coliso num perodo de tempo igual ao tempo de propagao do sinal ao longo do
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 um sinal entre duas estaes, as mais distantes uma da outra. Consideremos
que em t0 uma estao emite um quadro. Vamos supor que em t - e , pouco antes que o sinal
tenha chegado, outra estao efetue uma transmisso. Ela vai detectar, imediatamente a
coliso e interromper a sua emisso. Por outro lado, a perturbao ocasionada pela coliso no
vai poder ser detectada pela primeira estao que emitiu o quadro antes de um perodo 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
protocolo CSMA/CD, uma estao emite uma palavra de dados, espera por um tempo 2t e, se
no detectar nenhuma coliso, considera que a nica a usar o meio naquele momento e passa
a enviar o restante dos dados.
O mtodo CSMA/CD propicia uma grande otimizao no uso do meio em relao aos
protocolos anteriores, pois a ocorrncia de uma coliso detectada logo na primeira palavra e
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 forma que o tempo de reao aumenta consideravelmente e
no pode ser exatamente determinado. Em funo deste comportamento, mtodos de acesso
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
detentora do direito de transmisso (Mestre). O direito de acesso ao meio fsico distribudo
por tempo limitado pela estao mestre as demais (Escravas). Aqui todas as trocas de dados
ocorrem apenas entre mestre e escravos (figura 2.3.3.2). Esta configurao deixa o sistema

48

dependente da estao central, mas a configurao usual dos sistemas de controle na maioria
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 com comando distribudo permitem a definio de mais de uma estao
com direito de acesso ao meio fsico. Este direito de acesso (chamado "Token") transmitido
ciclicamente entre as vrias estaes, que podem livremente trocar dados entre si (figura
2.3.3.3). Este sistema , no entanto, bem mais complexo do que o Mestre-Escravos, j que
providncias especiais tem que ser tomadas no caso da perda do token ou da entrada ou sada
de uma das estaes da rede. Este mtodo mais adequado para sistemas nos quais diversas
unidades independentes desejam trocar livremente informaes entre si. Neste mtodo,
possvel determinar um tempo mximo entre duas oportunidades consecutivas de transmisso
para cada estao.
receptor

token

emissor

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 subcamada LLC da camada de Enlace de Dados 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 mquina destinatria sem recepo de reconhecimento da informao 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 um rudo, 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
prevista nas camadas superiores. Eles podem ser empregados em algumas aplicaes temporeal e em redes locais.
A segunda classe de servios, embora ainda no defina o estabelecimento prvio de
conexo, prev a existncia de quadros de reconhecimento, de modo que a mquina fonte ser
notificada pela mquina destinatria da recepo do quadro previamente enviado. Um
mecanismo que pode ser implantado no caso de perda do quadro o que corresponde no
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 terceira classe de servios a mais sofisticada, uma vez que ela define a necessidade
do estabelecimento prvio de conexo e a liberao destas ao final do dilogo. Neste caso,
cada quadro enviado numerado e a camada de Enlace garante que cada quadro enviado ser
recebido, uma nica vez, e que o conjunto de quadros enviados ser recebido ordenado da
mesma forma que foi enviado. Esta classe de servios oferece camada de Rede um canal 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 de seqncia
de quadros;
a etapa de transmisso de dados, durante a qual so realizadas todas as trocas de
informao correspondentes ao dilogo entre duas mquinas;
a etapa de liberao da conexo, que caracteriza o fim do dilogo e na qual todas as
variveis e outros recursos alocados conexo sero novamente disponveis.

50

A comunicao entre as camadas de Rede e de Enlace feita atravs de primitivas 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 o modo de utilizao das primitivas mostrado na figura 2.3.3.4. Neste esquema,
representa-se nas extremidades a camada de Rede, caracterizada pelos dois sistemas
envolvidos no dilogo (no caso, A e B, que so as entidades pares) e no centro as camadas 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 enlace

camada de rede

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
Para que o servio seja oferecido camada de Rede, a camada de Enlace utiliza-se dos
servios fornecidos pela camada Fsica que, como j foi descrito na parte precedente,
responsvel da transmisso de bits de um ponto a outro na rede de comunicao, sendo que o
conjunto de bits transmitido pode sofrer distores produzindo erros de transmisso. Uma
conseqncia tpica pode ser que o nmero de bits recebidos seja inferior ao nmero de bits
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
adicionados cdigos especiais de controle de erro. Desta forma, o receptor pode verificar se o
cdigo enviado no contexto de um quadro indica ou no a ocorrncia de erros de transmisso
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 poltica a adotar pode ser, por exemplo, a contagem de caracteres. Nesta poltica,
introduzido um caracter especial que indica o nmero de caracteres compondo o quadro.
Deste modo, a nvel da camada de Enlace do receptor, basta que a entidade leia este caracter e
em seguida conte o nmero de caracteres para definir o tamanho do quadro. O inconveniente
desta tcnica, no entanto, que o caracter que define o tamanho do quadro pode ser 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.
Uma tcnica melhor, que apresenta uma soluo a este problema, consiste na adio de
seqncias especiais de caracteres de modo a representar o incio e fim da transmisso de um
quadro.
contadores de caracteres

(a)

quadro1 (5 car.)

quadro2 (5 car.)

erro

(b)

quadro3 (8 car.)
contador de caracteres

Figura 2.3.3.5 - Seqncia de caracteres: (a) sem erro; (b) com erro.
A figura 2.3.3.6 ilustra um caso relativo a esta tcnica, onde a seqncia de caracteres
DLE (Data Link Escape) e STX (Start of TeXt) inserida para representar o incio de um
quadro e a seqncia DLE e ETX (End of TeXt) para representar o fim do quadro. Esta tcnica
apresenta, ainda, um ponto 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, de um caracter DLE adicional a cada vez que, em uma seqncia de bits da parte de
dados, aparecer um byte que coincidir com um caracter DLE. Desta forma, basta entidade de
dados receptora eliminar os caracteres DLE dos dados antes de emiti-los camada de Rede.
Isto vai permitir ento, s entidades receptoras de Enlace, fazer a distino entre as seqncias
delimitadoras de quadro (DLE-STX e DLE-ETX) das seqncias acidentais nos dados. Os
caracteres DLE introduzidos a nvel dos dados so denominados caracteres de transparncia.
Esta tcnica de delimitao de quadros utilizada em protocolos simples de comunicao
serial orientados caracter.

52

(a)

DLE STX

DLE

(b)

DLE STX

DLE DLE

DLE ETX

DLE ETX

Figura 2.3.3.6 - (a) Dados enviados pela camada de Rede com seqncias de delimitao; (b)
idem, com introduo dos caracteres de transparncia.
Uma tcnica muito utilizada e definida mais particularmente para a utilizao em redes
de comunicao aquela em que os quadros so delimitados por uma seqncia de bits
particular, mas desta vez dissociados da codificao de caracteres. 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 a nvel da parte de dados para evitar a confuso, por
parte do receptor, com os delimitadores de quadro (esta tcnica tambm conhecida como
"bit-stuffing"). Assim, no receptor, a cada vez que 5 bits 1 consecutivos so detectados na
parte de dados, um bit 0 adicionado aps a seqncia. Do lado do receptor, a cada vez que
ocorrer uma seqncia de 5 bits 1 consecutivos de dados seguidos de um bit 0, este ltimo
ser eliminado da parte de dados. A figura 2.3.3.7 ilustra a aplicao desta tcnica. Em 2.3.3.7
(a) so apresentados os dados originais e, em 2.3.3.7(b), os mesmos dados com a introduo
dos bits de transparncia.
(a)

(b)

1 0

bit de transparncia

Figura 2.3.3.7 - (a) dados originais; (b) dados com adio do bit de transparncia
2.3.3.3.

O controle de erros

Os erros que podem ocorrer sobre os suportes de transmisso tem como causas os mais
diversos fenmenos fsicos, como por exemplo, o rudo trmico, provocado pela agitao dos
eltrons nos cabos de cobre. Outro fenmeno importante so os rudos impulsivos causados
pelo chaveamento de rels ou outros dispositivos eletromecnicos.
Verifica-se entretanto que, independentemente do fenmeno causador de erro, estes
tendem a gerar normalmente verdadeiros pacotes de erros (error bursts) e no erros simples.

53

Isto pode ter um aspecto positivo, uma vez que, num conjunto relativamente grande de bits,
um menor nmero de pacotes vai conter erros. Por outro lado, os erros agrupados em pacotes
so mais difceis de modelizar e de detectar.
O controle de erros de transmisso uma das funes mais importantes asseguradas
pela camada de enlace (usualmente implementado na subcamada LLC).
Os protocolos de controle de erro so caracterizados, em geral, pela definio de um
quadro de controle, correspondente a um reconhecimento positivo ou negativo. Caso a
entidade emissora receba um reconhecimento positivo de um quadro previamente enviado, 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
emissora corre o risco de esperar indefinidamente pelo reconhecimento. I isto evitado pela
adio de temporizadores, estabelecendo assim um tempo mximo de espera pelo
reconhecimento, antes da retransmisso (time-out). O tempo de espera deve ser 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 a retransmisso do quadro. Neste caso, possvel que o quadro
seja aceito mais de uma vez pela camada de Enlace e transmitido camada de Rede, causando
uma duplicao de quadros. Para evitar este problema, deve-se introduzir um mecanismo de
distino dos quadros a fim de que o receptor possa separar os quadros duplicados de seus
originais.
Existem praticamente duas tcnicas para o tratamento de erros. A primeira consiste na
introduo, a nvel dos quadros, de informaes suficientemente redundantes que permitam ao
receptor reconstituir os dados enviados a partir da informao recebida. A segunda tcnica
consiste em adicionar unicamente um conjunto de informaes redundantes o suficiente para
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.
Uma palavra de cdigo de comprimento igual a n bits composta de um nmero m de
bits de dados e um nmero r de bits de controle (n = m + r). Dadas duas palavras de cdigo,
por exemplo, 10001001 e 10110001, possvel determinar de quantos bits elas diferem (no
caso do exemplo, elas diferem de 3 bits). Isto pode ser feito efetuando um ou exclusivo
entre as duas palavras e contando o nmero de bits "1" do resultado. A este nmero dado o
nome de Distncia de Hamming. Se a distncia de Hamming entre duas 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 2m valores diferentes. Devido


forma com que os r bits de controle so calculados, nem todos os 2n valores possveis para a
palavra de cdigo so efetivamente utilizados. Sendo conhecida a tcnica de clculo dos bits
de controle, possvel fazer uma lista de todas as palavras de cdigo vlidas. Pode-se agora
verificar entre as palavras desta lista quais as que apresentam a menor distncia de Hamming.
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 dever ser de 2d + 1. Neste caso, mesmo que d erros simples ocorram, a palavra de
cdigo continua ainda mais prxima da palavra transmitida.
Assim, fica claro que um cdigo 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 ou quando impossvel
ou indesejvel requisitar a retransmisso de um quadro.
Um exemplo extremamente simplificado de cdigo corretor de erros pode ser visto a
seguir, sendo este composto de apenas 4 palavras de cdigo: 0000000000, 0000011111,
1111100000 e 1111111111.
Este cdigo apresenta uma distncia de Hamming de 5, o que significa que ele pode
corrigir at 2 erros em cada palavra de cdigo. Se o receptor detecta uma palavra de cdigo
igual a 0000000111, ele capaz de reconhecer a palavra original como sendo 0000011111,
pois esta a palavra vlida mais prxima da recebida. Por outro lado, se um erro triplo ocorre,
modificando, por exemplo, a palavra 0000000000 em 0000000111, o receptor ser incapaz de
corrigi-lo.
Um cdigo corretor de erros bastante usado na prtica foi proposto pelo prprio
Hamming em 1950. Este cdigo s pode corrigir erros simples, de 1 bit. Nele, o nmero
mnimo de bits de controle dado por (m + r + 1) 1 2r, onde m o nmero de bits de dados e
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 da esquerda). Todos os bits que so potncias de 2 (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

b its d e c o n tr

10

11

b its d e d a d o s

Figura 2.3.3.8 - Palavra de cdigo de 11 bits, com 7 bits de dados e 4 de controle


Um determinado bit de dados k tem sua paridade controlada pelos bits de controle que
fazem parte da expanso de k em potncias de 2 (isto , cuja soma igual a k). Por exemplo, o
bit de dados 3 controlado pelos bits 1 e 2, o bit 5 pelos bits 1 e 4, o bit 6 pelos bits 2 e 4, o
bit 11 pelos bits 1, 2 e 8, etc.
Os bits de controle so calculados de forma que um OU-exclusivo (XOR) entre eles 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 uma palavra de cdigo recebida, a unidade receptora inicializa um contador
em zero. Em seguida, a paridade de cada bit de controle verificada. Se uma delas no estiver
correta, o nmero do bit de controle onde o erro foi detectado adicionado ao contador. Se o
contador estiver em zero no final do processo, assume-se que no houve erro (ou, ao menos,
nada foi detectado). Se o contador no estiver em zero, 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 de bits de controle 4. As palavras de cdigo a transmitir so mostradas na
tabela abaixo:
Caracter

Cdigo ASCII

Cdigo de Hamming

H
a
m
m
i
n
g

1001000
1100001
1101101
1101101
1101001
1101110
1100111
0100000

00110010000
10111001001
11101010101
11101010101
01101011001
01101010110
11111001111
10011000000
56

c
o
d
e

1100011
1101111
1100100
1100101

11111000011
00101011111
11111001100
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 na adio de 1 bit de paridade cada palavra de cdigo enviada, obtido por meio de
um OU-exclusivo (XOR) dos bits que compem a palavra. Por exemplo: para a seqncia
00100110, o bit de paridade vale 1 (0 xor 0 xor 1 xor 0 xor 0 xor 1 xor 1 xor 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
resultado obtido com o ltimo bit enviado (que o bit de paridade calculado pelo emissor); se
houver diferena, houve erro de transmisso (isto , algum bit foi distorcido). No entanto, se
um nmero par de bits foi distorcido, o mtodo no capaz de detectar o erro. Assim, o bit de
paridade permite detectar unicamente erros simples.
Uma variante melhorada deste mtodo a paridade longitudinal, conhecida como BSC
(Block Sum Check), usada para o conjunto de palavras de cdigo que compem um quadro.
Aqui, alm de acrescentar um bit de paridade para cada palavra, calculada uma palavra
completa adicional, da forma mostrada no exemplo seguinte:
caracter
R
E
D
E
BSC

ASCII
52H
45H
44H
45H

binrio
01010010
01000101
01000100
01000101
00010110

bit paridade
1
1
0
1
1

A palavra BSC enviada no final do quadro, aps as palavras que fazem parte dos
dados a enviar. O receptor, a exemplo da tcnica de paridade simples, calcula o BSC dos
dados a medida que so recebidos e compara o resultado com a ltima palavra enviada (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 em protocolos 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 um cdigo polinomial, tambm denominado 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, um bloco de k bits visto como uma srie de coeficientes de um polinmio de k
termos, indo de xk-1 a x0. Por exemplo, a palavra 110001 contm 6 bits e representa o
polinmio x5 + x4 + 1 (coeficientes contados da direita para a esquerda).
A utilizao de cdigos de deteco polinomiais baseada na escolha de um cdigo
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 ordem e de mais baixa ordem do polinmio)
sejam de valor 1. A tcnica consiste em adicionar a um bloco de dados (caracterizando um
polinmio M(x)) um conjunto de bits de controle de modo que o quadro (dados + bits de
controle) seja divisvel por G(x). Na recepo, a entidade de Enlace efetua a diviso 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
r
mensagem a enviar, obtendo o polinmio x .M(x) ;
r
executar a diviso em mdulo-2 do polinmio resultante x .M(x) por G(x);
r
Subtrai em mdulo-2 o resto da diviso acima do polinmio x .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 = x4+x3+1
O Frame com acrscimo do zeros fica: xr.M(x) = 11100110 0000
r
A diviso do polinmio x .M(x) por G(x) ilustrada a seguir:

1
1

1
1

1
0

0
0

1
0
1

0
0
0

1
0
1
1
0

0
0
0
1
1
1

1
0
1
0
1
1

0
1
0
1
0

1
1
0
0

0
1

58

0
1

1
1

1
0

0
0

1
0

1
0

0
0

0
0

0
1
1

0
0
1

0
1
0

1
1
0

1
1
0
0

0
0
0

0
1

0
1
0
0
1

0
1
1
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
dado por xr.M(x) - R(x) = 11100110 0110 (que corresponde ao frame original acrescido dos 4
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
=
x12 + x11 + x3 + x2 + x1 + 1
CRC-16
=
x16 + x15 + x2 + 1
CRC-CCITT =
x16 + x12 + x5 + 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

Esta ltima tcnica bem mais eficiente que as anteriores, apesar de no ser infalvel
(nenhuma delas ). Observe que os cdigos detetores de erro no corrigem as palavras erradas
recebidas. Eles permitem apenas detectar a ocorrncia do erro e o computador que recebe os
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 ao controle de erros, que a funo mais importante a ser efetuada pela camada
59

de Enlace. A ordem de apresentao destes protocolos segue uma ordem de complexidade que
vai crescendo em funo de novas hipteses que levantaremos ao longo da anlise. Nesta
anlise, vamos considerar a comunicao entre entidades de comunicao situados em dois
sistemas distantes, denominados aqui A e B.
No primeiro caso, vamos supor que o suporte de comunicao utilizado permite uma
comunicao unidirecional apenas e que as camadas de Rede dos sistemas A e B esto sempre
prontas a enviar e receber dados, respectivamente. Ainda, neste caso, o canal de comunicao
perfeito, ou seja, nenhum quadro 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 entre as entidades localizadas nos sistemas A e B. Esta troca realizada numa nica
direo (de A para B), sem a ocorrncia de perdas dada a considerao de que o canal de
comunicao perfeito.
O segundo caso, indo do imaginrio ao mais realista, leva em conta o fato de que a
camada de Rede do sistema receptor no tem capacidade de tratar os dados com a mesma
velocidade em que eles so gerados pela camada de Rede emissora. Por outro lado, a hiptese
de que o canal perfeito e que os dados circulam numa nica direo ainda verdadeira.
O problema que se coloca, neste caso, o de impedir que o emissor envie os quadros
numa velocidade superior quela que o receptor pode consumi-los (trat-los e retransmiti-los).
Uma forma de faz-lo estabelecer um mecanismo de temporizao do lado do emissor de
modo a provocar um pequeno espao de espera pelo tratamento do dado previamente enviado
antes do envio do seguinte. Esta soluo no , evidentemente, a melhor, uma vez que uma
m escolha do limite de espera pode conduzir a atrasos indesejveis na comunicao.
A

B
dados

dados

.
.
.
dados

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 que sero enviados pelo receptor, aps o tratamento do dado recebido, para
informar ao emissor que ele pode enviar o quadro de dados seguinte. Isto significa que, apesar
da comunicao ser considerada unidirecional, o canal conectando as duas camadas de Enlace
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.
O terceiro caso a ser analisado aqui torna-se muito mais prximo do real, uma vez que
consideraremos aqui a hiptese (nem to hipottica assim!) de que os dados possam chegar
outra extremidade do canal corrompidos ou que estes sejam perdidos 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.
A

B
dados
reconhecimento
dados
reconhecimento
dados

Figura 2.3.3.10 - Protocolo envia-espera.


Uma primeira soluo aquela em que o receptor emite um quadro de reconhecimento
somente no caso em que o quadro de dados recebido esteja correto. Do lado do receptor,
estabelecido um mecanismo de temporizao que disparado aps o envio de cada quadro de
dados. Se aps a expirao da temporizao, um quadro de reconhecimento no recebido, o
emissor considera que o quadro de dados foi perdido ou que foi recebido incorretamente e o
retransmite. A operao repetida pelo nmero de vezes que sejam necessrias para que um
quadro de reconhecimento seja, enfim recebido de B (figura 2.3.3.11).

61

B
dado1
reconhecimento
dado2

dado2
reconhecimento

tem porizao interrom pida


tem porizao esgotada

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 corretamente o dado e enviar o quadro de reconhecimento e este ltimo for perdido no
canal de comunicao, a entidade emissora, aps a expirao da temporizao, 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 um campo
contendo um nmero de seqncia (um bit, no caso) do quadro de modo a permitir esta
distino. Se uma entidade receptora recebe sucessivamente dois 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, que este foi recebido corretamente pelo receptor que, por sua vez, emitiu um quadro
de reconhecimento.

62

B
dado1
perda

reconhecimento
dado1

quadro duplicado

temporizao esgotada

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 que a temporizao excessivamente curta, pode ocorrer que esta seja
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
reconhecimento daquele enviado inicialmente e, erroneamente, pensa que o reconhecimento
relativo quele que ele havia enviado 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 recebe um quadro 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 nesta seo, do tipo envia-espera, apesar dos problemas que
podem gerar, so bastante utilizados, principalmente devido sua relativa simplicidade de
construo. Esta classe de protocolos, alm disso, subutiliza o canal de comunicao, uma vez
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 em que o emissor pode enviar um
certo nmero de quadros de dados sem que ele tenha recebido o reconhecimento dos quadros
j emitidos. Isto vai requerer, obviamente, a implementao de um mecanismo de
reconhecimento de quadros mais completo que aquele citado no caso do protocolo anterior.
So os denominados protocolos contnuos ou de largura de janela.

63

B
dado1

reconhecimento
dado1
perda

dado2
reconhecimento

temporizao esgotada
temporizao interrompida

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 idia bsica numerar tambm os ACK. Em conseqncia da numerao dos ACK,
o emissor no precisa esperar um ACK 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 um ACK com o 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 um ACK, deleta o quadro com nmero correspondente da
lista de retransmisso. Este procedimento ilustrado na figura 2.3.3.14.
lista de
retransmisso

N+1

N
E

N
I(N)

N+2

N+3

N+4

N+1

N+2

N+3

N+4

N+1

N+2

N+3

I(N+1)

I(N)

A(N)

I(N)

I(N+3)

I(N+2)

A(N+1)

I(N+1)

N
lista de
recepo

I(N+2)

I(N+1)

I(N+4)

I(N+3)

A(N+2)

I(N+2)

I(N+4)

A(N+3)

I(N+3)

tempo

I(N+4)

N+1

N+1

N+1

N+1

N+1

N+1

N+1

N+1

N+1
N+1

Figura 2.3.3.14 - Protocolo de janela deslizante

64

O Exemplo visto assume que no ocorrem erros. Duas estratgias podem ser adotadas
em caso de erros:
Retransmisso seletiva: emissor retransmite somente quadros cujos ACK no foram
recebidos aps time-out. Receptor tem que manter buffer com n (largura de janela)
grande...
Retorna-N (Go-Back-N): quando o receptor recebe um quadro 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) uma famlia de protocolos orientados ao bit,
resultado do esforo realizado pela ISO para a padronizao da camada de enlace. O HDLC
foi definido pela ISO a partir do protocolo SDLC (Synchronous Data Link 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 Response Mode): define uma estao mestra e vrias escravas com
topologia em barramento;
ABM (Asynchronous Balanced Mode): operao multimestre para topologia pontoa-ponto.
A forma de operao mais comum para a maioria das aplicaes de HDLC a
utilizao do modo NRM (mestre / escravos).
Um quadro HDLC apresenta a estrutura conforme mostrado na figura 2.3.3.15, cujos
campos sero descritos a seguir. Os campos flag correspondem seqncia 01111110, que
permite delimitar o quadro. Todos os quadros HDLC iniciam e terminam com esta seqncia.
No caso de envio de quadros consecutivos, um mesmo flag pode marcar o fim de um quadro e
o incio de outro. O campo endereo, de 8 bits, permite identificar a estao destinatria do
quadro (no caso de comando) ou fonte (no caso de resposta). O campo controle permite
identificar a funo do quadro, assim como especificar os nmeros de seqncia. A figura
2.3.3.16 mostra a configurao dos bits compondo este campo. O campo informao aquele
que contm os dados a serem transferidos via camada de Enlace. O campo FCS (Frame Check
Sequence) contm a seqncia de deteco de erros utilizada. Esta seqncia calculada sobre
os campos endereo, controle e informao, utilizando como polinmio gerador a
combinao x16 + x12 + x5 + 1 (CRC-CCITT).
Um quadro de enlace considerado 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 pelo campo de controle, como mostra a figura 2.3.3.15. Os bits 1 e
2 deste campo permitem identificar o tipo de quadro: se bit 1 = 0 indica um quadro de
informao; se bit 1 = 1, pode identificar tanto um quadro de superviso (bit 2 = 0) ou um
quadro no numerado (bit 2 = 1). Os quadros de superviso so utilizados principalmente
para controle de fluxo (indicar se receptor est pronto ou no para receber dados, rejeio de
quadros com defeito, quadro de reconhecimento), enquanto os quadros no numerados so
usados principalmente para o estabelecimento e o trmino de conexes.

8 bits
flag

8 bits

8 bits

endereo

16 bits

***

controle

informao

8 bits

FCS

flag

Figura 2.3.3.15 - Estrutura de um quadro HDLC.

bits

informao

superviso

no numerado

P/F

N(r)

P/F

N(r)

P/F

N(s)

Figura 2.3.3.16 - Campo controle dos quadros HDLC.


O campo N(s) permite definir o nmero de seqncia do quadro e o campo N(r) para o
reconhecimento de quadros (indica o nmero do prximo quadro esperado) N(s) e N(r)
correspondem, de fato, aos campos seq e ack mostrados anteriormente. O bit P/F depende do
modo de operao do protocolo. No primeiro modo de operao, resposta normal (NRM), o
bit P a 1 indica que a estao emissora deseja consultar uma secundria. Desta forma, o
ltimo quadro de uma seqncia de quadros de resposta enviados por uma estao secundria
conter o bit F a 1. No segundo modo, resposta assncrona e balanceada (ABM), o

66

recebimento de um quadro com o bit P a 1 indica que a estao secundria deve enviar o
prximo quadro com o bit F tambm a 1.
Os bits S so utilizados para identificar comandos de superviso, particularmente para
comandos de reconhecimento e de controle de fluxo. A tabela abaixo mostra as possveis
combinaes dos bits S e os comandos / respostas associados.
S
0
1
0

S
0
0
1

Cdigo
RR
RNR
REJ

SREJ

Comando/Resposta
Receiver Ready (Receptor Pronto)
Receiver Not Ready (Receptor No Pronto)
Reject (Rejeitado)
Selective Reject (Recusa Seletiva)

Os bits M so utilizados para identificar comandos e respostas no numeradas. Eles


permitem, nos quadros sem numerao, representar 32 diferentes comandos e respostas, entre
os quais DISC para terminar uma conexo de enlace previamente estabelecida, FRMR para
indicar a rejeio de um quadro, SNRM (Set Normal Response Mode, Connect), SABM (Set
Asynchronous Balanced Mode), UA (Unnumbered ACK), UP (Unnumbered Poll, 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:
em NRM, 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)
em ABM, operao full-duplex. Estao envia I-Frame, receptor responde
com RR (ACK), REJ (NAK) ou SREJ (NAK)
Fim conexo:
em NRM s mestre pode concluir conexo (frame DISC); escravo responde
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
largamente difundido. Estudaremos a norma IEEE 802 mais detalhadamente em um captulo
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 da subcamada LLC para a subcamada MAC solicitando o
envio de um frame de dados entre estaes;
M_DATA.confirm (status): confirmao de envio de um frame retornada
pela subcamada MAC subcamada LLC (valor local, no ACK do
receptor);
M_DATA.indication (local address, remote address, user data, service
class): indica para a subcamada LLC do receptor a chegada de um frame de
dados de uma estao remota.
Na proposta IEEE 802, a subcamada MAC opera somente com servios sem conexo e
sem reconhecimento. Os servios oferecidos pela subcamada LLC ao usurio (ou camada de
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. Esta trajetria pode significar a passagem por diversos ns intermedirios da rede,
o que significa que a camada de Rede deve ter o conhecimento de todos os aspectos
topolgicos da rede considerada e, com esta informao, ser capaz de escolher o caminho a
ser traado pelas mensagens (Roteamento). Nesta escolha, interessante que seja levado em
conta o estado corrente da rede, particularmente no que diz respeito ao trfego das mensagens,
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 de roteamento e congestionamento, sero tratados nesta parte
do documento. Os mecanismos relacionados s funes de interconexo 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

Uma das primeiras discusses realizadas no que diz respeito concepo da camada
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 defendiam a proposta de um servio sem conexo, estabeleciam que a


funo desta camada era garantir o transporte dos pacotes e nada mais que isso, as outras
funes como o controle de erro, controle de fluxo, etc, devendo ficar a cargo 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 defendia a proposta de um servio confivel, orientado
conexo, com comunicao bidirecional.
O resultado desta discusso foi a definio, a nvel do modelo OSI, de duas classes de
servio, sem conexo e orientado conexo, sendo que uma certa liberdade foi dada no
sentido de se definir a que nvel o servio com conexo seria implantado, ou mesmo se este
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.
servio orientado
conexo

servio sem
conexo

APLICAO
APRESENTAO
SESSO
TRANSPORTE
REDE
ENLACE

SAP

FSICA

Figura 2.3.24 - Ilustrao das classes de servio do modelo OSI.


Os SAPs so localizados na interface entre duas camadas, permitindo que uma camada
tenha acesso aos servios oferecidos pela camada inferior. Como se pode ver na figura 2.3.24,
da camada de Enlace para cima, os servios podem ser sem ou com conexo.
Pode-se ter, desde o nvel Aplicao, um servio totalmente orientado 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. O inverso tambm verdadeiro, embora no seja uma escolha das mais interessantes
(implantar servios sem conexo sobre redes oferecendo servios orientados conexo).
Uma conexo de Rede vista, da tica do modelo OSI, como um par de filas FIFO
(FIrst In FIrst Out), cada uma orientada num sentido, conectado entre dois NSAPs (endereos
de rede). A figura 2.3.25 ilustra o estado da conexo, considerando a adoo de um servio
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.

usurio
1

usurio
2

usurio
1

usurio
2

usurio
1

N SAPs

NSAPs

cam ada R ede

(a)

usurio
2
N SAPs

cam ada R ede

(b)

cam ada R ede

(c)

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 tabela a seguir apresenta as primitivas de servio disponveis pela camada de Rede
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 a primitiva utilizada para requisitar o estabelecimento de uma
conexo de Rede e atravs de seus parmetros deve-se indicar o endereo ao qual se deseja
conectar (calling), assim como o endereo do iniciador (called). Encontra-se, ainda, nos seus
parmetros, duas variveis booleanas que permitem requisitar servios adicionais.
O parmetro acks_wanted permite indicar o pedido de reconhecimento de pacotes. Se
a camada de Rede no permite o fornecimento de reconhecimento, o fornecedor vai colocar
esta varivel a falso na primitiva de indicao; da mesma forma, se a entidade destinatria no
pode fornecer reconhecimento, ela mesma o far (colocar acks_wanted a falso) na primitiva
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 na fila para se colocar na cabea desta. Isto permite, de certo modo, estabelecer um
nvel de prioridade entre as mensagens a nvel de Rede.
O parmetro qos (quality of service) permite determinar a qualidade do servio a ser
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, a conexo no ser estabelecida. Os valores estabelecidos neste parmetro
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, que ser refletida no receptor por uma primitiva N_DATA.indication. Caso
um pedido de reconhecimento de pacotes foi acertado entre os usurios da camada no
momento da conexo, o reconhecimento ser implementado atravs do envio, pelo receptor,
de uma primitiva N_DATA_ACKNOWLEDGE.request.
As primitivas N_RESET so utilizadas para sinalizar problemas de comunicao, tais
como o bloqueio de uma entidade de transporte envolvida na comunicao ou mesmo do
fornecedor do servio. O efeito deste servio o esvaziamento das filas de espera, 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; elas no oferecem nem controle de erros nem de fluxo. N_FACILITY o servio que
permite ao usurio obter informaes sobre as caractersticas da transmisso de informao,
por exemplo, a percentagem de pacotes distribudos.
Finalmente, a primitiva N_REPORT permite camada de Rede informar a ocorrncia
de problemas relativos ao servio de Rede, como, por exemplo, a indisponibilidade
momentnea de um determinado endereo destinatrio.
c) O endereamento de Rede
Uma funo importante desta camada o fornecimento de uma codificao espacial 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: o endereo constitudo conforme a posio de cada
entidade na hierarquia da rede, sugerindo o local onde esta se encontra. Este
esquema de endereamento usado em WANs e MANs (ex.: Internet). Esta tcnica
facilita o roteamento.
endereamento horizontal: aqui, o endereo no tem relao com localizao da
entidade na rede. Este esquema usado em LANs (ex.: padro IEEE 802). Este tipo
de tcnica facilita a reconfigurao da rede sem necessitar alterar os endereos das
estaes.
No modelo OSI, a estrutura de endereamento a nvel de Rede foi concebida de modo
a incorporar as caractersticas das diversas estruturas de endereamento existentes. Todas as
primitivas de servio de Rede utilizam o endereamento orientado aos NSAPs para identificar
a origem ou o destinatrio de um pacote. A figura 2.3.26 mostra o formato do endereo de
NSAP, que composto de trs campos:
AFI (Authority and Format Identifier), identifica o tipo de endereamento 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) indica o domnio ao qual pertence o nmero do DSP
(o terceiro campo) se o DSP um nmero de telefone, este campo indicar o
cdigo do pas;
73

DSP (Domain Specific Part) contm o 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. Durante a trajetria os pacotes sofrero uma srie de saltos, sendo que a deciso de
que caminho utilizar feita a nvel da camada de Rede. Esta deciso pode levar em conta (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. Os algoritmos no adaptativos no levam em conta a situao de trfego da rede,
fazendo o denominado roteamento esttico; j os adaptativos o fazem considerando
modificaes de topologia da rede e do trfego real.
As sees que seguem vo discutir alguns dos conjuntos de algoritmos de roteamento
existentes.
a) Algoritmo do caminho mais curto

Este algoritmo baseado numa representao da subrede na forma de um grafo, onde


os ns so os IMPs e os arcos so as linhas de comunicao. A escolha de uma trajetria ,
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...
No terceiro caso, por exemplo, os arcos so etiquetados com um valor que representa o
tempo mdio de espera entre o envio e a recepo de um pacote de teste, expedido
periodicamente.

74

Um exemplo de algoritmo do caminho mais curto aquele definido por Dijkstra, onde
cada n etiquetado pela distncia do n fonte seguindo o caminho mais curto conhecido.
Como, inicialmente, nenhum caminho conhecido, os ns so etiquetados com infinito, ou
"1". Estas vo sendo atualizadas medida que o algoritmo progride e que os caminhos vo se
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
apresentado em 2.3.27(a), onde os arcos so etiquetados com o valor da distncia entre os ns.
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,
marcando tambm, na etiqueta, o ltimo n a partir do qual o clculo foi feito. Aps a anlise
dos ns adjacentes a A, marca-se aquele contendo a etiqueta de menor 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,
mostrado em 2.3.27(c). O algoritmo vai progredindo at que o caminho mais curto seja ento
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.
B
2

E
1

E ( ,-)

F ( ,-)

H ( ,-)

G (6,A)

(b)

(a)
C (9,B)

B (2,A)

E (4,B)
F ( ,-)

D ( ,-)

F (6,E)

H ( ,-)

G (6,A)

(d)
C (9,B)

C (9,B)

B (2,A)

E (4,B)

E (4,B)
F (6,E)

D ( ,-)

H ( ,-)

G (5,E)

(c)
B (2,A)

C (9,B)

B (2,A)

E (4,B)
A

D ( ,-)

C ( ,-)

B (2,A)

D ( ,-)

F (6,E)

D ( ,-)

Final = D (10,H)
H (9,G)

G (5,E)

H (8,F)

G (5,E)

(f)

(e)

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).
O algoritmo pode tambm ser executado por uma estao encarregada de definir 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
ocorrem alteraes muito freqentes nos custos de cada linha, pois a RCC tem que receber
muitas mensagens contendo novos dados sobre custos das linhas afetadas.
b) Roteamento multicaminhos

Este algoritmo leva em conta a possibilidade de existncia de diversos caminhos entre


dois ns de valores quase equivalentes. Desta forma, o desempenho da rede pode ser
melhorado, se o trfego assumido por vrios caminhos, reduzindo assim a carga de uma
dada linha de comunicao.
Esta tcnica de roteamento implantada da seguinte forma: cada IMP mantm
atualizada uma tabela com uma linha para cada IMP da rede. Para cada IMP, tem-se as
diferentes linhas de sada para este destino, classificadas em ordem decrescente, do melhor ao
menos eficiente, com um peso relativo.
Antes do envio de um pacote, o IMP gera um nmero aleatrio para definir o caminho,
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 da figura 2.3.28(a) ilustra o desenvolvimento deste algoritmo, sendo que em
2.3.28(b) est apresentada a tabela para o IMP J. Se J recebe um pacote destinado a A, ele
pode optar por um dos trs caminhos, consultando a tabela na linha associada ao n A.
A primeira escolha o caminho direto a A, as outras sendo via I e H, respectivamente.
A deciso , ento, baseada na gerao de um nmero aleatrio entre 0,00 e 0,99. Se o nmero
inferior a 0,63, a linha A ser escolhida, se estiver entre 0,63 e 0,83, a linha passando por I
ser escolhida; seno, ser a linha que passa por H.

76

(a)

0,63

0,21

0,16

0,46

0,31

0,23

0,34

0,33

0,33

0,50

0,25

0,25

0,40

0,40

0,20

0,34

0,33

0,33

0,46

0,31

0,23

0,63

0,21

0,16

0,65

0,22

0,13

0,67

0,22

0,11

0,42

0,42

0,16

(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
Nesta tcnica, cada estao troca periodicamente informaes de roteamento com suas
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, para cada destino possvel, o n preferencial de sada e o custo estimado de
transmisso por este n. Este tipo de roteamento tambm conhecido como Roteamento por
Vetor de Distancia (Distance Vector Routing).
Cada n tem que conhecer o custo de transmisso para cada um dos seus vizinhos
imediatos. Para decidir a rota, a estao emissora soma o custo de transmisso at o vizinho
imediato com custo estimado dali at destino final.
A operao deste tipo de algoritmo ilustrada na figura 2.3.29.

77

local
recebido das demais estaes

D
d
e
s
t
i
n
o
s

A
B
C
D
E
F
G
H
I
J
K
L

A
0
12
25
40
14
23
18
17
21
9
24
29

(a) subrede

Origens
I
H
24
20
36
31
18
19
27
8
7
30
20
19
31
6
20
0
0
14
11
7
22
22
33
9

K
21
28
36
24
22
40
31
19
22
10
0
9

J
8
12
10
0
6
-

nova
tabela J
8
20
28
20
17
30
18
12
10
0
6
15

A
A
I
H
I
I
H
H
I
K
K

(b) tabelas do n J

Figura 2.3.29 - Roteamento dinmico distribudo


No exemplo acima, uma mensagem do n J para o n B ser roteada atravs do n A,
enquanto uma mensagem destinada ao n C passar pelo n I (ver ltima tabela a direita, 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

Durante o funcionamento de uma aplicao distribuda construda sobre uma rede, vo


existir instantes em que o fluxo de mensagens sendo trocadas pode atingir valores bastante
importantes, de tal forma que os ns intermedirios, responsveis do tratamento dos pacotes,
no sejam mais 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 desta sobrecarga, conhecida por congestionamento, podem ser de
vrias naturezas. Um exemplo disto pode ser a lentido dos ns na realizao do roteamento
ou um mau funcionamento do mecanismos de controle de fluxo.
O congestionamento consiste, normalmente de um processo a realimentao 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
implementao de funes de controle de congestionamento, alguns dos quais sero descritos
a seguir.
a) Pr-alocao de buffers
Uma primeira forma de controlar o congestionamento da rede atravs da pralocao de buffers, particularmente se o servio orientado conexo. Isto significa que, no
momento do estabelecimento do circuito virtual que vai caracterizar a conexo, um
determinado nmero de buffers deve ser alocado em cada n para permitir o armazenamento
dos pacotes a serem retransmitidos. 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 um nmero de buffers evidentemente menor do
que um algoritmo que autorize o envio de diversos pacotes antes da retransmisso.
b) A destruio de pacotes
Um outro mecanismo que adotado para o controle de congesto o da destruio de
pacotes. Neste caso, no existe reserva prvia de buffers, de modo que, se um pacote chega
num IMP e este no dispe de buffer para o seu armazenamento, este simplesmente
destrudo (ou descartado). Se o servio oferecido do tipo datagrama, no h mais nada a
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 um pacote de reconhecimento pode no ser uma boa soluo,
uma vez que este pacote poderia permitir ao n o apagamento de um pacote de informao e,
por conseqncia, a liberao de um buffer. Uma soluo para isto a reserva, para cada linha
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 de eficincia na aplicao se um pico de trfego 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 podem ser ainda implementadas, como por
exemplo:
o controle isartmico, baseado na existncia em cada n de um certo 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 um n ao usurio do servio de rede,
indicando que determinadas linhas de sada esto no limite da saturao. Isto faz
com que o usurio reduza o envio de pacotes para o destino utilizando aquela linha
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
efetuados a partir de 1974 pelo CCITT para a definio de um padro de comunicao para os
nveis Fsico, Enlace e Rede.
O X.25 define a interface entre um DTE (Data Terminal Equipment) e um DCE (Data
Circuit-terminating Equipment). Um n intermedirio da subrede (um IMP, na terminologia
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.
Na camada 2, X.25 define protocolos de enlace com o objetivo de oferecer um meio de
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

a chamada virtual (virtual calls), que similar a uma chamada telefnica comum, a
qual caracterizada pelo estabelecimento de uma conexo, a troca de dados e a
liberao de conexo;
o circuito virtual permanente (permanent virtual circuits), que funciona como 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 um DTE quer
dialogar com um outro DTE, ele deve, inicialmente, estabelecer a conexo; ele constri,
ento, um pacote CALL REQUEST enviando-o ao DCE. Em seguida, a subrede encaminha o
pacote ao DCE destinatrio que vai pass-lo ao DTE correspondente. Se a conexo pode ser
estabelecida, o DTE destinatrio vai enviar um pacote CALL ACCEPTED indicando a
aceitao da chamada.
DTE

Protocolo X.25 PLP

DTE

(D ata T erm in a l
E q u ip m e n t)

DCE

DCE

(D ata C ircu itte rm in atin g


E q u ip m e n t)

DSE
(D a ta S w itch in g
E x ch an g e)

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

DTE local

interface
DTE-DCE

interface
DTE-DCE

DTE remoto

CALL
CALL

etapa de
chamada

CALL
CALL
DADOS
DADOS

etapa de
transf. de
dados

DADOS

troca de um nmero
arbitrrio de pacotes
de dados

DADOS
CLEAR
CLEAR

etapa de
liberao

CLEAR
CLEAR

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,
assim como os demais do protocolo X.25, inicia por um cabealho de 3 bytes. Os campos
GRUPO e CANAL compem um nmero de circuito virtual a ser utilizado no dilogo, este
nmero codificado em 12 bits, o que significa que pode-se utilizar at 4096 circuitos virtuais
distintos, sendo que o nmero 0 reservado pelo protocolo. O campo TIPO permite
identificar o tipo do pacote enviado, o bit CM estando a 1 nos pacotes de controle e a 0 nos
pacotes de dados. O cabealho , de fato, comum a todos os pacotes do X.25. J os campos a
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 na forma de dgitos decimais, em 4 bits
por campo.
O sistema de endereamento do X.25 similar ao do sistema telefnico, onde cada
usurio identificado por um nmero decimal formado pelo cdigo do pas, um cdigo de
rede e um endereo 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
chamada a cobrar (PCV). Finalmente, o campo DADOS USURIO permite ao DTE 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 tem grande utilidade no protocolo de Rede, mas ele permite aos

82

protocolos das camadas superiores fazer a distino entre suas mensagens de controle e suas
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 que o DTE remoto recebeu o pacote. O campo M (More) indica a pertinncia de um
pacote a um grupo de pacotes considerado.
8 bits

GRUPO

CANAL
TIPO
TAM. END. INIC.

CM
TAM. END. RESP.

ENDEREO INICIANTE
ENDEREO RESPONDEDOR
0

TAM. FACILIDADES

FACILIDADES

DADOS USURIO

Figura 2.3.31 - Pacote CALL REQUEST do X.25.


8 bits

MD.

GRUPO

CANAL
SUPERPOS.

SEQUNCIA

DADOS

Figura 2.3.32 - Pacote de dados do X.25.


Os demais pacotes de controle do X.25 so apresentados na figura 2.3.33, alguns deles
contendo apenas o cabealho e outros contendo informaes adicionais (at 2 bytes). No caso
de um pacote CLEAR REQUEST, por exemplo, o quarto byte indica a causa da liberao da
conexo.

83

8 bits

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 a correo do endereo de destino, vital para a funo de roteamento. O IP tambm
no faz controle de fluxo. Como o protocolo IP usualmente utilizado em conjunto com um
protocolo de transporte chamado TCP, estas funes ficam a 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 esquema de endereamento adotado no protocolo IP o seguinte: cada estao na
rede possui um endereo nico, composto de 32 bits (4 bytes), subdivididos em 3 classes mais
utilizadas:
classe A: byte 1 => msb a zero, demais 7 bits identificam sub-rede (de 1 a 126); 24
bits restantes usados para definir o endereo local do host (at 16 milhes de hosts
por sub-rede)
classe B: 2 bytes para sub-rede e 2 bytes para host (at 65.536 hosts por sub-rede)
classe C: 3 bytes para sub-rede e 1 byte para host (at 254 hosts, valores 0 e 255
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.0 indica que os 3 primeiros bytes fazem parte do endereo da subrede, enquanto
o quarto byte contm o endereo do host.
84

Desta forma, uma estao de rede teria um endereo IP do tipo: 150.162.14.1 (host
atlas no LCMI-UFSC) ou 150.162.14.4 (host polaris, tambm no 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

classe

Endereos

10 Sub-rede

110

Sub-rede

1.0.0.0 a
127 255 25

Host

128.0.0.0 a
191 255 25

Host

Sub-rede

Host

192.0.0.0 a
223 255 25

1110

Endereo para Multicast

224.0.0.0 a
239 255 25

11110

Reservado para uso futuro

240.0.0.0 a
247 255 25

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


sistema emissor ao sistema receptor de forma confivel e econmica, independentemente da
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 poderiam ser
fornecidos pelas camadas superiores so dispensveis. Um exemplo disto a interconexo de
estaes no sistema UNIX.
Nesta parte do documento sero apresentadas as principais definies relacionadas aos
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 deve ser oferecido o servio confivel de transporte dos bits de informao
fim-a-fim, este servio sendo fornecido atravs de uma entidade de software ou de hardware
denominada entidade de transporte.
De maneira similar camada de Rede, a de Transporte pode fornecer duas classes de
servio, ou seja, sem conexo e orientados conexo.
Os servios de Transporte orientados conexo so caracterizados pelas trs etapas j
descritas para outros nveis do modelo OSI, isto , estabelecimento de conexo, transferncia
de dados e liberao da conexo.
Estes servios so bastante similares aos servios oferecidos pela camada de Rede, o
que poderia colocar em dvida a necessidade desta camada. No entanto, a sua existncia se
justifica pela necessidade de servios de superviso da camada de Rede do ponto de vista das
entidades efetivamente envolvidas na comunicao. Trata-se aqui de uma superviso fim-afim, uma vez que, at o nvel de Rede, as comunicaes se fazem ponto-a-ponto.
Outra contribuio importante da camada de Transporte que ela permite a utilizao
de primitivas de servio padro pelas diversas aplicaes construdas sobre a rede efetuando
um perfeito isolamento em relao s camadas superiores e tornando transparentes as
possveis alteraes tecnolgicas que poderiam ocorrer nos nveis inferiores. Por esta razo,
constuma-se fazer uma distino entre os nveis de 1 a 4 e os de 5 a 7. 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, a camada de Transporte assume a
funo de suprir as diferenas entre a qualidade de servio que a camada de Sesso necessita e
aquilo que a camada de Rede pode oferecer.
Para isto, o conceito de qualidade de servio (QOS, Quality Of Service) um aspecto
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
encaminha estes parmetros nas primitivas de servio. Se a camada de Transporte julga certos
parmetros longe da realidade, ela pode sinalizar isto ao usurio iniciante, sem mesmo ter
tentado estabelecer a conexo, atravs de uma mensagem de erro que vai, tambm, indicar a
natureza do erro sinalizado. Outra possibilidade a camada de Transporte julgar que um certo
valor para um parmetro seja impossvel de oferecer, mas que um valor 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, se a mquina distante verifica que ela no pode oferecer 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 assemelham bastante
quelas do servio de Rede. Existe, porm, uma diferena fundamental entre os dois nveis.
No caso do nvel Rede, considera-se que o servio oferecido corresponde ao funcionamento
real do sistema, representando inclusive suas falhas. Desta forma, podem ocorrer 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
tratamento de todos os problemas de comunicao evitando que os usurios do servio tomem
conhecimento das ms condies de funcionamento da rede de comunicao (se tal o caso!).
Uma outra diferena entre os 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-se diretamente atravs do uso direto das primitivas de servio de Transporte (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 na figura 2.3.5.1. As duas extremidades das ilustraes caracterizam os usurios
do servio de Transporte, o fornecedor sendo representado pelo espao separando os dois
usurios.
Em 2.3.5.1(a) ilustrada um estabelecimento 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, da qualidade de servio a serem negociados. Este aceita
o estabelecimento da conexo, retornando camada de Transporte uma primitiva
T_CONNECT.response, que ser refletida, via servio de Transporte, no usurio da esquerda
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
request

T_CONNECT
indication
T_DISCONNECT
request

T_DISCONNECT
indication

(a)

(b)

T_DISCONNECT
request
T_DISCONNECT
indication

T_DISCONNECT
request

T_DISCONNECT
indication

(d)

(c)

T_DISCONNECT
request
T_DISCONNECT
indication

(e)

T_DATA
request

(f)

T_EXPEDITED_DATA
request

T_EXPEDITED_DATA
indication

T_DATA
indication

(g)

T_DISCONNECT
indication

(h)

Figura 2.3.5.1 - As diversas interaes entre as primitivas de servio de Transporte.


A figura 2.3.5.1(b) apresenta uma tentativa de estabelecimento de conexo, rejeitada,
porm, pelo usurio da direita, que utiliza as primitivas de servio T_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: a primeira, ilustrada em 2.3.5.1(d), considera o caso em que a liberao iniciada
por um dos usurios (no caso o da esquerda). A conexo liberada no momento em que 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,
neste caso, a conexo liberada sem a emisso de outras 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

Como definido pelo modelo OSI, o servio oferecido por uma camada N o resultado
da implementao de um protocolo N regendo a comunicao entre duas entidades N. Em
princpio, os protocolos de Transporte apresentam preocupaes similares dos protocolos de
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, um IMP no necessita
referir-se explicitamente com qual IMP ele quer dialogar, uma vez que dois IMPs
so conectados por uma via nica (exceto no caso de redes de difuso); j, no nvel
Transporte, o endereo do destinatrio deve ser explicitamente definido;
um outro problema a questo do controle de fluxo; ao contrrio do nvel de Enlace,
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, que caracteriza os servios "perfeitos", onde a frao de pacotes
perdidos, duplicados ou corrompidos desprezvel; o tipo de servio dificilmente
encontrado em redes pblicas, mas algumas redes locais so bastante prximas deste
tipo de servio;
servios do tipo B, onde a perda de pacotes tambm rara, mas a comunicao
freqentemente interrompida (servio N_RESET) devido a problemas de congesto,
de hardware ou software;
servios do tipo C, no confiveis, sendo caracterizados normalmente pelas redes a
longa distncia do tipo datagrama.
Para cada tipo de servio, de A a C, o nvel do servio de Transporte caminha do mais
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.
Para permitir a definio de vrios nveis de oferecimento de servio, o modelo OSI, 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 retomada de 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 sofisticada a classe 0 pela introduo da possibilidade de
manuteno de diversas conexes de Transporte sobre uma nica conexo de Rede
(multiplexao);
classe 3, que agrupa os mecanismos de retomada de dilogo da classe 1 com os 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,
retomada de dilogo e todos os possveis problemas no resolvidos pela camada de
Rede.
No momento do estabelecimento de uma conexo, so as entidades pares que devem
tomar a deciso sobre qual classe de servio adotar, uma classe sendo proposta pelo iniciante
e negociada para permitir o estabelecimento da conexo.
As funes do protocolo de Transporte vo depender do ambiente no qual ele vai
operar assim como da natureza dos servios que devem ser supridos. Um mnimo de funes
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
duas unidades de Transporte que a unidade de dados de protocolo de transporte (em ingls,
Transport Protocol Data Unit). Por outro lado, a unidade de dados emitida por um usurio do
servio Transporte ser referenciado como sendo uma mensagem.
Uma mensagem a ser transmitida pode ter um tamanho qualquer, a segmentao das
mensagens devendo ser assumida por esta camada. Isto significa que, se uma unidade de
dados apresenta um tamanho superior ao de um pacote, ela deve ser segmentada em tantos
pacotes quantos sejam necessrios para efetuar a sua completa emisso.
Ainda, se uma entidade de Transporte gerencia vrias conexes num dado instante, ela
deve numerar as conexes e inserir o nmero correspondente nas unidades de dados, a fim de

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 de conexes uma das importantes funes assumidas pela camada


de Transporte. Como j foi dito, embora esta funo possa parecer similar quela suprida pela
camada de Enlace, o gerenciamento das conexes de Transporte bem mais complexo do que
das conexes de Enlace.
Gerenciar uma conexo a nvel de enlace ou rede relativamente fcil, 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
Um endereo a nvel de transporte (TSAP, Ponto de Acesso ao Servio de Transporte
ou Transport Service Access Point),) anlogo ao NSAP de rede, mas o NSAP enderea ns
de rede, enquanto o TSAP enderea um processo de aplicao dentro do n.
Cada Processo de aplicao deve se associar a um TSAP para enviar dados. A forma
de associao entre um processo e um TSAP no definida pelo modelo OSI e dependente do
sistema operacional de cada estao (ex.: no UNIX, via sockets).
A comunicao entre processos aplicativos requer a indicao tanto do NSAP quanto
do TSAP. Quando usado um esquema de endereamento hierrquico, o NSAP usualmente
um campo dentro do TSAP.
Se endereamento no hierrquico ou o NSAP no um campo de TSAP,
necessrio mapear TSAPs em NSAPs por meio de um Servidor de Nomes (Name Server)
ou pedindo por difuso que a mquina com um dado TSAP se identifique, i., envie seu
NSAP como resposta (ex.: protocolos ARP e RARP).
Quando um usurio da camada de Transporte quer dialogar com um outro usurio, ele
deve primeiramente, identificar, de alguma forma, o usurio (ou processo de aplicao) que
vai estar envolvido no dilogo. Isto feito normalmente pela definio de um TSAP. A
relao entre os TSAPs, NSAPs e uma conexo de Transporte apresentada na figura 2.3.5.2
a seguir, onde o processo de conexo pode ser implementado da seguinte forma:

92

um processo servidor localizado na mquina B se conecta ao TSAP 122 e espera a


recepo de uma indicao de conexo;
um processo situado em A requisita uma conexo ao servidor em B, 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 um NSAP 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; se o servidor em B est pronto a aceitar a conexo, esta ser,
ento, estabelecida.
processo A

processo B

TSAP 6

TSAP122

NSAP

NSAP

2
1

conexo

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
sabe o TSAP do processo servidor na estao B (no caso, 122) ? Uma soluo possvel seria a
seguinte: processos servidores muito usados recebem um endereo TSAP fixo e conhecido
por todos os demais processos no sistema. Esta soluo, no entanto, pouco flexvel e no
resolve o problema mais geral de 2 processos de aplicao quaisquer querendo se comunicar
entre si.
As formas mais usuais de realizar isto na prtica so as seguintes:
Uso de um Servidor de Processos (Process Server ou logger): cada n tem um
logger, cujo TSAP conhecido, e todo pedido de servio encaminhado a ele. O
Logger cria uma instncia de um processo servidor cujo servio foi requisitado, d a
ele um TSAP e estabelece conexo entre este e o processo cliente que requisitou o
servio.

93

Uso de um Servidor de Nomes (Name Server): todos os processos servidores so


cadastrados no Name Server, que contatado pelos clientes e devolve TSAP do
servidor para o servio requisitado (como um servio de informao da telefnica).
O TSAP do Name Server fixo.
b) O estabelecimento de uma conexo

Este um processo 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).
O problema est simplesmente associado ao fato que, num servio de rede pobre, pode
ocorrer perda ou duplicao de pacotes. Numa rede onde ocorrem problemas de
congestionamento os reconhecimentos podem no chegar nunca em tempo 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
que um comando pode, sem o conhecimento do usurio, ser efetuado diversas vezes (se este
comando for o depsito na conta de algum, o usurio que requisitou o depsito pode ter
muito a perder na operao, particularmente se o proprietrio da conta para onde o depsito
foi requisitado no for muito honesto). Um cuidado especial dever, ento, ser tomado para
eliminar o efeito da duplicao dos pacotes a nvel do servio de Transporte.
Uma forma de faz-lo atravs da definio de um parmetro (nmero) de referncia a
ser includo em cada unidade de dados, inclusive naquelas conduzindo o pedido de conexo.
A cada liberao de conexo, uma tabela contendo as referncias das conexes obsoletas ser
atualizada. Desta forma, a cada vez que um pedido de conexo for recebido, a entidade vai
verificar, atravs do parmetro de referncia associado, se o pedido corresponde ou no a uma
conexo j liberada. Em caso positivo, o pedido de conexo ser ignorado. O problema com
esta tcnica o fato que, caso uma estao entre em pane, os valores constantes na tabela de
conexes podem ser perdidos e, assim, na retomada de execuo, a entidade de transporte vai
perder a informao sobre que conexes teriam sido efetuadas ou no.
Outra forma de faz-lo atravs da eliminao dos pacotes duplicados aps um certo
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 um contador de saltos (um salto sendo a passagem por um n


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 com numerao
idntica no podem estar pendentes (esperando confirmao) ao mesmo tempo. A numerao
das TPDUs no pode se repetir dentro de um intervalo de tempo T. A operao se d em 3
passos (three-way):
n A envia pedido de conexo com nmero de seqncia inicial x
n B envia confirmao do pedido contendo valor de x e seu prprio nmero de
seqncia inicial y
n A envia primeira TPDU contendo confirmao do valor y
Nenhuma nova TPDU com nmero de seqncia x aceita antes de um intervalo de
tempo T. A figura 2.3.5.3 ilustra a operao do protocolo em trs situaes distintas.
CR (x)
CR (x) => duplicata

CR (x)

CC (y, x)

CC (y, x)
CC (y,x)
REJ (y)

CC (y,x)
D (x,y)

REJ (y)
D (x,y)

(b)

(a)

CR (x) => duplicata


CC (y, x)
CC (y,x)
REJ (y)

D (x,z) => duplicata com ack = z e no y


REJ (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,


exige certos cuidados a fim de evitar a ocorrncia de certas 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.
O protocolo de liberao de conexo deve, ento, ser melhor elaborado a fim de evitar
este tipo de problema. Uma soluo seria a definio de um dilogo que permitisse assegurar
que ambos os usurios terminaram efetivamente 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
request
T_DISCONNECT
request

T_DATA
indication
perda
dado

T_DISCONNECT
request

Figura 2.3.5.4 - Perda de dados no caso de uma liberao de conexo.


A liberao pode ser mais eficiente se um procedimento em trs etapas definido
(three-way handshake), como mostrado na figura 2.3.5.5. Em 2.3.5.5(a), mostrado o caso
normal, onde o usurio que quer liberar a conexo envia um DR (Disconnect Request)para
indicar a sua inteno. Aps o envio, este dispara um temporizador (simbolizado na figura por
+ t). O usurio receptor responde com um DC (Disconnect Confirm), disparando tambm um
temporizador. Quando o DC chega ao usurio iniciador, este emite finalmente um ACK e se
desconecta. Na seqncia, o usurio que recebe o ACK vai tambm se desconectar.
J em 2.3.5.5(b), mostrado como o protocolo vai se comportar em caso da perda do
ACK. Neste caso, o temporizador disparado pelo usurio da direita vai resolver o problema,
efetuando a desconexo na sua expirao.

DR + t

DR + t
DR

DR

DC + t

DC + t

DC

DC

ACK
fim con.

ACK
fim con.

ACK
fim con.

perda
(timeout)
fim con.

(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

Um problema que deve ser tratado durante a manuteno de uma conexo ativa
aquele ligado ao controle de fluxo. Este problema , de um lado, bastante similar quele
tratado pela camada de Enlace.
Por outro lado, a nvel de Transporte, o nmero de conexes existentes grande, o que
significa uma necessidade de armazenamento muito maior que no caso do nvel Enlace (que
gerencia uma nica conexo de cada vez).
Como foi visto na parte destinada camada de Enlace, certos protocolos, por questes
de eficincia, exigiam uma memorizao dos quadros nas duas extremidades da conexo. Isto
significava, tambm, a alocao de um nmero 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
ainda no foram reconhecidas. Assim, ele pode simplesmente no fazer nenhuma alocao de
buffer especfico para a conexo, todos os buffers disponveis podendo ser compartilhados por
todas as conexes existentes. Desta forma, quando uma TPDU recebida, se no existe buffer
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 de um servio de rede confivel, o procedimento pode ser diferente. Num
primeiro caso, se o emissor sabe que o receptor ter sempre condies de armazenar as
TPDUs por ele emitidas, ento este no vai necessitar armazen-las (pois sabe que no haver
necessidade de retransmisso). Caso contrrio, ele vai ter de armazen-las de todo modo, uma
vez que os reconhecimentos da camada de Rede significam apenas que o pacote foi recebido
mas no que a TPDU foi aceita.
Se o armazenamento de TPDUs feito do lado do receptor, o problema a ser 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 de igual tamanho, como mostra a figura 2.3.5.6(a), onde cada buffer vai conter uma
TPDU. Se os tamanhos da TPDUs variam muito, esta soluo pode no ser a melhor, mesmo
se o tamanho dos buffers estabelecido ao tamanho mximo das TPDUs. Neste caso, alocar
um buffer para armazenar uma TPDU de tamanho reduzido desperdiar memria. Assim,
97

uma outra soluo a alocao de buffers de tamanho varivel, como mostra a figura 2.3.5.6
(b), onde o desperdcio menor, ou, ainda, alocar um nico buffer circular, como mostrado
em 2.3.5.6(c).
Estas duas ltimas solues so eficientes no caso de conexes com grande trfego de
TPDUs. Caso contrrio, podem no ser as melhores.

TPD U 1

TPD U 2

TPD U 3

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 importante tambm na definio da melhor soluo no que diz respeito
localizao do armazenamento no emissor ou no receptor. No caso de mltiplas conexes,
mas com pouco trfego em cada uma delas (terminais interativos, por exemplo), melhor a
implementao de um mecanismo de alocao dinmica de buffers nas duas extremidades.
Como o emissor no tem certeza de que o receptor poder alocar o buffer, ele mantm com
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.
Outro ponto importante a ser coberto pela camada de Transporte, a capacidade de um
usurio (emissor) alocar distncia (no receptor) os buffers de maneira dinmica, os buffers
podendo ser alocados para cada conexo ou para um conjunto de conexes existentes entre
dois usurios.

e) Multiplexao e Splitting

O mecanismo de multiplexao aplicado sobre uma mesma conexo, um circuito


virtual ou uma mesma linha um aspecto bastante importante no que diz respeito s camadas
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 estabelecida vai utilizar-se de recursos presentes nos IMPs durante toda a
sua durao; assim, pode ser interessante, para otimizar a utilizao dos recursos de
rede (e, evidentemente, o custo de uma comunicao!), associar diversas conexes
de Transporte a uma mesma conexo de Rede, como mostrado na figura 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
grande de mensagens, dependendo do protocolo implementado a nvel de Rede, uma
nica conexo pode ser insuficiente para suportar a conexo de Transporte; assim, a
camada de Transporte pode decidir efetuar a multiplexao para baixo, ou Splitting,
onde uma conexo de Transporte pode ser mapeada em vrias conexes de Rede,
como mostrado na figura 2.3.5.7(b).
CAMADAS

TSAPs

NSAPs

LSAPs

IMP

IMP

(a)

(b)

Figura 2.3.5.7 - Multiplexao: (a) para cima; (b) para baixo.


f) A retomada de uma conexo

Uma vez que durante a operao de uma conexo, incidentes podem ocorrer, a camada
de Transporte deve tratar tambm deste problema. No caso da camada de Rede, as primitivas
N_RESET, foram definidas para o tratamento de incidentes.
As entidades de Transporte, quando da ocorrncia de um incidente, devem dialogar
para trocar informaes sobre quais unidades de dados teriam sido recebidas ou no.
O problema maior ocorre, porm, se a pane ocorre num dos sistemas envolvidos na
comunicao. Aps a retomada da conexo, todas as informaes so reinicializadas de modo
que o usurio acaba perdendo a informao de qual era o seu estado antes do incidente.
Uma forma de recuperao do estado enviar uma unidade de dados a todos os outros
usurios a fim de obter as informaes sobre todas as conexes existentes. O emissor pode
estar em dois estados: unidades espera de reconhecimento ou no. Assim, o emissor pode

99

decidir a retransmisso das unidades. Esta soluo, porm, no assim to simples, uma vez
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 a unidade recebida no tinha ainda sido armazenada. Neste caso, o
emissor poderia retransmitir aquelas que, por ventura, no tivessem sido recebidas no lado do
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 em 5 classes, onde cada uma delas
permite cobrir uma classe de confiabilidade da camada de Rede. O protocolo de Transporte
OSI baseado na definio de 10 TPDUs, estas compostas de quatro partes:
um campo de 1 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.8 apresenta os 10 tipos de TPDUs do modelo OSI. As quatro primeiras
TPDUs, CR, CC, DR e DC (CONNECTION REQUEST, CONNECTION CONFIRM,
DISCONNECT REQUEST e DISCONNECTION CONFIRM) correspondem aos pacotes
CALL REQUEST, CALL ACCEPTED, CLEAR REQUEST e CLEAR CONFIRM definidos no
protocolo X.25.
Uma entidade de Transporte, quando deseja estabelecer uma conexo, envia uma
TPDU CR e dever receber uma CC. No momento da liberao da conexo, as TPDUs DR e
DC sero trocadas entre duas entidades.
As TPDUs DT (DATA) e ED (EXPEDITED DATA) so utilizadas para transferir,
respectivamente, dados normais e dados expressos. Os reconhecimentos relativos a estas duas
TPDUs sero, respectivamente, AK (DATA ACKNOWLEDGEMENT) e EA (EXPEDITED
DATA ACKNOWLEDGEMENT).
Finalmente, as TPDUs RJ (REJECT) e ER (ERROR) so utilizadas para o tratamento
de erros.
100

Como se pode ver na figura, todas as TPDUs so compostas do campo LI, j descrito.
O byte seguinte utilizado, particularmente no protocolo de classe 4, para implementar um
mecanismo de crdito, utilizado para controlar o trfego de unidades de dados, substituindo o
mecanismo com janela de antecipao.
1

CR

LI

1110 CDT

Ref. Origem

Classe

P. Var DADOS

CC

LI

1101 CDT

Ref. Destino

Ref. Origem

Classe

P. Var DADOS

DR

LI

1000 0000

Ref. Destino

Ref. Origem

Razo

P. Var DADOS

DC

LI

1100 0000

Ref. Destino

Ref. Origem

P. Var

DT

LI

1111 0000

Ref. Destino

TPDU N

DADOS

ED

LI

0001 0000

Ref. Destino

TPDU N

P. Var

AK

LI

0110 CDT

Ref. Destino

TPDU esperada

P. Var

EA

LI

1110 CDT

Ref. Destino

TPDU esperada

P. Var

RJ

LI

0101 CDT

Ref. Destino

TPDU esperada

ER

LI

0111 0000

Ref. Destino

Causa Rejeio

0 0

DADOS

P. Var

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 de vrias conexes. Quando um pacote recebido atravs da camada de Rede,
a entidade de Transporte vai analisar estes campos para definir a que conexo ele pertence.
O campo Classe utilizado pelas entidades de Transporte para a negociao da classe
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.
O campo DADOS pode conter at 32 bytes de informaes nas classes 1 a 4, no sendo
utilizado na classe 0.
No caso das TPDUs DT (DATA) e ED (EXPEDITED DATA), o campo EOT (End Of
Transmission) utilizado para marcar o final de uma transmisso, ele setado a 1, no caso da
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
campo TPDU esperada funciona de maneira similar ao campo ack apresentado na camada de
Enlace. A diferena que ele indica que todas as TPDUs anteriores foram recebidas, exceto
aquela referenciada pelo campo.
Finalmente, o campo Causa Rejeio presente na TPDU ER (ERROR) permite indicar
a causa do erro sinalizado, como cdigo de parmetro invlido, tipo de TPDU inexistente,
referncia de TPDU invlida, etc.
No caso de um servio de Transporte sem conexo, a camada de Transporte OSI, pode
se utilizar de um servio de Rede com ou sem conexo. Como j foi dito na parte relativa
camada de Rede, a definio de um servio sem conexo que utilize um servio 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 de Transporte sem conexo define o formato da TPDU como
ilustrado na figura 2.3.5.9, bastante similar utilizada no caso do servio orientado conexo.
A parte varivel da TPDU conduz os endereos de TSAP (origem e destinatrio) e outras
informaes.
1
LI

1
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 a nvel da rede americana ARPANET, para poder permitir a incluso de
redes locais cujo servio de Rede fosse menos confivel do que o da prpria ARPANET.
Associado a TCP, foi definido tambm um novo 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 em unidade de tamanho inferior ou igual a 64 Kbytes, estas unidades sendo
102

enviadas como datagramas isolados, a camada de Rede no oferecendo nenhuma garantia de


entrega dos datagramas. O TCP deve, ento, definir um temporizador e retransmitir as
unidades perdidas. O TCP deve ainda tratar o problema de sequenciamento das unidades, uma
vez que no garantida a chegada na ordem correta a nvel de Rede.
Cada unidade transmitida via TCP tem um nmero de seqncia particular (de 32 bits)
permitindo tratar o problema de seqncias idnticas. O TCP trata tambm o problema de
unidades atrasadas no estabelecimento de conexo implementando um procedimento 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, efetuam as funes de sequenciamento e
reconhecimento, respectivamente; eles ocupam, cada, 32 bits, pois cada byte
numerado no TCP;
tamanho cabealho permite indicar o nmero de palavras de 32 bits que faro parte
do cabealho; necessrio, pois o campo opo, vai ser composto de um nmero
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

U
R
G

A
C
K

E
O
M

R
S
T

S
Y
N

F
I
N

JANELA
APONTADOR PRIORIDADE

CONTROLE ERRO
OPES
DADOS

Figura 2.3.5.10 - Formato do cabealho da TPDU do TCP.

103

ACK (ACKnowledge) serve para indicar se o campo reconhecimento utilizado (1)


ou no (0);
EOM (End Of Messages) permite indicar o final de uma transmisso;
RST (ReSTart) serve reinicializao de uma conexo quando a sua operao tornase 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 para implementar o controle de fluxo; ele composto de 16 bits
pelo fato de que o controle feito a nvel de byte e no de TPDU;
controle de erro permite efetuar o controle do erro; este definido por um algoritmo
simples onde os bytes de dados so somados como palavras de 16 bits; este campo
apresenta o complemento 1 do resultado da soma;
apontador de prioridades utilizado para permitir o envio de unidades urgentes,
indicando o offset (deslocamento) em relao 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 univocamente na rede pelo identificador da sua porta concatenado 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.). O estabelecimento de uma conexo entre processos
de aplicao requer um par de sockets, que operam de forma full-duplex. Um mesmo socket
pode participar de vrias conexes. Uma conexo definida atravs dos identificadores dos
sockets envolvidos, dos nmeros de seqncia, da largura de janela, etc.
O TCP estabelece e desfaz conexes por meio do protocolo three-way-handshake, j
descrito anteriormente.
Os processos de aplicao transmitem dados 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 interface com o usurio (ou processos de aplicao) feita por 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


diretamente os servios da camada de transporte. Seu objetivo facilitar a implementao 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 para linguagem C com TCP em UNIX 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 a camada de enlace (LLC classe 1). No ltimo caso,
inclui protocolos de rede e transporte.
Berkeley Sockets: API para linguagem C com TCP em UNIX BSD e compatveis.
Os servios so acessveis por meio dos system calls mostrados na tabela a seguir:

System Call Funo


cria um socket (TSAP)
socket
associa um nome ASCII a um socket j existente
bind
cria uma fila de espera para requisies de servio
listen
remove um pedido de conexo de uma fila ou espera por um novo pedido
accept
estabelece uma conexo com outro socket
connect
encerra uma conexo entre sockets
shutdown
envia mensagem por uma conexo existente
send
recebe mensagem por uma conexo existente
recv
testa um grupo de sockets para ver se tem mensagens
select

105

Para algumas arquiteturas de rede, a subdiviso em camadas termina aqui. Este o


caso da arquitetura TCP/IP (cujo nome deriva do par de protocolos TCP e IP, j vistos). Para a
arquitetura TCP/IP, assume-se que os aplicativos operem sobre os servios de transporte (no
caso, os servios do protocolo TCP ou UDP, que uma verso sem conexo e no confivel
do TCP). Estudaremos alguns destes aplicativos mais a frente. 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 de comunicao proposto


no modelo OSI pode fazer distino em duas classes de camadas: as camadas inferiores,
concretizadas pelas camadas de 1 a 4, j vistas, cujos servios so orientados ao transporte de
informao prpriamente dito, tratando essencialmente de problemas de comunicao como,
por exemplo, codificao e transmisso de bits, controle de fluxo e de erros, sequenciamento,
roteamento, controle de trfego e gerenciamento de conexes; as camadas superiores,
concretizadas pelas camadas de 5 a 7, cujos servios se orientam mais 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
demais camadas presentes no OSI foram, de certo modo, inspiradas de modelos pr-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.
Nesta parte do documento, veremos ento os servios oferecidos pela Sesso e como
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
estabelecimento das conexes, denominadas sesses, de modo que estes possam trocar dados.
Uma sesso pode ser utilizada para permitir a conexo distncia a um computador, por
exemplo, atravs de um terminal, para uma transferncia de arquivo, para o 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 sem conexo, neste modo, no possvel explorar os servios orientados aos
usurios, disponveis nesta camada.
No que diz respeito conexo de Sesso (ou sesso, como definido acima), pode-se
estabelecer as diferentes possveis relaes entre uma conexo de Sesso e uma conexo de
Transporte, como mostra a figura 2.3.44.
7
servios oferecidos
camada de apresentao

APRESENTAO
SSAP
ENTIDADE
DE SESSO

servios oferecidos
camada de sesso

TSAP
TRANSPORTE

APRESENTAO

SSAP

SPDUs

ENTIDADE
DE SESSO

5
4

protocolo de
sesso

TSAP
TRANSPORTE

1a3

Figura 2.3.43 - Posio da camada de Sesso no modelo OSI.


Em 2.3.44(a), mostrada uma correspondncia de 1 a 1 entre uma conexo de Sesso
e uma de Transporte. Por outro lado, como mostrado em 2.3.44(b), pode-se utilizar uma
mesma conexo de Transporte para suportar diferentes sesses consecutivas. Ainda, pode-se
ter o quadro inverso, onde, pela quebra de uma conexo de Transporte, a abertura de uma
nova providenciada para garantir a continuidade de uma mesma sesso. Este ltimo cenrio,
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.
Sesso

Sesso
T ra n s p o rte

(a )

T ra n s p o rte

(b )

Sesso

T ra n s p o rte

(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

Da mesma forma como foi visto para camadas inferiores, o dilogo via esta camada
caracterizado pelas trs etapas a seguir: 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, em muitos 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 de Sesso, S_CONNECT.request, que refletida no envio de uma primitiva
T_CONNECT.request.
Na fase de estabelecimento de uma conexo, da mesma forma que na camada de
Transporte, ocorre a negociao, entre as duas entidades envolvidas (de Apresentao) sobre
que parmetros vo definir a comunicao. Dentre estes parmetros, encontram-se parmetros
j conhecidos de outros nveis do modelo OSI (por exemplo, a necessidade de transferncia de
dados expressos) e tambm parmetros especficos camada de Sesso (por exemplo, na
abertura de uma sesso para troca de informaes via correio eletrnico, um parmetro pode
ser qual usurio vai tomar a iniciativa do dilogo).
Apesar das semelhanas j levantadas, pode-se destacar tambm algumas diferenas
entre uma sesso e uma conexo de Transporte, essas diferenas estando particularmente
associadas ao procedimento de liberao das conexes. No caso da camada de Transporte, 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 que permite terminar, de maneira ordenada a conexo, sem
ocorrncia de perda dos dados (liberao negociada). possvel, no entanto, em caso de
necessidade, promover uma liberao abrupta da sesso, isto, graas utilizao da primitiva
S_ABORT.request. A diferena entre as duas formas de liberao de uma conexo mostrada
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 em 2.3.45(b), ao contrrio dos servios de liberao de conexo
apresentados at o momento, o servio de liberao negociada S_RELEASE um servio
confirmado, caracterizado pelas primitivas request, indication, response e confirm.
Como mostra a figura, mesmo aps ter emitido o pedido de liberao, a entidade
usuria pode continuar a receber primitivas de servio de indicao de transferncia de dados
(no caso, S_DATA.indication), sendo que a desconexo s ser efetivada aps a recepo da
primitiva S_RELEASE.confirm.

108

Um outro ponto de bastante similaridade entre as camadas de Sesso e Transporte o


endereamento. Da mesma forma que no Transporte, a nvel de Sesso necessrio indicar
um SSAP (Ponto de Acesso ao Servio de Sesso ou Session Service Access Point) na fase de
estabelecimento de sesso. Normalmente, um endereo de SSAP nada mais que um
endereo de TSAP enriquecido com outras informaes.
Ainda, uma diferena entre Sesso e Transporte est nos tipos de dados transmitidos.
Como foi visto no caso da camada de Transporte, existem dois tipos de fluxos de dados os
dados normais e os dados expressos (ou urgentes). J na camada de Sesso, alm destes dois
tipos de dados, podem ocorrer outros dois os dados tipados (typed data) e os dados de
capacidade (capacity data). Estes tipos de dados sero explicados mais adiante, neste
documento.
S_DATA
request
T_DATA
request

perda
dado

T_DISCONNECT
request

T_DISCONNECT
indication

(a)

S_RELEASE
request

S_RELEASE
indication

S_DATA
indication

S_RELEASE
response

S_RELEASE
confirm

(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, a princpio, do tipo full
duplex (ou seja, bidirecionais simultneas, conforma mostrado na figura 2.3.46(a)). Por outro
lado, existem muitas aplicaes nas quais a possibilidade de operao em half duplex pode ser
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
comunicao em half duplex uma opo negociada no momento do estabelecimento de uma
sesso. Se esta opo adotada, dever ser definido tambm qual 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 passagem de ficha de um usurio a outro implementada atravs da primitiva
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 da primitiva S_TOKEN_PLEASE.indication
pode ou no querer ceder a ficha.
Em caso negativo, o usurio que a requisitou no far outra coisa seno esperar a boa
vontade do seu interlocutor (ou ainda, enviar dados urgentes que no necessitam a possesso
da ficha). A ficha s passa a ter algum sentido no caso de comunicao half duplex. Se full
duplex a opo adotada, ela no levada em conta.
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
request
S_TOKEN_GIVE
request

S_DATA
indication
S_DATA
indication
S_TOKEN_GIVE
indication

S_DATA
indication

(a)

S_DATA
request

(b)

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. Esta tarefa til para a manuteno da coerncia do estado entre dois usurios
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 de dados propriamente dita, no levando em conta os
problemas que podem ocorrer nas camadas superiores. Estes erros podem ocasionar perdas de
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
permitem manter a sesso num estado correspondendo a um antigo ponto de sincronizao. A
figura 2.3.47(a) ilustra o procedimento de insero de pontos de sincronizao.
Um exemplo disto pode ser ilustrado na transmisso de um documento via rede, no
qual este pode ser decomposto em pginas s quais se pode associar os pontos de
sincronizao. Neste caso, a resincronizao vai consistir na retransmisso do documento a
partir de uma dada pgina que estava sendo transmitida quando o problema ocorreu.
110

A sincronizao implementada da seguinte forma: o usurio emissor insere, nas suas


mensagens, pontos de sincronizao, cada ponto contendo um nmero de srie. Quando um
usurio envia uma primitiva (request) para inserir um ponto de sincronizao, o outro usurio
vai receber uma primitiva de indication correspondente, isto ocorrendo de igual 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.
O mecanismo de sincronizao define dois tipos distintos de pontos de sincronizao:
os pontos de sincronizao mximos e mnimos.
Os pontos de sincronizao mximos so utilizados para delimitar trechos da
informao denominados dilogos, que representam uma decomposio lgica da informao
(captulos de um livro, por exemplo).
J os pontos de sincronizao mnimos so utilizados para separar pores menores da
informao. No caso de um livro, esta poro poderia ser as pginas dos captulos. A figura
2.3.47(b) ilustra os pontos de sincronizao mximos e mnimos.

SESSO
4 5
6

ponto de sincronizao
(a)
SESSO

DILOGO

ponto de sincronizao
mnimo
ponto de sincronizao
mximo
(b)

Figura 2.3.47 - (a) Pontos de sincronizao; (b) Pontos de sincronizao mximos e mnimos.
Uma diferena fundamental entre os pontos mximos e mnimos reside na capacidade
de resincronizao. No caso de um ponto de sincronizao mximo, aps uma pane,
possvel resincronizar, no mximo, de um ponto de sincronizao mximo para trs. A partir
deste ponto, impossvel recuperar informao. Isto ocorre porque um ponto mximo visto
como uma fronteira de proteo, cuja informao anterior garantida ter sido recebida, o que

111

significa que ela pode ser apagada da extremidade emissora. Isto j no ocorre no caso dos
pontos de sincronizao mnimos.
Alm disso, 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

Outra funo importante da camada de Sesso o controle de atividades. Esta tarefa


baseada no conceito de decomposio do fluxo de dados em atividades, independentes umas
das outras. O conceito de atividade vai depender da aplicao considerada, o usurio sendo o
responsvel desta definio.
Um exemplo tpico de utilizao do conceito a transferncia de arquivos, onde cada
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 para marcar o incio de uma atividade; isto vai gerar, no lado do
receptor, uma primitiva S_ACTIVITY_START.indication sinalizando o incio do envio de uma
nova atividade (neste caso particular, o arquivo).
SESSO
ATIVIDADE

ATIVIDADE

arquivo 2

arquivo 1

incio atividade

fim 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, de uma primitiva S_ACTIVITY_END.request. O interesse da definio de atividade
o fato que certas aplicaes podem ter 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 da conta emite um comando informando o seu nmero de conta (e a


senha correspondente) o computador do banco verifica o nmero e a senha, e
bloqueia o cdigo correspondente a fim de evitar o acesso concorrente;
o proprietrio da conta envia um novo comando informando o nmero da conta para
onde o dinheiro deve ser transferido o computador verifica o nmero da conta e
bloqueia o cdigo correspondente pela mesma razo j apresentada;
o proprietrio, finalmente, emite um terceiro comando informando o montante a ser
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) ocorre no terminal sendo utilizado pelo cliente proprietrio da conta imediatamente
aps o primeiro comando. O computador vai bloquear o cdigo correspondente conta, mas
os demais comandos no sero efetuados.
A aplicao do conceito de atividade via camada de Sesso permite solucionar este
problema, garantindo a atomicidade da operao. A operao completa pode ser vista como
uma atividade. Assim, aps a recepo de uma primitiva S_ACTIVITY_START.indication, o
computador do banco ficaria armazenando as mensagens (de comando) at a recepo de uma
primitiva S_ACTIVITY_END.indication. S neste momento, os comandos seriam efetivados
pelo computador.
Uma outra propriedade interessante das atividades a capacidade de ser interrompida
e retomada sem a perda das informaes. Isto pode ser feito atravs da primitiva
S_ACTIVITY_INTERRUPT que permite iniciar uma nova atividade e retomar aquela ao final
desta segunda atividade a partir do ponto onde ela tinha sido interrompida.
Um exemplo tpico aquele da transferncia de um arquivo de tamanho relativamente
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.
2 3

transf. arquivo
1 parte

transf. arquivo
2 parte

consulta
anurio

1 incio atividade 1

fim atividade 2

interrupo atividade 1

retomada atividade 1

incio atividade 2

fim atividade 1

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

O quadro a seguir apresenta a lista das primitivas de servio oferecidas pela camada de
Sesso, indicando as classes de primitivas compondo cada servio (R - request, I - indication,
Rs - response e C - confirm).
So 58 primitivas organizadas em 7 grupos: estabelecimento de conexo, 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 e trmino
das sesses. As primitivas S_CONNECT, conduzem, em seus parmetros, informaes tais
como: SSAPs dos interlocutores, qualidade do servio, nmeros iniciais dos pontos de
sincronizao, etc.
J os servios de liberao de sesso podem ser de trs tipos: o primeiro, caracterizado
pela primitivas S_RELEASE, especificando um servio confirmado de trmino negociado de
sesso (sem perda de dados); os dois outros, para e liberao abrupta de sesso (com eventual
perda de dados), caracterizados pelas primitivas S_U_ABORT e S_P_ABORT, indicando,
respectivamente, terminao de iniciativa do usurio (U - user) e do fornecedor do servio (P
- provider).
O terceiro grupo caracterizado pelas quatro classes de primitivas para a transferncia
de dados (S_DATA, S_EXPEDITED_DATA, S_TYPED_DATA e S_CAPABILITY_DATA)
cada uma para um dos quatro tipos de dados (normais, urgentes, tipados e de capacidade). Os
dados normais e urgentes tendo sido discutidos em outras oportunidades, cabe aqui uma
apresentao dos dois outros tipos de dados.
Os dados tipados so similares aos dados normais do ponto de vista da transferncia, a
diferena fundamental sendo a liberdade de transmisso sem a necessidade de posse da ficha
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 para a transferncia de mensagens de controle
da prpria camada de Sesso. O servio S_CAPABILITY_DATA, como se pode ver na tabela,
um servio confirmado, fornecendo um reconhecimento dos dados de capacidade. Ainda, ao
contrrio dos dados tipados, estes dados s podem ser 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 de 4: as fichas de dados (para a transferncia em half-duplex), as fichas de liberao
(para o incio de uma liberao negociada), as fichas de sincronizao mnima (para a insero
de pontos de sincronizao mnimos) e as fichas de sincronizao mxima e atividade (para o
114

gerenciamento das atividades e da sincronizao). S_TOKEN_GIVE permite efetuar a


transferncia de uma ou mais fichas entidade remota, as fichas a transferir sendo indicadas
nos parmetros das primitivas.
O quinto grupo contm os 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
S_CONNECT
S_RELEASE
S_U_ABORT
S_P_ABORT

R I Rs C Funo
ORIENTADO CONEXO

estabelecimento de conexo

liberao negociada de conexo

liberao abrupta (usurio)

liberao abrupta (fornecedor)

S_DATA
S_EXPEDITED_DATA
S_TYPED_DATA
S_CAPABILITY_DATA
S_TOKEN_GIVE
S_TOKEN_PLEASE
S_CONTROL_GIVE

S_SYNC_MAJOR
S_SYNC_MINOR
S_RESYNCHRONIZE
S_ACTIVITY_START
S_ACTIVITY_END
S_ACTIVITY_DISCARD
S_ACTIVITY_INTERRUPT
S_ACTIVITY_RESUME
S_U_EXCEPTION_REPORT
S_P_EXCEPTION_REPORT

S_UNITDATA

transferncia de dados normais


transferncia de dados urgentes
transferncia de dados tipados
transf. de dados de capacidade
passagem de ficha de dados
pedido de ficha
passagem de todas as fichas
insero de pto. de sincr. mx.
insero de pto. de sincr. mn.
pedido de resincronizao
incio de uma atividade
fim de uma atividade
abandono de uma atividade
interrupo de uma atividade
retomada de uma atividade
relatrio de anomalia- user
relatrio de anomalia- provider

SEM CONEXO

transferncia de dados (s/ conexo)

O sexto grupo dedicado ao gerenciamento das atividades (incio, fim, abandono,


interrupo e retomada), atravs dos servios S_ACTIVITY_START, S_ACTIVITY_END,
S_ACTIVITY_DISCARD, S_ACTIVITY_INTERRUPT e S_ACTIVITY_RESUME.

115

O stimo grupo dedicado gerao de relatrios de anomalia, tanto da parte de um


dos usurios (S_U_EXCEPTION_REPORT) quanto da camada de Sesso
(S_P_EXCEPTION_REPORT).
2.3.6.7.

Primitivas de Servio e SPDUs

Os protocolos de Sesso implementados a nvel das redes pblicas so, normalmente


complexos em funo da grande diversidade de servios oferecidos. A cada primitiva de
servio existente, corresponde normalmente uma SPDU, transmitida em funo do protocolo
implementado. No caso de primitivas com resposta, existe uma SPDU gerada para a resposta.
Do conjunto de primitivas apresentadas anteriormente, duas primitivas apenas no so
acessveis aos usurios da Sesso, no caso, aquelas iniciadas pelo fornecedor de servio
(S_U_ABORT e S_U_EXCEPTION_REPORT).
A cada vez que a camada de Sesso recebe uma primitiva de servio, ela constri uma
SPDU que vai ser emitida ao destinatrio. Ao receb-la, a entidade de Sesso receptora vai
gerar uma primitiva de servio de indicao correspondente primitiva de request que gerou a
SPDU, os parmetros da indicao sendo herdados da primitiva de servio de request.
Quando o servio confirmado, como, por exemplo, o servio S_CONNECT ou
S_RELEASE, a entidade usuria poder emitir uma resposta positiva ou negativa (aceitao ou
no da requisio). Neste caso, a nvel da camada de Sesso, vo existir duas SPDUs
orientadas conduo das duas possveis respostas ACCEPT ou REFUSE no caso do
servio S_CONNECT e DISCONNECT ou NOT FINISHED no caso do servio S_RELEASE.
A figura 2.3.50 apresenta os formatos das SPDUs, o formato geral sendo apresentado
em 2.3.50(a), onde os campos apresentados tm o seguinte significado:
SI, Session Identifier, um campo de 1 byte que permite identificar o tipo da SPDU;
LI, Length Identifier, ocupa tambm um byte e utilizado para indicar o tamanho da
SPDU em nmero de bytes, indo de 0 a 254; caso a unidade de dados possua um
tamanho superior a 254, LI indica o valor 255 e os dois bytes seguindo este campo
vo apresentar o verdadeiro comprimento da SPDU;
PARMETROS, o campo atravs do qual sero conduzidos os parmetros
associados a uma dada SPDU, a forma de codificao dos parmetros podendo ser
como apresentado em 2.3.50(b), que ser descrita mais adiante; ainda, este campo
pode ser codificado como mostrado em 2.3.50(c) e 2.3.50(d); estes mostram a
possibilidade de reagrupar os parmetros;
DADOS, o campo no qual os dados de usurio podem ser conduzidos.

116

No que diz respeito ao campo PARMETROS, os diferentes formatos so utilizados,


como mostrado em 2.3.50(b) a 2.3.50(d). Em 2.3.50(b), um parmetro caracterizado por um
identificador do parmetro (PI, Parameter Identifier), um campo indicando o tamanho do
parmetro (LI, Length Identifier) e um campo contendo o valor do parmetro (PV, Parameter
Value). Em 2.3.50(c) e 2.3.50(d) so apresentados formatos mais gerais, onde o primeiro
campo identifica o grupo de parmetros (PGI, Parameter Group Identifier), este campo sendo
seguido de um identificador de comprimento do grupo, LI. Finalmente, so apresentados os
parmetros de maneira individual, como j apresentados em 2.3.50(b).
(a)

SI

LI

PARMETROS

(b)

PI

LI

PV

(c)

PGI

LI

PI

LI

PV

(d)

PGI

LI

PI

LI

PV

DADOS

PI

LI

PV

Figura 2.3.50 - Formatos das SPDUs: (a) Formato geral da SPDU; (b) a (d) Formatos do
campo parmetros.
Quando uma SPDU gerada na camada de Sesso, esta enviada no forma de uma
mensagem camada de Transporte. possvel, na camada de Transporte, enviar um conjunto
de SPDUs a nvel de uma mesma mensagem, o que permite otimizar a quantidade de
primitivas de Transporte utilizadas a este mecanismo d-se o nome de concatenao.
Na extremidade de recepo, a entidade de Sesso deve efetuar o processo inverso,
quando da recepo de alguma primitiva de servio de Transporte, recuperando as diversas
SPDUs da mensagem recebida. A este mecanismo, d-se o nome de segmentao.
2.3.7. A CAMADA DE APRESENTAO

Quando foi concebida, a camada de Apresentao era responsvel unicamente pelas


funes de converso entre dados representados em ASCII e EBCDIC. Em seguida, novos
servios foram introduzidos de forma que, atualmente, pode-se descrever a tarefa desta
camada por tudo o que possa estar relacionado representao dos dados a serem
transmitidos, particularmente as funes de:
converso de dados;
criptografia;
compresso de dados.
117

As sees que seguem apresentaro os principais problemas e as solues encontradas


na realizao destas funes.
2.3.7.1.

O problema da representao dos dados

a) A converso de dados
A grande diversidade de equipamentos existentes, de diferentes modelos e,
principalmente, fabricantes distintos gerou uma srie de opes no que diz respeito forma
como os dados poderiam ser representados a nvel de cada computador.
Assim nasceram os inmeros cdigos de representao de dados, onde os mais
conhecidos so o cdigo ASCII e EBCDIC.
Estas diferenas, que no oferecem nenhum inconveniente quando as diversas
mquinas esto operando de maneira isolada, podem representar um verdadeiro quebra
cabeas para um engenheiro de sistemas quando duas destas mquinas devem trocar
informaes.
Se a rede de computadores envolvesse somente computadores de um mesmo tipo, no
haveria maiores problemas de representao de dados, exceto que se utilizassem linguagens
diferentes para os programas aplicativos. No entanto, as redes de computadores devem
suportar a interconexo de equipamentos heterogneos.
Infelizmente, a forma de representao dos dados no igual em todos os
computadores (inclusive no que se refere aos processadores fabricados pela Motorola, Intel,
IBM, etc). Por exemplo, dados na forma alfanumrica seguem em geral uma das duas formas
mais usuais de representao j citadas: computadores de grande porte usam cdigo EBCDIC
enquanto PCs e Workstations usam cdigo ASCII. Valores numricos podem ser
representados em forma binria (complemento 1, complemento 2 ou sinal-magnitude), em
forma alfanumrica (cdigo ASCII ou EBCDIC), em forma BCD (Binary Coded Decimal),
etc. Os exemplos seguintes ilustram esta situao:
nmeros inteiros podem ser codificados de forma binria como:
complemento 1: valor negativo computado por simples inverso de bits
+127 = 0111 1111 (msb = 0 => +)
-127 = 1000 0000 (msb = 1 => -)
complemento 2: valor negativo computado por inverso de bits e somando 1 ao
resultado
+127 = 0111 1111
-127 = 1000 0001 (que seria -126 em complemento 1)

118

sinal-magnitude: msb define sinal, demais bits definem valor


+127 = 0111 1111 (msb = 0 => +)
-127 = 1111 1111 (msb = 1 => -)
caracteres alfanumricos podem ser representados em ASCII ou EBCDIC:
534 em ASCII = 0011 0101 0011 0011 0011 0100
534 em EBCDIC = 1111 0101 11110011 1111 0100
IBM 370 usa BCD para decimais:
534 em BCD = 0000 0101 0011 0100
Decimal binrio Motorola x Intel:
534 (binrio Intel) = 0001 0110 0000 0010
534 (binrio Motorola) = 0000 0010 0001 0110
Isto significa que, quando dois ou mais computadores devem ser conectados via uma
rede, um trabalho de converso dever ser realizado. No caso de arquiteturas de comunicao
que adotem como referncia o modelo OSI, a soluo situa-se a nvel da camada de
Apresentao.
Para compatibilizar diferenas de representao de dados, necessrio realizar uma
converso do formato local de cada equipamento para um formato padro com as
caractersticas seguintes:
o mecanismo deve permitir a descrio de estruturas de dados complexas a serem
intercambiadas, tais como arrays, records, structs, unions, etc;
o mecanismo deve suportar uma codificao no ambgua para as instncias destas
estruturas.
Para tratar o problema, a ISO definiu os conceitos de sintaxe abstrata, sintaxe
concreta e sintaxe de transferncia.
Por Sintaxe Abstrata entende-se a especificao da organizao de uma estrutura de
dados de forma independente da codificao interna utilizada pela mquina. Uma Sintaxe
Abstrata torna possvel a definio de tipos de dados e atribuio de valores. Por exemplo: em
C, a definio de nmeros inteiro (int), nmeros reais de ponto flutuante (float) e estrutruras
complexas (struct) so sintaxes abstratas, que correspondem em PASCAL as sintaxes
abstratas integer, real e record, respectivamente.
Em lugar da adotar a sintaxe abstrata de uma linguagem j existente, a ISO optou por
definir uma linguagem prpria para a especificao de estruturas de dados, conhecida como
ASN.1 (Abstract Sintax Notation One), da qual veremos exemplos mais a frente.
J a Sintaxe Concreta a especificao de um formato para a codificao de
instncias de estruturas de dados a partir de uma sintaxe abstrata. Os exemplos vistos
anteriormente (BCD, ASCII, EBCDIC, Complemento 1, Complemento 2, BCD, etc)
representam sintaxes concretas.

119

A exemplo do que ocorreu com a sintaxe abstrata, a ISO definiu sua prpria sintaxe
concreta sob o padro ASN.1 BER (Basic Encoding Rules). O padro ASN.1 BER adota uma
abordagem denominada TLV, com 3 campos:
Tag: rtulo do tipo de dado
Length: nmero de bytes do dado
Value: valor efetivo do dado em sintaxe concreta (padro ISO 8825)
Finalmente, a Sintaxe de Transferncia a sintaxe concreta adotada para realizar uma
dada transferncia de informaes entre duas maquinas. Assume-se que, no emissor, a camada
de apresentao deve converter os dados a enviar da sintaxe concreta local para a sintaxe de
transferncia, enquanto, no receptor, os dados recebidos so convertidos da sintaxe de
transferncia para a sintaxe concreta local. Por exemplo: dados convertidos da sintaxe abstrata
PASCAL e sintaxe concreta X para ASN.1 BER na mquina A, so transferidos para a
mquina B e convertidos de ASN.1 BER para sintaxe abstrata C e sintaxe concreta Y.
Uma possvel sintaxe de transferncia a prpria ASN.1 BER, que foi concebida pela
ISO com a inteno de exercer este papel.
Uma dada combinao de sintaxe abstrata e sintaxe de transferncia constitui um
Contexto de Apresentao. No exemplo da figura 2.3.7.1 temos duas mquinas que trocam
dados em 3 contextos de apresentao diferentes.
Observe que a sintaxe de transferncia adotada sempre a ASN.1 BER. Note tambm
que uma mesma estao de rede pode fazer uso de diferentes sintaxes abstratas locais em
diferentes processos de aplicao (no exemplo da figura 2.3.7.1 so as sintaxes abstratas
fornecidas pelas linguagens C e FORTRAN) , de forma que podemos ter mais de um contexto
de apresentao para cada mquina.
user 1

user 1

funo 1

funo 2

funo 1

funo 2

sint. abs. C

sint. abs.
FORTRAN

sint. abs. C

sint. abs.
PASCAL

contexto 1

contexto 2

contexto 1

contexto 3

sintaxe de transf. ASN.1 BER

sintaxe de transf. ASN.1 BER

entidade de apresentao A

entidade de apresentao B

Figura 2.3.7.1 - Contextos de apresentao


A camada de apresentao amplia os servios de sesso com uma negociao das
sintaxes de transferncia a usar. No estabelecimento de uma conexo de apresentao so
120

definidos os Identificadores de Contexto de Apresentao (PCI = Presentation Context


Identifier). Cada PCI relaciona uma sintaxe abstrata a uma sintaxe de transferncia (define um
Contexto de Apresentao). Observe que pode-se ter vrios contextos de apresentao em uso
em uma mesma conexo, como no exemplo visto anteriormente.
O conjunto de contextos negociados no estabelecimento da conexo formam um DCS
(Defined Context Set). Novos contextos podem ser includos no DCS durante a operao.
A camada de apresentao converte a representao abstrata de dados vista pela
aplicao (por ex.: um texto com figuras) e recebida na forma de PSDU em uma seqncia de
bytes na forma de SSDU. Esta transformao de representao realizada conforme a
seqncia mostrada na figura 2.3.7.2.

Aplicao

Sintaxe Abstrata do Aplicativo


(ex.: C++)
PSDU
Sintaxe Concreta local

Sintaxe Abstrata Comum


(ex.: ASN.1)
Apresentao
Sintaxe de Transferncia
(ex.: ASN.1 BER)
Compresso / Criptografia

SSDU

Figura 2.3.7.1 - Transformao de representao


b) A compresso de dados
A utilizao de uma rede de comunicao representa normalmente um custo que pode
tornar-se no desprezvel quando o volume de informao a ser transferida relativamente
grande (quem recebe as contas telefnicas no final do ms sabe disso!).
Numa comunicao telefnica, se pudssemos evitar ficar tanto tempo conversando e
falssemos atravs de cdigos que permitissem representar uma maior quantidade de
informao, certamente, uma poro menor dos nossos salrios seriam encaminhadas, todo
ms, nossa companhia telefnica.
Da mesma forma, no caso da comunicao entre computadores, se, atravs da
aplicao de tcnicas de compresso de dados, o volume de informao puder ser reduzido, o
custo da comunicao tambm o ser.
As tcnicas de representao esto fortemente ligadas forma de representao dos
dados. Um bom exemplo disto a representao de nmeros inteiros em binrio. Se, por
121

exemplo, queremos representar nmeros inteiros em 32 bits, uma forma de faz-lo atravs
de 4 bytes.
Por outro lado, se 95% dos nmeros inteiros a transmitir esto na faixa de 0 a 250,
pode ser mais interessante representa-los por um nico byte, utilizando o valor 255 para
indicar quando um nmero tiver de ser representado verdadeiramente em 32 bits. Neste caso,
seriam necessrio 5 bytes (e no mais 4) para representar o nmero. Entretanto, o ganho em
termos de reduo de informao seria altamente compensador, considerando que a quase
totalidade da informao poderia ser representada unicamente em 1 byte.
As tcnicas de compresso de dados no so unicamente teis neste caso. Um outro
aspecto de aplicao importante destas tcnicas a economia de espao em disco e fitas
magnticas no caso do armazenamento de arquivos. Algumas destas tcnicas sero estudadas
mais adiante.
c) A confidencialidade dos dados
O aparecimento das redes de comunicao para a interconexo de computadores vem
introduzindo uma srie de benefcios nos mais diversos setores da sociedade. Entretanto, as
redes de computadores trouxeram tambm preocupaes que no existiam antes do seu
aparecimento. Um exemplo disto o problema da segurana dos dados armazenados num
computador.
Quando no existiam as redes, a nica forma de se ter acessos a dados confidenciais de
uma empresa, laboratrio, universidade, etc, seria entrar no prdio onde se localizava o
computador e copia-los num disco ou fita magntica ou tirar uma listagem. Dependendo da
importncia das informaes armazenadas (uma base militar ou o computador da Brasil Jet), o
prdio poderia ser vigiado dia e noite com direito de acesso a apenas as pessoas de confiana.
Com as redes de comunicao, o acesso aos dados num computador fica bastante
facilitado, apesar dos esforos de bloqueio, como por exemplo as senhas (passwords). Que o
digam os computadores do Pentgono, que j foram visitados por adolescentes em
microcomputadores.
Assim, uma srie de cuidados devem ser tomados no que diz respeito segurana ou
confidencialidade das informaes armazenadas num computador e mesmo daquelas trocadas
entre computadores, dentre elas:

a proteo contra leitura de dados por pessoas no autorizadas;


a proteo contra a insero de mensagens por elementos no autorizados;
a verificao da identidade do emissor da mensagem;
tornar possvel o envio de documentos com assinatura eletrnica.

122

A tcnica de criptografia a soluo que permite implementar os pontos acima


mencionados. Algumas das diversas tcnicas de criptografia conhecidas sero apresentadas ao
longo deste captulo.

2.3.7.2.

As primitivas de servio da camada de apresentao

A tabela a seguir apresenta a lista de primitivas de servio de Apresentao. Como se


pode notar, quase todas as primitivas so idnticas quelas apresentadas na parte anterior,
relativa camada de Sesso.
No caso dos servios orientados conexo, por exemplo, os usurios desta camada, ou
seja, as entidades da camada de Aplicao podem abrir uma sesso utilizando a primitiva
P_CONNECT.request, que se reflete, na camada de Apresentao, pelo envio de uma
primitiva S_CONNECT.request, j descrita quando da apresentao da camada de Sesso.
De fato, a maior parte das primitivas de servio de Apresentao atravessam desta
forma a camada.
A novidade mostrada na camada so as primitivas P_ALTER_CONTEXT, que
compem o servio de alterao de contexto de Apresentao.
Um contexto a unidade na qual so reagrupadas as estruturas de dados utilizadas
pelas entidades de Aplicao. Ao longo de uma sesso, possvel utilizar um contexto durante
um determinado tempo e utilizar um outro num outro momento. O servio
P_ALTER_CONTEXT permite fazer a modificao.

Primitiva
P_CONNECT
P_RELEASE
P_U_ABORT
P_P_ABORT
P_DATA
P_EXPEDITED_DATA
P_TYPED_DATA
P_CAPABILITY_DATA
P_TOKEN_GIVE
P_TOKEN_PLEASE
P_CONTROL_GIVE

R I Rs C Funo
ORIENTADO CONEXO

estabelecimento de conexo

123

liberao negociada de conexo


liberao abrupta (usurio)
liberao abrupta (fornecedor)
transferncia normal de dados
transferncia urgente de dados
transferncia de dados tipados
transf. de dados de capacidade
passagem de ficha de dados
pedido de ficha
passagem de todas as fichas

P_SYNC_MAJOR
P_SYNC_MINOR
P_RESYNCHRONIZE
P_ACTIVITY_START
P_ACTIVITY_END
P_ACTIVITY_DISCARD
P_ACTIVITY_INTERRUPT
P_ACTIVITY_RESUME

P_U_EXCEPTION_REPORT
P_P_EXCEPTION_REPORT
P_ALTER_CONTEXT

P_UNITDATA

insere pto. de sincr. mximo


insere pto. de sincro. mnimo
pedido de resincronizao
incio de uma atividade
fim de uma atividade
abandono de uma atividade
interrupo de uma atividade
retomada de uma atividade

relatrio de anomalia (user)

idem (provider)

alterao de contexto
SEM CONEXO

transferncia de dados

A camada de Apresentao viabiliza a negociao sobre que forma de representao


ser adotada para os dados manipulados pela aplicao. A negociao baseada no
fornecimento, por parte de um usurio, de todas as estruturas de dados que ele deseja utilizar,
sendo que o usurio par pode ou no aceitar a proposta.
Durante o dilogo, ainda possvel que novas propostas de estruturas de dados sejam
negociadas pelos dois usurios.
2.3.7.3.

A notao ASN.1

ASN.1 (Abstract Syntax Notation One) uma sintaxe abstrata que foi definida na ISO
para solucionar a problemtica da representao dos dados. Isto foi motivado pela necessidade
da existncia de uma forma de representao de dados que fosse suficientemente flexvel e
genrica para que pudesse ser utilizada pelas mais diversas aplicaes existentes.
ASN.1 definida pela norma ISO 8824, que apresenta as estruturas de dados previstas
na sintaxe; outra norma, ISO 8825, define a sintaxe de transferncia, ou seja, a forma como as
estruturas de dados ASN.1 podem ser mapeadas em binrio.
As estruturas de dados ASN.1 foram definidas para prever as complexas estruturas de
dados que poderiam ser manipuladas a nvel de uma dada aplicao. Um registro ou uma
estrutura de dados utilizada numa aplicao bancria pode conter os mais diversos campos,
como por exemplo o nome, o endereo, os nmeros de conta, as taxas de cmbio do dia, a
data e hora, etc. Em outras aplicaes, pode existir a necessidade de troca de estruturas de
dados as mais diversas possveis, sendo que cada aplicao pode ter as suas prprias estruturas
de dados. Ainda, algumas estruturas de dados podem ser tpicas de certas aplicaes, outras
especficas a uma determinada empresa ou instituio.

124

Nos estudos apresentados das camadas inferiores, particularmente na apresentao dos


protocolos existentes, muitas estruturas de dados foram apresentadas na forma de figuras, com
seus campos sendo apresentados por retngulos. Estas estruturas podem ser formalizadas por
registros, records, vetores, etc.
A camada de Aplicao, cujas entidades so os usurios da camada de Apresentao,
caracterizada por muitas estruturas de dados, transmitidas na forma de APDUs (Application
Protocol Data Units), compostas de diferentes campos, cada campo tendo um determinado
tipo (booleano, inteiro, etc).
A notao ASN.1 permite formalizar os diversos tipos de dados podendo compor os
campos de uma APDU, reagrupando-os inclusive num mdulo de biblioteca para cada
aplicao tpica. Desta forma, possvel a uma aplicao enviar uma estrutura de dados
camada de Apresentao, dando a ela o nome da estrutura ASN.1 correspondente. A camada
de Apresentao poder, ento, conhecer o tipo e o tamanho de cada campo compondo a
estrutura de dados e, desta forma, codifica-los para a transmisso.
A entidade de Apresentao receptora, por sua vez, conhecendo a estrutura ASN.1 dos
dados recebidos, pode fazer todas as converses que sejam necessrias para adaptar mquina
receptora.
O interesse da existncia de ASN.1 que esta notao serve como uma linguagem
comum para todas as mquinas. Isto evita que todas as mquinas tivessem de conhecer todas
as possveis formas de representao de cada uma das mquinas com as quais elas teriam de
se comunicar. Com ASN.1, basta apenas que cada mquina conhea como codificar seus
dados nesta notao.
A norma ISO 8824 define a notao de sintaxe abstrata ASN.1, cujos principais pontos
sero apresentados a seguir. Em um primeiro exemplo de como um dado pode ser descrito em
ASN.1, vamos fazer um paralelo entre uma estrutura de dados Pascal e uma estrutura de dados
ASN.1.
Vamos considerar que pretendemos representar por uma estrutura em Pascal as
principais caractersticas dos dinossauros. Isto poderia ser feito atravs de uma estrutura do
tipo record, onde cada campo teria seu tipo especfico e representando uma caracterstica dos
dinossauros. Um exemplo disto mostrado a seguir:
type dinossauro = record
nome
: array [1..12] of char;
tamanho : integer;
carnvoro : boolean;
ossos
: integer;
descoberta : integer;
end;

125

No caso de ASN.1, a mesma estrutura de dados poderia ser representada da seguinte


forma:
dinossauro ::= SEQUENCE {
nome OCTET STRING, --12 chars
tamanho INTEGER,
carnvoro BOOLEAN,
ossos INTEGER,
descoberta INTEGER
}
Como se pode notar, no existem muitas diferenas entre a forma de especificar um
record em Pascal e uma seqncia em ASN.1. De fato, tipos complexos em ASN.1 so
gerados a partir de tipos de base, denominados tipos primitivos. Os tipos primitivos da ASN.1
so apresentados na tabela a seguir.
Tipo
INTEGER
BOOLEAN

Significado
inteiro de valor arbitrrio
verdadeiro / falso

BIT STRING
OCTET STRING

lista de bits
lista de bytes

ANY
NULL

conjunto de todos os tipos


nenhum tipo

OBJECT IDENTIFIER
nome de um objeto
Como foi dito, estes tipos podem ser combinados para a definio de estruturas de
dados mais complexas, isto pela utilizao de construtores de ASN.1, onde os mais utilizados
so:
Construtor
SEQUENCE
SEQUENCE OF

Significado
seqncia de elementos de diversos tipos
seqncia de elementos de um mesmo tipo

SET
SET OF
CHOICE

conjunto (no ordenado) de elementos de diversos tipos


conjunto (no ordenado) de elementos de um mesmo tipo
escolha de um tipo entre uma lista de tipos

O construtor SEQUENCE permite construir uma estrutura de dados cujos campos


sejam de tipos diferentes. Ele bastante similar a um record em Pascal, como j foi visto no
exemplo anteriormente apresentado. SEQUENCE OF permite construir vetores de elementos
de um mesmo tipo. O construtor SET similar ao SEQUENCE, com uma diferena apenas

126

os elementos de um SET no so ordenados como no caso do SEQUENCE. Da mesma forma,


SET OF similar a SEQUENCE OF, a mesma diferena sendo vlida para este caso.
O construtor CHOICE permite especificar um dado cujo formato pode assumir
diversas opes. Um exemplo da utilizao deste construtor mostrado abaixo.
PDU_Comando ::= CHOICE {
Comando_local,
Comando_remoto
}
Alm dos tipos primitivos e construtores, existem ainda os tipos pr-definidos de
ASN.1, como por exemplo:
NumericString, que define uma lista de numerais de 0 a 9 mais os brancos;
PrintableString, que define uma lista cujos elementos podem ser as letras
maisculas, as minsculas, os nmeros e os caracteres seguintes: ( ) + - . , / : = ?
GeneralizedTime, para definir datas e horas.
Existe ainda, em ASN.1, a possibilidade de expressar estruturas de dados onde alguns
dos campos possam ou no estar presentes em tempo de execuo so os campos
opcionais. Isto representado atravs da clusula OPTIONAL.
Ainda, pode-se atribuir a um dado um valor inicial (por default) atravs da clusula
DEFAULT.
Finalmente, ASN.1 define ainda o conceito de etiqueta, que permite identificar um
valor associando-o a um dado campo. Para mais detalhes sobre ASN.1, aconselha-se uma
consulta norma ISO 8824 e outros documentos disponveis sobre esta notao.
2.3.7.4.

A compresso de dados

De um ponto de vista genrico, os dados transmitidos atravs de um canal podem ser


vistos como uma seqncia de smbolos S1, S2, ..., SN, pertencentes a um dado alfabeto (bits,
dgitos decimais, letras, palavras de uma lngua, etc).
As tcnicas de compresso de dados existentes so baseadas em trs diferentes
aspectos da representao de dados: a limitao do alfabeto, as freqncias relativas dos
smbolos, o contexto de aparecimento dos smbolos. Estes trs pontos de vista sero
analisados a seguir.
a) Codificao de um alfabeto finito de smbolos

127

Muitas aplicaes so baseadas na representao dos dados atravs de alfabetos finitos


de smbolos. Um exemplo disto so as aplicaes relacionadas utilizao de terminais, onde
os dados so representados pelo alfabeto ASCII.
Consideremos o exemplo do gerenciamento de uma biblioteca, onde um livro poderia
ser identificado pelo seu ttulo, o ttulo de um livro podendo ser expresso em 20 caracteres (ou
140 bits).
Isto significa que, com uma palavra de 140 bits, poderamos identificar at 2140 livros.
No entanto, no existem bibliotecas no mundo que possuam esta quantidade de livros. Assim,
se, ao invs de identificarmos os livros pelo seu ttulo escolhermos um sistema de numerao,
poderemos diminuir em muito a quantidade de bits necessria para a identificao de um livro
de qualquer biblioteca.
b) Codificao dependente da freqncia

Em determinadas aplicaes, muitos smbolos de um alfabeto so muito mais


utilizados que outros. Nos textos em Ingls, por exemplo, a letra E aparece 100 vezes mais
freqentemente que a letra Q, a palavra THE aparecendo 10 vezes mais que BE.
Baseados nestas informaes, os dados podem ser codificados de tal forma que
smbolos ou seqncias de smbolos sabidamente mais freqentes que outros sejam
representados de uma forma especial, simplificada no que diz respeito quantidade de
informao necessria.
As tcnicas consistem normalmente em codificar os smbolos mais freqentes por
cdigos curtos e os menos freqentes por cdigos mais longos.
c) Codificao baseada no contexto

A tcnica apresentada acima baseada na ocorrncia de smbolos ou determinadas


seqncias de maneira isolada, como se a probabilidade de ocorrncia dos smbolos ou
seqncias fosse independente daquela que os precede. Na verdade, estas probabilidades
podem ser altamente dependentes da informao precedente. Por exemplo, no caso de um
texto em Portugus, a probabilidade de ocorrer a letra T aps a letra Q muitas vezes
inferior que a probabilidade de ocorrer uma letra U aps Q. A probabilidade de
ocorrncia de uma letra P aps uma letra N numa palavra nula, a menos que um erro de
ortografia tenha sido cometido.
Uma tcnica mais sofisticada que aquela de levar em conta este aspecto calculando a
probabilidade relativa de ocorrncia de cada smbolo aps os demais smbolos de um alfabeto.

128

No caso das letras, como o exemplo citado acima, isto vai significar na construo de
26 tabelas, cada uma contendo as probabilidades das letras seguindo uma letra do alfabeto. Se
uma forte correlao existir entre os smbolos, a taxa de compresso vai ser muito melhor que
aquela obtida com a utilizao da tcnica apresentada anteriormente.
Uma desvantagem desta tcnica a grande quantidade de tabelas requerida para a
definio das probabilidades relativas. No caso de um alfabeto composto de k smbolos, sero
necessrias k2 entradas em tabela.
Um mtodo possvel de compresso a organizao dos smbolos em tipos, por
exemplo, no caso de letras e nmeros, pode-se classific-los em maisculas, minsculas,
caracteres numricos e caracteres especiais. Assim, quatro cdigos podem ser associados aos
quatro tipos e 28 cdigos vo permitir codificar os caracteres. A idia de base desta tcnica
que, a princpio, todo smbolo aps uma letra minscula tem fortes possibilidades de ser
tambm uma letra minscula, todo smbolo seguindo um caracter numrico tambm um
caracter numrico, etc. Quando se quer chavear de um tipo de smbolo a outro, basta inserir o
cdigo associado ao novo tipo.
Uma tcnica similar pode ser utilizada para codificar longas seqncias de dados
binrios contendo grandes quantidades de zeros. Cada smbolo de k bits indica quantos zeros
separam dois 1s consecutivos. Assim, para tratar grandes faixas de zeros, o smbolo 1 indica
que uma faixa de 2k - 1 mais o valor do smbolo seguinte separa os dois uns. Por exemplo,
para a seqncia
000100000100000010000000000000010000001000100000001100000101
que contm as faixas de zeros de comprimentos: 3,5,6,14,6,3,7,0,1,5 e 1, pode-se utilizar a
codificao seguinte:
011 101 110 111 111 000 110 011 111 000 000 001 101 001
onde a faixa de 14 zeros codificada por 111 111 000 (ou seja, 7 + 7 + 0 = 14). Neste
caso, a compresso permitiu reduzir em 34% o tamanho da informao.
Uma aplicao desta tcnica pode ser feita, com algumas modificaes, na transmisso
digital de imagens de televiso colorida. O sinal constitudos de uma seqncia de quadros,
de 25 a 30 por segundo, cada um contendo um vetor retangular de pontos (pixels) da imagem.
Uma imagem de televiso pode ser composta de 1000 linhas de 600 pixels, cada pixel sendo
codificado em 16 bits, 15 bits para a cor (com 32 nveis para cada cor) e 1 bit para informao
de controle (enquadramento vertical ou horizontal).
Uma codificao direta desta informao necessitaria 600000 pixels por quadro, ou
seja, uma taxa de transmisso de 240 a 288 Mbit/s. Com uma codificao binria, seria
necessrio dispor de uma faixa de freqncia de quase 600 MHz. Uma vez que a transmisso
129

analgica ocupa faixas de freqncia de apenas 6 MHz, a transmisso digital, sem compresso
de imagem, poderia tornar-se invivel.
A soluo est no fato que, em transmisso de imagens, existe uma forte probabilidade
de que muitos quadros consecutivos sejam idnticos queles que os precederam. Desta forma,
basta providenciar, a nvel dos televisores, uma memria que possa armazenar o ltimo
quadro recebido e, assim, transmitir apenas as diferenas entre o quadro anterior e o atual.
2.3.7.5.

A criptografia

A criptografia uma tcnica bastante antiga, introduzida principalmente pelas


organizaes militares, particularmente na troca de mensagens em tempo de guerra. Nessas
ocasies, um problema da criptografia era a dificuldade de decodificao das mensagens
criptografadas, muitas vezes tendo de ser feitas nos campos de batalha em condies
totalmente adversas. Outro problema era a dificuldade na mudana de uma tcnica a outra,
particularmente devido dificuldade em informar o grande nmero de pessoas que deveria
estar consciente da mudana.
O processo de criptografia de uma mensagem ilustrado pela figura 2.3.51. As
mensagens a serem criptografadas so codificadas graas a uma funo parmetrada por uma
chave, gerando, na sada o texto criptografado ou o criptograma. Este texto transmitido por
um mensageiro ou rdio, este podendo ser escutado por um espio.
A diferena entre o espio e o destinatrio que, como o primeiro no tem a chave de
decodificao, ele dificilmente vai poder decodificar a mensagem. Os espies podem efetuar
dois tipos de ao sobre os criptogramas, copi-los unicamente para conhecer o seu contedo
(espio passivo) ou modific-los de modo a confundir o destinatrio destes (espio ativo).
Um princpio das tcnicas de criptografia a suposio de que o espio conhece
sempre as tcnicas gerais da criptografia, ou seja, que pelo menos o esquema apresentado na
figura 2.3.51 conhecido. Por outro lado, criar a cada vez um mtodo diferente de criptagem a
cada vez que um outro considerado conhecido representa um trabalho considervel. A forma
mais eficiente de tentar esconder o jogo atravs da introduo das chaves. As chaves
consistem de seqncias de caracteres relativamente curtas que permitem escolher um mtodo
de criptagem em funo do seu valor. A vantagem disto que, enquanto uma tcnica de
criptagem pode ser modificada numa escala de anos, uma chave pode ser modificada quando
se julgar necessrio.
Os mtodos criptogrficos podem ser subdivididos em Mtodos Simtricos (onde a
chave de codificao igual a chave de decodificao) e Mtodos Assimtricos (onde a chave
de codificao diferente da chave de decodificao).

130

espio passivo

espio ativo

ESPIO

Processo de
codificao

Processo de
decodificao

criptograma

chave de
codificao (k)

chave de
decodificao

Figura 2.3.51 - O processo de criptografia.


Os mtodos de criptografia podem ser organizados em duas principais classes: os
mtodos por substituio e os mtodos por transposio, cujos princpios sero vistos a
seguir.
a) A criptagem por substituio

Nestes mtodos, cada letra ou grupo de letras literalmente substitudo por outra letra
ou outro grupo de letras. A tcnica mais antiga de criptagem atribuda a Jlio Csar, que
definiu uma tcnica onde cada letra do alfabeto seria substituda por uma letra que estivesse 3
passos sua frente ou seja, a seria codificada em D, b seria codificada em E, c seria
codificada em F, etc, e isto de maneira rotativa, de modo que z seria codificado em C. Desta
forma, a palavra REDE ficaria UHGH, portanto, irreconhecvel (exceto, talvez, para um
homem das cavernas...).
Esta tcnica poderia ainda ser generalizada, pelo deslocamento do alfabeto de k passos
ao invs de 3. A esta tcnica generalizada, d-se o nome de permutao circular.
Uma outra tcnica, a substituio monoalfabtica, uma extenso permutao
circular, mas, desta vez, as letras podem ser substitudas por qualquer outra. Por exemplo, se o
alfabeto
abcdefghijklmnopqrstuvwxyz
substitudo por
N B V C X W M L K J H G F D S Q P O I U Y T R E Z A,
a palavra REDE torna-se, agora, OXCX. Com esta tcnica, existem 26! (26 fatorial =
26
4.10 ) chaves possveis. Mesmo que o espio conhea a tcnica, como ele no conhece a
chave, ele teria dificuldade para descobrir o significado do criptograma. No entanto, esta
131

dificuldade pode ser diminuda se forem consideradas as propriedades naturais da lngua


utilizada. Na lngua inglesa, por exemplo, existem letras que so mais freqentemente
utilizadas, como por exemplo, as letras e, t, o, os digramas mais freqentes so th, in, er, e os
trigramas mais utilizados so the, ing, and e ion. E o trigrama mais utilizado da lngua
portuguesa? Nos ltimos tempos, deve ter sido CPI.
Desta forma, a decodificao de um criptograma obtido com a substituio
monoalfabtica, feita associando-se a letra mais freqente letra mais freqente da lngua
considerada, os digramas mais freqentes queles mais freqentes da lngua considerada, etc.
b) A criptagem por transposio
Na criptagem por substituio, apesar da substituio das letras, os cdigos mantm a
ordem correta das letras nas palavras e frases. Na codificao por transposio, as letras no
so substitudas, mas de fato, transpostas de tal forma a esconder o verdadeiro significado do
texto.
Uma tcnica de criptagem mostrada na figura 2.3.52, denominada transposio por
colunas. Nesta tcnica as linhas sero trocadas pelas colunas numeradas em funo de uma
chave que , normalmente, uma palavra no contendo nenhuma letra repetida. No exemplo, a
chave considerada a palavra PESCAR, onde a ordem das colunas associadas a cada uma das
letras vai ser 4-3-6-2-1-5. Assim, um texto como TRANSFERIR UM MILHO PARA A
CONTA DE COLLOR vai ficar SUAADONRHAALRRIANOTEMPOCFMOCERAILRTL.
P

Texto original:
TRANSFERIR UM MILHAO PARA A
CONTA DE COLLOR

Texto codificado
SUAADONRHAALRRIANOTEMPOC
FMOCERAILRTL

Figura 2.3.52 - Exemplo da transposio por colunas.


Seguem alguns exemplos de sistemas criptogrficos muito difundidos na prtica:
DES (Data Encryption Standard): mtodo simtrico desenvolvido pela IBM, com
19 estgios envolvendo transposio e substituio. Padro adotado pelo governo
dos EUA.

132

RSA (Rivest, Shamir & Adleman): mtodo assimtrico desenvolvido pelo MIT,
onde as chaves de codificao e decodificao (diferentes) so obtidas a partir de
operaes com nmeros primos grandes. A codificao feita sobre o valor binrio
de cada smbolo.
PEM (Privacy Enhanced Mail): permite realizar a autenticao da origem de uma
mensagem recebida via mail na Internet. Trata-se aqui de um sistema de Assinatura
Digital: o objetivo no impedir a decodificao, mas atestar a identidade do
emissor (autenticao). O emissor codifica uma parte da mensagem (assinatura)
usando uma chave somente conhecida por ele. A chave de decodificao (diferente)
pblica. O receptor decodifica a assinatura e verifica a autenticidade da mesma.
2.3.7.6.

O protocolo de apresentao

A camada de Apresentao definida a nvel das redes pblicas apresenta uma


caracterstica essencial que no propriamente um servio a utilizao de ASN.1. Esta
facilidade deve ser inteiramente suportada uma vez que, em princpio, muitas das aplicaes
existentes consideram esta notao.
O protocolo de Apresentao relativamente simples, pois, como j foi dito, muitas
das primitivas de servio de Apresentao so mapeadas diretamente sobre primitivas de
servio de Sesso. A tabela a seguir apresenta as PDUs definidas no protocolo de
Apresentao, estas, sendo reagrupadas em quatro classes distintas: estabelecimento de
sesso, desconexo anormal, transferncia de dados e gesto de contexto.
Na primeira classe de servios, as PPDUs so trocadas entre entidades de
Apresentao para o estabelecimento de uma conexo. O processo inicia pelo envio de uma
PPDU CP. Esta PPDU, que foi enviada na forma de uma requisio (request), ser recebida
pela entidade par na forma de uma indicao (indication), o que justifica as duas marcas nas
colunas R e I, respectivamente. Dentre os parmetros encaminhados via esta PPDU, esto a
lista de contextos de Apresentao, expressa por um identificador do contexto (um inteiro), o
nome da notao de sintaxe abstrata (identificador de objeto) e a lista das sintaxes de
transferncia a utilizar. A aceitao ou a recusa da conexo so sinalizadas atravs das PPDUs
CPA e CPR, respectivamente.
Na segunda classe, pode-se notar que no existem PPDUs para a desconexo
(liberao negociada). As conexes so liberadas naturalmente quando as sesses so
liberadas. ARU e ARP so PPDUs utilizadas para a liberao abrupta (ABORT) da conexo.
Para a classe de transferncia de dados, cinco PDUs so previstas, quatro para o envio
dos diferentes tipos de dados, normais, urgentes, tipados e de capacidade, as PDUs
correspondentes, sendo, TD, TE, TTD e TC. A PDU TCC serve para o reconhecimento de
dados de capacidade.
133

Finalmente, na classe de alterao de contexto, quatro PDUs so previstas, duas delas,


AC e ACA, para a requisio e a aceitao de uma alterao de contexto, respectivamente. As
PDUs RS e RSA so utilizadas para os servios de sincronizao de Sesso, como descritas
na parte dedicada camada de Sesso.
PPDU
CP
CPA
CPR
ARU
ARP
TD
TE
TTD
TC
TCC

Significado
Pedido conexo de Apresentao
Aceitao da conexo
Recusa da conexo
Desconexo anormal (iniciativa do usurio)
Desconexo anormal (iniciativa fornecedor)
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

2.3.7.7.

Rs

Exemplos de camadas de apresentao

Os Protocolos de apresentao so padronizados nas normas ISO 8322 e 8323 e nas


recomendaes X.216 e X.226 do CCITT. Eles s existem em redes cuja arquitetura segue o
modelo OSI. Por exemplo, as redes MAP e TOP usam a camada de apresentao proposta
pela ISO, adotando ASN.1 e ASN.1 BER como sintaxe abstrata e sintaxe de transferncia,
respectivamente.
Inmeras aplicaes padronizadas em redes pblicas assumem a disponibilidade da
sintaxe abstrata ASN.1 em uma camada abaixo (por exemplo: os servios FTAM, para
transferncia de arquivos entre estaes de rede, e VTS, para emulao de terminais virtuais).
J a Internet no tem camada de apresentao (no existe esta camada na arquitetura
TCP/IP). A soluo adotada para a troca de dados entre computadores com sintaxes concretas
locais diferentes a seguinte: os pacotes da camada de transporte tem um cabealho com uma
sintaxe concreta fixa (nmeros inteiros de 32 bits em complemento 2) e todos os aplicativos
tem que ser escritos de forma a codificar ao menos o cabealho das TPDUs desta forma. A
sintaxe do resto da informao problema do software aplicativo (em outras palavras,
problema do desenvolvedor de software).

134

2.3.8. A CAMADA DE APLICAO

A camada de Aplicao tem por funo o gerenciamento dos programas de aplicao


do usurio, que executam em mquinas interligadas via rede e utilizam o sistema de
comunicao para a troca de informaes. Os programas de aplicao que possuam processos
situados em mquinas fisicamente separadas e utilizam o sistema de comunicao vo
utilizar-se dos servios de comunicao oferecidos por esta camada.
Esta camada a que mantm o contato direto com os usurios da arquitetura de
comunicao, abrindo caminho para todos os servios oferecidos pelas camadas inferiores.
Os elementos compondo a arquitetura da camada de Aplicao vo se utilizar das
facilidades oferecidas pela camada de Apresentao para a manipulao e a representao de
dados, e os mecanismos de controle de dilogo oferecidos pela camada de Sesso. As
interaes entre os programas aplicativos permitem modelizar a operao cooperativa entre os
sistemas abertos reais, necessitando porm o compartilhamento de uma quantidade de
informaes que viabilize estas interaes, a fim de que o tratamento das atividades seja feito
de maneira coerente.
Dentro desta seo sero estudados os principais aspectos relacionados camada de
Aplicao, dando nfase a sua estrutura e apresentando alguns exemplos de servios
oferecidos. Estes servios podem ser de uso geral ou servios especficos para certas classes
de aplicaes, como veremos mais a frente.
2.3.8.1. Estrutura da camada de Aplicao

a) Definies da norma ISO 9545


Uma aplicao dita distribuda quando os processos de aplicao a ela relacionados
residem em sistemas computacionais distintos. A camada de aplicao do RM-OSI cuida da
comunicao entre processos cooperantes de uma mesma aplicao distribuida .
A grande diversidade das aplicaes podendo ser construdas sobre uma arquitetura de
comunicao e a questo da heterogeneidade dos sistemas, fator importante da concepo do
modelo OSI, conduziu, no mbito da ISO, definio de uma arquitetura unificada para a
camada de Aplicao, denominada ALS (Application Layer Structure) e definida pela norma
ISO 9545. Nesta definio, a norma no prope servios de Aplicao, mas introduz um
conjunto de conceitos relacionados estrutura da camada, que pode servir como base para a
definio de outras normas ou propostas de servios de Aplicao. Os principais conceitos ali
definidos so apresentados a seguir.
Um Processo de Aplicao ou AP (Application Process) representa, de forma abstrata,
um elemento de um sistema aberto real que realiza o tratamento de informao no contexto de
135

uma aplicao particular. Dependendo da natureza da aplicao considerada, um processo de


Aplicao pode ter necessidade de trocar informaes com outros processos de Aplicao. A
atividade de um Processo de Aplicao caracterizada, conceitualmente por uma instncia ou
Invocao de Processo de Aplicao ou API (Application Process Invocation). Os processos
de aplicao comunicam-se por meio de Entidades de Aplicao.
Uma Entidade de Aplicao ou AE (Application Entity) composta de Elementos de
Servio de Aplicao (ASE) e executa os Protocolos de Aplicao. Um mesmo Processo de
Aplicao pode reagrupar diversas Entidades de Aplicao de mesmo tipo ou de tipos
diferentes. As capacidades de comunicao oferecidas por uma AE so ativadas por meio de
uma Invocao de Entidade de Aplicao ou AEI (Application Entity Invocation).
Um Elemento de Servio de Aplicao ou ASE (Application Service Element)
compreende um par servio-protocolo normalizado que pode constituir uma Entidade de
Aplicao. Ele corresponde a um subconjunto das funes ou facilidades de comunicao
oferecidas para o suporte de cooperao entre Entidades de Aplicao. Estas funes e
facilidades so definidas pela especificao de um conjunto de Unidades de Dados de
Protocolo de Aplicao ou APDUs (Application Protocol Data Units) assim como os
procedimentos associados sua utilizao, definindo o Protocolo de Aplicao entre dois
ASEs.
A comunicao entre entidades de Aplicao pares deve ser suportada por alguma
forma de relao que permita a troca de informaes de controle dos protocolos de Aplicao.
Esta forma de relao, que corresponde a noo de conexo entre entidades pares, definida
como uma Associao de Aplicao. Uma Associao de Aplicao ou AA (Application
Association) uma relao cooperativa estabelecida entre duas AEIs para a troca de
informaes. Uma ou mais AAs so criadas quando duas AEIs devem trocar informaes no
contexto de uma dada aplicao. Isto significa que uma AEI pode manter, simultnea ou
seqencialmente, mais de uma AA com uma ou diversas AEIs.
Finalmente, um conceito importante o de um Contexto de Aplicao, que
corresponde ao conjunto de regras e funes a serem implementadas ao longo da durao de
uma Associao de Aplicao para a gesto das trocas de informaes entre AEIs. Este
conceito corresponde a definio de uma semntica e sintaxe unificadas para os dados
trocados entre duas AEIs.
Este conceitos esto ilustrados de forma esquemtica na figura 2.3.8.1.

136

Mdulos especficos da aplicao


ASE1

ASO A

ASE2
CF

AE = ASO 1
Camada de
Aplicao

AP
AE = ASO 2
Figura 2.3.8.1 - Conceitos da camada de aplicao
b) Elementos da camada de aplicao
Na prtica, a camada de aplicao composta de uma srie de entidades de aplicao
(Application Entities, AE) , conhecidas como elementos de servio de aplicao (Application
Service Elements, ASE) e elementos de usurio (User Elements, UE).
Um UE fornece uma interface entre o usurio e os diversos servios de processamento
de informao da camada de aplicao. O UE pode ser visto como uma biblioteca de
procedures e functions a ser linkada com os processos de aplicao (APs) e no costuma ser
padronizado. Cada AE ter usualmente uma nica UE.
Por outro lado, normalmente uma AE ser composta de diversos ASEs. Existem ASEs
que oferecem servios gerais, que propiciam a transferncia de informaes entre APs
independentemente da natureza da aplicao (ex: definio de contexto, sincronizao entre
APs, etc). Tais ASEs de uso geral so denominados Common Application Service Elements
(CASE). Exemplos de servios providos pelos CASEs atualmente disponveis so:
servios de estabelecimento de conexes entre APs (ACSE = Association Control
Service Element);
servios de disparo de operaes em ASEs remotos (ROSE = Remote Operation
Service Element);
servios de implementao de aes atmicas (CCR = Commitment, Concurrency
and Recovery).
Outros ASEs oferecem servios especficos para determinadas aplicaes em
particular e por isso so denominados Specific Application Service Elements (SASE).
Exemplos de servios providos pelos SASEs atualmente disponveis so:
servios de terminal virtual (VTS = Virtual Terminal Services);

137

servios de transferncia e manipulao de arquivos (FTAM = File Transfer,


Access and Menagement);
servios de submisso remota de tarefas (JTM = Job Transfer and Manipulation);
servios de manuseio de mensagens (MHS = Message Handling Services);
servios de mensagens da manufatura (MMS = Manufacturing Message Services).
importante observar que novos ASEs, diferentes dos citados acima, esto sendo
atualmente definidos e padronizados pela ISO, CCITT e outras entidades.
A figura 2.3.8.2 ilustra a relao entre estes elementos de forma esquemtica.
usual dispor-se de um CASE e diversos SASEs em uma camada de aplicao tipica,
como ilustrado na figura.
Program a
aplicativo

AP
UE

cam ada 7
SASE 1
AE

SASE 2

SASE 3

CASE
acesso cam ada 6

Figura 2.3.8.2 - Os elementos da camada de aplicao


A seguir, apresentamos alguns exemplos de ASEs e seus servios.
2.3.8.2. Exemplos de CASE (ASEs para servios comuns)
a) Servios de gesto de Associaes - ACSE
A gesto de conexes um dos problemas a serem resolvidos pela camada de
Aplicao, de forma a evitar que cada aplicao desenvolvida tenha de resolver esta questo
sua maneira. Assim, a nvel desta camada, foi definido um Elemento de Servio de Controle
de Associao, o ACSE (Association Control Service Element) que assume esta tarefa.
Como a totalidade das aplicaes conhecidas requer, normalmente os servios de
gesto de conexo, este elemento de servios deve estar sempre presente a nvel dos contextos
de Aplicao.
Os servios oferecidos pelo ACSE so definidos pelas primitivas apresentadas na
tabela a seguir.
Primitiva

Significado
138

A_ASSOCIATE
A_RELEASE
A_U_ABORT
A_P_ABORT

Estabelecimento de conexo
Liberao negociada de conexo
Liberao abrupta de conexo (usurio)
Liberao abrupta de conexo (provedor)

A_ASSOCIATE um servio confirmado que permite estabelecer uma associao a


partir de um elemento de servio de aplicao. Dentre os parmetros da primitiva de servio,
enviada a proposio de contexto de Aplicao (isto , a semntica e sintaxe dos dados a
serem intercambiados). Em caso de aceitao por parte do receptor da indicao, a associao
ser, ento, estabelecida.
O servio A_RELEASE um servio confirmado que permite liberar, de maneira
ordenada, uma associao estabelecida entre duas AEIs, caracterizando uma liberao
negociada, como definido na parte relativa camada de Sesso.
A_ABORT um servio no confirmado que permite abortar, ou liberar de forma
abrupta uma associao existente. Como j descrito anteriormente, neste caso podem ocorrer
perdas de informaes sendo trocadas atravs da associao. A ativao deste servio de
iniciativa do usurio do ACSE. A_ABORT pode ser ativado pelo iniciador do servio
A_ASSOCIATE, no caso em que no exista concordncia a respeito do contexto de aplicao a
utilizar. A_P_ABORT o servio que efetua o mesmo que A_ABORT, sendo que, desta vez, a
iniciativa do fornecedor do servio.
O ACSE tem acesso a servios de duas das camadas inferiores, particularmente, a
camada imediatamente inferior, de Apresentao, e a camada de Sesso.
No que diz respeito aos servios de Apresentao, uma primeira correspondncia que
se pode estabelecer o de uma associao com uma conexo de Apresentao. Deste ponto
de vista, existem uma correspondncia de 1 para 1, ou seja, uma associao de Aplicao
corresponde a uma conexo de Apresentao.
O ACSE necessita utilizar unicamente os servios de base da camada de Apresentao,
ou seja, os servios P_CONNECT, P_RELEASE e P_U_ABORT. O iniciador do servio
A_ASSOCIATE deve determinar o contexto de Apresentao pretendido.
b) Servios para implementao de aes atmicas - CCR
O CCR (Commitment, Concurrency and Recovery) outro elemento comum de
servio (CASE), que coordena a operao entre unidades distribuidas de forma confivel. Ele
permite definir servios compostos de um conjuntos de aes com a propriedade de
atomicidade, isto , o servio s considerado completo se todas as aes que o compe
foram executadas at o fim.
Um exemplo prtico de situao onde um servio atmico deve ser empregado seria
uma transferncia bancria. Suponhamos que Joo, que cliente do banco A, pede para fazer
139

uma transferencia de uma quantia X para seu amigo Jos, que cliente do banco B. Para
completar a transao, algumas aes tem que ser executadas: o computador do banco A deve
descontar a quantia X da conta de Joo e enviar uma mensagem para o banco B; quando
receber a mensagem do banco A, o computador do banco B deve depositar a quantia X na
conta de Jos e enviar uma mensagem de acknowledge ao banco A, indicando que a operao
foi completada. At ai tudo bem, mas suponha que um dos bancos faa a sua parte do servio,
mas o outro no, devido, digamos, a uma falha local ou a um problema na rede. Se, por
exemplo, o banco B recebeu o pedido de depsito, executou-o, mandou a mensagem de
acknowledge mas esta no recebida, o banco A pode pedir novamente a execuo do
servio, o que resultar, para alegria de Jos, em uma repetio da operao de depsito. Isto
requer um protocolo que s execute a transao de forma completa ou absolutamente no
execute. O CCR opera segundo uma politica cliente-servidor, com um protocolo conhecido
como two-phase commit (submisso em duas fases).
Na primeira fase, quando um cliente pede a um conjunto de servidores a execuo de
um servio atmico, cada servidor verifica a disponibilidade local de atender ao pedido. Se o
pedido puder ser atendido, ele coloca a ordem de servio correspondente em uma memria
no voltil local (que no se apaga se o sistema cair, como por exemplo um disco rgido) e
envia ao cliente um acknowledge positivo. Se o servidor no puder atender ao pedido, ele
envia ao cliente um acknowledge negativo e no faz mais nada.
O cliente espera os acknowledges de todos os servidores envolvidos no pedido. Se um
deles for negativo, ele aborta o pedido e avisa a todos os demais servidores que o servio foi
cancelado. Se todos os acknowledges forem positivos, o cliente envia uma segunda ordem a
todos os servidores confirmando que o servio deve ser executado. Os clientes ento
executam o servio e somente aps isto apagam a ordem da memria no voltil local.
As primitivas de servio do CCR so mostradas na tabela a seguir.
Primitiva

emitida por significado

C-BEGIN
C-PREPARE

Cliente
Cliente

Inicio de ao atmica
Fim pedido de servio

C-READY
C-REFUSE
C-COMMIT
C-ROLLBACK

Servidor
Servidor
Cliente
Cliente

servidor pronto para ao


servidor no pronto p/ao
Submeter ao
Cancelar ao

C_RESTART

Ambos

notificao de queda

Qualquer servio atmico iniciado com C-BEGIN. Quando o cliente terminou de


enviar todos os pedidos de aes que fazem parte do servio atmico, ele envia um CPREPARE. Em resposta a este ltimo comando, os servidores respondem com C-READY ou
C-REFUSE, conforme sua capacidade de atender ao pedido ou no. Se todas as respostas
140

forem positivas, o cliente envia o comando C-COMMIT; em caso contrrio, ele envia um
comando C-ROLLBACK. C-RESTART s usado para avisar aos demais participantes do
servio atmico que uma estao caiu mas est de volta a operao normal.
2.3.8.3. Exemplos de SASEs (ASEs para servios especficos)
a) Servios de terminal virtual - VTS
Os terminais so atualmente de grande importncia para a interao entre usurio e
computador. Existem vrios tipos diferentes de terminais, totalmente incompatveis entre si.
Por exemplo, a apresentao dos dados na tela pode seguir 3 modos bsicos:
modo rolo: onde as linhas anteriores rolam para cima quando uma nova linha
aparece, eventualmente desaparecendo da tela. Estes terminais usualmente no
oferecem capacidade de edio e no tem inteligncia local.
modo pgina: que permite que o usurio movimente o cursor para cima e para
baixo, editando qualquer parte da pgina. Estes terminais j dispe de inteligncia
local (microprocessador interno dedicado).
modo formulrio, oferecem na tela um formulrio com campos especficos que
podem ser editados pelo usurio (usados por exemplo em caixas eletrnicos de
bancos).
O problema que se coloca aqui o de como trocar dados entre computadores que
possuem terminais diferentes. Para resolver problemas de incompatibilidade entre terminais
diferentes na conexo entre terminais e outros recursos computacionais via rede, foram
propostas duas abordagens:
servio de terminal paramtrico: aqui as diferenas entre terminais so parametrizadas,
isto , cada terminal associado a um conjunto de parmetros que definem suas
caractersticas operacionais. Este mtodo requer um concentrador de terminais, cuja
funo definir os parmetros adequados a cada terminal ligado a ele. Existem
padres para estes parmetros, tais como o PAD (Packet Assembler/Disassembler) da
CCITT (conhecido tambm como conversor X.25). O inconveniente desta tcnica
que hoje existe uma variedade muito maior de tipos de terminais do que havia na
poca da sua criao, alguns deles requerendo uma quantidade muito grande de
parmetros para definir todas as suas caractersticas operacionais.
servio de terminal virtual: aqui as funes empregadas para acessar um dado tipo de
terminal so abstradas em um modelo, usualmente um objeto ou classe, que recebe os
dados brutos a serem apresentados na tela e realiza a converso destes para o formato
requerido pelo terminal local. Este mtodo mais geral e atende a todos os tipos de
141

terminais existentes. Ele poder tambm acomodar todos os novos tipos de terminais
que forem surgindo, o que requer apenas a criao de um novo objeto que herde as
propriedades bsicas de algum outro terminal virtual parecido.
A ISO props um conjunto de servios de terminal virtual que visa atender as
necessidades de acesso a terminais para aplicaes relativamente simples (ex.: edio de
texto, interao com o sistema operacional, entrada de dados, etc). Estes servios so parte de
um SASE denominado VTS (Virtual Terminal Service), que inclui tambm um protocolo
denominado VTP (Virtual Terminal Protocol). Este SASE define uma srie de objetos
bsicos, cujos mtodos (primitivas de servio) permitem a execuo das operaes indicadas
na tabela a seguir.
Primitiva

Operao

VT-ASSOCIATE

estabelece conexo entre terminais ou entre um terminal e um


processo de aplicao (AP) via ACSE

VT-RELEASE
VT-U-ABORT

desfaz conexo de forma ordenada via ACSE


desfaz conexo de forma abrupta pelo User via ACSE

VT-P-ABORT
desfaz conexo de forma abrupta pelo Provider via ACSE
VT-CONTEXT-SWITCH altera contexto (semntica e sintaxe dos dados)
VT-START-NEG
inicia negociao de parmetros com parceiro
VT-END-NEG
VT-NEG-INVITE

termina negociao de parmetros com parceiro


convida parceiro a sugerir parmetros de negociao

VT-NEG-OFFER
VT-NEG-ACCEPT

oferece uma sugesto de parmetros ao parceiro


aceita parmetros sugeridos pelo parceiro

VT-NEG-REJECT
VT-DATA
VT-DELIVER

rejeita parmetros sugeridos pelo parceiro


transfere dados estruturados de forma sequenciada
possibilita controlar dados entregues ao parceiro por meio de
uma marca de entrega

VT-ACK-RECEIPT
VT-GIVE-TOKEN

reconhece recebimento de marca de entrega


passa direito de envio da dados ao parceiro (token)

VT-REQUEST-TOKEN

requisita direito de envio de dados ao parceiro

b) servios de manuseio de mensagens - MHS


O MHS (Message Handling Service) um SASE que prov servios para intercmbio
de mensagens eletrnicas entre APs. , portanto, um servio de mail eletrnico, semelhante ao
usado na Internet (s que l se utiliza o SMTP, Simple Mail Transfer Protocol). O MHS
definido na recomendao X.400 da CCITT.
Quando um AP deseja enviar uma mensagem a outro, ele submete a mensagem a um
Agente de Transferncia de Mensagens (MTA, Message Transfer Agent), que entrega a
142

mensagem a outro MTA no lado receptor. Este, por sua vez, entrega a mensagem ao AP
destinatrio. As mensagens tem um formato padronizado, composto de um envelope
(contendo dados como o endereo do destinatrio e do emissor) e o contedo, que a
mensagem em si.
Algumas das primitivas bsicas colocadas a disposio dos APs pelo MHS so as
seguintes:
Primitiva

Operao

M-LOGON

estabelece conexo do AP na rede

M-SUBMIT submete mensagem para envio no lado emissor


M-DELIVER entrega mensagem ao destinatrio no lado receptor
M-NOTIFY
M-LOGOFF

notifica emissor da recepo da mensagem


desfaz conexo

c) Servios de acesso e transferncia de arquivos - FTAM


Em 1987, foi publicada pela ISO a verso definitiva da norma de servios de acesso e
transferncia de arquivos, FTAM (File Transfer, Access and Management), com o nmero
ISO 8571.
A norma cobre um dos assuntos mais importantes da interconexo de sistemas, uma
vez que ela normaliza o protocolo que permite oferecer os servios de acesso e transferncia
de arquivos.
FTAM permite a transferncia do todo ou de parte de um arquivo, ao destinatrio ou a
uma estao (sistema) distante, oferecendo ainda servios de controle de erros, retomada
imediata ou no, controle de acesso a arquivos (acesso seletivo, proteo, etc.) e modificao
dos atributos de um arquivo.
O tratamento de arquivos via FTAM baseado no conceito de arquivo virtual, que
permite representar, para os servios FTAM, o arquivo real. A relao entre estes elementos
apresentada na figura 2.3.8.3.
A noo de arquivo virtual permite tornar transparente ao usurio as diferentes formas
de armazenamento e os mtodos de acesso dos sistemas de arquivo real. FTAM permite
estabelecer as relaes entre o sistema de arquivos real e os sistemas de arquivos virtuais.
Um servidor virtual de arquivos reagrupa todas as informaes relativas aos arquivos,
permitindo conhecer o estado de um arquivo num dado instante. O modelo definido para o
servidor de arquivos virtuais contm atributos os mais genricos possveis quanto
representao dos aspectos de um servidor de arquivos reais.
Este modelado como uma entidade enderevel com a qual um usurio remoto pode
se comunicar, utilizando os servios FTAM. A princpio, um nmero arbitrrio de usurios
pode ser associado a um mesmo servidor virtual de arquivos num dado instante. Ainda, um
143

servidor virtual de arquivos pode gerenciar um nmero arbitrrio de arquivos, onde cada
arquivo caracterizado por atributos tais como: o nome, aes possveis sobre o arquivo
(leitura, insero, substituio, etc...), controle de acesso (somente leitura, somente escrita,
etc...), tamanho do arquivo, identidade do criador, data e hora de criao, identidade do ltimo
modificador, data e hora de modificao, etc.
Sistema Real A

Sistema Real B

ARQUIVO
REAL A

ARQUIVO
REAL B

Ambiente OSI
ARQUIVO
VIRTUAL A

protocolo FTAM

ARQUIVO
VIRTUAL B

ARQUIVO
VIRTUAL C

ARQUIVO
REAL C

Sistema Real C

Figura 2.3.8.3 - Relao entre arquivos virtuais e arquivos reais.


A seleo de um arquivo caracterizada por duas etapas: o estabelecimento de uma
associao entre o usurio querendo selecion-lo e o servidor virtual de arquivos; o
fornecimento da identidade do arquivo a selecionar.
A estrutura de acesso aos arquivos num servidor virtual de arquivos assume a forma
arborescente, coerente com as estruturas mais genricas dos sistemas reais de arquivos. Esta
estrutura ilustrada pela figura 2.3.8.4, onde se pode ver um nico n raiz (R), ns internos
(A, E) e folhas (B, C, D, F) conectadas por arcos dirigidos. Um n da rvore pode pertencer a
um nico nvel, podendo, por sua vez, servir de acesso sua subrvore, conhecida como uma
Unidade de Dados de Acesso a Arquivo ou FADU (File Access Data Unit). O contedo de um
arquivo pertencente ao servidor de arquivos mantido numa ou mais Unidades de Dados ou
DU (Data Unit).
Uma DU um objeto de dados tipado (escalar, vetor, conjunto, etc...), contendo
elementos de dados atmicos denominados Elementos de Dados, aos quais normalmente
associada uma sintaxe abstrata (caracter, byte, inteiro, etc...).
Os servios associados a um servidor virtual de arquivos so acessados via primitivas
de servio, que sero apresentadas a seguir.
Os servios oferecidos pelo FTAM para o acesso e a transferncia de arquivos so
organizados em unidades denominadas regimes. Os regimes correspondem a etapas da
manipulao de arquivos, a tabela a seguir apresenta o conjunto de primitivas associado a
cada um deles.
144

FADU

R
DU

FADU

NVEL 0

FADU

A
DU

DU

DU

D
DU

DU

NVEL 1

DU

NVEL 2

Figura 2.3.8.4 - Estrutura de acesso do servidor virtual de arquivos.


REGIME: CONEXO
APLICAO
F_INITIALIZE
F_TERMINATE
F_ABORT

DE estabelece a autorizao e as informaes


necessrias operao do servidor de arquivos
inicializao da associao (via ACSE)
terminao negociada de associao (via ACSE)
terminao abrupta da associao (via ACSE)

REGIME:
SELEO
ARQUIVO
F_SELECT
F_CREATE
F_DESELECT
F_DELETE
F_READ_ATTRIB
F_CHANGE_ATTRIB

DE identificao
de
arquivos
que
manipulados
seleo de um arquivo existente
criao de um arquivo
liberao de um arquivo
eliminao de um arquivo
leitura dos atributos do arquivo
modificao de atributos de um arquivo

REGIME:
ARQUIVO
F_OPEN
F_CLOSE
F_LOCATE
F_ERASE

ACESSO

sero

A viabiliza as transferncias de dados, incluindo


as capacidades necessrias para a transferncia
abertura de um arquivo
fechamento de arquivo
localizao de um arquivo
apaga contedo de um arquivo

REGIME: TRANSFERNCIA
DE DADOS
F_READ
F_WRITE
F_DATA
F_DATA_END
F_TRANSFER_END

etapa de transferncia de dados de e para


arquivos
leitura do contedo de um arquivo
escrita sobre um arquivo
transferncia de dados
transferncia de fim de dados
fim de transferncia de dados

2.3.8.4. Viso geral dos ASEs disponveis

O FTAM, como foi apresentado, constitui-se em um importante elemento de servio


de aplicao (ASE) para as aplicaes que exijam manipulao ou transferncia de arquivos,
sejam aplicaes de automao de escritrio ou de automao da manufatura. No que diz

145

respeito a esta segunda classe de aplicaes, podemos destacar como um importante elemento
de servio de aplicao, o ASE denominado MMS (Manufacturing Message Services),
proposto para a camada de aplicao da rede MAP, que ser apresentado mais adiante, quando
tratarmos de redes industriais.
Alm dos ASEs vistos anteriormente, a ISO e a CCITT definiram uma srie de outros
elementos de servio. A tabela a seguir apresenta, de forma resumida, os principais padres
utilizados a nvel de aplicao no modelo OSI.
Nome do ASE

Norma ISO

Recomendao CCITT

ACSE (Association Control Service Element)


RTSE (Reliable Transfer Service Element)
ROSE (Remote Operations Service Element)

ISO 8649 / 8650


ISO 9066
ISO 9072

X.217 / X.227
X.218 / X.228
X.219 / X.229

CCR (Commitment, Concurrency and Recovery) ISO 9804 / 9805


MHS (Message Handling Services)
ISO 10021

X.400 / X.420

EDS (Electronic Directory Services)


ISO 9594
FTAM (File Transfer, Access and Management) ISO 8571
VTS (Virtual Terminal Services)
ISO 9040 / 9041
JTM (Job Transfer Manipulation)
DTP (Distributed Transaction Processing)

X.500 / X.521

ISO 8831 / 8832


ISO 10026

MMS (Manufacturing Message Services)


ISO 9506
CMIP (Common Management Information ISO 9505 / 9596
Protocol)
RDA (Remote Database Access)

X.710 / X.711

ISO DIS 9579

2.4. A INTERCONEXO DE REDES


2.4.1. INTRODUO

O problema da interconexo aparece no momento em que dois usurios que


necessitam dialogar no esto conectados necessariamente mesma subrede. Um exemplo
tpico deste problema encontrado nas propostas de comunicao em automao industrial.
Como sabido, tanto as empresas como as arquiteturas de comunicao de dados obedecem,
geralmente a uma organizao hierrquica. As fbricas podem ser divididas em clulas e
reas, enquanto o setor administrativo pode ser dividido em departamentos, sesses, divises,
coordenadorias, etc.
Estas divises so normalmente baseadas no estabelecimento de critrios funcionais,
tendo as funes de cada diviso significado especial na empresa.

146

As razes que podem conduzir a sistemas integrando diferentes subredes podem ser de
naturezas as mais diversas:
muito mais econmico interligar computadores geogrficamente prximos atravs
de uma rede local e compartilhar uma interface nica com uma rede externa do que
conect-los, cada um deles a esta mesma rede externa;
tecnologicamente limitante a interconexo (via uma rede local) de um grande
nmero de computadores separados por grandes distncias; por exemplo, os diversos
computadores localizados em diferentes prdios de um campus de universidade.
Neste caso, mais interessante interligar os computadores de cada prdio por uma
rede local sendo que as diversas redes locais sero interconectadas;
o desempenho e a confiabilidade de um sistema podem ser fortemente aumentados
se, ao invs de interligar um grande nmero de estaes por uma nica rede, esta for
particionada em duas ou mais redes; cada rede local associaria aquelas estaes que
possuam maior trfego entre elas, diminuindo assim o trfego no suporte de
transmisso, sendo que elementos de interconexo das diversas redes garantiriam a
comunicao entre as estaes conectadas a diferentes redes;
funcionalmente mais interessante interligar estaes que realizem trabalhos
pertencentes a atividades compatveis por redes locais adequadas ao perfil destas
atividades; as diferentes redes associadas a cada nvel de atividade continuariam a
permitir a comunicao entre estaes pertencentes a diferentes atividades atravs
dos elementos de interconexo.
O problema da interconexo de redes derivado de trs questes importantes:
a primeira est relacionada funo de roteamento, dado que dois equipamentos
envolvidos num dilogo podem no pertencer mesma subrede;
a segunda est relacionada com a possibilidade (bastante realista) de que duas
subredes interconectadas, apesar de possuirem arquiteturas semelhantes, no
implementem os mesmos protocolos (por ex.: Token-Ring x Ethernet), o que
representa um problema no trivial a ser resolvido;
a terceira, ainda mais complexa, est relacionada com a hiptese de que as subredes
a serem interconectadas, alm de possuirem protocolos diferentes em cada camada,
no sejam baseadas na mesma arquitetura (por exemplo, uma das subredes tem
arquitetura IBM-SNA, a outra segue a arquitetura TCP/IP e uma terceira OSI).

147

A soluo normalmente adotada para os problemas acima consiste na definio de um


equipamento especial de rede, cuja funo oferecer suporte para a interconexo, como
ilustra a figura 2.4.1. Levanta-se ento a questo de que caractersticas e funes estes
equipamentos devem ter.

Figura 2.4.1 - O problema de interconexo de redes


O objetivo desta seo discutir os principais aspectos associados interconexo de
subredes, abordando desde a forma como a interconexo vista no modelo OSI, at a
resoluo das questes apresentadas acima. Apresentaremos tambm as funes principais dos
equipamentos de interconexo de redes mais usados.
2.4.2. ASPECTOS DA CONECTIVIDADE

Retornando s questes levantadas acima, uma srie de pontos tcnicos devem ser
resolvidos para possibilitar a interconexo de redes. Vamos discutir alguns destes pontos a
seguir.
2.4.2.1.

Endereamento

A funo essencial de uma rede de computadores permitir a troca de informaes


entre os equipamentos a ela conectados. Dada a possibilidade de interligao de equipamentos
heterogneos, torna-se necessria a definio de uma poltica de representao dos nomes e
endereos dos processos, que sejam reconhecidos em qualquer ponto da rede. Uma forma de

148

faz-lo permitir que os usurios possam ser identificados por nomes (ou cadeias de
caracteres) em lugar de endereos numricos, difceis de memorizar. Isto significa que os ns
da rede devem manter tabelas que efetuem o mapeamento entre os nomes dos processos
usurios da rede e os seus endereos efetivos.
Entretanto, quando duas ou mais subredes so interconectadas, os padres de
endereamento podem ser distintos e um meio de identificar (de maneira transparente) os
processos situados nas diferentes subredes deve ser implementado. Alm disso, no caso de
adoo de nomes para os processos usurios, como os nomes locais podem se repetir em
subredes diferentes, necessrio um esquema que os diferencie.
A poltica adotada para resolver esta questo aquela do endereamento hierrquico,
como, por exemplo, a definida pelo CCITT (recomendao X.121), onde cada endereo
apresenta trs componentes: um cdigo de pas (3 dgitos), um cdigo da rede (1 dgito) e um
campo para o endereo dentro da rede (10 dgitos). Isto significa que cada pas pode definir
at 10 redes, cada rede tendo 10 dgitos para definir seus endereos, o formato dependendo de
cada rede.
Um outro exemplo deste tipo de soluo o esquema de endereamento oferecido pelo
DNS (Domain Name System). Cada usurio identificado de forma univoca na rede por um
nome na forma user@domnio1.domnio2, que convertido em endereo IP pelos
servidores de nomes domnio1 e domnio2, passando para algo na forma 200.24.120.5.
Este o esquema padro adotado no TCP/IP (Internet).
2.4.2.2.

Encaminhamento das mensagens

Este aspecto est diretamente ligado s funes de roteamento implementadas na


camada de Rede. A questo colocada aqui est relacionada com a forma de encaminhamento
de uma mensagem quando esta trocada entre dois equipamentos situados em subredes
diferentes.
Um aspecto a ser ressaltado aqui o problema de roteamento, j abordado
anteriormente (camada de Rede), sendo que alguns dos algoritmos de roteamento foram l
apresentados. Faz-se necessria aqui a disponibilizao de equipamentos de interconexo de
redes com a capacidade de realizar esta funo entre subredes de tipos diferentes. Tal
equipamento, como veremos mais a frente, recebe o nome de router (roteador).
2.4.2.3.

A fragmentao de mensagens

Este um outro problema importante, dado que diferentes subredes podem trabalhar
com tamanhos distintos de mensagens (os tamanhos mximos). bvio que uma soluo
seria limitar o tamanho mximo das mensagens podendo transitar em todas as subredes como
149

sendo o menor tamanho mximo de todas as subredes, mas esta uma soluo pouco
eficiente.
A soluo mais interessante a seguinte: quando uma mensagem deve transitar entre
diferentes subredes, se ela ultrapassa o tamanho mximo da subrede pela qual ela vai transitar,
esta decomposta em vrias mensagens (ou fragmentos), cujas dimenses sero adaptadas s
limitaes da subrede considerada. evidente que, caso estes fragmentos sejam enviados a
uma nova subrede que suporte o tamanho mximo da subrede de origem, estes podero ser
reagrupados para recompor a mensagem original.
Estes so alguns dos pontos a serem discutidos no momento em que um elemento deve
ser projetado para a interconexo de duas subredes. Outros pontos no menos importantes so:
o controle de erros, o tipo de servio (orientado conexo ou no), o nvel da interconexo, o
controle de fluxo, o controle de congestionamento, a segurana, a tarifao de servios.
2.4.3. A INTERCONEXO SEGUNDO O MODELO OSI
Antes de estudarmos os elementos responsveis da interconexo de redes, vamos
analisar a abordagem do modelo OSI no que diz respeito a este problema particular. Segundo
o que foi estabelecido no modelo OSI no que diz respeito interconexo, a camada de Rede
assume a resoluo destes problemas, sendo para tal subdividida em trs subcamadas, como
mostra a figura 2.4.2: a subcamada de acesso subrede, a subcamada de adaptao da
subrede e a subcamada de interconexo.
A primeira subcamada, representada pelos nveis 3a na figura 2.4.2, responsvel do
gerenciamento do protocolo da subrede considerada, assumindo a recepo e o envio dos
pacotes de controle e implementando as funes de base da camada de Rede.
A segunda subcamada, representada por 3b em 2.4.2, responsvel de todas as
adaptaes entre servios necessrias entre as subredes interconectadas. Caso uma das
subredes no for compatvel com o modelo OSI (caso nada raro), seus servios tero nomes,
funes e parmetros diferentes, que precisam ser adaptados de forma a obter uma
uniformizao de sintaxe e semntica entre as subredes envolvidas.

150

sistema A

sistema B

4a7

4a7
relay

3c
3b
3a

3c'
3b'
3a'

3c'
3b 3b'
3a'
3a
2
2

subrede 2

subrede 1

Figura 2.4.2 - Estrutura interna da camada de rede do ponto de vista da interconexo,


segundo o modelo OSI.
Finalmente, a terceira subcamada, 3c em 2.4.2, a que implementa efetivamente a
interconexo das subredes responsabilizando-se pelo roteamento entre as subredes.
As diferenas entre as subredes interconectadas podem ser de diferentes naturezas. No
caso de subredes em conformidade com o modelo OSI, a interconexo feita apenas atravs
da transmisso, via subcamada de interconexo, dos pacotes s subcamadas de acesso
subrede da subrede considerada. Neste caso, a funo da subcamada de adaptao
inexistente e esta camada fica ento vazia.
Por outro lado, se uma rede no-OSI deve ser interconectada a uma baseada no modelo
OSI, as adaptaes devero ser implementadas, isto sendo funo daquela subcamada.
A tarefa de roteamento dentro de uma grande rede, composta de diversas subredes,
similar quela a nvel de uma nica subrede, o que significa que as tcnicas discutidas na
seo referente camada de rede podem ser utilizadas.
2.4.4. AS DIFERENTES POSSIBILIDADES DE INTERCONEXO

A figura 2.4.3 ilustra diferentes possibilidades de interconexo de redes (locais ou de


longa distncia). Em cada caso, necessrio introduzir um elemento intermedirio ou relay,
responsvel das adaptaes de protocolo que sejam necessrias, podendo ser uma ponte (ou
bridge) ou passarela (gateway), dependendo do tipo de interconexo.

151

LAN
G

LAN

LAN

WAN

WAN

BRIDGE

LAN-LAN

WAN-WAN

LAN-WAN

LAN-WAN-LAN

G GATEWAY

Figura 2.4.3 - Possibilidades de interconexo de redes.


Saindo um pouco do contexto do modelo OSI, no caso mais geral, a tarefa efetuada
pelos relays pode ser implementada em qualquer camada, os quatro tipos de relays mais
comuns sendo:
os repetidores (repeaters), implementados no nvel fsico, que permitem unicamente
amplificar e retransmitir os sinais eltricos representando os bits de dados entre dois
segmentos de cabo;
as pontes (bridges), implementadas no nvel enlace, que efetuam o armazenamento e
retransmisso dos quadros entre 2 redes locais; a retransmisso do quadro pode ser
caracterizada por algumas modificaes nos formatos dos quadros, se necessrio;
os roteadores (routers), implementados no nvel rede, que retransmitem pacotes
entre vrias redes;
as passarelas (gateways), implementadas ao nvel aplicao, cuja tarefa bem mais
complexa que as dos elementos anteriores, utilizados para a interconexo de
subredes incompatveis at mesmo do ponto de vista da arquitetura (redes OSI x
redes no-OSI).
Apresentaremos, a seguir, algumas caractersticas importantes destes elementos.
2.4.5. OS REPETIDORES (REPEATERS)
Os repetidores so usados para interligar subredes idnticas, produzindo basicamente o
efeito de uma simples extenso. Eles atuam somente a nvel fsico, recebendo quadros de uma
subrede, reforando sinais eltricos e retransmitindo na outra subrede, conforme mostrado na
figura 2.4.4. Sua implementao usualmente feita somente em hardware.

152

Camada 7

SUBREDE A

SUBREDE B

Camada 7

Camada 6

Camada 6

Camada 5

Camada 5

Camada 4

Camada 4

Camada 3

Camada 3

Camada 2

Repeater

Camada 1

Camada 1

SUBREDE A

Camada 1

Repeater

Camada 2
Camada 1

SUBREDE B

Figura 2.4.4 - Repetidor expandindo uma rede (nvel OSI 1)


Um repetidor introduz sempre um pequeno retardo na entrega de uma mensagem, de
modo que o nmero de repetidores que podem ser utilizados em uma rede limitado.
Os repetidores tem uma funo muito importante em redes com topologia em anel
(ex.: Token-Ring), onde retransmitem mensagens entre segmentos de rede, de um n do anel
para o outro. Veremos o funcionamento deste tipo de rede mais a frente, na discusso sobre a
norma IEEE 802.5.
Em redes com topologia em barramento, deve-se evitar caminhos fechados envolvendo
repetidores, pois cada mensagem seria repetida infinitamente.
Em redes baseadas em conteno (ex.: CSMA/CD), o repetidor deve tambm detectar
colises em uma subrede e sinalizar sua ocorrncia na outra (Figura 2.4.5).

Figura 2.4.5 - Repetidor em redes CSMA/CD (Ethernet)

153

2.4.6. AS PONTES (BRIDGES)


Se duas subredes apresentam compatibilidade em relao camada de enlace de
dados, uma ponte pode ser utilizada para interconect-las.
Uma ponte um equipamento inteligente (baseado em microprocessador) conectado a
duas subredes ou entre uma subrede e a backbone. Dado que as duas redes esto conectadas
ponte utilizam a mesma poltica de endereamento na camada 2 do modelo OSI, ela examina
os endereos de ambas as redes para definir que mensagens devem ser passadas de uma rede
outra. As pontes so bidirecionais por natureza, o que significa que elas so responsveis do
encaminhamento de todos os pacotes emitidos ao nvel das duas redes. A figura 2.4.6 ilustra a
forma de interconexo atravs de uma ponte.
A operao de uma ponte baseada na manuteno de uma tabela contendo os
endereos dos equipamentos compondo as redes qual ela est associada.
Quando um pacote recebido, esta examina o contedo do campo endereo do
destinatrio para verificar se ele est endereado a um equipamento situado na mesma rede
de origem ou no.
SUBREDE A

SUBREDE B

Camada 7

Camada 7

Camada 6

Camada 6

Camada 5

Camada 5

Camada 4

Camada 4

Camada 3

Camada 3

PONTE

Camada 2

Camada 2

Camada 2

Camada 2

Camada 1

Camada 1

Camada 1

Camada 1

SUBREDE A

PONTE

SUBREDE B

Figura 2.4.6 - Ponte interconectando duas sub-redes (nvel OSI 2).


Em caso positivo, o pacote encaminhado ao equipamento considerado. Caso
contrrio, este ser despachado pela ponte para a outra sub-rede. Normalmente, as pontes
implementam um algoritmo de "aprendizagem", utilizado para inicializar a tabela de
endereamento existente em cada uma delas.

154

Do ponto de vista do desempenho, as pontes so elementos de interconexo que


apresentam um tempo de resposta relativamente curto, uma vez que, em grande parte de sua
operao, os pacotes no sofrem nenhum processo de reformatao para serem despachados.
Um caso bastante comum encontrado nas empresas a necessidade de interconexo de
redes Ethernet com as redes do tipo Token-Ring (Anel com Ficha). Um primeiro problema a
resolver, neste caso, a grande diferena estrutural dos pacotes utilizados por cada um destes
tipos de rede. Uma rede Ethernet utiliza pacotes cujo tamanho no deve ultrapassar os 1.500
bytes; uma rede Token Ring a 4 Mbit/s pode transmitir pacotes de at 4.000 bytes.
Uma ponte orientada interconexo destes dois tipos de rede deve, ento, oferecer a
possibilidade de segmentao dos pacotes de grandes dimenses das redes Token-Ring em
pacotes menores da Ethernet.
Dado que, no modelo OSI, a independncia de redes uma das caractersticas
enfatizadas, bem possvel que as duas subredes utilizem suportes de transmisso (camada
fsica) distintos. Um exemplo disto a possibilidade do estabelecimento de interconexes por
pontes nas arquiteturas MAP/TOP. Por utilizar a mesma camada de enlace (IEEE 802.2), as
duas arquiteturas podem ser interconectadas, apesar de uma (MAP) utilizar o suporte de
transmisso em banda larga e a outra (TOP) utilizar banda bsica.
Na filosofia do modelo OSI, uma ponte pode interconectar duas redes quaisquer, desde
que estas sejam totalmente compatveis em suas camadas de enlace de dados e da para cima
(principalmente, no endereamento). Ainda deste ponto de vista, dois usurios finais no
precisam tomar conhecimento da existncia de uma ponte na rede; esta vista como um
equipamento "observador" nas redes s quais ela est conectada. Sua funo monitorar todo
pacote que circula em cada uma das redes qual ela est associada.
2.4.7. OS ROTEADORES (ROUTERS)
Como foi dito acima, as pontes so equipamentos que permitem interconectar as
subredes, duas a duas. Apesar de sua grande utilidade neste caso bastante comum, as pontes
apresentam limitaes que impedem outras maneiras tambm importantes de interconexo.
Os roteadores so elementos operando ao nvel de Rede, que se utilizam do
endereamento definido a este nvel para transferir e rotear as mensagens de uma rede a outra.
Ao contrrio das pontes que interligam as subredes duas a duas, os roteadores podem
interligar duas ou mais subredes, sendo que a escolha de que linha utilizar feita com base na
execuo de um algoritmo de roteamento, como j discutido anteriormente (camada de Rede).
A poltica de endereamento implementada a nvel da camada de Rede bastante
similar codificao de nmeros telefnicos numa rede de telefonia. Se algum, por exemplo,
quer fazer uma chamada telefnica de Florianpolis para Paris, ele deve discar inicialmente
(aps o cdigo de discagem direta internacional) o cdigo do pas (no caso, 33 para a Frana),
em seguida, o cdigo da cidade (1, para Paris) e, finalmente, o nmero do telefone da pessoa
155

com quem ele vai querer dialogar. No modelo OSI, o esquema de endereamento definido
de forma a cobrir os mltiplos formatos de endereamento de rede (ver parte relativa
camada de Rede).
Uma das desvantagens das pontes que o fato de que, todo pacote transitando ao
longo das subredes recebido por cada uma das estaes conectadas a estas subredes,
implicando, em condies normais, num aumento considervel de trfego. Ainda, a
possibilidade de um congestionamento no est muito distante uma vez que uma interface de
rede em pane poder despejar uma grande quantidade de pacotes incompatveis na rede.
Ao contrrio das pontes, um roteador no tem necessidade de analisar todos os pacotes
circulando na rede. Isto significa que, no caso dos roteadores, o problema descrito acima pode
ser evitado pois eles seriam capazes de bloquear aqueles pacotes que no obedecessem a um
determinado perfil.
um equipamento bastante poderoso, dado que ele pode interconectar um nmero
relativamente grande de redes, de uma forma transparente ao usurio do servio. Em
aplicaes onde haja necessidade de interligao de mais de duas subredes, um roteador
dever certamente ser o elemento escolhido para realizar a conexo (em lugar de uma ponte).
Em aplicaes industriais, por exemplo, um bom nmero de empresas se caracteriza
por possuir suas usinas, fornecedores, depsitos, lojas de venda, etc, em locais
geogrficamente dispersos. A fim de trocar informaes entre estes setores, a conexo das
diversas redes locais a uma rede de longa distncia pode ser viabilizada atravs de um
roteador.
Um papel importante desempenhado pelos roteadores est na interconexo de redes
heterogneas. Quando um pacote pertencente a uma subrede implementando um protocolo X
deve ser encaminhado a uma subrede implementando um protocolo Y, o roteador dever
realizar as converses de formato necessrias para que o pacote seja encaminhado respeitando
os requisitos impostos pelo protocolo Y. A interconexo entre subredes atravs de um
roteador ilustrada nas figuras 2.4.7.
2.4.8. AS PASSARELAS (GATEWAYS)
Os gateways so os elementos de interconexo de concepo mais complexa. A sua
importncia no que diz respeito s necessidades de interconexo das redes o fato de que nem
todas as redes de comunicao implantadas e em funcionamento atualmente foram construdas
com base no modelo OSI, muitas solues "proprietrias" e "padres de fato" sendo adotados
na forma de redes locais.
Isto significa que est longe do incomum a necessidade de interligao de redes
baseadas no modelo OSI com redes no-OSI. Isto requer, ento, a construo de um
equipamento de interconexo que seja capaz de compatibilizar as diferenas estruturais e de
protocolo existentes entre as duas redes. Este equipamento o gateway.
156

SUBREDE A

SUBREDE B

Camada 7

Camada 7

Camada 6

Camada 6

Camada 5

Camada 5

Camada 4

Camada 4

ROTEADOR

Camada 3

Camada 3

Camada 3

Camada 3

Camada 2

Camada 2

Camada 2

Camada 2

Camada 1

Camada 1

Camada 1

Camada 1

SUBREDE B

SUBREDE A

ROTEADOR

SUBREDE D
SUBREDE C

Figura 2.4.7 - Roteador interligando subredes (nvel OSI 3).


Os gateways so elementos que devem possuir dois "stacks" de protocolos, um sendo
baseado na arquitetura a 7 camadas do modelo OSI e o outro, baseado na arquitetura
proprietria considerada (figura 2.4.8).
Normalmente, os gateways so construdos com uma orientao a uma dada aplicao,
como, por exemplo, a interconexo entre uma rede proprietria e uma rede MAP. Um
exemplo disto a interconexo de uma rede com arquitetura SNA (proprietria da IBM) na
qual um mainframe IBM est interconectado com uma rede MAP. O gateway a ser construdo
para realizar esta conexo deveria possuir as 7 camadas (OSI-like) definida pela arquitetura
MAP, um programa de aplicao para realizar a transferncia de arquivos, e um conjunto de
protocolos necessrios para a comunicao dentro da rede SNA.
2.4.9. CONCENTRADORES
Apesar de os concentradores no serem propriamente equipamentos de interconexo
entre subredes como os repetidores, pontes, roteadores e passarelas, abordaremos aqui
brevemente estes equipamentos, pois so tambm importantes elementos utilizados no
gerenciamento e operao de redes. Os equipamentos chamados concentradores representam
um retorno topologia em estrela do ponto de vista fsico, mas mantendo a topologia lgica
requerida pelas placas de rede em uso (barramento, anel, etc.).

157

R ED E M AP (OSI)

GA TEWA Y

R ED E SN A

TR A D U TOR
Aplicao
Apresentao
Sesso
Transporte

A plicao
A presentao
Sesso
Transp orte

U surio

U surio

servios N A U

servios N AU

Flu xo D ados

Fluxo D ados

C ontro le
Transm isso

C ontrole
Transm isso

R ede

R ede

C ontro le
C aminho

C ontrole
C am inho

Enlace

Enlace

C ontrole
Enlace

C ontrole
Enlace

Fsica

L igao
F sica

Ligao
F sica

Fsica

Figura 2.4.8 - Interconexo baseada em gateway.


A inteno facilitar o gerenciamento e manuteno do sistema de comunicao, uma
vez que os problemas que eventualmente ocorrerem na rede muito provavelmente estaro no
concentrador e no em um ponto qualquer da mesma.
Existem dois tipos bsicos de concentradores:
concentradores passivos (ou HUBs): usualmente no tem inteligncia local,
atuando como emuladores de barramentos (figura 2.4.9). Na maioria dos casos,
operam com fios tipo par tranado ou fibra tica. Cada conector do HUB para um
n de rede esta isolado galvanicamente, de modo que a abertura de uma das linhas
no afeta as demais.
concentradores ativos ou Comutadores (Switchers): tem inteligncia local e podem
chavear mensagens simultneas para destinos diferentes em alta velocidade (figura
2.4.10). Permitem uma melhora significativa de desempenho da rede, uma vez que
subdividem o sistema em vrias sub-redes que podem operar de forma
independente.

...

Figura 2.4.9 - HUB

158

LC

Figura 2.4.10 - Switcher

3. AS REDES LOCAIS INDUSTRIAIS


3.1. INTRODUO
A fabricao de produtos ou o fornecimento de um servio da parte de uma empresa
pe em jogo uma srie de atividades e etapas, dedicadas manuteno e ao aprimoramento do
produto ou do servio. A implementao destas etapas atravs de processos com maior ou
menor grau de automatizao fica a critrio da empresa.
A tendncia de informatizao crescente das empresas e outras organizaes, por um
lado, permite acelerar cada processo fazendo parte das atividades de fabricao de um produto
ou do oferecimento de um servio e, por outro lado, cria uma nova necessidade no que diz
respeito ao modo como as informaes sero trocadas.
As redes locais industriais permitem levar em conta as particularidades de um processo
de fabricao do ponto de vista das necessidades de comunicao, tais como o
compartilhamento de recursos, evolutividade, gerenciamento da heterogeneidade e os diversos
tipos de dilogo podendo ocorrer no ambiente industrial. Ainda, a nvel de um processo de
fabricao, certos requisitos tornam-se fundamentais, envolvendo principalmente os fatores
econmicos que o cercam. A garantia de um tempo de resposta mdio ou mximo, o dbito de
informao, a robustez (confiabilidade dos equipamentos e da informao), a flexibilidade
(evolutividade e heterogeneidade dos equipamentos) so alguns exemplos destes requisitos.
Nos ltimos anos, um esforo considervel tem sido realizado no sentido de definir
arquiteturas de comunicao que respondam s caractersticas e aos requisitos mencionados
acima. O exemplo mais evidente de resultados deste esforo a arquitetura MAP
(Manufacturing Automation Protocol), definida por iniciativa da General Motors e baseada no
modelo OSI.

159

Por outro lado, considerando que as necessidades de comunicao em cada classe de


atividades de uma empresa pode assumir diferente importncia, outras propostas de
arquiteturas podem ser consideradas, como por exemplo as arquiteturas da classe barramento
de campo (fieldbus), mais dedicadas ao cho de fbrica, como o nome sugere.
O objetivo desta parte do documento, alm de apresentar algumas propostas de
arquiteturas de redes locais industriais, discutir os principais aspectos relacionados com esta
classe particular de redes.
Dados os requisitos e caractersticas apresentados anteriormente, um ponto que deve
ser levantado como conseqncia disto a necessidade de descentralizao das funes de
comunicao a serem implementadas. Este aspecto pode ter importncia fundamental na
escolha das solues de comunicao a serem adotadas a nvel de uma indstria. As redes do
tipo ponto-a-ponto, por exemplo, so um exemplo tpico de centralizao das funes de
comunicao, uma vez que os equipamentos compondo os ns da rede fazem papel de
comutadores das mensagens transmitidas entre dois ns que no estejam ligados diretamente.
Solues do tipo rede de difuso so largamente adotadas levando em conta as possibilidades
de descentralizao do controle da comunicao.
preciso assumir a realidade de que no existe uma rede nica que poderia
corresponder s necessidades de todas as classes ou nveis de atividade existentes em uma
fbrica, a soluo sendo, de fato, a adoo de vrias redes interconectadas, cada rede servindo
de suporte comunicao no contexto de uma ou diversas atividades.

3.1.1. As redes e os nveis hierrquicos de integrao fabril


J h algum tempo vem se verificando uma tendncia para a descentralizao da
inteligncia e da capacidade decisria dos componentes de sistemas de automao industrial.
Estes sistemas so decompostos em diferentes nveis hierrquicos de automao, cujos
elementos inteligentes so interligados entre si atravs de redes industriais, conforme
mostrado na figura 1.1. A tendncia desta estruturao hierrquica se aproximar cada vez
mais do processo, de forma a obter-se cada vez mais subsistemas independentes e dotados de
uma inteligncia local, sem no entanto perder as vantagens de uma superviso e conduo
central do sistema como um todo. Esta descentralizao traz consigo uma srie de vantagens
tcnicas, tais como a diminuio da sobrecarga de processamento da unidade central, entre
outras.

160

Nvel
Hierrquico

Sistem a de
Com unicao

Administrao
corporativa

CAD, CAE, CAP,


CAPP, CAQ, etc...

Planejamento
(Factory)

Gw

rea
(Shop)

M AP, TOP

FM S

M AP-EPA
Mini-MAP

M gU
Clula
(Cell)

FM C

Subsistema
(Subsystem)

Componente
(Component)

...
CLP

CNC

Fieldbus
Torno,
M anipulador,
Centro usinagem,
etc...
Fieldbus
tempo real

M otores,
chaves,
reles, etc...

Figura 1.1 - As redes de comunicao e o modelo CIM


Cada nvel da hierarquia fabril representado por um conjunto de aes e
processamentos que possuem requisitos de comunicao diferentes. A caracterstica
predominante nos nveis hierrquicos inferiores a transferncia de mensagens curtas com
alta freqncia, entre um nmero elevado de estaes. Nos nveis hierrquicos superiores h a
predominncia de transferncia de mensagens longas entre um nmero menor de estaes e a
uma freqncia consideravelmente mais baixa (figura 1.2).
Administ rao Corporativa

Planejament o

Custo
mdio
de uma
estao

Tempo
Ocioso entre
transmisses

Vida til e
tamanho
mdio dos
dados

rea

Clula

unidade (subsistema)

Componente

Nmero
de
estaes /
segmento

Trfego
mdio
Hostilidade
do meio

Quadros /
seg

Figura 1.2 - Caractersticas da comunicao em CIM

161

Deste modo, no existe um sistema de comunicao nico capaz de atender a todas as


aplicaes existentes na organizao industrial, mas sim uma srie de sub-redes locais
adequada aos requisitos de comunicao de cada nvel. As sub-redes sero conectadas linha
tronco ("Backbone") atravs de "Gateways", "Bridges" e "Routers" de modo que todas as
estaes possam ser acessadas, formando um sistema de comunicao coso que atenda toda a
fbrica, conforme os preceitos da filosofia CIM (Computer Integrated Manufacturing).

162

3.2. REDES LOCAIS INDUSTRIAIS


3.2.1. Motivao
A maioria das redes de comunicao existentes no mercado procuraram atender a
demanda existente na automao de escritrios. A grande maioria destas redes so baseadas
no protocolo CSMA/CD (Carrier Sense Multiple Access with Collision Detection), com o
qual se iniciaram os desenvolvimentos de redes locais (LANs, Local Area Networks) e que
ser estudado mais adiante.
A comunicao de dados em ambiente industrial apresenta, no entanto, caractersticas
e necessidades que tornam a maioria das redes para automao de escritrio inadequadas.
Algumas destas caractersticas so:

ambiente hostil para operao dos equipamentos (perturbaes eletromagnticas,


elevadas temperaturas, sujeira, etc.);
a troca de informaes se d, na maioria das vezes, entre equipamentos e no entre um
operador humano e o equipamento;
os tempos de resposta e a segurana dos dados so crticos em diversas situaes;
uma grande quantidade de equipamentos pode estar conectada na rede, o que torna a
questo de custos muito importante.

3.2.2. Caractersticas bsicas das redes industriais


Os aspectos tecnolgicos bsicos discutidos nas sees que seguem diferenciam as
redes locais para aplicaes industriais das demais redes.
3.2.2.1. COMPORTAMENTO TEMPORAL

3.2.2.1.1 - Introduo comunicao tempo real

Como foi dito na seo anterior, as redes de difuso apresentam aspectos interessantes
que as tornam uma soluo bastante adequada aos requisitos de comunicao industrial. Um
problema importante na utilizao das redes de difuso o mtodo de acesso ao meio (que
compartilhado) pois, uma vez que vrios equipamentos devero trocar informaes num dado
instante, a deciso de quem vai ter o direito de uso do meio para o envio de uma mensagem
no uma tarefa evidente, como ser visto nesta seo. Os protocolos de acesso ao meio tem
papel fundamental no tempo de entrega de uma mensagem via rede. Como veremos a seguir,
este tempo importante para aplicaes com caractersticas de tempo real.
163

Aplicaes Industriais freqentemente requerem sistemas de controle e superviso


com caractersticas de Tempo-Real. Um Sistema Tempo-Real um sistema computacional
para o qual requerida uma reao a estmulos (fsicos ou lgicos) oriundos do ambiente
dentro de intervalos de tempo impostos pelo prprio ambiente (figura 2.1). A correo no
depende somente dos resultados lgicos obtidos, mas tambm do instante no qual so
produzidos.

Figura 2.1 - Sistema Tempo Real e seu Ambiente


A arquitetura de sistemas computacionais utilizados para controle e superviso de
processos industriais em tempo real tem apresentado nos ltimos anos uma clara tendncia
para a distribuio das funes de controle, como ilustrado na figura 2.2.

Figura 2.2 - Arquitetura distribuda de um sistema tempo real

164

Em aplicaes tempo real, importante poder determinar o comportamento temporal


do sistema de comunicao envolvido. As mensagens em sistemas TR podem ter restries
temporais associadas e podem ser classificadas em:
Peridicas: tem que ser enviadas em intervalos conhecidos e fixos de tempo. Ex.:
mensagens ligadas a malhas de controle.
Espordicas: mensagens sem perodo fixo, mas que tem intervalo de tempo
mnimo entre duas emisses consecutivas. Ex.: pedidos de status, pedidos de
emisso de relatrios.
Aperidicas: tem que ser enviadas a qualquer momento, sem perodo nem
previso. Ex.: alarmes em caso de falhas.
Do ponto de vista da programao distribuda, o meio de transmisso (o barramento)
constitui um recurso compartilhado entre as estaes a ele conectadas. Os mtodos de
definio de direito de acesso utilizados nas redes locais so os denominados protocolos de
acesso ao meio. O problema de comunicao em tempo real tem forte ligao com o tipo de
protocolo de acesso ao meio adotado. A figura 2.3 ilustra a problemtica aqui discutida.
Suponha que desejamos transmitir 5 mensagens diferentes originadas de 5 estaes na rede.
Cada mensagem tem um tempo limite de entrega associado a ela, aqui denominado deadline.
Cada estao tem seu endereo na rede, tambm indicado na figura.
M1

M2

M3

D L = 10

DL = 15

D L = 50

E nd. 01

E n d. 0 2

E nd . 03

M5

M4
D L = 25

DL = 5

E nd. 04

E nd. 05
O n de:
M - m e nsag em
D L - d ead lin e
E nd. - ende re o

Figura 2.3 - A problemtica da comunicao tempo real


As mensagens pendentes em cada estao devem ser entregues a seu destino antes de
um prazo limite (deadline) associado. Assim, o problema de comunicao tempo real fica
sendo o seguinte:

165

como organizar as filas locais de mensagens pendentes, de forma que a mais


prioritria seja colocada na cabea da fila ?
como definir concesso do direito de acesso ao meio de forma a garantir que a
mensagem mais prioritria do conjunto de estaes seja enviada primeiro e todas as
mensagens sejam entregues antes de seu deadline ?
O Protocolo MAC utilizado precisa garantir rpido acesso ao barramento para
mensagens espordicas de alta prioridade. Ele deve tambm atender mensagens peridicas
com a maior eficincia possvel, respeitando seus deadlines.
Isto implica em que o sistema deve ter comportamento determinista (isto , seu
tempo de reao deve ser conhecido) e, idealmente, permitir escalonamento timo global de
mensagens. Para tal, o LLC (Controle Lgico de Enlace) deve escalonar mensagens locais
pendentes por deadline ou prioridade associada.
Para garantir um melhor desempenho temporal do sistema, usual utilizar-se em
sistemas tempo real uma arquitetura se software com apenas trs camadas, com a camada de
enlace subdividida em Controle de acesso ao meio (MAC) e Controle lgico de enlace
(LLC), conforme mostrado na figura 2.4.

Software

AP

AP

Aplicativo

Camada de Aplicao
Controle Lgico de enlace (LLC)
Controle de Acesso ao Meio (MAC)
Camada Fsica
Figura 2.4 - Arquitetura para sistemas tempo real

3.2.2.1.2 - Classificao dos Protocolos de Controle de Acesso ao meio

166

Os protocolos de acesso ao meio podem ser classificados de maneira geral em 5


categorias:

Alocao fixa: estes protocolos alocam o meio s estaes por determinados intervalos de
tempo (chamados de bandas), independentemente de haver ou no necessidade de acesso
(ex.: TDMA = Time Division Multiple Access);
Alocao aleatria: permitem acesso aleatrio das estaes ao meio (ex.: CSMA =
Carrier Sense Multiple Access). Em caso de envio simultneo por mais de uma estao,
ocorre uma coliso e as estaes envolvidas tem que transmitir suas mensagens aps a
resoluo do conflito resultante (tambm chamados protocolos de conteno);
Alocao controlada: cada estao tem direito de acesso apenas quando de posse de uma
permisso, que entregue s estaes segundo alguma seqncia predefinida (ex.: TokenPassing, Master-Slaves);
Alocao por reserva: para poder usar o meio, as estaes tem que reservar banda com
antecedncia, enviando pedidos a uma estao controladora durante um intervalo de
tempo pr-destinado e este fim (ex.: CRMA = Cyclic Reservation Multiple Access);
Hbridos: consistem de 2 ou mais das categorias anteriores.

Com relao ao seu comportamento temporal, podemos organizar os protocolos de


acesso ao meio em duas principais classes: os protocolos determinsticos e os no
determinsticos.
Os protocolos ditos determinsticos so caracterizados pela possibilidade de definir um
tempo limite para a entrega de uma dada mensagem (mesmo que somente em pior caso),
enquanto os protocolos no deterministicos no oferecem tal possibilidade.
Muitos dos atuais protocolos de acesso determinsticos so caracterizados pela
concesso do direito ao acesso independentemente das necessidades de transmisso de cada
n da estao (alocao fixa). Dentre os protocolos conhecidos desta classe, podemos destacar
o protocolo TDMA (Time Division Multiple Access), onde o acesso dado a cada estao
considerando faixas de tempo bem definidas. Este mtodo apresenta um baixo desempenho,
uma vez que muito tempo pode ser perdido no caso de estaes que no tenham mensagens a
transmitir.
Outros exemplos 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 estao da rede. Ao receber a ficha, uma estao que no tenha
mensagens a transmitir repassa a ficha estao seguinte na lista de estaes compondo a rede
(alocao controlada). Vamos analisar alguns destes protocolos mais adiante nesta seo.

167

Os protocolos de acesso no determinsticos, so freqentemente caracterizados pela


competio entre estaes pelo direito de acessar o meio de transmisso. Um exemplo desta
classe o protocolo CSMA/CD.
Analisaremos a seguir alguns dos protocolos de acesso ao meio mais conhecidos,
procurando destacar o aspecto de comportamento temporal.
3.2.2.1.3 - Os protocolos MAC 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.
Um primeiro exemplo deste protocolo o CSMA 1-persistente (Carrier Sense
Multiple Access ou Acesso Mltiplo por Deteco de Portadora). Neste protocolo, quando
uma estao est pronta a enviar um quadro de dados, ela escuta o que est ocorrendo no
suporte de transmisso. No caso em que o canal j est sendo ocupado por alguma
transmisso, a estao aguarda na escuta at que o meio esteja livre para a sua emisso (da o
nome "persistente"); quando isto ocorre, ela pode ento emitir um quadro. O mtodo
chamado "1"-persistente porque, quando a linha esta livre, a estao enviar os dados com
100% de probabilidade. Aps a transmisso dos dados, e estao emissora pode ser
programada para esperar uma resposta (chamada quadro de reconhecimento) da estao
receptora, indicando a correta recepo dos dados.
Se mais de uma estao estava a espera de uma oportunidade de enviar dados no
mesmo momento, pode ocorrer que vrias detectem o meio como estando livre ao mesmo
tempo. Neste caso, todas iro enviar seus dados simultaneamente, de forma que o sinal no
barramento ser uma "mistura" ininteligvel das vrias mensagens. Esta condio recebe o
nome de "Coliso". Na ocorrncia de uma coliso, se estiver sendo usado um servio
confivel na subcamada de controle lgico de enlace (LLC com conexo ou com
reconhecimento), a estao receptora no envia o quadro de reconhecimento esperado e a
estao emissora tenta a emisso novamente aps um determinado tempo. Se estiver sendo
usado um servio no confivel, o quadro perdido.
O protocolo CSMA 1-persistente altamente influenciado pelo tempo de propagao
dos quadros no suporte de transmisso. Isto ilustrado pelo exemplo de duas estaes A e B
querendo emitir um quadro. Vamos supor que A detecta o meio livre e emite um quadro; em
seguida, B vai escutar o meio para ver o seu estado; se o atraso de propagao do quadro
emitido por A tal que o sinal ainda no pode ser detectado a nvel da estao B, ento esta
vai considerar o meio livre e emitir o seu quadro, gerando naturalmente uma coliso. Isto
168

significa que, quanto maior o tempo de propagao no suporte de comunicao, pior o


desempenho do protocolo devido ocorrncia de colises. O tempo de propagao depende
principalmente da taxa de transmisso (bits/s) e do comprimento do cabo.
Na verdade, embora as probabilidades no sejam muito grandes, as colises podem
ocorrer mesmo se o tempo de propagao considerado nulo. Vamos supor agora que as
estaes A e B tem quadros a transmitir, mas que uma terceira estao C est utilizando o
meio. Neste caso, as duas estaes vo aguardar a liberao do meio e, quando este estiver
liberado, ambas vo emitir seus quadros, caracterizando a coliso.
Para reduzir a probabilidade de ocorrncia de colises, foram criadas variantes deste
protocolo, como por exemplo o CSMA no persistente. Segundo este protocolo, as estaes
comportam-se de maneira menos "afoita" para o envio de mensagens. Assim, uma estao que
deseje emitir um quadro vai escutar o suporte de transmisso para verificar se este est
disponvel. Em caso positivo, o quadro ser transmitido. Se o meio estiver ocupado, ao invs
de ficar escutando persistentemente espera da liberao do canal, a estao vai esperar um
perodo de tempo aleatrio e, aps a expirao deste, vai escutar o canal novamente para
verificar a sua liberao. Este protocolo permite reduzir as probabilidades de ocorrncia de
colises, uma vez que os tempos de espera aleatrios s por muita coincidncia sero iguais
em todas as estaes interessadas em transmitir. Como desvantagem temos o fato de que ele
introduz um maior atraso de emisso a nvel das estaes do que o protocolo persistente,
decorrente dos tempos aleatrios de espera pela liberao do meio.
O CSMA p-persistente mais um exemplo de protocolo de acesso baseado em
conteno, que procura ser um compromisso entre as duas propostas anteriores, funcionando
da seguinte maneira: quando uma estao tem um quadro a enviar, ela escuta o canal para
verificar a disponibilidade deste. Se o canal est disponvel, a estao emite um quadro com
probabilidade igual a p. A probabilidade de que esta no transmita o quadro e opte por
aguardar por um intervalo de tempo fixo igual a q = 1 - p. Se a escolha recair em no
transmitir o quadro, aps a passagem do intervalo de tempo especificado o canal novamente
testado e, se estiver disponvel, as probabilidades de envio ou de espera continuam as
mesmas. O processo continua, ento, at que o quadro seja finalmente transmitido ou que
outra estao tenha tomado posse do canal. Observe que o protocolo CSMA 1-persistente
um caso particular do CSMA p-persistente, onde p = 1.
O algoritmo no persistente portanto eficiente para evitar colises, mas implica em
desperdcio de tempo de transmisso. J o algoritmo persistente no ocasiona este desperdcio
de tempo, mas apresenta elevada probabilidade de coliso. O algoritmo p-persistente uma
soluo de compromisso entre os outros dois.
Todos os protocolos CSMA tem o inconveniente de que as colises no so
detectadas e a ocorrncia de um problema de comunicao s percebida, se optarmos por
servios de enlace confiveis na subcamada acima (LLC), quando o tempo limite para

169

recepo do quadro de reconhecimento expira sem que este quadro seja recebido. Para
resolver este problema, foi concebido o protocolo CSMA/CD, que veremos a seguir.
- O protocolo CSMA/CD (CSMA with Collision Detection):
Os protocolos descritos at aqui, embora apresentando aspectos interessantes, podem
ser melhorados considerando-se que cada estao poderia detectar, antes da emisso, o estado
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
originalmente pelos criadores da rede Ethernet). Neste protocolo, quando mais de uma estao
esta pronta para emitir uma mensagem com o meio livre, estas emitem o quadro, o que vai
gerar uma coliso. A primeira estao que detectar a coliso interrompe imediatamente a sua
transmisso, reiniciando o processo todo aps a expirao de um perodo de tempo aleatrio,
de forma a tornar improvvel a ocorrncia de uma nova coliso (figura 2.5). Para detectar a
coliso, a estao emissora deve escutar aquilo que ela mesma colocou no meio (ao menos a
primeira palavra de cdigo enviada deve ser escutada pela prpria estao emissora). O sinal
enviado requer certo tempo para se propagar no meio, definido como um time slot. Os tempos
de espera aleatrios usados pelas estaes para tentar uma nova transmisso aps uma coliso
so sempre mltiplos de um time slot.

Figura 2.5 - Coliso no mtodo de acesso CSMA/CD


O protocolo CSMA/CD segue um algoritmo de determinao do tempo limite de
espera para retransmisso conhecido como binary exponential backoff, ou espera aleatria
exponencial binria (alguns autores preferem o nome truncated exponential backoff). Neste
algoritmo, a estao, ao detectar uma coliso, espera por um tempo gerado aleatoriamente que
vai de zero at um limite superior. O limite superior inicia em 1 time slot e pouco mais que
dobrado a cada nova coliso. Se aps algumas retransmisses as colises ainda persistem, a
170

transmisso finalmente abortada. O fluxograma da figura 2.6 mostra o principio deste


algoritmo.
start

no

Station
Ready ?

yes
nc = 0

New
Frame ?

Ether
Silent ?

no

nc = nc+1
limit = 2nc -1
Wait=random [0, limit]

transmit

no
Collision ?

Figura 2.6 - Randomizao de tempo no CSMA/CD (Binary Exponential Backoff)


Para melhor entender o mecanismo deste protocolo, vamos analisar o caso em que
duas estaes iniciem uma transmisso num instante 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.
Isto significa, em uma primeira anlise que, se uma estao que emitiu um quadro no
detecta uma coliso num perodo de tempo igual ao tempo de propagao do sinal ao longo do
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 um sinal entre duas estaes, as mais distantes uma da outra. Consideremos
que em t0 uma estao emite um quadro. Vamos supor que em t - e , pouco antes que o sinal
tenha chegado, outra estao efetue uma transmisso. Ela vai detectar, imediatamente a
coliso e interromper a sua emisso. Por outro lado, a perturbao ocasionada pela coliso no
vai poder ser detectada pela primeira estao que emitiu o quadro antes de um perodo 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
protocolo CSMA/CD, uma estao emite uma palavra de dados, espera por um tempo 2t e, se

171

no detectar nenhuma coliso, considera que a nica a usar o meio naquele momento e passa
a enviar o restante dos dados.
O mtodo CSMA/CD propicia uma grande otimizao no uso do meio em relao aos
protocolos anteriores, pois a ocorrncia de uma coliso detectada logo na primeira palavra e
a emisso interrompida, no tendo que ser completamente repetida depois.
No entanto, em todos os mtodos de acesso CSMA temos que, quanto maior o
nmero de estaes e quanto maior o trafego mdio de mensagens na rede, maior a
probabilidade de ocorrncia de colises (esta probabilidade aumenta exponencialmente), de
forma que o tempo de reao aumenta consideravelmente e no pode ser exatamente
determinado. Para muitas aplicaes fabris, especialmente aquelas com requisitos de tempo
real, importante utilizar redes com protocolos de acesso ao meio determinsticos. CSMA/CD
no apresenta esta caracterstica pois no se sabe se havero colises, no se sabe quantas
colises seguidas podem ocorrer e no se conhece de antemo o tempo (aleatrio) de espera
em caso de coliso. J para aplicaes de escritrio os mtodos no determinsticos, como
CSMA/CD, so em geral satisfatrios.
3.2.2.1.4 - Os protocolos MAC determinsticos
Os mtodos de acesso determinsticos so aqueles com tempo de resposta
determinvel, ao menos em pior caso. Estes mtodos podem ser classificados em:

mtodos com comando centralizado (ex.: Mestre-Escravos);


mtodos com comando distribudo (ex.: Token-Passing ou variantes determinsticas do
CSMA, como veremos a seguir).
- O protocolo Mestre-Escravos:

Nos sistemas com comando centralizado, somente uma estao pode agir como
detentora do direito de transmisso. Esta estao recebe o nome de estao Mestre. O direito
de acesso ao meio fsico distribudo por tempo limitado pela estao mestre as demais, que
so denominadas estaes Escravas. Aqui todas as trocas de dados ocorrem apenas entre
mestre e escravos (figura 2.7). A estao mestre realiza uma varredura cclica de cada uma das
estaes escravas, solicitando dados ou verificando se uma delas dispe de dados a enviar. Se
uma estao escrava no dispe de dados a enviar, ela sinaliza esta condio pelo envio de um
quadro com formato especifico para este fim. Se, por outro lado, a estao escrava dispe de
dados a enviar, ela envia o quadro de dados correspondente ao mestre. Note que, em ambos os
casos, o escravo tem que enviar um quadro em resposta varredura (scan) do mestre.
Esta configurao deixa o sistema dependente da estao central, mas a configurao
usual dos sistemas de controle na maioria das aplicaes, onde o mestre exerce a funo de
172

um controlador (por exemplo, um CLP) e os escravos so sensores e atuadores inteligentes


(microprocessados).
Este mtodo de acesso ao meio garante um tempo definido entre transmisses
consecutivas a qualquer estao da rede e segue a prtica freqente de fazer um controle
distribudo com uma superviso centralizada. Sendo conhecida a taxa de transmisso e o
formato dos quadros usados pelo mestre para realizar a varredura cclica e pelos escravos para
responder, pode-se determinar a durao de um ciclo de varredura completo (questionamento
por parte do mestre de todas as estaes escravas e respectivas respostas). Este tempo
corresponde ao pior caso de tempo de resposta de uma estao qualquer. Naturalmente, este
tempo aumenta quando so adicionadas novas estaes escravas rede.
Mestre

Escravo

Escravo

Escravo

Escravo

Figura 2.7 - Mtodo de acesso mestre/escravos


- O protocolo Token-Passing:
Os sistemas com comando distribudo permitem a definio de mais de uma estao
com direito de acesso ao meio fsico.
Uma das tcnicas mais conhecidas nesta categoria o chamado Token-Passing
(passagem de ficha ou de basto, como nas corridas de revezamento). Nela, o direito de acesso
ao meio (definido pela posse do "token") transmitido ciclicamente entre as vrias estaes,
que podem livremente trocar dados entre si sem a intromisso de um mestre ou outro
intermedirio qualquer. A figura 2.8 ilustra a configurao usual da rede conhecida como
Token-Bus (barramento com passagem de ficha).
Este sistema , no entanto, bem mais complexo do que o Mestre-Escravos visto
anteriormente, j que providncias especiais tem que ser tomadas no caso da perda do token
ou da entrada ou sada de uma das estaes da rede durante a operao. Veremos como isto
feito em uma sesso posterior, quando discutirmos a norma IEEE 802.4.
173

Este mtodo mais adequado para sistemas nos quais diversas unidades independentes
desejam trocar livremente informaes entre si.
Neste mtodo, possvel determinar um tempo mximo entre duas oportunidades
consecutivas de transmisso para cada estao. Cada estao pode reter o token por um tempo
limitado, denominado "token retention time", aps o que obrigada a enviar o token (um
quadro com formato especial) para a estao seguinte (a ordem de passagem do token prdefinida, como veremos mais adiante, e forma um anel virtual ou lgico de seqncia de
direito de acesso ao meio). Conhecendo-se o tempo de reteno do token e o nmero de
estaes acopladas rede, pode-se calcular o tempo de rotao do token (token rotation time,
que o tempo que o token leva para passar por todas as estaes uma vez e voltar a estao
inicial). Este tempo o pior caso de tempo de espera para enviar uma mensagem partindo de
uma estao qualquer.
receptor

token

emissor

Figura 2.8 - Controle de acesso por passagem de ficha (Token-Bus)


Uma variao desta tcnica o chamado Token-Ring, onde utilizada uma rede com
topologia em anel em lugar de barramento, como ilustrado na figura 2.9. Aqui o token circula
no anel at ser removido por uma estao que deseje transmitir dados. Veremos esta tcnica
com mais detalhes ao estudarmos a norma IEEE 802.5.

174

Estao

TAP
Interface
p/ anel

anel unidirecional

Token

Figura 2.9 - Controle de acesso por passagem de ficha (Token-Ring)


- variantes determinsticas do CSMA:
Recentemente uma srie de trabalhos de pesquisa e desenvolvimento tem se
preocupado com a definio de protocolos determinsticos baseados em CSMA, devido as
vantagens decorrentes da no necessidade de uma entidade controladora de acesso (como a
estao mestre no mtodo mestre/escravos ou o token no mtodo Token-Passing). Cada
estao pode tentar transmitir sempre que tiver mensagens pendentes, configurando assim um
sistema de comunicao com comando distribudo e com elevada autonomia dos ns. O
problema bsico est em como resolver o problema decorrente das colises.
Alguns exemplos de solues so apresentados a seguir:
Cabealhos Forantes (Forcing Headers): Neste mtodo de acesso ao meio, cada
mensagem iniciada por um cabealho (header) composto de uma srie de bits, que
definem sua prioridade. No podem haver duas mensagens com prioridades idnticas em
uma mesma aplicao. A transmisso de um quadro inicia sempre pelo cabealho, que
enviado bit a bit em velocidade relativamente baixa, de modo a permitir que o sinal se
propague pelo barramento e retorne ao emissor. Aps o envio de cada bit, o nvel de sinal
do barramento lido. Os bits so codificados de forma que uma coliso tem efeito
equivalente a executar uma operao lgica AND sobre cada bit enviado ao barramento
(para isto, a deteco de coliso pode ser ativada ao enviar um 1 e desativada ao enviar um
0). A transmisso em uma dada estao interrompida quando um 1 for enviado por ela e
um 0 for lido. Desta forma, se todos os bits do identificador so 0, a prioridade
considerada mxima. Se o cabealho for transmitido at o fim sem coliso porque aquela
mensagem era a mais prioritria dentre as envolvidas na coliso e o resto da mensagem
enviado. Assim, a mensagem mais prioritria atropela as demais. O mtodo
determinista e, sendo conhecida a prioridade de uma mensagem, pode-se calcular o tempo
de entrega da mesma no pior caso. Um exemplo de operao deste protocolo pode ser visto
175

na figura 2.10. No caso ali representado, 5 estaes esto envolvidas na coliso inicial (ns
0 at 4), sendo que as mensagens enviadas por cada uma delas tem headers com valores
000 (mais prioritria), 001, 010, 011 e 100 (menos prioritria) respectivamente.

100 dados

Header do frame

Frame a enviar

N 4

N 0

N 1

000 dados

001 dados

N 2
010 dados

N 3
011 dados

Figura 2.10 - Conteno no destrutiva


Aps o envio do primeiro bit do header de cada mensagem (0, 0, 0, 0 e 1 respectivamente),
a estao de numero 4 desiste (enviou um 1 e leu um 0, resultante de 0 AND 0 AND 0
AND 0 AND 1). Aps o envio do segundo bit, os ns 2 e 3 desistem (ambos enviaram 1 e
leram 0). Aps o envio do terceiro bit, o n 1 desiste (enviou 1 e leu 0) e o n 0 transmite
seus dados at o fim (mais prioritrio). Em tentativas sucessivas por parte das demais
estaes, o n 1 vai transmitir seus dados a seguir, depois o n 2, depois o 3 e finalmente o
4 (pois tem a mensagem menos prioritria). Para evitar que um n gerador de uma
mensagem de alta prioridade monopolize o barramento tentando transmitir novas
mensagens com a mesma prioridade imediatamente aps a primeira (por exemplo, se o n
0 gerar uma nova mensagem antes das demais serem enviadas), o espao entre frames
consecutivos preenchido por um campo de bits em 1 inserido no final do quadro, com
comprimento definido. O barramento s considerado livre para um n enviar nova
mensagem aps ter detectado que o espao interframes no foi interrompido por um bit em
0. Isto implica em que a estao possuidora da mensagem de alta prioridade ter que
esperar ao menos o envio de uma mensagem de prioridade menor para tomar o barramento
para si novamente (isto ser feito no espao interframes de mensagem menos prioritria).
Comprimento de Prembulo (Preamble Length): a cada mensagem associado um
prembulo com comprimento diferente, que transmitido com a deteco de coliso
desativada. Aps transmitir o prembulo de sua mensagem, cada estao reativa sua
deteco de coliso. Neste momento, se for detectada uma coliso, ento existe outra
176

mensagem mais prioritria sendo enviada (com prembulo maior) e a estao interrompe
sua transmisso. A mensagem com o preambulo mais longo ter portanto a prioridade
maior. Isto ilustrado na figura 2.11, onde 5 estaes emitem mensagens simultaneamente
com prembulos de comprimentos diferentes.

Preambulo do frame

Frame a enviar

N 4

N 0

N 1

N 2

N 3

Figura 2.11 - Ns enviando mensagens com prembulos de comprimento diferente


O diagrama da figura 2.12 mostra as mensagens lado a lado.

Mensagem do n 4
Mensagem do n 3
Mensagem do n 2
Mensagem do n 1
Mensagem do n 0

Instantes de inicio de deteco de coliso em cada estao

Figura 2.12 - Situao no instante de reincio de deteco de coliso


Como vemos na figura 2.12, a mensagem do n 4 possui o prembulo mais curto e desiste
aps reiniciar a deteco de coliso. O mesmo acontece com as estaes 3, 2 e 1 nos
instantes seguintes. Quando a estao 0 reativa a deteco de coliso, j no h mais
nenhuma outra estao transmitindo e ele termina de enviar sua mensagem. Em novas
tentativas sucessivas, as estaes 1, 2, 3 e por ltimo 4 tero sucesso respectivamente.

177

CSMA/DCR (CSMA with Deterministic Collision Resolution): neste protocolo


realizada uma busca em rvore binria balanceada quando ocorrem colises. O protocolo
idntico ao usado na Ethernet at o momento em que ocorre uma coliso. A partir deste
momento, o conflito resolvido de forma determinista, como veremos a seguir. Sua
operao ser descrita em mais detalhes que os protocolos anteriores, de forma a
exemplificar como os tempos de entrega de mensagens podem ser calculados.
No CSMA/DCR , o determinismo garantido atravs de busca em rvore binria
balanceada. As prioridades so atribudas a cada estao e no s mensagens, recebendo aqui
o nome de ndices.
Para operar corretamente, cada estao deve conhecer:
o status do barramento, que pode ser:
livre
ocupado com transmisso
ocupado com coliso
seu prprio ndice (prioridade)
nmero total de ndices consecutivos alocados fontes de mensagens (Q)
O tamanho da rvore binria q a menor potncia de 2 maior ou igual a Q (ex.: Q =
12, q = 16). O protocolo opera como CSMA/CD at a ocorrncia de uma coliso. Em caso de
coliso, iniciado um perodo de resoluo por busca em rvore binria, denominado
poca.
Todas as estaes envolvidas na coliso se auto-classificam em dois grupos: os
vencedores ou Winners (W) e os perdedores ou Losers (L):
W = ndices entre [0,q/2[
L = ndices entre [q/2, q]
As estaes do grupo W tentam nova transmisso. Se ocorrer nova coliso, realizada
uma nova diviso em grupos:
W = [0,q/4[
L = [q/4, q/2[
Se no ocorrer nova coliso (s sobrou uma estao no grupo W), a estao restante
transmite seu quadro de dados.

178

As estaes do grupo L desistem e aguardam termino de transmisso bem sucedida de


outro n seguida de meio livre.
Se o grupo W estiver vazio, a busca revertida, isto , faz-se uma nova subdiviso de
ns a partir do ltimo grupo L:
W = [q/2, 3q/4[
L = [3q/4, q[
A poca encerrada quando todas as estaes envolvidas na coliso original
conseguiram transmitir seus dados sem coliso. O tempo de durao de uma poca pode ser
calculado, produzindo um resultado determinista.
A seqncia de concesso de direito de acesso ao meio igual a seqncia de ndices
crescentes, de modo que os ns mais prioritrios transmitem primeiro.
O exemplo a seguir ilustra a operao do protocolo. Uma rede possui 16 fontes de
mensagens, das quais 6 tentam transmitir simultaneamente, gerando uma coliso, conforme
mostra a figura 2.13.

ndice 3

ndice 2

ndice 12

ndice 14

ndice 5

ndice 15

Figura 2.13 - Exemplo de coliso no CSMA/DCR


Neste exemplo temos as seguintes condies:
6 estaes de uma rede com 16 fontes enviam quadros simultaneamente
cada estao tem os ndices conforme indicados na figura acima
Q = 16
q = 16 (24)
A altura da rvore binria dada por log2 16 = 4. A figura 2.14 mostra a rvore
binria balanceada completa para o exemplo. Os nmeros entre colchetes indicam a faixa de
ndices sendo considerados em cada dicotomia. Os nmeros no interior dos crculos indicam a
seqncia de execuo da busca na rvore.

179

[0,16]
1
[8,16]

[0,7]

2
[0,3]

[4,7]

[8,11]

10

[0,1]

[2,3]

[4,5]

[6,7]

[12,16]
13

11

12

[8,9]

[10,11]

14

15

[12,13] [14,16]

Figura 2.14 - rvore binria balanceada para Q = 16


A evoluo do protocolo (busca na rvore binria) ilustrado na figura 2.15.
0C
2,3,5,12,14,15
W= 2,3,5
L=12,14,15
8C
12,14,15
W=
L=12,14,15

1C
2,3,5
W= 2,3
L=5
2C
2,3
W=
L=2,3

7T
5

4C
2,3
W=2
L=3

3V

5T
2

10 C
12,14,15
W= 12
L=14,15

9V

12 C
14,15
W= 14
L=15

11 T
12
6T
3

13 T
14

14 T
15

Figura 2.15 - Evoluo do algoritmo de busca CSMA/DCR


O tempo at o inicio da transmisso da estao com ndice 5 ser:
5 colises = 5. slot-time
2 transmisses = 2.(tamanho quadro em slot-times)
Assumindo que cada quadro tem um tamanho fixo de 6 slot-times e considerando 1
slot-time como 40 s, o tempo de espera para a transmisso da mensagem da fonte com ndice
5 seria:
180

T inicio (5) = 5.40 + 2.6.40 = 680 s


Este tempo, no entanto, no representa a situao de pior caso, pois poderiam haver
mais estaes envolvidas na coliso.
O tempo total de durao da poca ser:
7 colises = 7.slot-time
2 vazios = 2. slot-time
6 transmisses = 6 .(tamanho do quadro em slot-times)
Assumindo 1 slot-time = 40 s, teremos:
T poca = 7.40 + 2.40 + 6.6.40 = 1800 s
Portanto, aps 1.8 ms todas as estaes envolvidas no conflito tero transmitido suas
mensagens. O tempo de pior caso, que o que nos interessa, pode ser calculado como segue.
Seja:
(v) = nmero de ramos da rvore binria percorridos por uma mensagem
proveniente de um n com ndice v
q = menor potncia de 2 maior ou igual ao maior ndice disponvel
(v) = nmero de potncias de 2 contidas em v
s = 1 slot-time (2 vezes o tempo de propagao do sinal na rede)
= tempo mximo de transmisso da uma mensagem no meio fsico (depende do
comprimento da mensagem em bits e da taxa de transmisso)
Para uma mensagem participando de uma dada poca, temos que:
(v) = log2 q + v - (v)
Tespera (v) = (v).s + v.
Para o exemplo anterior, tomando uma mensagem da estao com ndice 5, temos:
q =16
v =5
(5) = 2 (5 = 22+20)
(5) = log2 16 + 5 - 2 = 7
T espera (5) = 7.s + 5.
Assumindo s = 40 s e = 6.s = 240 s, obteremos para o pior caso de tempo de
espera da mensagem da fonte com ndice 5 o valor de 1480 s.

181

O tempo de durao da poca, no pior caso, dado por:


T poca = (q-1).s + Q. = Tbusca + T transmisso
Para uma mensagem que chega a fila de emisso de uma fonte com ndice v em um
instante qualquer, o pior caso de tempo de espera maior, pois a nova mensagem pode chegar
na fila imediatamente aps o inicio de uma poca, da qual ela ainda no faz parte. Neste caso,
o pior caso do tempo de espera ser dado por:
T espera (v) = T poca + (v).s + v.
3.2.2.1.5 - Abordagens para comunicao tempo real

A definio de um protocolo determinstico de acesso ao meio ainda no resolve


completamente nosso problema. A soluo global do problema da comunicao em tempo
real inclui a realizao de um escalonamento das mensagens. A exemplo do que se faz em
sistemas multitarefas, onde processos concorrentes so escalonados segundo vrios critrios
de forma a definir qual deles ter acesso ao processador em um dado momento, aqui deve ser
realizado um escalonamento de mensagens de forma a definir qual delas ter acesso ao meio
de comunicao em um dado momento.
A tabela 2.1 apresenta de forma resumida algumas solues apresentadas na literatura
para a problemtica da comunicao em tempo real.
Uma abordagem proposta a atribuio de prioridades fixas s mensagens e a
realizao de um teste off-line de escalonabilidade sobre o conjunto. Neste caso, o protocolo
MAC tem que ser capaz de distinguir prioridades e enviar a mensagem mais prioritria entre
todas as estaes primeiro. Exemplos de protocolos adequados neste caso seriam CSMA/CA
ou Comprimento de Prembulo.
Outra proposta seria a realizao de um escalonamento on-line das mensagens. O
MAC utilizado deve apenas ter um tempo de transmisso limitado.
Outra classe de solues so os chamados protocolos de reserva, baseados em
conhecimento global do sistema, isto , cada estao sabe que mensagens esto pendentes nas
demais estaes. Para isto, necessrio que o estado das filas locais seja transmitido s
demais estaes em intervalos de tempo (time slots) reservados para este fim.

182

A bordagem

R e q u i s to s

E x .d e P r o to c o lo s

A tr ib u i o d e P r io T o k e n - R in g c /P r .
r id a d e s c o m te s te d e
D if. a tr a s o s
e s c a l o n a b ilid a d e
M A C c o m r e s o lu o C o m p . P r e m b u lo
O ff- lin e (e m te m p o
d e p r io r id a d e s
F o r c in g H e a d e r s
d e p r o je to )
( C S M A /C A )
C ir c u ito V ir tu a l T R M A C c o m te m p o d e
a c e s s o a o m e io
c o m e s c a lo n a m e n to
lim ita d o
O n - lin e d e
m en sag en s
R eserva com
e s c a l o n a m e n to
g lo b a l

R e q u e r c p ia s lo c a is
d e to d a s a s fila s d e
m en sa g en s,
d ifu n d id a s e m s lo ts
tim e s d e r e s e r v a

TDM A
T o k e n - P a s s in g
W a itin g R o o m
C S M A /D C R

PODA

Tabela 2.1 - Abordagens para comunicao tempo real


A camada de enlace de uma rede para tempo real deve prover ao usurio ou ao
software da camada logo acima um conjunto mnimo de servios, tais como:
Servios sem conexo:
SEND (identificao do receptor, mensagem, requisitos Tempo Real);
mensagem = RECEIVE (emissor);
Os requisitos Tempo Real podem ser expressos sob a forma de uma prioridade ou um
tempo limite de entrega (deadline).
Servios com conexo:
rtcid = CONNECT(receptor, requistos TR);
SEND (rtcid, mensagem);
mensagem = RECEIVE (rtcid);
DISCONNECT(rtcid);
Aqui, rtcid significa real time connection identifier, isto , um identificador para a
conexo.
3.2.2.2. CONFIABILIDADE
Em aplicaes industriais onde so transmitidos muitos cdigos de comando, leitura
de medidores e comando de atuadores, um erro de um Bit qualquer pode ter conseqncias
desastrosas. A transferncia de programas para mquinas de Comando Numrico, por
exemplo, exige um sistema altamente confivel, pois so transmitidos cdigos de comando
183

cuja mnima alterao pode produzir danos de elevado custo. Desta forma, redes industriais de
comunicao tem que oferecer uma elevada confiabilidade.
Para aumentar esta confiabilidade nas mensagens transmitidas, normalmente usado
um teste cclico de redundncia (CRC - Cyclical Redundance Check).
Em sistemas que necessitem de uma operao contnua, pode ser utilizado um meio de
transmisso e estaes de controle redundantes. Alm disso, os cabos utilizados em geral so
blindados.
3.2.2.3. REQUISITOS DO MEIO AMBIENTE
Devido s caractersticas do ambiente industrial, a presena de perturbaes
eletromagnticas, provocadas principalmente pelos acionamentos de motores eltricos de
grande porte ou outras fontes chaveadas (estaes de solda, conversores estticos, etc.), no
pode ser desprezada na escolha do meio de transmisso de uma rede de comunicao.
Para a definio do meio fsico de transmisso e do protocolo de comunicao, estas
caractersticas devem ser consideradas. O meio de transmisso deve possuir uma boa
resistncia mecnica e deve estar eletricamente isolado.
O meio fsico a ser adotado no depende apenas de aspectos tcnicos mas tambm (e
muito especialmente no cho de fbrica) do aspecto de custo. Cabos coaxiais so menos
afetados por perturbaes eletromagnticas do que o par tranado. No entanto, o custo do cabo
coaxial superior ao do par tranado. Alm disso, barramentos construdos com cabo coaxial
e conectores T requerem resistncias terminais (terminadores) para a correta operao da
rede. Isto necessrio para evitar ressonncias ou ecos, onde o sinal propagado na rede
retorna sobre si mesmo. Se o cabo for aberto em qualquer ponto da fbrica, a rede cai.
Futuramente, a adoo de fibras ticas poder vir a ser a melhor soluo tanto do
ponto de vista tcnico quanto econmico. Atualmente ainda h dificuldades na realizao de
bifurcaes com este meio fsico, necessrias para as conexes em T usadas em redes com
topologia em barramento, de modo que as fibras ticas so mais utilizados em sistemas com
topologia em estrela ou anel. A realizao de bifurcaes tem alcanado melhores resultados
adotando acopladores ativos (com eletrnica adicional para converso do sinal tico em
eltrico e vice-versa nos pontos de derivao). Trabalhos vem sendo realizados tambm para a
realizao de bifurcaes passivas, baseadas em prismas. Tanto as bifurcaes ativas quanto
as passivas encarecem a conexo, o que torna a soluo antieconmica para o nvel de cho de
fbrica. Uma soluo que vem ganhando terreno o uso de Hubs, que emulam um barramento
para as placas mas que efetivamente atuam como estaes concentradoras, transformando a
topologia fsica em estrela, o que permite o uso de fibras ticas sem a necessidade de
bifurcaes. Com fibras ticas, alm disso, pode-se trabalhar com freqncias da ordem de
vrios GigaBaud (109 bits por segundo), o que permitiria uma melhoria de performance do
sistema de comunicao (esta, no entanto, no a vantagem chave da fibra tica em redes
184

locais industriais, pois o gargalo em termos de tempo de transmisso no esta na camada


fsica, como veremos a seguir). Diversos trabalhos de pesquisa vem sendo realizados no
sentido de resolver os problemas tcnicos existentes.
A figura 2.16 apresenta uma comparao sumria entre os trs tipos de meio.
Sensibilidade

Par tranado (assncrono)

perturbaes
Par tranado (sncrono)

Cabo coaxial

Distncia
Fibra tica

Taxa
de

Custos

transmisso

Figura 2.16 - Meios de transmisso


Atualmente, a melhor soluo para o cho de fbrica ainda o par tranado. A fibra
tica ser certamente a melhor soluo em futuro prximo, j existindo hoje diversas
aplicaes industriais bem sucedidas.
reas de segurana intrnseca:
Sujeitas a incndio, exploso
Presena de lquidos ou gases inflamveis/explosivos
No pode haver faiscamento
Freqncia de sinais eltricos limitada
Modelo FISCO (Fieldbus Intrinsically Safe Concept): desenvolvido na Alemanha pelo
PTB (Physikalisch Technische Bundesanstalt) e reconhecido mundialmente como
modelo bsico para operao de redes em reas de risco de exploso ou incndio.
Princpios de transmisso segundo modelo FISCO:
Cada segmento possui uma nica fonte de alimentao.
No se alimenta o barramento enquanto uma estao est enviando.
Cada dispositivo de campo consome uma corrente constante em steady-state de pelo menos 10 mA, que
alimenta o dispositivo.
Os dispositivos de campo funcionam como uma carga passiva de corrente.
Existe uma terminao passiva em ambos os extremos da rede.
Topologias permitidas: linear, em rvore e em estrela.

185

Norma IEC 1158-2 para camada fsica:


Transmisso de dados: digital, bit - sncrona, Manchester
Taxa de transmisso: 31,25 kbit/s, modo voltagem
Cabo: STP com 2 fios
Alimentao remota: opcional, via linhas de dados
Classes de proteo contra exploso: Intrinsically safe (EEx ia/ib) e encapsulation (EEx d/m/p/q)
Topologias: linha e rvore ou uma combinao
Numero de estaes: at 32 estaes por segmento, mximo de 126 com 4 repeaters

3.2.2.4. TIPO DE MENSAGENS E VOLUME DE INFORMAES


Nos nveis hierrquicos superiores de automao (por ex. a nvel de planejamento) so
freqentemente trocados pacotes de vrios KByte, que requerem tempos de transmisso
variando de alguns segundos at vrios minutos. Nas aplicaes mais prximas ao processo,
normalmente so enviadas mensagens curtas, tais como:

Comando para ligar ou desligar uma unidade (basta um bit);


Comando para fazer a leitura de um sensor / medidor (bastam 8, 12 ou 16 bits,
conforme a resoluo do conversor A/D utilizado);
Comando para alterar o estado de um atuador (idem acima);
Comando para verificar o estado de uma chave ou rel (basta um bit).

Estas operaes podem ser feitas normalmente com um nico quadro de comando
acrescido dos respectivos dados, quando existirem.
Para dispositivos programveis encontrados no ambiente industrial (Controladores
Lgicos Programveis, Comandos Numricos Computadorizados, Comandos de Rob, etc.),
normalmente necessrio o envio de programas no inicio da produo de um lote, que
caracterizam mensagens maiores do que as referidas anteriormente. No entanto, estes
programas raramente ultrapassam 10 KBytes em tamanho e dificilmente so utilizados mais
de 3 programas por unidade de fabricao durante um turno de trabalho.
Como conseqncia, uma taxa de transmisso de dados relativamente baixa a nvel da
camada fsica atende as necessidades de comunicao na maioria dos casos (1 Mbps quase
sempre suficiente). Por outro lado, tem-se uma elevada taxa de ocupao do barramento, com
um grande nmero de mensagens sendo trocadas constantemente. Deve-se portanto evitar
mensagens grandes, que podem monopolizar o meio de transmisso por um tempo muito
longo.

186

3.2.3. Projetos de Padronizao de redes industriais


As exigncias de comunicao entre unidades para a integrao flexvel dos sistemas
de automao, descritas nos itens anteriores, evidenciam a necessidade de uma especificao
de redes locais para aplicaes industriais diferente daquela adotada em automao de
escritrio. Existem diversas redes proprietrias para ambiente fabril, desenvolvidas por
grandes empresas e que normalmente utilizam um protocolo especfico desenvolvido pelo
prprio fabricante. Estas redes no permitem a interligao de equipamentos de outros
fabricantes. Desta forma o usurio fica na total dependncia de um nico fornecedor.
A arquitetura das redes de comunicao industrial deve integrar sistemas heterogneos
de diferentes fabricantes, suportando tanto a operao de cho de fbrica quanto as funes de
apoio produo. A definio de padres de protocolos de comunicao e a sua adoo por
diferentes fabricantes dever permitir a interconexo (interoperabilidade) e at mesmo a
intercambiabilidade das vrias unidades de processamento (neste caso, equipamentos
produzidos por fabricantes diferentes podem ser facilmente incorporados instalao,
simplesmente conectando-os ao sistema de comunicao). Entre as diversas iniciativas para
padronizao para redes industriais, podemos destacar: Projeto PROWAY, Projeto IEEE 802,
Projeto MAP (incluindo MAP/EPA e MINI-MAP), projeto TOP e Projeto FIELDBUS.
3.2.3.1. PROJETO PROWAY

Em 1975 um grupo da IEC (International Electrotechnical Comission) iniciou seus


trabalhos para a normalizao de redes de comunicao para controle de processos. Destes
trabalhos resultou a proposta PROWAY (Process Data Highway). O Proway passou por
diversas fases (Proway A, B e C) em funo dos trabalhos de padronizao internacionais.
Proway A e B utilizavam o protocolo HDLC da ISO na camada de enlace, adequando-se
assim apenas a sistemas tipo mestre/escravos. Proway C adotou a tcnica de token-passing.
Sua arquitetura composta de 4 camadas do modelo de referencia ISO/OSI, denominadas
"Line" (camada fsica), "highway" (camada de enlace), "network" (camada de rede) e
"application" (camada de aplicao).
3.2.3.2. PROJETO IEEE 802 E ISO/IEC 8802

O IEEE (Institute of Electrical and Electronics Engineers) iniciou em 1980 o projeto


conhecido pelo nmero 802, que definiu originalmente uma srie de normas para as camadas
Fsica e Enlace do modelo de referncia OSI. Na proposta do IEEE, a camada de Enlace
subdividida em duas subcamadas: LLC (Logical Link Control) e MAC (Medium Access

187

Control). Estas definies foram aceitas pelos demais organismos de padronizao. A norma
resultante hoje reconhecida internacionalmente sob a designao ISO/IEC 8802.
O projeto, em sua forma atual, define uma norma com 12 partes, designadas por IEEE
802.1 at IEEE 802.12, como mostra a figura 2.17, e que tratam de vrios aspectos ligados a
redes de computadores, indo bastante alm da proposta original.

IEEE 802.1 - Aspectos gerais e gerenciamento de rede

IEEE 802.2 - Camada de Enlace


Subcamada LLC
(Logical Link Control)

tipo 1 - sem conexo


tipo 2 - com conexo
tipo 3 - com reconhecimento

IEEE 802.3
CSMA/CD
(MAC)

IEEE 802.4
Token-Bus
(MAC)

IEEE 802.5
Token-Ring
(MAC)

Banda Banda
base
larga

Banda
larga

Banda
base

(PHY) (PHY)

(PHY)

(PHY)

IEEE 802.12
DPA
(MAC)

...
(PHY)

Figura 2.17 - Especificaes do projeto IEEE 802


Resumidamente, as partes do projeto 802 abordam os seguintes aspectos:
IEEE 802.1 : definio de servios de gerenciamento de redes e generalidades;
IEEE 802.2 : descrio da sub-camada LLC da camada de Enlace. Aqui a norma prev
trs tipos de servios:
LLC tipo 1: a troca de dados se d sem o estabelecimento prvio de uma conexo.
No feito controle de erros nem de fluxo e o receptor das mensagens no envia
um quadro de reconhecimento ao emissor;
LLC tipo 2: antes de realizar qualquer troca de dados, as estaes envolvidas na
comunicao devem estabelecer uma conexo entre si. Neste caso, feito controle
de erros e de fluxo e a entidade receptora envia um quadro de reconhecimento para
cada mensagem recebida;

188

LLC tipo 3: a comunicao feita sem o estabelecimento prvio de uma conexo,


mas realizado controle de fluxo e de erros e o receptor envia um quadro de
reconhecimento ao emissor para cada mensagem recebida.
IEEE 802.3 : descrio da sub-camada MAC e camada Fsica para redes com
topologia em barramento e mtodo de acesso ao meio baseado em CSMA/CD;
IEEE 802.4 : descrio da sub-camada MAC e camada Fsica para as redes com
topologia em barramento e mtodo de acesso ao meio baseado em "token-passing"
(Token-Bus);
IEEE 802.5 : descrio da sub-camada MAC e camada Fsica para as redes com
topologia em anel e mtodo de acesso ao meio baseado em "token-passing" (TokenRing);
IEEE 802.6 : descrio da sub-camada MAC e camada Fsica para as redes
metropolitanas com DQDB (Distributed Queue Dual Bus ou barramento dual com
filas distribudas);
IEEE 802.7 : contm recomendaes do IEEE para LANs usando Broadband. Na
verso da ISO/IEC, define uma subcamada MAC com slotted ring e a camada fsica
correspondente;
IEEE 802.9 : IS (Integrated Services) para integrar LANs com RDSI (Rede Digital de
Servios Integrados, ISDN em ingls) e FDDI (Fiber Distributed Data Intarface);
IEEE 802.10 : aborda questes de segurana na interoperao de LANs e MANs
(atualmente define o padro SDE, Secure Data Exchange);
IEEE 802.11 : padroniza LANs com MAC sem fio (Wireless) e a camada fsica
correspondente (transceivers de rdio);
IEEE 802.12 : mtodo de acesso com demanda priorizada (DPA, Demand Priority
Access) e camada fsica correspondente.

Analisaremos mais em detalhes as propostas mais relevantes para aplicaes em


automao industrial nas subsees seguintes.
A norma IEEE 802.3 (CSMA/CD)
Esta norma define um protocolo pertencente famlia CSMA/CD 1-persistente, onde
uma estao desejando emitir escuta o cabo para verificao de disponibilidade; se este no
est disponvel, a estao aguarda pela sua liberao; caso contrrio, esta vai emitir o quadro
considerado. Na ocorrncia de emisses simultneas de quadros (provocando colises), todas
as estaes envolvidas na coliso interrompem imediatamente (a partir da deteco da
ocorrncia da coliso) a sua emisso e esperam um perodo aleatrio de tempo para recomear
as transmisses.

189

Um aspecto interessante da norma IEEE 802.3 a sua origem, baseada na definio da


rede Ethernet, definida pela Xerox em 1976. Esta rede definia um protocolo CSMA/CD sobre
um cabo coaxial de 1000 metros de comprimento, com uma taxa de transmisso de 3 Mbps,
sobre o qual 100 estaes poderiam ser conectadas. O sucesso desta rede foi reconhecido
tambm a nvel de outras empresas, de tal maneira que a prpria Xerox, DEC e Intel
definiram posteriormente um padro "de fato" (isto , um padro consagrado pelo uso) para
uma rede Ethernet, com taxa de transmisso de 10 Mbps.
Ethernet serviu de base para a definio da norma IEEE 802.3, sendo que as diferenas
fundamentais da norma em relao a esta rede esto na definio de toda uma famlia de
protocolos CSMA/CD 1-persistentes, utilizando diferentes suportes de transmisso, cujas
taxas de transmisso vo de 1 a 10 Mbit/s. Os parmetros iniciais da norma so orientados a
um canal de 10 Mbps em banda de base, o suporte utilizado sendo um cabo coaxial de 50
ohms. O comprimento mximo de um suporte fsico segundo a norma IEEE 802.3 de 500 m.
O formato de um quadro IEEE 802.3 mostrado na figura 2.18. Cada quadro
iniciado por um prembulo de 7 bytes, cada um deles contendo a seqncia 10101010. O byte
seguinte o delimitador de incio de quadro, contendo a seqncia 10101011. Estes dois
campos do quadro permitem s estaes sincronizar-se, respectivamente, a nvel de bit e de
caractere.
Cada quadro composto de dois endereos fsicos, o do destino e o da origem, sendo
que os endereos podem ser representados segundo dois formatos possveis, em 16 ou 48 bits.
O bit mais significativo dos endereos permite definir se o endereo individual (0) ou de
grupo (1). O endereamento de grupo permite que um conjunto de estaes da rede receba o
mesmo quadro, caracterizando uma comunicao em multicast. Caso o endereo do
destinatrio seja composto exclusivamente de bits a 1, o quadro ser enviado a todas as
estaes da rede, caracterizando uma comunicao em broadcast.
O campo seguinte contm o tamanho do campo de dados transmitidos, expresso em
bytes. O campo de dados pode variar de 0 a 1500 bytes.

Bytes

P rembul o

2 ou 6

2 ou 6

Dest.

F onte

l i mi tador de
i nci o de quadro

0-1500

0-46

Dados

P ad

F CS

Compri mento dos dados

Figura 2.18 - Formato do quadro IEEE 802.3


A norma define a utilizao de um quadro que no ocupe menos de 64 bytes, do
endereo do destinatrio ao campo de redundncia cclica (FCS, Frame Check Sequence).
Desta forma, caso a zona reservada aos dados seja inferior a 46 bytes, o quadro deve ser

190

completado atravs do campo PAD, de preenchimento de quadro, cujo tamanho poder ser
menor ou igual a 46 bytes. Isto necessrio para garantir a deteco de coliso.
O ltimo campo do quadro contm uma palavra de 32 bits para o controle de erros,
utilizando a tcnica de redundncia cclica (CRC, Cyclic Redundancy Check). O polinmio
gerador utilizado G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+1.
O funcionamento deste protocolo baseado, ento, no que foi apresentado
anteriormente, onde duas ou mais estaes que detectem a disponibilidade do suporte de
transmisso, vo emitir os seus quadros respectivos gerando uma coliso. Toda estao que
detecte a ocorrncia de coliso deve interromper imediatamente a sua emisso, gerando uma
seqncia de interferncia para advertir as outras estaes da ocorrncia da coliso. As
estaes devero, ento, esperar um perodo de tempo aleatrio para recomear o ciclo de
emisso. O tempo de espera dividido em intervalos de tempo, que correspondem a duas
vezes o tempo de propagao entre as duas estaes mais distantes da rede, este intervalo de
tempo sendo definido como time slot.
Aps a primeira coliso, cada estao vai esperar 0 ou 1 time slot antes de tentar
novamente a emisso. Caso duas estaes escolham o mesmo nmero de time slots, elas sero
envolvidas mais uma vez numa coliso. Aps a segunda coliso, cada uma delas vai escolher,
de maneira aleatria, um tempo de espera compreendido entre 0 e 3 time slots antes de tentar
a emisso. Caso uma terceira coliso ocorra, a faixa de escolha de intervalos de tempo vai
aumentar para 0 a (23 - 1). Em geral, aps i colises, o intervalo de escolha ser de 0 a (2i - 1).
Assim, se 10 colises consecutivas ocorrem (as chances para isto so mnimas mas reais), a
faixa de tempo de espera vai atingir um mximo de 1023 time slots. Aps a dcima sexta
coliso, a tentativa de emisso desabilitada e a estao de trabalho ser informada da
situao, ficando uma camada mais acima como responsvel pela deciso sobre a melhor
forma de tratar o problema. A escolha deste algoritmo se justifica pela possibilidade de
adaptao do tempo de espera em funo do nmero de colises ocorridas.
Por outro lado, o algoritmo CSMA/CD no fornece nenhuma informao sobre o
destino de quadros que tenham sido transmitidos sem a ocorrncia de nenhum incidente. Isto
significa que a ausncia de coliso no garante que o quadro foi recebido pela estao (ou
estaes) destinatria(s), sem nenhuma modificao devido, por exemplo, a sinais parasitas.
Para que a transmisso seja considerada correta, preciso que a estao receptora verifique o
bloco de controle de redundncia cclica e, em caso positivo, transmita um quadro de
reconhecimento. Isto ser feito se for escolhido um servio confivel a nvel da subcamada
acima, a LLC.
A nvel das camada fsica e enlace, a norma IEEE 802.3 prev uma arquitetura
conforme a figura 2.19.

191

LLC (Logical Link Control)

Enlace
MAC (Medium Access Control)

PLS (Physical Layer Signaling)


Fsica

AUI (Attachment Unit Interface)


MAU (Medium Attachment Unit)
MDI (Medium Dependent Interface)

Figura 2.19 - Camadas Fsica e Enlace conforme IEEE 802.3


A subcamada PLS (Physical Layer Signaling) define a interface entre o nvel fsico e a
subcamada MAC. A PLS fornece subcamada MAC servios de envio e recepo de bits e de
deteco de coliso.
A AUI (Attachment Unit Interface) usada em algumas configuraes e consiste de
um conjunto de cabos tipo par tranado blindado que permitem conectar rede estaes
localizadas a uma certa distncia do meio de transmisso (cerca de 50m no mximo). A AUI
interliga a placa de rede propriamente dita (situada dentro do computador, em um slot) ao
dispositivo transceptor chamado MAU (Medium Attachment Unit). O MAU um dispositivo
eletrnico que transmite, recebe e detecta a presena de sinais no meio e deve estar
fisicamente muito prximo a este.
A conexo entre o MAU e o meio fsico em si feito por meio de um conector
denominado MDI (Medium Dependent Interface).
A norma IEEE 802.3 define vrias opes de meio fsico e taxa de transmisso,
especificadas da forma:
<taxa em Mbps><tcnica de sinalizao><tamanho mximo do segmento * 100>
Desta forma, a especificao 10BASE5, por exemplo, define uma camada fsica com
taxa de transmisso de 10Mbps, tcnica de sinalizao em banda BASE (baseband) e
comprimento mximo do cabo de 500 metros.
Veremos a seguir algumas das especificaes mais comuns.
A figura 2.20 mostra a especificao 10BASE5 j mencionada. Nesta especificao
usada uma AUI para ligar a estao a uma MAU externa, que pode estar a no mximo 50
metros de distncia e alimentada de energia atravs do prprio cabo AUI. Utiliza-se aqui
192

como meio de transmisso o cabo coaxial grosso (thick coaxial cable) de 50 Ohm. A MAU
ligada ao cabo por meio de um conector de presso.

Conector de
presso MDI

MAU

Cabo AUI

Cabo coaxial
grosso 50
Ohms

Placa de rede
Conector AUI

Figura 2.20 - Especificao IEEE 802.3 10BASE5


A figura 2.21 ilustra a especificao 10BASE2, que trabalha com uma taxa de
transmisso de 10Mbps, banda base e um cabo de at 200 metros. A idia aqui foi fazer uma
especificao mais simples e mais barata que a 10BASE5. Nesta especificao as funes da
MAU ficam dentro da placa de rede na estao, que ligada diretamente a um cabo coaxial
fino (thin coaxila cable) de 50 Ohms por meio de conectores BNC. Desta forma no
necessrio o uso do cabo AUI. A MDI um conector BNC fmea. Em funo do menor preo
e da facilidade de interligao, esta especificao amplamente difundida.
Cabo coaxial
fino 50 Ohms

Conector BNC
fmea

Conector
BNC macho

Conector T
BNC

Placa de rede

Terminador BNC
macho 50 Ohms

Figura 2.21 - Especificao IEEE 802.3 10BASE2

193

Alm das especificaes vistas acima, existe ainda a especificao 10BROAD36, que
opera com taxa de transmisso de 10Mbps, tcnica de sinalizao em Banda Larga e um cabo
de 3600 metros.
A norma IEEE 802.3 prev ainda algumas especificaes de MAU, como:
10BASE-T, que define uma MAU para par tranado em lugar de cabo coaxial e
usualmente empregada para conexo com repetidores multiporta (mais conhecidos
como Hubs);
10BASE-FL, que define uma MAU para fibra tica, usada para conectar uma
estao a um Hub;
10BASE-FB, que define uma MAU para interligar repetidores entre si, usada em
redes backbone;
10BASE-FP, que define uma MAU para operar como estrela passiva;
IEEE 802.3u (Fast Ethernet)
3 verses com 100 Mbps, sempre com HUB:
100BASE-T4: usa 4 pares de cabos UTP categoria 3 (fio telefnico), com
sinalizao em 25MHz cada, com at 100m at HUB, modo half-duplex.
100BASE-TX: usa 2 pares de cabos UTP categoria 5 (usa isolante de teflon), um
para o HUB e outro de retorno, at 100m at o HUB, modo full-duplex;
100BASE-FX: usa 2 fibras ticas multimodo, uma em cada direo, distncia de
at 2 Km at HUB.
Switched Ethernet:
Melhora de performance da ethernet pode ser obtida com fast ethernet, porm requer novas placas de
rede
Outra soluo: manter placas 10BASE-T e ligar a um switcher

IEEE802.3z: 1000BASE-F

A norma IEEE 802.4 (barramento com ficha - "Token Bus")


Embora IEEE 802.3 tenha sido adotada em muitas aplicaes, particularmente aquelas
destinadas automao de escritrio, muitos especialistas da rea de automao, como por
exemplo da General Motors, colocam algumas restries a ela. Um primeiro problema o
aspecto no determinstico do protocolo, onde, em alguns casos, uma estao pode ser
condenada a esperar um longo intervalo de tempo para que um quadro possa ser transmitido.
Outro aspecto a impossibilidade, devido ao formato dos quadros IEEE 802.3, da definio
de mecanismos de prioridade de quadros, ponto importante no caso de aplicaes industriais.

194

A norma 802.4 procura cobrir estes aspectos, permitindo a comunicao num suporte
de transmisso do tipo barramento, mas baseado na existncia de uma ficha (token) que
representa o direito de transmisso de uma estao.
Embora as estaes sejam conectadas atravs de um barramento, caracterizando uma
estrutura linear ou arborescente de comunicao, estas podem ser vistas como se
constitussem um anel lgico, onde cada estao conhece o endereo das estaes vizinhas no
anel. Uma vez que o anel lgico inicializado, a estao que possui o endereo mais elevado
pode transmitir o primeiro quadro. Uma vez que esta transmitiu o seu quadro, ela cede o
direito de transmisso estao vizinha, enviando a esta um quadro especial denominado
ficha (token). Desta forma, a ficha se propaga ao longo do anel lgico, tendo como regra
fundamental o fato de que apenas a estao possuidora da ficha tem o direito de transmitir um
quadro. Sendo assim, a ocorrncia de colises praticamente impossibilitada.
Um ponto importante a salientar a total independncia entre a localizao fsica das
estaes na rede e a composio do anel lgico. Quando uma estao transmite a ficha, ela a
enderea estao imediatamente em aval no anel lgico, independente da sua localizao
fsica.
Ainda, por construo, o suporte de transmisso opera em modo difuso, ou seja, todas
as estaes recebem os quadros transmitidos, mas levam em considerao somente aqueles
que lhes sejam diretamente endereados. Alm disso, quando uma estao conectada ao
barramento entra em funcionamento, ela no automaticamente inserida no anel lgico. O
protocolo IEEE 802.4 quem assume a funo de insero ou retirada de uma estao do anel
lgico.
O protocolo opera da seguinte maneira: quando o anel lgico inicializado, as
estaes de trabalho colocam-se seqencialmente segundo a ordem descendente do valor do
seu endereo fsico. A passagem da ficha se d segundo esta mesma ordem. A cada vez que
uma estao torna-se proprietria da ficha, ela possui o direito exclusivo de transmisso sobre
o barramento, este direito podendo ser exercido durante um certo perodo de tempo, aps o
qual ela deve ceder a ficha para a prxima estao do anel. No caso de quadros curtos, um
grande nmero deles podem ser transmitidos durante este perodo, de maneira consecutiva. Se
uma estao possuidora da ficha no tem quadros a enviar, ela passa a ficha adiante estao
seguinte do anel lgico.
O protocolo de barramento com ficha define um mecanismo de prioridades a quatro
nveis, referenciados por 0, 2, 4 e 6, o nvel 0 tendo a mais baixa prioridade e o nvel 6 a mais
alta. Isto pode ser visto como se cada estao fosse dividida em quatro subestaes de quatro
nveis de prioridade. Assim, quando uma estao recebe a ficha, o direito de transmisso
cedido subestao de nvel 6, aps estao 4, e assim por diante, at a estao 0, at que o
perodo de emisso seja esgotado e a ficha tenha de ser retransmitida prxima estao do
anel lgico.

195

A figura 2.22 apresenta o formato de um quadro IEEE 802.4, onde os seguintes


campos so definidos:
Prembulo, que permite a sincronizao do emissor e receptor a nvel de bit;
Delimitador de Incio de Quadro, que permite a sincronizao a nvel de caractere;
Controle de Quadro, que permite fazer a distino entre os quadros de dados e os quadros
de controle do anel lgico;
os campos Endereo Destino e Endereo Origem, que, do mesmo modo que na norma
IEEE 802.3, podem ser codificados em 16 ou 48 bits;
campo de Dados, que pode ter at 8182 bytes de comprimento;
campo de Controle, que permite efetuar o controle de erros atravs da tcnica de
redundncia cclica (CRC), como na norma IEEE 802.3;
Delimitador de Fim de Quadro, que indica o fim da transmisso de um quadro.
Bytes

1 1 1 2 ou 6

2 ou 6

0-8182

Dest.

Fonte

Dados

FCS

controle quadro

delimitador de fim

delimitador de incio
Prembulo

Figura 2.22 - Formato do quadro IEEE 802.4


O processo de evoluo do anel lgico d-se em funo do estado de cada estao
fazendo parte deste. A cada instante, tem-se uma determinada quantidade de estaes ativas e
outras que, por alguma razo devem encerrar as suas atividades. O protocolo de acesso ao
meio oferece instrues permitindo a atualizao do anel lgico de maneira ordenada.
Uma vez que o anel lgico est constitudo com as estaes ativas num dado instante,
cada estao compondo o anel deve manter os endereos das suas estaes vizinhas nos dois
sentidos considerados (sucessora e predecessora). Periodicamente, a estao que detm a ficha
vai consultar as estaes inativas para verificar se alguma delas querem fazer parte do anel
lgico. Isto feito pelo envio de um quadro do tipo "Procura Sucessor". Este quadro vai
indicar o endereo da estao que emite o quadro e o da estao seguinte a esta no anel lgico.
Apenas as estaes cujos endereos estiverem entre os dois endereos indicados podero
candidatar-se participao no anel lgico. Isto permite que seja respeitada a ordem de
composio do anel. Se nenhuma estao apresenta interesse, a estao proprietria da ficha
retoma a evoluo normal do anel. Se apenas uma estao apresenta-se como candidata, ela
passa a compor o anel lgico e torna-se a prxima destinatria da ficha. Caso duas ou mais
196

estaes estejam se candidatando, ocorrer coliso dos seus quadros (pelas mesmas razes da
norma IEEE 802.3), o que requer que a estao proprietria da ficha resolva o conflito. Neste
caso, ela emite um quadro "Resoluo de Conflito" destinada a inicializar o processo de
resoluo de conteno. Ao receber um quadro de resoluo de conflito, todas as estaes que
tinham se candidatado a entrar no anel lgico esperam por um tempo aleatrio entre 0 e 3 time
slots, aps o que verificam se o meio est livre. Se o meio estiver ocupado aps o trmino do
tempo de espera escolhido, as estaes desistem e aguardam uma nova oportunidade para
entrar no anel lgico. Se houver nova coliso, o processo repetido at que somente uma
estao responda a busca de sucessor.
J o abandono do anel mais simples. Se uma estao X, situada entre duas estaes
A e B quer abandonar o anel, ela envia estao A um quadro indicando que sua vizinha
(seguinte) a partir de agora ser a estao B.
A norma IEEE 802.4 especifica ainda quatro tipos diferentes de camadas fsicas:
Rede com canal nico e modulao FSK (Frequency Shift Keying) fase contnua, com
topologia em barra bidirecional, taxa de transmisso de 1Mbps;
Rede com canal nico e modulao FSK fase coerente, topologia em barra bidirecional,
taxas de transmisso de 5Mbps ou 10Mbps;
Rede em banda larga (vrios canais modulados em freqncia sobre o mesmo meio),
topologia em barra bidirecional com headend (central repetidora com conversor de
freqncias do canal de recepo para o canal de envio), taxas de transmisso de 1Mbps,
5Mbps ou 10Mbps;
Rede utilizando fibra tica, topologia lgica em barra (mas fisicamente em estrela com um
Hub como elemento central), requer um par de fibras para cada estao (uma para receber
e outra para transmitir), taxas de transmisso de 5Mbps, 10Mbps ou 20Mbps.
A norma IEEE 802.5 (anel com ficha - "Token Ring")
Esta norma foi definida para privilegiar as redes em anel existentes. Um ponto
importante no que diz respeito concepo das redes em anel a ocupao fsica de um bit no
suporte de transmisso. Caso o dbito normal de um anel seja de R Mbps, isto significa que
um bit transmitido a cada 1/R s. Se a velocidade de propagao do sinal de 200 m/s,
cada bit vai ocupar 200/R metros no suporte de transmisso. Isto significa que, para um anel
operando a 1Mbps e utilizando 1000 metros de suporte fsico, este s poder suportar 5 bits a
cada instante.
Uma rede em anel consiste de um conjunto de ligaes ponto-a-ponto, em modo
unidirecional, como mostra a figura 2.23. Cada n do anel equipado de um acoplador que
permite conectar duas extremidades do cabo. Cada bit chegando na entrada de um acoplador

197

copiado numa memria de espera antes de ser retransmitido ao n seguinte. Este bit pode ser
inspecionado e, mesmo, ter o seu valor modificado antes da retransmisso.
Num anel com ficha, uma seqncia binria particular, denominada ficha, fica
circulando em permanncia quando no existe transmisso de quadro. Quando uma estao
quer emitir um quadro, ela deve adquirir a posse da ficha e substitu-la pelo quadro a enviar.
Uma vez que apenas uma ficha est circulando no anel, a emisso de um quadro uma ao
exclusiva a uma nica estao do anel, o que significa que os conflitos so, assim, eliminados.
Estao

Repeater e
interface
para anel

anel unidirecional

Figura 2.23 - Anel com ficha (Token-Ring)


A operao do protocolo IEEE 802.5 relativamente simples. Quando no existem
quadros sendo transferidos sobre a rede, uma ficha de 3 bytes fica circulando. Quando uma
estao deseja transmitir um quadro, ela captura a ficha, posicionando um dos bits do segundo
byte a 1, o que permite transformar os dois primeiros bytes da ficha numa nova seqncia,
denominada, incio de quadro. Em seguida, a estao completa a seqncia. Normalmente, o
primeiro bit do quadro retorna estao antes que todo o quadro tenha sido emitido. Por isto,
a estao deve extrair do anel o que ela j emitiu para poder continuar a emisso do quadro.
Cada estao s pode utilizar o direito de emisso por um perodo de tempo de 10 ms, a
menos que algum outro valor tenha sido especificado no momento da ativao dos
acopladores do anel. Se, aps a transmisso de um quadro, restar ainda algum tempo para a
emisso de outro quadro, a estao dever faz-lo. Caso contrrio, ela encerra o seu processo
de emisso e gera uma nova ficha que ficar circulando no anel.
Na figura 2.24 vemos o formato do quadro previsto na norma IEEE 802.5. Como
mostra a figura, alm dos campos similares aos quadros das normas anteriores, existe um
campo adicional, denominado Status (Estado) do quadro. Este campo, de 1 byte, composto
de dois pares de bits denominados bits A e C. Quando um quadro reconhecido por um
acoplador de rede como sendo um quadro a ele destinado, ele copia o quadro inteiro e coloca
os bits A deste campo a 1. Os possveis valores dos bits A e C so apresentados abaixo,
juntamente com os seus significados:

198

Bytes

11 1

2 ou 6

2 ou 6

ilimitado

Dest.

Fonte

Dados

controle quadro (FC)

11

FCS

delimitador de fim
(ED)

controle de acesso (AC)


delimitador de incio (SD)

status quadro
(FS)

Figura 2.24 - Formato do quadro IEEE 802.5


- A = 0 e C = 0: o destinatrio est inativo;
- A = 1 e C = 0: o destinatrio est ativo mas o quadro no foi copiado;
- A = 1 e C = 1: o destinatrio est ativo e o quadro foi copiado.
Este mtodo permite implementar um reconhecimento automtico do quadro. Os bits
so duplicados para preveno da ocorrncia de erros de transmisso (estes bits no so
controlados pela tcnica de redundncia cclica).
A norma IEEE 802.5 prev a nvel da camada fsica o uso de segmentos com par
tranado blindado operando a 4 ou 16Mbps com at 250 repetidores no anel ou ainda o par
tranado comum com 4Mbps e tambm 250 repetidores. Os bits so codificados com a tcnica
Manchester diferencial.
A norma IEEE 802.11 - Wireless Networks (redes sem fio)
Nas redes sem fio, os pacotes so transmitidos atravs de canais de freqncia de rdio
ou infravermelho, como ilustrado na figura 2.25. As redes sem fio so uma boa alternativa
para aplicaes onde difcil instalar cabos metlicos ou de fibra tica. Seu emprego
especialmente importante para comunicaes entre computadores portteis em um ambiente
de rede local mvel ou onde a confiabilidade do meio de transmisso requisito indispensvel
(por exemplo, onde o rompimento de um cabo pode paralisar todo o sistema).
Este tipo de rede vem ganhando certa aceitao em aplicaes de cho de fbrica,
devido a flexibilidade de instalao e operao, pois no h necessidade de projeto de layout,
nem canaletes para cabos de rede, etc. Equipamentos mveis inteligentes do cho de fbrica
podem ser configurados como estaes de rede sem fio. Exemplos deste tipo de equipamento
so os AGVs (Automatic Guided Vehicles), Robs Autnomos e Sensores Inteligentes.

199

Figura 2.25 - Redes sem fio


Tais redes operam em bandas de freqncia denominadas ISM (Industrial, Scientific and
Medical), que podem ser utilizadas sem que seja necessria uma licena. A norma IEEE
802.11 especifica como opes as bandas 902 at 928 MHz, 2.4 at 2.48 GHz e 5.75 at 5.85
GHz. O sinal emitido por uma estao operando nestas freqncias cobre uma rea de 500 m2
com uma potncia de apenas 100mW. reas maiores podem ser cobertas decompondo a rede
como um todo em vrias subredes, responsveis pela comunicao em uma rea ou clula
chamada BSA (Basic Service Area). Como a potncia do sinal de rdio decai com o quadrado
da distncia do emissor, pode-se reutilizar a mesma freqncia de transmisso para estaes
em BSAs diferentes, desde que estas estejam suficientemente distantes entre si. Para permitir
a construo de redes cobrindo reas maiores que uma clula, as BSAs so interligadas por
um sistema de distribuio, que consiste de uma rede usando meio fsico convencional (cabo
coaxial, par tranado ou fibra tica).
Um problema tpico das redes baseadas em sinal de rdio operando nas bandas de
freqncia mencionadas o chamado desvanecimento de Rayleigh, que pode ser explicado
como segue. Parte das ondas de rdio so refletidas quando encontram objetos slidos. Em

200

decorrncia desta reflexo, vrias cpias de uma mensagem de rdio podem estar em
propagao no meio e chegar a estao receptora em instantes de tempo diferentes. Quando as
vrias cpias do sinal chegam ao receptor aps percorrerem distancias diferentes, elas se
somam aleatoriamente, podendo resultar em um sinal muito enfraquecido ou mesmo nulo,
como ilustrado na figura 2.26 (se a diferena no comprimento dos caminhos for um mltiplo
do comprimento de onda da portadora do sinal, os vrios componentes podem cancelar-se
mutuamente). O resultado disto que, no mesmo ambiente, podemos ter tima recepo em
alguns locais pssima recepo em outros locais a apenas poucos metros de distncia. Desta
forma, a qualidade da recepo varia muito a medida que uma estao se move no ambiente.
Figura 2.26 - Reflexo das ondas de rdio em um ambiente fechado
Como vrias estaes compartilham o mesmo meio, caracterizando uma rede de
difuso, necessrio utilizar um mtodo de acesso que discipline este compartilhamento. Uma
primeira abordagem seria utilizar CSMA, isto , cada estao escuta o meio e, se estiver livre,
envia seu quadro. Isto, no entanto, no to simples em redes sem fio em decorrncia do
alcance do sinal de rdio, como veremos a seguir.
Suponha a situao ilustrada na figura 2.27, onde quatro estaes sem fio esto
representadas. Suponha que um sinal oriundo de A pode alcanar B, mas no alcana C nem
D. Um sinal oriundo de C alcana B e D, mas no A.

Raio de alcance
(a)

(b)

Figura 2.27 - (a) estao A transmitindo; (b) estao B transmitindo


Suponha agora que A est enviando dados para B. Se C escutar o meio, no ir detectar
que A esta enviando, pois A esta fora do seu alcance. Logo, C pode tentar enviar um quadro
para B ou D, mas como B est no alcance de C, o quadro enviado por A ir colidir com o
quadro enviado por C a nvel de B. O fato de uma estao no poder detectar que o meio no
est livre porque o concorrente est fora de alcance chamado de "problema da estao
escondida" (hidden station problem). Por outro lado, se B estiver transmitindo um quadro para
A, C ir detectar a transmisso (pois B est no seu alcance) e falsamente concluir que no
pode transmitir um quadro para D neste momento. No entanto, como os receptores de A e D

201

no esto na rea de interferncia uma da outra, nada impede que C envie dados para D
enquanto B envia para A. Esta situao conhecida como o "problema da estao exposta"
(exposed station problem). Em resumo, o que realmente interessa a uma estao pretendendo
enviar um quadro em redes sem fio saber se h ou no atividade na rea do receptor.
Para resolver os problemas acima, a norma IEEE 802.11 utiliza em sua subcamada
MAC (chamada DFWMAC, para Distributed Foudation Wireless MAC) um protocolo de
acesso ao meio conhecido como MACA (Multiple Access with Collision Avoidance). A idia
bsica por trs deste protocolo fazer com que o emissor de um quadro estimule o receptor a
emitir um quadro pequeno que possa ser detectado pelos seus vizinhos antes de mandar os
dados em si.
Suponhamos agora que B quer enviar um quadro para C. Neste mtodo de acesso, a
estao B envia para C primeiro um quadro especial denominado RTS (Request To Send),
contendo o tamanho do quadro de dados que deseja enviar a seguir. C deve responder com
outro quadro especial chamado CTS (Clear To Send), contendo a mesma informao de
tamanho. B inicia a transmisso quando recebe o quadro CTS de C, conforme ilustrado na
figura 2.28. Qualquer estao que captar o quadro RTS estar forosamente prxima a B e
deve se manter em silencio por tempo suficiente para que B receba o CTS. Qualquer estao
que captar o CTS estar forosamente prxima a C e deve tambm se manter em silencio por
tempo suficiente para que C receba o quadro de dados que B vai enviar a seguir, cujo tamanho
pode ser avaliado examinando o quadro CTS. Vejamos como se comportam as demais
estaes: A escuta o RTS de B mas no o CTS de C, de modo que, desde que no queira
mandar dados para B, A pode enviar seus quadros a qualquer outra estao em seu raio de
alcance; Por outro lado, D escuta o CTS de C mas no o RTS de B, o que indica que est
prxima a uma estao que vai receber um quadro de dados logo a seguir e portanto deve se
manter em silencio at que este seja recebido.

CTS

RTS
A

Raio de alcance de B

Raio de alcance de C

(a)

(b)

Figura 2.28 - O protocolo MACA


Apesar destas precaues, colises ainda podem ocorrer. Por exemplo, A e C podem
enviar quadros RTS para B ao mesmo tempo. Estes iro colidir e ser perdidos. No caso de
coliso, o emissor do RTS espera um certo tempo pelo CTS e, se no receber nada, tenta
novamente mais tarde.

202

Redes Submarinas:
Comunicao subaqutica tradicionalmente limitada a aplicaes militares (submarinos, torpedos
teleguiados, sonares).
Primeiro sistema de comunicao UWA (Under-Water Acoustic): telefone criado em 1945 para
comunicao com submarinos (guas rasas, modulao FSK de 8 a 11 khz).
Recentemente surgiram vrias aplicaes civis:
Explorao submarina para fins cientficos;
Soldagem e reparao de cascos de navios e dutos por robs submarinos;
Monitorao de poluio;
Veculos submarinos no tripulados (AUV = Autonomous Underwater Vehicles);
Sensores e atuadores submarinos (sismgrafos, vlvulas, etc.);
Comunicao entre mergulhadores;
Montagem/manuteno/operao de plataformas de explorao/produo de petrleo.

Gerao de sinais:
Sinais de rdio: para boa propagao na gua, requerem ondas de baixssima freqncia (30 a 300 Hz) => antenas
grandes e transmissores de alta potencia.
Sinais ticos: principal problema no atenuao, mas disperso.
Sinais acsticos: melhor soluo, podem se propagar na gua por milhares de Km.

Requisitos para tipos de dados mais usuais:


Sinais de controle (comando de vlvulas, solicitao de status, comandos de navegao para AUV, etc): requerem
cerca de 1Kbps;
Dados telemetria (hidrofones, sismgrafos, sonares, etc): requerem cerca de 10Kbps;
Vdeo: requer de 10Kbps a 500Kbps para boa taxa atualizao.

Problemas tecnolgicos a superar:


Perda de transmisso: espalhamento de energia e absoro de som (proporcional ao quadrado da distncia);
Rudo acstico: pior em guas rasas, portos, etc.
Reverberao: propagao de sinal por mltiplos caminhos causada por reflexo em obstculos (desvanecimento de
Rayleigh);
Variaes espaciais e temporais do meio (temperatura/densidade gua, obstculos mveis, etc.): problema pior se
estaes mveis.

Consideraes de projeto de sistemas UWA:


Importante eliminar reverberao (muito pior que rdio).
Uso de dispositivos direcionados: problemtico se estaes mveis;
Tcnicas FSK com tempo de espera entre pulsos de mesma freqncia (espera ecos desaparecerem);
Tcnicas Spread-Spectrum;
Uso de equalizadores.

Tipos de sistemas UWA em uso:

203

Longo alcance: 20Km at 2.000Km, modulao FSK de 200Hz at 10KHz, taxas de transmisso baixas (tpico: 1
bps);
Mdio alcance: 1Km at 20Km, uso em guas rasas, modulao FSK de 10KHz at 100KHz, 5Kbps;
Curto alcance: at cerca de 60m, uso para robs de manuteno e mergulhadores em guas rasas, modulao FSK de
1MHz, taxa de 500Kbps.

Pesquisas atuais:
Uso de PSK e QAM (Quadrature Amplitude Modulation) em lugar de FSK;
Testes com sinais capazes de se propagar por todo o planeta (testado sinal gerado Austrlia e lido na
Califrnia/USA);
Desenvolvimento de ALAN (Acoustic LAN): tendncia de usar protocolos MACA e MACAW (IEEE 802.11),
multiplexao de canais por TDM ou CDMA+Spread Spectrum.

3.2.3.3. PROJETO MAP

O projeto MAP ("Manufacturing Automation Protocol") foi uma iniciativa da General


Motors, iniciada em 1980, com a finalidade de definir dentro do modelo OSI um ambiente de
comunicao voltado para a automao da manufatura. MAP define mecanismos de
comunicao entre equipamentos de cho de fbrica, tais como Robs, CNCs, CLPs,
terminais de coleta de dados, Computadores, etc.
Esta proposta encontra boa aceitao a nvel mundial por parte de usurios e
fornecedores de bens de automao, mas ainda esta sendo questionada pelos altos custos de
cada estao.
Para aplicaes voltadas ao controle da manufatura com tempos crticos foi definida a
verso MAP/EPA (Enhanced Performance Architecture) para conseguir tempo de resposta
menores. A Verso MAP/EPA apresenta para algumas estaes da rede a arquitetura MAP
completa (7 camadas) e uma arquitetura simplificada com as camadas 1,2 e 7 do modelo OSI
como caminho alternativo para satisfazer os requisitos de tempo. A verso mais simplificada
conhecida como MINI-MAP e implementa somente as camadas 1, 2 e 7 do modelo OSI. O
projeto MAP, devido a sua importncia no contexto de redes industriais, ser discutido mais
detalhadamente em um captulo a parte mais adiante.
3.2.3.4. PROJETO TOP

204

Com objetivos semelhantes ao MAP, foi desenvolvido pela BOEING a partir de 1983
o projeto TOP ("Technical and Office Protocol"), voltado redes para automao de reas
tcnicas e administrativas. Tambm baseado no modelo OSI de 7 camadas e tem como
finalidade fornecer aos usurios os seguintes servios: correio eletrnico, processamento de
textos, acesso a base de dados, transferncia de arquivos, CAD/CAM distribudo, troca de
documentos, transaes bancrias, entre outros.
A partir de 1986 os projetos MAP e TOP passaram a ser coordenados conjuntamente,
resultando no projeto MAP/TOP.

3.2.3.5. PROJETO FIELDBUS

O Fieldbus uma soluo de comunicao para os nveis hierrquicos mais baixos


dentro da hierarquia fabril, interconectando os dispositivos primrios de automao instalados
na rea de campo (Sensores, atuadores, chaves, etc) e os dispositivos de controle de nvel
imediatamente superior (CLPs, CNCs, etc).
Ainda esto sendo definidos os padres para o Fieldbus. Os principais grupos
envolvidos nos trabalhos de padronizao so:

Avaliadores: IEC, ISA, EUREKA, NEMA


Proponentes: PROFIBUS, FIP, ISA-SP50

O Fieldbus e suas principais propostas de padronizao ser discutido em detalhes em


um captulo especfico mais adiante.

205

3.3. O PROJETO MAP (Manufacturing Automation Protocol)


3.3.1. Introduo
O projeto MAP tem como mrito a apresentao de uma proposta concreta para a
comunicao no ambiente de fbrica, estabelecendo as condies necessrias para a
integrao dos componentes de automao em um ambiente integrado segundo a filosofia
CIM (Computer Integrated Manufacturing). Ao contrrio do que se propunha inicialmente,
hoje est claro que no existe uma soluo nica de rede que atenda aos requisitos de todos os
nveis de comunicao em uma fbrica.
O projeto MAP nasceu no incio dos anos 80 por iniciativa da GM (General Motors).
Na poca, apenas 15% dos equipamentos programveis de suas fbricas eram capazes de se
comunicar entre si.
Alm disso, os custos de comunicao eram muito elevados, avaliados em 50% do
custo total da automao, isto devido s conexes especiais necessrias entre cada
equipamento. Ainda, cada nova instalao ou expanso no sistema existente estava associada
a uma despesa no desprezvel.
Considerando que, na poca, estava previsto que a quantidade de equipamentos
programveis deveria sofrer uma expanso de 400 a 500% num prazo de 5 anos, o problema
de comunicao tornou-se, efetivamente, uma prioridade a nvel da empresa.
Diante do grave problema, a deciso deveria ser tomada no sentido de definir a
soluo, cujas opes eram as seguintes:

continuar a produo utilizando mquinas programveis isoladas (stand-alone) de uma


variedade de fabricantes e solucionar o problema da maneira como vinha sendo feito;
basear os processos de produo na aquisio de equipamentos de um nico
fabricante;
desenvolver uma proposta padronizada que permitisse interconectar todos os
equipamentos da planta.

Dadas as perspectivas de evoluo e o grande desenvolvimento dos equipamentos de


automao, a primeira proposta era, naturalmente, invivel. Com relao segunda proposta,
era (e continua sendo) impossvel encontrar um nico fabricante capaz de fornecer todos os
equipamentos necessrios (robs, mquinas de comando numrico, CLPs, sensores, etc.) ao
processo de fabricao.
A soluo viria, ento, pela terceira opo, que foi o ponto de partida para o projeto
MAP, atravs da criao de uma fora tarefa reunindo profissionais das diversas divises da
GM, cujo objetivo inicial era investigar a possibilidade de utilizao do modelo de referncia
OSI como base para a proposta padronizada da empresa.
206

Um ano mais tarde, em 1981, a GM uniu-se a outras empresas -Digital Equipment


Corporation (DEC), Hewlett-Packard (HP) e IBM -definindo a soluo do problema baseada
na utilizao de uma arquitetura de comunicao para rede local baseada no modelo a sete
camadas do OSI. Uma primeira preocupao deste grupo de trabalho foi a seleo de alguns
dos padres de protocolo definidos para o modelo OSI que pudessem ser adotados na
arquitetura MAP.
A partir dai o projeto foi ganhando corpo e adeses por parte de outras empresas,
tornando-se uma realidade nos anos 90 e dando origem a outras propostas de arquiteturas de
comunicao orientadas a outros nveis das atividades da empresa.

3.3.2. A arquitetura MAP


Uma vez adotado o modelo OSI como referncia para a arquitetura de comunicao, o
problema era selecionar as propostas a serem implementadas a nvel de cada camada. Para as
camadas 1 e 2, foram selecionados, respectivamente, as normas IEEE 802.4 (barramento com
ficha) e IEEE 802.2 (LLC).
Do ponto de vista da camada Fsica, foi escolhido o suporte de comunicao em banda
larga (broadband). A escolha foi baseada nas razes seguintes:

possibilidade de definio de vrios canais de comunicao sobre um mesmo suporte


de comunicao, o que permitiria a coexistncia de vrias redes, minimizando as
modificaes de cablagem durante a transio para MAP;
permitiria a troca de outros sinais, como voz e imagem para determinadas aplicaes,
tais como a superviso, o circuito fechado de TV, a teleconferncia, etc;
broadband parte da norma IEEE 802.4 e estava sob estudos suportar o padro IEEE
802.3 (CSMA/CD);
a GM j possua muitas instalaes operando em broadband.
As razes que conduziram escolha do barramento com ficha foram as seguintes:

inicialmente, era o nico protocolo suportado em broadband;


muitos equipamentos programveis j eram providos com o protocolo de enlace
suportado por broadband e IEEE 802;
a possibilidade de implementar um esquema de prioridades de mensagens;
em caso de falhas fsicas, mensagens de alta prioridade poderiam ser enviadas num
tempo limitado.
Apesar das razes expostas acima para a escolha do barramento com ficha, esta foi
uma escolha relativamente debatida, principalmente porque a arquitetura MAP a nica a

207

adot-la e os circuitos integrados implementando IEEE 802.4 so utilizados exclusivamente


para esta arquitetura. Alm disso, outras propostas tinham sido adotadas pelos grandes
fabricantes: Ethernet (IEEE 802.3) no caso da DEC e IEEE 802.5 no caso da IBM.
A nvel da camada de Enlace, embora as funes associadas sejam principalmente a
deteco e recuperao de erros, optou-se por um protocolo que no implementasse estes
servios, o LLC tipo 1, deixando estas funes a cargo dos nveis superiores (mais
particularmente, o nvel Transporte).
O servio de Rede sem conexo, cada mensagem sendo roteada individualmente
atravs da rede. A norma ISO 8348, adotada a este nvel, permite definir um conjunto de
regras de endereamento atravs da rede. O protocolo de roteamento utilizado aqui foi
definido pelo projeto MAP e atualmente normalizado na ISO sob o nmero 9542.
A nvel do Transporte, foi adotada a classe 4 do protocolo de Transporte da ISO (TP4,
ISO 8072/73), orientado conexo, com controle de erros. O servio de Transporte oferece,
ento, um canal de comunicao confivel, sem perdas, erros, nem duplicao de mensagens.
TP4 assegura ainda as funes de fragmentao e montagem de mensagens, o que permite que
as mensagens trocadas a este nvel sejam de qualquer dimenso.
A norma ISO 8326/27 foi adotada para a camada de Sesso, assegurando as funes de
comunicao full-duplex e de ressincronizao.
Na camada de Apresentao, os problemas de representao de dados so resolvidos
com a adoo da sintaxe abstrata ASN.1, que serve de linguagem comum s diferentes formas
de representao dos dados, caractersticas de cada equipamento.
Dentre as funes oferecidas aos processos de aplicao, foram definidas, na camada
de Aplicao, as seguintes normas:

MMS, para a troca de mensagens entre equipamentos de produo (que ser visto em
detalhes mais a frente);
FTAM, para o acesso e a transferncia de arquivos;
ROS, para a gesto de nomes (diretrio);
funes de gerenciamento de rede, para a gesto dos recursos, medio de desempenho
e modificao dos parmetros da rede.

A figura 3.1 apresenta as escolhas efetuadas a nvel do projeto MAP, incluindo as


verses EPA e Mini-MAP. Como a partir da verso 3.0 ocorreu uma unificao dos projetos
MAP e TOP, a figura apresenta tambm as normas adotadas para a arquitetura TOP.

208

Especificao
Camada

Aplicao
Apresentao
Sesso

TOP

MAP

ACSE
FTAM
VTS

MAP/EPA

Mini-MAP

MMS
FTAM
ROS

ISO 8822 - ASN.1


ISO 8326 e 8327
VAZIO

Transporte
Rede
Enlace
Fsica

ISO 8072 e 8073 - Classe 4


ISO 8348 - Sem Conexo
LLC 802.2 tipo 1

LLC 802.2 tipo 1

MAC 802.3 CSMA/CD

MAC 802.4 Token bus

Banda Base
10 Mbps

Banda larga
10 Mbps

LLC 802.2 tipos 1 e 3


MAC 802.4

Banda base
5 Mbps

Figura 3.1 - Especificao MAP/TOP 3.0

3.3.3. A arquitetura MAP-EPA

Dadas as necessidades especficas de cada nvel hierrquico de uma empresa,


verificou-se que a proposta MAP original no permitia cobrir todos os nveis considerados,
sendo mais adequada aos nveis superiores. Uma razo principal disto que, apesar da
excelente qualidade dos servios oferecidos, a arquitetura a sete camadas oferece um overhead
que passa a ser indesejvel nos nveis mais baixos das atividades de uma empresa.
Uma primeira soluo a este problema foi a definio de uma verso simplificada da
arquitetura MAP, denominada MAP-EPA (Enhanced Performance Architecture). A figura 3.2
apresenta a proposta MAP-EPA.
Esta proposta foi baseada na definio de duas pilhas de protocolos, a pilha normal
Full-MAP e a pilha MAP-EPA, desprovida das camadas de Rede, Transporte, Sesso e
Apresentao. Do ponto de vista das camadas baixas, o protocolo IEEE 802.4 continuava
sendo adotado, porm sobre um suporte de transmisso em banda de base (baseband) a 5
Mbit/s.
Nesta arquitetura, um processo de aplicao tem a opo de enviar seus dados atravs
da pilha normal ou, em casos onde o requisito seja um tempo de resposta rpida, pela pilha
MAP-EPA. Evidentemente, o fato das camadas 3 a 6 estarem ausentes acarreta a perda dos
servios oferecidos por estas.

209

MAP

EPA

Aplicaes

Aplicaes

convencionais

com tempos
de resposta

Aplicao

crticos

Apresentao
Sesso
Transporte
Rede
ENLACE LLC tipos 1 e 3
MAC IEEE 802.4 - TOKEN BUS
Fsica

Figura 3.2 - Arquitetura MAP-EPA

3.3.4. A arquitetura Mini-MAP


Uma terceira opo relacionada com a norma MAP foi a arquitetura Mini-MAP,
baseada igualmente na supresso das camadas 3 a 6 para eliminar o overhead dos protocolos
daquelas camadas. A arquitetura Mini-MAP composta unicamente do segmento
simplificado de MAP-EPA, e foi assim definida para evitar o alto custo das pilhas de
protocolos paralelas de MAP-EPA (figura 3.3). Esta nova proposta era dedicada aos nveis
mais baixos, permitindo a comunicao em aplicaes mais simples como, por exemplo, entre
sensores inteligentes.
O fato de no possuir a camada de Transporte fez introduzir um protocolo de Enlace
mais sofisticado que o da proposta MAP, o LLC tipo 3, datagrama com reconhecimento.

3.3.5. Os servios de mensagem industrial (MMS)


MMS (Manufacturing Message Services) foi normalizado na ISO como sendo o
conjunto de servios de comunicao oferecido s aplicaes industriais, particularmente para
viabilizar, dentro do ambiente OSI, as interaes entre equipamentos de produo
programveis.

210

Aplicao

Conexes com
LSAPs

LLC tipos 1 e 3

MAC IEEE 802.4

Banda base 5 Mbps

Figura 3.3 - Arquitetura Mini-MAP


MMS o resultado dos trabalhos realizados no contexto do projeto MAP, para a
definio de um conjunto de servios de comunicao orientados s aplicaes industriais.
A primeira proposta de MMS/RS-511 foi apresentada em junho de 1985, na forma de
um documento organizado em duas partes:

Manufacturing Message Services: Definio dos Servios;


Manufacturing Message Specification: Especificao do Protocolo.

Atualmente, MMS tornou-se norma internacional, fazendo parte da camada de


Aplicao da verso 3.0 de MAP, publicada em agosto de 1988. Os dois documentos
mencionados acima apresentam, de forma geral, como os servios e o protocolo podem ser
aplicados no contexto da utilizao de um equipamento de produo genrico, sem levar em
conta as particularidades de uma classe de equipamentos especfica. Para complementar a
norma existente, outros documentos foram e esto sendo produzidos, denominados normas de
acompanhamento ("Companion Standards"), cujo objetivo levar em conta as especificidades
de classes de equipamentos tais como os robs, as mquinas de comando numrico, os
sistemas de viso, os controladores lgicos programveis e os sistemas de controle de
processos.

211

O objetivo de MMS oferecer servios de comunicao que permitam a um sistema


aberto (no sentido OSI) acessar os recursos existentes em outros sistemas abertos conectados
rede de comunicao. Eles permitem cobrir grande parte das necessidades de comunicao
entre sistemas de produo, como, por exemplo, o carregamento remoto de programas, o
controle remoto de um equipamento, a elaborao de relatrios de produo, etc.
Os programas escritos pelos programadores de aplicao vo acessar (direta ou
indiretamente) as primitivas de servio MMS, que vo manipular objetos virtuais
representando os recursos reais disponveis num equipamento de produo distante.
3.3.5.1. OS OBJETOS MMS

Os usurios dos servios MMS so os processos de Aplicao (APs - Application


Processes) executando num equipamento de produo ou num computador de superviso. A
comunicao entre dois APs atravs dos servios MMS realizada segundo um modelo
Cliente-Servidor, onde o usurio Cliente aquele que requisita operao sobre os recursos
disponveis num equipamento de produo distante, este sendo modelizado por um usurio
Servidor.
O objeto de base definido em MMS o Dispositivo Virtual de Produo ou VMD
(Virtual Manufacturing Device), que representa, no contexto dos servios MMS, um
equipamento real de produo. Todo processo de aplicao modelizado por um Servidor
MMS possui, no mnimo, um objeto VMD (figura 3.4). O principal componente do VMD a
Funo Executiva, responsvel pela gesto de acesso aos diferentes recursos do equipamento
considerado, tais como memria, processadores, portas de E/S, etc.

VMD

Objetos
MMS

...
...

Estao
Operador 1

...
Estao

Funo EXECUTIVA

PSAPS
Figura 3.4 - Estrutura geral de um VMD

212

Operador N

O VMD define uma classe de objetos denominados domnios (Domains), que


permitem reagrupar os programas e os dados necessrios execuo do equipamento
considerado. Estes programas e dados podem ser definidos de maneira esttica ou dinmica
por meio dos servios MMS.
A execuo de programas gerenciada atravs de objetos denominados Invocao de
Programa (Program Invocation), que podem, tambm, ser criados esttica ou dinamicamente.
Um operador humano pode se comunicar com um equipamento de produo, fazendo a
entrada e sada de dados graas definio de um objeto Estao Operador, sendo que um
VMD pode gerenciar uma ou mais estaes de operador.
A norma prev, ainda, objetos permitindo gerenciar a sincronizao de processos e o
acesso concorrente a recursos, que so os objetos Semforos; para a deteco e o tratamento
de eventos, os objetos Condio de Evento, Ao de Evento e Inscrio de Evento; e para a
produo de relatrios de produo, os objetos Jornais.
Foram definidos tambm objetos denominados variveis (variables), que podem ser
alocados dentro de um VMD. As variveis podem se referir, por exemplo, a entradas e sadas
de um CLP e podem ser lidas ou escritas remotamente.
A cada classe de objetos MMS associada uma classe de servios responsveis da sua
manipulao, sob demanda de um usurio Cliente remoto.
3.3.5.2. OS SERVIOS MMS

A norma MMS define 84 servios, dos quais 3 no confirmados, organizados em 9


classes distintas. Os servios de Gesto de Contexto so utilizados para o estabelecimento e a
manuteno do dilogo entre usurios MMS, nenhum servio podendo ser ativado sem que o
contexto tenha sido estabelecido, suportado por uma associao. O servio Initiate o servio
definido para o estabelecimento da associao, este sendo mapeado diretamente sobre o
servio A_ASSOCIATE do ACSE. Esta classe de servios reagrupa, ainda, servios para a
terminao negociada do contexto (Conclude), a liberao abrupta (Abort). Uma requisio de
servio pode ser anulada por um usurio MMS cliente, atravs da ativao do servio Cancel.
Ainda, o fornecedor de servio MMS pode sinalizar a ocorrncia de um erro de protocolo
atravs do envio de uma primitiva de servio (indicao) Reject, informando o tipo de erro
detectado.
Os servios de Suporte de VMD permitem a um usurio Cliente MMS obter
informaes de estado sobre um objeto VMD, assim como sobre os objetos gerenciados por
este. As informaes possveis de serem obtidas so:
Estado lgico do VMD (Status);
Lista dos objetos do VMD (GetNameList);
Caractersticas do equipamento de produo (Identify).
213

Finalmente, ainda possvel modificar os identificadores dos objetos de um VMD,


isto atravs do servio Rename.
Os servios de Gesto de Domnio so utilizados para o carregamento e
armazenamento distncia de programas e dados de um equipamento de produo. Estas
operaes so baseadas na realizao de duas seqncias de servios MMS, a primeira para o
carregamento remoto, DownLoadSequence, a outra para a recuperao do contedo de
domnios, UpLoadSequence.
Um usurio MMS ativa a seqncia DownLoad para pedir a criao e o carregamento
de informaes para um domnio. Esta seqncia caracterizada por trs etapas:

inicializao da seqncia e criao de um domnio (InitiateDownLoadSequence);


transferncia das informaes para o domnio (DownLoadSegment);
terminao da seqncia (TerminateDownLoadSequence).

Os servios de Gesto de Programa permitem a um usurio MMS manipular, de


maneira remota, os programas num VMD, para a criao, eliminao e controle de execuo.
As operaes podendo ser efetuadas sobre um objeto Invocao de Programa so as seguintes:

criao e eliminao (CreateProgramInvocation e DeleteProgramInvocation);


controle de execuo de um programa (Start, Stop, Resume, Reset e Kill);
obteno de atributos (GetProgramInvocationAttributes).

Os servios de Acesso s Variveis permitem a um cliente MMS definir e acessar


variveis definidas num VMD de um servidor MMS. O acesso s variveis reais de um
equipamento possvel graas definio de um conjunto de objetos variveis MMS,
manipulados pelos 14 servios definidos nesta classe. Os servios Read e Write, por exemplo,
permitem acessar, respectivamente em leitura e escrita, uma varivel. Existem ainda servios
permitindo definir os diferentes objetos associados s variveis, tais como DefineNamedVariable, DefineScatteredAccess, DeleteVariableAccess, DefineNamedVariableList, DeleteNamedVariableList, DefineNamedType e DeleteNamedType.
Os servios de Gesto de Semforos permitem gerenciar o acesso concorrente aos
recursos compartilhveis de um VMD. Os objetos associados a esta classe so os Semforos,
organizados em duas classes especficas:

Token Semaphores, que gerenciam um nmero N de fichas de mesmo tipo;


Pool Semaphores, que gerenciam uma lista de fichas etiquetadas, cada uma associada
a um recurso particular do VMD.

214

Um usurio MMS pode requisitar o acesso a um recurso do VMD atravs do servio


TakeControl, indicando o semforo responsvel por aquele recurso. Um aspecto interessante
desta classe de servios a existncia de um modificador AttachToSemaphore, que permite
condicionar a execuo de um servio MMS posse de um semforo.
Esta classe oferece, ainda, servios para a liberao, a criao e a obteno de
informaes de estado sobre os objetos semforo.
Os servios de Gesto da Estao de Operador implementam a comunicao, atravs
de uma estao de operador, com um VMD. Eles permitem, particularmente, a entrada e a
obteno de dados relativos execuo do VMD considerado.
Os servios de Gesto de Eventos oferecem facilidades para um Cliente MMS definir
e tratar a ocorrncia de eventos num VMD. O tratamento de eventos associado definio
de trs objetos:

as Condies de Evento, que representam as pr-condies associadas a um dado


eventos num VMD (modificao de uma varivel, fim de execuo de um programa,
etc.);
as Aes de Evento, que representam o que deve ser feito quando um evento
detectado (execuo de um servio MMS, por exemplo);
as Inscries de Evento, que permitem associar uma Condio de Evento a uma ou
mais Aes de Evento.

Um usurio MMS notificado da ocorrncia de um evento atravs do servio


EventNotify, esta notificao podendo ser reconhecida pelo usurio atravs do servio
AcknowledgeEventNotification. A ocorrncia de um evento pode servir a ativar a execuo de
um servio MMS, isto sendo feito atravs do modificador AttachToEvent. Nesta classe,
tem-se, ainda, servios para a criao, destruio de objetos, obteno de informaes (estado,
atributos, etc.) dos objetos e modificao de atributos dos objetos de evento.
Os servios de Gesto de Jornais fornecem facilidades para o armazenamento e a
recuperao, de maneira ordenada, a partir dos objetos Jornais, das informaes e variveis
associadas a eventos, assim como de texto que pode servir como comentrios ou explicaes.
Estes servios so utilizados principalmente para a produo de relatrios sobre o
funcionamento de um equipamento de produo.
Ainda, a norma MMS prev uma classe de servios para o tratamento de arquivos,
particularmente para pequenos servios de criao, eliminao, etc. No caso de aplicaes que
requisitem servios mais sofisticados para o acesso e a transferncia de arquivos, a entidade
de Aplicao dever, ento, ser composta do elemento de servio de Aplicao FTAM, que
oferece estes servios.
As tabelas a seguir apresentam uma sntese das diferentes classes de servios do MMS.

215

Classe
Gesto de
Semforos

Estao
Operador
Gesto de
Eventos

Gesto de
Jornal

Primitivas de Servio
TakeControl
RelinquishControl
DefineSemaphore
DeleteSemaphore
ReportSemaphoreStatus
ReportPoolSemaphoreStatus
ReportSemaphoreEntryStatus
Input
Output
DefineEventCondition
DeleteEventCondition
GetEventConditionAttribute
ReportEventConditionStatus
AlterEventConditionMonitoring
TriggerEvent
DefineEventAction
DeleteEventAction
GetEventActionAttributes
ReportEventActionStatus
DefineEventEnrollment
DeleteEventEnrollment
GetEventEnrollment
ReportEventEnrollment
AlterEventEnrollment
EventNotification*
AcknowledgeEventNotification
GetAlarmSummary
GetAlarmEnrollmentSummary
AttachToEventModifier
ReadJournal
WriteJournal
InitializeJournal
ReportJournalStatus

* servios no confirmados

216

Comentrios
so encarregados da
sincronizao e do controle
do acesso aos recursos de um
VMD pelos processos de
aplicao

controlam a entrada e sada de


informaes via estaes de
operador
permitem a definio e o
tratamento de eventos via
servios MMS. A
possibilidade de associar a
execuo de um servio MMS
ocorrncia de um evento
um aspecto interessante,
implementado pelo
Modificador AttachToEvent

permitem o salvamento de
informaes sobre a execuo
de um VMD, particularmente
no que diz respeito
ocorrncia de eventos e
afetao de variveis.

Classe
Gesto de
Contexto

Gesto de
VMD

Gesto de
Domnio

Gesto de
Programas

Acesso a
Variveis

Primitivas de Servio
Initiate
Conclude
Abort*
Cancel
Reject*
Status
UnsolicitedStatus*
GetNameList
Identify
Rename
InitiateDownLoadSequence
DownLoadSegment
TerminateDownLoadSequence
InitiateUpLoadSequence
UpLoadSegment
TerminateUpLoadSequence
RequestDomainDownLoad
RequestDomainUpLoad
LoadDomainContent
StoreDomainContent
DeleteDomain
GetDomainAttribute
DomainFile
CreateProgramInvocation
DeleteProgramInvocation
Start
Stop
Resume
Reset
Kill
GetProgramInvocationAttributes
Read
Write
InformationReport
GetVariableAccessAttributes
DeleteNamedVariable
DefineScatteredAccessAttributes
DeleteVariableAccess
DefineNamedVariableList
GetNamedVariableListAttributes
DeleteNamedVariableList
DefineNamedType
GetNamedTypeAttributes
DeleteNamedType

* servios no confirmados

217

Comentrios
iniciao, liberao, abandono
e rejeio de conexo com
outro usurio MMS

oferece servios de VMD,


particularmente informaes
sobre os objetos

permitem transferir
informaes, tais como
cdigos e dados de programa,
para serem carregados num
domnio de forma dinmica:
as seqncias DownLoad e
UpLoad so atividades que
permitem gerenciar as
transferncias entre Cliente e
Servidor

permitem que um usurio


Cliente MMS gerencie a
execuo remota de
programas num usurio
Servidor

permitem a definio e o
acesso s variveis de um
VMD e estabelecer a relao
entre as variveis de um
VMD (objetos) e as variveis
real de um equipamento de
produo

3.4. REDES FIELDBUS


3.4.1. Motivaes e Requisitos do Fieldbus
A evoluo dos microprocessadores conduziu a estruturao hierrquica fabril at o
nvel de simples componentes de automao, envolvendo elementos diretamente ligados ao
processo a ser controlado ou supervisionado, tais como sensores, atuadores e controladores.
Atravs da aplicao de microprocessadores em sistemas sensrios possvel realizar
um pr-processamento do sinal diretamente no local de medio, diminuindo assim a
probabilidade de deturpao do sinal por perturbaes eletromagnticas, s quais sinais
analgicos so em geral muito suscetveis. Alm disto, a unidade que requer os dados do
sensor aliviada destas funes. O mesmo principio aplicado aos atuadores, que passam a
poder interpretar e executar comandos complexos advindos da unidade central.
Uma vez que os sinais utilizados por tais componentes inteligentes j se encontram em
forma digital, conveniente definir sistemas de comunicao de dados tambm digitais para
substituir as clssicas interfaces analgicas de corrente e tenso. As interfaces de corrente
(4..20 mA) so bem mais difundidas em ambientes industriais, devido a menor suscetibilidade
s interferncias eletromagnticas.
Inicialmente foram definidas e grandemente difundidas interfaces digitais para
interligao ponto-a-ponto, tipo RS 232 C que, no entanto, devido utilizao de sinal
referenciado ao terra (v24) se mostram mais adequadas utilizao em aplicaes de
escritrio. Para reduzir a influncia das perturbaes foram desenvolvidas interfaces com sinal
diferencial (v11), tipo RS 422 e RS 423. Estas interfaces oferecem no entanto a desvantagem
de que no permitem o acoplamento simultneo de vrios elementos inteligentes entre si. Para
suprir esta necessidade foram desenvolvidas interfaces multiponto, adequadas a interconexo
dos elementos em redes tipo barramento (bus), como por exemplo a RS 485. Esta tendncia
mostrada na figura 4.1.
Para uma rede aplicada interligao de elementos simples a nvel de cho de fbrica
utilizada a denominao genrica de "barramentos de campo", ou Fieldbus. O Fieldbus pode
ser definido como uma linha de comunicao serial, digital, bidirecional (de acesso
compartilhado) para a interligao dos dispositivos primrios de automao (instrumentos de
medio, atuao e controle final e outros pequenos dispositivos "inteligentes" com
capacidade de processamento local) a um sistema integrado de automao e controle de
processos.

218

TENDNCIA
Central / Analog.

Decentral / Digital

...

RS232C

Decentral / Multipoint

RS 422
RS 485

D
A
MUX

...

Fieldbus

.
. .
Proc.

Proc.

Proc.
Proc.

Proc.

Sample /
Hold

...
Cont.

A
0..10 V
Amplificador de
potncia

Adaptador /
Amplificador
Y
X

Sensor

Sensor

D
A

A
Cont.

Amplificador de
potncia
Y

Y
X

A
D

4..20 mA

0..10 V
4..20 mA

Proc.

...

Y
X

Sensor inteligente

Atuador Inteligente

Y
Y
X
X
Sensor inteligente

Amplificador de
potncia

Atuador Inteligente

Atuador

Figura 4.1 - Tendncias na interligao de sensores / atuadores


As principais vantagens e benefcios da utilizao do Fieldbus em relao s conexes
convencionais podem ser resumidas como segue:
a) vantagens econmicas:

drstica reduo da cablagem pela utilizao de um meio fsico compartilhado;


reduo do nmero de canais de comunicao com o processo;
reduo do tempo e complexidade do projeto de layout;

b) vantagens tcnico-operacionais:

facilidade de instalao e manuteno, pela manipulao de um menor nmero de


cabos e conexes;
facilidade de deteco, localizao e identificao de falhas, atravs de funes de
monitorao automtica;
maior modularidade no projeto e instalao, aumentando a flexibilidade de expanso
de funes e mdulos;

219

c) vantagens sistmicas:

aumento da consistncia e da confiabilidade da informao advinda dos instrumentos


de campo, atravs da digitalizao e pr-processamento;
possibilidade de sincronizao dos instantes de amostragem de Entrada/Sada;
melhoria do desempenho global da aplicao pela descentralizao do processamento;
maior facilidade de interconexo entre nveis hierrquicos diferentes de automao;

d) vantagens mercadolgicas:

reduo dos custos de sistemas atravs da aquisio seletiva de dispositivos


compatveis de diferentes fornecedores, eliminando a dependncia de somente um
fornecedor;
desacoplamento do software de superviso da dependncia de um fornecedor
especfico do Hardware;

Inicialmente se supunha que uma nica rede iria cobrir todas as necessidades de
interconexo no cho de fbrica. Notadamente a proposta MAP, acrescida das verses de
maior performance e menor custo MAP/EPA e MINI-MAP se propunham tambm a integrar
elementos de automao ao nvel hierrquico de componente. No entanto, logo pode ser
verificado que estas propostas eram demasiado caras e muito lentas para as aplicaes tpicas
a nvel hierrquico de componente.
Enquanto os segmentos de banda base do MAP (MAP-EPA e Mini-MAP) permitem a
realizao de tempos de resposta de cerca de 100 ms, sistemas tipo Fieldbus se prope a
reduzir este tempo para a faixa de 1 a 10 ms, como requerido para o controle e superviso de
importantes grandezas envolvidas na automao, tais como velocidade, posio de eixos,
torque, acelerao e fora.
Um aspecto essencial na definio de protocolos de comunicao para o Fieldbus a
reduo a um mnimo estritamente necessrio das informaes adicionais includas nos
telegramas, de forma a permitir uma adequada performance em tempo real. Estas
simplificaes em relao a sistemas tipo MAP e TOP so indispensveis quando se pretende
interligar componentes simples tais como sensores e atuadores. Para sistemas tipo Fieldbus
so definidas, por questes de eficincia, somente as camadas 1, 2 e 7 do modelo de referncia
OSI. As funes das camadas 3 at 6 que so indispensveis para a comunicao so aqui
absorvidas pelas camadas 2 ou 7.

220

O aspecto de custo tambm assume grande importncia, uma vez que os dispositivos a
serem interligados tem em geral custo inferior ao da prpria interface MAP, como pode ser
visto na tabela 4.1. So requeridos aqui ns a um custo da ordem de U$ 50 ou inferior.
Componente
MAP
Cabo Coaxial

Preo mdio
U$ 2,5 / m

Elemento
Campo
CLP

Preo mdio
U$ 3.000

Controlador
Demodulador

U$ 5.000
U$ 1.500

Controle Rob
PC

$20.000
U$ 2.000

Componente
Ethernet / IBM
N CSMA/CD
N Token-Ring

Preo mdio

Sensor/Atuador

U$ 50 a 1000

U$ 500 - 1500
U$ 750 - 1500

I/O Binria

U$ 50 a 1000

Tabela 4.1 - Preos mdios de componentes de rede


O Fieldbus deve atender igualmente aos requisitos impostos pelos sistemas discretos
(Manufatura) e os sistemas contnuos de produo (Controle de Processos).
Podem-se considerar em principio trs classes distintas de aplicao:
sistemas "Stand-Alone", nos quais as transaes ocorrem somente entre dispositivos
ligados em um mesmo segmento de rede. Aqui teramos, por exemplo, sensores e
atuadores ligados a um CNC dentro de uma mquina.
sistemas em cascata, nos quais dispositivos conectados a segmentos distintos podem
trocar informaes por meio de um "bridge". Situao tpica a encontrada em um
SDCD (Sistema Distribudo de Controle Digital).
sistemas hierrquicos, nos quais o segmento Fieldbus esta interligado via "gateway" a
uma rede interligando dispositivos de um nvel hierrquico superior da automao
fabril. o tipo de situao encontrado em uma estrutura CIM.

O fluxo de dados nestas aplicaes pode se dar em dois sentidos:


no sentido vertical, entre nveis hierrquicos diferentes, de modo a permitir a
superviso do sistema. Para esta forma de comunicao devero ser oferecidos
servios de instalao, start-up, parametrizao da aplicao, visualizao de dados
para superviso, etc. Estes servios no so crticos no tempo.
no sentido horizontal, entre elementos do mesmo nvel, compondo um sistema
distribudo. Os servios oferecidos para este tipo de comunicao se destinam
basicamente atualizao e consumo de dados e a checagem de "status". A execuo
destes servios crtica no tempo.

221

Em funo do tipo de aplicaes que se prope a atender, um conjunto de requisitos


bsicos so impostos ao Fieldbus:

necessidade de elevado desempenho para atender as aplicaes com requisitos de


tempo crticos;
mtodo e meio de transmisso simples e de preo acessvel. Os sistemas tipo Fieldbus
utilizam transmisso tipo Baseband. Como meio de transmisso adota-se o par
tranado;
necessidade de consistncia de dados;
necessidade de servios compatveis com redes dos nveis hierrquicos superiores. Em
geral, se procura uma compatibilidade com os servios oferecidos pelo MMS;

Diversos fabricantes de sistemas de comunicao industriais tem desenvolvidos suas


prprias solues para o Fieldbus que, no entanto, no apresentam todos os requisitos
necessrios s diversas aplicaes na rea de cho de fbrica. Para suprir esta deficincia,
vrios esforos nacionais e internacionais tem sido feitos no sentido de definir uma norma
universalmente aceita para o Fieldbus, conforme mostrado na figura 4.2.
ESPRIT CNMA/Fieldbus
Sistema Fieldbus para Processos de Fabricao

PROFIBUS

Norma nacional em abril 91

Siemens
Foxboro
Rosemount

USA

ISA SP50

Pre-Norma em preparao

IEC SC65C
Norma em 199?

MIL 1553
industrial
outros

FIP

Norma nacional inicio 1988

EUREKA "Fieldbus"
Desenvolvimento e teste de um Fieldbus
para Processos Unitrios ( Ex )

Figura 4.2 - Atividades de Normalizao do Fieldbus


Dentre os sistemas Fieldbus atualmente em discusso, os mais fortes candidatos
normalizao so o PROFIBUS (Process Fieldbus, proposta alem) e o FIP (Factory
Instrumentation Protocol, proposta francesa). Nos Estados Unidos foi definido o grupo de
222

estudos SP-50 da ISA (Intrumentation Society of America), que dever apresentar brevemente
uma proposta de normalizao americana e que leva em considerao partes das propostas FIP
e PROFIBUS bem como as propostas das firmas Faxboro e Rosemount / Philips.
Todas estas propostas sero examinadas pela comisso SC65C/WG6 da IEC
(International Electrotechnical Comission) para a elaborao de uma norma internacional. As
expectativas so de que a passagem da norma americana elaborada pela ISA SP-50 para a
norma internacional da IEC dever representar um passo meramente formal.
Ao lado das questes de normalizao permanecem ainda abertas discusso questes
referentes ao espectro de aplicaes a ser atendido pelo Fieldbus. Por um lado desejada uma
boa compatibilidade e interconectabilidade com os nveis hierrquicos superiores de
automao, por outro devem ser considerados os requisitos tcnicos e econmicos para a
conexo de componentes inteligentes simples e de baixo custo.
Enquanto solues que permitam uma compatibilidade com a definio da camada de
aplicao adotada no sistema MAP atravs da definio de Subsets do MMS so nitidamente
preferidas, permanece aberta a questo da adequao de tais sistemas para o acoplamento
direto de sensores e atuadores em processos com dinmica elevada, como o caso de sistemas
de controle em malha fechada na fabricao. A forma de estruturao fsica de uma tal malha
de controle com Fieldbus mostrada na Figura 4.3.
Processador central
I/O
+
-

Contr.

D/A
D/A

Aktor
Aktor
Atuador

Processo

sistema de controle
digital convencional
A/D
A/D

Sensor
Sensor
Sensor

Fieldbus
Aktor
Aktor
Aktor
Atuador

Processador Mestre
I/O

Sistema de controle
com Fieldbus

+
-

Contr.

Processo

Sensor
Sensor
Sensor
Sensor

Figura 4.3 - Malha Fechada de Controle com Fieldbus


Nos itens seguintes apresentaremos as principais caractersticas dos sistemas Fieldbus
atualmente propostos para padronizao internacional.
3.4.2 A proposta FIP (Factory Instrumentation Protocol)

223

3.4.2.1. INTRODUO

O projeto FIP foi elaborado por um conjunto de empresas europias (Telemecanique,


CEGELEC, CGEE Alsthom), rgos do governo francs e centros de pesquisa conglomerados
em torno do chamado "Club FIP". A proposta procurou levar em considerao as restries de
tempo real impostas por um grande nmero de aplicaes a nvel de cho de fbrica. Definiuse um modelo de transmisso "produtor-consumidor", que difere das solues mais
usualmente encontradas em redes locais. Para este fieldbus existem "chips" integrados que
implementam as funes das trs camadas (FIPART, FULLFIP).
3.4.2.2. A CAMADA FSICA
FIP oferece opcionalmente como meios de transmisso a fibra tica e o par tranado
(blindado ou no). Para o par tranado so previstas trs velocidades de transmisso de dados:
S1: 31.25 Kbps, distncia at 2000 m;
S2: 1 Mbps, distncia at 500 m, par tranado blindado;
S3: 2.5 Mbps, distncia at 200 m, par tranado blindado.
A velocidade padro a S2. A velocidade S1 utilizada em reas sujeitas a exploso
(segurana intrnseca). S3 utilizadas para aplicaes que requerem elevado desempenho
temporal. Para uso com fibra tica prevista uma velocidade adicional de 5 Mbps.
Os bits a serem enviados so codificados em Manchester, que permite o envio
simultneo do sinal de sincronizao e dos dados propriamente ditos.
A camada fsica do FIP suporta segmentos com comprimento de at 2000 m e at 256
estaes. O barramento principal pode ser decomposto em vrios segmentos, que so ligados a
este por meio de "taps". Os segmentos podem ser interligados por meio de repetidores, que
fortalecem e reconstituem o sinal.
A camada fsica oferece os seguintes servios de comunicao:
- PHY_data_request: pedido de transmisso de dados;
- PHY_data_indication: indicao de servio concludo;

Alm disso, a camada fsica oferece servios de gerenciamento, que so:


PHY_Reset: reinicializao do nvel fsico;
PHY_SetValue: ajuste de parmetros da camada fsica;
PHY_ReadValue: leitura de parmetros ajustados;
PHY_Event: comunicao de eventos do nvel fsico.
3.4.2.3. A CAMADA DE ENLACE

224

A camada de enlace do FIP no faz uma distino formal entre subcamadas LLC e
MAC, como proposto na norma IEEE 802.
O mtodo de acesso ao meio da rede FIP baseado na difuso ("Broadcasting"). A
difuso organizada por uma entidade centralizada denominada "rbitro de barramento". O
projeto FIP baseou-se no fato de que, nas redes industriais, uma informao gerada em um
determinado ponto pode interessar a vrias outras estaes (por exemplo, o dado gerado por
um sensor de temperatura pode interessar ao controlador, ao atuador e ao terminal de vdeo do
operador, simultaneamente).
A maioria dos dados transmitidos pelo barramento representada por objetos
(variveis). Cada objeto representado por um "nome" nico no sistema. Um objeto , por
definio, elaborado por um nico transmissor (produtor) e levado em conta por qualquer
nmero de receptores (consumidores). Devido ao uso da difuso, os endereos de
transmissores e receptores no precisam ser conhecidos pelas aplicaes.
A comunicao transcorre da seguinte forma (figura 4.4):

ID_DAT
rbitro

RP_DAT
rbitro

Figura 4.4 - Mtodo de acesso ao meio do FIP. a) rbitro difunde identificador. b) Produtor
difunde dados pedidos.

Em uma primeira fase, o rbitro difunde na rede o nome da varivel (objeto) a ser
transmitida (quadro de identificao);
O produtor da varivel difunde, em seguida, a informao ligada ao identificador
(quadro de dados);
225

todos os consumidores interessados passam a copia-la na fase final.

Cada estao completamente autnoma. O nico requisito imposto s estaes o de


difundir, por solicitao do rbitro de barramento, a varivel ou variveis por elas produzidas.
Naturalmente, as estaes devem tambm aceitar as variveis que lhe so enviadas. A
varredura das variveis peridicas feita a partir de uma lista implementada no rbitro na fase
de inicializao e que, em geral, no alterada posteriormente.
A transmisso de mensagens feita conforme a norma IEEE 802.2, LLC tipos 1 (sem
conexo) e 3 (com reconhecimento). At 24.000 objetos (variveis) so identificveis e
podem ser trocados de forma cclica utilizando uma tabela configurvel.
O formato do quadro do FIP mostrado na figura 4.5, onde:

PRE

FSD

EB

DFS

EB

FSS

FED

EB

FES

PRE : Prembulo
FSD : Frame Start Delimiter
EB : Equalization Bit
DFS : Data Frame Sequence - Controle, dados, FCS
FSS : Frame Start Sequence
FED : Frame End Delimiter
FES : Frame End Sequence

Figura 4.5 - Formato do quadro FIP

PRE: prembulo, utilizado para sincronizao entre emissor e receptores. Compe-se


de um caractere de 16 bits com alteraes dos bits adjacentes de 1 para 0.
FSD/FED: delimitadores de inicio e fim de quadro, respectivamente. So codificados
de forma a no serem confundidos com dados.
EB: Bits de equalizao, que operam como bits de interface entre os delimitadores e os
dados codificados em Manchester II.
Controle: define tipo de quadro, podendo ser quadro de identificao de informao ou
de envio de informao (6 bits).
Dados: pode conter um identificador representando o endereo lgico de uma varivel,
o valor de uma varivel, uma mensagem, o reconhecimento de uma mensagem ou uma
lista de identificadores.
FCS: o controle de erros feito utilizando a tcnica polinomial, permitindo uma
distncia de Hamming de 4 e adotando o polinmio gerador proposto pela CCITT.

226

Os servios oferecidos pela camada de enlace so apresentados na tabela 4.2. Foram


especificadas quatro classes de servios:

atualizao cclica de dados;


atualizao no peridica de dados;
transferncia de mensagem com ACK;
transferncia de mensagem sem ACK.

Maior importncia foi atribuda aos servios cclicos, de forma que no houve
preocupao com uma otimizao das demais classes.
Classe

Primitiva de servio

Comentrios

Atualizao cclica de
dados

L_PUT.req/cnf
L_SENT.ind
L_GET.req/cnf
L_RECEIVED.ind

atualiza dados
sinaliza envio
busca de dados
sinaliza recepo

Atualizao no peridica
de dados
Transmisso de
mensagem com ACK

L_PARAM.req/cnf

requisita um dado

L_MESSAGE_ACK.req/
ind/cnf

com reconhecimento

Transmisso de
mensagem sem ACK

L_MESSAGE.req/ind

sem reconhecimento

Tabela 4.2 - Servios de enlace do FIP


3.4.2.4. A CAMADA DE APLICAO

O projeto FIP prope, a nvel da camada de aplicao, um sub-conjunto do MMS


apresentado no projeto MAP, definindo servios de mensagem industrial que no interferem
com o trfego de tempo real. Alm disso, foi definida uma segunda famlia de servios,
denominada MPS ("Message Periodic/Aperiodic Services"), apresentada na tabela 4.3.

Classe

Primitiva de servio

227

Comentrios

Leitura de
variveis

A_READ.req/cnf
A_READFAR.ind

l nomes de variveis,
estruturas, status,
valores

Escrita de
variveis
Leitura do tipo de
varivel
Acesso listas de
variveis

A_WRITE.req/cnf
A_WRITEFAR.ind
A_GETOBJECT_DESCRIPTION.req/
cnf
A_READLIST.req/cnf
A_WRITELIST.req/cnf

escreve especificao,
valor, status
l especificao

Servios de
sincronizao

A_SEND.ind
A_RECEIVE.ind

sincronizao local e
remota

l e escreve atributos,
valores

Tabela 4.3 - Servios MPS do FIP


3.4.2.5. FUNES DE GERENCIAMENTO DA REDE

O projeto FIP definiu uma srie de funes de gerenciamento de rede, que permitem
coordenar as vrias fases do ciclo de vida da mesma. Para inicializar a rede preciso:
Configurar a rede (definio de parmetros, identificadores e listas de objetos, gerar
tabelas de varredura);
Implementar e testar a configurao.

Durante a operao da rede, necessrio realizar sua manuteno, que inclui:


Atualizao das listas de objetos;
Atualizao das tabelas de varredura;
Gerenciamento das operaes de partida e parada;
Deteco e correo de falhas;

3.4.3. A proposta PROFIBUS (PROcess FIeld BUS)


3.4.3.1. INTRODUO

O PROFIBUS (Process Field Bus) foi desenvolvido na Alemanha, inicialmente pela


Siemens em conjunto com a Bosch e Klockner-Moeller, em 1987. Em 1988 tornou-se um
"Trial Use Standard" no contexto da norma DIN (DIN 19245, parte 1), que define as camadas
Fsica e Enlace. Posteriormente, um grupo de 13 empresas e 5 centros de pesquisa propuseram
alteraes nas camadas Fsica e Enlace e definiram a camada de Aplicao (norma DIN
19245, parte 2). O PROFIBUS representa a proposta alem para a padronizao internacional
228

do fieldbus. Esta proposta atualmente apoiada por cerca de 110 empresas europias e
internacionais (Siemens, ABB, AEG, Bosch, entre outras). Em 1996 tornou-se um padro da
comunidade europia, sob a designao EN50170.
Como nas demais redes fieldbus para aplicaes industriais, para atender aos requisitos
de tempo de resposta, o PROFIBUS implementa o modelo de referncia ISO/OSI reduzido a
trs camadas (1, 2 e 7), descritas a seguir.
3.4.3.2. A CAMADA FSICA

A camada fsica do PROFIBUS baseia-se no padro EIA RS-485 (EIA - Eletronic


Insdustries Association), topologia barramento, utilizando como meio um par tranado
blindado (130 Ohms). Permite a interligao de at 32 elementos (estaes ativas, passivas ou
repetidoras) por segmento. So permitidos at 4 segmentos, totalizando assim um mximo de
122 estaes.
A codificao utilizada a NRZ, podendo ser implementada com uma USART
simples (assncrona). As taxas de transmisso propostas na norma original so 9.6, 19.2 e
93.75 kbps para distncias at 1200 m, 187.5 kbps para distncias at 600 m e 500 kbps at
200 m.
A camada fsica oferece duas primitivas de servio acessveis camada de enlace:
PHY_DATA.request (requisio de envio de dados) e PHY_DATA.indication (indicao da
presena de dados).
3.4.3.3. A CAMADA DE ENLACE

A exemplo da norma IEEE 802, o PROFIBUS define duas subcamadas para a camada
de Enlace de Dados: a subcamada de controle de acesso ao meio (MAC) e a subcamada de
controle de ligao lgica (LLC).
Na subcamada MAC, o PROFIBUS combina dois mtodos determinsticos de acesso
ao meio: as estaes ditas "ativas" encontram-se em um anel lgico, no qual o direito de
acesso ao meio repassado ciclicamente por passagem de token (baseado na especificao
IEEE 802.4), enquanto as estaes ditas "passivas" comportam-se como escravas, isto , s
tem acesso ao meio por requisio da estao ativa detentora do token. O PROFIBUS
representa assim uma combinao dos mtodos "Master/Slave" e "Token-Passing" (figura
4.6). O token s repassado entre as estaes ativas.
Estaes ativas podem entrar e sar do anel lgico de forma dinmica, como previsto
na norma IEEE 802.4. O token repassado na ordem ascendente de endereos, seguindo uma
lista de estaes ativas (LAS, List of Active Stations). Esta lista gerada na inicializao e
atualizada sempre que uma estao entra ou sai do anel lgico.
229

anel lgico
Mestre 1 (ativa)

Mestre 2 (ativa)

Token

Escravo 1
(passiva)

Escravo 2
(passiva)

...

Escravo n
(passiva)

Figura 4.6 - Mtodo de acesso ao meio do PROFIBUS


O PROFIBUS prev uma srie de quadros diferentes, agrupados em duas classes, uma
para transmisso entre estaes mais complexas (quadros longos) e outra para dispositivos de
campo simples (quadros curtos). Os quadros previstos incluem:

quadro longo sem campo de dados;


quadro longo com campo de dados fixo;
quadro longo com campo de dados varivel;
quadro curto sem campo de dados;
quadro curto com campo de dados;

quadro curto de passagem de token.

Cada quadro formado por vrios caracteres UART. Um caracter UART composto
de 11 bits: 1 bit de inicio ("start bit"), 8 bits de dados, 1 bit de paridade e 1 bit de finalizao
("stop bit"). Em particular tm-se os seguintes campos em cada quadro:

SD: Start Delimiter (delimitador de inicio de quadro);


DA: Destination Address (Endereo de destino do quadro);
SA: Source Address (Endereo de origem do quadro);
FC: Frame Control (Controle de quadro);
DATA_UNIT: Dados propriamente ditos;
230

FCS: Frame Check Sequence (seqncia de checagem de erros);


ED: End Delimiter (Delimitador de fim de quadro).

O protocolo implementado na camada de enlace denominado FDL ("Fieldbus Data


Link"), que oferece servios de administrao do token, de atualizao das estaes e de
transferncia de dados. Estes ltimos so apresentados na tabela 4.4. A troca de dados feita
em ciclos compostos por um "send-request" de parte da estao ativa e seguida por um "ackresponse" de parte de uma estao passiva ou de outra estao ativa.
Classe

Primitiva de servio

Comentrios

SDN (Send Data with


No Acknowledge)

FDL_DATA

envio de dados sem


reconhecimento

SDA (Send Data with


Acknowledge)
RDR (Request Data
with Reply)

FDL_DATA_ACK

envio de dados com


reconhecimento
requisio de dados com
reconhecimento

CRDR (Cyclic Request


Data with Reply)

FDL_CYC_REPLY
FDL_CYC_DEACT
FDL_REPLY
FDL_REPLY_UPDATE
FDL_SEND_UPDATE
FDL_CYC_DATA_REPLY
FDL_CYC_DEACT
FDL_DATA_REPLY
FDL_DATA_UPDATE

estao local requisita


ciclicamente dados ao
usurio remoto.

FDL_DATA_REPLY
FDL_REPLY_UPDATE

estao local envia e


requisita dados.

CSRD (Cyclic Send


and Request Data)

SRD (Send and


Request Data)

FDL_REPLY
FDL_REPLY_UPDATE

estao local envia


ciclicamente e requisita
simultaneamente dados de
resposta.

Tabela 4.4 - Servios da camada de enlace (FDL) do PROFIBUS

3.4.3.4. A CAMADA DE APLICAO

Na camada de aplicao foi definido um subset do MMS (ISO 9506), utilizando


primitivas de servios apropriadas para atender os aspectos especficos do barramento de
campo. A Camada de Aplicao est dividida em trs subcamadas:
231

Fieldbus Message Specification (FMS), que o protocolo propriamente dito, derivado


do MMS;
Lower Layer Interface (LLI), responsvel pela interface com a camada de Enlace,
mapeando os servios FMS e FMA (Fieldbus Management) em servios
correspondentes do FDL;
Application Layer Interface (ALI), responsvel pela interface com as aplicaes do
usurio. A ALI opera como solicitador de servios("Cliente") a um Dispositivo Virtual
de Campo (VFD, Virtual Field Device), que opera como fornecedor de servios
("Servidor").

O VFD equivalente ao VMD (Virtual Manufacturing Device) do MMS usado em


MAP, constituindo uma representao abstrata de vrias classes de dispositivos reais.
As classes de onjetos definidas so: Variveis, Domnios, Alarmes, Listas de Variveis
e Invocaes de Programa. Todos os objetos da rede so cadastrados em um diretrio de
objetos, denominado OV (Objekt Verzeichniss). Cada estao contem uma cpia total ou
parcial do OV.
So definidos servios com e sem conexo, cclicos e acclicos, entre estaes ativas e
entre estas e estaes passivas. Os servios sem conexo so usados para "Broadcast" e
"Multicast" (difuso de quadros entre todas as estaes ou entre certos agrupamentos prdefinidos de estaes). Os servios com conexo so usados para garantir uma troca de dados
confivel.
A tabela 4.5 apresenta uma viso geral dos servios oferecidos, que podem ser
decompostos em trs classes: servios de Aplicao, servios de Adminstrao e servios de
Gerenciamento de Rede.
Em relao ao MMS, tem-se como novidade os servios Phy_Read e Phy_Write, que
permitem acesso direto a strings de octetos para os quais no se tenha uma descrio no OV.

232

Classe
Servios de
Acesso a
variveis

Servios de
Notificao de
Eventos

Primitivas de servio
READ
WRITE
INFORMATION_REPORT
PHY_WRITE
PHY_READ
DEFINE_VARIABLE_LIST
DELETE_VARIABLE_LIST
INITIATE_DOWNLOAD_SEQUENCE
DOWNLOAD_SEGMENT
TERMINATE_DOWNLOAD_SEQUENCE
INITIATE_UPLOAD_SEQUENCE
UPLOAD_SEGMENT
TERMINATE_UPLOAD_SEQUENCE
REQUEST_DOMAIN_DOWNLOAD
REQUEST_DOMAIN_UPLOAD
CREATE_PROGRAM
INVOCATION_DELETE_PROGRAM
INVOCATION_START
INVOCATION_STOP
INVOCATION_RESUME
INVOCATION_RESET
ALTER_EVENT_COND._MONITORING
EVENT_NOTIFICATION
ACK_EVENT_NOTIFICATION

Servios de
Leitura de
Status

STATUS
UNSOLICITED_STATUS
STATUS_IDENTIFY

Servios de
Gerenciamento
de Dicionrio
de Objetos
Servios de
Gerenciamento
de Contexto

GET_OV
PUT_OV
INITIATE_PUT_OV
TERMINATE_PUT_OV
INITIATE
REJECT
ABORT

Servios de
Acesso a
Domnios

Servios de
Invocao de
Programas

Comentrios
leitura e escrita de
variveis contidas
em dispositivos
servidores

transferncia de
dados ou programas
de dispositivo cliente
para dispositivo
servidor e vice-versa

partida, parada,
retorno da execuo,
retorno ao estado
inicial e deleo de
programas
servidor notifica
cliente a ocorrncia
de um evento
(alarme)
informaes acerca
do estado dos
dispositivos
servidores
descrio de todos os
objetos na rede
(nomes, endereos,
tipos de dados, etc)
estabelecimento e
encerramento de
associao entre dois
dispositivos e a
rejeio de
mensagens recebidas

Tabela 4.5 - Servios de aplicao do PROFIBUS

233

3.4.4. A proposta ISA SP-50


3.4.4.1. INTRODUO

Os projetos FIP e PROFIBUS contriburam grandemente para o projeto SP-50


(Standards & Practices 50), em elaborao na ISA (instrumentation Society of America), que
dever tornar-se a proposta definitiva para o fieldbus padronizado. Os trabalhos de
padronizao ainda esto em andamento.
A ISA adotou a terminologia da CCITT, na qual um elemento de comunicao
composto de duas partes:

DTE (Data Terminal Equipment), que aqui inclui as funcionalidades das camadas de
aplicao, de enlace e a parte da camada fsica independente do meio de transmisso
adotado;

DCE (Data Communication Equipment), que aqui inclui as partes da camada fsica
que dependem do meio.
3.4.4.2. A CAMADA FSICA

A camada fsica da ISA SP-50 se compe de trs subcamadas (figura 4.7):

Subcamada DIS (Data Independent Sublayer): atua como interface com a camada de
enlace, recebendo pedidos de servio desta e repassando os dados recebidos (DTE);

Subcamada MDS (Medium Dependent Sublayer): codifica os dados a enviar para um


formato compatvel com o meio fsico a ser adotado. Por enquanto, somente foi
especificada a subcamada MDS para o par tranado, onde se adota a codificao tipo
Manchester bifsico (DCE);

Subcamada MAU (Medium Attachment Unit): descreve o transceptor propriamente


dito para o meio fsico (DCE). Para a camada fsica foram inicialmente propostos dois
tipos de meio:
meio H1: para aplicaes em controle de processos em reas de segurana
intrnseca, usando par tranado, com taxa de transmisso de 31.25 Kbps, cabo
de at 1900 metros, que tambm utilizado para a alimentao dos
dispositivos de campo. As topologias propostas so barramento e estrela;

234

meio H2: para processos de controle de alta velocidade, com taxa de


transmisso de 1 Mbps ou 2.5 Mbps, topologia em barramento e distncia de
750 m para 1 Mbps ou 500 m para 2.5 Mbps, com 32 estaes por segmento.

Propostas alternativas utilizando fibra tica e sinais de rdio esto sendo estudadas.

Camada de Enlace

DIS
(Data Independent Sublayer)
MDS
(Medium Dependent Sublayer)
MAU
(Medium Attachment Unit)

Meio Fsico
Figura 4.7 - A camada fsica do SP-50
3.4.4.3. A CAMADA DE ENLACE

A camada de Enlace oferece quatro classes de funes, a serem implementados nas


estaes de acordo com as necessidades:
funes de "Responder": estao s transmite dados em resposta a uma solicitao
(estao "escrava");
funes de "Initiator": estao pode se apoderar do direito de acesso ao meio (token),
podendo enviar e requisitar dados a outras estaes por iniciativa prpria;
funes de "Link-master": inclui as funes de responder e initiator, mas a estao
pode exercer o papel de escalonador de enlace (LAS), administrando o token e
gerenciando o tempo interno do sistema (semelhante ao papel do rbitro de barramento
do FIP);
funes de "Bridge": estao capaz de interligar entidades de enlace diferentes;

235

Se h mais de uma estao com as funcionalidades de um "Link-master" no sistema,


estas disputam entre si na inicializao o papel de escalonador de enlace (rbitro). A estao
vencedora chamada LAS (Link Active Scheduler). Existem, para isto, trs tipos de token
(figura 4.8):

Token de escalonamento (Scheduler Token): este token disputado na inicializao


por todas as estaes tipo Linkmaster e define a estao LAS, que o retm.
Token circulado ou de Resposta (Reply Token): distribudo pela estao LAS s
demais estaes com funcionalidade de Linkmaster, que formam um anel lgico
conforme a norma IEEE 802.4.
Token delegado (Delegated Token): enviado pela estao LAS a uma estao qualquer
por solicitao desta ou para atender s necessidades de um servio de comunicao
escalonado pela LAS.

LAS

Estao
qualquer
LM

Token de escalonamento

LM

LM

Token circulado
Token delegado

Figura 4.8 - Operao dos tokens no SP-50

Funcionalmente, a camada de Enlace est subdividida em quatro subcamadas,


conforme mostrado na figura 4.9:

236

Camada de Aplicao

Subcamada de gerenciamento de ponte


Subcamada de gerenciamento de conexes
Subcamada de escalonamento
Subcamada de acesso a enlace
Camada Fsica

Figura 4.9 - A camada de Enlace do SP-50

Subcamada de acesso a Enlace: estabelece a interface com a camada fsica, gerencia o


token e servios de resposta imediata;
Subcamada de escalonamento de Enlace: providencia as funes de escalonamento de
atividades na prpria entidade de enlace. Esta subcamada mais complexa em
estaes com as funcionalidades de Linkmaster e que podem assumir a funo de
LAS;
Subcamada de gerenciamento de conexes: executam todas as funes referentes ao
estabelecimento e rompimento de conexes;
Subcamada de gerenciamento de Ponte: s existe em estaes com funcionalidades de
Bridge.

A camada de enlace oferece quatro classes de servios s entidades da camada de


aplicao:

Servios de gerenciamento de Buffers e filas: atravs deles, usurios da camada de


enlace podem alocar permanentemente buffers ou filas com profundidade especificada,
a serem usados posteriormente para a transferncia de dados;
Servios de transferncia de dados com conexo: permitem o estabelecimento de uma
conexo e o envio de dados entre estaes, garantindo servios altamente confiveis;
237

Servios de transferncia de dados sem conexo: permitem o envio de dados sem o


estabelecimento prvio de uma conexo e que, apesar da menor confiabilidade, so
teis no envio de telegramas de difuso (multicast e broadcast);
Servios de escalonamento de transaes: permitem programar o Escalonador Ativo
de Enlace (Link Active Scheduler, LAS), definindo a seqncia de passagem de token
(escalonamento do meio entre as estaes).
3.4.4.4. A CAMADA DE APLICAO

A camada de aplicao do SP-50 ainda se encontra em discusso e procura conjugar as


idias bsicas do MMS, para aplicaes sem restries temporais, com servios tipo
READ/WRITE inspirados no FIP e que atendem o trfego cclico e acclico com requisitos de
tempo real "duro".
A camada de aplicao prev, em sua fase atual, os seguintes conjuntos de servios:

Servios MCSE (Message Common Service Element): estabelece e interrompe


conexes entre processos de aplicao (Correspondem aos servios ACSE da ISO).
Servios IMSE (Industrial Message Service Element): servios semelhantes aos
oferecidos pelo MMS do projeto MAP.
Servios DDM (Distributed Database Maintenance): Servios de acesso bases de
dados distribudas.
3.4.4.5. CAMADA DO USURIO

Uma proposta inovadora no SP-50 a definio de uma camada do usurio, situada


acima da camada de aplicao, destinada a aliviar o programador de detalhes de acesso ao
sistema de comunicao e a oferecer servios adequados a diversos tipos diferentes de
aplicaes (a semelhana dos "companion standards" propostos no projeto MAP).
Os trabalhos atuais esto restritos a definio de funes para aplicaes em controle
de processos, agrupadas na chamada PCUL ("Process Control User Layer"). Outros trabalhos
devero atender as reas de automao da manufatura, controle predial, eletrnica embarcada
(automveis), aplicaes domsticas, entre outras.

238

3.4.4.6. SERVIOS DE GERENCIAMENTO DE REDE

Alm das funcionalidades das camadas j vistas, a proposta SP-50 inclui um conjunto
de funes de gerenciamento de rede, como:

Gerenciamento de configurao de rede: carregamento, inicializao de endereos,


configurao de comunicao e aplicao, partida, etc;
Controle de operao: ferramentas de sincronizao, escalonamento, etc;
Monitorao de desempenho: deteco, diagnose e recuperao de erros, avaliao e
otimizao de desempenho, etc.

3.4.5. Concluses

Uma vez definido um padro internacionalmente aceito, o Fieldbus dever


revolucionar o setor de instrumentao. Esta tecnologia permite que a inteligncia seja
totalmente distribuda pelo campo e favorece o surgimento de dispositivos com capacidades
locais de processamento cada vez mais sofisticadas. A integrao total dos equipamentos
permitir alteraes nos procedimentos de operao das plantas industriais. O Fieldbus dever
tambm propiciar a intercambiabilidade a nvel de sensores, atuadores, transmissores e
controladores, trazendo ao usurio uma maior flexibilidade na compra de produtos e abrindo
espao para novos fabricantes.

239

3.5. ANLISE DE ALGUNS PRODUTOS COMERCIAIS


3.5.1. Introduo
Discutiremos brevemente neste captulo algumas solues de mercado. Como existe
uma imensa variedade de produtos comerciais, nos limitamos aqui a citar alguns dos mais
difundidos, sem pretenses de apresentar uma lista completa.

3.5.2. Redes para Instrumentao


A interface de rede dominante na rea de instrumentao (multmetros, osciloscpios e
outros instrumentos hoje microprocessados) a GPIB (General Purpose Interface Bus,
barramento de interface de propsito geral). A origem deste sistema um produto da HewlettPackard denominado HP-IB (Hewlet-Packard Interface Bus), que passou a ser norma
americana sob a designao IEEE 488.1 e posteriormente norma internacional sob a
designao IEC 625-1.
GPIB opera como um barramento paralelo, constitudo de 16 linhas com sinal ativo
baixo referenciado a um terra comum. Sinais com tenso acima de 2V so considerados como
lgico 0 e abaixo de 0.8V como lgico 1. A interface permite portanto o envio de bits em srie
e de bytes em paralelo. Das 16 linhas que compe o cabo, 8 so para os dados propriamente
ditos, 3 servem para operaes de handshake e 5 para gerenciamento da interface. A pinagem
descrita na tabela 5.1.

Categoria
8 Data lines

Linha
DIO 1-8
DAV

Nome
Data I/O
Data Valid

3 Handshake lines

NRFD
NDAC
REN

Not Ready For Data


Not Data Accepted
Remote Enable

IFC
5 Interface Management lines SRQ

Interface Clear
Service Request

EOI
ATN

Endo or Identify
Attention

Tabela 5.1 - Pinagem do GPIB


As linhas de controle NRFD e NDAC operam no modo "wired-OR", de modo que s
assumem o valor lgico TRUE no barramento quando todas as estaes ligadas ao GPIB
setam a linha correspondente local em TRUE (ativo baixo).
240

GPIB requer a existncia de uma estao controladora (mestre) do barramento, que


define em cada instante quem ser a estao emissora (fonte dos dados, aqui chamada de
"talker" ou falante) e quem sero as estaes receptoras (destino dos dados, aqui chamados
"listeners" ou ouvintes). A linha ATN distingue mensagens de dados (ATN=0) de mensagens
dedicadas de gerenciamento da interface (ATN=1) como, por exemplo, mensagens para
definir o talker e os listeners.
Aps a definio, pela estao controladora, de quem sero o talker e os listeners, so
executados os seguintes passos:
1. Se o talker tem um novo byte de dados a enviar, coloca seu valor nas linhas DIO 18;
2. Talker seta linha DAV (Data Valid) em true;
3. Listeners setam NRDF (Not Ready For Data) em true;
4. Listeners recebem o dado e setam NDAC (Not Data Accepted) em false (esta linha
s assume o valor false quando todos os listeners receberem o dado, devido ao uso
de wired-OR);
5. Talker seta DAV (Data Valid) em false e remove dados das linhas DIO 1-8;
6. Listeners setam NDAC (Not Data Accepted) em true;
7. Se listeners estiverem prontos para receber um novo byte de dados, setam NRFD
(Not Ready For Data) em false;
8. Talker pode reiniciar processo do passo 1, enviando o byte de dados seguinte.
Um barramento GPIB pode ter at 15 estaes (entre controladora, talkers e listeners),
com um comprimento mximo de cabo de 20 metros, operando a uma taxa de transmisso de
at 1Mbps.
Apesar da boa aceitao na rea de instrumentao, GPIB no uma interface bem
adaptada s necessidades de automao de cho de fbrica (sensores, atuadores, robs, CLPs,
CNCs, etc.), pois os cabos e a prpria interface de 16 condutores so caros, o sinal
referenciado ao terra sensvel perturbaes eletromagnticas e o comprimento mximo do
barramento uma limitao fsica indesejvel.

3.5.3. Redes para automao de escritrios


Apesar de uma certa difuso de redes com interfaces paralelas para comunicao de
dados na rea de instrumentao (por exemplo GPIB), nas redes de comunicao para
automao industrial as mensagens so enviadas de modo serial.
As redes locais atualmente mais utilizadas em automao so as redes ETHERNET
(produto das empresas DEC, INTEL e XEROX), ARCNET (Datapoint) e TOKEN-RING
(IBM). Estes produtos diferem nas velocidades, topologias e protocolos utilizados.

241

Tipicamente definem as duas primeiras camadas do modelo OSI (fsica e enlace). Algumas
caractersticas destas redes so apresentadas na tabela 5.2.

Acesso ao Meio

ETHERNET
CSMA/CD

ARCNET
Token-passing

TOKEN-RING
Token-passing

Velocidade
Nmero de ns

10 Mbps
1024

2.5 Mbps
254

4 ou 16 Mbps
255

Meio de
transmisso

Par tranado
Fibra tica
Cabo coaxial
Star/Bus

Par tranado
Fibra tica
Cabo coaxial
Star/Bus

Par tranado
Cabo coaxial

Topologia

Ring

Tabela 5.2 - Redes para escritrio grandemente difundidas


Entre estas redes, a ARCNET (Attached Resource Computer Network) apresenta boas
caractersticas para aplicao em ambiente industrial, devido a sua topologia, tcnica de
acesso ao meio e preo baixo. Existem vrias instalaes industriais em operao.
A Ethernet a mais popular, mas tem como desvantagem o mtodo no determinstico
de acesso ao meio (CSMA/CD). Esta rede foi originalmente desenvolvida para aplicao em
escritrio e possui a maior quantidade de unidades instaladas no mercado. Apesar do mtodo
de acesso ao meio no determinstico, existem para ela muitas instalaes industriais em
operao, principalmente em aplicaes com requisitos de tempo relaxados.
A rede Token-Ring a mais popular entre os produtos da IBM. Apresenta como
desvantagem um alto custo de instalao e baixa flexibilidade. Em contrapartida trabalha com
elevada taxa de transmisso e inclui um grande nmero de solues entre os produtos IBM.
Devido ao mtodo de acesso ao meio determinista, uma boa opo para aplicaes
industriais.

3.5.4. Softwares para rede


Quanto aos Softwares para redes, existe tambm uma srie de alternativas. Os mais
difundidos so: LAN-Manager (Microsoft), LAN-Server (IBM), PC-LAN (IBM), Netware
(NOVELL), NetBIOS (IBM), TCP/IP, entre outros.

3.5.4.1. NOVELL NETWARE


O sistema operacional para rede da NOVELL era at bem recentemente o mais
difundido no mercado e pode operar sobre diferentes bases de hardware para rede (suporta as
242

redes ARCNET, Ethernet e Token-Ring). Oferece servios a nvel das camadas de sesso e
apresentao.
3.5.4.2. LAN-MANAGER
O Sistema operacional para redes da Microsoft o maior concorrente de mercado do
Novell-Netware. Na versao original, devia operar sobre o sistema operacional OS/2 no
servidor. H verses para MVS (IBM) e VMS (DEC). O pacote foi integrado posteriormente
no sistema operacional Windows 95. O LAN-Manager, a exemplo do Netware, oferece
servios a nvel da camadas de sesso e apresentao mas engloba tambm as funcionalidades
do protocolo TCP/IP (ver adiante).
3.5.4.3. LAN-SERVER
Sistema operacional para redes da IBM, inicialmente desenvolvido em conjunto com o
LAN-Manager da Microsoft. Opera sobre o sistema operacional OS/2.
3.5.4.4. PC-LAN
Sistema operacional que opera sobre a rede Token-Ring da IBM, interligando
computadores PC. Requer o NetBios para funcionar.
3.5.4.5. NETBIOS
O NetBios uma Interface para Programas de Aplicao (API, Application Program
Interface) desenvolvido pela IBM que prov servios a nvel das camadas de rede e transporte
para PC-LAN e LAN-Server.
3.5.4.6. TCP/IP
Os protocolos TCP/IP foram desenvolvidos pela UCB (University of California at
Berkeley) para a ARPA ("Advanced Research Projects Agency") em 1969, muito antes da
definio do modelo de referncia ISO/OSI. Sua aplicao original era militar (a ARPA
vinculada ao DoD, Departamento de Defesa dos EUA). O par de protocolos conhecido como
TCP/IP uma herana do projeto ARPANET.
Os servios oferecidos pelo protocolo ARPANET permitem transferir arquivos (ftp),
executar comandos remotamente (telnet), enviar e receber correio eletrnico (mail), entre
outros.
O protocolo TCP ("Transmission Control Protocol") usado para implementar o
sequenciamento e o controle de fluxo de informaes e corresponde aproximadamente
camada de transporte do modelo OSI.

243

O protocolo IP ("Internet Protocol") um protocolo no orientado a conexo cujas


funes correspondem aproximadamente s da camada de rede, mas engloba algumas funes
pertencentes a subcamada LLC da camada de enlace do modelo ISO/OSI.
Este par de protocolos adquiriu uma grande importncia, pois hoje a base de
funcionamento da INTERNET. Em funo disto, veremos um pouco mais em detalhes os
servios oferecidos.
Estes protocolos costumam ser utilizados em uma arquitetura de rede diferente da
proposta pela ISO, conforme veremos a seguir. O TCP/IP se estabeleceu como um padro de
fato para ligaes de redes heterogneas. O TCP/IP foi originalmente desenvolvido para
interconectar mquinas de diversos fabricantes, ou seja, se tornar um protocolo universal. Para
tanto foram disponibilizados os seguintes servios:
Gerenciamento de redes:
DNS (Domain Name System): um esquema de gerenciamento de nomes,
hierrquico e distribudo, que define a sintaxe dos nomes usados na Internet. Os
endereos TCP/IP so numricos (com uma formao dividida em classes),
compostos uma parte destinada a endereamento de rede e uma parte destinada a
endereamento de hosts (mquinas). O DNS contm um banco de dados
distribudo, mantido por um conjunto de Servidores de Nomes (Name Servers), que
permite fazer a resoluo de endereos IP (numricos) para o nome de uma
mquina. Cada nvel hierrquico de um nome denominado um domnio (domain).
Ex.: atlas.lcmi.ufsc.br um nome composto de 4 domnios, que eqivale ao
endereo IP 150.162.14.1.
SNMP (Simple Network Management Protocol): uma aplicao TCP/IP, que
providencia uma maneira de gerenciar objetos dentro de uma rede TCP/IP. Os
processos que realizam o gerenciamento so denominados agentes e gerentes e tem
por objetivo detectar a presena de falhas no funcionamento dos componentes da
rede. O gerente envia comandos aos agentes, solicitando informaes sobre o
estado dos objetos gerenciados (comandos get e response) ou modificando este
estado (comando put). Um agente pode tambm notificar o gerente da ocorrncia de
um evento especfico (comando trap). Os objetos gerenciados podem ser estaes
de trabalho, gateways, modems, bridges, concentradores, processos, etc.
Finger: uma parte do protocolo TCP/IP, que providencia uma maneira de se
verificar os hosts e users que esto conectados a um determinado host.
Ping: uma parte do protocolo TCP/IP , que providencia uma maneira de se
verificar se um determinado host est ativo na rede. Funciona enviando uma

244

mensagem para o host e aguardando uma resposta. Se o host no responde significa


que no est conectado rede.
Netstat: uma parte do protocolo TCP/IP , que providencia uma maneira de se
verificar as conexes que esto ativas na rede TCP/IP. Informa as conexes TCP no
host, estado dos servidores TCP/IP neste host, bem como os Sockets utilizados,
dispositivos e links, e a tabela de roteamento que est ativa.
Correio:
SMTP (Simple Mail Transfer Protocol): uma parte do protocolo TCP/IP , que
providencia um correio eletrnico entre os usurios UNIX. Este correio permite a
troca de mensagens e notas entre dois ou mais hosts. As notas so guardadas no
SPOOL do UNIX.
Compartilhamento de arquivos:
NFS (Network File System): uma parte do protocolo TCP/IP , que providencia
uma maneira de se compartilhar arquivos do sistemas atravs de uma rede TCP/IP.
Ele realiza um mapeamento dos discos de um determinado servidor na rede
TCP/IP, permitindo que os hosts desta rede enxerguem estes arquivos como locais.
Comunicao:
SLIP (Serial Line IP): um protocolo muito simples, utilizado para conectar-se
dois hosts atravs de uma linha serial, configurando-se uma ligao ponto-a-ponto.
No providencia endereamento; cada um dos hosts tem que ser conhecido pelo
outro; no identifica pacotes e no possui correo de erros.
PPP (Point-to-Point Protocol): protocolo que foi desenvolvido para substituir o
SLIP, e contm as implementaes que no so oferecidas pelo SLIP.
Emulao de terminais:
Telnet: uma parte do protocolo TCP/IP, que providencia um interface padro
atravs do qual um programa em um HOST (cliente Telnet) acessa recursos em
outro HOST (servidor Telnet) como se fosse um terminal local conectado ao
servidor de terminais.

245

APIs (Application Program Interfaces):


RPC: uma parte do protocolo TCP/IP , que providencia uma interface de
aplicao que permite a comunicao entre dois programas, os quais so executados
em dois hosts diferentes (processamento cooperativo, processamento
cliente/servidor).
Transferencia de arquivos:
FTP (File Transfer Protocol): uma parte do protocolo TCP/IP, que providencia
uma maneira de realizar a transferncia de arquivos entre hosts UNIX. O usurio
tem que se identificar para o host de onde o arquivo ser transferido, ou seja tem
que ser um usurio conhecido no host servidor.
TFTP (Trivial File Transfer Protocol): um simples protocolo para transferir
arquivos entre dois hosts. No leva em considerao nenhuma proteo e
autenticao de usurio.
Aplicaes grficas:
XWINDOW (X Window System): uma parte do protocolo TCP/IP , o qual
providencia apresentao em forma grfica.

Impresso remota:
LPR (Line Printer Redirection): executa o redirecionamento de arquivos de
impresso para um host atravs de uma rede TCP/IP.
LPD (Line Printer Daemon): servidor de impresso para hosts remotos em uma
rede TCP/IP.
Execuo remota:
RSH (Remote Shell Protocol): executa um shell remotamente em outro host
atravs de uma rede TCP/IP.
REXEC (Remote Execution Command Protocol): um servidor o qual permite a
execuo de um comando REXEC de um host remoto atravs de uma rede TCP/IP.

246

O servidor realiza um login automtico incluindo a verificao do usurio. A parte


cliente realizada pelo processo REXEC.

Servidor de Boot:
BOOTP (BOOTstrap Protocol): um servidor de boot remoto para hosts atravs
de uma rede TCP/IP. Muito utilizado por terminais grficos (normalmente
Diskless).
A figura 5.1 mostra uma relao aproximada entre o modelo de referncia OSI/ISO e a
arquitetura usualmente vinculada aos protocolos TCP/IP.
Modelo de Referncia ISO/OSI
Aplicao

Modelo Arquitetura TCP/IP


SMTP
(mail)

FTP

TELNET

...

Apresentao
Sesso
Transporte

TCP (Transmission Control Protocol)

Rede
Enlace
Fsica

IP (Internet protocol)
LLC
MAC

LLC + Driver (ex.:UNIX)


Controle de acesso ao meio (MAC)
Meio Fsico

Placa

Figura 5.1 - TCP/IP e o RM-OSI/ISO


Uma relao aproximada entre os produtos apresentados e o modelo OSI
representada na figura 5.2.

247

Modelo de Referncia ISO/OSI


Produtos comerciais de rede
Aplicao
Arpanet

Apresentao

LAN-Manager

Sesso

Novell Netware

LAN-Manager
Novell Netware

LAN-Manager

PC-LAN

PC-LAN

LAN-Server

Novell Netware

Transporte
TCP/IP

NETBIOS

Rede
Enlace
Ethernet
Fsica

Token
Ring

ARCNet

Figura 5.2 - Relao aproximada entre alguns produtos comerciais e o RM-OSI.


3.5.5. redes industriais
3.5.5.1. REDES SINEC (SIEMENS)

As redes SINEC, da Siemens, so um conjunto de solues de rede englobando


praticamente todos os nveis hierrquicos de uma empresa. A famlia SINEC Inclui:

SINEC H1: rede compatvel com a norma IEEE 802.3 (Ethernet).

SINEC H2: rede compatvel com o padro MAP.

SINEC L1: sistema fieldbus proprietrio da Siemens.

SINEC L2: rede fieldbus compatvel com a norma alem PROFIBUS. oferecida em
3 verses:

SINEC L2-DP: sistema desenvolvido para aplicaes que exijam respostas rpidas,
especialmente aquelas envolvendo sistemas remotos de I/O (como CLPs ligados a
sensores e atuadores). Utiliza o padro RS485 ou fibra tica na camada fsica.
Com a interface RS485 pode-se ter um cabo de 1200 metros com uma taxa de
transmisso de 93.75 Kbps, 1000 metros com taxa de 187.5 Kbps, 200 metros com
taxa de 1.5 Mbps ou 100 metros com taxa de 12 Mbps. Suporta at 127 estaes
em 4 segmentos de rede ligados por repetidores. Prev uma operao com mestre
nico (single master) e escravos, adotando portanto somente o protocolo
248

Mestre/Escravos na subcamada MAC. Usa somente servios sem conexo e sem


reconhecimento (LLC tipo 1). Os servios de aplicao so basicamente voltados
para leitura e escrita de variveis remotas (READ/WRITE).

SINEC L2-FMS: sistema concebido para a troca de dados entre sistemas


inteligentes autnomos em sistemas de manufatura, como CNCs, CLPs, RCs, PCs,
etc (ver figura 5.3). Utiliza tambm o padro RS485 ou fibra tica na camada
fsica. Como as estaes podem ser autnomas, utiliza na subcamada MAC os
protocolos Token-Passing conjuntamente com
Mestre/Escravos, conforme
previsto na norma PROFIBUS. Tambm suporta 127 estaes em 4 segmentos de
rede, como o DP. Usa servios LLC tipos 1 e 3. Os servios de aplicao seguem o
padro FMS (Fieldbus Message Services, subconjunto do MMS da rede MAP).

PC - Gerente FMC
PC- Visao

Rede Profibus

RC
Camera
CCD

CNC
Torno
Romi-Mazak

tcd

Esteira transportadora
Micrometro
Laser

Robo IPSO
SP-50

Figura 5.3 - Aplicao tpica da Rede SINEC L2-FMS

SINEC L2-PA: permite interligar instrumentos da rea de processos unitrios a um


sistema de comunicao. Adota o padro IEC61158-2 na camada fsica, que utiliza
o prprio cabo de transmisso de dados para energizar os dispositivos de campo e
opera com uma taxa de transmisso de 31.25 Kbps. Aqui o comprimento mximo
do cabo depende do nmero de estaes conectadas e funo de seu consumo de
energia. Um segmento (sem repetidores) suporta no mximo 32 estaes. A
subcamada MAC utiliza o protocolo Mestre/Escravos e usa LLC tipo 1. Os
servios de aplicao so semelhantes aos do DP.

3.5.5.2. BITBUS (INTEL)

249

O Bitbus uma rede com topologia em barramento e operando com o mtodo de


acesso ao meio mestre/escravos. Foi desenvolvido pela INTEL para a integrao de
componentes no nvel mais baixo da automao industrial, integrando sensores, atuadores,
controladores e instrumentos de medio.
O Bitbus um concorrente comercial largamente difundido para os sistemas
atualmente propostos para padronizao do Fieldbus e apresenta, a exemplo destes sistemas,
uma arquitetura de apenas trs camadas.
Na camada fsica utilizada a interface padro RS-485 com par tranado e taxas de
transmisso de 62.5 Kbps at 2.4 Mbps (modo sncrono, com 4 fios). No modo assncrono, a
rede requer apenas 2 fios e opera com taxas de transmisso de at 1 Mbps. Cada segmento da
rede suporta no mximo 28 estaes, mas atravs de repetidores podem ser conectados at 250
elementos na rede.
Para a camada de enlace o Bitbus emprega o protocolo SDLC (Synchronous Data Link
and Control), um sub-conjunto do protocolo HDLC padronizado pela ISO. O processador
Intel 8044 implementa este protocolo a nvel de hardware, permitindo assim uma execuo
extremamente rpida do mesmo.
A nvel da camada de aplicao, a INTEL definiu um conjunto de servios
denominados RAC (Remote Access and Control), especialmente concebidos para atender
aplicaes envolvendo sensores e atuadores, que so apresentados na tabela 5.3.
Servio
Reset_Slave

Funo de Acesso

Funo de Comando
X

Create_Task
Delete_Task

X
X

Get_Function_ID
RAC_Protect
Read_IO

X
X
X

Write_IO
Update_IO

X
X

Upload_Memory
Download_Memory
OR_IO

X
X
X

AND_IO
XOR_IO

X
X

Status_Read
Status_Write

X
X
Tabela 5.3 - Servios RAC do Bitbus

250

Em 1986 o sistema Bitbus tornou-se um padro, sob a designao IEEE 1118. Mais de
2,5 milhes de dispositivos com interface Bitbus esto no mercado, produzidos por mais de
50 empresas diferentes.
3.5.5.3. CAN (CONTROLLER AREA NETWORK)

Uma rede do tipo fieldbus que vem ganhando ateno crescente a rede CAN
(Controller Area Network), desenvolvida originalmente pela BOSCH para integrar elementos
inteligentes em veculos autnomos (eletrnica "embarcada"). Um automvel moderno, por
exemplo, pode possuir mais de 200 microprocessadores, controlando funes como
carburao eletrnica, frenagem anti-bloqueante (ABS), controle e superviso da temperatura
do leo e do radiador, presso de leo de freio, ajuste automtico de espelhos retrovisores,
banco do motorista, etc.
O sistema CAN teve sua primeira verso lanada em 1984. Em 1987 foi produzido o
primeiro chip que implementa em hardware as funes de comunicao, o 82526, produzido
pela INTEL. A partir de 1991 vrios outros fabricantes foram licenciados para a fabricao de
chips para CAN. Entre eles temos a Phillips (chips 82C200, 87C592, 82CE598 e 82C150), a
Motorola (chip 68HC05), a NEC (chip 72005), alm da Siemens, da Thompson e da
National.
Apesar de ter sido concebido para uso em eletrnica embarcada, os grupos de trabalho
da rea de automao vislumbraram a adequao do sistema para uso como rede local
industrial e formaram uma entidade chamada CiA (CAN in Automation), constituda de
usurios e fabricantes de produtos baseados no protocolo. At abril de 1993, a CiA j contava
com 64 associados no ligados a industria automobilstica.
CAN tem as seguintes caractersticas a nvel da camada fsica (padro ISO/DIS 11898):
Topologia: barramento ou estrela (com concentrador);
Taxa de transmisso: 125 Kbps ou 1 Mbps;
Comprimento mximo do barramento: 40 m para 1 Mbps; at 1 Km para 125 Kbps;
Nmero mximo de ns: 16;
Codificao de bits: NRZ (Non Return to Zero);
Meio de transmisso: no especificado na norma, mas usualmente usado par tranado
ou fibra tica.
A nvel da subcamada MAC, temos:
Mtodo de acesso ao meio: Forcing Headers (ver seo 2.2.1.3) com prioridades para
mensagens.

251

A nvel da subcamada LLC, temos:


Comprimento mximo dos quadros de dados: 8 Bytes;
Controle de erro por CRC (Cyclic Redundancy Check).
As camadas 3 at 6 do RM-OSI foram suprimidas, a exemplo do que ocorre com as
redes tipo fieldbus.
CSMA/NBA - Carrier Sense Multiple access with Non-destructive Bitwise Arbitration (Forcing Headers)

Frame CAN
S
O
F

11 bit
IDENTIFIER

Control Length
Field

0 to 8 bytes Data

Arbitration
Field

CRC

A E
C O
K F

Data Field
SOF - Start of Frame
EOF End of Frame
CRC - Cyclic Redundancy Check (CRC 16)

ACK - Acknowledgment

Qualquer n pode acessar o meio se estiver livre


NBA garante 100% de utilizao do meio e priorizao de mensagens baseada no identificador de 11 bits
do frame

Como na Ethernet, cada n tenta transmitir se meio livre.


Diferentemente de Ethernet, no h colises.

Se 2 ou mais ns iniciam transmisso simultnea, conflito resolvido por arbitragem bit


a bit usando o campo IDENTIFIER.
0 dominante no fio sobre 1 (operao AND binria).
Se um n transmite 1, mas escuta 0, ele imediatamente pra transmisso.
O n vencedor envia o resto da mensagem.
Mecanismo garante que no se perde informaes nem tempo.

252

N 1 Transmite:
0

10110110100

00000001

E
xxxx 11 O
F

N 2 Transmite:
0

N 2 perde arbitragem
e pra transmisso!
10110111

No meio:
0

10110110100

00000001

E
xxxx 01 O
F

O valor do campo IDENTIFIER define prioridade durante arbitragem (IDENTIFIER


mais baixo vence).
IDENTIFIER.

Isto significa que dois frames no podem ter o mesmo

Modelos de comunicao:
Frame no contm campos especficos para endereo destino/origem.
Campo IDENTIFIER pode conter endereo de uma estao, grupo de estaes
(multicasting) ou mensagens so difundidas para todas as estaes (broadcasting).
Campo IDENTIFIER pode identificar o contedo da mensagem (dados), que
difundida para todas as estaes.
Gerador da mensagem: PRODUTOR.
Estaes interessadas no contedo da mensagem: CONSUMIDORES.

CAN tambm no define uma especificao para a camada de Aplicao, mas o grupo
CiA definiu uma especificao para aplicaes em automao, composta dos seguintes
elementos de servio:

CMS (CAN Message Services): fornece servios de leitura e escrita de variveis


remotas e tratamento de eventos. CMS baseado no MMS da rede MAP;
NMT (Network Menagement): fornece servios de inicializao e gerenciamento da
rede;
DBT (Distributor): prov uma distribuio dinmica de nomes definidos pelo usurio
para identificar as mensagens.

253

O sistema suporta at 2032 objetos diferentes, aos quais associado um nmero de


identificao nico na aplicao. O tempo para leitura de dados a nvel da camada de enlace
da ordem de 420 s para o objeto de maior prioridade. CAN tornou-se norma internacional
definida pela ISO em 1993 sob a designao ISO 11898.
3.5.5.4. VAN (VEHICLE AREA NETWORK)

A rede VAN (Vehicle Area Network) foi normalizada em 1990 na Frana pelo Bureau
de Normalisation de l'Automobile para operar em eletrnica embarcada. A partir de 1992
passou a ser adotada pela Renault e pela Peugeot.
A rede VAN possui as seguintes propriedades a nvel da camada fsica:
Topologia: barramento;
Taxa de transmisso: 100 Kbps at 250 Kbps;
Nmero mximo de ns: 16;

Comprimento mximo de barramento: 20 metros;


Codificao de bits: Manchester ou NRZ.

Na subcamada MAC temos as seguintes caractersticas:


Mtodo de acesso ao meio: Forcing Headers (como CAN);
Controle de erros: assumido pela subcamada MAC, que usa a tcnica de CRC;
A subcamada LLC tem as seguintes particularidades:
Quadro de dados: 8 bytes ou 28 bytes (verso FullVAN);
Apesar das semelhanas com a rede CAN, no se conhecem aplicaes da rede VAN em
automao industrial. Os chips disponveis esto implementados na forma de ASICs
projetados especificamente para a indstria automobilstica.
Existem vrias outras redes concebidas para aplicao em veculos, tais como J1850
(definida nos Estados Unidos pela SAE), C2D (Chrysler Collision Detection), MIL-STD1553B (para avinica militar), mas todas com uso restrito eletrnica embarcada.
3.5.5.5. DEVICENET
DeviceNet uma rede industrial de baixo custo para conectar dispositivos como chaves
fim de curso, clulas fotoeltricas, vlvulas, motores, drives, displays de CLP e PC, etc.
DeviceNet foi desenvolvida tendo CAN como base.
DeviceNet oferece manipulao robusta e eficiente de dados e baseada na tcnica
produtor / consumidor.
254

A ODVA (open DeviceNet Vendor Association) uma organizao independente que


supervisiona e gerencia as especificaes da DeviceNet.
Seu objetivo promover a adoo mundial de DeviceNet como rede aberta.
A ODVA trabalha conjuntamente com os membros vendedores, usurios finais e
distribuidores.
Possui 320 membros (at julho de 2001).
Home-pages:
http://www.odva.org
http://www.ab.com/catalogs/b113/comm/dnet.html

Camada 7

Camada 2

Application Layer

DeviceNet

Data Link Layer


CAN

Physical Signaling
Camada 1

Transceiver
Transmission Media

DeviceNet

Configurao em barra (daisy-chain ou ramificaes)


Ns podem ser removidos sem interromper linha
At 64 ns endereveis
Sinal e alimentao de 24vdc no mesmo cabo
Taxas transmisso: 125kbps, 250kbps, 500kbps
Conectores selados ou abertos
Terminador de 121 ohms nas extremidades

Ramificaes
Daisy-chain
Par tranado com dois fios:

255

Par Sinal: baixa perda, alta velocidade.


Par Alimentao: at 8A corrente.
Sensores alimentados da linha.
Opto-isolamento para dispositivos com alimentao prpria (Ex.: drive, PLC, etc.).
Pode-se usar vrias fontes de alimentao.

PS

conectores abertos e selados:

Selados:
T - Tap

Drop lines

Multiport Tap

- 0 a 6m

Abertos:

Droplines

Daisy chaining:
Distancias e velocidades:

256

Droplines

Tap

Tap

Dropline

At 6 metros do Tap

Conector plug-in
para dispositivo

Data
Rate

Usar em painis de
controle que
agrupam
dispositivos

Ramificaes

Barramento

Dist. TAP

Cumulativo

125K

500m

26 x 6m

156m

250K

250m

13 x 6m

78m

500K

100m

6 x 6m

36m

Enlace segue sistema CAN.


Formas de comunicao suportadas atravs do modelo produtor/consumidor:
Master/Slave: escravos s enviam dados em resposta a varredura do mestre.
Peer-to-Peer: comunicao livre entre fontes / destinos quaisquer (par a par).
Multi-master: vrios mestres e vrios escravos.
Mudana de estado dos dados: envio de dados entre estaes predefinidas sempre que houver alterao de
estado.
Produo cclica de dados: estaes enviam dados entre si em intervalos fixos de tempo.

Definio do campo Identifier


Estabelece prioridade no processo de arbitragem
usado pelos ns receptores para identificar mensagens

Dois tipos de mensagens


257

Mensagens de I/O para dados de controle crticos no tempo


Mensagens explicitas para funes cliente/servidor
Fragmentao para dados maiores que 8 bytes

Deteco de identificadores duplicados


Verificao de consistncia dos dados de aplicao
3.5.5.6. CONTROLNET
ControlNet International uma organizao independente criada em 1997 que mantm e distribui a
especificao ControlNet e gerencia is esforos de marketing dos membros associados.
Home-page: www.controlnet.org
Mais infos: www.ab.com/catalog/b113/comm/cnet.html

Onde usar: nveis intermedirios (clula, rea)

Camada fsica:
Topologias: barramento, rvore, estrela
Taxa transmisso: 5 Mbps
Estaes endereveis: at 99
Distncias:
Cabo coaxial RG-6: 1.000 m com 2 ns, 500 m com 32 ns, 250 m com 48 ns (sem repetidores), mximo de 5.000 m
com 5 repetidores
Fibra: 3.000 m sem repetidores, at 30 km com 5 repetidores

258

Camada de enlace:
Controle de erros no frame por Cyclic Redundancy Check, polinmio CCITT modificado com 16 bits.
Campo de dados com at 510 bytes.
MAC: CTDMA (Concurrent Time Domain Multiple Access), que regula a oportunidade de transmitir de cada n em
intervalos de tempo ajustveis chamados NUT (Network Update Time). A menor NUT de 2ms.
Informaes com restries temporais so enviadas na parte escalonada da NUT. Dados sem restries temporais
(ex.: Dados de configurao) so enviados nos intervalos restantes de tempo.

Camada de aplicao:
Orientao a objetos
Modos de comunicao:
Master/Slave
Multi-Master
Peer-to-Peer
Produtor/consumidor
Leitura de dados:
Mudana de estado
Cclico
Por solicitao

3.5.5.7. O PROTOCOLO HART

O protocolo HART (Highway Addressable Remote Transducer) um dos protocolos


mais difundidos a nvel industrial para a interligao de equipamentos de campo inteligentes.
Este protocolo adotado por empresas como: Siemens, Hitachi, Toshiba, Yokogawa, ABB,
Endress+Hauser, Fischer & Porter, Rosemount Inc, Camile Bauer, Smar International e
muitas outras, agrupadas em torno do chamado grupo "HUG" (HART User Group).
As principais caractersticas do protocolo HART so:

Meio fsico: par tranado;


259

Taxa de transmisso: 1200 bps;


Transmisso assncrona a nvel de caracteres UART (compostos de 1 start bit, 8 bits
de dados, 1 bit de paridade e 1 stop bit);
Tempo mdio para aquisio de um dado: 378,5 ms;
Mtodo de acesso ao meio: mestre/escravos;
Topologia: barramento ou rvore;
Modulao: FSK (Frequency Shift Keying, padro Bell 202), onde o sinal lgico 1
representado por um sinal de baixa tenso e com freqncia de 1200 Hz e o sinal
lgico 0 por uma freqncia de 2200 Hz.

Devido a forma de modulao adotada, possvel transmitir simultaneamente sinais de


4 a 20 mA e quadros digitais pelo barramento. O Chip NCR 20C12 serve como modem de
baixa potncia para uso em equipamentos de campo. O chip requer a adio de filtros e
comparadores para a operao do protocolo.
3.5.5.8. INTERBUS-S

O sistema Interbus-S foi desenvolvido na Alemanha pela empresa Phoenix Contact e


obteve ampla aceitao industrial, j tendo sido empregado em mais de 5.000 aplicaes de
automao (em sua maioria na Europa).
O Interbus-S foi concebido para integrao de sensores a atuadores a um elemento de
tomada de deciso (CLP, CNC, RC, etc.). O elemento de tomada de deciso opera como uma
estao mestre, ao passo que os sensores e atuadores so tratados como estaes escravas, que
executam essencialmente operaes de entrada/sada. Como em todo mtodo de acesso tipo
mestre/escravos, a iniciativa de comunicao parte sempre do mestre. No entanto, em lugar de
utilizar uma topologia em barramento, na qual o mestre executa uma varredura cclica dos
escravos por meio de quadros especficos para este fim, o Interbus-S adotou uma topologia em
anel com um mtodo de varredura denominado "Quadro Concatenado" ou "Quadro Somado"
(do alemo "Summenrahmen-Verfahren"), que opera de forma anloga a um registrador de
deslocamento. Neste mtodo, o mestre monta um quadro nico contendo campos reservados
para uso de cada um dos escravos. Quando o mestre deseja enviar dados a um dos escravos,
preenche o campo reservado quele escravo com os dados de processo ou parmetros a enviar.
O quadro ento enviado ao primeiro escravo no anel. O primeiro escravo reconhece no
quadro o incio de sua janela de dados e assim verifica o contedo somente do campo
reservado a ele, ignorando o resto do quadro. O escravo l a informao contida no seu campo
reservado, copiando-a para um buffer de recepo, e substitui o contedo do campo pelos
dados de resposta, que estavam a espera em um buffer de envio. Desta forma, o mestre pode
enviar novos dados para serem colocados nas sadas do escravo e receber em lugar deles os
260

dados atualizados das entradas do mesmo escravo. Em seguida, o primeiro escravo envia o
quadro completo (agora com seus dados locais no campo reservado) para o prximo escravo
no anel. O processo se repete at que o quadro tenha percorrido todos os escravos do anel e
retornado ao mestre. A comunicao se d, portanto, sempre entre o mestre e os escravos. Este
princpio ilustrado na figura 5.4.

Master

Slave 1

FCS M4 M3 M2 M1

Slave 2

Slave 3

Slave 4

L
M1

At.
M1

L
M2

At.
M2

L
M3

At.
M3

L
M4

At.
M4

Figura 5.4 - Varredura dos escravos no INTERBUS-S


Para melhor entender o mtodo, pode-se fazer uma analogia com um trem que pra em
diversas estaes, deixando alguns passageiros e pegando outros. Aqui, os passageiros que
desejarem desembarcar do trem (quadro somado) na estao 1 (escravo 1) devem ficar em um
vago reservado para passageiros destinados a esta estao (o campo do quadro somado
reservado ao escravo 1). Da mesma forma, todos os passageiros que embarcarem no trem na
estao 1 tero que entrar no vago reservado quela estao. Terminado o desembarque dos
passageiros destinados estao 1 e o embarque dos passageiros que querem retornar a
estao central (mestre), o trem avana at a estao seguinte, at completar uma volta
completa (anel).
O tempo que o quadro somado leva para percorrer o anel (tempo de um ciclo de
varredura) depende do nmero de estaes escravas e determinstico. O nmero mximo de
entradas e sadas suportadas pelo Interbus-S de 2048, que podem ser varridas em 7.2 ms. A
distncia entre estaes consecutivas no anel pode chegar at 400 metros. O nmero mximo
de estaes 256, de modo que o anel do INTERBUS-S pode chegar a ocupar 13 Km sem
repetidores. A taxa de transmisso de 500 Kbps.
As informaes que o mestre envia para os escravos podem ser dados de processo, tais
como comandos a executar ou valores a colocar em uma sada, ou parmetros de configurao
do escravo. Os dados de processo so em geral sujeitos restries temporais (operao em
tempo real), ao passo que os parmetros de configurao em geral s so necessrios no inicio
de operao, ou em alguns instantes de tempo posteriores, no sendo em geral sujeitos
restries temporais. Os parmetros de configurao so enviados em time slots reservados
para este fim no quadro somado.
261

A nvel da camada de aplicao, o Interbus-S define um conjunto de servios


denominado PMS (Peripherals Message Services), que consiste de um subconjunto dos
servios do MMS da rede MAP. Os servios PMS incluem:
gerenciamento de conexes;
identificao e verificao de status;
gerenciamento de objetos;
acesso a variveis (read, write, update, etc.);
gerenciamento de programas (dowload, upload, start, stop, resume, etc.).
Grupos de empresas que oferecem produtos compatveis com Interbus-S (hoje mais de
100) ou que so usurias do produto se reuniram em organizaes como a DRIVECOM e a
ENCOM, ocupadas de definir padres de utilizao e configurao para este sistema. O
sistema tambm tema de atividades de padronizao pela IEC e DIN.
3.5.5.9. ASI-BUS
O sistema ASI (Actuator/Sensor Interface) foi desenvolvido por um consrcio de 11
empresas (Balluf, Baumer, Elesta, Festo, IFM, Peperl+Fuchs, Sick, Siemens, Leuze, Turck e
Visolux) e introduzido no mercado em 1993.
ASI foi concebido para interligar via rede elementos perifricos (sensores e atuadores)
binrios, tais como chaves fim-de-curso, sensores de proximidade indutivos e capacitivos,
rels, vlvulas, etc. Todos estes elementos requerem em geral uma informao mnima para
operar (na maioria dos casos, 1 bit com comandos tipo ON/OFF).
Para atender aos requisitos operacionais deste tipo de dispositivo, ASI foi concebido
como um sistema Mestre/Escravos com topologia em barramento. O mestre executa uma
varredura cclica dos escravos, enviando quadros de solicitao de dados e aguardando um
quadro de resposta.
Os quadros enviados pelo mestre ASI tem um campo de dados de apenas 4 bits e um
campo de parmetros de mais 4 bits, conforme a figura 5.5. O quadro tem 17 bits no total.

5 bit slave addr.

4 bit parameter

4 bit data

Test bit

Command-bit
Start bit

Stop bit
Figura 5.5 - Quadro do mestre ASI

262

O quadro de resposta do escravo tem o formato da figura 5.6, composto de apenas 7


bits. Como todas as respostas so destinadas ao mestre, no necessrio um campo de
endereo neste quadro.

4 bit data

Test bit
Start bit

Stop bit

Figura 5.6 - Quadro dos escravos ASI


Como os quadros utilizados so sempre iguais aos acima mostrados, a varredura de cada
escravo implica no envio e recepo de um total de apenas 24 bits, o que pode ser feito em um
tempo bastante reduzido, como veremos adiante.
Cada escravo recebe portanto 4 bits de dados e 4 bits de parmetros, e responde, se for o
caso, tambm com 4 bits de dados. Um escravo ASI possui at 4 portas de I/O conectadas a
dispositivos perifricos, como mostra a figura 5.7. Cada porta de sada recebe o valor de 1 dos
4 bits do campo de dados do quadro enviado pelo mestre. Se as portas esto configuradas
como entradas, seu valor copiado nos 4 bits correspondentes do campo de dados do quadro
de resposta do escravo. Desta forma, o mestre pode ler ou escrever em qualquer uma das
portas remotas dos escravos.
ASI suporta at 31 escravos em um barramento. Como cada escravo pode ter 4 entradas
ou sadas, o nmero mximo de elementos binrios que podem ser integrados aos 31 escravos
de 124. Esta configurao permite ligar os sensores e atuadores binrios convencionais
atuais rede ASI. A varredura completa dos 31escravos, atualizando todas as 124 entradas e
sadas, requer cerca de 5 ms.

ASI
Master
Slave 1

Slave 2

I/O 1

...

Slave 31

I/O 120
I/O 4

I/O 124

263

Figura 5.7 - Configurao tpica de um segmento ASI


Os 4 bits de parmetros recebidos do mestre podem ser enviados para 4 portas de sada
adicionais, podendo ser utilizados para configurar um dispositivo mais sofisticado conectado
ao escravo, como ilustrado na figura 5.8. Esta configurao permite conectar sensores e
atuadores inteligentes rede ASI.

Slave
ASI

sensor

Figura 5.8 - Sensor ou Atuador inteligente conectado a um escravo ASI


O cabo de rede ASI composto de 2 condutores no blindados e utilizado tambm
para a alimentao dos escravos (24V DC, 100 mA por escravo). Um segmento de rede ASI
pode ter at 100 metros de comprimento.
A grande vantagem de ASI sobre outras rede tipo fieldbus o custo baixo e
simplicidade de implementao, operao e manuteno. Sua aplicao em automao
industrial vem crescendo muito desde seu lanamento em 1993.
3.5.5.10. FAIS
A rede FAIS (Factory Automation Interconnection System) foi desenvolvida no Japo
por um consrcio de mais de 30 empresas e o International Robotics and Factory Automation
Center (IROFA). Os primeiros produtos foram lanados no mercado em 1992.
FAIS consiste basicamente em uma verso atualizada da rede Mini-MAP e foi
concebida para uso em automao fabril no nvel hierrquico de clula (FMC). Neste nvel
encontram-se subsistemas como mquinas ferramenta com CNC, Robs, Sistemas de
transporte, CLPs, etc.
A arquitetura FAIS tambm composta das camadas 1, 2 e 7, com especificaes
prximas as do mini-MAP, mas com algumas alteraes, como veremos a seguir.
Na camada fsica est previsto o uso de cabo coaxial com tcnica de transmisso em
Carrier-Band com 5 ou 10 Mbps ou, opcionalmente, fibra tica com 10 Mbps.
A camada de enlace de dados prescreve para a subcamada MAC o protocolo TokenBus, conforme IEEE 802.4. Na subcamada LLC especificado o servio sem conexo com
reconhecimento (LLC tipo 3), conforme IEEE 802.2.

264

A camada de aplicao prev o uso de MMS (Manufacturing Message Sevices)


juntamente com servios de gerenciamento de rede NM (Network Menagement) e dicionrio
de objetos OD (Object Dicionary).
As alteraes bsicas em relao a proposta mini-MAP esto portanto na camada fsica
com fibra tica e nos servios de aplicao NM e OD.
A figura 5.9 mostra resumidamente a especificao FAIS.
Aplicao

MMS

NM

OD

Apresentao
Sesso
VAZIO
Transporte
Rede
LLC 802.2 tipo 3

Enlace
Fsica

MAC 802.4 Token bus

Baseband
5 / 10 Mbps

Fibra tica
10 Mbps

Figura 5.9 - Especificao FAIS 2.0


A incluso do sistema FAIS na proposta MAP/TOP est atualmente em discusso.
Algumas incompatibilidades a nvel da camada de aplicao esto ainda atrasando a
integrao das propostas.
3.5.5.11. LON
A rede LON (Local Operating Network) foi desenvolvida pela empresa Echolon em
1990 para atender a um amplo espectro de aplicaes, incluindo automao predial (imtica),
automao domstica (domtica), automao de escritrios e mesmo automao industrial.
O protocolo de comunicao da rede LON conhecido pelo nome LonTalk, que
implementado em firmware em um processador dedicado denominado NeuronChip,
produzido pelas empresas Motorola e Toshiba. O NeuronChip composto dos seguintes
elementos:
Trs processadores de 8 bits, dos quais um executa o controle de acesso ao meio,
outro responsvel por servios gerais de comunicao e o terceiro dedicado a
aplicaes do usurio em um n de rede;
Porta de conexo ao transceiver, atravs do qual o NeuronChip se conecta ao meio;
Pinos de entrada e sada, reset, clock e alimentao (5V);
Acesso a um nmero de srie de 48 bits definido pelo fabricante;
265

Um timer programvel;
Sistema completo de memria, contendo 10 Kbyte ROM, 1 Kbyte RAM e 512 Bytes
EEPROM para parmetros de rede;
3 temporizadores tipo Watch-Dog (1 para cada processador);

O protocolo LonTalk baseado no modelo de referncia OSI e implementa todas as 7


camadas previstas pela ISO.
Para implementar uma rede LON, necessita-se de um conjunto de ferramentas de
software e componentes denominado LonWorks, que incluem:
NeuronChip;
Protocolo LonTalk;
Transceivers que permitem ligar o NeuronChip ao meio fsico;
LonBuilder Developer's Workbench, que um sistema de desenvolvimento
orientado a objetos para projeto, implementao e teste de ns LON.
A nvel da camada fsica, existem transceivers para vrios meios de comunicao e
diferentes topologias de rede. Os modelos oferecidos pela Echolon so os seguintes:
FTT-10: meio tipo par tranado, taxa de transmisso de 78 Kbps, suporta 127 ns
em um barramento de at 2.700 metros ou segmentos de at 500 metros com
topologia em estrela ou anel;
LPT-10: meio tipo par tranado, taxa de transmisso de 78 Kbps, suporta
opcionalmente 32 ns com consumo de 100 mA cada, 64 ns com 50 mA cada ou
128 ns com 25 mA cada, em um barramento de 2.200 metros ou segmentos de at
500 metros com topologia em estrela ou anel. Recebe alimentao pelo mesmo fio
em que recebe/envia dados;
TPT/XF-78: par tranado, taxa de 78 Kbps, barramento com 2.000 metros, 64 ns;
TPT/XF-1250: semelhante ao anterior, mas com taxa de transmisso de 1.25 Mbps
para distncias de at 500 metros;
PLT-10A: utiliza como meio fsico a prpria rede eltrica da casa ou prdio por
meio da tecnologia spread spectrum (tcnica especial de transmisso usada em
sistemas com elevados nveis de interferncia), operando na faixa de freqncia de
100 KHz at 450 KHz com taxa de transmisso de 10 Kbps;
PLT-20: idem ao anterior, mas com freqncia de 125 KHz a 140 KHz com taxa de
transmisso de 5.4 Kbps;
PLT-30: idem aos anteriores, mas com freqncia de 9 a 95 KHz e taxa de 2 Kbps.
Alm destes, existem ainda transceivers de outros fabricantes, incluindo suporte para:

266

RF-300: usa sinais de rdio freqncia de 300MHz, taxa de transmisso de 1.200


bps (rede sem fio);
RF-450: idem, com 450 MHz e taxa de 4800 bps;
RF-900: idem, com 900 MHz e taxa de 39 Kbps;
IR: usa sinais em infravermelho, com taxa de transmisso de 78 Kbps;
Fibra tica: taxa de transmisso de 1.25 Mbps;
Cabo coaxial: taxa de transmisso de 1.25 Mbps.

Para que a rede eltrica de um prdio, fbrica ou residncia possa ser configurada como
um barramento de rede LON, so usados capacitores para interligar segmentos diferentes de
fio, resultando em curto-circuitos somente para sinais de alta freqncia, como os usados para
transmitir dados via rede, mas representando linha aberta para o sinal de 60 Hz da rede de
energia.
A nvel da camada de enlace, subcamada MAC, utilizado um protocolo de acesso ao
meio CSMA preditivo p-persistente com deteco de coliso e atribuio de prioridades s
mensagens. Este protocolo preditivo, ou seja, prev o trfego na rede, somente quando
usado servio com reconhecimento. A subcamada LLC suporta somente servios sem conexo
(com ou sem reconhecimento) e oferece funes de montagem de quadros e checagem de
erros com CRC.
LonWorks oferece ainda uma srie de elementos para interconexo de subredes LON,
incluindo roteadores (por exemplo, RTR-10) e pontes. Uma rede LON pode assim ser
composta de vrias subredes, com meios fsicos diversos, conforme a figura 5.10.

267

N
N
Fibra tica
N

Router

Par tranado
N

Router

Rede eltrica
N

N
Router

N RF

N RF

N RF

Figura 5.10 - Rede LON com subredes diferentes e at 32.385 ns


O NeuronChip programado em uma extenso da linguagem C desenvolvida
especificamente para ele, chamada Neuron C, que expande o padro ANSI com orientao a
objetos, suporte a programao concorrente, 37 novos tipos de dados definidos na
especificao SNVT (Standard Network Variable Types) e mecanismos de passagem de
mensagem.
Apesar deste sistema ser ainda pouco conhecido no Brasil, existem mais de 1 milho de
ns de rede LON instalados nos Estados Unidos. Em 1994 e empresa Echolon criou um grupo
um grupo de usurios e fabricantes de produtos baseados no NeuronChip chamado "LonMark
Interoperability Association", que inclui empresas como a Honeywell, Detriot Edison, IBM,
Microsoft e Leviton. Esta associao executa testes e certificao de conformidade para
produtos que queiram ter o logotipo LonMark e define diretivas para interoperabilidade.
A maioria dos ns LON instalados esto em aplicaes de automao predial e
residencial. Existem estaes baseadas no NeuronChip para controle de lmpadas e
eletrodomsticos, termostatos, sistemas HVAC (Heating, Ventilation and Air Conditioning,

268

ou calefao, ventilao e ar condicionado), sensores de presena e segurana em geral,


sensores de luminosidade ambiente, equipamentos de udio e vdeo (por exemplo, Home
Theaters), gerenciamento de energia, controle otimizado de elevadores, subsistemas de gua e
gs (vlvulas, sensores de nvel e outros componentes), etc.
3.5.5.12. P-NET
A rede P-NET foi desenvolvida na Dinamarca pela empresa Ultrakust e tem como
aplicao alvo a automao industrial.
A nvel da camada fsica, P-NET prev uma topologia em anel, com taxa de
transmisso de 76.8 Kbps. Em um anel podem estar no mximo 125 estaes. Como meio
fsico usado um cabo tipo par tranado blindado, com at 1.200 metros de comprimento,
sem a necessidade de repeaters.
A nvel da subcamada MAC previsto um mtodo de acesso ao meio tipo
Mutimestre / Escravos. Em um anel podem estar at 32 estaes mestras. Entre as estaes
mestras e escravas realizada uma varredura cclica atravs de quadro pr-definidos. A
varredura de cada escravo requer 30 slot times, ou cerca de 390s. Entre as estaes mestras,
o controle de acesso ao meio do tipo token-passing, porm de forma diferente da adotada no
mtodo token-ring, pois o token no fica em circulao. Cada mestre pode reter o token por
um tempo determinado, aps o que tem que envia-lo ao prximo mestre do anel. A passagem
de token entre mestres requer no mximo 10 slot times, ou cerca de 130s. Apesar do token
passar pelas estaes escravas, uma vez que elas esto tambm no anel, estas no podem retlo. Esta configurao mostrada na figura 5.11.
PC
Presso

E
token

Temperatura

Motor

CLP

M
Controller
M
Vazo

E
E

Peso

Figura 5.11 - Um anel P-NET

269

Vrios anis podem ser interligados entre si por meio de estaes do tipo P-NETController, que executam a funo de roteadores ou gateways, como ilustrado na figura 5.12.

E
E

M
Controller

E
E

M
E

E
M
Controller

Figura 5.12 - Vrios anis P-NET interligados por Controllers


O P-NET-Controller pode tambm ser usado para conectar a uma rede P-NET
dispositivos no especificamente desenvolvidos para este tipo de rede, mas que possuam uma
interface RS-232C, ou ainda estaes de outro tipo de rede (por exemplo, Profibus) a P-NET.
O Controller programado em Process Pascal, uma verso modificada da linguagem Pascal
que suporta programao concorrente e primitivas de comunicao.
Diversos sistemas baseados em P-NET esto em operao na Europa. A exemplo do que
foi feito para outros sistemas, foi criada para a P-NET uma organizao de fabricantes e
usurios que do suporte ao produto, denominada "International P-NET User Organization".
3.5.5.13. SERCOS
A rede SERCOS (SErial Real-time COmmunication System) foi apresentada ao
mercado na feira de mquinas-ferramenta EMO de 1989. A idia inicial da rede SERCOS era
realizar via rede a conexo de servo-acionamentos a um CNC em mquinas operatrizes,
implementando desta forma malhas fechadas de controle.

270

Uma vez que no interior de uma mquina-ferramenta existem campos eletromagnticos


fortes, gerados principalmente pelos acionamentos de corrente alternada com comando
tiristorizado, foi necessrio definir um sistema de comunicao pouco sensvel a perturbaes
eletromagnticas. Para tal, foi proposta uma rede com topologia em anel utilizando como
meio fsico a fibra tica, como ilustrado na figura 5.13.
Acionamentos
CNC

Figura 5.13 - Anel SERCOS


O sistema tem uma estrutura com comando centralizado tipo mestre/escravos, onde o
CNC exerce o papel de estao mestre e os servo-acionamentos o papel de estaes escravas.
Como a fibra tica suporta elevadas taxas de transmisso e os quadros SERCOS so
pequenos, podem ser executados ciclos de varredura de todos os escravos em tempos
ajustveis de 62s, 125s, 250s, 500s, 1 ms ou mltiplos de 1 ms at o limite de 65 ms,
permitindo assim implementar tempo de amostragem diferentes para as malhas de controle.
Vale lembrar que no adianta configurar um tempo de varredura menor que aquele que o CNC
capaz de realizar.
SERCOS permite a interligao de at 254 escravos em um anel. O comprimento do
cabo de no mximo 40 metros para fibra tica plstica e de at 1000 metros para fibra tica
de vidro.
Nas aplicaes de controle de mquinas, usualmente o CNC executa o controle de
posio enquanto o controle de velocidade e de corrente executado no prprio acionamento.

271

Sendo assim, a rede usada principalmente para enviar valores de referncia de velocidade do
CNC aos acionamentos e receber valores atualizados dos mesmos.
Na camada de enlace, SERCOS faz distino entre dois tipos de dados:

Dados cclicos, com caractersticas de tempo real, usados para controle em malha
fechada;
Dados de servio, usados para configurao, envio de parmetros, etc.

A arquitetura da rede diferente para cada um dos dois tipos de dados acima referidos.
Para dados de servio usada uma pilha com 3 camadas (fsica, enlace e aplicao), como
usual nas redes tipo fieldbus. Para os dados cclicos ainda includa uma camada de
sincronizao abaixo da de aplicao, cuja funo bsica realizar a sincronizao dos timers
de todas as estaes, de modo a permitir a aquisio de dados em instantes de tempo idnticos
em todas as estaes e a aplicao de novos valores de referncia para as malhas de controle
tambm de forma sincronizada. A subcamada LLC usa um servio sem conexo e sem
reconhecimento, de forma que quadros errados no so retransmitidos.
A camada de aplicao nica para ambos os tipos de dados e composta de servios
tipo leitura e escrita de variveis remotas (READ/WRITE).
SERCOS vem sendo utilizada tambm para interligar dispositivos em outras aplicaes
alm das mquinas-ferramenta. Entre as aplicaes mais usuais esto o controle de eixos de
robs industriais e conexo de sensores e atuadores binrios.
3.5.5.14. MODBUS
O protocolo MODBUS foi criado em 1978 pela Modicon (hoje Schneider Automation).
O protocolo visava originalmente implementar uma maneira simples de transferir dados entre controladores,
sensores e atuadores usando uma porta RS232 (serial convencional).
Aps sua criao, tornou-se padro industrial de-facto adotado por muitas empresas com uma segunda opo
para intercmbio de dados.
MODBUS um protocolo proprietrio da Schneider Automation. No entanto, a Schneider Automation optou
por uma licena sem royalties e as especificaes do protocolo esto disponveis em seu web-site gratuitamente.
Home-Page: http://modbus.org/

MODBUS uma estrutura de troca de mensagens usada para comunicao tipo mestre/escravos entre
dispositivos inteligentes.
Como o protocolo MODBUS somente uma estrutura de troca de mensagens, ele independente da camada
fsica subjacente.

272

MODBUS usualmente implementado usando RS232, RS422, ou RS485 sobre uma variedade de meios de
transmisso (fibra, rdio, celular, etc.).
Algumas variantes do protocolo original foram criadas posteriormente.
MODBUS PLUS: um protocolo de maior velocidade baseado em token passing e que usa a estrutura de
mensagens do MODBUS original. Os chips MODBUS PLUS so disponibilizados pela Schneider Automation
atravs de um programa chamado MODCONNECT.

MODBUS TCP/IP: usa TCP/IP e Ethernet para transportar a estrutura de mensagens MODBUS.
MODBUS/TCP requer uma licena, mas as especificaes so de acesso pblico e no h royalties. MODBUS
TCP est disponvel na pgina: http://www.modicon.com/openmbus.

MODBUS suporta dois modos de transmisso:

ASCII: cada byte da mensagem enviado como 2 caracteres ASCII.

RTU: cada byte da mensagem enviado como 2 caracteres hexadecimais de 4 bits.

ADDRESS

FUNCTION

DATA

CHECKSUM

Address: contm 2 caracteres ASCII ou 8 bits RTU. Endereos vlidos de escravos esto na faixa de 0 a 247
decimal. Endereos individuais esto na faixa de 1 a 247 (0 para broadcasting).
Function: contm 2 caracteres (ASCII) ou 8 bits (RTU). Cdigos vlidos vo de 1 a 255 decimal. Este campo
indica ao escravo que ao este deve executar. Exemplos: ler grupo de entradas; ler dados de um grupo de
registradores; ler status do escravo para diagnstico; escrever em um grupo de sadas ou registros; permitir
carregamento, gravao ou verificao do programa no escravo. Quando o escravo responde ao mestre, este
campo indica se a operao ocorreu sem erros (ecoa dado recebido) ou se uma resposta de exceo (ecoa dado
recebido com Msb em 1).

Data: usa 2 dgitos hexadecimais na faixa de 00 a FFh. Estes podem ser 2 caracteres ASCII ou um RTU.
Contm dados adicionais para uso do escravo (endereos de portas de I/O ou registros, quantidades de itens a
manipular, etc.). Se no houverem erros, este campo retorna o valor solicitado ao escravo. Se houver erro, este
campo retorna um cdigo de exceo. Este campo pode ser vazio.
Checksum: so usados 2 tipos de checagem de erros (LRC ou CRC), dependendo do modo de transmisso
(ASCII ou RTU)
Mais detalhes: MODBUS protocol guide na pgina http://www.modicon.com/techpubs/toc7.html.

3.5.5.15. REDES IBM


273

A IBM oferece uma srie de solues para a interconexo de equipamentos de cho de


fbrica, incluindo:
redes baseadas em uma arquitetura prpria denominada SNA (Systems Network
Architecture), anterior ao modelo RM-OSI da ISO. A arquitetura SNA mostrada na
figura 5.14;
redes compatveis com o modelo OSI, tais como MAP;
rede Token-Ring (IEEE 802.5);
rede Token-Bus (IEEE 802.4);
diversos softwares para rede (NetBios, PC-LAN, LAN-Server, etc).
Aplicao

Usurio

Apresentao

servios NAU
Fluxo Dados

Sesso
Transporte

Controle
Transmisso

Rede

Controle
Caminho

Enlace

Controle
Enlace

Fsica

Ligao
Fsica

Figura 5.14 - Arquitetura SNA comparada com RM-OSI

3.5.6. Concluso e discusses


Nos ltimos anos, uma grande variedade de produtos para redes de comunicao foi
introduzida no mercado, tornando muito difcil manter uma viso geral atualizada do que
oferecido no setor. Os primeiros produtos comerciais na rea de redes foram desenvolvidos
para aplicaes em automao de escritrio.
H atualmente um consenso sobre a necessidade de definir sistemas de comunicao
padronizados, que permitam a interoperabilidade e eventualmente at e intercambiabilidade de
equipamentos de diferentes fabricantes.

274

BIBLIOGRAFIA
[1]Tanenbaum, A. S. : "Computer Networks". 3rd Edition, Prentice-Hall, 1996.
[1]Halsall, F. : "Data Communications, Computer Networks and OSI". Addison Wesley,
1988.
[2]Soares, L.F.G.; Lemos, G.; Colcher, S. : "Redes de Computadores: das LANs, MANs e
WANs s redes ATM". Editora Campus, 2a. Edio, 1995.
[3]Electronics Industries Association (EIA) : "EIA-RS511 - Manufacturing Message
Specification". Draft 6, May 1987.
[4]Glass, B. : "Understanding NetBios". Byte, pp. 301-306, January 1989.
[5]Graube, M. : "The Carrier-Band Network and Mini-MAP: Low Cost Solution". Control
Engineering, pp. 30-31, October 1986.
[6]IEEE : "Project 802, Local Networks Standards". IEEE, New York, 1983.
[7]IBM : "MAP - Manufacturing Automation Protocol". IBM, 1990.
[8]ISO : "Information Processing Systems - Open Systems Interconection - Basic Reference
Model". ISO / TC97 / SC16, 1983.
[9]Leite, J. R. E. : "O Modelo de Referencia para a Interconexo de Sistemas Abertos".
Telebrs, pp. 11-15, Junho 1985.
[10]MAP/TOP : "Manufacturing Automation Protocol / Technical Office Protocol, Version
3.0". Users Group of SME, July 1987.
[11]Mendes, M. J. : "Comunicao Fabril e o Projeto MAP/TOP". Editora Kapeluz,
Argentina, 1989.
[12]Mohr, H. B. : "Avaliao de Desempenho de Rede PDV em Ambiente Industrial". Tese de
Doutorado, UFSC / RWTH-Aachen, Julho 1989.
[13]Pimentel, J. R. : "Communication Networks for Manufacturing". Prentice-Hall, New
Jersey, USA, 1990.
[14]Shoch, J. F. : "Evolution of the Ethernet local computer network". IEEE Computer, pp.
10-27, August 1982.
[15]Zimmerman, H. : "OSI Reference Model - The ISO Model of Architecture for Open
Systems Interconnection". IEEE trans. Commun., Vol. 28, pp. 425-432, April 1980.
[16]Wood, G. G. : "International Standards Emerging for Fieldbus". Control Engineering,
Vol. 2, pp. 22-25, October 1988.
[17]Stemmer, M. R. : "Einsatzmoeglichkeiten digitaler Feldbussysteme in geschlossenen,
maschineninternen Regelkreisen". Tese de Doutorado, RWTH-Aachen, Alemanha, Julho
1991.
[18]Arvind, K.; Ramamritham, K.; Stankovic, J.A. : A Local Area Network Architecture for
Communication in Distributed Real-Time Systems. The Journal of Real-Time Systems,
pp. 115-147, Kluwer Academic Publishers, 1991.

275

[19]Le Lann, G.; Rivierre, N. : Real-time Communications over Broadcast Networks: the
CSMA-DCR and the DOD-CSMA-CD Protocols. Rapport de Recherche, INRIA, Frana,
1993.
[20]Kurose, J.F.; Schwartz, M.; Yemini, Y. : Multiple-Access Protocols and TimeConstrainde Communication. Computing Surveys 16(1), pp. 43-70, March 1984.
[21]Tindell, K.; Burns, A.; Wellings A.J. : Analysis of Hard Real-Time Communications.
The Journal of Real-Time Systems, nr. 9, pp. 147-171, Kluwer Academic Publishers, 1995.
[22]Le Lann, G. : On Real-Time and Non Real-Time Distributed Computing. Workshop on
Distributed Algorithms, Springer Verlag, Sep. 1995.
[23]Diversos autores : "Feldbus". Edio especial da revista "Elektronik Plus", Franzis-Verlag
GmbH, Mnchen, Alemanha, 1992.
[24]Echolon : "LonTalk protocol specification". Version 3.0, USA, 1994.

276

Potrebbero piacerti anche