Você está na página 1de 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)

(b)

(c)

(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 4

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 A
Camada 7 Protocolo da camada 7

Sistema B
Camada 7
Interface camadas 6/7 Interface camadas 5/6 Interface camadas 4/5 Interface camadas 3/4 Interface camadas 2/3 Interface camadas 1/2

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 6

Protocolo da camada 6

Camada 6

Camada 5

Protocolo da camada 5

Camada 5

Camada 4

Protocolo da camada 4

Camada 4

Camada 3

Protocolo da camada 3

Camada 3

Camada 2

Protocolo da camada 2

Camada 2

Camada 1

Protocolo da camada 1

Camada 1

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

RECEPO protocolo da camada 7 protocolo da camada 6 protocolo da camada 5 protocolo da camada 4

m
interface 6/7

m
interface 6/7

M
interface 5/6

M
interface 5/6

H4 M1

H4 M2

H4 M1

H4 M2

H3 H4 M1

H3 H4 M2

protocolo da camada 3 protocolo da camada 2 H3 H4 M1 H3 H4 M2

H2 H3 H4 M1 T2 H2 H3 H4 M2 T2

H2 H3 H4 M1 T2 H2 H3 H4 M2 T2

SISTEMA FONTE

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 Protocolo de Aplicao Aplicao
APDU

Apresentao

Protocolo de Apresentao

Apresentao

PPDU

Sesso

Protocolo de Sesso

Sesso

SPDU

Transporte

Protocolo de Transporte SUB-REDE

Transporte

TPDU

Rede

Rede
protocolos internos da sub-rede

Rede

Rede

PACOTE

Enlace de Dados

Enlace de Dados

Enlace de Dados

Enlace de Dados

QUADRO

Fsica

Fsica

Fsica

Fsica

BIT

IMP
SISTEMA A

IMP
SISTEMA B

IMP - Interface Message Processor

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 emissor DADOS protocolo de aplicao protocolo de apresentao protocolo de sesso protocolo de transporte protocolo de NH rede DH TH SH PH processo receptor

Aplicao Apresentao Sesso Transporte Rede Enlace Fsica

AH

DADOS

Aplicao Apresentao Sesso Transporte Rede Enlace Fsica

DADOS DADOS DADOS

DADOS DADOS BITS

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 CAMADA N+1 ICI SDU SAP
cabealho as entidades da camada N trocam N-PDUs via protocolos N

interface

CAMADA N

ICI

SDU

SDU 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 Exemplo sequenciamento de pginas

25

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 sem conexo sem conexo sem conexo

transferncia de arquivos voz digitalizada correio eletrnico correio eletrnico registrado consulta a bases de dados

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
CAMADA N+1

SISTEMA B
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 R

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

fonte de luz

S ilcio

31

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 DESTINATRIO DA INFORMAO BINRIA

TRANSMISSOR

SUPORTE DE TRANSMISSO

RECEPTOR

(a)

RUDO
FONTE OU DESTINATRIO INFORMAO BINRIA TRANSMISSOR SUPORTE DE TRANSMISSO RECEPTOR FONTE OU DESTINATRIO INFORMAO BINRIA

TRANSMISSOR RECEPTOR

(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 1 0 0 1

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 (a) -12V tempo bit +12V (b) -12V 1 (c) 1 1 0 0 1 trem de sinais Lgico 0 Lgico 1

Figura 2.3.8 - Codificao NRZ (Manchester): (a) Sinal lgico 1; (b) Sinal lgico 0; (c) exemplo: seqncia 111001. Uma terceira tcnica a chamada NRZI (Non Return to Zero Inverted), tambm conhecida como Manchester Diferencial ou Manchester Modificada. Nesta tcnica, a 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 0 0 1 1 1 0 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) (DCE)

43

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)

7 Equip. A

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

quadro3 (8 car.) contador de caracteres

erro

(b)

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

DLE ETX

(b)

DLE STX

DLE DLE

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 H a m m i n g Cdigo ASCII 1001000 1100001 1101101 1101101 1101001 1101110 1100111 0100000 56 Cdigo de Hamming 00110010000 10111001001 11101010101 11101010101 01101011001 01101010110 11111001111 10011000000

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 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0

1 1 0

1 1 0 0 0

1 0 1 0 1 1 0

0 0 0 0 0 1 1 1 0 58

0 1 1

0 0

0 1 1 0

0 0 1 1 1

0 1 0 1 1

0 0 0 0 0

0 1 1 0

0 1

0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 Para o exemplo acima, o resto R(x)= 0110 a prpria FCS. O Frame a transmitir 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 dados B

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

A
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

A
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

A
dado1

reconhecimento dado1 dado2 reconhecimento


perda

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+2 N+1 N+1 N+3 N+2 N+1 N+4 N+3 N+2 N+4 N+3

N E
I(N)
I(N)

N
I(N+1)

N
I(N+2)

I(N+3)
I(N+3)

I(N+4)
I(N+4)

I(N+1)

I(N+2)

A(N)

A(N+1)

A(N+2)

A(N+3)

tempo

I(N)

I(N+1)

I(N+2)

I(N+3)

I(N+4)

N
lista de recepo

N
N+1

N
N+1 N+1

N
N+1 N+1 N+1

N
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 endereo

8 bits controle

*** informao

16 bits FCS

8 bits flag

Figura 2.3.3.15 - Estrutura de um quadro HDLC.

bits informao superviso no numerado

1 0 1 1

3 N(s)

5 P/F

7 N(r) N(r)

0 1

S M

S M

P/F P/F M

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 1 S 0 0 1 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 FSICA


SAP

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 NSAPs

usurio 2

usurio 1 N SAPs

usurio 2

usurio 1 N SAPs

usurio 2

cam ada R ede

cam ada R ede

cam ada R ede

(a)

(b)

(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 IDP IDI DSP

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 2 7 3 2 1 4

C
3

B (2,A) E ( ,-)

C ( ,-)

A
6

F
2 2

F ( ,-)

D ( ,-)

G (a)
B (2,A) E (4,B) A

G (6,A)

H ( ,-)

(b)
C (9,B) B (2,A) E (4,B) F ( ,-) D ( ,-) A F (6,E) D ( ,-) C (9,B)

G (6,A)

H ( ,-)

G (5,E)

H ( ,-)

(c)
B (2,A) E (4,B) A F (6,E) D ( ,-) A C (9,B) B (2,A)

(d)
C (9,B)

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

Final = D (10,H)
G (5,E) H (9,G) G (5,E) H (8,F)

(e)

(f)

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 A A H A A H H I K K

0,63 0,46 0,34 0,50 0,40 0,34 0,46 0,63 0,65

I H I A I H A K A H H (b)

0,21 0,31 0,33 0,25 0,40 0,33 0,31 0,21 0,22

H I H I H I K A H A A

0,16 0,23 0,33 0,25 0,20 0,33 0,23 0,16 0,13

B C D E

F G H I

0,67 0,42

J
(a)

K L

0,22
0,42

0,11
0,16

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


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

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

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

J 8 12 10 0 6 -

(a) subrede

(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
(D ata T erm in a l E q u ip m e n t)

Protocolo X.25 PLP

DTE

DCE
(D ata C ircu itte rm in atin g E q u ip m e n t)

DCE

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 CALL

interface DTE-DCE

DTE remoto

CALL

etapa de chamada
CALL DADOS

CALL

DADOS

etapa de transf. de dados


DADOS CLEAR

DADOS

troca de um nmero arbitrrio de pacotes de dados

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

1 CANAL TIPO

GRUPO

CM TAM. END. RESP.

TAM. END. INIC.

ENDEREO INICIANTE ENDEREO RESPONDEDOR 0 0 TAM. FACILIDADES

FACILIDADES

DADOS USURIO

Figura 2.3.31 - Pacote CALL REQUEST do X.25.


8 bits

MD. CANAL

GRUPO

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

1 CANAL TIPO

GRUPO

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 A 0 Sub-rede Host

Endereos 1.0.0.0 a 127 255 25 Host 128.0.0.0 a 191 255 25 Host 192.0.0.0 a 223 255 25 224.0.0.0 a 239 255 25 240.0.0.0 a 247 255 25

10 Sub-rede

110

Sub-rede

1110

Endereo para Multicast

11110

Reservado para uso futuro 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 confirm

T_CONNECT indication T_CONNECT response

T_CONNECT request

T_CONNECT request T_CONNECT indication T_DISCONNECT request

T_DISCONNECT indication

T_DISCONNECT indication

(a)

(b)

(c)

T_DISCONNECT request

T_DISCONNECT request T_DISCONNECT indication

T_DISCONNECT request T_DISCONNECT indication

T_DISCONNECT indication

(d)

(e)

(f)

T_DATA request T_DATA indication

T_EXPEDITED_DATA request

T_EXPEDITED_DATA indication

(g)

(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 TSAP 6 4 3 2 1 NSAP processo B TSAP122 NSAP 4 3 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) CC (y, x) CC (y,x) D (x,y) D (x,y) CC (y,x) REJ (y) REJ (y) CR (x) => duplicata CC (y, x)

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

(b)
CR (x) => duplicata

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 DC + t DC ACK fim con. ACK fim con.

DR + t DR DC + t DC 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

4 3 2 1

TSAPs NSAPs LSAPs

IMP (a)

IMP (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 1 1110 CDT 1101 CDT 1000 0000 1100 0000 1111 0000 0001 0000 0110 CDT 1110 CDT 0101 CDT 0111 0000 2 0 0 Ref. Destino Ref. Destino Ref. Destino Ref. Destino Ref. Destino Ref. Destino Ref. Destino Ref. Destino Ref. Destino 2 Ref. Origem Ref. Origem Ref. Origem Ref. Origem TPDU N TPDU N TPDU esperada TPDU esperada TPDU esperada Causa Rejeio P. Var 1 Classe Classe Razo P. Var DADOS P. Var P. Var P. Var DADOS P. Var DADOS P. Var DADOS P. Var DADOS

CR CC DR DC DT ED AK EA RJ ER

LI LI LI LI LI LI LI LI LI LI

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 TSAP TRANSPORTE

6
SPDUs

APRESENTAO
SSAP ENTIDADE DE SESSO TSAP TRANSPORTE

servios oferecidos camada de sesso

5 4 1a3
protocolo de sesso

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 T ra n s p o rte Sesso T ra n s p o rte Sesso

T ra n s p o rte

(a )

(b )

(c )

Figura 2.3.44 - Diferentes relaes entre conexo de Sesso e de Transporte: (a) correspondncia 1 a 1; (b)vrias conexes de Transporte para uma nica sesso; (c) uma conexo de Transporte para vrias sesses . 2.3.6.2. Sesso x Transporte: similaridades e diferenas

107

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 T_DISCONNECT indication perda dado S_RELEASE indication S_RELEASE response

S_RELEASE request S_DATA indication S_RELEASE confirm

T_DISCONNECT request

(a)

(b)

Figura 2.3.45 - (a) liberao abrupta; (b) liberao negociada. 2.3.6.3. A gesto do dilogo

Segundo o modelo OSI, todas as conexes estabelecidas so, 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 request

S_DATA indication

(a)

(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 arquivo 2 incio atividade ATIVIDADE arquivo 1 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.
1 2 3 4 5 6

transf. arquivo 1 parte 1 incio atividade 1 2 3

consulta anurio 4 5 6

transf. arquivo 2 parte fim atividade 2 retomada atividade 1 fim atividade 1

interrupo atividade 1 incio atividade 2

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 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 R I Rs C Funo ORIENTADO CONEXO estabelecimento de conexo liberao negociada de conexo liberao abrupta (usurio) liberao abrupta (fornecedor) 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

DADOS

(b)

PI

LI

PV

(c)

PGI

LI

PI

LI

PV

(d)

PGI

LI

PI

LI

PV

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 funo 1
sint. abs. C

user 1 funo 2
sint. abs. FORTRAN

funo 1
sint. abs. C

funo 2
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 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

123

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 BIT STRING OCTET STRING ANY NULL Significado inteiro de valor arbitrrio verdadeiro / falso lista de bits lista de bytes 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 SET SET OF CHOICE Significado seqncia de elementos de diversos tipos seqncia de elementos de um mesmo tipo 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 criptograma

Processo de decodificao

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) chaves possveis. Mesmo que o espio conhea a tcnica, como ele no conhece a 4.10 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 4 T E M P O C E 3 R R I A N O S 6 A I L R T L C 2 N R H A A L A 1 S U A A D O R 5 F M O C E R
Texto codificado SUAADONRHAALRRIANOTEMPOC FMOCERAILRTL Texto original: TRANSFERIR UM MILHAO PARA A CONTA DE COLLOR

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 AC ACA RS RSA 2.3.7.7. 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 Pedido de alterao de contexto Aceitao da alterao de contexto Pedido de resincronizao Aceitao da resincronizao Exemplos de camadas de apresentao R I Rs C

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 ASE2 CF ASO A

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 cam ada 7 SASE 1 AE SASE 2 CASE acesso cam ada 6 SASE 3 AP UE

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 C-BEGIN C-PREPARE C-READY C-REFUSE C-COMMIT C-ROLLBACK C_RESTART emitida por significado Cliente Cliente Servidor Servidor Cliente Cliente Ambos Inicio de ao atmica Fim pedido de servio servidor pronto para ao servidor no pronto p/ao Submeter ao Cancelar ao 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 VT-ASSOCIATE VT-RELEASE VT-U-ABORT Operao estabelece conexo entre terminais ou entre um terminal e um processo de aplicao (AP) via ACSE 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 VT-NEG-OFFER VT-NEG-ACCEPT VT-NEG-REJECT VT-DATA VT-DELIVER VT-ACK-RECEIPT VT-GIVE-TOKEN VT-REQUEST-TOKEN termina negociao de parmetros com parceiro convida parceiro a sugerir parmetros de negociao oferece uma sugesto de parmetros ao parceiro aceita parmetros sugeridos pelo parceiro rejeita parmetros sugeridos pelo parceiro transfere dados estruturados de forma sequenciada possibilita controlar dados entregues ao parceiro por meio de uma marca de entrega reconhece recebimento de marca de entrega passa direito de envio da dados ao parceiro (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 M-LOGON Operao 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
ARQUIVO REAL A

Sistema Real B
ARQUIVO REAL B

Ambiente OSI
ARQUIVO VIRTUAL A

protocolo FTAM
ARQUIVO VIRTUAL C

ARQUIVO VIRTUAL B

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
FADU DU NVEL 0

FADU DU

E
DU NVEL 1

DU

DU

D
DU

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 REGIME: SELEO ARQUIVO F_SELECT F_CREATE F_DESELECT F_DELETE F_READ_ATTRIB F_CHANGE_ATTRIB REGIME: ARQUIVO F_OPEN F_CLOSE F_LOCATE F_ERASE ACESSO 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) 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 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 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

REGIME: TRANSFERNCIA DE DADOS F_READ F_WRITE F_DATA F_DATA_END F_TRANSFER_END

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 ACSE (Association Control Service Element) RTSE (Reliable Transfer Service Element) ROSE (Remote Operations Service Element) Norma ISO ISO 8649 / 8650 ISO 9066 ISO 9072 Recomendao CCITT X.217 / X.227 X.218 / X.228 X.219 / X.229 X.400 / X.420 X.500 / X.521

CCR (Commitment, Concurrency and Recovery) ISO 9804 / 9805 MHS (Message Handling Services) ISO 10021 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) ISO 8831 / 8832 ISO 10026

MMS (Manufacturing Message Services) ISO 9506 CMIP (Common Management Information ISO 9505 / 9596 Protocol) RDA (Remote Database Access) ISO DIS 9579

X.710 / X.711

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
relay

4a7 3c' 3b 3b' 3a' 3a 2 2 1 1 3c' 3b' 3a' 2 1

3c 3b 3a 2 1

subrede 1

subrede 2

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 WAN

LAN

LAN

WAN

LAN-LAN LAN-WAN

WAN-WAN LAN-WAN-LAN

BRIDGE

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 Camada 6 Camada 5 Camada 4 Camada 3 Camada 2 Camada 1

SUBREDE A

SUBREDE B

Camada 7 Camada 6 Camada 5 Camada 4 Camada 3

Repeater Camada 1 Camada 1

Camada 2 Camada 1

SUBREDE A

Repeater

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 Camada 7 Camada 6 Camada 5 Camada 4 Camada 3 Camada 2 Camada 1 PONTE Camada 2 Camada 1 Camada 2 Camada 1 SUBREDE B Camada 7 Camada 6 Camada 5 Camada 4 Camada 3 Camada 2 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

Camada 7 Camada 6 Camada 5 Camada 4 Camada 3 Camada 2 Camada 1

SUBREDE A

SUBREDE B

Camada 7 Camada 6 Camada 5

ROTEADOR Camada 3 Camada 2 Camada 1 Camada 3 Camada 2 Camada 1

Camada 4 Camada 3 Camada 2 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 TR A D U TOR

R ED E SN A

Aplicao Apresentao Sesso Transporte R ede Enlace Fsica

A plicao A presentao Sesso Transp orte R ede Enlace Fsica

U surio servios N A U Flu xo D ados C ontro le Transm isso C ontro le C aminho C ontrole Enlace L igao F sica

U surio servios N AU Fluxo D ados C ontrole Transm isso C ontrole C am inho C ontrole Enlace Ligao F sica

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
Administrao corporativa

Sistem a de Com unicao

Planejamento (Factory)

Gw

CAD, CAE, CAP, CAPP, CAQ, etc...

M AP, TOP

rea (Shop)

FM S

M AP-EPA Mini-MAP

M gU Clula (Cell)

FM C

Subsistema (Subsystem)

...
CLP CNC

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

Componente (Component)

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

Vida til e tamanho mdio dos dados

Tempo Ocioso entre transmisses

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 D L = 10 E nd. 01 M2 DL = 15 E n d. 0 2 M3 D L = 50 E nd . 03

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

M5 DL = 5 E nd. 05

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 Aplicativo

AP

AP

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
000 dados

N 1
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 2

ndice 3

ndice 5

ndice 12

ndice 14

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 [0,7] 2 [0,3] 3 [4,7] 6 [8,11] 10 [8,16] 9 [12,16] 13

4 [0,1]

5 [2,3]

7 [4,5]

8 [6,7]

11 [8,9]

12 [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 1C 2,3,5 W= 2,3 L=5 2C 2,3 W= L=2,3 3V 4C 2,3 W=2 L=3 5T 2 6T 3 7T 5 9V 8C 12,14,15 W= L=12,14,15 10 C 12,14,15 W= 12 L=14,15 11 T 12 12 C 14,15 W= 14 L=15 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.
SensibiliPar tranado (assncrono) dade perturbaes Par tranado (sncrono)

Cabo coaxial

Distncia Fibra tica Custos

Taxa de 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)

IEEE 802.12 DPA (MAC)

Banda Banda base larga (PHY) (PHY)

Banda larga (PHY)

Banda base (PHY)

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

7 P rembu o l

2 ou 6 Dest.

2 ou 6 F onte

0-1500 Dados

0-46 P ad

4 F CS

l i mi tador de i nci o d e q uadro

Compri mento dos d ados

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.

MAU

Conector de presso MDI

Cabo AUI

Placa de rede Conector AUI

Cabo coaxial grosso 50 Ohms

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

Placa de rede

Conector T BNC

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 Dest. 2 ou 6 Fonte 0-8182 Dados 4 FCS 1

controle quadro delimitador de incio Prembulo

delimitador de fim

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

2 ou 6 Fonte

ilimitado Dados

4 FCS

11

controle quadro (FC)

delimitador de fim (ED) status quadro (FS)

controle de acesso (AC) delimitador de incio (SD)

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.

RTS A B C D A B

CTS C D

Raio de alcance de B (a)

Raio de alcance de C (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

TOP ACSE FTAM VTS

MAP

MAP/EPA MMS FTAM ROS

Mini-MAP

Aplicao Apresentao Sesso Transporte Rede Enlace Fsica

ISO 8822 - ASN.1 ISO 8326 e 8327 VAZIO ISO 8072 e 8073 - Classe 4 ISO 8348 - Sem Conexo
LLC 802.2 tipo 1
MAC 802.3 CSMA/CD

LLC 802.2 tipo 1


MAC 802.4 Token bus

LLC 802.2 tipos 1 e 3 MAC 802.4

Banda Base 10 Mbps

Banda larga 10 Mbps

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
Aplicaes convencionais

EPA
Aplicaes com tempos de resposta

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

crticos

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

2 1

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

... ...
Funo EXECUTIVA

Estao Operador 1

...
Estao Operador N

PSAPS
Figura 3.4 - Estrutura geral de um VMD

212

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

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

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

Gesto de Jornal

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

* servios no confirmados

216

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

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

* servios no confirmados

217

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 Decentral / Multipoint

RS232C D A MUX . A D

...

RS 422 RS 485 Fieldbus

...

. . .
Proc. Proc. Proc. Proc. D A 4..20 mA 0..10 V Amplificador de potncia ... Cont. A D Amplificador de potncia Y Y X Sensor Atuador X X Atuador Inteligente Y D A ... A Cont. D Amplificador de potncia Proc. Proc.

Sample / Hold

0..10 V 4..20 mA

Adaptador / Amplificador Y X Sensor

Sensor inteligente

Y Y X X Sensor inteligente

Atuador Inteligente

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 Controlador Demodulador Componente Ethernet / IBM N CSMA/CD N Token-Ring Preo mdio U$ 2,5 / m U$ 5.000 U$ 1.500 Preo mdio U$ 500 - 1500 U$ 750 - 1500 Elemento Campo CLP Controle Rob PC Sensor/Atuador I/O Binria Preo mdio U$ 3.000 $20.000 U$ 2.000 U$ 50 a 1000 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 MIL 1553 industrial outros

ISA SP50

USA

IEC SC65C Norma em 199?

Pre-Norma em preparao

FIP

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

Norma nacional inicio 1988

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 I/O

Processador Mestre

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

FED

EB

FSS 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

FES

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 Atualizao cclica de dados Primitiva de servio L_PUT.req/cnf L_SENT.ind L_GET.req/cnf L_RECEIVED.ind L_PARAM.req/cnf L_MESSAGE_ACK.req/ ind/cnf L_MESSAGE.req/ind Comentrios atualiza dados sinaliza envio busca de dados sinaliza recepo requisita um dado com reconhecimento sem reconhecimento

Atualizao no peridica de dados Transmisso de mensagem com ACK Transmisso de mensagem sem ACK

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

Comentrios

227

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

A_READ.req/cnf A_READFAR.ind A_WRITE.req/cnf A_WRITEFAR.ind A_GETOBJECT_DESCRIPTION.req/ cnf A_READLIST.req/cnf A_WRITELIST.req/cnf A_SEND.ind A_RECEIVE.ind Tabela 4.3 - Servios MPS do FIP

l nomes de variveis, estruturas, status, valores escreve especificao, valor, status l especificao l e escreve atributos, valores sincronizao local e remota

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 SDN (Send Data with No Acknowledge) SDA (Send Data with Acknowledge) RDR (Request Data with Reply) CRDR (Cyclic Request Data with Reply) Primitiva de servio FDL_DATA FDL_DATA_ACK FDL_REPLY FDL_REPLY_UPDATE 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 FDL_DATA_REPLY FDL_REPLY_UPDATE Comentrios envio de dados sem reconhecimento envio de dados com reconhecimento requisio de dados com reconhecimento estao local requisita ciclicamente dados ao usurio remoto. estao local envia ciclicamente e requisita simultaneamente dados de resposta. estao local envia e requisita dados.

CSRD (Cyclic Send and Request Data)

SRD (Send and Request Data)

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 Acesso a Domnios

Servios de Invocao de Programas

Servios de Notificao de Eventos Servios de Leitura de Status Servios de Gerenciamento de Dicionrio de Objetos Servios de Gerenciamento de Contexto

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 STATUS UNSOLICITED_STATUS STATUS_IDENTIFY GET_OV PUT_OV INITIATE_PUT_OV TERMINATE_PUT_OV INITIATE REJECT ABORT

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 Token circulado Token delegado

LM

LM

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 3 Handshake lines

Linha DIO 1-8 DAV NRFD NDAC REN

Nome Data I/O Data Valid Not Ready For Data Not Data Accepted Remote Enable Interface Clear Service Request Endo or Identify Attention

IFC 5 Interface Management lines SRQ EOI ATN

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. ETHERNET CSMA/CD 10 Mbps 1024 Par tranado Fibra tica Cabo coaxial Star/Bus ARCNET Token-passing 2.5 Mbps 254 Par tranado Fibra tica Cabo coaxial Star/Bus TOKEN-RING Token-passing 4 ou 16 Mbps 255 Par tranado Cabo coaxial Ring

Acesso ao Meio Velocidade Nmero de ns Meio de transmisso Topologia

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 Apresentao Sesso Transporte Rede Enlace Fsica LLC MAC TCP (Transmission Control Protocol) IP (Internet protocol) LLC + Driver (ex.:UNIX) Controle de acesso ao meio (MAC) Meio Fsico SMTP (mail) Modelo Arquitetura TCP/IP

FTP

TELNET

...

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 Sesso Transporte

LAN-Manager

LAN-Manager Novell Netware PC-LAN

LAN-Manager PC-LAN Novell Netware

Novell Netware

LAN-Server

TCP/IP Rede Enlace Ethernet Fsica Token Ring

NETBIOS

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
Robo IPSO SP-50 Micrometro Laser

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 Create_Task Delete_Task Get_Function_ID RAC_Protect Read_IO Write_IO Update_IO Upload_Memory Download_Memory OR_IO AND_IO XOR_IO Status_Read Status_Write Funo de Acesso Funo de Comando X X X X X X X X X X X X X 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
Arbitration Field

Control Length Field

0 to 8 bytes Data

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 0 0 0 1 00000001 E xxxx 11 O F

N 2 Transmite: 0 N 2 perde arbitragem e pra transmisso! 10110111

No meio: 0 10110110100 0 0 0 1 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

Application Layer Data Link Layer

DeviceNet

Camada 2

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
- 0 a 6m

Multiport Tap

Abertos:

Droplines

Droplines

Daisy chaining: Distancias e velocidades:

256

Tap

Tap

Dropline

At 6 metros do Tap

Conector plug-in para dispositivo

Usar em painis de controle que agrupam dispositivos

Data Rate 125K 250K 500K

Barramento

Ramificaes Dist. TAP Cumulativo 156m 78m 36m

500m 250m 100m

26 x 6m 13 x 6m 6 x 6m

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

Slave 2

Slave 3

Slave 4

FCS M4 M3 M2 M1

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

Command-bit Start bit Figura 5.5 - Quadro do mestre ASI

Test bit Stop bit

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 120

Slave 31

I/O 1 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 Apresentao Sesso VAZIO Transporte Rede Enlace Fsica
LLC 802.2 tipo 3
MAC 802.4 Token bus

MMS

NM

OD

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 N

Router

Par tranado N N N N

Router

Rede eltrica N N N Router N

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 Temperatura E token Motor E M

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

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 Apresentao Sesso Transporte Rede Enlace Fsica Usurio servios NAU Fluxo Dados Controle Transmisso Controle Caminho Controle Enlace 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