Académique Documents
Professionnel Documents
Culture Documents
D DE EP PA AR RT TA AM ME EN NT TO O D DE E I I N NF FO OR RM M T TI IC CA A E E D DE E E ES ST TA AT T S ST TI IC CA A
C CU UR RS SO O D DE E P P S S- -G GR RA AD DU UA A O O E EM M C CI I N NC CI IA A D DA A C CO OM MP PU UT TA A O O
A AR RQ QU UI IT TE ET TU UR RA A D DE E R RE ED DE ES S
D DE E C CO OM MP PU UT TA AD DO OR RE ES S
P PR RO OF F. . V VI I T T R RI I O O B BR RU UN NO O M MA AZ ZZ ZO OL LA A
m ma az zz zo ol l a a@ @i in nf f. .u uf fs sc c. .b br r
M Ma ai io o / / 2 20 00 00 0
VITRIO BRUNO MAZZOLA obteve o ttulo de Engenheiro Eletricista pela Universidade
Federal de Santa Catarina (UFSC) em 1981 e o ttulo de Mestre em Engenharia Eltrica pela
mesma instituio em 1985. Em 1991, obteve o diploma de Doutor em Informtica Industrial
pela Universit Paul-Sabatier em Toulouse (Frana). professor da UFSC desde 1985,
tendo atuado por mais de 10 anos junto ao Departamento de Engenharia Eltrica, tendo
desenvolvido suas atividades de pesquisa no Laboratrio de Controle e Microinformtica
(LCMI). Atualmente, ocupa o cargo de Professor Titular da UFSC, estando lotado no
Departamento de Informtica e de Estatstica (INE), onde entre outras atividades, atua como
Coordenador de Pesquisas do INE. Com relao participao junto a sociedades
cientficas, foi Diretor-Secretrio da Sociedade Brasileira de Automtica entre 1993 e 1995 e
ocupou o cargo de Diretor-Regional Sul e de membro do Conselho Tcnico-Administrativo
desta mesma Sociedade no binio 1996-1998. Suas reas de atuao so, prioritariamente,
Redes de Computadores e Engenharia de Software.
Endereo para contato:
Prof. Vitrio Bruno Mazzola
Departamento de Informtica e de Estatstica
Universidade Federal de Santa Catarina
Campus Universitrio Trindade
88040-900 Florianpolis SC
Tel.: (048) 331-9498 / 9971-3975
Fax: (048) 331-9566
E-mail: mazzola@inf.ufsc.br
http://www.inf.ufsc.br/~mazzola
i
S SUMRI O UMRI O
CAPTULO 1 INTRODUO S REDES DE COMUNICAO
1. Histrico das Redes de Comunicao.................................................................1.1
2. Importncia das Redes de Comunicao............................................................1.2
3. Extenso e Topologia............................................................................................1.2
4. Aspectos Arquiteturais ..........................................................................................1.4
5. Tecnologias de Transmisso de Dados...............................................................1.9
CAPTULO 2 O MODELO DE REFERNCIA OSI
1. Introduo..............................................................................................................2.1
2. Fundamentos e Arquitetura...................................................................................2.1
3. Servios e Protocolos...........................................................................................2.3
4. A Arquitetura OSI e as Funes das Camadas ...................................................2.4
5. A Comunicao no OSI ........................................................................................2.7
6. Os Conceitos do Modelo OSI ...............................................................................2.7
7. As Primitivas de Servio.....................................................................................2.10
CAPTULO 3 AS SETE CAMADAS DO MODELO OSI
1. Introduo..............................................................................................................3.1
2. A Camada Fsica..................................................................................................3.1
3. A Camada de Enlace de Dados ...........................................................................3.5
4. A Camada de Rede.............................................................................................3.10
5. A Camada de Transporte....................................................................................3.16
6. A Camada de Sesso.........................................................................................3.21
7. A Camada de Apresentao...............................................................................3.28
8. A Camada de Aplicao......................................................................................3.36
ARQUITETURA DE REDES DE COMPUTADORES SUMRIO PROF. VITRIO BRUNO MAZZOLA
ii
CAPTULO 4 AS REDES LOCAIS
1. Introduo..............................................................................................................4.1
2. Classificao das Redes de Computadores........................................................4.1
3. Parmetros de Comparao................................................................................4.2
4. Caractersticas das Redes Locais .......................................................................4.3
5. Histrico................................................................................................................4.4
6. Definies Bsicas ...............................................................................................4.4
7. RM-OSI e as Redes Locais ..................................................................................4.5
8. Os Sistemas Operacionais de Rede....................................................................4.6
9. O Padro IEEE 802...............................................................................................4.7
10. Ethernet 802.3.....................................................................................................4.10
11. A Rede Local Ethernet ........................................................................................4.12
12. Configurao da Ethernet ...................................................................................4.15
13. Fast Ethernet.......................................................................................................4.15
14. Token Ring e IEEE 802.5....................................................................................4.16
15. Cabeamento Estruturado....................................................................................4.18
CAPTULO 5 REDES LOCAIS INDUSTRIAIS
1. Introduo..............................................................................................................5.1
2. Nveis Hierrquicos da Integrao Fabril ..............................................................5.1
3. As Redes na Empresa..........................................................................................5.2
4. Aspectos da Comunicao em Ambiente Industrial.............................................5.2
5. Caractersticas Bsicas das Redes Industriais ...................................................5.4
6. Projetos de Padronizao de Redes Industriais ..................................................5.6
7. Projeto MAP...........................................................................................................5.7
8. Redes Fieldbus ...................................................................................................5.16
CAPTULO 6 INTERCONEXO DE REDES
1. Introduo..............................................................................................................6.1
2. Aspectos da Conectividade ..................................................................................6.2
3. A Interconexo segundo o Modelo OSI.................................................................6.3
4. As Diferentes Possibilidades de Interconexo .....................................................6.4
5. As Pontes..............................................................................................................6.4
6. Os Roteadores......................................................................................................6.6
7. As Passarelas.......................................................................................................6.8
ARQUITETURA DE REDES DE COMPUTADORES SUMRIO PROF. VITRIO BRUNO MAZZOLA
iii
CAPTULO 7 ENGENHARIA DE PROTOCOLOS
1. Introduo..............................................................................................................7.1
2. As Etapas de Concepo dos Protocolos de Comunicao...............................7.1
3. Especificao de Protocolos de Comunicao ...................................................7.2
4. A Validao de Protocolos de Comunicao .....................................................7.11
5. A Implementao dos Protocolos de Comunicao..........................................7.19
6. O Teste de Protocolos de Comunicao...........................................................7.19
7. Concluso.......................................................................................................... 7.20
CAPTULO 8 REDES DE PETRI
1. Introduo........................................................................................................... 8.1
2. Redes de Petri Definio Bsica................................................................... 8.1
3. Propriedades das Redes de Petri ...................................................................... 8.6
4. Representao de Dados e de Aspectos Temporais...................................... 8.12
5. Redes de Petri Coloridas ................................................................................. 8.15
6. Redes de Petri Predicados-Transies........................................................... 8.18
7. Redes de Petri Temporizadas ......................................................................... 8.21
8. Redes de Petri Temporais ............................................................................... 8.22
9. Concluso......................................................................................................... 8.24
CAPTULO 9 A TCNICA ESTELLE
1. Introduo..............................................................................................................9.1
2. As Tcnicas de Descrio Formal Padronizadas................................................9.1
3. A Tcnica de Descrio Formal Estelle...............................................................9.2
4. Os Trabalhos Realizados em torno de Estelle...................................................9.18
CAPTULO 10 ESTADO DA ARTE EM REDES
1. Introduo............................................................................................................10.1
2. A Rede Digital de Servios Integrados - ISDN....................................................10.1
3. A Rede FDDI.......................................................................................................10.8
4. A Pesquisa em Redes de Comunicao - Estado da Arte................................10.9
BIBLIOGRAFIA............................................................................................................... B.1
1.1
Captulo 1 Captulo 1
A AS S R REDES DE EDES DE C COMPUTADORES OMPUTADORES
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,
num tamanho mais reduzido e num preo cada vez mais acessvel a um maior nmero de
pessoas.
Os microprocessadores existentes hoje em dia e que ocupam o 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 onde 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 processamento 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 tele-impressoras
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 clculo e
de armazenamento nas unidades central o que nem sempre era vivel ou possvel, dado que
os computadores do tipo mainframes 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 a nvel de uma empresa um grande nmero de usurios operavam sobre
conjuntos comuns de 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. Este novo tipo de aplicaes exigia 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
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.2
das necessidades de processamento das aplicaes. Alm disso, a modularidade natural
das redes de computadores era tal que uma falha num minicomputador (ou de comunicao
da rede) tinha um efeito bastante limitado em relao ao processamento global.
Atualmente, as vantagens dos sistemas distribudos e interconectados so 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. 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 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.
3. EXTENSO E TOPOLOGIA
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, fazer objeto de uma classificao. No que diz respeito ao
exemplo dos microcomputadores, a rede classificada como sendo uma Rede Local (ou
LAN - Local rea Network), caracterizada particularmente por uma pequena extenso,
limitando-se normalmente interconexo de computadores localizados numa mesma sala,
num mesmo prdio ou num campus.
No exemplo da empresa possuindo diversas fbricas, a rede utilizada permitiria
conectar computadores localizados em diferentes prdios numa mesma cidade ou mesmo
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.3
em cidades distantes de uma dada regio. Esta caracteriza uma Rede de Longa Distncia
ou Rede Geograficamente Distribuda (ou WAN - Wide rea Network).
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), 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 por store and forward ou
comutao de pacotes. A maior parte das redes de longa distncia so 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 1.1
apresenta as diferentes topologias possveis nas redes ponto-a-ponto.
Uma outra classe de redes, as redes de difuso, so caracterizadas 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; neste caso, todas as estaes vo tratar a mensagem recebida.
Figura 1.1 - Topologias ponto-a-ponto: estrela, anel, malha regular, malha irregular e rvore.
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.4
Pode-se ainda especificar uma mensagem de modo que esta seja enviada a um
subgrupo de estaes da rede. A figura 1.2 apresenta algumas topologias possveis no caso
das redes a difuso. Numa rede em barramento, uma nica mquina autorizada a cada
instante a transmitir uma mensagem a estao mestre 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.
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.
4. ASPECTOS ARQUITETURAIS
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.
Figura 1.2 - Topologias das redes de difuso: barramento, satlite e anel
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.5
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 nas polticas de time-sharing j descrita na seo 1. Vamos considerar o caso em
que temos apenas um terminal conectado a um computador, como mostrado na figura 1.3.
Considerando que um usurio vai 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.
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.
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 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.
Figura 1.3 - Terminal conectado a um computador central
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.6
Figura 1.4 - Configurao com vrios terminais
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!)
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 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 vai corresponder a diferentes caminhos. No exemplo mostrado na figura,
os ns 1 e 5 podem ser conectados por pelos menos uns 10 caminhos e a escolha de qual
caminho utilizar dever ento ser realizada, o que no uma tarefa to simples quanto
possa parecer.
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 a tcnicas de compresso de dados,
necessria se a informao enviada demasiadamente redundante e o custo da
comunicao alto.
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.
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.7
1
2
3
5
4
Figura 1.5 - Configurao com vrios computadores e terminais.
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 da comunicao entre duas empresas.
Vamos supor que o Diretor de uma Empresa A quer comunicar com o Diretor de uma
Empresa B. Ele convoca a sua Secretria Administrativa e solicita, informalmente, que esta
construa um texto relativo ao assunto a ser tratado. A Secretria Administrativa elabora o
documento e o entrega ao Office Boy que vai envelop-lo e encaminh-lo ao Chefe do Setor
de Malote. Este ltimo encaminha o documento ao Servio Postal para conduo Empresa
B.
Considerando que a Empresa B apresenta uma estrutura similar Empresa A (como
ilustrado na figura 1.6), os mesmos elementos atuam, cada um em suas funes para
fazer com que a correspondncia chegue s mos do Diretor da Empresa.
Diretor
Empresa
Secretria
Administrativa
Office
Boy
Chefe
Malote
Empresa A
Servio Postal
Empresa B
Diretor
Empresa
Secretria
Administrativa
Office
Boy
Chefe
Malote
Figura 1.6 - Filosofia de concepo das redes, ilustrada por um processo de relaes entre empresas.
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.8
Este processo 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.
Podemos considerar que a comunicao entre dois ns de uma rede uma tarefa
global que afeta um sistema complexo e, consequentemente, 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 de um sistema que seja aceitvel, 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.
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 1.7 ilustra uma arquitetura hierarquizada em 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 de forma a evitar que estas necessitem conhecer certos aspectos da
implementao destes servios.
A camada n assume a comunicao com a camada n de uma outra mquina. Para
faz-lo, 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. 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 1.7, pelas linhas tracejadas ligando cada par de processos
de uma camada.
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.9
Camada 7
Camada 6
Camada 5
Camada 4
Camada 3
Camada 2
Camada 1
Meio de Transmisso
Camada 7
Camada 6
Camada 5
Camada 4
Camada 3
Camada 2
Camada 1
Protocolo da Camada 7
Protocolo da Camada 6
Protocolo da Camada 5
Protocolo da Camada 4
Protocolo da Camada 3
Protocolo da Camada 2
Protocolo da Camada 1
SISTEMA B SISTEMA A
Interface
6/7
Interface
6/7
Interface
5/6
Interface
5/6
Interface
4/5
Interface
4/5
Interface
3/4
Interface
3/4
Interface
2/3
Interface
2/3
Interface
1/2
Interface
1/2
Figura 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 interfaces entre as camadas; isto vai implicar que na definio do servio oferecido por
cada camada.
Uma vantagem da correta definio das interfaces a facilidade da 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.
5. TECNOLOGIAS DE TRANSMISSO DE DADOS
5.1. Principais Caractersticas
Podemos definir transmisso como a tcnica do transporte do sinal por um meio, de
um ponto a outro afastado. Em particular, a transmisso de dados apresenta diversas
caractersticas referentes ao sentido da transmisso, nmero de canais utilizados,
sincronismo entre transmissor e receptor e velocidade de transmisso.
Um equipamento pode ser projetado de tal forma que a transmisso sobre um
determinado meio seja feita em uma das seguintes formas (sentido):
Simplex - quando a transmisso feita em um nico sentido.
Half-duplex - quando a transmisso feita nos dois sentidos mas no ao
mesmo tempo.
Full-duplex - quando a transmisso feita nos dois sentidos simultaneamente.
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.10
Uma mensagem definida como um conjunto de smbolos. Cada smbolo, por sua
vez, para efeito de transmisso de dados, caracterizado por um conjunto de configuraes
do sinal que representam bits. Por necessidade de codificao, os smbolos ficam
associados a caracteres, que so, na realidade, configuraes de sinais. Na verdade, uma
mensagem nada mais que uma seqncia de bits. Para transferir essa seqncia de bits,
podemos fazer de duas formas: serial ou paralela. Na transmisso paralela, os bits que
compem um caracter so transportados de forma simultnea, cada um possuindo seu
prprio canal, conforme mostra a figura 1.8.
Na transmisso serial, os bits que compem um caracter so transportados um aps
o outro, utilizando apenas um canal, como ilustrado na figura 1.9.
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
EMISSOR RECEPTOR
canal 0
canal 1
canal 2
canal 3
canal 4
canal 5
canal 6
canal 7
Figura 1.8 - Transmisso paralela.
1 1 0 1 0 0 1 0
1 1 0 1 0 0 1 0
1
1
0
1
0
0
1
0
EMISSOR
RECEPTOR
Figura 1.9 - Transmisso serial.
Como os bits chegam um de cada vez, o equipamento receptor dever saber qual bit
o primeiro do caracter, a fim de que possa decodificar o smbolo recebido, ou quais bits
so realmente de informao. Este um problema de sincronizao. Sincronizao pode
ser vista, ento, como o mtodo do equipamento transmissor fazer a separao dos
caracteres ou das mensagens para o equipamento receptor. Existem dois modos de se
fazer sincronizao e eles so conhecidos como transmisso sncrona e transmisso
assncrona. Todos os dois modos dizem respeito transmisso serial.
Na transmisso serial assncrona, a sincronizao alcanada precedendo-se cada
caracter de um elemento de start e colocando-se, aps os bits de dados um elemento de
stop. Geralmente os dados so transmitidos serialmente em um nmero fixo de bits,
dependendo do cdigo usado.
Na transmisso serial sncrona, a sincronizao alcanada transmitindo-se os bits
de um caracter seguidos imediatamente pelos bits do prximo caracter, no havendo
elementos de start/stop entre eles. O conjunto de caracteres que formam uma mensagem
dividido em blocos. O tamanho destes blocos varia desde alguns poucos caracteres at
centenas deles, dependendo dos equipamentos envolvidos na transmisso.
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.11
A sincronizao na transmisso sncrona se faz antes que um bloco de informao
seja enviado pelo equipamento transmissor. Ela alcanada pelo envio de uma configurao
de bits chamada "caracter de sincronizao" que precede o bloco a ser transmitido. Neste
caso, a sincronizao feita mediante um ou dois bytes de sincronismo que so
configuraes de bits designadas para este fim. Do mesmo modo que iniciada, a
comunicao sncrona encerrada, no por um bit, mas por um ou mais caracteres de fim
de transmisso.
Os caracteres iniciais e finais de um bloco em transmisso sncrona constituem o
envelope do bloco, que pode ou no ser uma mensagem completa e tem funes anlogas
as do envelope de uma carta, inclusive a de conter tambm o endereo do destinatrio. A
ordem correta dos bits que constituem o envelope do bloco definida por um conjunto de
regras chamado protocolo de comunicao. So exemplos destes protocolos para
transmisso sncrona: BSC, SDLC e HDLC.
As vantagens de transmisso assncrona so: gerao de caracteres por meio de
dispositivos eletromecnicos e transmisso de caracteres irregularmente espaados no
tempo. As desvantagens so: uma parte considervel do que transmite no transporta
informao til: a sincronizao depende dos start/stop que podem no ser detectados por
causa de distores do sinal. Uma utilizao da transmisso assncrona quando no se
necessita de transmisso freqente de informao.
A transmisso sncrona apresenta, como vantagem, uma melhor proteo contra
erros, pois ao trmino de cada bloco uma configurao de bits para deteco de erros pode
ser enviada; mais eficiente pois a proporo de mensagem transmitida como informao
em relao configurao de sincronizao maior que na transmisso assncrona; no
to sensvel distoro e opera a velocidades bem mais altas que no modo assncrono. As
desvantagens so: caso haja erro de sincronizao, todo bloco perdido; os caracteres so
enviados em blocos e no antes destes poderem ser formados, obrigando que os
equipamentos sejam dotados de memria de armazenamento para a coleta dos caracteres
at que se forme o bloco com o comprimento usado pelo equipamento. Memria, nesse
caso, so buffers, o que encarece seu custo.
5.2. Largura de Banda e Capacidade de Canal
A taxa em que podemos enviar dados sobre um canal proporcional largura de
banda do canal (ou bandwidth). O termo largura de banda no tem qualquer relao com as
freqncias que so transmitidas no canal. Ele indica apenas a diferena entre os limites
inferior e superior das freqncias que so suportadas pelo canal. Por exemplo, um canal
que admite freqncias da ordem de 1500 a 5000 Hz, tem uma largura de banda igual a
5000-1500 = 3500Hz. Da mesma forma, um canal que admite freqncias que vo desde
18000 Hz a 21500 Hz tambm apresenta uma largura de banda 3500 Hz (21500 - 18000).
A largura de banda de um canal de comunicao constitui uma medida da mxima
taxa de informao que pode ser transmitida pelo canal. Largura de banda significa o
espectro de freqncia que o canal capaz de transmitir. Sobre a questo de quantos
estados de sinalizao podem ser transmitidos e distinguidos separadamente no receptor de
um sistema de comunicao de dados pode-se dizer que, examinados os fatores que
influenciam esse nmero de estados, podemos definir o conceito de capacidade do canal.
Rudo, distoro e flutuaes na atenuao do sinal portador tm influncia no
nmero de estados de sinalizao. Este nmero de estados observado na unidade de
tempo (segundo). Quanto maior o nmero de estados que podem ser transmitidos e
distinguidos, maior ser a capacidade do canal. Podemos ento concluir que a capacidade
do canal est intimamente relacionada com a velocidade de transmisso, pois quanto maior
o nmero de estados mais bits por segundo podero ser transmitidos. Da medir-se
capacidade na unidade bits/segundo.
Diferentes tipos de sinais (voz humana, msica, dados, imagem) necessitam de
diferentes capacidades de canal, as quais so indicadas em termos de largura de banda e
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.12
outros fatores que influenciam a capacidade de um canal. Conhecida, pois, a largura de
banda de um canal de comunicao, pode-se estabelecer a mxima taxa de sinalizao que
o mesmo pode conduzir sem erro, o que denominado de capacidade do canal de
comunicao.
5.3. Distoro e Rudo na Transmisso
Atenuao, rudo e retardo so termos usados de um modo geral para descrever
as modificaes que um sinal sofre quando transmitido em um circuito ou canal. Essas
alteraes resultam de imperfeies na propagao do sinal, ao longo do suporte de
transmisso (atenuao e retardo) e de perturbaes (rudos) que atuam no s no suporte
de transmisso como tambm nos estgios de processamento do sinal que compem o
receptor. Quando a alterao sofrida pelo sinal muito grande, pode ocorrer a deteco
trocada da informao binria, isto , deteco de "1" quando foi transmitido o "0" ou
deteco de "0" quando foi transmitido o "1". Estas deteces trocadas caracterizam os
chamados erros de transmisso.
O desempenho de um sistema de transmisso de dados avaliado atravs do seu
grau de confiabilidade na transmisso dos bits. A taxa de erros de um sistema de
transmisso representa a probabilidade de ocorrncia de erros de transmisso.
Para redes de longa distncia existe uma padronizao internacional que determina
uma taxa de erros mxima em um canal a fim de que o mesmo possa ser considerado
adequado para a transmisso de dados. O ITU recomenda uma taxa de erros no superior a
10
-5
, isto , 1 bit errado a cada 100.000 bits transmitidos. Para redes locais, de maneira
geral, admite-se taxas de erros tpicas da ordem de 10
-9
a 10
-12
.
A transmisso sem erros um requisito essencial de quase todas as aplicaes de
comunicao de dados e portanto, uma srie de mecanismos deve ser implementada para
detectar e corrigir possveis erros. A maneira usual utilizada para detectar a alterao de bits
de informao transmitidos, consiste na adio de bits de redundncia na mensagem a ser
transmitida. Dentre as vrias tcnicas usadas para esta finalidade pode-se citar: bits de
paridade por caracter, paridade longitudinal e cdigos de redundncia cclica (CRC).
5.4. Comutao
A funo de comutao, ou chaveamento, em uma rede de comunicao refere-se
alocao dos recursos da rede (meios de transmisso, repetidores, sistemas
intermedirios, etc.) para a transmisso pelos diversos dispositivos conectados. A alocao
destes recursos est intimamente ligada forma de multiplexao dos meios de
transmisso, que ser discutida mais adiante. As formas de comutao so denominadas
comutao de circuitos, comutao de mensagens e comutao de pacotes.
A comutao de circuitos pode ser realizada se existir um caminho dedicado de
comunicao entre duas estaes. Esta comunicao envolve 3 fases: estabelecimento do
circuito, transferncia de informaes e desconexo do circuito. Na comutao de circuitos o
caminho alocado durante a fase de estabelecimento da conexo permanece dedicado
quelas estaes at que uma delas, ou ambas, decida desfazer o circuito. Caso o trfego
entre as estaes no seja contnuo e constante a capacidade do meio fsico ser
desperdiada. O caminho dedicado entre a origem e o destino pode ser: um caminho fsico
formado por uma sucesso de enlaces fsicos, uma sucesso de canais de freqncia
alocados em cada enlace ou uma sucesso de canais de tempo alocados em cada enlace.
Este tipo de comutao bastante utilizada em sistemas telefnicos.
Na comutao de mensagens no necessrio o estabelecimento de um caminho
dedicado entre as estaes. Se uma estao deseja transmitir uma mensagem ela adiciona
o endereo de destino da mesma poder ser transmitida pela rede de n em n, utilizando
apenas um canal por vez. A mensagem armazenada e retransmitida em cada n (store-
and-forward).
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.13
A comutao de pacotes semelhante comutao de mensagens, sendo que a
principal diferena est no tamanho da mensagem sendo transmitida, que neste caso tem
tamanho reduzido e limitado. Neste caso as mensagens com tamanho acima de um limite
devem ser fragmentadas em unidades menores denominadas pacotes. Os pacotes que
formam uma mensagem podem estar sendo transmitidos simultaneamente pela rede em
diferentes enlaces, o que reduz o atraso de transmisso total da mensagem. Redes com
comutao de pacotes requerem ns de comutao com menor capacidade de
armazenamento e procedimentos de recuperao de erros mais eficientes do que para
comutao de mensagens.
5.5. Multiplexao
Quando a banda passante de um meio fsico for maior ou igual banda passante
necessria para um sinal podemos transmitir mais de um sinal neste meio fsico. Esta
tcnica denominada multiplexao.
As duas principais tcnicas de multiplexao so: multiplexao por diviso de
freqncia (FDM) e multiplexao por diviso de tempo (TDM). A primeira tcnica divide
a largura de banda em diversas larguras de banda menores, cada qual com seu prprio
domnio de freqncias. Cada uma destas componentes pode ser usada individualmente
como se ela fosse uma linha separada. A segunda tcnica intercala os bits, que fluem das
linhas de baixa velocidade, dentro da linha de maior velocidade. Em ambos os mtodos o
resultado que uma linha transmite em paralelo um nmero de sinais de linhas de
velocidades mais baixas.
Uma desvantagem da FDM a relativa dificuldade de expanso porque, uma vez
determinado o nmero de sub-canais sobre a linha compartilhada, pode ser difcil adicionar
novos sub-canais j que as freqncias em um grupo devem ser reatribudas. Na TDM na
qual o tempo disponvel dividido para os terminais; a largura de banda interna da linha de
alta velocidade ocupada pelo sinal de uma das linhas de baixa velocidade por unidade de
tempo, ento a largura de banda dedicada ao trfego da prxima linha de baixa velocidade
e assim por diante. O multiplexador examina os sinais das linhas de baixa velocidade com
uma ordem pr-definida. A linha de alta velocidade ocupada com um nico sinal em um
determinado instante. Esta tcnica assim, totalmente diferente da FDM, na qual todos os
sinais so enviados ao mesmo tempo, porm cada um ocupando uma diferente poro da
largura de banda.
A FDM ajusta-se naturalmente dentro do mundo dos sinais analgicos e a TDM tem
sido amplamente usada com sinais digitais. A TDM geralmente mais eficiente do que a
FDM porque mais sub-canais podem ser colocados. FDM usa guardas-de-banda para
separar freqncias alocadas. Similarmente, alguma perda do tempo ocorre com TDM. As
fatias de tempo alocadas devem ser separadas por um espao de tempo umas das outras.
A TDM pode ser utilizada quando a capacidade (em quantidade de bits por segundo)
do meio de transmisso, em muitos casos excede a taxa mxima de gerao de bits da
estaes conectadas ao meio fsico. Quando isto ocorre vrios sinais podem ser
transportados por um nico caminho fsico, intercalando-se pores de cada sinal durante o
tempo. A TDM pode ser sncrona ou assncrona. Na TDM sncrona o domnio do tempo
dividido em intervalos de tamanho fixo denominados frames, que por sua vez so
subdivididos em subintervalos denominados slots. Cada estao deve esperar o seu slot
dentro de cada frame quando ento poder transmitir dentro do tempo daquele slot utilizando
a taxa de transmisso mxima suportada pelo meio fsico. A TDM assncrona procura
eliminar o desperdcio de capacidade existente no TDM sncrono, eliminando a alocao
prvia do canal. Neste caso parcelas de tempo so alocadas dinamicamente de acordo com
a demanda das estaes, em compensao as unidades de informao devem conter um
cabealho com os endereos origem e destino.
O nico objetivo dos multiplexadores a diminuio do custo das linhas em uma
rede. Uma tendncia evidente o crescente uso de inteligncia nos multiplexadores para
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.14
diminuir, ainda mais o custo das linhas (aumentar a economia). Multiplexadores inteligentes
podem ser vistos como equipamentos de processamento da comunicao mais gerais e
incluem os concentradores e processadores front-end.
Um concentrador, em sua forma mais simples, nada mais que um multiplexador
inteligente , com memria de armazenamento e um processador. Nos multiplexadores existe
uma correlao direta entre as velocidades de entrada e sada, enquanto que nos
concentradores, que tambm incluem um software de controle, um grande nmero de linhas
de baixa velocidade podem compartilhar um pequeno nmero de canais de alta velocidade.
Atravs de armazenamento, enfileiramento e alocao estatstica de canais disponveis, os
dados da fonte so "concentrados" em um canal de alta velocidade. Uma diferena
fundamental entre multiplexadores e concentradores que o primeiro trabalha com mesma
taxa de entrada e sada de dados, enquanto que um concentrador inteligente pode ajustar
dinamicamente suas alocaes de largura de banda para modificaes no trfego.
A tcnica TDM se caracteriza por alocar uma fatia de tempo n n-sima linha de
baixa velocidade, mesmo que no exista nenhum trfego sobre esta linha. Uma modificao
para otimizar esta tcnica a TDM estatstica (STDM) que uma forma de concentrao.
Uma fatia de tempo s ser alocada se existir trfego na linha. Em geral, o uso da STDM
mais vantajoso que a TDM pois evita a m utilizao da linha. No entanto, se o trfego de
vrias fontes (ou destinos) uniformemente distribudo no tempo, ento o uso da TDM ser
menos caro e proporcionar uma melhor utilizao da linha.
Um processador front-end um concentrador de propsito especial que instalado
na frente do computador hospedeiro (HOST) e executa a tarefa de gerenciar a interface entre
o HOST e a rede de comunicao. O principal objetivo da utilizao de um processador
front-end aliviar o HOST das tarefas de processamento de comunicao reduzindo o
tempo e o espao dedicados pelo HOST para estas tarefas e, portanto, aumentar a sua
disponibilidade para o processamento de dados.
5.6. Modulao
Computadores so equipamentos que armazenam, processam e codificam
informaes em bits, que correspondem a dois nveis discretos de tenso ou corrente,
representado pelos valores lgicos 0 ou 1. Este tipo de informao chamada de digital. As
informaes geradas por fontes sonoras apresentam variaes contnuas de amplitude,
constituindo-se no tipo de informao que comumente denominamos de analgica. Desta
forma podemos afirmar que existem dois tipos de sinais gerados para transmisso: sinais
analgicos e sinais digitais. importante notar que qualquer tipo de informao, analgica
ou digital, pode ser transmitida atravs de um sinal analgico ou digital. A transmisso de
informao digital atravs de sinais analgicos possvel atravs de tcnicas de
modulao, que transformam os sinais digitais em sinais analgicos atravs da variao
contnua de um de seus parmetros.
Neste ponto, conveniente fazer uma diferenciao entre as unidades bits por
segundo (bps) e bauds. A taxa em bauds indica o nmero de vezes que a caracterstica do
sinal portador da informao (sinal modulado) se altera por segundo. Se o estado do sinal
representa a presena ou ausncia de um bit, ento a taxa em bauds a mesma que a taxa
em bps. Por outro lado, quando usamos transmisso multinvel, cada estado do sinal
representa mais de um bit (2 bits na modulao dibit e 3 bits na modulao tribit, etc) e
observamos que a taxa em bauds menor que a taxa em bps. Por exemplo, considerando
uma modulao dibit, onde o sinal pode estar em quatro estados e cada estado representa
um dibit (2 bits), se a velocidade de sinalizao for de 200 bauds, isto , se a condio do
sinal se alterar 200 vezes por segundo, teremos 400 bits transmitidos por segundo, ou seja,
para cada alterao de condio do sinal, estaremos transmitindo dois bits representativos
de um estado.
Um exemplo sobre a diferena entre as velocidades bauds e bps a utilizao do
canal telefnico para transmisso de sinal de dados. A largura de banda deste canal de
CAP. 1 INTRODUO S REDES DE COMPUTADORES PROF. VITRIO BRUNO MAZZOLA
1.15
3100 Hz (ciclos/segundo) e na prtica usado para transmitir sinal de dados at 2400
bauds. Se desejarmos transmitir a uma velocidade de transmisso de 4800 bps neste canal,
deveremos usar um sinal dibit, ao qual corresponder a mesma velocidade de sinalizao de
2400 bauds. Neste caso, a velocidade de transmisso duas vezes a velocidade de
sinalizao. Da mesma forma que se desejarmos transmitir 7200 bps, deveremos usar um
sinal tribit e teremos velocidade de transmisso igual a trs vezes a velocidade de
sinalizao.
Modulao o processo pelo qual se imprime uma informao em uma onda
portadora, pela variao de um de seus parmetros (amplitude, freqncia ou fase). O
processo inverso, no qual a informao retirada da onda portadora, denominado
demodulao. O equipamento que realiza a adequao dos sinais binrios ao canal de
transmisso denominado modem (modulador-demodulador).
Existem trs tcnicas bsicas de modulao:
modulao por amplitude (AM)
modulao por freqncia (FM)
modulao por fase (PM)
No caso especfico do sinal modulador ser um sinal digital, essas tcnicas tomam as
seguintes denominaes:
modulao por chaveamento da fase (ASK)
modulao por chaveamento da freqncia (FSK)
modulao por chaveamento de fase (PSK)
5.7. Sistemas em Banda Larga e em Banda Bsica
Duas tcnicas de transmisso so as mais empregadas: sinalizao em banda
bsica (baseband) e sinalizao em banda larga (broadband). Na sinalizao em banda
bsica (ou sinalizao digital) o sinal simplesmente colocado na rede sem se usar
qualquer tipo de modulao, aparecendo diretamente na rede e no como deslocamentos de
freqncia, fase ou amplitude de uma portadora. Sinalizao em banda bsica vem sendo
adotada nos projetos de redes por no necessitar de modems e por possibilitar a
transmisso em alta velocidade. Esta tcnica no adequada para transmisso a longas
distncias e para circuitos sujeitos a rudos, interferncias e erros aleatrios. Na sinalizao
em banda bsica todo o espectro (banda) de freqncia do meio utilizado para produzir o
sinal. No ambiente de redes locais a sinalizao em banda bsica bastante adequada.
A sinalizao em banda larga (ou sinalizao analgica) realiza a multiplexao em
freqncia (FDM). Com esta sinalizao o espectro de freqncia do meio dividido em
vrios canais, cada um podendo suportar diferentes trfegos. Um caso especial de sistema
de banda larga o sistema de baixo custo que utiliza apenas um canal, denominado banda
larga de nico canal. A sinalizao em banda larga geralmente utilizada em redes locais
Sinalizao em banda larga geralmente utilizada em redes locais em barra. Nas redes em
banda larga cada canal pode ser utilizado para transportar qualquer tipo de sinal, por
exemplo, sinais analgicos, como imagem ou voz, ou sinais digitais. Os canais podem ser
classificados como dedicados ou chaveados. Tanto os canais dedicados quanto os canais
chaveados podem ser ponto-a-ponto ou multiponto.
2.1
Captulo 2 Captulo 2
O M O MODELO DE ODELO DE R REFERNCI A EFERNCI A OSI OSI
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 normalizao das redes de
comunicao.
Iniciou-se, ento, no seio da ISO - International Organization for Standardization, 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 (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 fundado 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
Sistemas Abertos ou RM-OSI (Reference Model for Open Systems Interconnection), cujos
conceitos principais sero apresentados nas sees que seguem.
2. FUNDAMENTOS E ARQUITETURA
O conjunto de camadas ou nveis compondo um conjunto de regras de comunicao
numa rede, denominada 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. 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.
Conforme j introduzido anteriormente, a figura 2.1 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.
A camada n assume a comunicao com a camada n de uma outra mquina. Para
faz-lo, 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
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.2
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 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.
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 como uma COMUNICAO VIRTUAL e representada,
na figura 2.1, pelas linhas tracejadas ligando cada par de processos de uma camada. 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
interfaces entre as camadas; isto vai implicar que na definio do servio oferecido por cada
camada. Uma vantagem da correta definio das interfaces a facilidade da 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.2 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.
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.
Camada 7
Camada 6
Camada 5
Camada 4
Camada 3
Camada 2
Camada 1
Meio de Transmisso
Camada 7
Camada 6
Camada 5
Camada 4
Camada 3
Camada 2
Camada 1
Protocolo da Camada 7
Protocolo da Camada 6
Protocolo da Camada 5
Protocolo da Camada 4
Protocolo da Camada 3
Protocolo da Camada 2
Protocolo da Camada 1
SISTEMA B SISTEMA A
Interface
6/7
Interface
6/7
Interface
5/6
Interface
5/6
Interface
4/5
Interface
4/5
Interface
3/4
Interface
3/4
Interface
2/3
Interface
2/3
Interface
1/2
Interface
1/2
Figura 2.1 - Modelo hierarquizado em 7 camadas.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.3
No exemplo considerado na figura, a mensagem no sofre modificaes, mas esta
camada efetua o controle de fluxo. 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 e um novo cabealho, H3,
introduzido s mensagens. Na camada 2, alm de um cabealho, H2, introduzido tambm
um sufixo, T2, contendo informaes especficos a 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 na figura 2.2 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.
3. SERVIOS E PROTOCOLOS
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.
M
m
m
H4 M2 H4 M1
H3 H4 H4 M1 H3 M2
H2 H3 H4 M1 H3 H4 H2 M2
M
m
m
H4 M2 H4 M1
H3 H4 H4 M1 H3 M2
H2 H3 H4 M1 H3 H4 H2 M2
Protocolo
da Camada 2
Protocolo
da Camada 3
Protocolo
da Camada 4
Protocolo
da Camada 5
Protocolo
da Camada 6
Protocolo
da Camada 7
TRANSMISSOR RECEPTOR
Figura 2.2 - Ilustrao da comunicao virtual numa arquitetura de rede.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.4
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; isto
corresponde, na verdade, a um certo desacoplamento entre os conceitos de servio e
protocolo.
4. 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.3, 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;
nmero de camadas deveria ser suficientemente grande para evitar a realizao
de funes muito diversas por uma mesma camada;
nmero de camadas deveria ser suficientemente pequeno para evitar uma alta
complexidade da arquitetura.
Como se pode ver na figura, o modelo prev a comunicao entre sub-redes atravs
de processadores de interface de mensagem, ou IMPs (Interface Message Processors). Na
figura, vemos ainda as unidades de dados trocadas a nvel da arquitetura: APDU, PPDU, ...,
BIT. Vamos descrever, a seguir, as principais funes realizadas por cada uma das
camadas definidas no modelo.
A Camada Fsica responsvel da transferncia de bits num circuito de
comunicao.
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Protocolo da Camada 7
Protocolo da Camada 6
Protocolo da Camada 5
Protocolo da Camada 4
SISTEMA B SISTEMA A
7
6
5
4
3
2
1
7
6
5
4
3
2
1
Rede
Enlace
Fsica
Rede
Enlace
Fsica
IMP IMP
IMP - Interface Message Processor
Figura 2.3 - Arquitetura de sete camadas do modelo OSI.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.5
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;
modo de transmisso adotado ( unidirecional, bidirecional, ...);
modo de conexo adotado (ponto-a-ponto, multiponto, ...);
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 do fracionamento das mensagens recebidas do emissor em
unidades de dados denominadas quadros, 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 adicional (no incio e fim de cada quadro) de modo a permitir o
reconhecimento destes.
Um problema tpico deste nvel o da ocorrncia de uma perturbao sobre a linha
de transmisso que provoque a destruio (perda) do quadro enviado. 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 emissor no ter capacidade de absorver a informao mesma
taxa. Este mecanismo deve permitir informar ao emissor a necessidade de armazenamento
dos dados a transmitir (controle de fluxo).
A Camada de Rede responsvel da gesto de sub-redes; ela define a forma como
os pacotes de dados sero encaminhados do emissor ao receptor. 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 recebe os dados enviados da camada de sesso,
decomp-los, se for o caso, em unidades de dados menores 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.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.6
Esta camada cria, normalmente, uma conexo de rede para cada conexo de
transporte requerida pela camada de Sesso, embora, se as necessidades de velocidade
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, por
conseqncia, 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-a-
fim, ou seja, o programa executando no sistema fonte dialoga com o programa executando
na 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.3.
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.
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 dos estabelecimentos 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 bidirecional.
Um servio tambm importante aquele da sincronizao do dilogo. Por exemplo,
se um arquivo deve ser transferido atravs de uma sesso e este deve durar duas horas.
Se, 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 em 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 utiliza algumas funes freqentemente necessrias de
modo a poupar o usurio deste trabalho. Esta camada assume particularmente as funes
associadas 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 compreenso 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.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.7
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 gerar 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.
5. A COMUNICAO NO OSI
A forma como os dados so transferidos ao longo do modelo OSI ilustrada na figura
2.4. 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. 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, embora, na prtica, ele esteja
dirigindo-se ao seu intrprete.
PROCESSO
RECEPTOR
PROCESSO
EMISSOR
DADOS
DADOS AH
DADOS PH
DADOS SH
DADOS TH
DADOS NH
DADOS LH
BITS
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Figura 2.4 - Ilustrao da comunicao no modelo OSI.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.8
6. OS CONCEITOS DO MODELO 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.
6.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
entidade e estas 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
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 lentos 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 ter acesso aos 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 outras informaes de controle. A SDU a informao
transmitida via rede entidade par e, em seguida, camada N+1. A informao de controle
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.5 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.
6.2. Servios orientados conexo e sem conexo
Como j foi dito, as camadas podem oferecer diferentes classes de servios s
camadas superiores, estes servios podendo ser orientados conexo ou sem conexo.
No que diz respeito ao servios orientados conexo, podemos citar, como exemplo
tpico o sistema telefnico. Para que seja possvel falar a algum no telefone, necessrio,
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.9
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 no sistema, independente de outras.
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 no podem ser jamais 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.
Os servios confiveis orientados conexo apresentam duas variantes. No primeiro
caso, as fronteiras das mensagens so sempre preservadas. Se duas mensagens de 1
Kbytes so enviadas, elas chegaro sob a forma de duas mensagens de 1 Kbytes e nunca
como uma nica mensagem de 2 Kbytes.
J na segunda variante, se uma mensagem de 2 Kbytes recebida, no h como
identificar se ela foi enviada realmente como uma nica mensagem de 2 Kbytes, como duas
mensagens de 1 Kbytes, ou ainda como 2048 mensagens de 1 byte.
ICI SDU
ICI SDU SDU
SAP
Camada
N+1
Camada
N
Interface
Cabealho
N-PDU
IDU
Figura 2.5 - Ilustrao dos diferentes conceitos associados ao modelo de referncia OSI.
Em algumas aplicaes, necessrio resguardar as fronteiras entre as mensagens
enviadas; por exemplo, no caso do envio de um documento a uma impressora interessante
poder preservar as fronteiras entre as pginas.
No que diz respeito aos dois tipos de servios (orientados conexo e sem conexo),
nem todas as aplicaes requerem a utilizao de conexo. 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 necessidade de estabelecimento de conexo e tampouco a uma
confiabilidade de 100% no que diz respeito chegada das mensagens. Os servios sem
conexo e no-confiveis so denominados servios de datagrama.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.10
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 MODALIDADES EXEMPLO
Transf. confivel de mensagens com ou sem conexo seqenciamento de pginas
Transf. confivel de dados com ou sem conexo transferncia de arquivos
Transf. sem controle de erros com ou sem conexo voz digitalizada
Datagrama s/ reconhecimento sem conexo correio eletrnico
Datagrama c/ reconhecimento sem conexo corr. eletrnico registrado
Pedido-Resposta sem conexo consulta a bases de dados
7. 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
respostas (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.
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 contra-proposta, atravs dos parmetros da
primitiva de resposta, que ser transmitida entidade emissora atravs dos parmetros da
primitiva de confirmao.
CAP. 2 O MODELO DE REFERNCIA OSI PROF. VITRIO BRUNO MAZZOLA
2.11
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 a seguir apresenta um conjunto de primitivas associadas a um servio
orientado conexo.
PRIMITIVA SIGNIFICADO
CONNECT.request pedido de estabelecimento de uma conexo
CONNECT.indication indicao entidade invocada
CONNECT.response utilizada para indicar a aceitao ou no da conexo
CONNECT.confirm informa entidade emissora se a conexo aceita
DATA.request pedido de envio de dados
DATA.indication sinalizao da chegada de dados
DISCONNECT.request pedido de trmino da conexo
DISCONNECT.indication indicao do pedido entidade par
Neste exemplo, CONNECT um servio confirmado enquanto os servios DATA e
DISCONNECT so no-confirmados. A figura 2.6 permite ilustrar as trocas de primitivas de
servio entre as camadas no caso de um servio confirmado. O exemplo utilizado o
servio CONNECT.
SISTEMA A
Camada N+1
Camada N
connect.req
connect.cnf
SISTEMA B
Camada N+1
Camada N
connect.ind
connect.rsp
Figura 2.6 - Ilustrao da troca de primitivas de servio (confirmado).
3.1
Captulo 3 Captulo 3
A AS S S SETE ETE C CAMADAS DO AMADAS DO M MODELO ODELO OSI OSI
1. INTRODUO
A definio de um modelo de referncia para a interconexo de sistemas abertos, o
modelo 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 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;
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. 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.1. Os Suportes de Transmisso
Os suportes de transmisso podem se caracterizar pela existncia ou no de um
guia fsico. Na primeira classe esto os cabos eltricos, as fibras ticas e, na segunda
classe, as ondas de rdio, as ondas de luz, etc...
2.1.1. O par de fios tranados
Em diversas aplicaes, necessrio se manter uma conexo direta e permanente
entre dois computadores. O suporte de transmisso mais clssico utilizado at o momento
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.2
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 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 algumas dezenas de Kbits/s, podendo atingir, em
condies particulares, na faixa dos Mbits/s em pequenas distncias.
O fato de representar um baixo custo e uma grande faixa de utilizao o torna um dos
suportes mais utilizados atualmente e, provavelmente, nos prximos anos.
2.1.2. 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 de 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.
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.
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/segundo, podendo-se obter taxas superiores para
distncias mais curtas. Os cabos coaxiais so altamente utilizados como suporte de
transmisso nas Redes Locais Industriais.
A informao transmitida pelos cabos coaxiais geralmente codificada sob a forma
de um sinal binrio, onde os dgitos 0 e 1 so representados por dois diferentes nveis... por
exemplo, 1 volt para o bit 1 e 0 volt para o bit 0. Esta forma de codificao, embora seja uma
conveno bastante adequada, no permite ao receptor do sinal detectar o incio e o fim da
transmisso de um dgito binrio.
2.1.3. As fibras ticas
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 10
8
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 (10
9
bit/s).
Um sistema de transmisso a base de fibra tica composto de trs principais
elementos: o suporte de transmisso (a fibra tica), o dispositivo de emisso e o dispositivo
de recepo da onda luminosa.
A fibra tica constituda de um fio de vidro bastante fino, base de silcio e outros
componentes. 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, ou de
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.3
um diodo emissor de luz (LED) ou de um diodo laser. O dispositivo de recepo
constitudo geralmente de um fotodiodo ou de um fototransistor.
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. Entretanto,
existe um ngulo de incidncia limite, a partir do qual o raio luminoso, ao invs de ser
refratado ele 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
alguns quilmetros.
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 salvamento de grandes volumes
de informao.
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 informao de um ponto a outro numa rede de
comunicao. A transmisso a nvel de bit uma das formas mais simples de transferncia
de informao. Este processo ilustrado pela figura 3.1(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;
FONTE DE
INFORMAO
BINRIA
TRANSMISSOR RECEPTOR SUPORTE DE TRANSMISSO
RUDO
DESTINATRIO
DA
INFORMAO
BINRIA
(a)
(b)
RUDO
SUPORTE DE TRANSMISSO
FONTE OU
INFORMAO
BINRIA
DESTINATRIO
FONTE OU
INFORMAO
BINRIA
DESTINATRIO
TRANSMISSOR
RECEPTOR
TRANSMISSOR
RECEPTOR
Figura 3.1 - (a) Sistema de transmisso ponto-a-ponto unidirecional; (b) modelo bidirecional.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.4
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 a nvel de bits pode ser realizada de forma bidirecional,
esta podendo ainda ser realizada 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 3.1(b).
A transmisso de dados, 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.
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,
conforme j mencionado anteriormente.
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.
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.
Pode-se considerar outros parmetros para a classificao dos modos de
transmisso, como, por exemplo, o fator tempo. 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 transmitidos segundo uma cadncia
pr-definida, obedecendo a um sinal de temporizao (clock). O receptor, por sua vez,
conhecendo os intervalos de tempo permitindo 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 especial com durao varivel. Um caso tpico de transmisso assncrona a
transmisso de caracteres; neste caso, a cada grupo de bits constituindo um caractere so
adicionados bits especiais para representar o incio (start bit) e final deste (stop bit). Neste
tipo de comunicao, apesar de assncrona ao nvel de caracteres, ocorre uma
sincronizao ao nvel de bit.
Um outro aspecto a ser destacado aqui aquele da forma como os sinais so
transmitidos num suporte de comunicao, particularmente no que consiste maneira como
a banda passante do canal de comunicao explorada.
No primeiro modo, a transmisso em banda de 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.
No segundo modo, a transmisso em barda larga (broadband), a banda passante do
suporte de transmisso dividida num determinado nmero de canais de faixa de freqncia
estreita, permitindo que estes possam ento ser 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
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.5
de transmisso, cada canal pode atingir uma taxa de transmisso de at 3 Mbits/s, inferior,
portanto, transmisso em banda de base.
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, pelos fatores que foram levantados na parte anterior deste
documento;
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.
3.1. As Classes de Servios de Enlace
A camada de Enlace de Dados oferece servios classificados em trs principais
categorias, estas dependendo do sistema no qual elas sero implantadas:
servio sem conexo e sem reconhecimento;
servio sem conexo com reconhecimento;
servio orientado conexo.
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, por conseqncia, 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 particularmente no caso de
aplicaes tempo real 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
retransmisso daquele. Num servio sem conexo, existe a possibilidade da retransmisso
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;
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.6
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.
A comunicao entre as camadas de Rede e de Enlace feita atravs de primitivas
de servio (request, indication, response e confirm) como definidas na parte relativa
apresentao do modelo OSI. Um esquema permitindo demonstrar o modo de utilizao das
primitivas mostrado na figura 3.2. Neste esquema, representa-se nas extremidades a
camada de Rede, caracterizada pelos dois sistemas envolvidos no dilogo (no caso, A e B)
e no centro a camada de Enlace.
Os deslocamentos verticais das primitivas representam o tempo decorrido entre as
ocorrncias destas. Por exemplo, no caso das primitivas de 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.
3.2. 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.
A definio e delimitao dos quadros pode obedecer a diferentes polticas. Uma das
polticas adotadas pode ser a contagem de caracteres. Nesta poltica, introduzido um
caractere 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 caractere e em
seguida conte o nmero de caracteres para definir o tamanho do quadro. O inconveniente
desta tcnica, portanto, o fato de que o caractere que define o tamanho do quadro pode ser
modificado, o que significa que o receptor vai ler, erroneamente os quadros transmitidos. A
figura 3.3 ilustra este problema.
camada de rede camada de rede camada de enlace
request
indication
response
confirm
sistema A
sistema B
Figura 3.2 - Primitivas de servio trocadas entre as camadas de Rede e de Enlace.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.7
5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6
contadores de caracteres
quadro1 (5 car.) quadro2 (5 car.) quadro3 (8 car.)
(a)
5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6
(b)
erro contador de caracteres
Figura 3.3 - Sequncia de caracteres: (a) sem erro; (b) com erro.
Uma tcnica 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.
A figura 3.4 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, dado que os bits
podem assumir qualquer combinao de valores, uma seqncia de bits coincide com uma
das seqncias de caracteres citada, a entidade receptora na camada de Enlace pode ser
enganada por esta seqncia e, assim, receber erroneamente o quadro.
A soluo a este problema vem atravs da introduo, pela entidade de Enlace
emissora, de um caractere DLE a cada vez que, uma seqncia de bits correspondente
parte de dados, coincidir com um caractere DLE. Desta forma, basta entidade de dados
receptora eliminar os caracteres DLE dos dados antes de transmit-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.
Uma tcnica ainda 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 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. 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 3.5 ilustra
a aplicao desta tcnica. Em 3.5(a) so apresentados os dados originais e, em 3.5(b), os
mesmos dados com a introduo dos bits de transparncia.
3.3. O controle de erro
Os erros podendo ocorrer sobre os suportes de transmisso podem ter 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, capazes de provocar, numa linha transmitindo dados a 9600 bit/s, a perda de 96
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.8
bits. Os rudos impulsivos so causados pelos arcos devido ao chaveamento de rels ou
outros dispositivos eletromecnicos.
O que se tem notado, entretanto, que, independentemente do fenmeno causador
de erro, estes tendem a gerar normalmente verdadeiros pacotes de erros e no erros
simples.
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. Esta funo baseada na informao, entidade
emissora da mensagem do que ocorreu na extremidade de recepo.
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 consciente 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 isto evitado
pela adio de temporizadores, estabelecendo assim um tempo mximo de espera pelo
reconhecimento, antes da retransmisso. 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 (timeout).
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
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.
DLE STX A B DLE C DLE ETX
DLE STX A B DLE C DLE ETX DLE
(a)
(b)
Figura 3.4 - (a) Dados enviados pela camada de Rede com seqncias de delimitao; (b) idem, com
introduo dos caracteres de transparncia.
bit de transparncia
0 1 1 0 1 1 1 1 1 1 1 1 0 1
0 1 1 0 1 1 1 1 1 1 1 1 0 1 0
(a)
(b)
Figura 3.5 - (a) dados originais; (b) dados com adio do bit de transparncia.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.9
3.3.1. Os cdigos de correo de erro
Existem praticamente duas tcnicas para a correo de erro. 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 corrig-lo) e
requisitar a retransmisso do quadro. Ao primeiro tipo de informao dado o nome de
cdigo corretor e ao segundo tipo de informao cdigo detector.
3.3.2. Os cdigos de deteco de erro
Os cdigos corretores so utilizados para as transmisso de dados em casos
particulares como, por exemplo, quando os canais so unidirecionais ou quando
impossvel requisitar a retransmisso de um quadro.
Quando possvel, porm, uma soluo mais adequada atravs de uma tcnica de
deteco com retransmisso por razes de eficincia.
Um mtodo de deteco de erros largamente utilizado a definio de cdigos de
deteco de erros polinomiais, tambm denominados CRC (cyclic redundancy code). 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 x
k-1
a x
0
. A palavra 110001 contm 6 bits ela representa ento o
seguinte polinmio: x
5
+ x
4
+ x
0
.
A utilizao de cdigos de deteco polinomiais baseada na escolha de um cdigo
especial que caracteriza um polinmio gerador, ou 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.
Alguns exemplos de cdigos polinomiais adotados na deteco de erros so:
CRC-12 = x
12
+ x
11
+ x
3
+ x
2
+ x
1
+ 1
CRC-16 = x
16
+ x
15
+ x
2
+ 1
CRC-CCITT = x
16
+ x
12
+ x
5
+ 1
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. 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 coliso sero tratados nesta parte do
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.10
documento. Os mecanismos relacionados funes de interconexo merecero uma parte
dedicada, mais adiante, no curso.
4.1. Servios oferecidos pela camada de Rede
Segundo a bibliografia, 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.
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, isto sendo ilustrado pela figura 3.6.
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, da camada de Enlace para cima, os servios podem ser sem ou 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 3.7 ilustra o estado da conexo, considerando a adoo de um
servio orientado conexo. A figura 3.7(a) ilustra o estado da conexo antes do seu
estabelecimento; 3.7(b) aps o estabelecimento da conexo e, 3.7(c), aps o envio de trs
pacotes de dados.
4.1.1. As primitivas de servio
O quadro a seguir apresenta as primitivas de servio disponveis pela camada de
Rede do modelo OSI, tanto para o servio orientado conexo como para o 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)
N_FACILITY.request (qos)
N_FACILITY.indication (dest_address, qos, reason)
N_REPORT.indication (dest_address, qos, reason)
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.11
APLICAO
APRESENTAO
SESSO
TRANSPORTE
REDE
ENLACE
FSICA
servio orientado
conexo
servio sem
conexo
SAP
Figura 3.6 - Ilustrao das classes de servio do modelo OSI.
NSAPs
usurio
1
usurio
2
camada Rede
NSAPs
(a) (b) (c)
usurio
1
usurio
2
camada Rede
camada Rede
NSAPs
usurio
1
usurio
2
Figura 3.7 - 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).
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 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 iniciador atravs da primitiva
N_CONNECT.indication; por outro lado, a recusa implementada atravs da primitiva
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.12
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 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 porcentagem 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.
4.1.2. O endereamento de Rede
Uma funo importante desta camada o fornecimento de uma codificao espacial
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.
Assim, 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 de o destinatrio de um pacote. O endereo de NSAP 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;
DSP (Domain Specific Part) contm o endereo especfico do NSAP no domnio
considerado.
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 podendo 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.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.13
As sees que seguem vo discutir alguns dos conjuntos de algoritmos de
roteamento existentes.
4.2.1. Algoritmo do caminho mais curto
Este algoritmo baseado numa representao da subrede na forma de um grafo,
onde os ns so os IMP e os arcos so as linhas de comunicao. E 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.
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 a etiqueta
infinito, ou .... 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 3.8 ilustra o funcionamento deste algoritmo. Vamos considerar o grafo
apresentado em 3.8(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 3.8(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 3.8(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 3.8(d), 3.8(e) e 3.8(f).
4.2.2. 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 3.9(a) ilustra o desenvolvimento deste algoritmo, sendo que em 3.9(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.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.14
2
6
1
2
7
2
4
2
3 3
2
A
B
G
E
F
C
H
D A
B (2,A)
G (6,A)
E ( ,-)
F ( ,-)
C ( ,-)
H ( ,-)
D ( ,-)
(a)
(b)
(c)
(d)
(e)
(f)
A
B (2,A)
G (6,A)
E (4,B)
F ( ,-)
C (9,B)
H ( ,-)
D ( ,-) A
B (2,A)
G (5,E)
E (4,B)
F (6,E)
C (9,B)
H ( ,-)
D ( ,-)
A
B (2,A)
G (5,E)
E (4,B)
F (6,E)
C (9,B)
H (9,G)
D ( ,-) A
B (2,A)
G (5,E)
E (4,B)
F (6,E)
C (9,B)
H (8,F)
D ( ,-)
Figura 3.8 - Ilustrao do algortimo de Dijkstra.
A B C
D
E
F G
H
I J K L
A A 0,63 0,21 0,16
I H
B A 0,46 0,31 0,23
H I
C A 0,34 0,33 0,33
I H
D H
0,50 0,25 0,25 A I
E A 0,40
0,40 0,20 I H
F A 0,34
0,33 0,33 H I
G H 0,46
0,31 0,23 A K
H H 0,63 0,21 0,16
K A
I I 0,65 0,22 0,13 A H
K K 0,67 0,22 0,11 H A
L K 0,42 0,42 0,16 H A
(a) (b)
Figura 3.9 - Ilustrao do algoritmo multicaminho: (a) grafo da rede; (b) tabela para o n J.
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.
A vantagem desta tcnica sobre a anterior a possibilidade de definir diferentes
classes de trfego sobre diferentes caminhos. Uma outra vantagem a confiabilidade ganha,
uma vez que vrias linhas podem ser perdidas sem que a rede perca a sua conectividade.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.15
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 mal 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. 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.
4.3.1. 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.
4.3.2. A destruio de pacotes
Um outro mecanismo que adotado para o controle de congestionamento 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 consequncia, 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.
4.3.3. 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 de
congestionamento.
Outras tcnicas de controle de congestionamento so ainda implementadas, como
por exemplo:
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.16
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.
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 dispensvel. 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.
5.1. O servio oferecido camada de Sesso
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. Uma superviso fim-
a-fim, uma vez que, at o nvel 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, costuma-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 para Quality Of Service) um
aspecto importante na concepo da camada de Transporte, baseado sobre um certo
conjunto de parmetros, entre os quais:
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.17
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;
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 ser oferecido 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 tambm aqueles parmetros.
Se ela verifica no poder determinados parmetros nos valores mnimos permitidos, neste
caso ela vai rejeitar a conexo.
5.2. As primitivas de servio de Transporte
As primitivas de servio de Transporte do modelo OSI so apresentadas no quadro 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.
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
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.18
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 carta 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 ou de Apresentao).
As possveis relaes entre as primitivas de servio da camada de Transporte so
apresentadas na figura 3.10. As duas extremidades das ilustraes caracterizam os
usurios do servio de Transporte, o fornecedor sendo representado pelo espao separando
os dois usurios.
Em 3.10(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. A figura 3.10(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 3.10(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 3.10(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 3.10(e) considerado o caso em que os dois usurio iniciam, simultaneamente,
a liberao da conexo, neste caso, a conexo liberada sem a emisso de outras
primitivas de servio; finalmente, em 3.10(f), a liberao iniciada pelo prprio servio de
Transporte, que vai emitir primitivas T_DISCONNECT.indication aos dois usurios
conectados. J as figuras 3.10(g) e 3.10(h), representam, respectivamente, a etapa de
transferncia de dados, para dados normais e expressos.
5.3. Os protocolos de Transporte
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 seqenciamento 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; j, no nvel Transporte, o endereo do
destinatrio deve ser explicitamente definido;
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.19
T_CONNECT
request
T_CONNECT
indication
T_CONNECT
response
T_CONNECT
confirm
T_CONNECT
request
T_CONNECT
indication
T_DISCONNECT
request
T_DISCONNECT
indication
T_CONNECT
request
T_DISCONNECT
indication
(a) (b) (c)
T_DISCONNECT
request
T_DISCONNECT
indication
T_DISCONNECT
request T_DISCONNECT
indication
(d) (e) (f)
T_DISCONNECT
request
T_DISCONNECT
indication
T_DATA
request
T_DATA
indication
(g) (h)
T_EXPEDITED_DATA
request
T_EXPEDITED_DATA
indication
Figura 3.10 - As diversas interaes entre as primitivas de servio de Transporte.
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:
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.20
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
seqenciamento;
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 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.
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 propriamente dito, tratando essencialmente de problemas de comunicao
como, por exemplo, codificao e transmisso de bits, controle de fluxo e de erros,
seqenciamento, roteamento, controle de trfego e gerenciamento de conexes; as
camadas superiores, concretizadas pelas camadas de 5 a 7, cujos servios se orientam
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.21
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.
6.1. Servios oferecidos camada de apresentao
Segundo o modelo OSI, os usurios dos servios de Sesso so as entidades de
Apresentao, a posio desta camada estando ilustrada na figura 3.11. 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... 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 3.12. Em 3.12(a), mostrada uma
correspondncia de 1 a 1 entre uma conexo de Sesso e uma de Transporte. Por outro
lado, como mostrado em 3.12(b), pode-se utilizar uma mesma conexo de Transporte para
suportar diferentes sesses consecutivas (ver exemplo da agncia de reservas de
passagens em Tanenbaum 90). 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 3.12(c), se
caracteriza, por exemplo, quando as entidades de Transporte assumem a tarefa de
retomada de dilogo aps uma pane.
6.2. Sesso x Transporte: similaridades e diferenas
Esta a principal funo da camada de Sesso e, 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.
TSAP
SSAP
ENTIDADE
DE SESSO
1 a 3
4
5
6
7
TRANSPORTE
APRESENTAO
protocolo de
sesso
SPDUs
servios oferecidos
camada de apresen-
tao
servios oferecidos
camada de sesso
TSAP
SSAP
ENTIDADE
DE SESSO
TRANSPORTE
APRESENTAO
Figura 3.11 - Posio da camada de Sesso no modelo OSI.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.22
Transporte
Sesso
Transporte
Sesso
Transporte
Sesso
(a) (b) (c)
Figura 3.12 - Diferentes relaes entre conexo de Sesso e de Transporte: (a) correspondncia 1 a 1;
(b) uma conexo de Transporte para vrias sesses; (c) vrias conexes de Transporte para uma nica
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 que causa a terminao
abrupta da conexo, pondendo ocorrer inclusive perda dos dados ainda em trnsito. 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 3.13. Em 3.13(a)
apresentada a liberao abrupta de uma conexo de Transporte; em 3.13(b), apresentada
a liberao negociada de uma sesso. Como se pode ver em 3.13(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.
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).
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.23
T_DISCONNECT
request
T_DISCONNECT
indication
T_DATA
request perda
dado
S_RELEASE
request
S_RELEASE
indication
S_DATA
request
S_DATA
indication
S_RELEASE
response
S_RELEASE
confirm
(a) (b)
Figura 3.13 - (a) liberao abrupta; (b) liberao negociada.
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.
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 3.14(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 3.14(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.
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.
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 ou erros ou panes, esta camada cobre
unicamente os problemas relacionados transmisso de dados propriamente dita, no
levando em conta os problemas podendo 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!).
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.24
(a) (b)
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_TOKEN_GIVE
request
S_TOKEN_GIVE
indication
S_DATA
request
S_DATA
indication
Figura 3.14 - (a) comunicao full duplex; (b) comunicao half duplex com ficha.
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 3.15(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.
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 indicao 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.
1 2 3 4 5 6 7 8 9
SESSO
ponto de sincronizao
1
2 3 4
5
6 7 8
9
ponto de sincronizao
mximo
ponto de sincronizao
mnimo
DILOGO
(a)
SESSO
(b)
Figura 3.15 - (a) Pontos de sincronizao; (b) Pontos de sincronizao mximos e mnimos.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.25
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
utlizados para separar pores menores da informao. No caso de um livro, esta poro
poderia ser as pginas dos captulos. A figura 3.15(b) ilustra os 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 significa que ela pode ser apagada da extremidade emissora. Isto j no
ocorre no caso dos pontos de sincronizao mnimos.
Alem 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.
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 3.16. 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).
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:
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.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.26
arquivo 2 arquivo 1
ATIVIDADE
incio atividade
fim atividade
SESSO
ATIVIDADE
Figura 3.16 - Conceito de atividade aplicado a uma transferncia de arquivo.
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 3.17.
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).
transf. arquivo
1 parte
transf. arquivo
2 parte
consulta
anurio
1
incio atividade 1
interrupo atividade 1
incio atividade 2
fim atividade 2
retomada atividade 1
fim atividade 1
2 3 4 5 6
1
2
3
4
5
6
Figura 3.17 - Exemplo da interrupo de um atividade para a realizao de outra.
CAP. 3 AS SETE CAMADAS DO MODELO OSI PROF. VITRIO BRUNO MAZZOLA
3.27
PRIMITIVA R I Rs C FUNO
ORIENTADO CONEXO
S_CONNECT estabelecimento de conexo
S_RELEASE
S_U_ABORT
S_P_ABORT
transferncia de dados normais
transferncia de dados urgentes
transferncia de dados tipados
transf. de dados de capacidade
S_TOKEN_GIVE
S_TOKEN_PLEASE
S_CONTROL_GIVE
transferncia de dados normais
transferncia de dados urgentes
transferncia de dados tipados
transf. de dados de capacidade
P_TOKEN_GIVE
P_TOKEN_PLEASE
P_CONTROL_GIVE
=
1 0 0 0
0 3 0 1
0 0 1 0
Pr e
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.3
=
0 1 0 0
3 0 1 0
0 0 0 1
Post
=
1 1 0 0
3 3 1 1
0 0 1 1
C
=
0
3
0
M
2.4. Definies e regras de disparo
2.4.1. Rede de Petri Pura
Uma Rede de Petri definida como pura, se para todas as transies, no existe
nenhum lugar que esteja, ao mesmo tempo, na entrada e na sada, ou seja, a rede no
possui nenhuma malha elementar. A Rede de Petri da figura 8.1 uma Rede de Petri Pura,
enquanto que a rede da figura 8.2 no apresenta esta propriedade.
2.4.2. Transio Habilitada
Uma transio t dita habilitada se e somente se:
p P M(p) Pre(p,t)
Ou seja, todos os lugares de entrada da transio considerada devem possuir, no
mnimo, o nmero de fichas correspondentes ao peso do arco que liga o lugar transio.
Por exemplo, para a rede da figura 8.1, considerando a marcao inicial igual a:
=
0
3
0
M
as transies habilitadas so a e c, porque
=
0
1
0
) (, Pr a e e
=
0
3
0
) (, Pr c e
e, portanto,
M(p) > Pre(,a) e M(p) > Pre(,c)
2.4.3. Disparo de uma Transio
Se t uma transio habilitada a partir da marcao M, o disparo de t origina uma
nova marcao M de forma que:
p P M(p) = M(p) Pre(p,t) + Post(p,t)
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.4
a
b
P1
c
d
P3
P2
3
3
e
Figura 8.2 Exemplo de uma Rede de Petri no pura.
Por exemplo, na rede da figura 8.1, aps o disparo da transio a, considerando a
marcao inicial M, obtm-se a seguinte marcao M:
=
0
2
1
0
0
1
0
1
0
0
3
0
' M
2.4.4. Conflito e Paralelismo
O conflito em Redes de Petri pode ser definido em dois nveis: o conflito estrutural e o
conflito efetivo. O conflito estrutural refere-se quele estabelecido em funo da estrutura
(layout) da prpria rede. Duas transies t1 e t2 encontram-se em conflito estrutural se
existe pelo menos um lugar de entrada comum entre as duas.
p Pre(p,t1).Pre(p,t2) 0
O conflito efetivo est relacionado a questes circunstancial de disparo das
transies. Duas transies t1 e t2 encontram-se em conflito efetivo se elas encontram-se
em conflito estrutural e se:
M Pre(,t1)
M Pre(,t2)
O paralelismo visto igualmente nos mesmo nveis que o conflito. Duas transies,
t1 e t2 encontram-se em paralelismo estrutural se:
(Pre(,t1))
T
x Pre(,t2) = 0
Ou seja, elas no possuem nenhum lugar de entrada em comum.
Duas transies, t1 e t2 esto em paralelismo efetivo se elas possuem paralelismo
estrutural e se:
M Pre(,t1)
M Pre(,t2)
Para o exemplo da figura 8.1, as transies a e c esto em conflito estrutural, pois
Pre(p2,a).Pre(p2,c) = 3 e as transies b e d esto em paralelismo estrutural.
Para a marcao inicial da rede considerada, a e c esto em conflito efetivo. Por
outro lado, se for considerada a marcao M descrita abaixo, pode-se dizer que as
transies b e d so efetivamente paralelas.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.5
=
1
0
1
' M
2.4.4. Seqncia de Disparo numa Rede de Petri
Se
1 0
M M
ta
e
2 1
M M
tb
pode-se dizer que a seqncia t
a
t
b
disparvel a
partir de M
0
, o que pode ser notado como:
2
tb ta
0
M M
Seja s um vetor cujos componentes ) (t s so os nmeros de ocorrncias das
transies t numa seqncia de disparo s, este vetor denominado vetor caracterstico de s
e sua dimenso igual ao nmero de transies da Rede de Petri.
Tomando como exemplo a Rede de Petri da figura 8.1, tem-se, por exemplo, a
seqncia s = a a b:
0
2
1
0
1
2
0
2
1
0
3
0
b a a
e
=
0
0
1
2
b a a
As evolues da marcao de uma Rede de Petri podem ser dadas pela equao:
M = M Pre. s + Post. s
A mesma equao pode ser escrita como sendo:
M = M + C. s com M 0, s 0
Esta equao denominada equao fundamental de uma Rede de Petri.
importante notar que no basta encontrar um vetor que satisfaa a equao acima
para garantir que existe uma seqncia de disparo da marcao M marcao M. preciso
tambm que a marcao inicial seja tal que as transies sero efetivamente habilidatas
para cada marcao intermediria. Tomando como exemplo a Rede de Petri da figura 8.3,
se:
=
0
0
0
1
M
=
1 1 0 0
0 1 1 0
0 0 1 1
1 1 1 1
C
=
1
1
1
1
abcd
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.6
a
P1
b
P2
c
P3
d
P4
Figura 8.3 Exemplo de seqncia invlida.
No entanto, analisando-se a rede, observa-se que a seqncia abcd no vlida,
pois, aps o disparo de a, a transio b, fica desabilitada. Portanto, no se pode escrever:
M M
abcd
2.4.5. Conjunto das Marcaes Acessveis
O conjunto das marcaes acessveis A(R;M
0
) de uma Rede de Petri marcada o
conjunto de marcaes que se pode atingir a partir da marcao inicial M
0
por uma
seqncia de disparo. A notao utilizada para isto :
A(R;M
0
) = { M
i
, s
i
M M
s
0
}
Considerando que este conjunto finito, possvel represent-lo sob a forma de um
grafo G A(R;M
0
). Este grafo ter por vrtices o conjunto das marcaes acessveis A(R;M
0
),
um arco orientado conecta dois ns M
i
e M
j
se existe uma transio t disparvel que permita
passar da marcao M
i
a M
j
, ou seja:
j i
M M
t
Em geral os arcos do grafo so etiquetados pelas transies correspondentes, o que
caracteriza o grafo de marcaes como a mquina de estados equivalente da Rede de Petri.
A figura 8.4 ilustra o grafo de marcaes obtido para a Rede de Petri da figura 8.1.
3. PROPRIEDADES DAS REDES DE PETRI
Um modelo descrito na forma de uma Rede de Petri pode oferecer importantes
informaes relacionadas ao problema ou sistema para o qual o mesmo foi construdo. As
propriedades que podem ser observadas num modelo em Rede de Petri podem estar ou no
associadas marcao inicial da mesma.
No caso de propriedades associadas marcao inicial, no evidente que
concluses podero ser obtidas facilmente, uma vez que nem sempre o conjunto de
marcaes acessveis finito.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.7
0
3
0
1
2
0
0
0
1
2
1
0
3
0
0
a
b
c
d
a b
a b
Figura 8.4 Grafo de marcao para a Rede de Petri da figura 8.1.
Por outro lado, no caso de propriedades que no dependem da marcao (as
propriedades estruturais), podem permitir a obteno de resultados importantes, a partir da
resoluo de sistemas de equaes lineares.
3.1. Rede de Petri K-limitada (Limitao)
Esta definio est associada definio de lugar k-limitado e binrio.
3.1.1. Lugar K-limitado e Binrio
Um lugar p de uma rede marcada dito k-limitado se e somente se:
M A(R;M
0
) M k
Se k = 1, diz-se que o lugar binrio (ou salvo). Considerando a Rede de Petri da
figura 8.1, pode-se verificar que para a marcao inicial considerada desde o incio, o lugar
P3 salvo, enquanto os lugares P1 e P2 so 3-limitados.
3.1.2. Rede de Petri marcada K-limitada e salva
Uma Rede de Petri marcada N dita k-limitada se e somente se todos os lugares
so k-limitados. Uma Rede de Petri marcada dita salva se e somente se todos os seus
lugares so salvos (binrios).
A Rede de Petri da figura 8.1 3-limitada para a marcao inicial que foi considerada
desde o incio deste captulo (3 fichas no lugar P2). Se a marcao inicial fosse de apenas
uma ficha em P2, a Rede de Petri seria salva, observando que, para esta marcao, as
transies c e d jamais seriam habilitadas.
Por outro lado, se considerarmos a Rede de Petri da figura 8.5, para a marcao
inicial indicada na figura, a cada vez que a seqncia de transies a b ocorre, uma ficha
gerada no lugar P3. Sendo assim, a Rede de Petri considerada no limitada porque o lugar
P3 no limitado. Se aprofundarmos a anlise desta rede, vamos concluir que os lugares P1
e P2 tambm no so limitados.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.8
a
P1
c
P3
b
P2
Figura 8.5 Uma Rede de Petri no limitada.
Esta propriedade de limitao pode ter interpretaes diversas, dependendo, claro,
do sistema representado na rede. Por exemplo, no caso do modelo de um protocolo de
comunicao, a produo de fichas num lugar pode significar o aparecimento de mensagens
numa entidade que no tem capacidade de dar vazo a estas.
Portanto, em grande parte dos modelos construdos com base nas Redes de Petri, a
verificao desta propriedade um bom sinal para o sistema. Sendo assim, diz-se que esta
uma boa propriedade.
3.2. Rede de Petri Viva (Vivacidade)
A vivacidade de uma Rede de Petri uma propriedade relacionada marcao e s
transies da rede.
3.2.1. Transio Quase-Viva
Uma transio t de uma Rede de Petri Marcada N com:
N = <R,M
0
>
dita quase-viva se e somente se existe uma seqncia de disparo s tal que:
'
s
0
M M e
t
' M
Pode-se, ainda, escrever esta condio por:
t s
0
M
3.2.2. Transio Viva
Uma transio t de uma Rede de Petri Marcada N com:
N = <R,M
0
>
dita viva se e somente se:
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.9
M A(R;M
0
) s
t s
M
Traduzindo em texto, pode-se dizer que uma transio quase-viva se existe uma
seqncia de transies a partir da marcao inicial que vai conduzir a seu disparo. Uma
transio ser dita viva quando, para qualquer marcao da Rede de Petri existir uma
seqncia de transies que vai conduzir a seu tiro.
3.2.3. Rede de Petri Viva
Uma Rede de Petri Marcada N = <R,M
0
> dita viva se e somente se todas as suas
transies forem vivas.
Para a Rede de Petri Marcada da figura 8.6, por exemplo, o Grafo de Marcao para a
marcao inicial indicada na figura mostrado na figura 8.7. Analisando o grafo, pode-se
concluir que a transio d quase-viva, mas no-viva, pois ela s disparada uma vez, j
que, uma vez disparada, a evoluo da Rede de Petri fica presa no sub-grafo da direita. J,
as transies a, b, c, e e f so vivas, pois elas aparecem no subgrafo da direita e,
observando o grafo, veremos que ser possvel, a partir de qualquer marcao, encontrar
uma seqncia de disparo que conduza a estas.
Com relao a esta propriedade, pode-se dizer:
para a verificao desta propriedade, verificado sempre uma Rede de Petri
Marcada;
a verificao desta propriedade garante que, para a marcao inicial considerada,
sua estrutura no permite a existncia de loops no sistema;
uma Rede de Petri Viva garante ainda a ausncia de uma parte morta (inatingvel)
no sistema.
a
P1
c b
P2
e
P4 P3
f d
Figura 8.6 Transio quase-viva e no viva.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.10
3 4
1 3 1 4
2 3
3 3
2 4
4 4
1 1
1 2
2 2
1
2
3 4
d
e f
a
c d
e
f
c b
e f
c b
f
e
a
a
b c
c
a
f
a
b
e
Figura 8.7 Grafo de Marcao contendo uma transio quase-viva.
Analisando exemplos de Redes de Petri anteriormente apresentadas, pode-se
observar que a Rede de Petri da figura 8.1 viva, enquanto a da figura 8.6 no .
3.3. Rede de Petri Reinicializvel
A vivacidade de uma Rede de Petri Marcada N = <R,M
0
> reinicializvel se e
somente se seu grafo de marcao for fortemente conexo, ou melhor,
M A(R;M
0
) s
0
st
' M M
A maior parte dos sistemas, incluindo-se nesta classe os protocolos de
comunicao, possuem comportamento repetitivo e, portanto, suas Redes de Petri sero
reinicializveis.
Tomando como exemplo a Rede de Petri da figura 8.8, cujo grafo de marcao est
apresentado na figura 8.9, pode-se verificar que ela no reinicializvel, pois no existe
nenhuma seqncia que permita retornar marcao inicial. Por outro lado, importante
verificar que ela viva, uma vez que sempre possvel disparar as transies a, b e c.
3.4. Invariantes de Lugar e Componentes Conservativas
Esta uma das propriedades relacionadas estrutura da Rede de Petri,
independente da marcao. Para ilustrar o significado desta propriedade, ser utilizado um
exemplo de Rede de Petri, cuja estrutura est apresentada na figura 8.10.
Considerando esta estrutura e observando os lugares P1 e P2 e as transies a e b,
pode-se verificar que a soma das marcaes considerando estes dois lugares e os disparos
das duas transies citadas se mantm constante, ou melhor, M(P1) + M(P2) = 1. Mesmo
considerando os disparos de outras transies da Rede, observaremos que no ocorrero
mudanas nesta soma. Pode-se afirmar, ento que, para todas as marcaes da rede,
M(P1) + M(P2) = M
0
(P1) + M
0
(P2) M A(R;M
0
)
Com base nisto, o par de lugares P1 e P2 chamado uma componente
conservativa e a forma linear M(P1) + M(P2) denominada um invariante de lugar. Pode-se
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.11
definir um invariante linear de lugar como uma funo linear das marcaes cujo valor uma
constante, dependendo apenas da marcao inicial da rede. Os invariantes de lugar
correspondem a uma restrio em termos de estados e eventos do sistema que sero
verificadas em qualquer circunstncia.
Uma componente conservativa corresponde soluo da equao f
T
.C = 0
e C = Post Pre e f a funo linear que define a componente. Do ponto de vista grfico,
uma componente conservativa define uma sub-rede de Petri composta pelos lugares cuja
componente de f diferente de zero e as transies de entrada e sada destes lugares.
Se f soluo da equao citada acima, ento,
f
T
.M = f
T
. M
0
M A(R;M
0
)
o invariante linear de lugar correspondente.
3.5. Invariantes de Transio e Componentes Repetitivas
Tomando novamente a Rede de Petri da figura 8.10, pode-se verificar que o disparo
da seqncia c d gera a mesma marcao. A sub-rede que ser observada agora a
formada pelos lugares P3, P4 e P5, com as transies c e d. Esta sub-rede dita ser uma
componente repetitiva estacionria.
Um invariante de transio uma seqncia de disparos de transies que no
provoca modificaes na marcao da rede. A presena de um invariante de transies no
modelo de um sistema pode indicar a existncia de uma seqncia cclica de eventos que
pode ser repetida indefinidamente.
Toda soluo da equao C. s = 0 constitui uma componente repetitiva estacionria.
Uma componente repetitiva estacionria define uma subrede onde s so consideradas as
transies para as quais as componentes do vetor s so diferentes de 0, com seus lugares
de entrada e de sada. A componente repetitiva estacionria no depende da marcao
inicial, mas a existncia de um invariante linear de transio depende.
a
P1
b
P2 c
P4
P3
Figura 8.8 Rede de Petri no reinicializvel.
1 4 1 3 2 4 2 3
a
c
b a
Figura 8.9 Grafo de Marcao da Rede de Petri da figura 8.8.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.12
a
b
P2
P1
P3
c
d
P4 P5
3
3
Figura 8.10 Rede de Petri com invariante de lugar.
4. REPRESENTAO DE DADOS E DE ASPECTOS TEMPORAIS
As Redes de Petri so teis para efetuar a modelagem de qualquer tipo de aplicao
que apresente riqueza em termos de paralelismo, comunicao, competio por recursos e
outras caractersticas tpicas dos sistemas distribudos. Nesta famlia de aplicaes,
encontram-se os protocolos de comunicao, tema central desta disciplina.
Assim como as demais aplicaes distribudas, os protocolos de comunicao
requerem um modelo que possibilite expressar os aspectos de processamento e as
restries temporais.
Apesar de poderoso, o modelo original das Redes de Petri no foi concebido para
expressar, de forma explcita estes aspectos e, por esta razo, outros modelos (ou
extenses ao modelo original) foram desenvolvidos.
4.1. Interpretao das Redes de Petri
4.1.1. Lugares, transies e fichas
Na construo de modelos utilizando tcnicas formais, importante que se tenha
condies de dar um significado fsico aos diversos elementos sintticos da notao
utilizada. Sendo assim, interpretar um modelo descrito em Redes de Petri ou um resultado
de anlise, fundamental dar um sentido aos conceitos de lugares, transies e fichas.
evidente que o significado especfico de cada uma destas entidades ser
fortemente dependente do sistema sob estudo. No entanto, pode-se dar significados mais
genricos a estes elementos.
Sob esta tica, os lugares podem ser interpretados como atividades de um sistema a
eventos discretos. reas de estoque num sistema de produo, condies lgicas num
sistema seqencial, procedimentos a serem executados num sistema operacional, so
alguns exemplos de elementos que podem ser representados por lugares num modelo a
base de Redes de Petri.
s transies, geralmente, so associados eventos considerados instantneos num
sistema, que possuem durao nula ou desprezvel na escala de tempo fundamental do
sistema. O clique de um mouse, a usinagem de uma pea, o envio de uma mensagem, a
ativao de um processo so alguns exemplos disto. possvel tambm associar atividades
ou procedimentos s transies, principalmente quando, do ponto de vista do sistema estas
sejam consideradas atmicas ou indivisveis. Neste caso, as transies podem ser
consideradas simplificaes de um trecho de Rede de Petri caracterizado por uma transio
de incio, um lugar representando a atividade ou procedimento e uma transio de fim, como
ilustrado na figura 8.11.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.13
Finalmente, as fichas podem ser interpretadas como objetos fsicos (por exemplo,
peas ou ferramentas num sistema de fabricao), informaes, estruturas de dados ou
recursos do sistema. Estas entidades so submetidas a eventos (disparos de transio) que
as fazem mudar de estado (passar de um lugar para o outro na Rede de Petri).
4.1.2. Interao com Dados e Ambiente
Quando se considera um sistema capaz de realizar o tratamento de informao ou
de objetos fsicos, este tratamento deve ser especificado. Por esta razo, alm do ttulo do
tratamento, , muitas vezes, necessrio, explicitar como este tratamento realizado, seja a
nvel das transies, seja a nvel dos lugares.
Na primeira situao, considera-se que o tratamento ser realizado de forma
instantnea e ininterrupta, no momento do disparo da transio. Na segunda situao,
considera-se que seja uma atividade de tratamento que toma certo tempo para ser realizada,
tempo este que envolve a durao da permanncia da ficha no lugar considerado.
No seu modelo original, uma Rede de Petri permite descrever o fluxo dos tratamentos
a serem realizados, ou melhor, a estrutura de controle do sistema sob estudo. Entretando,
nem sempre determinados tratamento so imediatamente realizados a partir do momento
em que o tratamento precedente foi finalizado. Ainda, a sua realizao ou no pode estar
associada a condies verificadas sobre as estruturas de dados do sistema (condies do
tipo if, por exemplo). Estas situaes podem ser representadas por um trecho de Rede de
Petri, caracterizado por diversos lugares e transies que iro expressar as restries
associadas ao tratamento.
Do ponto de vista da teoria das Redes de Petri, tais condies representam
situaes de conflito, onde o disparo das prximas transies depende da verificao de
propriedades associadas s estruturas de dados do sistema. Por exemplo, num protocolo de
comunicao, a ao a ser tomada por uma entidade de protocolo depende fortemente dos
campos da PDU recebida.
No caso de sistemas que interagem com o ambiente, podem existir condies
suplementares de disparo associadas s transies (ou aos lugares). Estas aes
(tratamentos particulares) e estas condies estaro relacionadas a dados ou eventos
externos, como sensores, atuadores, recebimentos ou envios de mensagem. Os relgios de
tempo real podem tambm representar um aspecto importante no comportamento dos
sistemas e o tempo intervem de forma explcita.
P1 P2
P3 P4
Atividade
t1
t2
P1 P2
P3 P4
t
Atividade
Figura 8.11 Associao de uma atividade a uma transio.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.14
4.1.3. Controle, Dados e Ambiente
Para que se possa realizar o modelo de um sistema aberto (um sistema que se
comunique freqentemente com o ambiente), importante que e Rede de Petri possa ser
estruturada em duas partes, que permitam explicitar os elementos que compem o sistema
sob estudos e aqueles que caracterizam o ambiente.
Alm disso, importante explicitar as partes da rede que esto associadas ao
controle e aquela que representa os aspectos relacionados aos dados do sistema. Alm dos
dados internos, pode ser importante representar o tempo e os dados trocados com o
ambiente.
4.1.4. Representao Explcita do Tempo
A representao explcita do tempo pode ser feita a partir de variveis booleanas que
sero associadas a condies e aes associadas s transies. Os valores destas
variveis so, obviamente, dependentes do tempo.
Consideremos mon() uma varivel booleana dependente do tempo. Se atribudo a
ela o valor 0, ela pode reassumir o valor 1 aps um determinado perodo de tempo (um
monoestvel). Vamos supor que no momento do disparo de uma transio t1, esta varivel
seja colocada a 0. Se uma dada transio t2 que fica sensibilizada imediatamente aps o
disparo de t1 tem, associada a ela a condio mon() = 1, ento, o intervalo de tempo entre
o disparo de t1 e o disparo de t2 ser igual a .
4.2. Anlise de Redes de Petri Interpretadas
4.2.1. Resultados
importante notar que uma Rede de Petri ordinria descreve apenas a parte controle
de um sistema. Neste caso, a marcao da Rede de Petri vai fornecer apenas informaes
sobre o estado de controle do sistema. Numa Rede de Petri interpretada, o estado do
sistema ser descrito pela marcao associada ao estado dos dados. Sendo assim, numa
Rede de Petri interpretada:
Estado do Sistema = Marcao + Estado dos Dados
Estado dos Dados = Estado das Variveis Internas + Tempo
Por outro lado, preciso observar que a evoluo da marcao numa Rede de Petri
interpretada vai estar relacionada a restries da evoluo da marcao de uma Rede de
Petri ordinria. Por esta razo, pode-se dizer que o conjunto das marcaes acessveis de
uma Rede de Petri interpretada um subconjunto daquele das marcaes acessveis de
uma Rede de Petri ordinria. Entretanto, para que uma transio possa ser disparada numa
Rede de Petri interpretada, preciso que ela possa ser disparada na Rede de Petri ordinria.
Mas, a interpretao pode levar ao fato de que uma transio que disparvel numa Rede
de Petri ordinria pode, num dado instante no ser disparvel numa Rede de Petri
interpretada, em funo das restries impostas no modelo (por exemplo, a progresso do
tempo, o valor de uma varivel, etc...).
Sendo assim, do ponto de vista de anlise de uma Rede de Petri, importante
observar as seguintes relaes.
Rede de Petri Autnoma Rede de Petri Interpretada
k-limitada para M k-limitada para estado
f invariante de lugar f invariante de lugar
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.15
Por outro lado:
Rede de Petri Autnoma Rede de Petri Interpretada
Viva () Viva
Reinicializvel () Reinicializvel
4.3. Outros Modelos de Redes de Petri
As Redes de Petri Interpretadas permitem expressar, de forma bastante precisa, a
parte controle de um sistema ou protocolo de comunicao. Por outro lado, a representao
da parte dados no o forte deste modelo.
Em razo disto, muitos trabalhos foram desenvolvidos em torno das Redes de Petri
com o objetivo de oferecer um mecanismo de estruturao que permita isolar dados locais e
dados globais. Nas sees seguintes, sero apresentados os modelos de Redes de Petri
Coloridas, as Redes de Petri Predicados-Transies, as Redes de Petri Temporais e as
Redes de Petri Temporizadas.
5. REDES DE PETRI COLORIDAS
5.1. Caractersticas do Modelo
A separao entre o que a parte dados e a parte controle num sistema no
necessariamente evidente, sendo, na maior parte das vezes tomada pelo desenvolvedor no
momento da Anlise de Requisitos e do Projeto do Sistema. No limite, toda a parte controle
do sistema pode ser integrada s condies de execuo dos tratamentos e ser
representada estruturalmente por uma Rede de Petri. Por outro lado, se o desenvolvedor
atribui muito do comportamento parte controle, o modelo em Rede de Petri pode tornar-se
extremamente complexo e de difcil representao e anlise.
Uma tcnica que permite expressar sistemas complexos por modelos relativamente
simples , quando possvel, replicar conjuntos de processos similares (com a mesma
estrutura de controle) numa nica componente conservativa. O inconveniente desta tcnica
a perda do aspecto individualidade comportamental que cada processo pode apresentar,
levando em conta, principalmente, a parte dados a que cada processo pode estar sujeito.
A idia de individualizar as fichas numa Rede de Petri permite replicar os
comportamentos de vrios processos por uma nica estrutura de Rede sem correr o risco
de perder informao sobre sua individualidade.
Vamos tomar como exemplo a Rede de Petri da figura 8.12, que descreve um
problema clssico de algoritmo distribudo, no caso o problema dos leitores e escritores. No
exemplo, so representados 3 leitores e 1 escritor. No difcil observar que os trs leitores
apresentam estrutura comportamental idntica e, utilizando esta identidade, possvel
replicar seus lugares e suas transies numa nica estrutura. O resultado desta replicao
mostrado na figura 8.13. A grande vantagem desta estratgia a obteno de um modelo
mais simples para construo e para anlise. Por outro lado, perde-se informao, pois
quando um leitor evolui, impossvel conhecer sua identidade.
5.2. Associando Cores s Fichas
Uma forma de diferenciar as fichas numa Rede de Petri associar a elas cores,
que so expressas na forma de nmeros inteiros ou de conjunto de etiquetas.
Conseqentemente, associa-se cada lugar um conjunto de cores de fichas que podem
posicionar-se nele. Ainda, associa-se a cada transio um conjunto de cores que
corresponde s possibilidades de disparos da transio.
No caso mais simples, quando todos os processos possuem rigorosamente a
mesma estrutura de controle, o conjunto de cores para os lugares e para as transies so
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.16
os mesmos, sendo que as cores sero, usualmente, associadas s diferentes instncias de
processos.
11
d1
21
31
a1
f1
12
d2
22
32
a2
f2
13
d3
23
33
a3
f3
1E
dE
2E
3E
aE
fE
3
3
Figura 8.12 Rede de Petri representando o problema dos leitores x escritores.
1L
dL
2L
3L
aL
fL
1E
dE
2E
3E
aE
fE
3
3
Figura 8.13 Problema dos leitores x escritores com replicao dos leitores.
US
ini
fim
MA PI
id
pea
pea
mquina
mquina
Figura 8.14 Exemplo de Rede de Petri Colorida.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.17
No caso do problema dos leitores e escritores, por exemplo, os processos
correspondem identidade dos leitores, o que implica que os lugares 1L, 2L e 3L e as
transies dL, aL e fL podem ter associado o conjunto (L1,L2,L3).
Por outro lado, quando os lugares so comuns a diversos processos, necessrio
introduzir o conceito de cores compostas. A Rede de Petri da figura 8.14 ilustra o modelo
de uma linha de montagem composta por duas mquinas e dois tipos de peas a serem
usinadas.
O lugar PI possue as cores pi1 e pi2 que correspondem aos nomes das peas, o
lugar MA as cores ma1 e ma2 que so os nomes das mquinas e o lugar US vai conter as
cores pi1.ma1, pi1.ma2, pi2.ma1 e pi2.ma2 que correspondem s diversas operaes
possveis, e que sero denotadas u11, u12, u21 e u22.
5.2. Associando Funes aos Arcos
Numa Rede de Petri Colorida, os arcos no so mais representados por nmeros
inteiros, mas devem ser especificadas as aes que devero ser realizadas considerando
cada cor possvel num lugar. Cada arco dever ter, ento, associado a ele, uma matriz cujas
linhas sero as possibilidades de disparo da transio e as colunas as possveis cores das
fichas nos lugares. Retomando o exemplo da figura 8.14, pode-se verificar que, no caso do
arco que conecta o lugar PI transio ini e o arco que conecta MA a ini, sero descritos
por:
1
1
0
0
0
0
1
1
pi1 pi2
u11
u22
u21
u22
1
0
1
0
0
1
0
1
ma1 ma2
u11
u22
u21
u22
5.3. Definio Formal de uma Rede de Petri Colorida
Uma Rede de Petri Colorida associada a uma marcao inicial um hexupla dada
por:
N
C
= <P,t,C
or
,C
sc
,W,M
0
>
Onde:
P, um conjunto finito de lugares;
T, um conjunto finito de transies;
C
or
, um conjunto finito de cores;
C
sc
, uma funo subconjunto de cores associada a cada lugar e a cada
transio;
W, a funo de incidncia (equivalente a C = Pre Post); cada elemento
de W corresponde a uma funo do tipo:
W(p,t) : C
sc
(t) x C
sc
(p)
1
M
0
, a marcao inicial para cada lugar e para cada cor possvel neste
lugar:
M
0
(p) : C
sc
(p)
1
o conjunto dos naturais.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.18
5.4. Exemplo
Retomando o exemplo da figura 8.14, teremos:
C
or
= {pi1,pi2,ma1,ma2,u11,u12,u21,u22}
C
sc
(PI) = {pi1,pi2}
C
sc
(MA) = {ma1,ma2}
C
sc
(US) = C
sc
(ini) = C
sc
(fim) = {u11,u12,u21,u22}
as funes definidas para W so:
id(u
i j
) = u
i j
mquina(u
i j
) = ma
j
pea(u
i j
) = pi
i
a matriz W fica:
=
mquina mquina
id id
pea pea
W
a marcao inicial M
0
:
=
0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1
0
M
6. REDES DE PETRI PREDICADOS-TRANSIES
6.1. Variveis
Nas Redes de Petri Coloridas, o poder de expresso reforado pela substituio
dos nmeros inteiros da matriz de incidncia de uma Rede de Petri Ordinria por funes.
Nas Redes de Petri Predicados-Transies, as transies de uma Rede de Petri Ordinria
so consideradas como regras num sistema de lgica proposicional e o poder de expresso
reforado pela substituio das transies por regras de uma lgica de primeira ordem,
onde variveis so consideradas. Uma regra (ou transio) descreve um conjunto de
eventos e no mais um nico evento. O conjunto de eventos descrito pelo conjunto das
possveis substituies das variveis por valores.
Desta forma, em lugar de regras do tipo...
SE pelo menos uma pea e pelo menos uma mquina, FAZER usinagem
teremos regras do tipo...
SE uma pea <x> e uma mquina <y>, FAZER usinagem <u>
As variveis <x>, <y> e <u> assumiro valores num conjunto de constantes
descrevendo as peas em espera na usinagem e as mquinas livres. Estas constantes
assumem um papel anlogo ao das cores numa Rede de Petri Colorida. As variveis so
associadas aos arcos da Rede de Petri, em lugar das funes definidas nas Redes de Petri
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.19
Coloridas. Para o exemplo considerado anteriormente, a Rede de Petri Predicados-
Transies que o representa est ilustrado na figura 8.15.
Numa Rede de Petri Predicados-Transies no se tem a necessidade de definir a
priori que fichas devero estar presentes nos lugares como se faz no caso das Redes de
Petri Coloridas (ver o exemplo descrito pela figura 4.6). Isto definido pelas prprias regras
associadas aos arcos, ou seja, uma vez que se conhece os possveis valores a serem
assumidos pelas variveis, a cada vez que a transio for disparada, basta avaliar os valores
de cada varivel para se conhecer em que condies ela foi disparada.
O mecanismo de substituio das variveis por constantes no momento do disparo
de uma transio denominado unificao. Quando o mecanismo de unificao produz
mais de uma soluo, considera-se a ocorrncia de um conflito. O espao de conflito
compreende todas as transies habilitadas para uma dada marcao e, para cada
transio, o conjunto de substituies possveis.
Para permitir a escolha das fichas e transies a serem disparadas, associa-se
condies suplementares de disparo (por exemplo, especificar que determinadas mquinas
s podem manipular algumas peas), como no caso das Redes de Petri Interpretadas.
Entretando, estas condies influem apenas nas constantes a serem associadas s
fichas, ou melhor, sobre as constantes que substituem as variveis no momento do disparo
das transies. As condies so escritas como funes das variveis associadas aos
arcos de entrada e de sada da transio.
6.2. Noo de n-upla de Constantes e Variveis
No momento do disparo da transio ini, toma-se uma constante representando uma
pea no lugar PI, uma outra representando uma mquina no lugar MA e coloca-se no lugar
US uma constante que representa a relao temporria entre a pea e a mquina. No
momento do disparo da transio fim, o contrrio efetivado.
Em lugar de codificar este relacionamento temporrio de duas informaes, pode-se
justapor numa lista (como se fosse um record de Pascal), exceto que existir uma relao
temporria no momento do disparo da transio. Desta forma, estabelece-se uma relao
dinmica entre as constantes.
Estas listas de constantes sero denominadas n-uplas. Desta forma, no lugar US, a
constante u12 ser substituda pela n-upla <pi1,ma1>. A marcao no ser mais uma
distribuio de constantes nos lugares mas uma distribuio de n-uplas de constantes. A
figura 8.16 apresenta a Rede de Petri Predicados-Transies para o exemplo do sistema de
produo utilizado para ilustrar os diversos modelos aqui apresentados.
6.3. Definio Formal das Redes de Petri Predicados-Transies
Uma Rede de Petri Predicados-Transies inicialmente marcada uma tripla:
N
PT
= <R,A,M
0
>
Onde:
R, uma Rede de Petri Ordinria <P,T,C>, C = Post - Pre;
A, a anotao de N, A = <C
onst
,V,A
tc
,At
a
,A
c
>:
C
onst
, um conjunto de constantes (o conjunto dos N, por exemplo);
V, um conjunto de variveis formais que sero substitudas por
constantes de C
onst
no momento do disparo das instrues;
A
tc
, uma aplicao: A
tc
:T L
c
(C
onst
,V) associando a cada transio
uma condio sob a forma de predicado, utilizando constantes e
variveis formais;
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.20
US
ini
fim
MA PI
<u>
<x>
<x>
<y>
<y>
<u>
Figura 8.15 Exemplo de Rede de Petri Predicados-Transies.
US
ini
fim
MA PI
<x,y>
<x>
<x>
<y>
<y>
<x,y>
Figura 8.16 Rede de Petri Predicados-Transies fazendo uso n-uplas.
A
ta
, uma aplicao: A
ta
:T L
a
(C
onst
,V) associando a cada transio
uma ao sob a forma de predicado, utilizando constantes e variveis
formais;
A
c
, uma aplicao associando a cada arco (elemtno de C) uma
soma formal de n-uplas de elementos de V de tal forma que o mdulo
(soma de todos os elementos) seja igual ao peso do arco
correspondente;
M
0
, a marcao inicial para cada lugar associando uma soma formal de
n-uplas de constantes de C
onst
.
6.4. Exemplo
Na definio das Redes de Petri Predicados-Transies aparece a noo de rede
subjascente, obtida a partir da substituio das variveis por um peso unitrio que permite
explodir as n-uplas. A figura 8.17 representa a rede subjascente da figura 8.16. Este modelo
define, de fato, a estrutura de controle do sistema representado, uma vez que a Rede de
Petri Predicados-Transies uma forma estruturada de expressar o conjunto
controle/dados de um sistema.
Com este exemplo, tem-se:
C
onst
= {pi1,pi2,ma1,ma2}
V = {x,y}
neste exemplo, no foram definidas nem condies, nem aes
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.21
US
ini
fim
MA PI
2
2
Figura 8.17 Rede subjascente para a rede da figura 8.16.
PI
US
MA
A
c
=
-<x>
<x,y>
-<y>
<x>
-<x,y>
<y>
ini fim
PI
US
MA
M
0
=
<pi1>+<pi2>
0
<ma1+ma2>
7. REDES DE PETRI TEMPORIZADAS
Uma Rede de Petri Ordinria descreve uma relao de causalidade entre eventos.
Um evento a a causa de b, a sempre precede b, a e b so ordenados no tempo. O tempo
levado em conta apenas de maneira qualitativa. Entretanto, a considerao do tempo de
forma quantitativa um requisito importante na descrio de muitos sistemas de software,
principalmente no caso de aplicaes distribudas e protocolos de comunicao.
Numa Rede de Petri Temporizada, o tempo diretamente associado Rede de Petri,
integrando-se parte controle do sistema.
7.1. Associando o Tempo aos Lugares
Como foi visto no incio deste captulo, os lugares representam as atividades. Sendo
assim, a associao de tempo aos lugares objetiva descrever a durao da atividade. Pode-
se considerar que um lugar com uma durao associada pode ser descrito por uma
seqncia lugar-transio-lugar, onde o primeiro lugar corresponde atividade em curso, a
transio representa o evento passagem do tempo e outro lugar corresponde a uma espera
pelo final da atividade (sincronizao com outras atividades). Esta correspondncia
ilustrada na figura 8.18.
7.2. Associando o Tempo s Transies
Esta associao tem sentido quando se considera a transio como uma atividade e
no como um evento instantneo. Uma atividade deve ser vista como uma ocorrncia
ininterruptvel sob a tica do comportamento global do sistema sob anlise.
Pode-se considerar que esta transio pode ser expressa por uma seqncia
transio-lugar-transio, na qual a primeira transio corresponde a um evento instantneo
de incio de atividade, o lugar corresponde atividade em curso e a ltima transio
corresponde a outro evento instantneo de fim de atividade. Esta equivalncia ilustrada na
figura 8.19.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.22
t1
t2
p disponvel
durao t1
durao p
t2
p indisponvel
Figura 8.18 Tempo associado a um lugar.
O disparo da primeira transio seguindo o lugar p1 corresponde reserva de fichas
(as fichas reservadas no podem mais ser utilizadas para o disparo de outra transio
seno a transio t). Aps o disparo da segunda transio, as fichas so, finalmente,
liberadas.
Neste caso, da mesma forma que no caso anterior, existem fichas que desaparecem
ou que tornam-se indisponveis durante um certo intervalo de tempo e, em seguida,
reaparecem na marcao. Comparando-se as duas figuras, observa-se que as duas
abordagens so equivalentes.
7.3. Definio Formal
Uma Rede de Petri Temporizada um par N
t
= <N,
f
> com:.
N uma Rede de Petri <P,T,Pre,Post> com uma marcao inicial M
0
;
f
a funo durao de disparo:
f
: T
+
, que a cada transio estabelece a
correspondncia entre um nmero racional positivo descrevendo a durao do
disparo.
8. REDES DE PETRI TEMPORAIS
8.1. Representando Timeouts
Alguns mecanismos implicam na colocao em disponibilidade das fichas num
determinado instante. A figura 8.20 apresenta um caso tpico onde este tipo de mecanismo
implementado. O lugar rotulado espera permita a recepo (disparo da transio fim1) na
ocorrncia de um evento (condio verdadeira) sob a forma de uma ficha no lugar condio.
Mas, se a ficha no estiver posicionada ao final de um tempo , ento um alarme ativado
(disparo da transio fim2). Um tempo de atividade associado transio espera atrasaria o
disparo da transio fim1 mesmo com a existncia de uma ficha no lugar condio. Um
tempo de atividade associado transio fim2 faria com que a ficha no lugar espera fosse
imediatamente absorvido de forma irreversvel e que o alarme fosse ento disparado aps o
intervalo de tempo mesmo se uma nova ficha chega no lugar condio.
A soluo a introduo de uma durao de habilitao
s
(t) a cada transio. Uma
transio t s pode disparar se ela fica habilitada durante o intervalo
s
(t). A diferena com
relao as duraes de disparo que durante este intervalo as fichas esto disponveis nos
lugares de entrada de t e podem eventualmente ser utilizadas por uma transio em conflito
com t.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.23
Se reconsideramos o exemplo apresentado acima, basta associar uma durao
s
transio fim2 igual ao valor do tempo de espera e a fim1 uma durao de sensibilizao
imediata.
t
reserva p/ t
durao
p1
t
p1
p2
p2
Figura 8.19 Tempo associado a uma transio.
espera
alarme
fim1 [0,0]
condio
fim2 [,]
seqncia
normal
Figura 8.20 Exemplo de Redes de Petri Temporais.
O domnio principal de utilizao deste modelo (a validao de protocolos de
comunicao) fez com que, desde o incio, foi definida uma durao imprecisa de
sensibilizao de t sob a forma de um intervalo i(t) = [
s,min
(t),
s,max
(t)]. A transio t s pode
ser disparada aps o tempo
s,min
(t) e no poder mais ser disparada aps a passagem do
tempo
s,max
(t). Todos os valores dentro do intervalo definido sero valores possveis para
disparo de t.
8.2. Definio Formal
Uma Rede de Petri Temporal um par N
tl
= <N,I> onde:
N uma Rede de Petri <P,T,Pre,Post> com uma marcao inicial M
0
;
I uma funo que a cada transio t associa um intervalo fechado racional i(t)
= [
s,min
(t),
s,max
(t)], que descreve uma durao de sensibilizao.
CAP. 8 REDES DE PETRI PROF. VITRIO BRUNO MAZZOLA
8.24
8.3. Comparao com outros modelos
As Redes de Petri Temporais so mais genricas que as Redes de Petri
Temporizadas, porque elas permitem a descrio de timeouts que aqueles modelos no
permitem. Por outro lado, para passar de uma Rede Temporizada a uma Rede Temporal,
basta substituir cada transio t do primeiro par por uma seqncia [t1,t2] com:
s,min
(t
1
) =
s,max
(t
1
) = 0 e
s,min
(t
2
) =
s,max
(t
2
) = (t)
Por outro lado, pode-se dizer que uma Rede de Petri Ordinria uma Rede de Petri
Temporal onde todas as transies possuem intervalos de sensibilizao igual a [0,].
9. CONCLUSO
Neste captulo foram apresentados os principais conceitos associados s Redes de
Petri e a suas extenses. Como pde ser observado, os mecanismos presentes neste
formalismo permitem expressar de forma bastante precisa os relativos a um vasto leque de
aplicaes, incluindo os sistemas de produo, software distribudo, sistemas operacionais,
interfaces homem mquina e protocolos de comunicao, entre outras.
O poder de expresso dos diversos modelos de Redes de Petri permitem
representar e obter informaes interessantes nas etapas iniciais da concepo de sistemas
e, por isso, sua aplicao rea dos protocolos de comunicao foi uma conseqncia
inevitvel.
No captulo que segue, sero descritos alguns resultados da aplicao deste
formalismo rea dos protocolos de comunicao.
8.1
Captulo 9 Captulo 9
A T A TCNI CA CNI CA E ESTELLE STELLE
1. INTRODUO
No captulo 7, foram apresentados os principais aspectos relativos concepo dos
protocolos de comunicao, do ponto de vista das etapas do desenvolvimento e das
tcnicas associadas a cada uma das etapas.
As tcnicas de descrio formal, que sero apresentadas nesta seo,
desempenham um papel importante na Engenharia de Protocolos. Estas tcnicas so
baseadas principalmente em modelos j citados na parte anterior do documento (mquinas
de estados finitos, lgebra de processos), apresentando fatores importantes para a
representao dos aspectos relativos estruturao de uma camada de protocolo e ao
comportamento das entidades de protocolo compondo a camada.
Esta parte do documento pretende dar uma breve introduo s tcnicas de
descrio formal, dando nfase tcnica Estelle, padronizada na ISO e aos trabalhos
realizados em torno desta tcnica.
2. AS TCNICAS DE DESCRIO FORMAL PADRONIZADAS
Como j foi citado, a complexidade dos mecanismos a implementar no contexto de
um sistema distribudo, e, particularmente, no projeto das entidades de protocolo, requer a
utilizao de modelos que permitam representar, de maneira precisa e no ambgua, o
paralelismo e a comunicao. Esta foi a principal motivao da definio das Tcnicas de
Descrio Formal (ou FDT, Formal Description Techniques) para a especificao dos
protocolos e servios do modelo OSI.
Os principais resultados deste esforo foram Estelle e LOTOS, padronizadas pela
ISO (International Standardization Organization) e a tcnica SDL, definida no CCITT (Comit
Consultatif International Tlgraphique et Tlphonique).
LOTOS (Language Of Temporal Ordering Specification) uma tcnica baseada na
lgebra de processos para a representao dos comportamentos paralelos. Uma
especificao LOTOS composta de unidades executveis denominadas processos, que
sincronizam-se atravs de portas de comunicao. A verso completa de LOTOS inclui uma
linguagem de descrio de tipos abstratos de dados, denominada ACT ONE, de forma que
dois ou mais processos sincronizando-se em portas de comunicao podem tambm trocar
valores representados neste formalismo. Um grande nmero de trabalhos foi desenvolvido
sobre LOTOS desde a sua definio, particularmente para a definio de metodologias e
ferramentas de concepo e a aplicao de LOTOS especificao de protocolos de
comunicao.
SDL (Specification and Description Language) uma linguagem de especificao
baseada no formalismo das mquinas de estados finitos comunicantes. Uma especificao
SDL definida como sendo um sistema, este podendo ser decomposto em diversos blocos
que se executam concorrentemente e comunicam atravs de troca de mensagens,
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.2
denominadas sinais. O mecanismo de comunicao adotado a assncrono (filas FIFO).
Do ponto de vista da estruturao de uma especificao SDL, um bloco pode, por sua vez,
ser decomposto em diversos blocos e assim por diante_ a decomposio feita no nvel mais
baixo sendo em termos de processos. Similarmente a LOTOS, SDL representa os dados
atravs do formalismo de dados abstratos. Uma caracterstica original de SDL o fato de
que ela definida segundo duas sintaxes de linguagem, uma verso textual (denominada
SDL/PR, SDL Phrase Representation) e uma verso grfica (SDL/GR, SDL Graphical
Representation). No que diz respeito a esta tcnica, diversas ferramentas foram realizadas
para a concepo de protocolos de comunicao e programas distribudos, particularmente,
editores grficos, simuladores, verificadores e geradores de cdigo (SDL C, SDL ADA,
etc_).
No que diz respeito tcnica de descrio formal Estelle, a seo seguinte ser
dedicada apresentao, mais detalhada dos seus aspectos sintticos e semnticos.
3. A TCNICA DE DESCRIO FORMAL ESTELLE
Estelle, Extended State Transition Language, uma tcnica de descrio formal
definida e padronizada pela ISO para a especificao formal de protocolos de comunicao
e sistemas distribudos. O formalismo no qual se baseia esta tcnica aquele das mquinas
de estados extendidas, sendo que a representao e a manipulao de dados possvel
pela introduo de um subconjunto da linguagem Pascal Estelle. Nas sees que seguem
apresentaremos, sucessivamente, os principais mecanismos de Estelle, as experincias
realizadas em torno desta tcnica e um exemplo de aplicao ao domnio dos protocolos.
3.1 Arquitetura de uma Especificao Estelle
Uma especificao Estelle composta de elementos sequenciais no
determinsticos chamados instncias de mdulo (module instances). Estes comunicam-se
por um mecanismo de troca de mensagens, ou interaes (interactions), que so enviadas e
recebidas atravs de interfaces (ou portas) chamadas pontos de interao (interaction
points). A figura 9.1 ilustra estes conceitos.
Da mesma forma que uma especificao pode ser decomposta em mdulos, como
mostrado na figura 9.2, um mdulo pode, por sua vez, ser decomposto em outros
mdulos, estes em outros mdulos, e assim por diante, o que d um caractre hierrquico a
uma especificao. Se um determinado mdulo decomposto em outros mdulos, diz-se
que estes so mdulos filhos do mdulo considerado; este, por sua vez, considerado o
mdulo pai daqueles mdulos. A figura 9.2 mostra a decomposio do mdulo A2 da figura
9.1 em dois mdulos, A21 e A22. Seguindo a terminologia, A21 e A22 so mdulos filhos de
A2, que considerado o mdulo pai destes dois mdulos. Esta definio ser posta em
evidncia quando formos comentar os princpios de escalonamento envolvidos na execuo
de uma especificao Estelle.
A arquitetura de uma especificao Estelle pode ser modificada em tempo de
execuo, tanto do ponto de vista da sua composio em termos de mdulos, como das
ligaes entre os mdulos existentes. Veremos mais tarde como isto implementado.
Do ponto de vista sinttico, uma especificao Estelle assim definida:
specification <id_especificao> [<atributo>]
[default <disciplina_fila>]
[timescale <unidade_tempo>]
_
end.
Nas definies sintticas da tcnica Estelle realizadas neste documento, a seguinte
notao ser adotada:
expresses em negrito correspondem a palavras reservadas da linguagem;
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.3
expresses colocadas entre < e > correspondem a partes da especificao
(identificadores, parmetros, _) a serem definidos pelo usurio;
expresses colocadas entre [ e ] correspondem a comandos opcionais da
especificao;
os _ correspondem a partes (instrues, blocos de instruo, declaraes, etc_)
existentes, mas irrelevantes para a definio considerada.
Na declarao Estelle mostrada acima, o comando opcional default permite definir a
disciplina de filas a ser adotada por default na especificao. As disciplinas de fila sero
definidas posteriormente neste documento. O comando (tambm opcional) timescale
permite definir a unidade de tempo adotada para propsitos de temporizao (ver definio
da clusula delay).
3.2. Os Mdulos Estelle
Um mdulo um objeto a partir do qual so derivados os componentes executveis
de uma especificao Estelle as instncias de mdulo. As caractersticas de um mdulo
Estelle so obtidas graas a duas definies que so o tipo de mdulo (module header) e o
corpo de mdulo (module body), estes conceitos sendo ilustrados pela figura 9.3.
A0
A1 A2
A3
especificao
instncia de mdulo
ponto de interao
Figura 9.1 - Conceitos associados a uma especificao Estelle.
A2
A21
A22
A21 e A22 so mdulos
filhos do mdulo A2
Figura 9.2 - Ilustrao da decomposio de um mdulo Estelle.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.4
O tipo de mdulo permite definir as interfaces de acesso ao mdulo, seja do ponto de
vista das mensagens interaes que podem ser trocadas com os demais mdulos,
como do ponto de vista das variveis acessveis externamente as variveis exportadas.
As variveis exportadas de um mdulo A so aquelas variveis visveis ao mdulo
imediatamente superior na hierarquia (o mdulo pai). Assim, este mdulo ter direito de
acesso leitura e escrita sobre todas as variveis de A que tenham sido declaradas como
variveis exportadas. Na sua forma mais geral, um tipo de mdulo declarado da seguinte
forma em Estelle:
module <id_tipo_mdulo> <atributo>;
ip <lista_de_pontos_de_interao>
export <lista_de_variveis_exportadas>
end;
O corpo de mdulo o objeto que permite declarar o comportamento interno de um
mdulo, atravs da definio de uma mquina de estados extendida. Vrios corpos de
mdulo podem ser associados a um mesmo tipo de mdulo, o que significa que possvel
definir mdulos apresentando a mesma interface mas com comportamentos internos
distintos. A declarao de um corpo de mdulo feita da seguinte maneira:
body <id_corpo> for <id_tipo_mdulo>;
...
end;
, onde id_tipo_mdulo designa o tipo do mdulo ao qual o corpo estar associado.
3.3. A Comunicao entre Instncias de Mdulo
As instncias de mdulo em Estelle comunicam-se graas definio de canais
bidirecionais que efetuam a ligao entre seus pontos de interaes. Uma fila de poltica
FIFO (First-In-First-Out) associada a cada uma das extremidades de um canal, de modo
que uma mensagem enviada por um mdulo armazenada na fila associada extremidade
oposta quela do canal por onde esta foi enviada, caracterizando, assim, um mecanismo de
comunicao assncrona.
tipo de mdulo
corpo de mdulo
mdulo
A
B
Z
instncias
de mdulo
Figura 9.3 - Definio de mdulos e instncias de mdulos.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.5
Isto significa que no existe um compromisso estabelecido entre a emisso e a
recepo de uma mensagem; no existindo tambm bloqueio ao envio de uma mensagem
se o mdulo receptor no se encontra pronto para consum-la.
Em Estelle, um canal declarado da forma:
channel <id_canal> (r1,r2);
by r1 : <lista_interaes_r1>
by r2 : <lista_interaes_r2>
Nesta declarao, alm do identificador do canal (id_canal), devem ser declaradas as
diferentes interaes que sero enviadas pelas duas extremidades do mesmo. Isto feito
considerando os dois sentidos, formalizados aqui atravs dos papis (role), simbolizados
nesta declarao por r1 e r2. Estes no so identificadores reservados, mas podem ser
definidos pelo usurio conforme o significado do canal dentro da especificao por
exemplo, usurio e fornecedor, mestre e escravo, produtor e consumidor, etc_
As interaes definidas na declarao dos canais permitem definir diferentes tipos ou
classes de mensagens sendo trocadas entre duas ou mais instncias de mdulos. A
declarao das interaes no implica, porm, na declarao de valores associados. Para a
definio de valores, devem ser associados parmetros (variveis Pascal) s interaes,
como mostrado no exemplo abaixo:
channel C1 (cliente,servidor);
by cliente : pedido; servico(tipo:integer);
by servidor : resposta(resultado:boolean);
A declarao de canal serve de base para a declarao dos pontos de interao que
vo definir as interfaces de cada tipo de mdulo, e que so feitas da maneira seguinte:
ip <id_ip> : <id_canal>(r);
Assim, alm do identificador do canal (id_canal), deve-se tambm definir o sentido r
ao qual ser associado o ponto de interao identificado por id_ip. Isto vai permitir a definio
das interaes que podero ser emitidas pelo mdulo que possui o ponto de interao
declarado.
Cabe aqui a ilustrao destes conceitos atraves de um exemplo simples. Vamos
supor um trecho de uma especificao formal em Estelle, onde as seguintes declaraes
so definidas:
specification exemplo1;
_
_
channel C1 (mestre,escravo);
by mestre : ordem_inicio; pedido_status;
by escravo : resposta_servio; info_status;
module tipo_cliente;
ip A : C1(mestre);
end;
module tipo_servidor;
ip B : C1(escravo);
end;
_
_
end.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.6
Como podemos ver, os dois sentidos definidos na declarao do canal C1 so
mestre e escravo, aos quais esto associadas as interaes ordem_inicio, pedido_status e
resposta_servio, info_status, respectivamente. Assim, se considerarmos as declaraes
dos mdulos tipo_cliente e tipo_servidor, notamos que os pontos de interao A e B fazem
referncia declarao do canal C1, definindo, respectivamente, os papis mestre e
escravo. Isto significa que as instncias de mdulo derivadas do tipo de mdulo tipo_cliente
poderiam enviar, atravs do ponto de interaes A, as interaes ordem_inicio e
pedido_status e poderiam receber, por este ponto, as interaes resposta_servio e
info_status. Analogamente, as instncias de mdulo derivadas do tipo de mdulo
tipo_servidor poderiam enviar, atravs do ponto de interaes B, as interaes
resposta_servio e info_status e poderiam receber, por este ponto, as interaes
ordem_inicio e pedido_status.
No caso de mdulos que possuam n pontos de interaes similares, a declarao
pode ser feita segundo um vetor ou um vetor de pontos de interao:
ip <id_ip> : ARRAY[1..n] OF <id_canal>(r);
Neste caso, da mesma forma que um elemento de uma matriz definida na linguagem
Pascal, o ponto de interao dever ser designado pelo seu identificador, acompanhado do
ndice correspondente no vetor. A figura 9.4 ilustra o caso de um mdulo possuindo 6 pontos
de interao similares.
A associao de filas FIFO aos pontos de interao obedece a duas polticas
distintas:
na primeira, a fila individual (individual queue), uma fila associada a cada ponto de
interao;
na segunda, a fila comum ou global (common queue) a fila compartilhada por
diversos pontos de interao.
Embora as duas polticas possam coexistir no contexto de uma mesma
especificao Estelle, a sua definio obrigatria no contexto da declarao dos pontos de
interao, isto podendo ser feito de duas maneiras:
explcita, na declarao do ponto de interao
(Ex.: ip A : F_D (fonte) individual queue; );
implcita, atravs da clusula default
(Ex.: default individual queue;).
a[1] a[2] a[3] a[4] a[5] a[6]
A
module tipo_A;
ip a : ARRAY[1..6] OF Ca(r1);
end;
Figura 9.4 - Mdulo definindo 6 pontos de interao similares.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.7
3.4. Exemplo 1 - O protocolo mestre-escravo
A figura 9.5 representa o exemplo mostrado na seo 3 da parte anterior do
documento (figura 10.11). Como, em Estelle, os canais so bidirecionais, representamos por
um nico canal a comunicao nas duas direes consideradas.
Os pontos de interao F e D representam, respectivamente, as portas de
comunicao das entidades fonte e destino com o meio de comunicao. Estes pontos de
interao so conectados, respectivamente, aos pontos A e B do mdulo representando o
meio.
Desta forma, a declarao dos objetos Estelle representando a arquitetura mostrada
na figura 9.5 fica como mostrado a seguir.
Esta especificao apresenta unicamente a declarao dos objetos representando
cada elemento da especificao, particularmente, os canais, as interaes, e os tipos de
mdulos (e seus respectivos pontos de interao) que definiro a estrutura da especificao.
specification mestre_escravo systemactivity;
_
_
channel F_D (fonte,destino)
by fonte : pedido_envio; dado;
by destino : pronto_recepo; dado_consumido;
module tipo_fonte activity;
ip F : F_D(fonte);
end; { tipo_fonte }
module tipo_destino activity;
ip D : F_D(destino);
end; { tipo_destino }
module tipo_meio activity;
ip A : F_D(destino);
B : F_D(fonte);
end; { tipo_meio }
_
_
end. { mestre_escravo }
FONTE DESTINO
MEIO
MESTRE_ESCRAVO
F
A
D
B
Figura 9.5 - Estrutura da especificao do protocolo mestre-escravo.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.8
A estrutura da especificao s ser concretizada atravs da execuo de instrues
de estruturao, presentes numa parte de inicializao da especificao.
3.5. Instrues de estruturao de uma especificao
O nvel de superior de uma especificao Estelle caracterizado, geralmente por
duas partes distintas a parte declarao e a parte inicializao.
A parte declarao caracteriza as declaraes dos objetos Pascal (tipos, variveis,
funes e procedimentos) e dos objetos Estelle (canais, tipos de mdulo, corpos de mdulo,
pontos de interao, etc_) como apresentados nas sees anteriores. Os objetos Pascal
so declarados em Estelle de maneira anloga a um programa naquela linguagem de
programao (type, var, function e procedure). Esta parte contm, ainda, a declarao
das variveis mdulo que permitem referenciar as instncias de mdulo que vo compor a
especificao. As variveis mdulo so declaradas de maneira anloga s variveis Pascal,
utilizando a clusula modvar, sendo que os tipos associados s variveis mdulo devem ser
os identificadores designados nas declaraes dos tipos de mdulo da especificao.
Podemos representar, sintaticamente, a declarao de variveis mdulo da seguinte
forma:
modvar
<id_varmod1> : <id_tipo1>;
<id_varmod2> : <id_tipo2>;
_
<id_varmod3> : <id_tipoN>;
Podemos utilizar, como exemplo, duas variveis especificando os mdulos entidades
fonte e destino e do mdulo representando o meio de comunicao da especificao
baseada na figura 9.5. Deste modo, a declarao destas variveis mdulo ficaria.
modvar
fonte : tipo_fonte;
destino : tipo_destino;
meio : tipo_destino;
No caso de vrias instncias de mdulo baseadas num mesmo tipo de mdulo, as
variveis podem ser declaradas na forma de um vetor Pascal, sendo que a referncia a cada
instncia ser feita de forma indexada. O exemplo abaixo ilustra esta forma de declarao:
modvar
A : ARRAY[1..MAX] OF tipo_fonte;
A referncia s instncias de mdulo geradas a partir desta declarao ser, ento,
feita da seguinte forma A[1], A[2], _, A[MAX].
A parte de inicializao a parte que vai dar vida a uma especificao Estelle. Ela
caracterizada pela expresso Estelle initialize seguida de um bloco begin_end (como na
linguagem Pascal) cujas instrues vo permitir inicializar os objetos Pascal
(particularmente as variveis) e os objetos Estelle. No que diz respeito aos objetos Estelle,
esta parte permite:
inicializar (criar) as instncias de mdulo;
inicializar a arquitetura da especificao efetuando as ligaes dos pontos de
interao de cada instncia de mdulo criada para compor a especificao.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.9
A criao das instncias de mdulo feita atravs do comando init que vai permitir
inicializar uma varivel mdulo com um corpo de mdulo declarado na especificao. O
formato geral deste comando :
init <id_varmod> with <id_corpo>;
A necessidade da especificao do corpo no momento da criao da instncia de
mdulo se justifica pela possibilidade de atribuio de diferentes comportamentos a um
mesmo tipo de mdulo. Naturalmente, apenas um corpo de mdulo que tenha sido declarado
para o tipo de mdulo que gerou a varivel mdulo pode ser especificado na sua criao.
No que diz respeito ao estabelecimento das ligaes entre pontos de interao das
instncias de mdulo, dois comandos so disponveis:
o primeiro, connect, permite ligar dois pontos de interao de instncias de mdulo
localizadas no mesmo nvel hierrquico;
o segundo, attach, permite ligar um ponto de interao de uma dada instncia de
mdulo a um ponto de interao de uma instncia de mdulo filha da primeira
instncia considerada.
Do ponto de vista sinttico, estes comandos apresentam-se da seguinte forma:
connect <id_varmod1>.<id_ip> to <id_varmod2>.<id_ip>;
e
attach <id_ip> to <id_varmod2>.<id_ip>;
Como podemos ver, no caso do comando attach, no necessrio especificar uma
das instncias, pois ela conhecida implicitamente ( a instncia na qual o comando est
sendo realizado). Os seguintes comentrios podem ainda ser feitos com relao aos
comandos de estruturao de Estelle:
1 Os comandos connect e attach s podem ser executados sobre um par de
instncias de mdulo que tenha sido previamente inicalizado por comandos init;
2 Os comandos connect e attach s podem ser efetuados sobre dois pontos de
interao declarados a partir de um mesmo tipo de canal; ainda, no caso do
connect os pontos de interao devem ter papis complementares (opostos); no
caso do attach os dois pontos de interao devem ter o mesmo papel;
3 Os comandos podem ser utilizados tambm durante a execuo das transies
Estelle (como ser definido mais adiante) caracterizando o aspecto dinmico de
uma especificao Estelle (instncias de mdulo podem ser criadas e ligadas em
execuo);
4 Finalmente, so definidas em Estelle instrues complementares (inversas) a
estas trs, respectivamente release, disconnect e dettach.
Para ilustrar a utilizao destes comandos, vamos retomar o exemplo ilustrado pela
figura 9.5, completando a especificao do ponto de vista das declaraes e inicializaes
dos objetos. Esta mostrada a seguir.
3.6. A descrio do comportamento dos mdulos (declarao do corpo)
Como j foi mencionado, o objeto que permite declarar a mquina de estados
representando o comportamento de um mdulo o corpo de mdulo (module body).
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.10
specification mestre_escravo systemactivity;
default individual queue;
{ #### PARTE DECLARACAO ####}
channel F_D (fonte,destino)
by fonte : pedido_envio; dado;
by destino : pronto_recepo; dado_consumido;
module tipo_fonte activity;
ip F : F_D(fonte);
end; { tipo_fonte }
module tipo_destino activity;
ip D : F_D(destino);
end; { tipo_destino }
module tipo_meio activity;
ip A : F_D(destino);
B : F_D(fonte);
end; { tipo_meio }
body corpo_fonte for tipo_fonte;
_
end; { corpo_fonte }
body corpo_destino for tipo_destino;
_
end; { corpo_destino }
body corpo_meio for tipo_meio;
_
end; { corpo_meio }
modvar
fonte : tipo_fonte;
destino : tipo_destino;
meio : tipo_meio;
{ #### PARTE INICIALIZACAO #### }
initialize
begin
init fonte with corpo_fonte;
init destino with corpo_destino;
init meio with corpo_meio;
connect fonte.F to meio.A;
connect destino.D to meio.B;
end;
end. { mestre_escravo }
O objeto corpo de mdulo composto de trs partes de base: a parte declarao,
anloga da especificao, apresentada anteriormente, a parte inicializao, tambm similar
da especificao e a parte transio que permite efetivamente descrever o comportamento
do mdulo atravs de um conjunto de transies de uma mquina de estados.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.11
Na parte declarao de um corpo de mdulo, alm da declarao dos objetos j
mencionados anteriormente (tipos, variveis, funes e procedimentos Pascal, canais, tipos
de mdulo e corpos de mdulo das instncias de mdulo filhas, _), declara-se ainda, quando
for o caso (esta declarao opcional), os estados globais (major states) da mquina de
estados considerada. Isto feito atravs do comando Estelle, state cuja sintaxe geral :
state id_estado1, id_estado2, _, id_estadoN;
Para o exemplo considerado na figura 9.5, a declarao dos estados globais para a
instncia de mdulo fonte ficaria, ento:
state ocioso,pronto_envio,envio, espera_ack;
A parte inicializao, alm da inicializao das variveis Pascal e objetos Estelle
(instncias de mdulo e ligaes), deve permitir definir o estado global inicial da mquina de
estados que representa o comportamento do mdulo. Isto feito associando-se a clusula
to expresso initialize que marca o incio da parte inicializao da seguinte forma:
initialize to <id_estado_inicial>;
begin
_
end;
, sendo que id_estado_inicial deve ser um dos identificadores de estado global
declarados previamente atravs do comando state.
A parte transio permite definir o conjunto das transies que vai descrever o
comportamento dos mdulos. Uma transio caracterizada de trs partes principais: a
parte pr-condies, a parte de ps-condies e a parte ao. A definio de uma ou mais
transies deve ser caracterizada pela definio de uma clusula trans.
A parte pr-condies permite definir quais so as condies a serem satisfeitas
para que a transio seja considerada em condies de executar. As pr-condies so
definidas atravs de clusulas Estelle, que so:
from
permite definir em que estado global deve encontrar-se o mdulo para que a
transio esteja em condies de executar.
SINTAXE EXEMPLO
from <id_estado> from ocioso
when
permite definir a recepo de uma dada interao sobre um ponto de interao para
que a esteja em condies de executar.
SINTAXE EXEMPLO
when <id_ip>.interao when D.dado
no caso desta clusula, a condio satisfeita se a interao especificada encontra-
se no topo da fila FIFO associada ao ponto de interao considerado. Em caso, positivo, se
a transio executada, a interao retirada do topo da fila, caracterizando a recepo de
uma mensagem. Uma transio que no contenha uma clusula when na sua parte de pr-
condies dita uma transio expontnea, uma vez que esta no depende da recepo de
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.12
uma interao para executar (depende apenas de aspectos internos do mdulo
considerado).
provided
permite testar uma condio na forma de uma expresso booleana, envolvendo
variveis Pascal do mdulo ou mesmo, no caso de uma transio contendo uma clusula
when, parmetros da interao especificada naquela clusula.
SINTAXE EXEMPLO
provided <exp_booleana> provided dado_lido*
ou provided otherwise
*dado lido uma varivel booleana!
priority
permite associar um nvel de prioridade de modo a modificar a poltica de
escalonamento entre as transies de um mesmo mdulo.
SINTAXE EXEMPLO
priority <inteiro> priority 1
delay
permite associar um intervalo de tempo para fins de representao de mecanismos
de temporizao (timeout, por exemplo). A semntica de tempo associada a esta clusula
ser explicada mais adiante. A clusula delay no pode ser utilizada numa transio onde a
clusula when esteja presente. Em outras palavras, esta s pode ser utilizada em
transies expontneas, como definido anteriormente.
SINTAXE EXEMPLO
delay (T1,T2) delay (1,5)
A parte ps-condies permite definir o estado global que ser assumido pelo mdulo
aps a execuo da transio considerada. A clusula de ps-condio definida em Estelle
a clusula to cuja sintaxe e exemplo de utilizao so dados abaixo:
SINTAXE EXEMPLOS
to <id_estado> to espera_ack
ou to same to same
A parte ao de uma transio Estelle caracterizada por um bloco begin_end em
cujo interior podem ser declaradas instrues Pascal (com restries) e instrues Estelle.
A parte ao de uma transio Estelle considerada um bloco atmico e indivisvel, ou seja,
uma vez iniciada, ela no pode ter a sua execuo interrompida.
Dentre as instrues Estelle podendo constituir a parte ao de uma transio, alm
dos comandos init, connect, attach, release, disconnect e dettach, podemos citar o
comando output, que permite expressar o envio (no bloqueante) de uma interao atravs
de um ponto de interao, a sintaxe e um exemplo de utilizao sendo dados a seguir.
SINTAXE EXEMPLOS
output <id_ip>.interao output F.dado
Convm, aqui, invocar os conceitos de instncias de mdulo ativas e inativas. Uma
instncia de mdulo dita inativa se a sua parte transio vazia. Caso contrrio, ela dita
ser uma instncia de mdulo ativa.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.13
Alm das instrues acima, Estelle oferece, ainda, algumas facilidades de
especificao, como, por exemplo:
os comandos all e any;
a fatorizao (nesting) de transies;
a nomeao de transies.
Os comandos all e any permitem simplicar uma sequncia de comandos Pascal e
Estelle que deva ser feita de maneira repetitiva. Ambos so declarado de forma similar a
uma malha for do Pascal, com uma diferena fundamental. O acesso aos valores
estabelecidos no intervalo considerado feito de maneira aleatria e no de maneira
ordenada. Exemplos da utilizao destes dois comandos so mostrados a seguir:
Comando all
all i : 1..n
do
begin
_ sequncia de instrues _
end;
Comando any (manipulao de vetores de pontos de interao)
any i : 1..n
do when ip_id[i].interao
A fatorizao de transies permite simplificar a apresentao da especificao,
regrupando, a diferentes nveis, clusulas comuns a diferentes transies. Por exemplo,
considerar o trecho de especificao abaixo:
trans
from ocioso
when D.pedido_envio
to pronto_recepcao
begin
output D.pronto_rec
end;
from ocioso
when D.dado
to same
begin
end;
Como podemos ver, a clusula from ocioso comum s duas transies. Assim,
elas podem ser fatoradas da seguinte forma:
trans
from ocioso
when D.pedido_envio
to pronto_recepcao
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.14
begin
output D.pronto_rec
end;
when D.dado
to same
begin
end;
Finalmente, a nomeao das transies permite enriquecer o poder de
documentao de uma especificao Estelle, atravs da clusula name. O exemplo a seguir
ilustra a utilizao desta clusula.
trans
from ocioso
when D.pedido_envio
to pronto_recepcao
name aviso_dado:
begin
output D.pronto_rec
end;
Para ilustrar a descrio do comportamento em Estelle, vamos especificar o
comportamento da instncia de mdulo fonte do protocolo mestre-escravo definido na parte
anterior do documento. Para isto, podemos tomar como ponto de partida, a especificao
em mquinas de estados finitos daquela entidade, apresentada, aqui, na figura 9.6.
A especificao Estelle fica, ento, da seguinte forma:
body corpo_fonte for tipo_fonte;
state ocioso,pronto_envio,envio,espera_ack;
initialize to ocioso
begin
end;
trans
from ocioso
when U.mensagem
to pronto_envio
begin
output F.pedido_envio;
end;
from pronto_envio
when F.pronto_rec
to envio
begin
{ preparacao do dado a enviar }
end;
trans
from envio
to espera_ack
begin
output F.envio_dado;
end;
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.15
trans
from espera_ack
when F.ack
to ocioso
begin
end;
end; { corpo_fonte }
Como podemos notar na especificao, foi considerado a, um ponto de interao U,
atravs do qual recebido o dado a ser enviado. Isto significa que a instncia de mdulo que
representa esta entidade conectada, atravs deste ponto de interao, a uma instncia de
mdulo que representa o usurio do servio oferecido.
3.7. Aspectos da execuo de uma especificao Estelle
A execuo de uma especificao Estelle leva em considerao um conjunto de
regras semnticas que cobrem diferentes aspectos da definio desta tcnica, da
estruturao da especificao aos atributos que permitem definir a semntica de paralelismo
a ser considerada.
Um primeiro aspecto importante a ser levado em conta o no determinismo
implcito na seleo das transies a serem executadas num dado instante. Uma transio
pode ser executada se ela est sensibilizada, ou seja, todas as suas clusulas de pr-
condio so satisfeitas. A nvel de uma mesma instncia de mdulo, diversas transies
podem estar sensibilizadas num dado instante, sendo que apenas uma delas pode ser
executada por vez, podendo inclusive modificar o conjunto das transies sensibilizadas
para aquela instncia de mdulo. Neste caso, a escolha da seleo a executar feita de
forma no determinista ( impossvel prever qual delas ser executada em circunstncias
semelhantes).
Outro ponto importante das regras de execuo de uma especificao Estelle a
chamada prioridade pai-filho. A prioridade pai-filho determina que, no caso em que uma
instncia de mdulo ativa contenha pelo menos uma transio sensibilizada, independente
do estado de sensibilizao das transies das instncias de mdulo filhas, ser sempre
uma transio da instncia de mdulo considerada que vai ser executada.
OCIOSO
PRONTO P/
ENVIO
ENVIO
ESPERA
ACK
Ei2
Ei1
!pedido envio
!envio dado
?pronto p/ recepo
?dado consumido
Figura 9.6 - Mquina de estados finitos representando a entidade fonte do exemplo considerado.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.16
Isto significa que a forma como a especificao estruturada tem grande influncia
na maneira como as transies das diferentes instncias de mdulo vo se relacionar no
que diz respeito sua seleo para execuo.
Um terceiro ponto diz respeito s diferentes semnticas de paralelismo podendo ser
representadas em Estelle, isto sendo funo dos atributos associados, de um lado,
especificao e, do outro lado, s instncias de mdulo que a compem.
Estelle permite definir quatro classes de atributos que vo desempenhar um papel
importante na representao do paralelismo entre as instncias de mdulo de uma
especificao. Os atributos so systemactivity, systemprocess, activity e process. Os
atributos prefixados por system permitem definir subsistemas no contexto de uma
especificao, dentro dos quais a semntica de paralelismo considerada pode ser diferente.
As regras de utilizao destes atributos so descritas nos pargrafos que seguem:
todo mdulo ativo deve ter um atributo associado;
os atributos systemactivity e systemprocess podem ser associados a um mdulo
para definir um subsistema dentro de uma especificao Estelle;
os atributos systemactivity e systemprocess no podem ser associados a
mdulos filhos de mdulos atribudos;
a especificao pode definir um subsistema nico, atravs da associao de um
dos dois atributos system (systemactivity ou systemprocess);
mdulos com atributo process ou systemprocess podem ser estruturados
unicamente em mdulos atribudos por process e activity;
mdulos atribudos por systemactivity ou activity podem ser estruturados
unicamente em mdulos atribudos por activity.
A figura 9.7 permite ilustrar o papel dos atributos na definio do paralelismo entre as
instncias de mdulo de uma especificao Estelle, onde um mdulo atribudo
systemactivity estruturado em dois mdulos activity.
Os identificadores entre colchetes representam as transies sensibilizadas em
cada instncia de mdulo. Em 9.7(a), observa-se as transies T1 (systemactivity), T2 e T3
(systemactivity da esquerda) e T4 (activity da direita). Neste caso, a prioridade pai-filho
levada em conta e a transio selecionada para execuo ser, invariavelmente, T1. J em
9.7(b), T1 no est sensibilizada, de modo que a seleo dever ser feita a nvel das
instncias de mdulo activity.
Neste caso, a seleo no detertminista, apenas uma transio sendo selecionada
para execuo, ou seja, T2 ou T3 ou T4.
A figura 9.8 ilustra, de maneira anloga, a poltica para as instncias atribudas
systemprocess e process. Em 9.8(a), temos sensibilizadas as transies T5
(systemprocess), T6 e T7 (process da esquerda) e T8 (process da direita). Neste caso, vale,
ainda a prioridade pai-filho e a transio T5 ser selecionada para execuo.
Systemactivity
[T2,T3]
[T4]
Execuo de T1
[T1]
activity activity
[T2,T3] [T4]
Execuo de T2 ou T3 ou T4
[--]
Systemactivity
activity activity
(a) (b)
Figura 9.7 - Comportamento paralelo no caso de um mdulo atribudo systemactivity.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.17
J, em 9.8(b), como T5 no est sensibilizada, a seleo feita no nvel das
instncias process. Estes atributos impem uma sincronizao implcita entre aes de
processos num mesmo sistema. Desta forma, ser escolhida, em cada instncia, uma
transio, que ser sincronizada com as demais, selecionadas a nvel das demais
instncias. Para o exemplo, isto significa que sero executadas T6 e T8 ou T7 e T8.
3.8. A semntica do tempo em Estelle
A tcnica Estelle no prev um mecanismo de representao do tempo que permita
associar uma durao execuo de uma especificao. O tempo relativo execuo da
parte ao de uma transio considerado nulo para efeito de anlise. Por outro lado, a
definio da clusula delay, associada a uma transio permite representar mecanismos de
temporizao interessantes, como os mecanismos de timeout.
Como j foi apresentado, a clusula delay definida como uma das clusulas de
pr-condio de uma transio Estelle, podendo ser associada unicamente a transies
expontneas (que no tm associadas a elas uma clusula when).
Esta clusula, quando associada a uma transio Estelle, permite associar um
intervalo de tempo, cujos limites so Tmn e Tmx, definidos como segue:
Tmn o tempo mnimo que deve ser decorrido entre a sensibilizao de uma
transio e a sua execuo;
Tmx o tempo mximo que pode decorrer a partir do instante que a transio foi
sensibilizada para que a transio (se continuar sensibilizada) executar.
A clusula delay pode ser especificada na forma
delay(Tmn,Tmx)
, onde Tmx _ Tmn, ou ainda
delay(T)
, onde Tmn = Tmx = T.
Systemprocess
[T6,T7]
[T8]
Execuo de T5
[T5]
process process
[T6,T7] [T8]
Execuo de (T6 et T8) v (T7 e T8)
[--]
process process
Systemprocess
(a) (b)
Figura 9.8 - Comportamento paralelo no caso de um mdulo atribudo systemprocess.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.18
4. OS TRABALHOS REALIZADOS EM TORNO DE ESTELLE
O interesse da tcnica Estelle motivou a realizao de um conjunto de projetos em
torno de vrios temas visando o seu desenvolvimento para uma futura utilizao em escala
industrial.
Os aspectos abordados nestes projetos envolviam trs principais pontos de vista:
a definio de uma semntica formal para Estelle;
a realizao de ferramentas de suporte concepo para Estelle;
a definio de metodologias e a realizao de especificaes formais no domnio
dos protocolos de comunicao e outros mais.
Esta seo visa a apresentar alguns dos importantes resultados em torno destes
aspectos, particularmente no que diz respeito definio de uma semntica formal para
Estelle, que culminou na definio de uma verso mais poderosa, denominada Estelle* e no
que diz respeito ao desenvolvimento de ferramentas de concepo para Estelle (e Estelle*).
4.1. A tcnica Estelle*
Os trabalhos realizados no sentido de definir uma semntica formal para a tcnica
Estelle, permitiram, por outro lado, encontrar algumas limitaes no que diz respeito
representao de alguns mecanismos a serem implantados a nvel dos protocolos de
comunicao da ISO. Dois importantes aspectos foram os seguintes:
a existncia de um mecanismo nico de comunicao, assncrono, o que, de certo
modo podia gerar alguns problemas de representao no que diz respeito
comunicao entre entidades de protocolo situados en diferentes camadas;
a forma de representao do paralelismo utilizando os atributos systemprocess e
process (apresentados na seo 3.7) e a imposio da prioridade pai-filho para a
seleo da transio a executar, o que, na maior parte dos casos, situa-se longe da
realidade quando se considera entidades executando em diferentes sistemas.
Estes dois principais pontos foram privilegiados na definio da tcnica Estelle*, que
introduz, de um lado, extenses no que diz respeito aos mecanismos de comunicao e, do
outro lado, simplificaes no que diz respeito representao do paralelismo. O resultado
disto um ganho em termos de poder de expresso que simplifica o trabalho do usurio da
tcnica, permitindo representar aspectos de comportamento dos protocolos de
comunicao.
Estelle* introduz um mecanismo sncrono de comunicao, denominado rendez-
vous, onde duas instncias de mdulo devem sincronizar para que a troca de mensagem
ocorra e que as transies associadas executem.
Este mecanismo caracterizado, em Estelle*, pela definio de duas novas
clusulas a serem associadas parte de prcondies das transies, denominadas
clusulas de sincronizao. Sintaticamente, estas clusulas so especificadas da maneira
seguinte:
<id_ip>?<interao> { sincronizao em recepo }
e
<id_ip>!<interao> { sincronizao em emisso }
As condies para que duas instncias de mdulo, A e B sejam sincronizadas via
rendez-vous so:
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.19
A contm uma transio tendo uma clusula de sincronizao em emisso e B
uma clusula de sincronizao em recepo ou vice-versa;
os pontos de interao referenciados pelas duas clusulas devem estar ligados por
um canal;
as duas clusulas devem fazer referncia mesma interao;
as duas transies, em A e B, respectivamente, devem estar sensibilizadas e
serem selecionadas no processo de execuo.
Quando a sincronizao ocorre, as partes ao das duas transies so executadas
simultaneamente, podendo ocorrer passagem de valores se a interao referenciada tem
parmetros associados a ela.
Os pontos de interao sobre os quais uma sincronizao dever ocorrer devem ser
declarados com uma nova poltica de fila, no queue, introduzida em funo do referido
mecanismo de comunicao.
Isto significa a impossibilidade de coexistncia, num mesmo ponto de interao, dos
dois mecanismos de comunicao. Por outro lado, estes podem (e devem!) coexistir numa
especificao Estelle*.
As duas transies Estelle* abaixo, consideradas em duas diferentes instncias de
mdulo ilustram a utilizao deste mecanismo. Os pontos de interao F e D so
declarados com poltica no queue e so supostos estar conectados.
_
trans
from espera_ack
F?ack
to ocioso
begin
end;
_
_
trans
from dado_consumido
D!ack
to ocioso
begin
end;
_
Com relao associao dos atributos especificao e aos mdulos e poltica de
seleo da transio a ser executada, duas simplificaes foram propostas em Estelle*:
a primeira, diz respeito supresso dos atributos systemprocess e process e
adoo, de forma rgida, do atributo systemactivity associado especificao e o
atributo activity associados aos mdulos componentes, o que, sob determinadas
condies, aproxima-se bastante da representao mais geral do paralelismo entre
sistemas;
a segunda, a supresso da prioridade pai-filho como poltica de seleo da
transio a ser executada, o que uma das condies mencionadas acima.
4.2. Algumas ferramentas Estelle
Os mecanismos de representao oferecidos por tcnicas como Estelle, LOTOS e
SDL tornam evidente a sua adoo no contexto da concepo dos protocolos de
comunicao e das aplicaes distribudas. Entretanto, a existncia de ferramentas
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.20
coerentes para a automatizao das diferentes etapas da concepo de um tal sistema so
essenciais para a escolha de uma destas tcnicas dentre as disponveis.
O interesse da adoo de uma tcnica de concepo como Estelle traduzida pelo
grande nmero de trabalhos consagrados ao desenvolvimento de ferramentas de suporte
concepo.
Vamos apresentar, nesta seo, duas das diversas ferramentas desenvolvidas neste
contexto, as quais, utilizadas de maneira complementar, permitem cobrir a quase totalidade
das etapas de concepo de um protocolo de comunicao, como apresentado na parte
anterior deste documento.
As duas ferramentas, ESTIM e EWS, foram desenvolvidas dentro do contexto de
projetos do programa europeu ESPRIT, respectivamente os projetos SEDOS (Software
Environment for the Design of Open Distributed System) e Sedos/Estelle/Demonstrator.
ESTIM (Estelle SimulaTor based on an Interpretative Machine) foi desenvolvida no
LAAS/CNRS (Toulouse - Frana), no contexto do projeto SEDOS. Ela apresenta facilidades
para a validao de especificaes formais em Estelle. A ferramenta foi escrita em ML e
suporta principalmente os mecanismos definidos para Estelle*, descrita anteriormente. No
que diz respeito simulao, ESTIM suporta dois modos de pilotagem de uma sesso de
simulao:
uma simulao passo-a-passo, na qual o usurio escolhe, no conjunto das
transies sensibilizadas, qual transio dever executar; este modo permite a
definio e a conduo de cenrios de simulao, permitindo validar muitos
aspectos do sistema especificado; por outro lado, ele exige a presena do usurio
da ferramenta durante toda a sesso de simulao;
uma simulao automtica, na qual o usurio define um nmero N de transies a
serem executadas, a escolha, neste, caso, sendo aleatria, a ferramenta sendo
encarregada desta tarefa; neste caso, a sesso encerrada quando, ou o nmero
de transies requisitadas foi executado, ou uma situao de bloqueio (deadlock)
foi encontrada.
Durante uma sesso de simulao, ESTIM permite o acesso a todos os objetos,
Pascal e Estelle, compondo a especificao variveis, contedos de filas FIFO, estados
globais, etc_ possibilitando a fcil identificao de erros de especificao. Ainda, ele
permite o acesso a informaes estatsticas sobre a sesso de simulao, como, por
exemplo, a lista das transies j executadas, a lista das transies que no foram
executadas, instncias de mdulo criadas, e outras informaes mais.
ESTIM implementa igualmente uma tcnica de verificao, atravs da construo de
um grafo de alcanabilidade a partir da especificao Estelle* considerada. Este grafo
reduzido atravs da interface de ESTIM com ferramentas dedicadas (PIPN, ALDEBARAN,
etc_) que implementam tcnicas de reduo por equivalncia de processos.
Deste modo, o grafo obtido (autmato equivalente) pode ser analizado para a
verificao das propriedades do protocolo. O modo de utilizao de ESTIM em verificao
ser apresentado mais adiante neste documento. A figura 9.9 apresenta um esquema das
funcionalidades desta ferramenta.
EWS (Estelle Work Station) foi desenvolvida no contexto do projeto Sedos Estelle
Demonstrator, oferecendo facilidades para a edio (editor orientado sintaxe), simulao
(motor de simulao) e implementao (gerador de cdigo e motor de implementao). A
estrutura da ferramenta mostrada figura 9.10.
O editor da ferramenta EWS permite a entrada de texto Estelle, sem erros de sintaxe,
os erros sendo notificados e corrigidos durante a digitao do texto. Ele permite ainda
realizar a formatao de texto digitado em outro editor (emacs, por exemplo). Um outro ponto
interessante deste editor a seleo de diversas vistas da especificao Estelle (apenas
transies, apenas cabealhos Estelle, apenas corpos de mdulo, etc_).
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.21
O tradutor EWS traduz uma especificao Estelle na forma de uma estrutura mais
apropriada representao dos diferentes objetos Estelle. A esta estrutura de dados dado
o nome de forma intermediria que foi definida num esprito de expanso da ferramenta ou
da sua interligao com outras ferramentas em desenvolvimento. O tradutor produz um
diagnstico completo dos erros de sintaxe, e uma referncia cruzada da especificao.
O gerador de cdigo de EWS permite gerar, a partir de uma especificao Estelle,
um programa fonte em linguagem C que poder, em seguida, ser compilado e linkado a
bibliotecas especiais de Estelle. O cdigo C pode ser gerado dentro de dois objetivos para
simulao ou para execuo num ambiente de implementao.
O motor de simulao permite uma execuo interativa da especificao Estelle,
dando acesso s diversas opes e objetos da tcnica. De modo similar ferramenta ESTIM,
o simulador EWS permite conduzir a simulao em dois modos: passo--passo e
automtico.
Um aspecto interessante do simulador o seu acoplamento a uma interface grfica,
que permite, inclusive, acompanhar o ponto sendo simulado atravs da visualizao da
listagem da especificao Estelle.
O motor de implementao, finalmente, oferece uma biblioteca de rotinas
necessrias gesto da execuo do cdigo executvel gerado a partir da especificao
Estelle. Embora o cdigo executvel possa ser gerado sobre qualquer tipo de mquina, EWS
j vem dotada de um conjunto de rotinas orientadas ao sistema UNIX.
As duas ferramentas so operacionais e executam sobre estaes de trabalho do
tipo SUN.
rvore abstrata ML
Fonte Estelle*
Erros Estelle*
Construes
no suportadas
GENESTIM
ESTIM
Traos e Cenrios
Grafo de
Alcanabilidade
Autmato
quociente
(projeo)
SIMULAO VERIFICAO
PIPN
ou
ALDEBARAN
Figura 9.9 - Funcionalidades da ferramenta ESTIM.
CAP. 9 A TCNICA ESTELLE PROF. VITRIO BRUNO MAZZOLA
9.22
Forma intermediria
Cdigo executvel Cdigo instrumentado
Tradutor
Fonte Estelle
Fonte Estelle sem
Erros de Sintaxe
Mensagens
de erro
Traos e Cenrios
Editor orientado
sintaxe
Gerador de
Cdigo
Motor de
Implementao
Simulador
Figura 9.10 - Estrutura da ferramenta EWS.
10.1
Captulo 10 Captulo 10
E ESTADO DA STADO DA A ARTE EM RTE EM R REDES EDES
1. INTRODUO
Apesar de que em muitas instituies a palavra rede de comunicao assuma o
tradicional significado da rede telefnica, em boa parte delas as comunicaes entre
computadores vem se tornando uma realidade (que o digam os felizes distribuidores de
redes locais para microcomputadores).
No entanto, apesar dos grandes resultados obtidos e concretizados na forma de
produtos para a interconexo de sistemas, como as redes locais de microcomputadores, os
sistemas operacionais de rede, etc..., a tecnologia resta em evoluo, motivando a
continuidade de trabalhos de pesquisa e desenvolvimento em redes de comunicao, no
sentido de superar as limitaes dos produtos atuais, mas tambm com o objetivo de
oferecer novas possibilidades de interconexo e transmisso, visando o aparecimento de
novas aplicaes, algumas das quais eram consideradas fantasias de fico cientfica h
poucos anos atrs.
O objetivo deste captulo , sem a pretenso de esgotar o assunto, apresentar alguns
temas e resultados dos desenvolvimentos em redes de comunicao.
Nas sees 2 e 3 apresentaremos duas concepes em termos de redes de
comunicao, as redes ISDN redes digitais de servios integrados, e a rede FDDI,
baseada em fibra tica.
Finalmente, na seo 4 sero mencionados e discutidos alguns dos temas de
pesquisa em desenvolvimento nas instituies nacionais e internacionais.
2. A REDE DIGITAL DE SERVIOS INTEGRADOS - ISDN
A rede telefnica vem, aps muito tempo, servindo de suporte s comunicaes no
mundo inteiro. A rede; que foi concebida inicialmente para transmitir o sinal analgico de voz
inadequada para o transporte de outras naturezas de informao, tais como dados,
imagens, etc...
Por outro lado, as diversas necessidades em termos de servios de comunicao
expressas pelos usurios terminaram por conduzir a estudos de um novo conceito em
termos de comunicao, que dever substituir a tradicional rede telefnica por um sistema
baseado na transmisso digital.
A este novo sistema, dado o nome de Rede Digital de Servios Integrados,
conhecido tambm pela sigla ISDN (Integrated Services Digital Network). O ISDN tem por
objetivo oferecer servios de comunicao capazes de suportar as atuais necessidades das
aplicaes que requerem o transporte de sinais de voz (como o servio telefnico) mas
tambm integrando novos servios que viabilizem a transmisso de outras naturezas de
informao.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.2
Os trabalhos sendo conduzidos em torno do ISDN so coordenados, a nvel
internacional, pelo CCITT, sendo que as primeiras normas foram editadas em 1984, tendo
sido revisadas em 1988.
2.1. Conceitos de base do ISDN
A principal caracterstica do ISDN, como definida pelo CCITT, a capacidade de assegurar,
a nvel de uma mesma rede, uma larga gama de possibilidades de aplicaes telefnicas ou
no. Um elemento chave da integrao de servios nas ISDN o fornecimento de um
conjunto de servios com o auxlio de um nmero limitado de tipos de conexes e interfaces
usurio-rede polivalentes.
Esta definio, do CCITT, evidencia os pontos mais importantes sendo tratados pelos
trabalhos conduzidos em ISDN:
a conectividade digital, que permite assegurar que, independente da natureza da
informao (dados, voz, imagem, etc...), a rede suporte o transporte de um ponto
a outro, de usurio a usurio, na forma digital, utilizando recursos homogneos de
tratamento para a transmisso e comutao;
a modelizao dos servios ISDN, que baseada no modelo de referncia OSI,
definindo uma organizao das funes relativas aos servios de comunicao
num nmero limitado de elementos homogneos e hierarquizados, sendo que as
interaes entre os nveis adjacentes realizada atravs de primitivas de servio;
a polivalncia da interface usurio-rede, que prev a possibilidade de dispor, numa
interface comum, de uma grande variedade de servios, tais como a telefonia, a
troca de dados informatizados, o intercmbio de imagens, etc...
um modo de endereamento integrado, com base no modo de endereamento
utilizado em telefonia onde um endereo composto de um indicativo do pas, um
indicativo nacional e um nmero de assinante; em adio, um esquema de sub-
endereamento permite a distino de diferentes equipamentos conectados
instalao de um assinante.
2.2. Servios oferecidos pelas ISDN
Apesar de que o grande atrativo das ISDN o oferecimento de um conjunto de novos
servios de comunicao, o oferecimento do servio de transporte de voz continua a ser um
aspecto de grande importncia.
A organizao dos servios em camadas como sugere o modelo OSI permite a
definio de duas diferentes categorias de servios: os servios de suporte e os
teleservios. Os servios de suporte so aqueles providos pelas camadas baixas (camadas
de 1 a 3) e que permitem garantir o envio da informao de um ponto a outro, superando as
imperfeies e problemas que advindos du suporte de comunicao e do ambiente. Os
teleservios so aqueles providos pelas camadas mais altas (de 4 a 7), cujo conjunto de
protocolos permite colocar, disposio do usurio, as diferentes facilidades sugeridas pelo
ISDN.
Ainda, para garantir a compatibilidade com os servios atualmente existentes, ser,
muito provavelmente necessria a existncia de funes de converso de protocolos, estas
podendo residir nos terminais, nos prprios equipamentos ou na rede.
O CCITT define, assim trs tipos de servio: os servios de suporte, os teleservios
e os complementos de servios.
Os servios de suporte so aqueles diretamente relacionados transmisso entre
assinantes e s caractersticas de acesso e utilizao da rede. So caracterizados por um
certo nmero de atributos associados taxa de transmisso, o modo de transmisso, as
possibilidades de transferncia (voz, dados, imagens, etc...), o estabelecimento da
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.3
comunicao (sob demanda, reservado, etc...), a configurao da rede (ponto a ponto,
multiponto), a qualidade de servio, etc...
Os teleservios correspondem, em termos de aplicao, associao de um
terminal particular com um ou vrios servios de suporte. Estes so, de forma similar aos
servios de suporte, especificados por atributos, sendo que, desta vez, os atributos referem-
se a outros aspectos mais ligados aos usurios, tais como, o tipo de informao manuseada
pelo usurio (som, imagem, vdeo, dados, etc...), os protocolos adotados nas camadas 4 a
7, etc...
Os complementos de servios expressam os acessrios que permitem modificar ou
adaptar as funes providas nas redes atuais.
Um exemplo tpico de servio a ser fornecido pelas ISDN aquele de um aparelho de
telefone moderno, dotado de mltiplas teclas de funo que permitam, por simples presso
do usurio, estabelecer contato com um outro assinante presente numa lista previamente
construda. tambm possvel, visualizar, na tela do aparelho telefnico, enquanto a
chamada est sendo realizada, o nmero, o nome e endereo do assinante que est sendo
contactado.
Um outro exemplo interessante transferncia de chamadas para qualquer lugar do
mundo, contatos mltiplos, conferncias, etc... Ainda, possvel que o usurio, dado que a
voz digitalizada, tenha condies de deixar registrado qualquer recado para posterior
consulta ( evidente que este servio possvel hoje com as secretrias eletrnicas, mas,
se este servio for uma facilidade existente a nvel de rede, para que comprar secretria
eletrnica???).
Um outro aspecto interessante das redes ISDN a facilidade com a qual aparelhos
telefnicos e informticos podero interagir, uma vez que estes vo possuir caractersticas
similares.
Podemos ainda enumerar outros aspectos de importncia previstas no RNIS e que
constituem-se hoje em reas importantes de trabalhos de pesquisa em todo o mundo:
o conceito de de grupo fechado de usurios, onde todo usurio pertencente ao
grupo tem a possibilidade de entrar em comunicao com qualquer outro membro
deste; por outro lado, usurios que no pertenam ao grupo esto proibidos de ter
acesso a informaes trocadas entre os membros;
o videotexto, que permite o oferecimento de um servio de acesso interativo a
bases de dados a partir de um terminal (catlogo telefnico, pginas amarelas,
servio metereolgico, informaes sobre a situao de trfego de estradas,
compras via rede, acesso a extrato e saldo de contas bancrias, e muitas outras
aplicaes incluindo aplicaes de lazer como jogos eletrnicos e at correio
sentimental);
a telemedida, que pode permitir concessionria de energia eltrica o acesso via
rede aos medidores de energia, eliminando a necessidade da utilizao de
pessoas para esta finalidade;
o telealarme, que permite a chamada automtica dos bombeiros ou ambulncias
na ocorrncia de uma situao de emergncia (incndio, ataque cardaco, etc...);
o envio de documentos via rede, j existente atravs dos servios de fax.
2.3. A implementao das ISDN
claro que a implementao de redes deste tipo dever tomar um tempo
considervel, considerando principalmente os grandes investimentos que devero ser feitos
para transformar a rede telefnica atual numa rede totalmente digital. As duas tecnologias,
analgica e digital, devero coexistir durante diversos anos, num contexto de cooperao, o
que permitiu definir diversos aspectos da forma final das ISDN.
Abaixo so apresentados alguns pontos que permitiro mostrar as dificuldades que
devero ser contornadas (em relao ao sistema atual) para viabilizar a instalao das ISDN.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.4
Um primeiro ponto diz respeito transmisso dos sinais de controle na rede
telefnica. Nestas, estes sinais so transmitidos dentro de uma faixa de freqncia de 4 kHz,
sendo que as combinaes destes sinais so denominadas sinalizao na faixa. Esta forma
de implementao apresenta alguns inconvenientes, principalmente a possibilidade de
surgimento de interferncias entre os sinais de telefone e os de sinalizao.
Uma soluo interessante a este ponto a chamada sinalizao fora de faixa, onde
uma rede independente utilizada para conduzir os sinais de controle da comunicao. Esta
tcnica, alm de contornar os problemas de interferncia entre sinais de telefone e de
sinalizao, permitiu ainda aumentar a possibilidade de aplicaes nas redes telefnicas,
como por exemplo, a coleta de dados relativos ao consumo dos assinantes, a fatura
detalhada, o acesso a bases de dados, o acompanhamento de operaes de superviso e
manuteno, etc...
A primeira tarefa na definio das ISDN foi a padronizao da interface usurio-rede.
A segunda etapa, mais lenta ser a substituio dos centros de distribuio atuais pelos
centros digitais, capazes de oferecer aos usurios a interface de acesso a ISDN. Neste
estgio, os usurios podero utilizar os servios ISDN, independentemente da sua natureza.
Uma terceira etapa, ser a total substituio das redes de transmisso e dos centros de
comutao pelas redes de transmisso e comutao integradas. A figura 10.1, a seguir,
ilustra estas duas ltimas etapas.
2.4. Aspectos arquiteturais de ISDN
A idia principal da ISDN o oferecimento direto ao usurio de uma interface digital
que assegure a transmisso de fluxos de informao binria de qualquer natureza: voz,
dados informticos, som, imagens, etc... Esta ligao digital deve suportar diversos canais
de comunicao independentes e multiplexados.
Duas formas de ligaes foram definidas: a primeira, com pequena faixa passante,
destinada principalmente ao grande pblico e que vai oferecer um pequeno nmero de
canais, e a segunda, destinada a empresas e grandes consumidores que dever ser capaz
de oferecer um grande nmero de canais.
A figura 10.2 ilustra uma configurao mnima para um assinante particular, onde
pode-se verificar os diferentes elementos da instalao: a interface de rede, ou NT1 (para
Network Termination 1, como definido pelo CCITT), que conectada ao centro ISDN de
distribuio mais prximo, sendo que o cabo utilizado o mesmo que aquele da rede
telefnica tradicional.
A NT1 possui uma interface de acesso, qual pode ser ser conectado um
barramento passivo (multiponto), onde o assinante poder ligar at oito equipamentos
independentes, tais como: aparelhos telefnicos, aparelhos de fax, computadores, terminais
ISDN, etc... Para o assinante, a fronteira entre a sua instalao e a rede ISDN o conector
NT1.
Na sua forma atual, a NT1 mais que uma simples caixa de conexo, uma vez que
ela contm um conjunto de circuitos eletrnicos destinados a cooperar com o sistema de
gerenciamento da rede ISDN, ao estabelecimento e liberao de conexes, s operaes
de verificao e manuteno dos meios de transmisso e coleta de informaes relativas
ao desempenho efetivo da rede.
Cada terminal conectado ao barramento dotado de um endereo nico a fim de
permitir a sua seleo, sendo que a forma mais bsica de realizar a afetao dos endereos
a utilizao de um contactor mecnico e o acionamento de manual para a conexo de um
equipamento particular.
Uma outra soluo, mais interessante, a atribuio de endereos pela prpria NT1
a cada vez que um novo equipamento ativado no barramento do assinante.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.5
acesso
ISDN
acesso
ISDN
REDE COMUTAO DE CIRCUITOS
REDE DE SINALIZAO
REDE A COMUTAO DE PACOTES
Terminal
ISDN
Terminal
ISDN
interface
ISDN interface
ISDN
acesso
ISDN
acesso
ISDN
REDE ISDN
Terminal
ISDN
Terminal
ISDN
interface
ISDN
interface
ISDN
Figura 10.1 - As duas ltimas etapas da implantao da ISDN: a instalao dos centros digitais; a
instalao da rede ISDN integrada.
equipamentos
ISDN
NT1
CENTRO DE
DISTRIBUIO
Figura 10.2 - Instalao bsica para um assinante particular.
A interface digital dotada ainda de uma funo de resoluo de conflitos sobre o
barramento do assinante, provocados pela tentativa de envio simultneo por parte dos
diversos equipamentos conectados. Para isto, a NT1 opera como um rbitro do barramento,
definindo, em caso de conflito, que equipamento ter o direito de acesso ao barramento.
Considerando o modelo OSI, a interface digital oferece servios relacionados
camada fsica, definindo as especificaes mecnicas e eltricas da interface, mas no
existe nenhuma preocupao com o significado dos quadros transmitidos.
Para os usurios considerados grandes consumidores, porm, a configurao
apresentada na figura 10.2 no adequada, uma vez que estes apresentam uma maior
demanda em termos de possveis conversaes a serem tratadas de forma simultnea.
Para isto, a utilizao de uma simples NT1 no a soluo ideal, pois esta no
concebida para suportar grandes volumes de conversaes. Sendo assim, foi definida uma
outra categoria de interface, a interface digital de assinante, ou NT2 (Network Termination 2),
que conectada como mostra a figura 10.3. Uma NT2 fornece servios relacionados s
camadas de 1 a 3 do modelo OSI, podendo ser mais ou menos complexas, segundo a
instalao considerada, e permite a conexo de equipamentos mais diversos, tais como os
aparelhos telefnicos RNIS, os terminais RNIS, etc..., podendo ainda suportar a conexo de
equipamentos no compatveis RNIS ou mesmo redes locais previamente instaladas na
empresa. Evidentemente, para a conexo desta ltima classe de equipamentos, ser
necessria a existencia de uma passarela de interconexo, dedicada a realizar as
converses de protocolos necessrias conexo, so os adaptadores de terminais, ou TA.
2.5. Interfaces de acesso ISDN
O termo interface interpretado no mundo ISDN difere um pouco daquele empregado
quando nos referimos ao modelo OSI. No mundo OSI, uma interface vista como o meio de
interao entre duas camadas adjacentes compondo a arquitetura de comunicao. J no
mundo ISDN, a interface vista como as relaes entre a rede e os equipamentos do
assinante. As figuras 10.4 (a) e (b) ilustram esta diferena.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.6
NT1
CENTRO DE
DISTRIBUIO
Rede Local
Terminal
No-ISDN
Telefone
ISDN
Terminal
ISDN
TA
TA
NT2
Figura 10.3 - Configurao da instalao para um grande consumidor (empresa).
A ISDN estruturada de forma compatvel com o modelo OSI, ou seja, em camadas
funcionais, sendo que a camada fsica da rede define os aspectos mecnicos, eltricos,
funcionais e procedurais da interface. A ISDN utiliza um conector mecnico a contatos
deslizantes, conformes norma ISO IS 8877, composto de 8 pinos.
Dois pinos dedicados transmisso dos sinais, dois outros recepo e os quatro
pinos restantes so destinadas alimentao eltrica dos terminais NT1 e NT2.
A rede oferece diversos canais de comunicao multiplexados, sendo que estes
foram organizados em canais tpicos, definidos, cada tipo, por uma letra. So os seguintes:
A: uma linha telefnica analgica oferecendo 4 kHz de banda passante;
B: um canal digital a 64 kbit/s para voz digitalizada ou dados;
C: um canal a 8 ou 16 kbit/s;
D: um canal a 16 ou 64 kbit/s para a sinalizao fora de faixa;
E: um canal a 64 kbit/s para a sinalizao interna;
H: canais digitais com taxas de transmisso de 384, 1536 ou 1920 kbit/s.
Do ponto de vista do fornecimento ao usurio, o CCITT definiu algumas possveis
combinaes destes canais, no estando previstas outras combinaes:
acesso de base: 2B + D
acessos primrios: 30B + D (Europa) e 23B + D (USA e Japo)
acesso hbrido: A + C
interface
instalao do assinante
interfaces
equipamentos
da rede ISDN
(a) (b)
Figura 10.4 - Ilustrao do conceito de interface: (a) segundo o modelo OSI; (b) segundo ISDN.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.7
A primeira combinao destinada aos assinantes particulares e s pequenas
empresas, sendo que os canais B podem ser utilizados como canal para a transmisso de
dados digitais por pacotes ou como linhas telefnicas digitais, sendo que a sinalizao
relativa a estes canais transmitida sobre o canal D, de modo que a totalidade da
capacidade de transmisso dos canais B disponvel aos assinantes. No acesso de base, a
taxa de transmisso do canal D de 16 kbit/s. Os pedidos de conexo transmitidos sobre o
canal D so representados na forma de mensagens codificadas em caracteres.
Uma mensagem tpica especifica o canal B a ser utilizado (B1 ou B2), o endereo
ISDN do assinante a ser contactado e outras indicaes relacionadas s opes sobre a
natureza da chamada.
A segunda combinao destinada principalmente s empresas, oferecendo 30 ou
23 canais B (dependendo se a rede na Europa ou USA e Japo) e um canal D. J a
terceira combinao destinada utilizao de aparelhos telefnicos analgicos (graas ao
fornecimento de um canal A) e para o envio de dados ou voz digital, graas ao fornecimento
de um canal C digital.
2.6. Outros pontos relativos a ISDN
O grande objetivo das ISDN a substituio global das redes telefnicas analgicas
atualmente instaladas por um sistema digital capaz de suportar o trfico telefnico clssico,
mas tambm o transporte de outras formas de informao, como as imagens, os dados,
etc...
Desta forma, qualquer assinante em qualquer lugar do mundo ter, sua disposio,
uma possibilidade de comunicao unificada por intermdio de interfaces padronizadas.
O acesso de base ISDN padronizado internacionalmente, existindo pequenas
variaes de implementao no que concerne o acesso primrio.
Uma grande vantagem da padronizao das interfaces ser a necessidade do
fornecimento, por parte dos fabricantes de uma grande quantidade de equipamentos
(terminais, aparelhos telefnicos, etc...) compatveis ISDN, o que permitir sua obteno a
baixos custos.
Por outro lado, os trabalhos de padronizao dos aspectos relativos a ISDN dever
tomar ainda algum tempo, enquanto a tecnologia evolui de forma assombrosa, o que
significa que as solues adotadas para a rede ISDN podero, no momento estar em atraso
com as solues existentes no mercado.
Em todo caso, as redes ISDN devero vir a ser a segunda rede de comunicao de
mbito mundial, aps a rede telefnica, sendo que, atualmente, um grande nmero de
pases esto trabalhando no seu desenvolvimento.
A interconexo das redes ISDN a nvel de pases j est se iniciando, sendo que
algumas das conexes internacionais (particularmente entre Europa e Estados Unidos)
foram iniciadas no incio dos anos 90. Resta saber quando se poder contar com esta
tecnologia a nvel de Brasil.
3. A REDE FDDI
A rede FDDI (Fiber Distributed Data Interface) uma rede estruturada em malha ou
anel que utiliza a fibra tica como suporte de transmisso. um padro ANSI, com controle
de acesso ao meio controlado por ficha, apresentando alto desempenho no que concerne a
transmisso de dados.
A taxa de transmisso nominal atinge os 100 Mbit/s, podendo abranger distancias de
200 km, permitindo a conexo de at 1000 estaes, o que faz com que a rede FDDI possa
ser utilizada em conjunto ou em substituio a redes locais baseadas nas normas IEEE. No
entanto, a alta taxa de transmisso atingida permite que esta seja utilizada como uma rede
localizada num nvel hierrquico acima das redes locais tradicionais, servindo de meio de
transporte entre as diversas redes locais, como sugere a configurao ilustrada na figura
10.5.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.8
gateway
computador
REDE FDDI
BARRAMENTO COM FICHA
(TOKEN BUS)
ETHERNET
ETHERNET
ANEL COM FICHA
(TOKEN RING)
Figura 10.5 - Rede FDDI sendo utilizada em conjunto com redes locais tradicionais.
A rede FDDI-II, verso mais recente da rede FDDI, foi concebida para levar em conta
o trfego de dados variveis, particularmente os dados informticos, os dados com
restries temporais rigorosas (por exemplo, a voz digitalizada) e os dados vindos de redes
tipo ISDN.
A rede FDDI baseada na existncia de duas malhas de fibra tica, sendo que a
transmisso numa malha feita num sentido e na outra malha em sentido inverso, como
ilustra a figura 10.6(a). Esta estrutura permite obter um maior grau de confiabilidade da rede,
uma vez que, se uma das malhas interrompida acidentalmente, a segunda pode ser
utilizada como suporte de transmisso. Ainda, se as duas malhas vm a ser interrompidas
num mesmo ponto, estas podem ser reconfiguradas de modo a compor uma nova e nica
malha, como est ilustrado na figura 10.6(b).
A norma ANSI que especifica a rede FDDI define duas categorias de estaes a
serem conectadas s redes FDDI:
as estaes de classe A, que so conectadas s duas malhas;
as estaes de classe B, de menor custo, que so conectadas unicamente a uma
malha.
A escolha sobre qual estao conectar, de classe A ou B, feita em funo do grau
de confiabilidade desejado e, evidentemente, dos investimentos que se pode fazer. De todo
modo, uma mesma rede FDDI pode suportar as duas classes de estaes
simultaneamente.
A transmisso de bits na camada fsica segue a tcnica de cdigos de grupo,
denominado 4B/5B. Esta tcnica baseada na associao, a cada 4 bits, de uma palavra de
5 bits chamada smbolo. Esta codificao caracterizada pelo fato de que existiro no
mximo dois zeros consecutivos em cada smbolo, sendo que a tcnica de codificao
utilizada o NRZI. A vantagem desta tcnica de transmisso a reduo do dbito binrio
real sobre a fibra.
No que diz respeito ao controle de acesso ao meio, a rede FDDI fundada na norma
IEEE 802.5, na qual uma estao interessada em realizar um envio deve, antes, tomar
posse de uma ficha que representa o direito de emisso sobre o suporte. Uma vez de posse
da ficha, a estao tem o direito de enviar um quadro, sendo porm forada a retir-lo
quando ele lhe retorna. A diferena bsica entre o protocolo FDDI e o 802.5 diz respeito
emisso da ficha.
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.9
(a) (b)
Figura 10.6 - (a) Rede FDDI; (b) Reconfigurao da rede em caso de interrupo.
Na verso IEEE, uma estao no pode recolocar a ficha em circulao at que o
quadro emitido chegue em sua totalidade. No protocolo FDDI, devido ao grande nmero de
estaes podendo estar conectadas (1000) e grande distancia sendo atingida por esta rede
(200 quilmetros), a espera pelo retorno do quadro introduziria um atraso considervel
prejudicando o desempenho da rede. Por esta razo, neste protocolo, a ficha enviada
imediatamente aps o envio do quadro. Isto significa que, num anel de dimenses
relativamente grandes, diversos quadros podem estar circulando simultaneamente.
A estrutura dos quadros similar quela do protocolo IEEE, sendo que o protocolo
FDDI permite, alm dos quadros normais, o envio de quadros especiais, denominadas
tramas sncronas. So quadros comportando mensagens que apresentam restries
temporais crticas.
4. A PESQUISA EM REDES DE COMUNICAO ESTADO DA ARTE
As redes de comunicao esto assumindo um papel de importncia cada vez maior
em nossas vidas, seja do ponto de vista profissional (muito mais evidente), seja do ponto de
vista domstico (no demoraremos a sentir tambm esta evidencia).
A rea tecnolgica esta em constante evoluo, comportando-se como um sistema a
realimentao positiva: para cada soluo obtida vo surgindo novas necessidades
particularmente em funo da abertura de possibilidade de novas aplicaes. Isto uma
realidade principalmente na rea da informtica.
Quem est habituado a utilizar computadores por pelo menos dez anos pode ser
testemunha da crescente evoluo ocorrida neste perodo no que diz respeito s arquiteturas
de computadores. E, apesar disto...quem se d por satisfeito???
Na rea das redes de comunicao, o perfil semelhante; embora grandes
resultados tenham sido obtidos nos ltimos anos, novas necessidades vo aparecendo e
motivando a continuidade dos trabalhos de pesquisa na rea.
Vamos tentar, sem, evidentemente conseguir esgotar o assunto, discutir brevemente
alguns temas de pesquisa em realizao na rea das redes de comunicao.
4.1. A Engenharia de Protocolos de Comunicao
Como foi mostrado nos captulos 2 e 3, o desenvolvimento de uma arquitetura de
comunicao baseada na implementao de um conjunto considervel de protocolos de
comunicao que, respeitando o que definido nas normas, operam no sentido de oferecer
os servios definidos para cada camada compondo a arquitetura.
Apesar da proposta de arquitetura de comunicao em vrias camadas, adotada pela
totalidade das propostas de redes de comunicao, os protocolos de comunicao a nvel
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.10
de cada camada constituem-se num grau de dificuldade considervel pela grande
quantidade de problemas que estes devem tratar.
Isto significa que a concepo de protocolos de comunicao uma tarefa longe do
trivial, necessitando ser desenvolvida com base numa poltica de disciplina que evoque as
normas definidas pela engenharia de programao. O nome de Engenharia de Protocolos
surge ento, como uma forma de particularizao pela aplicao das normas da Engenharia
de Programao concepo dos protocolos de comunicao.
Um grande nmero de trabalhos tem sido realizados nesta rea, particularmente nos
seguintes temas:
estudo e definio de modelos e metodologias de desenvolvimento de protocolos;
desenvolvimento de ferramentas automatizadas para a construo de protocolos
de comunicao;
desenvolvimento de tcnicas de validao de software para protocolos de
comunicao;
desenvolvimento de metodologias e tcnicas para o teste de implementaes de
protocolos;
etc...
4.2. Sistemas multimdia
Um outro aspecto importante no domnio das redes de comunicao e que vem
surgindo como uma palavra que traduz o futuro das comunicaes via rede o suporte a
aplicaes multimdia. Por aplicao multimdia entende-se as aplicaes informticas que
envolvem o tratamento de diversos tipos de informao, alm dos tradicionais dados
informticos: imagem, sinais de udio e vdeo, etc...
A possibilidade de suporte transmisso destes tipos de informao abre as portas
para um conjunto bastante importante de aplicaes, como, por exemplo:
as teleconferncias;
a manuteno remota;
a troca de diagnsticos mdicos ou mesmo cirurgias a distancia;
a realidade virtual;
o videofone;
etc...
evidente que a existncia, num mesmo sistema de dados de naturezas to
distintas impem dificuldades a serem contornadas, para algumas das quais as solues j
existem sendo que outras ainda representam uma incgnita. Um dos problemas a ser
enfrentado, evidentemente, a questo das taxas de transmisso disponveis nas redes de
comunicao. As redes atuais esto em condies de suportar a demanda das aplicaes
multimdia, dado o grande volume de informao que dever trafegar na rede?
Outra questo so os protocolos de comunicao. Aqueles protocolos desenvolvidos
para o suporte ao transporte de dados informticos estariam adaptados para a transmisso
de outros tipos de informao? E as interaes entre diversas mdias, como sero tratadas?
Por exemplo, quando imagem e som so transmitidos via rede, quem vai assumir a tarefa de
tratar a sincronizao entre os dois tipos de informao? So questes que alguns trabalhos
sendo realizados no devero tardar a responder.
4.3. As redes de comunicao industriais
As redes de comunicao tm servido, j h vrios anos, como meio de integrao
das diferentes atividades de uma empresa. Alguns resultados importantes foram obtidos,
motivados pelas prprias necessidades das empresas na interconexo de seus
CAP. 10 ESTADO DA ARTE EM REDES PROF. VITRIO BRUNO MAZZOLA
10.11
equipamentos. Podemos ressaltar a os trabalhos iniciados pela General Motors e que
resultaram na definio da arquitetura MAP como proposta de padro de comunicao para
a interconexo de equipamentos de produo programveis.
No entanto, a continuidade dos trabalhos neste domnio permitiu verificar que a
arquitetura MAP no era adequada para todos os nveis de atividades dentro da empresa,
particularmente os nveis hierrquicos mais baixos, onde as trocas de mensagens so
realizadas com freqncia relativamente elevada, com restries temporais crticas, sendo
que o atraso ou a no chegada de uma mensagem em tempo hbil pode comprometer o
bom funcionamento de um processo de fabricao. Isto motivou o aparecimento de novas
propostas de arquiteturas de comunicao, mais adaptadas para estes nveis: os chamados
Barramentos de Campo (Fieldbus). Diversas propostas resultaram dos trabalhos realizados,
algumas das quais j existentes na forma de produtos.
4.4. As redes de comunicao domsticas
Mais recentemente, principalmente nos pases mais desenvolvidos, o uso dos
computadores transcendeu a fronteira das instituies para atingir tambm os lares. Cada
vez mais pessoas tornam-se possuidoras de computadores pessoais, principalmente devido
s constantes quedas de preo destes equipamentos.
Em muitos pases, os computadores so vendidos at mesmo em supermercados,
ao lado dos equipamentos eletrodomsticos. Teriam os computadores sido transformados
em eletrodomsticos ou os eletrodomsticos em computadores? A verdade que muitos
eletrodomsticos de hoje (e sem dvida a totalidade dos de amanh), so dotados de um ou
vrios processadores, constituindo-se numa mquina programvel.
Se possvel hoje conectar computadores a nvel de uma escola, uma empresa ou
repartio pblica por meio de uma rede de comunicao, por que no fazer o mesmo numa
residncia? Esta idia motivou o aparecimento de um novo conceito, o dos sistemas de
comunicao domsticos (ou home systems), que sugere a interconexo dos diversos
equipamentos presentes numa casa atravs de uma rede que vai permitir a comunicao
entre um dado equipamento com os demais instalados na casa ou com o exterior.
Diversos projetos de pesquisa esto em realizao, principalmente nos Estados
Unidos, Japo e Europa, com objetivo de definir padres de protocolos para atenderem a
esta classe de sistemas, assim como de especificar e desenvolver equipamentos
compatveis com estes padres.
B.1
B BI BLI OGRAFI A I BLI OGRAFI A
COMER, D.; STEVENS, D. L.
Internetworking with TCP/IP, Ed. Prentice-Hall, New York, 1993.
GIOZZA, W. F. et alli.
Redes Locais de Computadores - Tecnologia e Aplicaes, McGraw-Hill, So Paulo, 1986.
RUDNIANSKI, M.
Architecture de Rseaux: le modle ISO - Rle et Fonctionnalits, Editests, Paris, 1986.
SOARES, L. F. G.; LEMOS, G.; COLCHER, S.
Redes de Computadores: Das LANs, MANs e VANs s Redes ATM, 2 Edio. Ed.
Campus, Rio de Janeiro, 1997.
TANENBAUM, A. S.
Redes de Computadores, 3 edio, Ed. Prentice Hall, New York, 1996.