Buscar

CAPÍTULO 14 - PROTOCOLOS ORIENTADOS A CARACTER

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CAPÍTULO XIV - PROTOCOLOS ORIENTADOS A CARACTER
1. INTRODUÇÃO
	Os protocolos orientados a caracter são largamente utilizados para implementação de Redes de Comunicação de Dados ponto-a-ponto ou multiponto. O processo de gerência da comunicação se baseia em um conjunto de caracteres de controle que, por sua vez, normalmente se baseiam em algum código de transmissão. Os códigos de transmissão mais largamente utilizados são o EBCDIC e o ASCII. A utilização de um ou outro código resulta em algumas particularidades que serão analisadas no decorrer do capítulo.
	Muitas das considerações feitas neste capítulo se baseiam no protocolo BSC (Binary Synchronous Communication) desenvolvido pela IBM. No entanto, os princípios gerais de troca de dados são comuns a outros protocolos da mesma categoria.
1.1. CARACTERES DE CONTROLE UTILIZADOS
	A tabela a seguir resume os caracteres de controle utilizados pelo protocolo BSC. Uma visão mais detalhada da utilização destes caracteres será feita ao longo deste capítulo, nos exemplos abordados.
Função de controle			Mnemonico BSC		Cod. EBCDIC		Cod. ASCII
Início de cabeçalho				SOH			 SOH		 SOH
Início de texto					STX			 STX		 STX
Fim de transmissão de bloco		ETB			 ETB		 ETB
Fim de texto					ETX			 ETX		 ETX
Fim de transmissão				EOT			 EOT		 EOT
Enquiry					ENQ			 ENQ		 ENQ
Reconhecimento negativo			NAK			 NAK		 NAK
Sincronismo					SYN			 SYN		 SYN
Data Link Escape				DLE			 DLE		 DLE
Caracter de bloco intermediário		ITB			 IUS		 IS 1 (US)
Reconhecimento ímpar		 ACK 0			 DLE70H		 DLE 0
Reconhecimento par			 ACK 1			 DLE /		 DLE 1
Espere antes de transmitir		 WACK			 DLE,		 DLE;
Desconexão mandatória			DISC			 DLE EOT		 DLE EOT
Interrupção reversa				RVI			 DLE @		 DLE <
Atraso de texto temporário			TTD			 STX ENQ		 STX ENQ
2. FORMATO DE UM QUADRO BSC
	A figura a seguir ilustra o formato típico de um quadro BSC. O caracter PAD que aparece no início e no fim do quadro é um caracter em que temos uma seqüência de 0s e 1s alternados. O objetivo do PAD transmitido no início do bloco é garantir que as estações transmissora e receptora estejam em sincronismo ao nível de bit antes do início da transmissão das informações. Já o PAD ao fim do bloco tem por objetivo garantir que o Modem tenham transmitido corretamente os últimos caracteres úteis do bloco. Vale ressaltar que temos implementações em que se utiliza dois caracteres PAD em cada extremidade [1][2][3].
	Os dois caracteres SYN tem por objetivo estabelecer sincronismo ao nível de caracter entre o transmissor e o receptor, sinalizando ao receptor o início de um bloco de dados.
	A seqüência BCC é utilizada para permitir ao receptor a detecção de erro. Quando o código utilizado é o código ASCII, o código de detecção de erro utilizado é, comumente, a combinação de uma paridade vertical (VRC) com uma paridade longitudinal (LRC); este código foi apresentado no capítulo sobre controle de erros com o nome genérico de BCC. Já quando o código EBCDIC é utilizado, o mais comum é utilizarmos o código CRC (Cyclic Redundancy Checking) para a verificação da ocorrência de erro. Este código foi tratado detalhadamente no capítulo sobre controle de erros. O tamanho da seqüência BCC depende da técnica de detecção de erro utilizada, sendo comum termos 1 byte quando utilizamos VRC + LRC e 2 bytes quando utilizamos CRC.
�
	
Figura 1 - Formato típico de um quadro BCC.
	Quando a mensagem a ser transmitida é dividida em diversos blocos, todos os blocos terminam com o caracter ETB, com exceção do último bloco que termina com ETX, como mostrado acima. A figura abaixo ilustra esta situação. Nesta figura omitimos, por simplicidade, os caracteres PAD, SYN e BCC.
�
Figura 2 - Transmissão de uma mensagem dividida em 03 blocos.
	Uma outra possibilidade é transmitirmos todos os blocos em um único quadro, utilizando o conceito de blocos intermediários. Neste caso, o primeiro e o segundo bloco terminam com um caracter ITB, indicando a finalização do bloco intermediário, seguido do caracter BCC associado ao bloco intermediário. Logo, o receptor contabilizará o BCC para cada bloco intermediário e enviará um único reconhecimento positivo ou negativo válido simultâneamente para todos os blocos no quadro. Assim, se houver um erro detectado,, todos os blocos terão de ser transmitidos. Obviamente, este tipo de transmissão só é vantajosa se o canal de comunicação for de boa qualidade, resultando em uma probabilidade de erro baixa. Neste caso, o objetivo do BCC internediário é manter a redundância no processo de codificação, que se traduz na capacidade do código de detectar erros de transmissão. Ou seja, se mandassemos um único bloco grande, com um único BCC no final, a redundância diminuiria e a probabilidade de ocorrência de um erro que não pudesse ser detectado pelo receptor aumentaria.
	A vantagem de utilização dos blocos intermediários, mantendo-se os comentários acima, é evitar a reversão no sentido de transmissão para o envio do reconhecimento após cada bloco, aumentando desta forma a utilização do canal de comunicação.
	Após cada bloco intermediário, o bloco seguinte pode ou não iniciar com STX. [1][2]. A figura abaixo ilustra a utilização do caracter ITB.
�
Figura 3 - Transmissão de Blocos Intermediários.
	Um cabeçalho pode ser usado no início da mensagem para enviar informações adicionais, tais como endereço do remetente, data/hora de transmissão, prioridade, informações relacionadas a segurança, etc. Neste caso, o cabeçalho aparece antes do início do texto da mensagem, como ilustrado na figura a seguir, onde mais uma vez omitimos alguns caracteres por simplicidade.
�
Figura 4 - Transmissão de Mensagem com Cabeçalho.
3. SEQÜÊNCIAS DE TRANSMISSÃO TÍPICAS
	Passaremos agora a mostrar algumas seqüências típicas de transmissão em um sistema utilizando o protocolo BSC. Novos conceitos serão introduzidos ao longo dos exemplos.
3.1. SEQÜÊNCIA DE TRANSMISSÃO SEM ERRO
	Neste exemplo a estação A envia uma mensagem composta de 3 blocos para a estação B, que recebe todos os blocos corretamente. A estrutura típica de cada um desses blocos já foi analisada no item anterior.
	Perceba que a estação A envia uma mensagem de ENQUIRY (ENQ) para a estação B antes do início da transmissão dos blocos. Esta mensagem tem por objetivo perguntar para a estação B se a mesma está apta a iniciar a recepção de uma mensagem. Caso a resposta seja afirmativa a estação B envia de volta uma mensagem de RECONHECIMENTO POSITIVO (ACK0). O formato típico dessas duas mensagens iniciais estão indicados na figura a seguir.
�
Figura 5 - Formato das Mensagens de ENQ e ACK0.
�
Figura 6 - Seqüência de Transmissão sem Erros.
	Na seqüência de transmissão mostrada acima verificamos que as mensagens de reconhecimento são alternadas, ou seja, após um ACK0 vem sempre um ACK1, e vice-versa.
	Ainda, notamos que a estação A finaliza a transmissão com uma mensagem de FIM DE TRANSMISSÃO (EOT), que retorna a linha ao estado ocioso. Após o EOT qualquer estação pode tomar a iniciativa de iniciar uma seqüência de transmissão de uma mensagem. O formato típico da mensagem de EOT é o mesmo mostrado para a mensagem de ENQ (figura 5), trocando-se o caracter de controle ENQ por EOT, obviamente.
�
3.2. SEQÜÊNCIA DE TRANSMISSÃO COM ERRO
�
Figura 7 - Seqüência de Transmissão com Erro no Bloco 1.
	Este exemplo mostra uma seqüência em que ocorreu erro na transmissão do bloco 1, corrigido através do envio da mensagem de NAK, que indica uma solicitação de retransmissão do bloco defeituoso.
�
3.3. ESTAÇÃO (B) MOMENTANEAMENTE SEM CONDIÇÃO DE RECEBER DADOS
�
Figura 8 - Estação B sem Condições Momentâneasde Receber Dados.
	Neste exemplo a estação B não está apta a receber os dados no instante em que recebe o ENQ. Assim, a estação responde com uma mensagem de WAIT BEFORE TRANSMIT (WACK), que indica que a estação não pode receber dados no momento. Após um intervalo de tempo, a estação A envia um novo ENQ, que é agora respondido com ACK0. Logo a estação A transmite o bloco1. Após o recebimento do bloco 1, a estação B envia um novo WACK, que neste caso representa um RECONHECIMENTO POSITIVO do bloco 1 e, ao mesmo tempo, indica à estação transmissora a nova impossibilidade de receber dados da estação B. Tal fato se repete após a transmissão/recebimento do segundo bloco mas, neste caso, como a estação A já não tinha nada para transmitir, a mesma envia um EOT.
�
	A mensagem de WACK é, como definido anteriormente, uma seqüência DLE, e seu formato é semelhante àquelas outras mensagens de controle já definida acima (figura 5).
3.4. ATRASO TEMPORÁRIO NO TEXTO
�
Figura 9 - Atraso Temporário na Mensagem.
	Neste exemplo, após a transmissão do bloco 1 e do recebimento de seu reconhecimento, a estação A envia uma mensagem de TEMPORARY TEXT DELAY (TTD), indicando para a estação B que existem mais blocos a serem transmitidos mas que a estação A não está pronta para enviá-los no momento. A estação B responde com um NAK, que neste caso o significado de RECONHECIMENTO POSITIVO do recebimento da mensagem TTD. Quando a estação A estiver pronta para enviar o próximo bloco ela o faz imediatamente, sem se preocupar com o status atual da estação B.
�
3.5. INTERRUPÇÃO NA TRANSMISSÃO DA MENSAGEM
�
Figura 10 - Interrupção na Transmissão da Mensagem.
	Após o reconhecimento do bloco 1, a estação B responde com uma mensagem de REVERSE INTERRUPT (RVI). A RVI indica que o bloco 1 foi recebido corretamente pela estação B e que esta estação não pode receber a mensagem completa de A, e que, por alguma razão, a estação B deseja entrar em comunicação com a estação A. Assim, tão logo seja possível a estação A para a sua transmissão. Após isto, a estação B envia um ENQ para A, estabelecendo uma nova comunicação.
3.6. TRANSMISSÃO EM MODO TRANSPARENTE
	Todo o processo de controle da comunicação, como vimos acima, está baseado em caracteres de controle de um código determinado. Sendo assim, para que a comunicação se estabeleça de modo confiável, não podemos permitir que ocorra, dentro da mensagem, uma seqüência binária que coincida com a seqüência de qualquer caracter de controle utilizado no protocolo.
	No entanto, algumas vezes desejamos poder transmitir qualquer seqüência binária, sem restrições. Isto ocorre, por exemplo, quando vamos transmitir um código executável. Para estas situações, o protocolo apresenta um modo de operação denominado modo transparente. Dentro do modo transparente o receptor não decodifica os bits recebidos como sendo caracteres do código utilizado, permitindo desta forma que a estação transmissora possa enviar qualquer seqüência de bits.
	O início da transmissão de um bloco no modo transparente é caracterizado pela seqüência DLE STX. A transmissão em modo transparente termina quando a estação transmissora envia uma seqüência DLE STX (ou outra similar, como DLE ETB). Perceba que, neste caso, a seqüência DLE ETX não pode ocorrer dentro da seqüência de dados, pois confundiria o receptor. Para evitar isto, toda vez que uma seqüência idêntica a DLE ocorrer dentro da mensagem, o transmissor insere um DLE adicional, transmitindo então a seqüência DLE. O receptor, por sua vez, após receber duas seqüências DLEs seguidas, sabe que uma delas foi inserida pelo transmissor e que, portanto, deve ser retirada.
	A figura a seguir ilustra a estrutura de um quadro em que transmitimos um bloco no modo transparente.
�
Figura 11 - Bloco em Modo Transparente.
3.7. TRANSMISSÃO CONVERSACIONAL
	A implementação da transmissão conversacional é uma característica opcional do protocolo BSC, e resulta no aumento da eficiência da utilização da linha nos sistemas em que temos uma transmissão com características conversacionais, ou seja, a estação A envia uma mensagem para B, que processa e envia uma outra mensagem para A.
	Este modo de transmissão se caracteriza pelo fato de não haver necessidade da estação B enviar uma mensagem de reconhecimento positivo para a estação A. A próxima mensagem enviada de volta pela estação B caracteriza inequívocamente o reconhecimento positivo do bloco recebido por esta. Uma limitação é que a mensagem transmitida por A deve ter terminado com ETX (e não ETB). Ainda, a estação A, que recebeu a mensagem de B caracterizando também o reconhecimento positivo, não pode transmitir uma nova mensagem para B substituíndo o reconhecimento.[2]
�
	A idéia deste modo de operação está ilustrada na figura a seguir.
�
Figura 12 - Operação em Modo Conversacional
3.8. ABORTO DA TRANSMISSÃO
	Uma outra característica opcional de implementação é o aborto da transmissão, que permite à estação transmissora terminar a transmissão antes que a mensagem completa tenha sido enviada. Neste caso, a mensagem que está sendo enviada (e que terminaria normalmente com ETX e BCC) é encerrada no instante do aborto com ENQ. A estação receptora, neste caso, manda de volta um NAK, indicando que está desprezando a parte da mensagem já recebida. A estação transmissora envia então um EOT colocando a linha novamente no seu estado inicial.
3.9. SEQÜÊNCIAS EM QUE OCORRE TIME-OUT
	Nesta primeira seqüência a estação B recebeu o bloco corretamente e enviou o reconhecimento, que não foi percebido pela estação A. Após um tempo denominado time-out, a estação A envia uma requisição de resposta (ENQ), fazendo com que a estação B retransmita o último reconhecimento enviado, após o que a situação se normaliza.
�
Figura 13 - Perda do Reconhecimento.
�
	Na próxima seqüência mostrada a estação A enviou o bloco 2, que não foi interpretado pela estação B (a estação B não conseguiu interpretar o ETX por exemplo). Logo, a estação B não envia o reconhecimento aguardado pela estação A. Novamente a estação A, após TIME-OUT, envia uma requisição de resposta, fazendo com que B retransmita o último reconhecimento enviado. Neste caso, a estação A receberá dois ACKs 1 seguidamente, caracterizando uma falha no bloco 2.
�
Figura 14 - Perda de Bloco.
�
3.10. SEQÜÊNCIAS QUE CARACTERIZAM FALHA NA ESTAÇÃO
	Abaixo ilustramos duas seqüências que caracterizam uma falha da estação B.
�
Figura 15 - Estação não Aceita dados.
�
Figura 16 - Estação B Não Responde.
3.11. SEQÜÊNCIA DE POLLING
	Em uma linha multiponto a estação de controle envia uma mensagem de polling para uma estação secundária em particular, autorizando a mesma a transmitir. A mensagem de polling tem o formato mostrado na figura abaixo.
�
Figura 17 - Seqüência de Transmissão de um Polling.
	Nesta seqüência os caracteres CC representam o endereço da estação para a qual o polling está sendo enviado. Se a estação CC tem algo a transmitir ela envia a sua mensagem, conforme descrito anteriormente. Se não, ela envia uma mensagem de EOT.
3.12. SEQÜÊNCIA DE SELEÇÃO
	Em uma linha multiponto, quando a estação primária deseja transmitir uma mensagem para uma estação secundária, ela deve inicialmente enviar uma mensagem de seleção para esta estação, indagando se a mesma está apta a receber a mensagem (esta mensagem é idêntica à mensagem de ENQ na situação ponto-a-ponto analisada anteriormente, acrescentando-se o EOT inicial e os caracteres de endereçamento).
	O formato da mensagem de seleção é idêntico à mensagem de polling mostrada acima, diferenciando-se desta apenas pelo endereço da estação. Assim, cada estação tem um endereço de polling e um endereço de seleção. Neste texto, para diferenciar as duas mensagens, usaremos endereço em letramaiúscula para polling e letra minúscula para seleção. A figura a seguir ilustra esta mensagem.
�
Figura 18 - Seqüência de Seleção.
�
	Para finalizar este capítulo ilustramos, a figura abaixo, uma seqüência de transmissão em uma Rede Multiponto com 3 estações secundárias.
�
Figura 19
�
4. BIBLIOGRAFIA
1) MARTIN, James - Data Communication Technology - Prentice Hall, Englewood Cliffs, New 	Jersey, 1988.
2) NUSSBAUMER, Henri - Computer Communication Systems, Vol.1: Data Circuits, Error 	Detection, Data Links - John Wiley & Sons, New York, 1990.
3) BLACK, Uyless D. - Data Networks, Concepts, Theory, and Pratice - Prentice-Hall, Englewood 	cliffs, New Jersey, 1989.
4) BRITO, José Marcos Câmara - Apostila do Curso de Teleprocessamento - CEDETEC/INATEL.
5) SILVEIRA, Jorge Luis da - Comunicação de Dados e Sistemas de Teleprocessamento - 	Makron Books & Embratel, Rio de Janeiro, 1991.
CEDETEC												� PÁGINA �1�

Outros materiais