Arquitetura de Redes de Computadores
Arquitetura de Redes de Computadores
Arquitetura de Redes de Computadores
1. Introdução..............................................................................................................2.1
2. Fundamentos e Arquitetura...................................................................................2.1
3. Serviços e Protocolos ...........................................................................................2.3
4. A Arquitetura OSI e as Funções das Camadas ...................................................2.4
5. A Comunicação no OSI ........................................................................................2.7
6. Os Conceitos do Modelo OSI ...............................................................................2.7
7. As Primitivas de Serviço.....................................................................................2.10
1. Introdução..............................................................................................................3.1
2. A Camada Física ..................................................................................................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 Sessão.........................................................................................3.21
7. A Camada de Apresentação...............................................................................3.28
8. A Camada de Aplicação......................................................................................3.36
—i—
ARQUITETURA DE REDES DE COMPUTADORES — SUMÁRIO PROF. VITÓRIO BRUNO MAZZOLA
1. Introdução..............................................................................................................4.1
2. Classificação das Redes de Computadores........................................................4.1
3. Parâmetros de Comparação ................................................................................4.2
4. Características das Redes Locais .......................................................................4.3
5. Histórico ................................................................................................................4.4
6. Definições Básicas ...............................................................................................4.4
7. RM-OSI e as Redes Locais ..................................................................................4.5
8. Os Sistemas Operacionais de Rede....................................................................4.6
9. O Padrão IEEE 802...............................................................................................4.7
10. Ethernet 802.3.....................................................................................................4.10
11. A Rede Local Ethernet ........................................................................................4.12
12. Configuração da Ethernet ...................................................................................4.15
13. Fast Ethernet.......................................................................................................4.15
14. Token Ring e IEEE 802.5....................................................................................4.16
15. Cabeamento Estruturado....................................................................................4.18
1. Introdução..............................................................................................................5.1
2. Níveis Hierárquicos da Integração Fabril ..............................................................5.1
3. As Redes na Empresa..........................................................................................5.2
4. Aspectos da Comunicação em Ambiente Industrial.............................................5.2
5. Características Básicas das Redes Industriais ...................................................5.4
6. Projetos de Padronização de Redes Industriais ..................................................5.6
7. Projeto MAP...........................................................................................................5.7
8. Redes Fieldbus ...................................................................................................5.16
1. Introdução..............................................................................................................6.1
2. Aspectos da Conectividade ..................................................................................6.2
3. A Interconexão segundo o Modelo OSI.................................................................6.3
4. As Diferentes Possibilidades de Interconexão .....................................................6.4
5. As Pontes ..............................................................................................................6.4
6. Os Roteadores......................................................................................................6.6
7. As Passarelas .......................................................................................................6.8
— ii —
ARQUITETURA DE REDES DE COMPUTADORES — SUMÁRIO PROF. VITÓRIO BRUNO MAZZOLA
1. Introdução..............................................................................................................7.1
2. As Etapas de Concepção dos Protocolos de Comunicação...............................7.1
3. Especificação de Protocolos de Comunicação ...................................................7.2
4. A Validação de Protocolos de Comunicação .....................................................7.11
5. A Implementação dos Protocolos de Comunicação ..........................................7.19
6. O Teste de Protocolos de Comunicação ...........................................................7.19
7. Conclusão .......................................................................................................... 7.20
1. Introdução..............................................................................................................9.1
2. As Técnicas de Descrição Formal Padronizadas................................................9.1
3. A Técnica de Descrição Formal Estelle ...............................................................9.2
4. Os Trabalhos Realizados em torno de Estelle...................................................9.18
1. Introdução............................................................................................................10.1
2. A Rede Digital de Serviços Integrados - ISDN....................................................10.1
3. A Rede FDDI.......................................................................................................10.8
4. A Pesquisa em Redes de Comunicação - Estado da Arte ................................10.9
BIBLIOGRAFIA............................................................................................................... B.1
— iii —
Capítulo 1
AS REDES DE COMPUTADORES
— 1.1 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
3. EXTENSÃO E TOPOLOGIA
— 1.2 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
em cidades distantes de uma dada região. Esta caracteriza uma Rede de Longa Distância
ou Rede Geograficamente Distribuída (ou WAN - Wide Área Network).
Figura 1.1 - Topologias ponto-a-ponto: estrela, anel, malha regular, malha irregular e árvore.
— 1.3 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
Pode-se ainda especificar uma mensagem de modo que esta seja enviada a um
subgrupo de estações da rede. A figura 1.2 apresenta algumas topologias possíveis no caso
das redes a difusão. Numa rede em barramento, uma única máquina é autorizada a cada
instante a transmitir uma mensagem — é a estação mestre do barramento. As demais
estações devem esperar autorização para transmissão.
Para isto, um mecanismo de arbitragem deve ser implementado para resolver
possíveis problemas de conflito (quando duas ou mais estações querem enviar uma
mensagem), este mecanismo podendo ser centralizado ou distribuído.
No caso das redes de satélite (ou rádio), cada estação é dotada de uma antena
através da qual pode enviar e receber mensagens. Cada estação pode “escutar” o satélite e,
em alguns casos, receber diretamente as mensagens enviadas pelas demais estações.
No caso do anel, cada bit transmitido é propagado de maneira independente em
relação à mensagem (ou pacote) ao qual ele pertence. Em geral, cada bit realiza uma volta
completa do anel durante o tempo necessário para a emissão de um certo número de bits,
antes mesmo da emissão completa da mensagem.
Também nesta topologia, é necessária a implementação de um mecanismo de
acesso ao suporte de comunicação. Existem diferentes técnicas para este fim que serão
discutidas ao longo do curso.
As redes de difusão podem ainda considerar duas classes de mecanismos de
acesso ao suporte de comunicação: estáticas ou dinâmicas. Um exemplo do primeiro caso
é a definição de intervalos de tempo durante os quais cada estação tem a posse do canal de
comunicação, permitindo então que esta emita a mensagem de maneira cíclica. No entanto,
esta política é bastante ineficiente do ponto de vista do envio das mensagens, uma vez que
muitas estações não vão enviar mensagens nos intervalos a elas destinadas. Já na outra
classe de mecanismos, dinâmicos, o acesso é dado às estações segundo a demanda de
envio de mensagens. Nos mecanismos de acesso dinâmicos, pode-se ainda considerar dois
casos:
• os mecanismos centralizados, nos quais uma estação central (árbitro) é a
responsável da definição do direito de acesso ao suporte de comunicação;
• os mecanismos distribuídos, nos quais cada estação define quando ela vai
emitir a mensagem.
4. ASPECTOS ARQUITETURAIS
— 1.4 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
— 1.5 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
— 1.6 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
4
3
Uma outra questão é a do ordenamento das funções. O controle de fluxo deve ser
realizado antes ou depois da correção de erros? Uma vez resolvida esta questão, que
elementos da rede serão responsáveis da implementação destas funções? As soluções
adotadas são dependentes do suporte de transmissão utilizado? Elas continuam válidas no
caso de expansão da rede? Estas questões representam, de certo modo, a necessidade de
levar em conta um certo ordenamento no que diz respeito à adoção das soluções a cada
problema.
Uma ilustração típica do problema é aquele da comunicação 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 Secretária Administrativa e solicita, informalmente, que esta
construa um texto relativo ao assunto a ser tratado. A Secretária 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 Serviço Postal para condução à 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 funções para
fazer com que a correspondência chegue às mãos do Diretor da Empresa.
Empresa A Empresa B
Diretor Diretor
Empresa Empresa
Secretária Secretária
Administrativa Administrativa
Office Office
Boy Boy
Chefe Chefe
Malote Malote
Serviço Postal
Figura 1.6 - Filosofia de concepção das redes, ilustrada por um processo de relações entre empresas.
— 1.7 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
— 1.8 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
SISTEMA A SISTEMA B
Protocolo da Camada 7
Camada 7 Camada 7
Interface Interface
6/7 Protocolo da Camada 6 6/7
Camada 6 Camada 6
Interface Interface
5/6 Protocolo da Camada 5 5/6
Camada 5 Camada 5
Interface Interface
4/5 Protocolo da Camada 4 4/5
Camada 4 Camada 4
Interface Interface
3/4 Protocolo da Camada 3 3/4
Camada 3 Camada 3
Interface Interface
2/3 Protocolo da Camada 2 2/3
Camada 2 Camada 2
Interface Interface
1/2 Protocolo da Camada 1 1/2
Camada 1 Camada 1
Meio de Transmissão
— 1.9 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
Uma mensagem é definida como um conjunto de símbolos. Cada símbolo, por sua
vez, para efeito de transmissão de dados, é caracterizado por um conjunto de configurações
do sinal que representam bits. Por necessidade de codificação, os símbolos ficam
associados a caracteres, que são, na realidade, configurações de sinais. Na verdade, uma
mensagem nada mais é que uma seqüência de bits. Para transferir essa seqüência de bits,
podemos fazer de duas formas: serial ou paralela. Na transmissão paralela, os bits que
compõem um caracter são transportados de forma simultânea, cada um possuindo seu
próprio canal, conforme mostra a figura 1.8.
Na transmissão serial, os bits que compõem um caracter são transportados um após
o outro, utilizando apenas um canal, como ilustrado na figura 1.9.
canal 0
1 1
canal 1
1 1
canal 2
0 0
canal 3
1 1
canal 4
0 0
canal 5
0 0
canal 6
1 1
canal 7
0 0
EMISSOR RECEPTOR
Figura 1.8 - Transmissão paralela.
1
1
0
1 1 1 0 1 0 0 1 0
1 1 0 1 0 0 1 0
0
0
1 RECEPTOR
0
EMISSOR
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 símbolo recebido, ou quais bits
são realmente de informação. Este é um problema de sincronização. Sincronização pode
ser vista, então, como o método do equipamento transmissor fazer a separação dos
caracteres ou das mensagens para o equipamento receptor. Existem dois modos de se
fazer sincronização e eles são conhecidos como transmissão síncrona e transmissão
assíncrona. Todos os dois modos dizem respeito à transmissão serial.
Na transmissão serial assíncrona, a sincronização é alcançada precedendo-se cada
caracter de um elemento de start e colocando-se, após os bits de dados um elemento de
stop. Geralmente os dados são transmitidos serialmente em um número fixo de bits,
dependendo do código usado.
Na transmissão serial síncrona, a sincronização é alcançada transmitindo-se os bits
de um caracter seguidos imediatamente pelos bits do próximo caracter, não 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 transmissão.
— 1.10 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
— 1.11 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
Atenuação, ruído e retardo são termos usados de um modo geral para descrever
as modificações que um sinal sofre quando é transmitido em um circuito ou canal. Essas
alterações resultam de imperfeições na propagação do sinal, ao longo do suporte de
transmissão (atenuação e retardo) e de perturbações (ruídos) que atuam não só no suporte
de transmissão como também nos estágios de processamento do sinal que compõem o
receptor. Quando a alteração sofrida pelo sinal é muito grande, pode ocorrer a detecção
trocada da informação binária, isto é, detecção de "1" quando foi transmitido o "0" ou
detecção de "0" quando foi transmitido o "1". Estas detecções trocadas caracterizam os
chamados erros de transmissão.
O desempenho de um sistema de transmissão de dados é avaliado através do seu
grau de confiabilidade na transmissão dos bits. A taxa de erros de um sistema de
transmissão representa a probabilidade de ocorrência de erros de transmissão.
Para redes de longa distância existe uma padronização internacional que determina
uma taxa de erros máxima em um canal a fim de que o mesmo possa ser considerado
adequado para a transmissão de dados. O ITU recomenda uma taxa de erros não 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 típicas da ordem de 10-9 a 10-12 .
A transmissão sem erros é um requisito essencial de quase todas as aplicações de
comunicação de dados e portanto, uma série de mecanismos deve ser implementada para
detectar e corrigir possíveis erros. A maneira usual utilizada para detectar a alteração de bits
de informação transmitidos, consiste na adição de bits de redundância na mensagem a ser
transmitida. Dentre as várias técnicas usadas para esta finalidade pode-se citar: bits de
paridade por caracter, paridade longitudinal e códigos de redundância cíclica (CRC).
5.4. Comutação
— 1.12 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
5.5. Multiplexação
Quando a banda passante de um meio físico for maior ou igual à banda passante
necessária para um sinal podemos transmitir mais de um sinal neste meio físico. Esta
técnica é denominada multiplexação.
As duas principais técnicas de multiplexação são: multiplexação por divisão de
freqüência (FDM) e multiplexação por divisão de tempo (TDM). A primeira técnica divide
a largura de banda em diversas larguras de banda menores, cada qual com seu próprio
domínio de freqüências. Cada uma destas componentes pode ser usada individualmente
como se ela fosse uma linha separada. A segunda técnica intercala os bits, que fluem das
linhas de baixa velocidade, dentro da linha de maior velocidade. Em ambos os métodos o
resultado é que uma linha transmite em paralelo um número de sinais de linhas de
velocidades mais baixas.
Uma desvantagem da FDM é a relativa dificuldade de expansão porque, uma vez
determinado o número de sub-canais sobre a linha compartilhada, pode ser difícil adicionar
novos sub-canais já que as freqüências em um grupo devem ser reatribuídas. Na TDM na
qual o tempo disponível é 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, então a largura de banda é dedicada ao tráfego da próxima 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 técnica é assim, totalmente diferente da FDM, na qual todos os
sinais são enviados ao mesmo tempo, porém cada um ocupando uma diferente porção da
largura de banda.
A FDM ajusta-se naturalmente dentro do mundo dos sinais analógicos 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 freqüências alocadas. Similarmente, alguma perda do tempo ocorre com TDM. As
fatias de tempo alocadas devem ser separadas por um espaço de tempo umas das outras.
A TDM pode ser utilizada quando a capacidade (em quantidade de bits por segundo)
do meio de transmissão, em muitos casos excede a taxa máxima de geração de bits da
estações conectadas ao meio físico. Quando isto ocorre vários sinais podem ser
transportados por um único caminho físico, intercalando-se porões de cada sinal durante o
tempo. A TDM pode ser síncrona ou assíncrona. Na TDM síncrona o domínio do tempo é
dividido em intervalos de tamanho fixo denominados frames, que por sua vez são
subdivididos em subintervalos denominados slots. Cada estação deve esperar o seu slot
dentro de cada frame quando então poderá transmitir dentro do tempo daquele slot utilizando
a taxa de transmissão máxima suportada pelo meio físico. A TDM assíncrona procura
eliminar o desperdício de capacidade existente no TDM síncrono, eliminando a alocação
prévia do canal. Neste caso parcelas de tempo são alocadas dinamicamente de acordo com
a demanda das estações, em compensação as unidades de informação devem conter um
cabeçalho com os endereços origem e destino.
O único objetivo dos multiplexadores é a diminuição do custo das linhas em uma
rede. Uma tendência evidente é o crescente uso de inteligência nos multiplexadores para
— 1.13 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
diminuir, ainda mais o custo das linhas (aumentar a economia). Multiplexadores inteligentes
podem ser vistos como equipamentos de processamento da comunicação mais gerais e
incluem os concentradores e processadores front-end.
Um concentrador, em sua forma mais simples, nada mais é que um multiplexador
inteligente , com memória de armazenamento e um processador. Nos multiplexadores existe
uma correlação direta entre as velocidades de entrada e saída, enquanto que nos
concentradores, que também incluem um software de controle, um grande número de linhas
de baixa velocidade podem compartilhar um pequeno número de canais de alta velocidade.
Através de armazenamento, enfileiramento e alocação estatística de canais disponíveis, os
dados da fonte são "concentrados" em um canal de alta velocidade. Uma diferença
fundamental entre multiplexadores e concentradores é que o primeiro trabalha com mesma
taxa de entrada e saída de dados, enquanto que um concentrador inteligente pode ajustar
dinamicamente suas alocações de largura de banda para modificações no tráfego.
A técnica TDM se caracteriza por alocar uma fatia de tempo n à n-ésima linha de
baixa velocidade, mesmo que não exista nenhum tráfego sobre esta linha. Uma modificação
para otimizar esta técnica é a TDM estatística (STDM) que é uma forma de concentração.
Uma fatia de tempo só será alocada se existir tráfego na linha. Em geral, o uso da STDM é
mais vantajoso que a TDM pois evita a má utilização da linha. No entanto, se o tráfego de
várias fontes (ou destinos) é uniformemente distribuído no tempo, então o uso da TDM será
menos caro e proporcionará uma melhor utilização da linha.
Um processador front-end é um concentrador de propósito especial que é instalado
na frente do computador hospedeiro (HOST) e executa a tarefa de gerenciar a interface entre
o HOST e a rede de comunicação. O principal objetivo da utilização de um processador
front-end é aliviar o HOST das tarefas de processamento de comunicação reduzindo o
tempo e o espaço dedicados pelo HOST para estas tarefas e, portanto, aumentar a sua
disponibilidade para o processamento de dados.
5.6. Modulação
— 1.14 —
CAP. 1 – I NTRODUÇÃO ÀS REDES DE COMPUTADORES PROF. VITÓRIO BRUNO MAZZOLA
3100 Hz (ciclos/segundo) e na prática é usado para transmitir sinal de dados até 2400
bauds. Se desejarmos transmitir a uma velocidade de transmissão de 4800 bps neste canal,
deveremos usar um sinal dibit, ao qual corresponderá a mesma velocidade de sinalização de
2400 bauds. Neste caso, a velocidade de transmissão é duas vezes a velocidade de
sinalização. Da mesma forma que se desejarmos transmitir 7200 bps, deveremos usar um
sinal tribit e teremos velocidade de transmissão igual a três vezes a velocidade de
sinalização.
Modulação é o processo pelo qual se imprime uma informação em uma onda
portadora, pela variação de um de seus parâmetros (amplitude, freqüência ou fase). O
processo inverso, no qual a informação é retirada da onda portadora, é denominado
demodulação. O equipamento que realiza a adequação dos sinais binários ao canal de
transmissão é denominado modem (modulador-demodulador).
Existem três técnicas básicas de modulação:
No caso específico do sinal modulador ser um sinal digital, essas técnicas tomam as
seguintes denominações:
§ modulação por chaveamento da fase (ASK)
§ modulação por chaveamento da freqüência (FSK)
§ modulação por chaveamento de fase (PSK)
— 1.15 —
Capítulo 2
O M ODELO DE R E F E R Ê N C I A OSI
1. INTRODUÇÃO
2. FUNDAMENTOS E ARQUITETURA
— 2.1 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
SISTEMA A SISTEMA B
Protocolo da Camada 7
Camada 7 Camada 7
Interface Interface
6/7 Protocolo da Camada 6 6/7
Camada 6 Camada 6
Interface Interface
5/6 Protocolo da Camada 5 5/6
Camada 5 Camada 5
Interface Interface
4/5 Protocolo da Camada 4 4/5
Camada 4 Camada 4
Interface Interface
3/4 Protocolo da Camada 3 3/4
Camada 3 Camada 3
Interface Interface
2/3 Protocolo da Camada 2 2/3
Camada 2 Camada 2
Interface Interface
1/2 Protocolo da Camada 1 1/2
Camada 1 Camada 1
Meio de Transmissão
— 2.2 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
3. SERVIÇOS E PROTOCOLOS
TRANSMISSOR RECEPTOR
Protocolo
M M
da Camada 7
Protocolo
m m
da Camada 6
Protocolo
m m
da Camada 5
Protocolo
H4 M1 H4 M2 H4 M1 H4 M2
da Camada 4
Protocolo
H3 H4 M1 H3 H4 M2 H3 H4 M1 H3 H4 M2
da Camada 3
Protocolo
H2 H3 H4 M1 H2 H3 H4 M2 H2 H3 H4 M1 H2 H3 H4 M2
da Camada 2
— 2.3 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
Por outro lado, o protocolo define um conjunto de regras que permitem especificar
aspectos da realização do serviço, particularmente, o significado dos quadros, pacotes ou
mensagens trocadas entre as entidades pares de uma dada camada. A nível de uma
camada, o protocolo pode ser mudado sem problemas, desde que as interfaces com a
camada superior não sejam alteradas, ou seja, que aquela continue a ter a mesma
visibilidade no que diz respeito aos serviços realizados pela camada considerada; isto
corresponde, na verdade, a um certo desacoplamento entre os conceitos de serviço e
protocolo.
O modelo OSI foi criado seguindo a filosofia das arquiteturas multicamadas, descrita
no capítulo precedente. Como mostra a figura 2.3, sua arquitetura define 7 camadas, cujos
princípios de definição foram os seguintes:
• cada camada corresponde a um nível de abstração necessário no modelo;
• cada camada possui suas funções próprias e bem definidas;
• as funções de cada camada foram escolhidas segundo a definição dos
protocolos normalizados internacionalmente;
• a escolha das fronteiras entre cada camada deveriam ser definidas de modo a
minimizar o fluxo de informação nas interfaces;
• número de camadas deveria ser suficientemente grande para evitar a realização
de funções muito diversas por uma mesma camada;
• número de camadas deveria ser suficientemente pequeno para evitar uma alta
complexidade da arquitetura.
Como se pode ver na figura, o modelo prevê a comunicação entre sub-redes através
de processadores de interface de mensagem, ou IMPs (Interface Message Processors). Na
figura, vemos ainda as unidades de dados trocadas a nível da arquitetura: APDU, PPDU, ...,
BIT. Vamos descrever, a seguir, as principais funções realizadas por cada uma das
camadas definidas no modelo.
A Camada Física é responsável da transferência de bits num circuito de
comunicação.
SISTEMA A SISTEMA B
Protocolo da Camada 7
7 7
Aplicação Aplicação
Protocolo da Camada 6
6 Apresentação Apresentação 6
Protocolo da Camada 5
5 5
Sessão Sessão
Protocolo da Camada 4
4 4
Transporte Transporte
3 3
Rede Rede Rede Rede
1 1
Física Física Física Física
IMP IMP
— 2.4 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
De maneira geral, a sua função é 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 não a 0.
Para isto, as questões a serem resolvidas neste nível são do tipo:
— 2.5 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
Esta camada cria, normalmente, uma conexão de rede para cada conexão de
transporte requerida pela camada de Sessão, embora, se as necessidades de velocidade
transmissão são justificadas, ela possa estabelecer diversas conexões de rede para uma
mesma conexão de transporte. Por outro lado, se o custo da manutenção de uma conexão
de rede é considerado elevado, esta camada pode efetuar a função inversa, ou seja, a
multiplexação de várias conexões de transporte sobre uma mesma conexão de rede, esta
tarefa sendo feita de modo transparente para a camada de Sessão.
Ela deve determinar, também, o tipo de serviço oferecido à camada de Sessão e, por
conseqüência, aos usuários da rede. Uma conexão de transporte típica é aquela de um
canal ponto-a-ponto, livre de erros de transmissão, transmitindo as mensagens na mesma
ordem em que elas foram enviadas. Por outro lado, outras classes de serviços podem
fornecer uma conexão capaz de enviar as mensagens de modo isolado, mas sem a garantia
de uma ordem correta na transmissão. O tipo do serviço a ser fornecido é definido no
momento do estabelecimento da conexão.
Uma característica desta camada é que ela implementa um verdadeiro diálogo fim-a-
fim, ou seja, o programa executando no sistema fonte dialoga com o programa executando
na máquina destino através dos cabeçalhos e informações de controle contidas nas
mensagens deste nível. Já nas camadas mais baixas, os protocolos operam entre máquinas
vizinhas e não entre os sistemas fonte e destino, dado que estes podem estar separados por
vários IMPs. Esta diferença fundamental, que se estende igualmente às camadas superiores
(até a camada 7) pode ser verificada pela ilustração da figura 2.3.
Dado que esta camada é responsável do estabelecimento e término das conexões
de rede, ela deve definir um mecanismo de endereçamento 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.
— 2.6 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
5. A COMUNICAÇÃO NO OSI
A forma como os dados são 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, então, os dados à camada de Aplicação que introduz a estes um cabeçalho
de aplicação, AH, e envia a mensagem resultante à camada de Apresentação.
Esta camada, por sua vez, introduz à mensagem recebida um cabeçalho de
apresentação, PH, enviando a mensagem, em seguida à camada inferior. É importante
ressaltar aqui que esta camada não toma conhecimento da existência e significado do
cabeçalho de aplicação, considerando este como parte dos dados compondo a mensagem.
Este processo de transferência de camada a camada vai se repetindo até o nível físico,
quando os dados serão, enfim, transmitidos ao sistema destino.
Neste sistema, os diversos cabeçalhos introduzidos nas camadas de rede do
sistema fonte vão sendo interpretados e eliminados nas camadas correspondentes até que
os dados cheguem ao processo receptor.
O conceito fundamental da transferência de dados é que cada camada foi projetada
como se ela fosse realmente horizontal, quando na verdade a transmissão se dá de modo
vertical.
Isto fica claro, por exemplo, quando a camada de Transporte emissora recebe um
dado da camada de Sessão; ela insere um cabeçalho de transporte e envia a mensagem à
camada de Rede emissora. Este processo, portanto, para a camada de Transporte, não é
mais do que um detalhe técnico. Um exemplo análogo é aquele de um diplomata de um país
fazendo um discurso, na sua própria língua, nas Nações Unidas. Este considera estar se
dirigindo aos seus colegas diplomatas de outros países, embora, na prática, ele esteja
dirigindo-se ao seu intérprete.
PROCESSO PROCESSO
EMISSOR DADOS RECEPTOR
— 2.7 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
— 2.8 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
inicialmente, tirar o fone do gancho, digitar (ou discar) um número, esperar que o interlocutor
atenda, falar e, finalmente, desligar.
Este é o princípio de base de um serviço orientado conexão: estabelecimento da
conexão, utilização do serviço e término da conexão. O aspecto principal da conexão é o fato
de que ela funciona como uma espécie de canal através do qual irão transitar os objetos ou
mensagens envolvidas na realização do serviço.
Já os serviços sem conexão são estruturados como o sistema postal, onde cada
mensagem (ou carta, se consideramos o exemplo citado) contém o endereço do destinatário
e é então encaminhada no sistema, independente de outras.
Normalmente, se duas mensagens são enviadas a um mesmo destinatário, a primeira a ser
enviada deve ser a primeira a ser recebida. Por outro lado, neste modo de serviço pode
ocorrer que uma mensagem seja atrasada fazendo com que a segunda mensagem seja
recebida primeiro. Já nos serviços orientados conexão, isto jamais poderá acontecer.
Cada serviço é caracterizado por uma qualidade de serviço. Um serviço dito confiável
é aquele em que os dados não podem ser jamais perdidos. Normalmente, a implementação
de serviços confiáveis é feita através da definição de mensagens de reconhecimento
enviadas pelo receptor, para cada mensagem recebida do emissor. Este processo, embora
extremamente benéfico, introduz uma lentidão na transferência de dados, o que significa que
nem sempre ele é desejável num sistema.
Os serviços confiáveis orientados conexão apresentam duas variantes. No primeiro
caso, as fronteiras das mensagens são sempre preservadas. Se duas mensagens de 1
Kbytes são enviadas, elas chegarão 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, não 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.
IDU
Camada
N+1 ICI SDU
SAP
Interface
Cabeçalho
Camada
N ICI SDU SDU
N-PDU
Figura 2.5 - Ilustração dos diferentes conceitos associados ao modelo de referência OSI.
— 2.9 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
7. AS PRIMITIVAS DE SERVIÇO
PRIMITIVA SIGNIFICADO
REQUEST Pedido enviado por uma entidade que solicita um serviço
INDICATION Através dela, a entidade par é informada de uma solicitação de serviço
RESPONSE A entidade par responde ao pedido de serviço
CONFIRM A entidade solicitante é informada do resultado do serviço
— 2.10 —
CAP. 2 – O MODELO DE REFERÊNCIA OSI PROF. VITÓRIO BRUNO MAZZOLA
PRIMITIVA SIGNIFICADO
CONNECT.request pedido de estabelecimento de uma conexão
CONNECT.indication indicação à entidade invocada
CONNECT.response utilizada para indicar a aceitação ou não da conexão
CONNECT.confirm informa à entidade emissora se a conexão é aceita
DATA.request pedido de envio de dados
DATA.indication sinalização da chegada de dados
DISCONNECT.request pedido de término da conexão
DISCONNECT.indication indicação do pedido à entidade par
SISTEMA A SISTEMA B
connect.req connect.rsp
connect.cnf connect.ind
Camada N Camada N
— 2.11 —
Capítulo 3
1. INTRODUÇÃO
2. A CAMADA FÍSICA
— 3.1 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
o par de fios trançados, o qual é composto de dois fios elétricos em cobre, isolados, e
arranjados longitudinalmente de forma helicoidal. Esta técnica de enrolar os fios permite
diminuir os efeitos das induções eletromagnéticas parasitas provenientes do ambiente no
qual este estiver instalado.
A utilização mais típica deste suporte de transmissão é a rede telefônica, onde,
graças às suas características elétricas, os sinais podem percorrer várias dezenas de
quilômetros, sem a necessidade de amplificação ou regeneração de sinal.
Estes podem, ainda, ser utilizados para a transmissão de sinais analógicos quanto
de sinais digitais, a banda passante atingida sendo função da sua composição
(particularmente, diâmetro e pureza dos condutores, natureza dos isolantes e do
comprimento do cabo). A taxa de transmissão obtida pela utilização deste suporte de
transmissão situa-se na faixa de algumas dezenas de Kbits/s, podendo atingir, em
condições particulares, na faixa dos Mbits/s em pequenas distâncias.
O fato de representar um baixo custo e uma grande faixa de utilização o torna um dos
suportes mais utilizados atualmente e, provavelmente, nos próximos anos.
As fibras óticas são o meio de transmissão pelo qual os sinais binários são
conduzidos sob a forma de impulsos luminosos. Um impulso luminoso representa um bit a
1, enquanto a ausência deste impulso representa um bit a 0. A luz visível é uma onda
luminosa cuja freqüência está na ordem de 108 Hz, o que dá ao sistema uma banda
passante potencial bastante grande. As taxas de transmissão num suporte a fibra ótica ficam
na faixa dos Gbit/s (109 bit/s).
Um sistema de transmissão a base de fibra ótica é composto de três principais
elementos: o suporte de transmissão (a fibra ótica), o dispositivo de emissão e o dispositivo
de recepção da onda luminosa.
A fibra ótica é constituída de um fio de vidro bastante fino, à base de silício e outros
componentes. Ela consiste de um núcleo no qual se propaga a luz e uma capa externa de
proteção que mantém a luz no interior do núcleo. O dispositivo de emissão consiste, ou de
— 3.2 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
RUÍDO
DESTINATÁRIO
FONTE DE
RECEPTOR DA
INFORMAÇÃO TRANSMISSOR SUPORTE DE TRANSMISSÃO
INFORMAÇÃO
BINÁRIA
BINÁRIA
(a)
RUÍDO
FONTE OU FONTE OU
DESTINATÁRIO TRANSMISSOR TRANSMISSOR DESTINATÁRIO
SUPORTE DE TRANSMISSÃO
INFORMAÇÃO RECEPTOR INFORMAÇÃO
RECEPTOR
BINÁRIA BINÁRIA
(b)
Figura 3.1 - (a) Sistema de transmissão ponto-a-ponto unidirecional; (b) modelo bidirecional.
— 3.3 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
— 3.4 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
de transmissão, cada canal pode atingir uma taxa de transmissão de até 3 Mbits/s, inferior,
portanto, à transmissão em banda de base.
— 3.5 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Para que o serviço seja oferecido à camada de Rede, a camada de Enlace utiliza-se
dos serviços fornecidos pela camada Física que, como já foi descrito na parte precedente, é
responsável da transmissão de bits de um ponto a outro na rede de comunicação, sendo
que o conjunto de bits transmitido pode sofrer distorções produzindo erros de transmissão.
Uma conseqüência típica pode ser que o número de bits recebidos seja inferior ao
número 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
decompõe as mensagens em porções menores denominadas quadros, aos quais são
adicionados códigos especiais de controle de erro. Desta forma, o receptor pode verificar se
o código enviado no contexto de um quadro indica ou não a ocorrência de erros de
transmissão e ele pode, assim, tomar as providências necessárias para evitar as
conseqüências devido àquele erro.
A definição e delimitação dos quadros pode obedecer a diferentes políticas. Uma das
políticas adotadas pode ser a contagem de caracteres. Nesta política, é introduzido um
caractere especial que indica o número de caracteres compondo o quadro. Deste modo, a
nível da camada de Enlace do receptor, basta que a entidade leia este caractere e em
seguida conte o número de caracteres para definir o tamanho do quadro. O inconveniente
desta técnica, 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.
request
indication
response
confirm
sistema A sistema B
— 3.6 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
contadores de caracteres
(a) 5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6
(b) 5 1 2 3 4 7 6 7 8 9 8 0 1 2 3 4 5 6
Figura 3.3 - Sequência de caracteres: (a) sem erro; (b) com erro.
Uma técnica que apresenta uma solução a este problema consiste na adição de
seqüências especiais de caracteres de modo a representar o início e fim da transmissão de
um quadro.
A figura 3.4 ilustra um caso relativo a esta técnica, onde a seqüência de caracteres
DLE (Data Link Escape) e STX (Start of TeXt) é inserida para representar o início de um
quadro e a seqüência DLE e ETX (End of TeXt) para representar o fim do quadro. Esta
técnica apresenta, ainda, um ponto de vulnerabilidade: se, dentro do texto, dado que os bits
podem assumir qualquer combinação de valores, uma seqüência de bits coincide com uma
das seqüências de caracteres citada, a entidade receptora na camada de Enlace pode ser
“enganada” por esta seqüência e, assim, receber erroneamente o quadro.
A solução a este problema vem através da introdução, pela entidade de Enlace
emissora, de um caractere DLE a cada vez que, uma seqüência 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 então, às entidades receptoras de Enlace, fazer a distinção entre as
seqüências delimitadoras de quadro (DLE-STX e DLE-ETX) das seqüências «acidentais»
nos dados. Os caracteres DLE introduzidos a nível dos dados são denominados caracteres
de transparência.
Uma técnica ainda utilizada e definida mais particularmente para a utilização em
redes de comunicação é aquela em que os quadros são delimitados por uma seqüência de
bits particular, mas desta vez dissociados da codificação de caracteres. A seqüência
01111110 é adotada para representar a delimitação dos quadros.
De maneira análoga à utilização dos caracteres de transparência da técnica anterior,
bits de transparência são introduzidos a nível da parte de dados para evitar a confusão, por
parte do receptor, com os delimitadores de quadro. Assim, no receptor, a cada vez que 5 bits
“1” consecutivos são detectados na parte de dados, um bit 0 é adicionado após a seqüência.
Do lado do receptor, a cada vez que ocorrer uma seqüência 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 aplicação desta técnica. Em 3.5(a) são apresentados os dados originais e, em 3.5(b), os
mesmos dados com a introdução dos bits de transparência.
— 3.7 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
bits. Os ruídos impulsivos são causados pelos arcos devido ao chaveamento de relês ou
outros dispositivos eletromecânicos.
O que se tem notado, entretanto, é que, independentemente do fenômeno causador
de erro, estes tendem a gerar normalmente verdadeiros pacotes de erros e não erros
simples.
Isto pode ter um aspecto positivo, uma vez que, num conjunto relativamente grande
de bits, um menor número de pacotes vai conter erros. Por outro lado, os erros agrupados
em pacotes são mais difíceis de modelizar e de detectar.
O controle de erros de transmissão é uma das funções mais importantes
asseguradas pela camada de enlace. Esta função é baseada na informação, à entidade
emissora da mensagem do que ocorreu na extremidade de recepção.
Os protocolos de controle de erro são caracterizados, em geral, pela definição 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 ruído, o quadro inteiro não é
recebido pela entidade destinatária, esta não vai reagir ao quadro emitido e a entidade
emissora corre o risco de esperar indefinidamente pelo reconhecimento — isto é evitado
pela adição de temporizadores, estabelecendo assim um tempo máximo de espera pelo
reconhecimento, antes da retransmissão. O tempo de espera deve ser determinado em
função dos atrasos relativos à transmissão dos quadros de modo que os quadros de
reconhecimento, se existentes, cheguem antes do esgotamento da temporização (timeout).
Deste modo, se o quadro ou o reconhecimento são perdidos, a temporização será
esgotada, podendo provocar a retransmissão do quadro. Neste caso, é possível que o
quadro seja aceito mais de uma vez pela camada de Enlace e transmitido à camada de Rede
— duplicação de quadros. Para evitar este problema, deve-se introduzir um mecanismo de
distinção dos quadros a fim de que o receptor possa separar os quadros duplicados de seus
originais.
Figura 3.4 - (a) Dados enviados pela camada de Rede com seqüências de delimitação; (b) idem, com
introdução dos caracteres de transparência.
(a) 0 1 1 0 1 1 1 1 1 1 1 1 0 1
(b) 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1
bit de transparência
Figura 3.5 - (a) dados originais; (b) dados com adição do bit de transparência.
— 3.8 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
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
— 3.9 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Segundo a bibliografia, uma das primeiras discussões realizadas no que diz respeito
à concepção da camada de Rede foi a questão do tipo de serviço a ser oferecido às camadas
superiores, particularmente relacionado à existência ou não de conexão.
O resultado desta discussão foi a definição, a nível do modelo OSI, de duas classes
de serviço, sem conexão e orientado à conexão, sendo que uma certa liberdade foi dada no
sentido de se definir a que nível o serviço com conexão seria implantado, ou mesmo se este
seria implantado. Abriu-se, assim, a possibilidade de se ter, nos diferentes níveis, as duas
classes de serviço, isto sendo ilustrado pela figura 3.6.
Os SAPs são localizados na interface entre duas camadas, permitindo que uma
camada tenha acesso aos serviços oferecidos pela camada inferior. Como se pode ver na
figura, da camada de Enlace para cima, os serviços podem ser sem ou orientados à
conexão.
Uma conexão 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
(endereços de rede). A figura 3.7 ilustra o estado da conexão, considerando a adoção de um
serviço orientado conexão. A figura 3.7(a) ilustra o estado da conexão antes do seu
estabelecimento; 3.7(b) após o estabelecimento da conexão e, 3.7(c), após o envio de três
pacotes de dados.
— 3.10 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
APLICAÇÃO
APRESENTAÇÃO
SESSÃO
TRANSPORTE
REDE
ENLACE
SAP
FÍSICA
Figura 3.7 - Modelo de uma conexão de Rede: (a) antes do estabelecimento; (b) após o
estabelecimento; (c) após o envio de três pacotes (de 1 para 2).
— 3.11 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
— 3.12 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
No terceiro caso, por exemplo, os arcos são etiquetados com um valor que
representa o tempo médio de espera entre o envio e a recepção de um pacote de teste,
expedido periodicamente.
Um exemplo de algoritmo do caminho mais curto é aquele definido por Dijkstra, onde
cada nó é etiquetado pela distância do nó fonte seguindo o caminho mais curto conhecido.
Como, inicialmente, nenhum caminho é conhecido, os nós são etiquetados com a etiqueta
«infinito», ou .... Estas vão sendo atualizadas à medida que o algoritmo progride e que os
caminhos vão se tornando conhecidos, as etiquetas vão indo do provisório ao permanente
uma vez que o caminho mais curto foi encontrado para os diferentes nós.
A figura 3.8 ilustra o funcionamento deste algoritmo. Vamos considerar o grafo
apresentado em 3.8(a), onde os arcos são etiquetados com o valor da distância entre os
nós. 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 referência (fundo
cinza) e serão analisados os nós adjacentes. Estes serão etiquetados pela distância que os
separa de A, marcando também, na etiqueta, o último nó a partir do qual o cálculo foi feito.
Após a análise dos nós 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 referência).
Repetindo a análise 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 então
encontrado, as etiquetas sendo modificadas segundo as análises efetuadas. A progressão
do algoritmo para o exemplo é ilustrada por 3.8(d), 3.8(e) e 3.8(f).
— 3.13 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
B C B (2,A) C ( ,-)
7
2 2 3 3 E ( ,-)
2
A E F D A F ( ,-) D ( ,-)
6 1 2 2
4
G H G (6,A) H ( ,-)
(a) (b)
E (4,B) E (4,B)
A F ( ,-) D ( ,-) A F (6,E) D ( ,-)
(c) (d)
E (4,B) E (4,B)
A F (6,E) D ( ,-) A F (6,E) D ( ,-)
(a) (b)
Figura 3.9 - Ilustração do algoritmo multicaminho: (a) grafo da rede; (b) tabela para o nó J.
— 3.14 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
— 3.15 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
5. A CAMADA DE TRANSPORTE
— 3.16 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
— 3.17 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
tomem conhecimento das más condições de funcionamento da rede de comunicação (se tal
é o caso!).
Uma outra diferença entre os dois serviços são os usuários destes... no caso do
serviço de Rede, os usuários são as entidades de Transporte, normalmente elementos
associados ao sistema operacional considerado ou a uma carta específica instalada nos
sistemas.
Já os usuários do serviço de Transporte podem ser programas escritos pelos
programadores de aplicações, uma vez que, como já foi dito, muitas aplicações podem
comunicar-se diretamente através do uso direto das primitivas de serviço de Transporte (não
fazendo uso dos serviços de Sessão ou de Apresentação).
As possíveis relações entre as primitivas de serviço da camada de Transporte são
apresentadas na figura 3.10. As duas extremidades das ilustrações caracterizam os
usuários do serviço de Transporte, o fornecedor sendo representado pelo espaço separando
os dois usuários.
Em 3.10(a) é ilustrada um estabelecimento normal de conexão, onde o usuário da
esquerda envia uma primitiva T_CONNECT.request à camada de Transporte. O usuário da
direita vai receber então uma primitiva T_CONNECT.indication, cujos parâmetros vão
conduzir os valores, particularmente, da qualidade de serviço a serem negociados. Este
aceita o estabelecimento da conexão, retornando à camada de Transporte uma primitiva
T_CONNECT.response, que será refletida, via serviço de Transporte, no usuário da
esquerda na forma de uma primitiva T_CONNECT.confirm. A figura 3.10(b) apresenta uma
tentativa de estabelecimento de conexão, rejeitada, porém, pelo usuário da direita, que utiliza
as primitivas de serviço T_DISCONNECT.request e T_DISCONNECT.indication para
sinalizar a rejeição. O caso é similar na figura 3.10(c), porém, desta vez, é o próprio
fornecedor do serviço de Transporte quem rejeita a conexão, enviando uma primitiva
T_DISCONNECT.indication ao usuário da esquerda. No que diz respeito à liberação da
conexão, pode-se considerar três diferentes maneiras: a primeira, ilustrada em 3.10(d),
considera o caso em que a liberação é iniciada por um dos usuários (no caso o da
esquerda). A conexão é liberada no momento em que o usuário da direita recebe uma
primitiva T_DISCONNECT.indication, reflexo da primitiva T_DISCONNECT.request emitida
pelo usuário que iniciou a liberação.
Em 3.10(e) é considerado o caso em que os dois usuário iniciam, simultaneamente,
a liberação da conexão, neste caso, a conexão é liberada sem a emissão de outras
primitivas de serviço; finalmente, em 3.10(f), a liberação é iniciada pelo próprio serviço de
Transporte, que vai emitir primitivas T_DISCONNECT.indication aos dois usuários
conectados. Já as figuras 3.10(g) e 3.10(h), representam, respectivamente, a etapa de
transferência de dados, para dados normais e expressos.
Como definido pelo modelo OSI, o serviço oferecido por uma camada N é o resultado
da implementação de um protocolo N regendo a comunicação entre duas entidades N. Em
princípio, os protocolos de Transporte apresentam preocupações similares à dos protocolos
de Enlace, ou seja, o controle de erros, o controle de fluxo, o seqüenciamento dos dados.
No entanto, algumas diferenças podem ser levantadas:
— 3.18 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
T_DATA T_EXPEDITED_DATA
request request
T_DATA T_EXPEDITED_DATA
indication indication
(g) (h)
— 3.19 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
• o estabelecimento de conexão;
• transferência de TPDUs;
• segmentação 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
inglês, Transport Protocol Data Unit). Por outro lado, a unidade de dados emitida por um
usuário do serviço Transporte será referenciado como sendo uma mensagem.
Uma mensagem a ser transmitida pode ter um tamanho qualquer, a segmentação
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 necessários para efetuar a sua completa emissão.
Ainda, se uma entidade de Transporte gerencia várias conexões num dado instante,
ela deve numerar as conexões e inserir o número correspondente nas unidades de dados, a
fim de permitir à entidade receptora de identificar corretamente a conexão à qual esta unidade
de dados deve ser associada. Independente da classe de protocolo considerada, deve
sempre existir um mecanismo de liberação de conexão, esta liberação sendo, porém,
diferente dependendo da classe de protocolo considerada.
6. A CAMADA DE SESSÃO
— 3.20 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Esta é a principal função da camada de Sessão e, da mesma forma como foi visto
para camadas inferiores, o diálogo via esta camada é caracterizado pelas três etapas a
seguir: estabelecimento de sessão, transferência de dados e liberação da sessão.
7
serviços oferecidos APRESENTAÇÃO APRESENTAÇÃO
à camada de apresen- 6
SSAP SSAP
tação SPDUs
ENTIDADE ENTIDADE
serviços oferecidos DE SESSÃO DE SESSÃO
à camada de sessão 5
TSAP TSAP
TRANSPORTE
4 protocolo de TRANSPORTE
sessão
1a3
— 3.21 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Sessão
Sessão Sessão
Figura 3.12 - Diferentes relações entre conexão de Sessão e de Transporte: (a) correspondência 1 a 1;
(b) uma conexão de Transporte para várias sessões; (c) várias conexões de Transporte para uma única
sessão.
— 3.22 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
S_DATA
request S_RELEASE
T_DATA request
request perda S_RELEASE
T_DISCONNECT indication S_DATA
dado indication
request
T_DISCONNECT S_RELEASE
indication response
S_RELEASE
confirm
(a) (b)
Já na camada de Sessão, além 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 serão explicados mais adiante, neste documento.
Segundo o modelo OSI, todas as conexões estabelecidas são, a princípio, do tipo full
duplex (ou seja, bidirecionais simultâneas, conforma mostrado na figura 3.14(a)). Por outro
lado, existem muitas aplicações nas quais a possibilidade de operação em half duplex pode
ser mais interessante.
Este serviço é implementado a nível da camada de Sessão graças à definição de
uma ficha de dados (data token), como ilustrado na figura 3.14(b). A comunicação em half
duplex é uma opção negociada no momento do estabelecimento de uma sessão. Se esta
opção é adotada, deverá ser definido também qual dos usuários envolvidos no diálogo
poderá tomar a iniciativa (possuidor da ficha).
Quando este usuário terminar a sua transmissão, ele pode ceder a ficha ao usuário
par para que ele possa efetuar a sua transmissão. A passagem de ficha de um usuário a
outro é implementada através da primitiva S_TOKEN_GIVE.
Ainda, se um dos usuários querendo efetuar uma transmissão não possui a ficha
naquele instante, ele pode requisitá-la a seu par através da emissão de uma primitiva
S_TOKEN_PLEASE.request.
O usuário receptor da primitiva S_TOKEN_PLEASE.indication pode ou não querer
ceder a ficha. Em caso negativo, o usuário que a requisitou não fará outra coisa senão
esperar a «boa vontade» do seu interlocutor (ou ainda, enviar dados urgentes que não
necessitam a possessão da ficha).
A ficha só passa a ter algum sentido no caso de comunicação half duplex. Se full
duplex é a opção adotada, ela não é levada em conta.
6.4. A sincronização
— 3.23 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
S_DATA
S_DATA S_DATA request
request request S_DATA
S_DATA
S_DATA S_DATA request indication
indication indication
S_TOKEN_GIVE S_DATA
request indication
S_DATA S_DATA
request request S_TOKEN_GIVE
indication
S_DATA S_DATA
S_DATA
indication indication S_DATA
indication
request
(a) (b)
Figura 3.14 - (a) comunicação full duplex; (b) comunicação half duplex com ficha.
SESSÃO
1 2 3 4 5 6 7 8 9
ponto de sincronização
(a)
SESSÃO
DIÁLOGO
1 5 9
2 3 4 6 7 8
ponto de sincronização
mínimo ponto de sincronização
máximo
(b)
Figura 3.15 - (a) Pontos de sincronização; (b) Pontos de sincronização máximos e mínimos.
— 3.24 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Um caso típico deste cenário é aquele em que uma pane (falta de energia, por
exemplo) ocorre no terminal sendo utilizado pelo cliente proprietário da conta imediatamente
após o primeiro comando. O computador vai bloquear o código correspondente à conta, mas
os demais comandos não serão efetuados. A aplicação do conceito de atividade via camada
de Sessão permite solucionar este problema, garantindo a atomicidade da operação. A
operação completa pode ser vista como uma atividade.
— 3.25 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
SESSÃO
ATIVIDADE ATIVIDADE
arquivo 2 arquivo 1
O quadro a seguir apresenta a lista das primitivas de serviço oferecidas pela camada
de Sessão, indicando as classes de primitivas compondo cada serviço (R - request, I -
indication, Rs - response e C - confirm). São 58 primitivas organizadas em 7 grupos:
estabelecimento de conexão, liberação de conexão, transferência de dados, gerenciamento
de fichas, sincronização, gerenciamento de atividades e relatório de anomalias. Os dois
primeiros grupos são relacionados, respectivamente, à inicialização e término das sessões.
As primitivas S_CONNECT, conduzem, em seus parâmetros, informações tais como:
SSAPs dos interlocutores, qualidade do serviço, números iniciais dos pontos de
sincronização, etc...
Já os serviços de liberação de sessão podem ser de três tipos: o primeiro,
caracterizado pela primitivas S_RELEASE, especificando um serviço confirmado de término
negociado de sessão (sem perda de dados); os dois outros, para e liberação abrupta de
sessão (com eventual perda de dados), caracterizados pelas primitivas S_U_ABORT e
S_P_ABORT, indicando, respectivamente, terminação de iniciativa do usuário (U - user) e do
fornecedor do serviço (P - provider).
1 2 3 4 5 6
— 3.26 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
PRIMITIVA R I Rs C FUNÇÃO
ORIENTADO CONEXÃO
S_CONNECT • • • • estabelecimento de conexão
S_RELEASE • • • • liberação negociada de conexão
S_U_ABORT • • liberação abrupta (usuário)
S_P_ABORT • liberação abrupta (fornecedor)
S_DATA • • transferência de dados normais
S_EXPEDITED_DATA • • transferência de dados urgentes
S_TYPED_DATA • • transferência de dados tipados
S_CAPABILITY_DATA • • • • transf. de dados de capacidade
S_TOKEN_GIVE • • passagem de ficha de dados
S_TOKEN_PLEASE • • pedido de ficha
S_CONTROL_GIVE • • passagem de todas as fichas
S_SYNC_MAJOR • • • • inserção de pto. de sincro. máximo
S_SYNC_MINOR • • • • inserção de pto. de sincro. mínimo
S_RESYNCHRONIZE • • • • pedido de resincronização
S_ACTIVITY_START • • início de uma atividade
S_ACTIVITY_END • • • • fim de uma atividade
S_ACTIVITY_DISCARD • • • • abandono de uma atividade
S_ACTIVITY_INTERRUPT • • • • interrupção de uma atividade
S_ACTIVITY_RESUME • • retomada de uma atividade
S_U_EXCEPTION_REPORT • • relatório de anomalia (usuário)
S_P_EXCEPTION_REPORT • relatório de anomalia (fornecedor)
SEM CONEXÃO
S_UNITDATA • • transferência de dados (s/ conexão)
— 3.27 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
7. A CAMADA DE APRESENTAÇÃO
PRIMITIVA R I Rs C FUNÇÃO
ORIENTADO CONEXÃO
P_CONNECT • • • • estabelecimento de conexão
P_RELEASE • • • • liberação negociada de conexão
P_U_ABORT • • liberação abrupta (usuário)
P_P_ABORT • liberação abrupta (fornecedor)
P_DATA • • transferência de dados normais
P_EXPEDITED_DATA • • transferência de dados urgentes
P_TYPED_DATA • • transferência de dados tipados
P_CAPABILITY_DATA • • • • transf. de dados de capacidade
P_TOKEN_GIVE • • passagem de ficha de dados
P_TOKEN_PLEASE • • pedido de ficha
P_CONTROL_GIVE • • passagem de todas as fichas
P_SYNC_MAJOR • • • • inserção de pto. de sincro. máximo
P_SYNC_MINOR • • • • inserção de pto. de sincro. mínimo
P_RESYNCHRONIZE • • • • pedido de resincronização
P_ACTIVITY_START • • início de uma atividade
P_ACTIVITY_END • • • • fim de uma atividade
P_ACTIVITY_DISCARD • • • • abandono de uma atividade
P_ACTIVITY_INTERRUPT • • • • interrupção de uma atividade
P_ACTIVITY_RESUME • • retomada de uma atividade
P_U_EXCEPTION_REPORT • • relatório de anomalia (usuário)
P_P_EXCEPTION_REPORT • relatório de anomalia (fornecedor)
P_ALTER_CONTEXT • • • • alteração de contexto
SEM CONEXÃO
P_UNITDATA • • transferência de dados (s/ conexão)
— 3.28 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
No caso dos serviços orientados à conexão, por exemplo, os usuários desta camada,
ou seja, as entidades da camada de Aplicação podem abrir uma sessão utilizando a primitiva
P_CONNECT.request, que se reflete, na camada de Apresentação, pelo envio de uma
primitiva S_CONNECT.request, já descrita quando da apresentação da camada de Sessão.
De fato, a maior parte das primitivas de serviço de Apresentação atravessam desta
forma a camada. A novidade mostrada na camada são as primitivas P_ALTER_CONTEXT,
que compõem o serviço de alteração de contexto de Apresentação.
Um contexto é a unidade na qual são reagrupados as estruturas de dados utilizadas
pelas entidades de Aplicação. Ao longo de uma sessão, é possível utilizar um contexto
durante um determinado tempo e utilizar um outro num outro momento. O serviço
P_ALTER_CONTEXT permite fazer a modificação.
A camada de Apresentação viabiliza a negociação sobre que forma de representação
será adotada para os dados manipulados pela aplicação.
A negociação é baseada no fornecimento, por parte de um usuário, de todas as
estruturas de dados que ele deseja utilizar, sendo que o usuário par pode ou não aceitar a
proposta.
Durante o diálogo, ainda é possível que novas propostas de estruturas de dados
sejam negociadas pelos dois usuários.
ASN.1 (Abstract Syntax Notation One) é uma sintaxe abstrata que foi definida na ISO
para solucionar a problemática da representação dos dados.
Isto foi motivado pela necessidade da existência de uma forma de representação de
dados que fosse suficientemente flexível e genérica para que pudesse ser utilizada pelas
mais diversas aplicações existentes.
ASN.1 é definida pela norma ISO 8824, que apresenta as estruturas de dados
previstas na sintaxe; outra norma, ISO 8825, define a sintaxe de transferência, ou seja, a
forma como as estruturas de dados ASN.1 podem ser mapeadas em binário.
As estruturas de dados ASN.1 foram definidas para prever as complexas estruturas
de dados que poderiam ser manipuladas a nível de uma dada aplicação. Um registro ou uma
estrutura de dados utilizada numa aplicação bancária pode conter os mais diversos campos,
como por exemplo o nome, o endereço, os números de conta, as taxas de câmbio do dia, a
data e hora, etc... Em outras aplicações, pode existir a necessidade de troca de estruturas
de dados as mais diversas possível, sendo que cada aplicação pode ter as suas próprias
estruturas de dados. Ainda, algumas estruturas de dados podem ser típicas de certas
aplicações, outras específicas a uma determinada empresa ou instituição.
Nos estudos apresentados das camadas inferiores, particularmente na apresentação
dos protocolos existentes, muitas estruturas de dados foram apresentadas na forma de
figuras, com seus campos sendo apresentados por retângulos. Estas estruturas podem ser
formalizadas por registros, filas, vetores, etc...
A camada de Aplicação, cujas entidades são os usuários da camada de
Apresentação, é caracterizada por muitas estruturas de dados, transmitidas na forma de
APDUs (Application Protocol Data Units), compostas de diferentes campos, cada campo
tendo um determinado tipo (booleano, inteiro, etc...).
A notação ASN.1 permite formalizar os diversos tipos de dados podendo compor os
campos de uma APDU, reagrupando-os inclusive num módulo de biblioteca para cada
aplicação típica. Desta forma, é possível a uma aplicação enviar uma estrutura de dados à
camada de Apresentação, dando a ela o nome da estrutura ASN.1 correspondente. A
camada de Apresentação poderá, então, conhecer o tipo e o tamanho de cada campo
compondo a estrutura de dados e, desta forma, codificá-los para a transmissão. A entidade
de Apresentação receptora, por sua vez, conhecendo a estrutura ASN.1 dos dados
recebidos, pode fazer todas as conversões que sejam necessárias para adaptar à máquina
receptora.
— 3.29 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
O interesse da existência de ASN.1 é que esta notação serve como uma linguagem
comum para todas as máquinas. Isto evita que todas as máquinas tivessem de conhecer
todas as possíveis formas de representação de cada uma das máquinas com as quais elas
teriam de se comunicar. Com ASN.1, basta apenas que cada máquina conheça como
codificar seus dados nesta notação. A norma ISO 8824 define a notação de sintaxe abstrata
ASN.1, onde os principais pontos serão apresentados a seguir. Um primeiro exemplo de
como um dado pode ser descrito em ASN.1, vamos fazer um paralelo entre uma estrutura
de dados Pascal e uma estrutura de dados ASN.1.
Vamos considerar que pretendemos representar por uma estrutura em Pascal as
principais características dos dinossauros. Isto poderia ser feito através de uma estrutura do
tipo record, onde cada campo teria seu tipo específico e representando uma característica
dos dinossauros. Um exemplo disto é mostrado a seguir:
TIPO SIGNIFICADO
INTEGER inteiro de valor arbitrário
BOOLEAN verdadeiro / falso
BIT STRING lista de bits
OCTET STRING lista de bytes
ANY conjunto de todos os tipos
NULL nenhum tipo
OBJECT IDENTIFIER nome de um objeto
Como foi dito, estes tipos podem ser combinados para a definição de estruturas de
dados mais complexas, isto pela utilização de construtores de ASN.1, onde os mais
utilizados são:
CONSTRUTOR SIGNIFICADO
SEQUENCE seqüência de elementos de diversos tipos
SEQUENCE OF seqüência de elementos de um mesmo tipo
SET conjunto (não ordenado) de elementos de diversos tipos
SET OF conjunto (não ordenado) de elementos de um mesmo tipo
CHOICE escolha de um tipo entre uma lista de tipos
— 3.30 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
— 3.31 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
000100000100000010000000000000010000001000100000001100000101
— 3.32 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
011 101 110 111 111 000 110 011 111 000 000 001 101 001
onde a faixa de 14 zeros é codificada por 111 111 000 (ou seja, 7 + 7 + 0 = 14). Neste
caso, a compressão permitiu reduzir em 34% o tamanho da informação.
Uma aplicação desta técnica pode ser feita, com algumas modificações, na
transmissão digital de imagens de televisão colorida. O sinal é constituídos de uma
seqüência de quadros, de 25 a 30 por segundo, cada um contendo um vetor retangular de
pontos (pixels) da imagem. Uma imagem de televisão pode ser composta de 1000 linhas de
600 pixels, cada pixel sendo codificado em 16 bits, 15 bits para a cor (com 32 níveis para
cada cor) e 1 bit para informação de controle (enquadramento vertical ou horizontal).
Uma codificação direta desta informação necessitaria 600000 pixels por quadro, ou
seja, uma taxa de transmissão de 240 a 288 Mbits/s. Com uma codificação binária, seria
necessário dispor de uma faixa de freqüência de quase 600 MHz. Uma vez que a
transmissão analógica ocupa faixas de freqüência de apenas 6 MHz, a transmissão digital,
sem compressão de imagem, poderia tornar-se inviável.
A solução está no fato que, em transmissão de imagens, existe uma forte
probabilidade de que muitos quadros consecutivos sejam idênticos àqueles que os
precederam. Desta forma, basta providenciar, a nível dos televisores, uma memória que
possa armazenar o último quadro recebido e, assim, transmitir apenas as diferenças entre o
quadro anterior e o atual.
7.4. A criptografia
— 3.33 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
ESPIÃO
Processo de Processo de
M M
codificação decodificação
criptograma
chave de chave de
codificação (k) decodificação
Nestes métodos, cada letra ou grupo de letras é literalmente substituído por outra
letra ou outro grupo de letras. A técnica mais antiga de criptagem é atribuída a Júlio César,
que definiu uma técnica onde cada letra do alfabeto seria substituída por uma letra que
estivesse 3 passos à sua frente ou seja, a seria codificada em D, b seria codificada em E, c
seria codificada em F, etc..., e isto de maneira rotativa, de modo que z seria codificado em C.
Desta forma, a palavra REDE ficaria... UHGH, portanto, irreconhecível.
Esta técnica poderia ainda ser generalizada, pelo deslocamento do alfabeto de k
passos ao invés de 3. A esta técnica generalizada, dá-se o nome de permutação circular.
Uma outra técnica, a substituição monoalfabética, é uma extensão à permutação
circular, mas, desta vez, as letras podem ser substituídas por qualquer outra. Por exemplo,
se o alfabeto
abcdefghijklmnopqrstuvwxyz
é substituído por
N B V C X W M L K J H G F D S Q P O I U Y T R E Z A,
Com esta técnica, existem 26! (4.1026) chaves possíveis. Mesmo que o espião
conheça a técnica, como ele não conhece a chave, ele teria dificuldade para descobrir o
significado do criptograma. No entanto, esta dificuldade pode ser diminuída se forem
consideradas as propriedades naturais da língua utilizada. Na língua inglesa, por exemplo,
existem letras que são mais freqüentemente utilizadas, como por exemplo, as letras e, t, o,
..., os digramas mais freqüentes são th, in, er, ... e os trigramas mais utilizados são the, ing,
and e ion. E o trigrama mais utilizado da lÍngua portuguesa? Nos últimos meses, deve ter
sido CPI.
Desta forma, a decodificação de um criptograma obtido com a substituição
monoalfabética, é feita associando-se a letra mais freqüente à letra mais freqüente da língua
considerada, os digramas mais freqüentes àqueles mais freqüentes da língua considerada,
etc...
— 3.34 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
não são substituídas, mas de fato, transpostas de tal forma a esconder o verdadeiro
significado do texto.
Uma técnica de criptagem é mostrada na figura 3.19, denominada transposição por
colunas. Nesta técnica as linhas serão trocadas pelas colunas numeradas em função de
uma chave que é, normalmente, uma palavra não contendo nenhuma letra repetida. No
exemplo, a chave considerada é a palavra PESCAR, onde a ordem das colunas associadas
a cada uma das letras vai ser 4-3-6-2-1-5. Assim, um texto como...
8. A CAMADA DE APLICAÇÃO
A grande diversidade das aplicações podendo ser construídas sobre uma arquitetura
de comunicação e a questão da heterogeneidade dos sistemas, fator importante da
concepção do modelo OSI, conduziu, no âmbito da ISO, à definição de uma arquitetura
unificada para a camada de Aplicação, ALS (Application Layer Structure), definida pela
norma ISO 9545.
Nesta definição, a norma não propõe serviço de Aplicação, mas introduz um conjunto
de conceitos relacionados à estrutura da camada, que pode servir como base para a
definição de outras normas ou propostas de serviços de Aplicação.
P E S C A R
4 3 6 2 1 5 Texto original:
O N T A D E
C O L L O R
— 3.35 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Dado que a camada de Aplicação é a mais alta do modelo OSI, ela não fornece
serviço a nenhuma outra camada, a noção de conexão ficando, então, inadequada a nível de
Aplicação. Por outro lado, a comunicação entre entidades de Aplicação pares deve ser
suportada por alguma forma de relação que permita a troca de informações de controle dos
protocolos de Aplicação, esta forma de relação sendo definida como uma Associação de
Aplicação.
Os elementos compondo a arquitetura da camada de Aplicação vão se utilizar das
facilidades oferecidas pela camada de Apresentação para a manipulação e a representação
de dados, e os mecanismos de controle de diálogo oferecidos pela camada de Sessão. As
interações entre os programas aplicativos permitem modelizar a operação cooperativa entre
os sistemas abertos reais, necessitando porém o compartilhamento de uma quantidade de
informações que viabilize estas interações, a fim de que o tratamento das atividades seja
feito de maneira coerente.
Três tipos de informação são, particularmente, relacionados à natureza das
interações entre os programas aplicativos:
• o conjunto de objetos sujeito às atividades de tratamento de informação;
• os procedimentos de controle e de cooperação do tratamento distribuído para a
comunicação entre programas;
• os estados das interações passadas entre programas de aplicação.
— 3.36 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
A forma como uma AEI pode ser composta a partir dos diversos elementos definidos
acima é ilustrada a partir de dois exemplos, apresentados nas figuras 3.21 e 3.22,
respectivamente.
Em 3.21, é apresentado um caso simples de uma AEI envolvida numa associação de
Aplicação única. Ela é composta então de um SAO, constituído por dois ASEs e uma função
de controle.
Em 3.22, é apresentada uma AEI envolvida em três associações. No caso de
múltiplas associações, algumas atividades de uma mesma aplicação podem ser distribuídas
sobre várias associações. Neste caso, estas atividades devem ser coordenadas e
ordenadas através de um conjunto de funções da própria aplicação. Este conjunto defunções
é reagrupado, no modelo da camada de Aplicação, por um elemento denominado Função de
Controle de Associações Múltiplas ou MACF (Multiple Association Control Function).
AP API AP API
AE AEI
AE AEI CONTEXTO DE AE
ASEs APLICAÇÃO ASEs AEI
ASSOCIAÇÕES CONSECUTIVAS
OU SIMULTÂNEAS
— 3.37 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Camada de Aplicação
AEI
SAO
S
ASE
A
C
ACSE
F
D
A E
S
S A
O P
Camada de C L
Apresentação I I
A C
Ç A
à Ç
O Ã
O
Camada de Aplicação
AEI
MACF
Camada de
Apresentação
— 3.38 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
PRIMITIVA SIGNIFICADO
A-ASSOCIATE Estabelecimento de conexão
A-RELEASE Liberação negociada de conexão
A-ABORT Liberação abrupta de conexão (usuário)
A-P-ABORT Liberação abrupta de conexão (fornecedor)
Em 1987, foi publicada pela ISO a versão definitiva da norma de serviços de acesso e
transferência de arquivos, FTAM (File Transfer, Access and Management), com o número
ISO 8571.
A norma cobre um dos assuntos mais importantes da interconexão de sistemas,
uma vez que ela normaliza o protocolo que permite oferecer os serviços de acesso e
transferência de arquivos.
FTAM permite a transferência do todo ou de parte de um arquivo, ao destinatário ou a
uma estação (sistema) distante, oferecendo ainda serviços de controle de erros, retomada
— 3.39 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
imediata ou não, controle de acesso a arquivos (acesso seletivo, proteção, ...) e modificação
dos atributos de um arquivo.
O tratamento de arquivos via FTAM é baseado no conceito de arquivo virtual, que
permite representar, para os serviços FTAM o arquivo real. A relação entre estes elementos
é apresentada na figura 3.23. A noção de arquivo virtual permite tornar transparente ao
usuário as diferentes formas de armazenamento e os métodos de acesso dos sistemas de
arquivo real. FTAM permite estabelecer as relações entre o sistema de arquivos real e os
sistemas de arquivos virtuais.
ARQUIVO ARQUIVO
REAL A REAL B
Ambiente OSI
ARQUIVO
VIRTUAL C
ARQUIVO
REAL C
Sistema Real C
— 3.40 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
Um nó da árvore pode pertencer a um único nível, podendo, por sua vez, servir de
acesso à sua subárvore, conhecida como uma Unidade de Dados de Acesso a Arquivo ou
FADU (File Access Data Unit). O conteúdo de um arquivo pertencente ao servidor de
arquivos é mantido numa ou mais Unidade de Dados ou DU (Data Unit). Uma DU é um
objeto de dados tipado (escalar, vetor, conjunto, ...), contendo elementos de dados atômicos
denominados Elementos de Dados, aos quais é normalmente associada uma sintaxe
abstrata (caractere, byte, inteiro, ...). Os serviços associados a um servidor virtual de
arquivos são acessados via primitivas de serviço, que serão apresentadas na seção a
seguir.
— 3.41 —
CAP. 3 — AS SETE CAMADAS DO MODELO OSI PROF. VITÓRIO BRUNO MAZZOLA
FADU
R
DU NÍVEL 0
FADU
FADU E
A
DU DU NÍVEL 1
B C D F
DU DU DU DU NÍVEL 2
— 3.42 —
Capítulo 4
AS RE D E S LO C A I S
1. INTRODUÇÃO
— 4.1 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
3. PARÂMETROS DE COMPARAÇÃO
3.1. Custo
O custo de uma rede é composto pelo custo das estações de processamento, das
interfaces com o meio físico de comunicação e o custo do próprio meio físico. Uma vez que
os custos das estações estão cada vez menores é necessário que o custo das interfaces
seja minimizado.
O que irá determinar o custo das interfaces é proporcional ao desempenho que se
espera da rede. Redes de baixo a médio desempenho usualmente empregam poucas
estações com uma demanda de taxas de dados e volume de tráfego pequeno, permitindo o
uso de interfaces de baixo custo. Redes de alto desempenho já requerem interfaces de
custo mais elevado.
Retardo de acesso é o tempo que uma estação espera, a partir do momento que
uma mensagem está pronta para ser transmitida, até o momento em que ela consegue
transmitir com sucesso esta mensagem. Retardo de transmissão é o intervalo de tempo
decorrido desde o início da transmissão de uma mensagem por uma estação de origem até
o momento em que a mensagem chega à estação de destino. Por fim retardo de
transferência eqüivale à soma dos retardos de acesso e de transmissão.
O retardo de transferência é, na maioria dos casos, uma variável aleatória, porém em
algumas redes o seu valor pode ser calculado, ou melhor, ele é determinístico. A rede deve
ser adequada ao tipo particular de aplicação para o qual ela foi concebida. Por exemplo, para
aplicações de controle em tempo real, o retardo de transferência limitado é de vital
importância.
3.3. Desempenho
— 4.2 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
3.4. Confiabilidade
Confiabilidade pode ser avaliada em termos de tempo médio entre falhas (Medium
Time Between Failures - MTBF), tolerância a falhas, degradação amena, tempo de
reconfiguração após falhas e tempo médio de reparo (Medium Time to Repair - MTTR). O
MTBF é geralmente medido em horas.
A degradação amena está ligada à aplicação e mede a capacidade da rede continuar
operando em presença de falhas, embora com desempenho menor. Reconfiguração após
falhas requer que alternativas redundantes sejam acionadas tão logo uma falha ocorra. O
tempo médio de reparo pode ser diminuído com o auxílio de redundância, mecanismos de
autoteste e diagnóstico, e manutenção eficiente.
3.5. Modularidade
3.6. Compatibilidade
Este tópico diz respeito à modularidade. Uma rede deve ter a capacidade de suportar
todas as aplicações para a qual ela foi projetada, mais aquelas que no futuro possam ser
requeridas, incluindo transmissão de vídeo, voz e interconexão com outras redes, por
exemplo.
Geralmente uma rede local serve a uma área geograficamente limitada, isto é, um
ambiente de trabalho, um edifício, um campus universitário, uma fábrica, etc. As distâncias
podem variar de metros até alguns poucos quilômetros e a velocidade de transmissão é da
ordem de milhões de bits por segundo. A maioria dos produtos existentes na área utiliza uma
forma simples de interligação física entre os equipamentos e talvez esta seja uma das
características mais atrativas das redes locais.
Estas características, no entanto, não são suficientes para garantir o sucesso de
uma rede local. Para o usuário final, é muito importante ter um mecanismo de transmissão
de informação eficiente, sem que haja a necessidade de conhecer os detalhes técnicos para
efetuar a ligação com a rede.
Uma rede local pode ser descrita através das seguintes características:
— 4.3 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
• distâncias envolvidas;
• equipamentos envolvidos;
• velocidade de transmissão;
• topologia da rede;
• meio físico utilizado;
• protocolos e métodos de acesso usados;
• existência ou não de um nó controlador.
5. HISTÓRICO
6. DEFINIÇÕES BÁSICAS
Podemos dizer que atualmente uma redes local (LAN - Local Area Network) é,
basicamente, um grupo de PCs (desktops) ou estações de trabalho interligados a
servidores. Os usuários de uma LAN executam suas tarefas a partir de seus PCs. Estas
tarefas normalmente são edição de texto, planilhas eletrônicas ou aplicações gráfica e o
acesso a aplicações disponíveis nos servidores.
Os módulos mais importantes de uma LAN são:
— 4.4 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
• servidores;
• estações de trabalho;
• recursos de comunicação.
• servidor de aplicação;
• servidor de arquivos;
• servidor de impressora;
• servidor de rede;
• servidor de banco de dados.
Os SOR são fundamentais na definição de uma rede local. Um estudo criterioso deve
ser realizado visando a escolha do SOR mais adequado às necessidades de uma LAN. Este
estudo deve levar em consideração diversos aspectos tais como: quantidade de PCs,
aplicações envolvidas, necessidade de interfaces com outros SOR e com os sistemas
operacionais dos próprios PCs, aderência a padrões, desempenho, etc.
Através dos PCs e das estações de trabalho os usuários acessam arquivos e
aplicações no servidor e executam tarefas locais. Conforme veremos posteriormente, as
aplicações Cliente/Servidor são compartilhadas, ou seja, uma parte é executada no módulo
Cliente e outra parte no módulo Servidor
Os desktops mais populares consistem de um PC 486 ou Pentium, com MS-
Windows (3.11 ou 95). Existem outras boas opções como OS/2 e o Windows NT Client.
Os recursos de comunicação constituem a definição da infra-estrutura de hardware e
de software necessária para a comunicação entre os diversos componentes de uma LAN.
Os recursos mais comuns são os hubs, as placas de rede, repetidores (repeaters), pontes
(bridges), roteadores (routers), cabeamento, etc.
A comunicação entre os elementos da rede deve ser o mais transparente possível,
permitindo que as aplicações sejam independentes da plataforma de comunicação adotada.
— 4.5 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
geograficamente distribuídas. Sua aplicabilidade em redes locais não pode deixar de levar
em consideração as características intrínsecas destas redes.
As distâncias limitadas a que são destinadas as redes locais permitem que seu
protocolo de nível físico possa utilizar um meio de alta velocidade com baixíssimas taxas de
erros. Este fato vai influenciar em muito os outros níveis de protocolo.
Várias diferenças existem na camada de enlace de dados, a começar pela
delimitação dos quadros. Ao contrário das redes de longa distância, nas redes locais o
método mais apropriado para delimitação de quadro pode ser a simples presença ou
ausência de sinal no meio.
Devido ao alto desempenho do meio de transmissão e sua baixa taxa de erros, não
cabe ao nível de enlace utilizar muitos bits de redundância para a recuperação de erros. Mais
ainda, se levarmos em consideração que para determinadas aplicações os requisitos de
tempo real são bem mais importantes do que sua confiabilidade exagerada da transmissão.
Muitas vezes nem a recuperação de erros por retransmissão é desejável neste nível. Ao
nível de enlace caberia apenas um esforço máximo para entregar pacotes de nível 3 sem
erros, mas não a sua recuperação caso esse serviços ocorram.
Em redes locais as regras que disciplinam o acesso ao meio físico para transmissão
de dados são chamadas protocolos de acesso. Como exemplo pode-se citar as regras para
controle de acesso ao barramento compartilhado. Nas redes locais a transmissão de dados
é feita por difusão ou possuem roteamento único. Neste sentido os protocolos de ligação
poderiam estar no nível 2 do RM-OSI, uma vez que tratam do envio do pacote de uma
máquina para outra, mas igualmente poderiam ser colocados no nível de rede uma vez que
se trata do envio de um pacote da estação de origem até a estação de destino, isto é, fim-a-
fim. Existem também proposta que os colocam no nível físico, uma vez que determinam a
ligação física ao meio. O comitê de padronização de redes locais, o IEEE 802, os coloca
como parte do nível 2.
Como nas redes locais a transmissão de dados é feita por difusão ou possuem
roteamento único o nível de rede não tem aqui grande relevância. Em muitas redes o nível de
transporte vai ser construído imediatamente acima do nível de enlace. Opcionalmente
devemos permitir que o nível de transporte seja construído acima do nível inter-redes.
O nível 3 em redes locais teria então como função o roteamento de pacotes entre
estação origem e destino em redes diferentes ou na interconexão de redes locais entre si.
Neste nível ainda o mais adequada a utilização de datagrama não confiável, deixando para
os níveis superiores a recuperação, se necessária, dos erros. A arquitetura Internet TCP/IP,
que utiliza essa abordagem, é uma alternativa bastante utilizada para interligação de redes
locais de computadores.
Em redes locais o nível de transporte, ao tornar transparente para os níveis
superiores toda a parte de transmissão, pode ainda tirar vantagem que o meio lhe oferece,
como por exemplo, a confirmação de vários circuitos virtuais em uma única mensagem em
uma rede do tipo difusão.
A implementação dos demais níveis de protocolo depende muito das aplicações da
rede. O RM-OSI pode ser seguido na íntegra, podendo suas funções serem realizadas por
processos de um sistema operacional distribuído, onde a interface do nível 4 seria vista
simplesmente como primitivas de comunicação do núcleo desse mesmo sistema
operacional.
— 4.6 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
que solicita um serviço é chamada “cliente” e a que presta o serviço é o “servidor”. Nas
estações que funcionam como clientes, o SOR, ao receber uma solicitação de um recurso
localizado remotamente, monta uma mensagem de pedido e envia ao módulo servidor da
estação onde será executado o serviço. Na estação remota, o SOR recebe a mensagem,
providencia a execução do serviço solicitado, monta uma ou mais mensagens com o
resultado da execução e as envia de volta para o SOR na estação requerente. Quando o
SOR na estação que requisitou o serviço recebe a mensagem de resposta, ele faz a entrega
à aplicação local. Nota-se que as funções do SOR nos módulos cliente e servidor são
bastante diferentes. Resumindo, podemos classificar os módulos de um SOR instalados
nas estações em dois tipos:
9. O PADRÃO IEEE802
— 4.7 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
Estas quatro funções são fornecidas pelo nível de enlace do RM-OSI. A primeira
função, as sub-funções a ela relacionadas, são agrupadas pelo IEEE 802 na camada Logical
Link Control (LLC). As três restantes são tratadas em uma camada separada, chamada
Medium Access Control (MAC), que podem, então ser otimizadas para as diferentes
topologias de redes locais, mantendo uma interface única, a camada LLC, para os usuários
da rede local.
Em um nível físico mais baixo estão as funções normalmente associadas ao nível
físico: codificação/decodificação de sinais, geração e remoção de preâmbulos para
sincronização e transmissão/recepção de bits. Como no RM-OSI, essas funções foram
atribuídas ao nível físico no modelo de referência elaborado pelo IEEE 802.
A figura 4.1 apresenta a relação entre alguns dos principais padrões IEEE 802 e o
RM-OSI. É importante ressaltar que já existem outros padrões IEEE 802.X, que já foram ou
serão aqui citados, tais como IEEE 802.11 (FDDI) e IEEE 802.12 (100VGAnyLAN).
O padrão IEEE 802.1 é um documento que descreve o relacionamento entre os
diversos padrões IEEE 802 e o relacionamento deles com o modelo de referência OSI. Este
documento contém também padrões para gerenciamento da rede e informações para
ligação inter-redes. O padrão ANSI/IEEE 802.2 (ISO 8802/2) descreve a sub-camada
superior do nível de enlace, que utiliza o protocolo Logical Link Control Protocol. Os outros
padrões que aparecem na figura 4.1 especificam diferentes opções de nível físico e
protocolos da sub-camada MAC para diferentes tecnologias de redes locais. São eles:
• padrão IEEE 802.3 (ISO 8802/3), rede em barra utilizando CSMA/CD como
método de acesso;
• padrão IEEE 802.4 (ISO 8802/4), rede em barra utilizando passagem de
permissão como método de acesso;
OSI IEEE
802.1
LLC 802.2
ENLACE
MAC
— 4.8 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
• padrão IEEE 802.5 (ISO 8802/5), rede em anel utilizando passagem de permissão
como método de acesso;
• padrão IEEE 802.6 (ISO 8802/6), rede em barra utilizando o Distributed Queue
Dual Bus (DQDB) como método de acesso.
O padrão IEEE 802.4, denominado Token Bus, é o padrão para redes em barra com
sinalização em banda larga utilizando a passagem de permissão como método de acesso
ao meio de transmissão. Ele define o método de acesso passagem de permissão sobre
uma topologia física barramento, simulando um anel lógico. Este padrão não é muito
conhecido, porém ele oferece a opção de um método de acesso determinístico sobre uma
topologia em barramento.
O padrão IEEE 802.6, denominado DQDB, é o padrão para redes metropolitanas
(MANs - Metropolitan Area Network). Segundo a definição do grupo IEEE 802.6, o propósito
de uma rede metropolitana é prover serviços integrados, tais como texto, voz e vídeo, em
uma grande área geográfica. DQDB é uma sub-rede que pode ser usada como uma parte
componente de uma MAN. Tipicamente uma MAN consiste em sub-redes DQDB
interconectadas.
Nos capítulos posteriores serão feitas discussões detalhadas sobre os padrões IEEE
802.3 e IEEE 802.5, que são os mais utilizadas em redes locais. A seguir serão descritas,
resumidamente, as principais funções de cada uma das camadas do padrão IEEE 802.
— 4.9 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
Este capítulo tem por objetivo mostrar o padrão IEEE 802.3 e o principal produto que
segue este padrão, a Ethernet. Este é um esquema que está no mercado desde os anos 70
e continua sendo um padrão respeitado até hoje. O produto Ethernet foi desenvolvida
conjuntamente pelas empresas Xerox, Intel e Digital. O método de acesso ao meio de
transmissão utilizado neste padrão é o CSMA/CD. Este método será descrito a seguir.
10.1. CSMA/CD
A técnica CSMA/CD (Carrier Sense Multiple Access with Collision Detection) foi
baseada na rede ALOHA no Hawai, que iniciou sua operação em 1970, e que consistia de
uma forma de comunicação de um computador central e seus terminais espalhados pelas
várias ilhas do arquipélago. Eram utilizadas duas freqüências de rádio: uma para difusão de
mensagens do computador central para os terminais e outra para mensagens dos terminais
para o computador. Uma vez que existe apenas um transmissor no primeiro canal, nenhuma
dificuldade é encontrada. O problema aparece no segundo canal, onde todos os terminais
transmitem em uma mesma freqüência. Esta situação é a mesma encontrada em uma rede
com topologia em barramento.
Uma rede com topologia em barramento apresenta as seguintes características:
canal de transmissão eletricamente aberto, transmissão por difusão (nos dois sentidos) e
estações de acesso passivas. Uma vez que o barramento é um canal de transmissão
aberto, não existe a necessidade de se prover mecanismos para a retirada das mensagens
transmitidas, o esvaziamento do meio é feito naturalmente. Isto dificulta a implantação de um
serviço de resposta automática, mas as características inerentes a esta topologia permitem
a implantação de técnicas de controle de acesso com funções totalmente distribuídas.
Uma rede em barramento é comumente chamada de rede em difusão. Um sistema
de difusão é aquele no qual uma mensagem transmitida no meio é ouvida, mais ou menos
simultaneamente, por todos os nós de comunicação ligados à rede. No método CSMA/CD,
uma estação só transmite sua mensagem após “escutar” o meio de transmissão e
determinar que o mesmo não está sendo utilizado. Qualquer nó de comunicação pode ouvir
qualquer mensagem transmitida, não importando se o destinatário é ele, outro nó, ou ambos.
Caso a estação detecte o meio ocupado, ela deve aguardar até que o sinal desapareça para
então iniciar a sua transmissão. Pode ocorrer que duas ou mais estações estejam
aguardando que o meio fique desocupado e ao detectarem silêncio ambos transmitam suas
mensagens. Isto ocasionará uma “colisão” de mensagens das estações ao transmitirem
simultaneamente. Existe, então, a necessidade de se estabelecer uma política de
compartilhamento deste meio de transmissão entre as várias estações que estão utilizando
o barramento.
— 4.10 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
Quando duas mensagens são transmitidas ao mesmo tempo, diz-se que elas
colidiram e o resultado é que as informações de ambas são corrompidas ou perdidas. Os
métodos de acesso para redes com topologia em barramento devem, portanto, atender
situações como: evitar o máximo possível a ocorrência de colisões e no caso de ocorrência
de colisão, as mensagens perdidas ou danificadas devem ser identificadas para posterior
retransmissão. Uma vez que duas ou mais estações tenham transmitido simultaneamente
ocasionando colisão de mensagens, um esquema de prioridade deve ser providenciado para
evitar que ocorram novas colisões envolvendo as mesmas estações.
A maneira de se evitar que a colisão só seja percebida quando uma resposta não for
recebida, é “escutar” o meio de transmissão antes (carrier sense) e durante (collision
detection) a transmissão da mensagem. Desta forma, a estação emissora poderá identificar
se existe outro sinal misturado com o seu e, uma vez detectada a colisão, todas as estações
envolvidas param de transmitir e tentam transmitir outra vez após um tempo de espera. Uma
vez que a janela de transmissão é relativamente curta, o tempo perdido na transmissão é
muito pequeno quando comparado com o tamanho médio das mensagens transmitidas.
Para evitar que as mesmas mensagens colidam novamente, o tempo que cada
estação aguarda para transmitir novamente é calculado de forma randômica o que não evita
que a mensagem desta estação colida com a mensagem de uma outra. Neste caso, o
procedimento se repete, mas o tempo de espera para uma nova tentativa é maior que o
anterior, penalizando a estação que colide muitas vezes. Após um número específico de
tentativas sem sucesso, a estação envia uma mensagem ao seu usuário indicando a
impossibilidade de efetuar o serviço solicitado. À medida que a carga da rede cresce, cada
equipamento tem a sua taxa de transmissão reduzida, desta forma, com a redução total da
carga da rede, as transmissões vão se ajustando gradativamente.
Em relação a definição do tamanho mínimo e máximo dos quadros MAC, várias
considerações podem ser feitas. Quanto maior o tamanho do quadro maior será a eficiência
na utilização do canal, por outro lado se ele for muito pequeno, para haver detecção de
colisão, as mensagens devem ter um tamanho mínimo pré-estabelecido, uma vez que o
tempo de propagação é finito. Existem outros fatores que tendem a limitar o tamanho do
quadro que incluem a limitação do tamanho dos buffers de recepção e transmissão dos
quadros e a necessidade de diminuir o retardo de transferência.
Este método de acesso foi um dos escolhidos como padrão, e é de fato o método
mais difundido em redes locais. Na prática, o método CSMA/CD é muito eficiente,
apresentando uma ocupação do meio acima de 90%. O resultado é que o CSMA/CD tem
sido escolhido para a maioria dos projetos de redes locais. O principal exemplo de utilização
do CSMA/CD é dado pela rede Ethernet que é uma rede local comercializada pela Xerox e
utilizada como base para muitos de seus produtos.
O padrão IEEE 802.3 (ISO 8802/3) foi projetado para redes em barra utilizando
CSMA/CD como método de acesso. O padrão provê a especificação necessária para redes
em banda básica operando em 1 a 10 Mbps, e para redes em banda larga operando a 10
Mbps.
Ao tratar de redes em banda básica a 10 Mbps, o padrão converge para a
especificação da rede Ethernet. Nesta etapa serão detalhadas a sintaxe e a semântica do
protocolo de controle de acesso ao meio.
A figura 4.2 apresenta o formato do quadro MAC. O campo de preâmbulo possui sete
octetos usados para sincronização do transmissor e receptor. Cada octeto é formado pela
seqüência 10101010. O campo delimitador de início de quadro, SFD (Start Frame Delimiter),
é composto da seqüência 10101011 e indica o início de um quadro.
Para que as unidades de dados sejam adequadamente transmitidas e recebidas,
cada estação conectada à rede deve possuir um endereço que o identifique de modo único.
De um modo ainda mais geral, quando duas ou mais redes são interconectadas, deve-se
— 4.11 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
A rede local Ethernet foi otimizada para troca de dados a altas velocidades entre
equipamentos processadores de informação dentro de áreas geográficas de tamanho
moderado, permitindo maximizar as comunicações entre uma grande variedade de
equipamentos oriundos de diversos fabricantes. A implementação desta rede seguiu as
seguintes especificações: os dois níveis mais baixos das camadas do RM-OSI, ou seja, as
camadas física e de enlace de dados, bem como as interfaces entre eles; a interface entre a
camada de enlace de dados e as camadas de níveis mais altos da arquitetura do sistema; e
duas interfaces na camada física que permitem a compatibilidade entre equipamentos
utilizados em diferentes implementações da Ethernet.
— 4.12 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
— 4.13 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
A Ethernet é considerada como uma rede local que apresenta alta velocidade de
transmissão de sinais de dados, devido a combinação de mecanismo de controle de acesso
CSMA/CD (proporcionando acesso distribuído a todos os nós), sinalização em banda de
base e cabo coaxial de alta performance. Pode-se conectar até 1.024 nós na Ethernet,
garantindo uma taxa de transferência de 10 Mbps, sendo que todos os nós apresentam
oportunidades iguais de enviar seus quadros, desde que o canal esteja livre. Uma das
principais características se traduz na difusão das mensagens sobre o meio físico de
transmissão, dando oportunidade de todos os nós ouvirem as mensagens.
11.2. Desempenho
11.3. Qualidade
— 4.14 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
11.4. Custo
Velocidade 10 Mbps
As redes Fast Ethernet representam uma evolução das redes Ethernet no que tange à
taxa de transmissão, sendo padronizada através das normas IEEE 802.3u. O quadro Fast
Ethernet é o próprio quadro Ethernet.
São especificadas três configurações físicas diferentes para as redes Fast Ethernet,
correspondentes aos padrões 100BaseTX, 100BaseFX e 100BaseT4. Estas são assim
definidas:
• 100BaseT4: baseia-se na utilização de um hub ao qual estão conectadas
estações através de cabos de par trançado não blindado, com distância máxima
de 100 m da estação até o hub; o clock interno é de 25 MHz;
• 100BaseTX e 100BaseFX: baseiam-se na utilização de um hub ao qual estão
conectadas estações através de cabos de par trançado ou fibra ótica, com
— 4.15 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
distância máxima de 100m (TX) ou 400m (FX) da estação até o hub; o clock
interno é de 125 MHz.
Esta técnica é adotada com o padrão IEEE 802.5 e na prática constitui-se na principal
opção de implementação do mecanismo de controle de acesso por ficha. A topologia em
anel apresenta as seguintes características físicas: transmissão unidirecional e ponto a
ponto, estações de acesso ativas, isto é, funcionam como repetidoras, e canal de
transmissão fechado. Um mecanismo de controle de acesso para a sub-rede de
comunicação estruturada em anel envolve a definição de procedimentos quanto à inserção
de mensagem no anel, recepção de mensagem e remoção de mensagem do anel.
Este mecanismo é baseado em uma mensagem de controle que, uma vez
inicializada, circula entre todos os nós da rede, transportando o direito de transmissão no
meio compartilhado. O procedimento de inserção de mensagem num anel com acesso
controlado por ficha obedece às seguintes etapas:
• a estação que deseja transmitir aguarda a chegada da ficha;
• uma vez de posse da ficha, a estação transmite a sua mensagem;
• ao final da transmissão, a estação devolve a ficha enviando-a ao próximo nó da
rede.
ANSI/IEEE 802.5 (ISO 8802-5) é o padrão para redes em anel utilizando passagem
de permissão como método de acesso. O padrão provê a especificação necessária para
redes em banda básica operando a 4 ou 16 Mbps, utilizando como meio de transmissão o
par trançado.
O acesso ao meio físico é controlado pela passagem da permissão no anel. No
método ficha simples (single token), depois da transmissão dos quadros, a estação verifica
— 4.16 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
se seu endereço retornou no campo SA. Em caso negativo, a estação transmite 0s e 1s até
que tenha retornado, só então a estação transmite a permissão para o próximo nó. O
protocolo de acesso ao meio permite o uso de prioridades.
Todo quadro transmitido, inclusive a permissão, tem um campo designando a
prioridade corrente(PPP) e outro para a reserva de prioridade (RRR). Uma estação só pode
transmitir um quadro se receber a permissão e se o seu quadro tiver prioridade maior ou
igual à designada no campo PPP da permissão.
Se a estação receber uma permissão com prioridade maior que a necessária para
transmissão de suas mensagens ela faz uma reserva de permissão, através dos bits RRR,
solicitando a diminuição da prioridade. É importante notar que o campo de prioridades é
sempre verificado, em cada estação do anel, sempre no recebimento de uma permissão e
também na passagem de uma mensagem para outro destinatário. O mecanismo de controle
de prioridades é relativamente complexo e pode ser visto em detalhes na bibliografia
recomendada.
De forma a permitir uma maior eficiência na utilização do anel, uma opção multiple
token (chamada early-token-release - ETR) foi adicionada ao padrão IEEE 802.5. Neste
método é permitido que uma estação envie uma permissão livre assim que terminar de
transmitir seus quadros, independente dela ter começado ou não a receber seus quadros de
volta. Estações que implementam o mecanismo ETR são compatíveis com as que não
possuem essa facilidade, podendo operar conjuntamente.
Cada estação da rede possui funções de uma estação monitora de forma a
recuperar o anel de vários tipos de erros tais como perda ou duplicação da permissão,
sincronização no anel, criação da permissão.
A versão atual do padrão IEEE 802.5, especifica como meio de transmissão o par
trançado blindado operando a 4 ou 16 Mbps com no máximo 250 repetidores ligados ao anel;
ou o par trançado comum operando a 4 Mbps com no máximo 250 repetidores ligados ao
anel. Está sendo elaborada pelo IEEE uma revisão deste padrão que inclui o par trançado
sem blindagem operando a 16 Mbps. Essa revisão inclui a definição de dois tipos de
concentradores, um passivo e outro ativo, que permite a ligação de uma grupo de estações
ao meio. A revisão especifica também o uso de um caminho redundante entre
concentradores, através de um anel backup.
A referência do padrão IEEE 802.5 de 1992 define uma rede token ring como sendo
um sistema cuja topologia lógica é em anel e a topologia da fiação é uma estrela. Segundo
esta topologia anel-estrela cada estação é conectada a uma TCU (Trunk Coupling Unit). A
TCU tem como função prover os meios necessários para inserir uma estação no anel, ou
retirá-la, funcionando como um relê de bypass. O concentrador, ponto central da topologia
em estrela da fiação, contém um conjunto de TCUs. Os concentradores são ligados em
série através de portas de entrada e saída, formando os anéis principal e de reserva.
Atualmente, é consenso geral que um projeto bem feito do cabeamento em uma rede
é o primeiro passo para garantir a implantação de uma rede com sucesso. A escolha correta
do tipo de cabo para um segmento em um projeto de uma rede local é uma parte vital para o
seu bom funcionamento. Considerando projetos de médio e grande porte, onde várias redes
de diferentes topologias e métodos de acesso convivem interligadas, as opções de
instalação se tornam a parte mais custosa do projeto. Esforços tem surgido no sentido de
organizar e compilar as opções de instalação de forma a fornecer um conjunto básico de
configurações para os tipos de instalações mais comuns. Essas configurações definem o
que comumente tem sido chamado de cabeamento estruturado.
Dentro deste contexto, vários órgãos de padronização, tais como ISO/IEC, EIA/TIA e
IEEE, entre outros, além de algumas empresas privadas, têm se preocupado em
desenvolver padronizações de sistemas de cabeamento estruturado. Estes sistemas
— 4.17 —
CAP. 4 — AS REDES LOCAIS PROF. VITÓRIO BRUNO MAZZOLA
— 4.18 —
Capítulo 5
RE D E S LO C A I S I N D U S T R I A I S
1. INTRODUÇÃO
— 5.1 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
3. AS REDES NA EMPRESA
— 5.2 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Administração
Corporativa
SISTEMA DE
COMUNICAÇÃO
Planejamento
(Factory) CAD, CAE, CAP,
MAP, TOP
CAPP, CAQ, etc...
Área
(Shop) MAP-EPA,
FMS Mini-MAP
Célula
(Cell)
FMC
Fieldbus
Subsistema
(Subsystem)
Torno, Manipulador,
Centro de Usinagem,
etc... Fieldbus
Tempo-Real
Componente
S A S A S A S A Motores, Chaves,
(Component)
Relés, etc...
Planejamento
Área
Célula
Subsistema
Número de Quantidade
Componente
Estações de Quadros
— 5.3 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
5.2. Confiabilidade
— 5.4 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Sensibilidade
Par Trançado a
perturbações
(assíncrono)
Par Trançado
(síncrono)
Cabo Coaxial
Fibra Ótica
Taxa de
Custo Distância
Transmissão
— 5.5 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Estas operações podem ser feitas normalmente com um único código acrescido dos
respectivos dados, quando existirem. Como conseqüência, pode haver uma baixa taxa de
transmissão de dados com um elevado número de mensagens transmitidas.
Para dispositivos programáveis encontrados no ambiente industrial (CLPs, CNCs,
RCs, etc), normalmente é necessário o envio de programas no inicio da produção de um
lote. Estes programas raramente ultrapassam 10 KBytes em tamanho e dificilmente são
utilizados mais de 3 programas por unidade de fabricação durante um turno de trabalho.
— 5.6 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Para aplicações voltadas ao controle da manufatura com tempos críticos foi definida
a versão MAP/EPA (Enhanced Performance Architecture) para conseguir tempo de resposta
menores. A Versão MAP/EPA apresenta para algumas estações da rede a arquitetura MAP
completa (7 camadas) e uma arquitetura simplificada com as camadas 1,2 e 7 do modelo
OSI como caminho alternativo para satisfazer os requisitos de tempo. A versão mais
simplificada é conhecida como MINI-MAP e implementa somente as camadas 1, 2 e 7 do
modelo OSI. O projeto MAP será discutido mais detalhadamente mais adiante.
Com objetivos semelhantes ao MAP, foi desenvolvido pela BOEING a partir de 1983
o projeto TOP ("Technical and Office Protocol"), voltado à redes para automação de áreas
técnicas e administrativas. Também é baseado no modelo OSI de 7 camadas e tem como
finalidade fornecer aos usuários os seguintes serviços: correio eletrônico, processamento de
textos, acesso a base de dados, transferência de arquivos, CAD/CAM distribuído, troca de
documentos, transações bancárias, entre outros.
A partir de 1986 os projetos MAP e TOP passaram a ser coordenados
conjuntamente, resultando no projeto MAP/TOP.
7. O PROJETO MAP
O projeto MAP tem como mérito a apresentação de uma proposta concreta para a
comunicação no ambiente de fábrica, estabelecendo as condições necessárias para a
integração dos componentes de automação em um ambiente integrado segundo a filosofia
CIM (Computer Integrated Manufacturing). Ao contrário do que se propunha inicialmente, hoje
está claro que não existe uma solução única de rede que atenda aos requisitos de todos os
níveis de comunicação em uma fábrica.
O projeto MAP nasceu no início dos anos 80 por iniciativa da GM (General Motors). Na
época, apenas 15% dos equipamentos programáveis de suas fábricas eram capazes de se
comunicar entre si.
Além disso, os custos de comunicação eram muito elevados, avaliados em 50% do
custo total da automação, isto devido às conexões especiais necessárias entre cada
equipamento. Ainda, cada nova instalação ou expansão no sistema existente estava
associada a uma despesa não desprezível. Considerando que, na época, estava previsto
que a quantidade de equipamentos programáveis deveria sofrer uma expansão de 400 a
500% num prazo de 5 anos, o problema de comunicação tornou-se, efetivamente, uma
prioridade a nível da empresa.
Diante do grave problema, a decisão deveria ser tomada no sentido de definir a
solução, cujas opções eram as seguintes:
— 5.7 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Uma vez adotado o modelo OSI como referência para a arquitetura de comunicação,
o problema era selecionar as propostas a serem implementadas a nível de cada camada.
Para as camadas 1 e 2, foram selecionados, respectivamente, as normas IEEE 802.4
(barramento com ficha) e IEEE 802.2 (LLC).
Do ponto de vista da camada Física, foi escolhido o suporte de comunicação em
banda larga (broadband). A escolha foi baseada nas razões seguintes:
— 5.8 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Apesar das razões expostas acima para a escolha do barramento com ficha, esta foi
uma escolha relativamente debatida, principalmente porque a arquitetura MAP é a única a
adotá-la e os circuitos integrados implementando IEEE 802.4 são utilizados exclusivamente
para esta arquitetura. Além disso, outras propostas tinham sido adotadas pelos grandes
fabricantes: Ethernet (IEEE 802.3) no caso da DEC e IEEE 802.5 no caso da IBM.
A nível da camada de Enlace, embora as funções associadas sejam principalmente a
detecção e recuperação de erros, optou-se por um protocolo que não implementasse estes
serviços, o LLC tipo 1, deixando estas funções a cargo dos níveis superiores (mais
particularmente, o nível Transporte).
O serviço de Rede é sem conexão, cada mensagem sendo roteada individualmente
através da rede. A norma ISO 8348, adotada a este nível, permite definir um conjunto de
regras de endereçamento através da rede. O protocolo de roteamento utilizado aqui foi
definido pelo projeto MAP e é atualmente normalizado na ISO sob o número 9542.
A nível do Transporte, foi adotada a classe 4 do protocolo de Transporte da ISO (TP4,
ISO 8072/73), orientado à conexão, com controle de erros. O serviço de Transporte oferece,
então, um canal de comunicação confiável, sem perdas, erros, nem duplicação de
mensagens. TP4 assegura ainda as funções de fragmentação e montagem de mensagens,
o que permite que as mensagens trocadas a este nível sejam de qualquer dimensão.
A norma ISO 8326/27 foi adotada para a camada de Sessão, assegurando as
funções de comunicação full-duplex e de resincronização.
Na camada de Apresentação, os problemas de representação de dados são
resolvidos com a adoção da sintaxe abstrata ASN.1, que serve de linguagem comum às
diferentes formas de representação dos dados, características de cada equipamento.
Dentre as funções oferecidas aos processos de aplicação, foram definidas, na
camada de Aplicação, as seguintes normas:
• MMS, para a troca de mensagens entre equipamentos de produção (que será visto
em detalhes mais a frente);
• FTAM, para o acesso e a transferência de arquivos;
• ROS, para a gestão de nomes (diretório);
• funções de gerenciamento de rede, para a gestão dos recursos, medição de
desempenho e modificação dos parâmetros da rede.
— 5.9 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Espec.
Camadas
TOP MAP MAP-EPA MiniMAP
ACSE, FTAM
Aplicação MMS, FTAM, ROS
VTP
MAP EPA
Aplicações
tempo-real
Aplicação
Apresentação
Sessão
Transporte
Rede
Física
Uma terceira opção relacionada com a norma MAP foi a arquitetura Mini-MAP,
baseada igualmente na supressão das camadas 3 a 6 para eliminar o overhead dos
protocolos daquelas camadas. A arquitetura Mini-MAP é composta unicamente do segmento
simplificado de MAP-EPA, e foi assim definida para evitar o alto custo das pilhas de
protocolos paralelas de MAP-EPA (figura 5.6). Esta nova proposta era dedicada aos níveis
mais baixos, permitindo a comunicação em aplicações mais simples como, por exemplo,
entre sensores inteligentes.
— 5.10 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Aplicação
LLC Tipos 1 e 3
MAC 802.4
Banda Base
(5 Mbps)
— 5.11 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Os objetos MMS
Os serviços MMS
...
VMD Estação
...
Operador 1
...
Objetos
MMS
— 5.12 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
— 5.13 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
8. REDES FIELDBUS
— 5.14 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
— 5.15 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
— 5.16 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Vantagens econômicas
Vantagens técnico-operacionais
Vantagens sistêmicas
Vantagens mercadológicas
TENDÊNCIA
Centralizado / Decentralizado /
Decentralizado / Digital
Analógico Multipontos
RS 232C RS 422
D A
A D FIELDBUS
MUX
P P P
P P
Sample/ P
Holder D A
A C D D A
4..20 mA
0..10 v A D
4..20 mA 0..10 v C
Adaptador Amp.
/Amp. Potência
Y Y Y Y Y Y
X X X X X X
sensores atuador sensores atuador
sensores atuador inteligentes inteligente inteligentesinteligente
— 5.17 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Inicialmente se supunha que uma única rede iria cobrir todas as necessidades de
interconexão no chão de fábrica. Notadamente a proposta MAP, acrescida das versões de
maior performance e menor custo MAP/EPA e MINI-MAP se propunham também a integrar
elementos de automação ao nível hierárquico de componente. No entanto, logo pode ser
verificado que estas propostas eram demasiado caras e muito lentas para as aplicações
típicas a nível hierárquico de componente.
Enquanto os segmentos de banda base do MAP (MAP-EPA e Mini-MAP) permitem a
realização de tempos de resposta de cerca de 100 ms, sistemas tipo Fieldbus se propõe a
reduzir este tempo para a faixa de 1 a 10 ms, como requerido para o controle e supervisão
de importantes grandezas envolvidas na automação, tais como velocidade, posição de eixos,
torque, aceleração e força.
Um aspecto essencial na definição de protocolos de comunicação para o Fieldbus é
a redução a um mínimo estritamente necessário das informações adicionais incluídas nos
telegramas, de forma a permitir uma adequada performance em tempo real. Estas
simplificações em relação a sistemas tipo MAP e TOP são indispensáveis quando se
pretende interligar componentes simples tais como sensores e atuadores. Para sistemas
tipo Fieldbus são definidas, por questões de eficiência, somente as camadas 1, 2 e 7 do
modelo de referência OSI. As funções das camadas 3 até 6 que são indispensáveis para a
comunicação são aqui absorvidas pelas camadas 2 ou 7.
O aspecto de custo também assume grande importância, uma vez que os
dispositivos a serem interligados tem em geral custo inferior ao da própria interface MAP,
como pode ser visto na tabela que segue. São requeridos aqui nós a um custo da ordem de
U$ 50 ou inferior.
— 5.18 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
ESPRIT CNMA/
Fieldbus
Norma nacional em
abril/91
Siemens
outros...
FIP F
EUREKA
Norma nacional início
1988 Fieldbus
Desenvolvimento e teste
de um Fieldbus para
Processos Unitários
— 5.19 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Processador Central
Sensor
Fieldbus
Cont.
Processo
Sensor
A camada Física
FIP oferece opcionalmente como meios de transmissão a fibra ótica e o par trançado
(blindado ou não). Para o par trançado são previstas três velocidades de transmissão de
dados:
— 5.20 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
A camada de Enlace
A camada de enlace do FIP não faz uma distinção formal entre subcamadas LLC e
MAC, como proposto na norma IEEE 802.
O método de acesso ao meio da rede FIP é baseado na difusão ("Broadcasting"). A
difusão é organizada por uma entidade centralizada denominada "árbitro de barramento". O
projeto FIP baseou-se no fato de que, nas redes industriais, uma informação gerada em um
determinado ponto pode interessar a várias outras estações (por exemplo, o dado gerado por
um sensor de temperatura pode interessar ao controlador, ao atuador e ao terminal de vídeo
do operador, simultaneamente).
A maioria dos dados transmitidos pelo barramento érepresentada por objetos
(variáveis). Cada objeto é representado por um "nome" único no sistema. Um objeto é, por
definição, elaborado por um único transmissor (produtor) e levado em conta por qualquer
número de receptores (consumidores). Devido ao uso da difusão, os endereços de
transmissores e receptores não precisam ser conhecidos pelas aplicações.
A comunicação transcorre da seguinte forma (figura 5.11):
• Em uma primeira fase, o árbitro difunde na rede o nome da variável (objeto) a ser
transmitida (quadro de identificação);
• O produtor da variável difunde, em seguida, a informação ligada ao identificador
(quadro de dados);
• todos os consumidores interessados passam a copia-la na fase final.
— 5.21 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Maior importância foi atribuída aos serviços cíclicos, de forma que não houve
preocupação com uma otimização das demais classes.
ID_DAT
Árbitro
C P C
RP_DAT
Árbitro
C P C
FSS FES
PRE — Preâmbulo
FSD — Frame Start Delimiter
EB — Equalization Bit
DFS — Data Frame Sequence (Controle, Dados, FCS)
FSS — Frame Start Sequence
FED — Frame End Delimiter
FES — Frame End Sequence
— 5.22 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
A Camada de Aplicação
O projeto FIP definiu uma série de funções de gerenciamento de rede, que permitem
coordenar as várias fases do ciclo de vida da mesma. Para inicializar a rede é preciso:
— 5.23 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Como nas demais redes Fieldbus para aplicações industriais, para atender aos
requisitos de tempo de resposta, o PROFIBUS implementa o modelo de referência ISO/OSI
reduzido a três camadas (1, 2 e 7), descritas a seguir.
A camada física
A camada de enlace
Cada quadro é formado por vários caracteres UART. Um caracter UART é composto
de 11 bits: 1 bit de inicio ("start bit"), 8 bits de dados, 1 bit de paridade e 1 bit de finalização
("stop bit"). Em particular tem-se os seguintes campos em cada quadro:
— 5.24 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
anel lógico
Mestre 1 Mestre 2
token
A camada de Aplicação
— 5.25 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
• Lower Layer Interface (LLI), responsável pela interface com a camada de Enlace,
mapeando os serviços FMS e FMA (Fieldbus Management) em serviços
correspondentes do FDL;
• Application Layer Interface (ALI), responsável pela interface com as aplicações do
usuário. A ALI opera como solicitador de serviços("Cliente") a um Dispositivo Virtual
de Campo (VFD, Virtual Field Device), que opera como fornecedor de serviços
("Servidor").
• DTE (Data Terminal Equipment), que aqui inclui as funcionalidades das camadas
de aplicação, de enlace e a parte da camada física independente do meio de
transmissão adotado;
• DCE (Data Communication Equipment), que aqui inclui as partes da camada física
que dependem do meio.
A camada Física
• Subcamada DIS (Data Independent Sublayer): atua como interface com a camada
de enlace, recebendo pedidos de serviço desta e repassando os dados recebidos
(DTE);
• Subcamada MDS (Medium Dependent Sublayer): codifica os dados a enviar para
um formato compatível com o meio físico a ser adotado. Por enquanto, somente
foi especificada a subcamada MDS para o par trançado, onde se adota a
codificação tipo Manchester bifásico (DCE);
— 5.26 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
— 5.27 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Propostas alternativas utilizando fibra ótica e sinais de rádio estão sendo estudadas.
A camada de Enlace
Camada de Enlace
DIS
(Data Independent Sublayer)
MDS
(Medium Dependent Sublayer)
MAU
(Medium Attachment Unit)
— 5.28 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
LAS
Estação
LM qualquer
Token de Escalonamento
Token Delegado
Token Circulado
LM LM
A camada de Aplicação
— 5.29 —
CAP. 5 — R EDES LOCAIS I NDUSTRIAIS PROF. VITÓRIO BRUNO MAZZOLA
Camada de
Aplicação
Subcamada de Gerenciamento de
Conexões
Subcamada de Escalonamento
Camada Física
Camada do Usuário
— 5.30 —
Capítulo 6
INTERCONEXÃO DE REDES
1. INTRODUÇÃO
— 6.1 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
2. ASPECTOS DA CONECTIVIDADE
2.1. Endereçamento
Este é um outro problema importante, dado que diferentes subredes podem trabalhar
com tamanhos distintos de mensagens (os tamanhos máximos). É óbvio que uma solução
seria limitar o tamanho máximo das mensagens podendo transitar em todas as subredes
como sendo o menor tamanho máximo de todas as subredes... mas esta é uma solução
pouco eficiente.
— 6.2 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
sistema A sistema B
4a7 4a7
relay
3c 3c'
3c'
3b 3b 3b' 3b'
3a 3a' 3a'
3a
2 2 2 2
1 1 1 1
subrede 1 subrede 2
Figura 6.1 - Estrutura interna da camada de rede do ponto de vista da interconexão, segundo o OSI.
— 6.3 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
5. AS PONTES (BRIDGES)
LAN
G WAN
G
LAN LAN
B G WAN G
— 6.4 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
As pontes são bidirecionais por natureza, o que significa que elas são responsáveis
do encaminhamento de todos os pacotes emitidos ao nível das duas redes. A figura 6.3
ilustra a forma de interconexão através de uma ponte.
A operação de uma ponte é baseada na manutenção de uma tabela contendo os
endereços dos equipamentos compondo a rede à qual ela está associada.
Quando um pacote é recebido, esta examina o conteúdo do campo “endereço do
destinatário” para verificar se ele está endereçado a um equipamento desta rede ou não.
Em caso positivo, o pacote é encaminhado ao equipamento considerado. Caso
contrário, este será despachado para uma ponte associada a uma outra subrede, sendo
que, esta, por sua vez, realizará o mesmo tipo de verificação, através de consulta à sua
tabela. Normalmente, as pontes implementam um algoritmo de "aprendizagem", utilizado
para inicializar a tabela de endereçamento existente em cada uma delas.
Do ponto de vista do desempenho, as pontes são elementos de interconexão que
apresentam um tempo de resposta relativamente mais curto, uma vez que, em grande parte
de sua operação, os pacotes não sofrem nenhum processo de reformatação para serem
despachados.
Um caso bastante comum encontrado nas empresas é a necessidade de
interconexão de redes Ethernet com as redes do tipo Token Ring (Anel com Ficha). Um
primeiro problema a resolver, neste caso, é a grande diferença estrutural dos pacotes
utilizados por cada um destes tipos de rede.
Uma rede Ethernet utiliza pacotes cujo tamanho não deve ultrapassar os 1.500 bytes;
uma rede Token Ring a 4 Mbit/s pode transmitir pacotes de até 4.000 bytes. Uma ponte
orientada à interconexão destes dois tipos de rede deve, então, oferecer a possibilidade de
segmentação dos pacotes de grandes dimensões das redes Token Ring em pacotes
menores da Ethernet.
Dado que, no modelo OSI, a independência de redes é uma das características
enfatizadas, é bem possível que as duas subredes utilizem suportes de transmissão
(camada física) distintos. Um exemplo disto é a possibilidade do estabelecimento de
interconexões por pontes nas arquiteturas MAP/TOP. Por utilizar a mesma camada de
enlace (IEEE 802.2), as duas arquiteturas podem ser interconectadas, apesar de uma (MAP)
utilizar o suporte de transmissão em banda larga e a outra (TOP) utilizar banda básica.
SUBREDE A SUBREDE B
Camada 7 Camada 7
Camada 6 Camada 6
Camada 5 Camada 5
Camada 4 Camada 4
— 6.5 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
Na filosofia do modelo OSI, uma ponte pode interconectar duas redes quaisquer,
desde que estas sejam totalmente compatíveis em suas camadas de enlace de dados
(principalmente, no endereçamento). Ainda deste ponto de vista, dois usuários finais não
precisam tomar conhecimento da existência de uma ponte na rede; esta é vista como um
equipamento "observador" nas redes às quais ela está conectada. Sua função é monitorar
todo pacote que circula em cada uma das redes à qual ela está associada.
6. OS ROTEADORES (ROUTERS)
Como foi dito acima, as pontes são equipamentos que permitem interconectar as
subredes, duas a duas. Apesar de sua grande utilidade neste caso bastante comum, as
pontes apresentam limitações que impedem outras maneiras também importantes de
interconexão.
Os roteadores são elementos operando ao nível de Rede, que se utilizam do
endereçamento definido a este nível para transferir e rotear as mensagens de uma rede a
outra. Ao contrário das pontes que interligam as subredes duas a duas, os roteadores
podem interligar duas ou mais subredes, sendo que a escolha de que linha utilizar é feita
com base na execução de um algoritmo de roteamento, como já discutido anteriormente
(camada de Rede).
A política de endereçamento implementada a nível da camada de Rede é bastante
similar à codificação de números telefônicos numa rede de telefonia. Se alguém, por
exemplo, quer fazer uma chamada telefônica de Florianópolis para Paris, ele deve discar
inicialmente (após o código de discagem direta internacional) o código do país (no caso, 33
para a França), em seguida, o código da cidade (1, para Paris) e, finalmente, o número do
telefone da pessoa com quem ele vai querer dialogar. No modelo OSI, o esquema de
endereçamento é definido de forma a cobrir os múltiplos formatos de endereçamento de
rede (ver parte relativa à camada de Rede).
SUBREDE A SUBREDE B
Camada 7 Camada 7
Camada 6 Camada 6
Camada 5 Camada 5
Camada 4 Camada 4
ROTEADOR
SUBREDE B
SUBREDE A ROTEADOR
SUBREDE D
SUBREDE C
— 6.6 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
Uma das desvantagens das pontes que é o fato de que, todo pacote transitando ao
longo das subredes é recebido por cada uma das estações conectadas a estas subredes,
implicando, em condições normais, num aumento considerável de tráfego. Ainda, a
possibilidade de um congestionamento não está muito distante uma vez que uma interface
de rede em pane poderá despejar uma grande quantidade de pacotes incompatíveis na rede.
Ao contrário das pontes, um roteador não tem necessidade de analisar todos os
pacotes circulando na rede. Isto significa que, no caso dos roteadores, o problema descrito
acima pode ser evitado pois eles seriam capazes de bloquear aqueles pacotes que não
obedecessem a um determinado perfil.
É um equipamento bastante poderoso, dado que ele pode interconectar um número
relativamente grande de redes, de uma forma transparente ao usuário do serviço. Em
aplicações onde haja necessidade de interligação de mais de duas subredes, um roteador
deverá certamente o elemento escolhido para realizar a conexão (em lugar de uma ponte).
Em aplicações industriais, por exemplo, um bom número de empresas se
caracteriza por possuir suas usinas, fornecedores, depósitos, lojas de venda, etc... em
locais geograficamente dispersos. A fim de trocar informações entre estes setores, a
conexão das diversas redes locais a uma rede de longa distância pode ser viabilizada
através de um roteador.
Um papel importante desempenhado pelos roteadores está na interconexão de redes
heterogêneas. Quando um pacote pertencente a uma subrede implementando um protocolo
X deve ser encaminhado a uma subrede implementando um protocolo Y, o roteador deverá
realizar as conversões de formato necessárias para que o pacote seja encaminhado
respeitando os requisitos impostos pelo protocolo Y. A interconexão entre subredes através
de um roteador é ilustrada na figura 6.4.
7. AS PASSARELAS (GATEWAYS)
Controle Controle
Rede Rede
Caminho Caminho
Controle Controle
Enlace Enlace
Enlace Enlace
— 6.7 —
CAP. 6 — I NTERCONEXÃO DE REDES PROF. VITÓRIO BRUNO MAZZOLA
Os gateways são elementos que devem possuir duas pilhas de protocolos, um sendo
baseado na arquitetura a 7 camadas do modelo OSI e o outro, baseado na arquitetura
proprietária considerada.
Normalmente, os gateways são construídos com uma orientação a uma dada
aplicação, como, por exemplo, a interconexão entre uma rede proprietária e uma rede MAP.
Outro exemplo disto é a interconexão de uma rede SNA (rede proprietária da IBM) na qual um
mainframe IBM está interconectado com uma rede MAP.
O gateway a ser construído para realizar esta conexão deveria possuir as 7 camadas
(OSI-like) definida pela arquitetura MAP, um programa de aplicação para realizar a
transferência de arquivos, e um conjunto de protocolos necessários para a comunicação
dentro da rede SNA.
— 6.8 —
Capítulo 7
ENGENHARIA DE P ROTOCOLOS
1. INTRODUÇÃO
— 7.1 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
especificação
informal dos
requisitos
realização da ANÁLISE DE
especificação validação da REQUISITOS
funcional especificação
funcional
especificação
funcional
realização da definição de
especificação validação da sequências
sequências
detalhada especificação de teste
de teste
detalhada
PROJETO
especificação
detalhada
teste do
código de
implementação
geração do
código de validação do
implementação código de
implementação
código de IMPLEMENTAÇÃO
implementação
— 7.2 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
Estes aspectos, na grande maioria dos documentos (com raras exceções), são
apresentados em linguagem natural, podendo conduzir, muitas vezes a implementações
diferentes e incoerentes de uma mesma norma.
A importância da etapa de especificação está no fato de que, uma vez que ela vai
servir de referência para a etapa de geração do código de implementação, ela deve eliminar,
por um lado, a totalidade ou grande parte das ambigüidades que possam surgir no que diz
respeito aos pontos de funcionamento do protocolo, isto sendo possível graças à utilização
de técnicas apropriadas de especificação.
• o serviço a ser oferecido por uma dada camada de protocolos, levando em conta
as propriedades locais do ponto de vista de um único ponto de acesso a serviço
(SAP), assim como as propriedades globais, levando em conta a existência de
vários SAPs;
• o protocolo a ser implementado pelas entidades de protocolo de uma dada
camada, principalmente o comportamento interno das entidades;
• a interface, através da qual o serviço é oferecido num ponto de acesso ao serviço
particular.
pontos de acesso
ao serviço (SAPs)
entidade de
protocolo
CAMADA DE PROTOCOLO
(a) (b)
Figura 7.2 - (a) especificação do serviço oferecido por uma camada; (b) especificação do
comportamento de uma entidade de protocolo.
— 7.3 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
PDUs
entidade de
protocolo
camada
inferior
Um exemplo da representação destes aspectos pode ser visto na figura 7.4, onde
uma especificação da camada de Transporte do modelo OSI é proposta. Pode-se notar as
duas entidades de Transporte que oferecem o serviço de Transporte através dos pontos de
acesso a serviço, respectivamente TSAP1 e TSAP2. Estas entidades trocam suas PDUs
utilizando o serviço de Rede, oferecido pela camada inferior nos pontos de acesso a serviço
correspondentes, respectivamente, NSAP1 e NSAP2.
As possíveis interações entre usuários da camada de Transporte, entidades de
Transporte e a camada de rede podem ser expressas na forma de um diagrama de tempo
como mostra a figura 7.5.
Os pontos apresentados até aqui representam aspectos arquiteturais da
especificação, os aspectos de comportamento devendo também ser levados em conta.
Os aspectos de comportamento a serem levados em conta no momento de uma
especificação são:
TSAP1 TSAP2
ENTIDADE ENTIDADE
DE DE
TRANSPORTE TRANSPORTE
1 2
NSAP1 NSAP2
SERVIÇO DE REDE
— 7.4 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
TCON.req
CR
TCON.ind
TCON.rsp
CC
DATA (SDU)
TCON.cnf DT
DT
AK
DATA (SDU)
Figura 7.5 - Diagrama de tempo ilustrando as diferentes interações para o exemplo da figura anterior.
• os possíveis valores dos parâmetros de uma interação, que vai permitir tipos e
valores a serem associados a cada um dos parâmetros de uma primitiva de
serviço ou PDU;
• as regras de interpretação e seleção de valores dos parâmetros das interações,
que permite definir o significado de cada parâmetro de uma primitiva de serviço ou
PDU; assim como o comportamento a ser assumido por uma entidade em função
de valores de determinados parâmetros;
• a codificação das PDUs, definindo a estrutura de dados que vai permitir representá-
las;
• as propriedades do protocolo, que permitirão definir que regras devem ser
satisfeitas pelas entidades para que o protocolo progrida; ou ainda, propriedades de
tempo real, que permitem associar medidas quantitativas sobre o protocolo
(desempenho).
— 7.5 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
<X,I,O,N,M> , onde:
FONTE DESTINO
— 7.6 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
dado a
não enviar ?
sim
sim
prepara recepção
envio dado
sim
leitura dado
FONTE DESTINO
— 7.7 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
OCIOSO
Ei1
OCIOSO
!pedido envio
?pedido envio
PRONTO P/
ENVIO !pronto p/ recepção
ESPERA
ACK !dado consumido
?dado consumido
FONTE DESTINO
Figura 7.8 - Máquinas de estado finito para as entidades fonte e destino do protocolo considerado.
Estes foram construídos com base nos fluxogramas da figura 7.7 e obedecendo aos
seguintes critérios:
• para a entidade fonte, foram considerados dois eventos internos: Ei1 e Ei2,
respectivamente para representar a chegada de um dado a enviar e o fim da
transmissão do dado;
• para a entidade destino, foi considerado um evento interno, Ei, que representa o
final da recepção de um dado.
— 7.8 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
lugares de entrada
ficha
transição
lugares de saída
(a) (b)
Figura 7.9 - Princípio das redes de Petri: (a) antes do tiro; (b) depois do tiro.
• uma transição é dita habilitada (ou sensibilizada) se cada um dos seus lugares de
entrada possui pelo menos uma ficha;
• o tiro de uma transição consiste da remoção de uma ficha de cada lugar de entrada
e a adição de uma ficha em cada lugar de saída da transição;
• o tiro de uma transição toma um tempo nulo, mas pode não ocorrer imediatamente.
Matematicamente, uma rede de Petri pode ser representada por uma 4-tupla
C = (P,T,I,O), onde:
A distribuição das fichas ao longo dos lugares de uma rede de Petri (que, como foi
dito anteriormente, define o estado da rede) é denominada marcação. A partir de uma
marcação inicial é possível construir (manualmente ou automaticamente) o conjunto das
marcações acessíveis desta. A este conjunto, que pode ser também ser representado
graficamente, dá-se o nome de grafo de marcações. A análise do grafo de marcações é um
elemento importante na verificação de propriedades de uma rede de Petri, permitindo
analizar os principais aspectos do comportamento do sistema (no caso, o protocolo de
comunicação) modelizado. No caso do protocolo considerado, a marcação inicial da rede
corresponde a uma ficha no lugar A e outra no lugar A’.
— 7.9 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
A B
1 ta
t1 A'
B'
D tb
C
2
t2
3 tc D'
t3
C'
E'
F'
G td
F
4
t4
FONTE DESTINO
— 7.10 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
FONTE DESTINO
MEIO DE TRANSMISSÃO
Figura 7.11 - Introdução dos aspectos de comportamento relativos ao meio no protocolo considerado.
• as redes de Petri coloridas, que constituem uma extensão das redes de Petri
ordinária, onde «cores» podem ser associadas às fichas; isto permite aumentar o
poder de expressão da rede, extendendo as regras de tiro, mas simplificando a
estrutura da rede construída;
• as redes de Petri temporais, que permitem associar um intervalo de tempo (t1,t2)
às transições, de modo a tornar possível a representação de mecanismos de
temporização, como por exemplo, os mecanismos de timeout nos protocolos
baseados na retransmissão de dados;
• as técnicas de descrição formal baseadas nas máquinas de estados finitos, como
Estelle (ISO) e SDL (CCITT) que introduzem a possibilidade da representação e
manipulação de estruturas de dados complexas.
— 7.11 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
Como podemos, ver, o termo validação atinge uma dimensão bastante abrangente no
que diz respeito às etapas de desenvolvimento de um protocolo de comunicação. Nesta
seção, vamos limitar o significado da palavra validação associando-o ao segundo ponto
levantado, ou seja, aquele relacionado à determinação de que o comportamento das
entidades de protocolo especificadas permite oferecer o serviço requerido pelo usuário.
Por outro lado, não vamos abandonar o terceiro aspecto, o teste de implementação,
também importante, dedicando a este uma seção, mais adiante, no documento.
— 7.12 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
!m ?m !m τ ?m
(a) (b)
Figura 7.12 - Representação em máquinas de estados finitos do meio de transmissão: (a) perfeito; (b)
com perda de mensagens.
— 7.13 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
questões que podem ser colocadas e que poderiam ajudar a responder a uma necessidade
de validação crescente no domínio dos protocolos e sistemas distribuídos.
Ou então, por que não uma técnica híbrida? Por que não juntar as vantagens de uma
simulação com as potencialidades (as características de exaustividade) de uma análise de
alcançabilidade, por exemplo?
Muitos dos trabalhos realizados hoje, no campo da validação de protocolos de
comunicação orientam-se à resposta a estas questões.
Como foi determinado na seção 4.1, o sentido dado aqui ao termo validação é
associado à investigação de que a especificação de um protocolo de comunicação permite o
oferecimento do serviço requerido. A figura 7.13 retrata este aspecto, de modo que o
resultado da validação deve basear-se numa comparação entre a especificação do serviço
requerido e aquele oferecido pela especificação do protocolo de comunicação.
A essência da especificação de um protocolo, como já levantado na seção 3, é o
comportamento das entidades de protocolo e do meio de transmissão, na forma das
possíveis sequências de eventos associados à execução de cada elemento e às interações
dos diferentes elementos. A especificação dos serviços pode ser expressas na forma de
propriedades que, uma vez verificadas, permitem demonstrar que o serviço oferecido pela
camada de protocolo vai corresponder, efetivamente, ao serviço requerido.
Uma primeira classe de propriedades a serem verificadas deve permitir garantir que
eventos prejudiciais não devem ocorrer durante o funcionamento do protocolo — um
exemplo destes eventos são aqueles que possam conduzir a um estado de bloqueio. A esta
classe de propriedades, dá-se o nome de propriedades de segurança (safety properties).
A segunda classe de propriedades, as propriedades de progressão (liveness
properties), deve permitir garantir que uma vez que o protocolo evolui, ele realiza tarefas
úteis, como, por exemplo, a transmissão de uma mensagem.
Como vimos na seção 3, uma boa parte dos modelos utilizados para a especificação
dos protocolos de comunicação é baseada sobre o formalismo dos sistemas de transição
(máquinas de estados finitos, redes de Petri, Estelle, _).
Uma técnica das mais aplicadas à validação de protocolos especificados segundo
este modelo é a análise de alcançabilidade, cujos primeiros trabalhos foram realizados sobre
as máquinas de estado finito.
primitivas
de serviço
primitivas
de serviço especificação
do protocolo N
entidade N entidade N
oferece
especificação
do
serviço N
serviço N-1
— 7.14 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
a b
c!0 c!1 b!0 b!1
0 1 c c 0 1
— 7.15 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
a b
a?0 a?1
0,1 ·,1 1,1
τ
b!1 b!1 b!1
a?0 a?1
0,· ·,· 1,·
τ
b!0 b!0 b!0
a?0 a?1
0,0 ·,0 1,0
— 7.16 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
b b b c b c b c b c
— 7.17 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
e?1 e?0 b! b!
f?0
e?0 d?1 d?0
e?0
f?0/e!0
s e e f f r
a? f?1/e!1 d?1
c!1 f!0
f!1
f?1
a b
a?m
τ s τ
b!m
τ fe(1) τ cd(0)
τ τ
τ
τ r
fe(1) b!m b!m
τ fe(0)
τ r
τ τ
τ τ
cd(1)
fe(0) b!m
τ s τ
a?m
— 7.18 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
— 7.19 —
CAP. 7 — ENGENHARIA DE PROTOCOLOS PROF. VITÓRIO BRUNO MAZZOLA
7. CONCLUSÃO
— 7.20 —
Capítulo 8
P1
P2 P3
REDES DE PETRI b c
1. INTRODUÇÃO
R = <P,T,Pre,Post>
Onde:
— 8.1 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
a c
P2
3
P1 P3
b d
C = Post - Pre
N = <R,M>
Onde:
M:P → N
Como se pode verificar na figura 8.1, as Redes de Petri podem ser expressas
graficamente por um grafo onde se observam dois tipos de nó: os lugares e as transições.
Um arco conecta um lugar p a uma transição t se e somente se Pre(p,t) ≠ 0. Um arco
conecta uma transição t a um lugar p se e somente se Post(p,t) ≠ 0. Os valores não nulos de
Pre e Post são associados aos arcos como rótulos. Quando um arco não possui rótulo, o
valor default é 1.
A marcação M pode ser representada por um vetor que tem por dimensão o número
de lugares; Pre, Post e C podem ser representados por matrizes cujo númeroo de linhas é
igual ao número de lugares e o número de colunas é igual ao número de transições.
Para o exemplo da figura 8.1, pode-se obter as seguintes notações:
• P = {p1,p2,p3}
• T = {a,b,c,d}
0 1 0 0
• Pr e = 1 0 3 0
0 0 0 1
— 8.2 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
1 0 0 0
•
Post = 0 1 0 3
0 0 1 0
1 −1 0 0
•
C = − 1 1 − 3 3
0 0 1 − 1
0
• M = 3
0
Uma Rede de Petri é definida como pura, se para todas as transições, não existe
nenhum lugar que esteja, ao mesmo tempo, na entrada e na saída, ou seja, a rede não
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 não apresenta esta propriedade.
∀p ∈ P M(p) ≥ Pre(p,t)
— 8.3 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
a c
P2
3
P1 P3 e
3
b d
O conflito em Redes de Petri pode ser definido em dois níveis: o conflito estrutural e o
conflito efetivo. O conflito estrutural refere-se àquele estabelecido em função da estrutura
(layout) da própria rede. Duas transições 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 paralelismo é visto igualmente nos mesmo níveis que o conflito. Duas transições,
t1 e t2 encontram-se em paralelismo estrutural se:
(Pre(•,t1))T x Pre(•,t2) = 0
— 8.4 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
1
M ' = 0
1
M 0
ta
tb
→M2
As evoluções da marcação de uma Rede de Petri podem ser dadas pela equação:
M’ = M – Pre. s + Post. s
M’ = M + C. s com M ≥ 0, s ≥ 0
É importante notar que não basta encontrar um vetor que satisfaça a equação acima
para garantir que existe uma seqüência de disparo da marcação M à marcação M’. É preciso
também que a marcação inicial seja tal que as transições serão efetivamente habilidatas
para cada marcação intermediária. Tomando como exemplo a Rede de Petri da figura 8.3,
se:
1 − 1 − 1 1 1 1
0 1 −1 0 0 1
M = C = abcd =
0 0 1 −1 0 1
0 0 0 1 − 1 1
— 8.5 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
P1
P2
P3
P4
A(R;M 0) = { M i , ∃ s M 0 →
s
Mi }
— 8.6 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
0
3
a c
0
b d
1 0
2 0
0 1
a b
2
1
0
a b
3
0
0
Por outro lado, no caso de propriedades que não dependem da marcação (as
propriedades estruturais), podem permitir a obtenção de resultados importantes, a partir da
resolução de sistemas de equações lineares.
∀M’ ∈ A(R;M 0) M’ ≤ k
— 8.7 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
P1
P2 P3
b c
N = <R,M 0>
M0
→s
M' e M'
→t
M 0 →
st
N = <R,M 0>
— 8.8 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
Traduzindo em texto, pode-se dizer que uma transição é quase-viva se existe uma
seqüência de transições a partir da marcação inicial que vai conduzir a seu disparo. Uma
transição será dita viva quando, para qualquer marcação da Rede de Petri existir uma
seqüência de transições que vai conduzir a seu tiro.
Uma Rede de Petri Marcada N = <R,M 0> é dita viva se e somente se todas as suas
transições forem vivas.
Para a Rede de Petri Marcada da figura 8.6, por exemplo, o Grafo de Marcação para a
marcação inicial indicada na figura é mostrado na figura 8.7. Analisando o grafo, pode-se
concluir que a transição d é quase-viva, mas não-viva, pois ela só é disparada uma vez, já
que, uma vez disparada, a evolução da Rede de Petri fica “presa” no sub-grafo da direita. Já,
as transições a, b, c, e e f são vivas, pois elas aparecem no subgrafo da direita e,
observando o grafo, veremos que será possível, a partir de qualquer marcação, encontrar
uma seqüência de disparo que conduza a estas.
Com relação a esta propriedade, pode-se dizer:
P1
P2
b c
P3 P4
e d f
— 8.9 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
3 4 d 1
e f
f e
3 a 4
1 3 c b 1 4 d c
2
a e f a
e 2 3 b 1 1 c 2 4 f
b a f c
e
3 3 1 2 4 4
b c
2 2
— 8.10 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
definir um invariante linear de lugar como uma função linear das marcações cujo valor é uma
constante, dependendo apenas da marcação inicial da rede. Os invariantes de lugar
correspondem a uma restrição em termos de estados e eventos do sistema que serão
verificadas em qualquer circunstância.
Uma componente conservativa corresponde à solução da equação fT.C = 0
e C = Post – Pre e f é a função linear que define a componente. Do ponto de vista gráfico,
uma componente conservativa define uma sub-rede de Petri composta pelos lugares cuja
componente de f é diferente de zero e as transições de entrada e saída destes lugares.
Se f é solução da equação citada acima, então,
Tomando novamente a Rede de Petri da figura 8.10, pode-se verificar que o disparo
da seqüência c d gera a mesma marcação. A sub-rede que será observada agora é a
formada pelos lugares P3, P4 e P5, com as transições c e d. Esta sub-rede é dita ser uma
componente repetitiva estacionária.
Um invariante de transição é uma seqüência de disparos de transições que não
provoca modificações na marcação da rede. A presença de um invariante de transições no
modelo de um sistema pode indicar a existência de uma seqüência cíclica de eventos que
pode ser repetida indefinidamente.
Toda solução da equação C. s = 0 constitui uma componente repetitiva estacionária.
Uma componente repetitiva estacionária define uma subrede onde só são consideradas as
transições para as quais as componentes do vetor s são diferentes de 0, com seus lugares
de entrada e de saída. A componente repetitiva estacionária não depende da marcação
inicial, mas a existência de um invariante linear de transição depende.
P1
P2 c P3
P4
a b a
14 24 13 23
— 8.11 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
a c
P1 P2 P3 P4 P5
b d
As Redes de Petri são úteis para efetuar a modelagem de qualquer tipo de aplicação
que apresente riqueza em termos de paralelismo, comunicação, competição por recursos e
outras características típicas dos sistemas distribuídos. Nesta família de aplicações,
encontram-se os protocolos de comunicação, tema central desta disciplina.
Assim como as demais aplicações distribuídas, os protocolos de comunicação
requerem um modelo que possibilite expressar os aspectos de processamento e as
restrições temporais.
Apesar de poderoso, o modelo original das Redes de Petri não foi concebido para
expressar, de forma explícita estes aspectos e, por esta razão, outros modelos (ou
extensões ao modelo original) foram desenvolvidos.
— 8.12 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
Finalmente, as fichas podem ser interpretadas como objetos físicos (por exemplo,
peças ou ferramentas num sistema de fabricação), informações, estruturas de dados ou
recursos do sistema. Estas entidades são submetidas a eventos (disparos de transição) que
as fazem mudar de estado (passar de um lugar para o outro na Rede de Petri).
P1 P2
P1 P2
t1
t Atividade Atividade
t2
P3 P4
P3 P4
— 8.13 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
Para que se possa realizar o modelo de um sistema aberto (um sistema que se
comunique freqüentemente com o ambiente), é importante que e Rede de Petri possa ser
estruturada em duas partes, que permitam explicitar os elementos que compõem o sistema
sob estudos e aqueles que caracterizam o ambiente.
Além disso, é importante explicitar as partes da rede que estão associadas ao
controle e aquela que representa os aspectos relacionados aos dados do sistema. Além dos
dados internos, pode ser importante representar o tempo e os dados trocados com o
ambiente.
A representação explícita do tempo pode ser feita a partir de variáveis booleanas que
serão associadas a condições e ações associadas às transições. Os valores destas
variáveis são, obviamente, dependentes do tempo.
Consideremos mon(θ) uma variável booleana dependente do tempo. Se é atribuído a
ela o valor 0, ela pode reassumir o valor 1 após um determinado período de tempo (um
monoestável). Vamos supor que no momento do disparo de uma transição t1, esta variável
seja colocada a 0. Se uma dada transição t2 que fica sensibilizada imediatamente após o
disparo de t1 tem, associada a ela a condição mon(θ) = 1, então, o intervalo de tempo entre
o disparo de t1 e o disparo de t2 será igual a θ.
4.2.1. Resultados
É importante notar que uma Rede de Petri ordinária descreve apenas a parte controle
de um sistema. Neste caso, a marcação da Rede de Petri vai fornecer apenas informações
sobre o estado de controle do sistema. Numa Rede de Petri interpretada, o estado do
sistema será descrito pela marcação associada ao estado dos dados. Sendo assim, numa
Rede de Petri interpretada:
Por outro lado, é preciso observar que a evolução da marcação numa Rede de Petri
interpretada vai estar relacionada a restrições da evolução da marcação de uma Rede de
Petri ordinária. Por esta razão, pode-se dizer que o conjunto das marcações acessíveis de
uma Rede de Petri interpretada é um subconjunto daquele das marcações acessíveis de
uma Rede de Petri ordinária. Entretanto, para que uma transição possa ser disparada numa
Rede de Petri interpretada, é preciso que ela possa ser disparada na Rede de Petri ordinária.
Mas, a interpretação pode levar ao fato de que uma transição que é disparável numa Rede
de Petri ordinária pode, num dado instante não ser disparável numa Rede de Petri
interpretada, em função das restrições impostas no modelo (por exemplo, a progressão do
tempo, o valor de uma variável, etc...).
Sendo assim, do ponto de vista de análise de uma Rede de Petri, é importante
observar as seguintes relações.
— 8.14 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
A separação entre o que é a parte dados e a parte controle num sistema não é
necessariamente evidente, sendo, na maior parte das vezes tomada pelo desenvolvedor no
momento da Análise de Requisitos e do Projeto do Sistema. No limite, toda a parte controle
do sistema pode ser integrada às condições de execução 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 difícil representação e análise.
Uma técnica que permite expressar sistemas complexos por modelos relativamente
simples é, quando possível, replicar conjuntos de processos similares (com a mesma
estrutura de controle) numa única componente conservativa. O inconveniente desta técnica
é 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 idéia de individualizar as fichas numa Rede de Petri permite replicar os
comportamentos de vários processos por uma única estrutura de Rede sem correr o risco
de perder informação sobre sua individualidade.
Vamos tomar como exemplo a Rede de Petri da figura 8.12, que descreve um
problema clássico de algoritmo distribuído, no caso o problema dos leitores e escritores. No
exemplo, são representados 3 leitores e 1 escritor. Não é difícil observar que os três leitores
apresentam estrutura comportamental idêntica e, utilizando esta identidade, é possível
replicar seus lugares e suas transições numa única estrutura. O resultado desta replicação é
mostrado na figura 8.13. A grande vantagem desta estratégia é a obtenção de um modelo
mais simples para construção e para análise. Por outro lado, perde-se informação, pois
quando um leitor evolui, é impossível conhecer sua identidade.
Uma forma de diferenciar as fichas numa Rede de Petri é associar a elas «cores»,
que são expressas na forma de números inteiros ou de conjunto de etiquetas.
Conseqüentemente, associa-se cada lugar um conjunto de cores de fichas que podem
posicionar-se nele. Ainda, associa-se a cada transição um conjunto de cores que
corresponde às possibilidades de disparos da transição.
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 transições são
— 8.15 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
11 12 13 1E
d1 d2 d3 dE
21 22 23 2E
a1 a2 a3 aE
3
31 32 33 3E
3
f1 f2 f3 fE
1L 1E
dL dE
2L 2E
aL aE
3
3L 3E
3
fL fE
Figura 8.13 — Problema dos leitores x escritores com replicação dos leitores.
ini
peça máquina
id
PI US MA
peça máquina
fim
— 8.16 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
Numa Rede de Petri Colorida, os arcos não são mais representados por números
inteiros, mas devem ser especificadas as ações que deverão ser realizadas considerando
cada cor possível num lugar. Cada arco deverá ter, então, associado a ele, uma matriz cujas
linhas serão as possibilidades de disparo da transição e as colunas as possíveis 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 à transição ini e o arco que conecta MA a ini, serão descritos
por:
pi1 pi2 ma1 ma2
u11 1 0 u11 1 0
u22 1 0 u22 0 1
u21 0 1 u21 1 0
u22 0 1 u22 0 1
Uma Rede de Petri Colorida associada a uma marcação inicial é um hexupla dada
por:
NC = <P,t,Cor,Csc,W,M0>
Onde:
• M 0, é a marcação inicial para cada lugar e para cada cor possível neste
lugar:
1
Ν é o conjunto dos naturais.
— 8.17 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
5.4. Exemplo
• Cor = {pi1,pi2,ma1,ma2,u11,u12,u21,u22}
• Csc(PI) = {pi1,pi2}
• Csc(MA) = {ma1,ma2}
• Csc(US) = Csc(ini) = Csc(fim) = {u11,u12,u21,u22}
• as funções definidas para W são:
§ id(uij) = uij
§ máquina(uij) = maj
§ peça(uij) = pii
• a matriz W fica:
− peça peça
W = id − id
§
− máquina máquina
• a marcação inicial M 0:
1 1 0 0 0 0 0 0
§ M 0 = 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0
6.1. Variáveis
SE pelo menos uma peça e pelo menos uma máquina, FAZER usinagem
— 8.18 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
NPT = <R,A,M0>
Onde:
— 8.19 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
ini
<x> <y>
<u>
PI US MA
<u>
<x> fim <y>
ini
<x> <y>
<x,y>
PI US MA
<x,y>
<x> <y>
fim
6.4. Exemplo
• Const = {pi1,pi2,ma1,ma2}
• V = {x,y}
• neste exemplo, não foram definidas nem condições, nem ações
— 8.20 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
ini
2
PI US MA
2
fim
ini fim
PI -<x> <x> PI <pi1>+<pi2>
Ac = US <x,y> -<x,y> M0 = US 0
MA -<y> <y> MA <ma1+ma2>
Uma Rede de Petri Ordinária descreve uma relação de causalidade entre eventos.
Um evento a é a causa de b, a sempre precede b, a e b são ordenados no tempo. O tempo é
levado em conta apenas de maneira qualitativa. Entretanto, a consideração do tempo de
forma quantitativa é um requisito importante na descrição de muitos sistemas de software,
principalmente no caso de aplicações distribuídas e protocolos de comunicação.
Numa Rede de Petri Temporizada, o tempo é diretamente associado à Rede de Petri,
integrando-se à parte controle do sistema.
Como foi visto no início deste capítulo, os lugares representam as atividades. Sendo
assim, a associação de tempo aos lugares objetiva descrever a duração da atividade. Pode-
se considerar que um lugar com uma duração associada pode ser descrito por uma
seqüência lugar-transição-lugar, onde o primeiro lugar corresponde à atividade em curso, a
transição representa o evento passagem do tempo e outro lugar corresponde a uma espera
pelo final da atividade (sincronização com outras atividades). Esta correspondência é
ilustrada na figura 8.18.
Esta associação tem sentido quando se considera a transição como uma atividade e
não como um evento instantâneo. Uma atividade deve ser vista como uma ocorrência
ininterruptível sob a ótica do comportamento global do sistema sob análise.
Pode-se considerar que esta transição pode ser expressa por uma seqüência
transição-lugar-transição, na qual a primeira transição corresponde a um evento instantâneo
de início de atividade, o lugar corresponde à atividade em curso e a última transição
corresponde a outro evento instantâneo de fim de atividade. Esta equivalência é ilustrada na
figura 8.19.
— 8.21 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
t1
t1 duração p indisponível
duração p
t2 p disponível
t2
Figura 8.18 —Tempo associado a um lugar.
— 8.22 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
p1
p1 reserva p/ t
t duração
p2 t
p2
condição
espera
alarme seqüência
normal
— 8.23 —
CAP. 8 — R EDES DE PETRI PROF. VITÓRIO BRUNO MAZZOLA
Por outro lado, pode-se dizer que uma Rede de Petri Ordinária é uma Rede de Petri
Temporal onde todas as transições possuem intervalos de sensibilização igual a [0,∞].
9. CONCLUSÃO
— 8.24 —
Capítulo 9
A T É C N I C A E STELLE
1. INTRODUÇÃO
— 8.1 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
— 9.2 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
especificação
A0
A1 A2
instância de módulo
ponto de interação
A3
A2
A21
A21 e A22 são módulos
filhos do módulo A2
A22
— 9.3 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
tipo de módulo
B instâncias
módulo de módulo
corpo de módulo
— 9.4 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
channel C1 (cliente,servidor);
by cliente : pedido; servico(tipo:integer);
by servidor : resposta(resultado:boolean);
A declaração de canal serve de base para a declaração dos pontos de interação que
vão definir as interfaces de cada tipo de módulo, e que são feitas da maneira seguinte:
ip <id_ip> : <id_canal>(r);
specification exemplo1;
_
_
channel C1 (mestre,escravo);
by mestre : ordem_inicio; pedido_status;
by escravo : resposta_serviço; info_status;
module tipo_cliente;
ip A : C1(mestre);
end;
module tipo_servidor;
ip B : C1(escravo);
end;
_
_
end.
— 9.5 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Neste caso, da mesma forma que um elemento de uma matriz definida na linguagem
Pascal, o ponto de interação deverá ser designado pelo seu identificador, acompanhado do
índice correspondente no vetor. A figura 9.4 ilustra o caso de um módulo possuindo 6 pontos
de interação similares.
A associação de filas FIFO aos pontos de interação obedece a duas políticas
distintas:
• na primeira, a fila individual (individual queue), uma fila é associada a cada ponto de
interação;
• na segunda, a fila comum ou global (common queue) a fila é compartilhada por
diversos pontos de interação.
Embora as duas políticas possam coexistir no contexto de uma mesma
especificação Estelle, a sua definição é obrigatória no contexto da declaração dos pontos de
interação, isto podendo ser feito de duas maneiras:
module tipo_A;
ip a : ARRAY[1..6] OF Ca(r1);
end;
— 9.6 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
_
_
end. { mestre_escravo }
MESTRE_ESCRAVO
FONTE DESTINO
F D
A B
MEIO
— 9.7 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
modvar
<id_varmod1> : <id_tipo1>;
<id_varmod2> : <id_tipo2>;
_
<id_varmod3> : <id_tipoN>;
modvar
fonte : tipo_fonte;
destino : tipo_destino;
meio : tipo_destino;
modvar
A : ARRAY[1..MAX] OF tipo_fonte;
A parte de inicialização é a parte que vai dar «vida» a uma especificação Estelle. Ela
é caracterizada pela expressão Estelle initialize seguida de um bloco begin_end (como na
linguagem Pascal) cujas instruções vão permitir inicializar os objetos Pascal
(particularmente as variáveis) e os objetos Estelle. No que diz respeito aos objetos Estelle,
esta parte permite:
— 9.8 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
A criação das instâncias de módulo é feita através do comando init que vai permitir
inicializar uma variável módulo com um corpo de módulo declarado na especificação. O
formato geral deste comando é:
Como podemos ver, no caso do comando attach, não é necessário especificar uma
das instâncias, pois ela é conhecida implicitamente (é a instância na qual o comando está
sendo realizado). Os seguintes comentários podem ainda ser feitos com relação aos
comandos de estruturação de Estelle:
Para ilustrar a utilização destes comandos, vamos retomar o exemplo ilustrado pela
figura 9.5, completando a especificação do ponto de vista das declarações e inicializações
dos objetos. Esta é mostrada a seguir.
— 9.9 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
modvar
fonte : tipo_fonte;
destino : tipo_destino;
meio : tipo_meio;
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 }
— 9.10 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Para o exemplo considerado na figura 9.5, a declaração dos estados globais para a
instância de módulo fonte ficaria, então:
initialize to <id_estado_inicial>;
begin
_
end;
A parte transição permite definir o conjunto das transições que vai descrever o
comportamento dos módulos. Uma transição é caracterizada de três partes principais: a
parte pré-condições, a parte de pós-condições e a parte ação. A definição de uma ou mais
transições deve ser caracterizada pela definição de uma cláusula trans.
from
permite definir em que estado global deve encontrar-se o módulo para que a
transição esteja em condições de executar.
SINTAXE EXEMPLO
from <id_estado> from ocioso
when
permite definir a recepção de uma dada interação sobre um ponto de interação para
que a esteja em condições de executar.
SINTAXE EXEMPLO
when <id_ip>.interação when D.dado
— 9.11 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
provided
permite testar uma condição na forma de uma expressão booleana, envolvendo
variáveis Pascal do módulo ou mesmo, no caso de uma transição contendo uma cláusula
when, parâmetros da interação especificada naquela cláusula.
SINTAXE EXEMPLO
provided <exp_booleana> provided dado_lido*
ou provided otherwise
priority
permite associar um nível de prioridade de modo a modificar a política de
escalonamento entre as transições de um mesmo módulo.
SINTAXE EXEMPLO
priority <inteiro> priority 1
delay
permite associar um intervalo de tempo para fins de representação de mecanismos
de temporização (timeout, por exemplo). A semântica de tempo associada a esta cláusula
será explicada mais adiante. A cláusula delay não pode ser utilizada numa transição onde a
cláusula when esteja presente. Em outras palavras, esta só pode ser utilizada em
transições expontâneas, como definido anteriormente.
SINTAXE EXEMPLO
delay (T1,T2) delay (1,5)
A parte pós-condições permite definir o estado global que será assumido pelo módulo
após a execução da transição considerada. A cláusula de pós-condição definida em Estelle é
a cláusula to cuja sintaxe e exemplo de utilização são dados abaixo:
SINTAXE EXEMPLOS
to <id_estado> to espera_ack
ou to same to same
SINTAXE EXEMPLOS
output <id_ip>.interação output F.dado
— 9.12 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
• a nomeação de transições.
all i : 1..n
do
begin
_ sequência de instruções _
end;
any i : 1..n
do when ip_id[i].interação
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 cláusula «from ocioso» é comum às duas transições. Assim,
elas podem ser fatoradas da seguinte forma:
trans
from ocioso
when D.pedido_envio
to pronto_recepcao
— 9.13 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
begin
output D.pronto_rec
end;
when D.dado
to same
begin
end;
trans
from ocioso
when D.pedido_envio
to pronto_recepcao
name aviso_dado:
begin
output D.pronto_rec
end;
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;
— 9.14 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
trans
from espera_ack
when F.ack
to ocioso
begin
end;
end; { corpo_fonte }
OCIOSO
Ei1
!pedido envio
PRONTO P/
ENVIO
?pronto p/ recepção
ENVIO
Ei2
!envio dado
ESPERA
ACK
?dado consumido
Figura 9.6 - Máquina de estados finitos representando a entidade fonte do exemplo considerado.
— 9.15 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Isto significa que a forma como a especificação é estruturada tem grande influência
na maneira como as transições das diferentes instâncias de módulo vão se relacionar no
que diz respeito à sua seleção para execução.
Um terceiro ponto diz respeito às diferentes semânticas de paralelismo podendo ser
representadas em Estelle, isto sendo função dos atributos associados, de um lado, à
especificação e, do outro lado, às instâncias de módulo que a compõem.
Estelle permite definir quatro classes de atributos que vão desempenhar um papel
importante na representação do paralelismo entre as instâncias de módulo de uma
especificação. Os atributos são systemactivity, systemprocess, activity e process. Os
atributos prefixados por system permitem definir subsistemas no contexto de uma
especificação, dentro dos quais a semântica de paralelismo considerada pode ser diferente.
As regras de utilização destes atributos são descritas nos parágrafos que seguem:
A figura 9.7 permite ilustrar o papel dos atributos na definição do paralelismo entre as
instâncias de módulo de uma especificação Estelle, onde um módulo atribuído
systemactivity é estruturado em dois módulos activity.
Os identificadores entre colchetes representam as transições sensibilizadas em
cada instância de módulo. Em 9.7(a), observa-se as transições T1 (systemactivity), T2 e T3
(systemactivity da esquerda) e T4 (activity da direita). Neste caso, a prioridade pai-filho é
levada em conta e a transição selecionada para execução será, invariavelmente, T1. Já em
9.7(b), T1 não está sensibilizada, de modo que a seleção deverá ser feita a nível das
instâncias de módulo activity.
Neste caso, a seleção é não detertminista, apenas uma transição sendo selecionada
para execução, ou seja, T2 ou T3 ou T4.
A figura 9.8 ilustra, de maneira análoga, a política para as instâncias atribuídas
systemprocess e process. Em 9.8(a), temos sensibilizadas as transições T5
(systemprocess), T6 e T7 (process da esquerda) e T8 (process da direita). Neste caso, vale,
ainda a prioridade pai-filho e a transição T5 será selecionada para execução.
Execução de T1 Execução de T2 ou T3 ou T4
(a) (b)
— 9.16 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Já, em 9.8(b), como T5 não está sensibilizada, a seleção é feita no nível das
instâncias process. Estes atributos impõem uma sincronização implícita entre ações de
processos num mesmo sistema. Desta forma, será escolhida, em cada instância, uma
transição, que será sincronizada com as demais, selecionadas a nível das demais
instâncias. Para o exemplo, isto significa que serão executadas T6 e T8 ou T7 e T8.
• Tmín é o tempo mínimo que deve ser decorrido entre a sensibilização de uma
transição e a sua execução;
• Tmáx é o tempo máximo que pode decorrer a partir do instante que a transição foi
sensibilizada para que a transição (se continuar sensibilizada) executar.
delay(Tmín,Tmáx)
delay(T)
[T5] Systemprocess
[--] Systemprocess
— 9.17 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Esta seção visa a apresentar alguns dos importantes resultados em torno destes
aspectos, particularmente no que diz respeito à definição de uma semântica formal para
Estelle, que culminou na definição de uma versão mais poderosa, denominada Estelle* e no
que diz respeito ao desenvolvimento de ferramentas de concepção para Estelle (e Estelle*).
— 9.18 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Quando a sincronização ocorre, as partes ação das duas transições são executadas
«simultaneamente», podendo ocorrer passagem de valores se a interação referenciada tem
parâmetros associados a ela.
Os pontos de interação sobre os quais uma sincronização deverá ocorrer devem ser
declarados com uma nova política de fila, no queue, introduzida em função do referido
mecanismo de comunicação.
Isto significa a impossibilidade de coexistência, num mesmo ponto de interação, dos
dois mecanismos de comunicação. Por outro lado, estes podem (e devem!) coexistir numa
especificação Estelle*.
As duas transições Estelle* abaixo, consideradas em duas diferentes instâncias de
módulo ilustram a utilização deste mecanismo. Os pontos de interação F e D são
declarados com política no queue e são supostos estar conectados.
_
trans
from espera_ack
F?ack
to ocioso
begin
end;
_
_
trans
from dado_consumido
D!ack
to ocioso
begin
end;
_
— 9.19 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
coerentes para a automatização das diferentes etapas da concepção de um tal sistema são
essenciais para a escolha de uma destas técnicas dentre as disponíveis.
O interesse da adoção de uma técnica de concepção como Estelle é traduzida pelo
grande número de trabalhos consagrados ao desenvolvimento de ferramentas de suporte à
concepção.
Vamos apresentar, nesta seção, duas das diversas ferramentas desenvolvidas neste
contexto, as quais, utilizadas de maneira complementar, permitem cobrir a quase totalidade
das etapas de concepção de um protocolo de comunicação, 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.
— 9.20 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
O tradutor EWS traduz uma especificação Estelle na forma de uma estrutura mais
apropriada à representação dos diferentes objetos Estelle. A esta estrutura de dados é dado
o nome de forma intermediária que foi definida num espírito de expansão da ferramenta ou
da sua interligação com outras ferramentas em desenvolvimento. O tradutor produz um
diagnóstico completo dos erros de sintaxe, e uma referência cruzada da especificação.
O gerador de código de EWS permite gerar, a partir de uma especificação Estelle,
um programa fonte em linguagem C que poderá, em seguida, ser compilado e linkado a
bibliotecas especiais de Estelle. O código C pode ser gerado dentro de dois objetivos — para
simulação ou para execução num ambiente de implementação.
O motor de simulação permite uma execução interativa da especificação Estelle,
dando acesso às diversas opções e objetos da técnica. De modo similar à ferramenta ESTIM,
o simulador EWS permite conduzir a simulação em dois modos: passo-à-passo e
automático.
Um aspecto interessante do simulador é o seu acoplamento a uma interface gráfica,
que permite, inclusive, acompanhar o ponto sendo simulado através da visualização da
listagem da especificação Estelle.
O motor de implementação, finalmente, oferece uma biblioteca de rotinas
necessárias à gestão da execução do código executável gerado a partir da especificação
Estelle. Embora o código executável possa ser gerado sobre qualquer tipo de máquina, EWS
já vem dotada de um conjunto de rotinas orientadas ao sistema UNIX.
As duas ferramentas são operacionais e executam sobre estações de trabalho do
tipo SUN.
Fonte Estelle*
Erros Estelle*
GENESTIM
Construções
não suportadas
Árvore abstrata ML
ESTIM
SIMULAÇÃO VERIFICAÇÃO
Traços e Cenários Grafo de
Alcançabilidade
PIPN
ou
ALDEBARAN
Autômato
quociente
(projeção)
— 9.21 —
CAP. 9 — A TÉCNICA ESTELLE PROF. VITÓRIO BRUNO MAZZOLA
Fonte Estelle
Editor orientado
à sintaxe
Mensagens Tradutor
de erro
Forma intermediária
Gerador de
Código
Motor de Simulador
Implementação
Traços e Cenários
— 9.22 —
Capítulo 10
1. INTRODUÇÃO
—10.1 —
CAP. 10 — ESTADO DA ARTE EM REDES PROF. VITÓRIO BRUNO MAZZOLA
— 10.2 —
CAP. 10 — ESTADO DA ARTE EM REDES PROF. VITÓRIO BRUNO MAZZOLA
— 10.3 —
CAP. 10 — ESTADO DA ARTE EM REDES PROF. VITÓRIO BRUNO MAZZOLA
— 10.4 —
CAP. 10 — ESTADO DA ARTE EM REDES PROF. VITÓRIO BRUNO MAZZOLA
interface
ISDN interface
ISDN
REDE COMUTAÇÃO DE CIRCUITOS
acesso acesso
REDE DE SINALIZAÇÃO
ISDN ISDN
interface
interface
ISDN ISDN
acesso acesso
ISDN REDE ISDN
ISDN
Terminal Terminal
ISDN ISDN
Figura 10.1 - As duas últimas etapas da implantação da ISDN: a instalação dos centros digitais; a
instalação da rede ISDN integrada.
CENTRO DE
NT1
DISTRIBUIÇÃO
equipamentos
ISDN
— 10.5 —