Protocolos de Comunicação para leigos
Dom 5 Nov 2006 20:02 |
- Detalhes
- Categoria: Oceano Web
- Atualização: Domingo, 14 Junho 2009 17:51
- Autor: vovó Vicki
- Acessos: 38523
Se você sabe o que é uma rede (se não, dê uma lida em O que é uma rede?) então também sabe que, para que ela funcione, é preciso interligar fisicamente seus componentes, configurá-los para que atuem como pretendido e que falem uma mesma "linguagem" padronizada.
Protocolos de Comunicação
Um protocolo de comunicação nada mais é do que um conjunto de convenções que rege o tratamento e, especialmente, a formatação dos dados num sistema de comunicação. Seria a "gramática" de uma "linguagem" de comunicação padronizada. Conhecemos vários protocolos de comunicação e fazemos uso deles diariamente, mas não pensamos neles como protocolos de comunicação. O mais antigo deles é a língua falada: duas pessoas que emitem sons audíveis aos ouvidos humanos podem se comunicar. Neste exemplo, o protocolo de comunicação é a emissão de sons numa dada faixa de frequência, o código utilizado é a língua falada e a mensagem é o conteúdo do que se fala.
E como fica o caso de deficientes auditivos que não puderam aprender a emissão de sons corretos? Podem se comunicar através da linguagem das mãos... um protocolo de sinais feitos com as mãos, onde o código é o alfabeto de sinais e a mensagem é o conteúdo do que se quer transmitir.
Os mais diversos meios podem ser utilizados para criar códigos de comunicação: luz, gestos, sons e símbolos são alguns deles. Em se tratando de máquinas, o meio mais utilizado até hoje é o elétrico. Porém, para fazer uso de qualquer código para transmitir uma mensagem, existe a necessidade de um protocolo. Memorize o trio vital de um sistema de comunicação:
- Protocolo de Comunicação: convenção na formatação dos dados
- Código de Comunicação: convenção dos símbolos usados
- Mensagem: conteúdo do que se transmite e recebe
Para entender melhor como evoluíram os protocolos e os códigos, vamos voltar no tempo e dar uma olhada no pai (ou avô, como quiserem) da moderna tecnologia da comunicação.
O Telégrafo
0 premiado pintor norte-americano Samuel Finley Breese, que viveu de 1791 a 1872, inventou um aparelho que servia para enviar e receber sinais elétricos através de fios. Usou um código de sinais que representavam as letras do alfabeto e os números. Este pintor se chamava Morse - já ouviu este nome alguma vez?
Pois bem, Mister Morse estabeleceu as técnicas essenciais para a transmissão de dados através de fios e, em 1844, inaugurou a primeira linha telegráfica enviando a famosa mensagem What hath God Wrought?. Em 1866, graças à tecnologia de cabos submarinos desenvolvida por Werner von Siemens, foi instalado o primeiro cabo transatlântico ligando os EUA à França - aí virou uma festa e todo mundo começou a usar esta forma ultra-rápida de comunicação. Resultado: parte da terminologia comum da transmissão de dados moderna origina-se diretamente dessas primeiras experiências.
A forma inicial da telegrafia, a primeira forma de enviar mensagens elétricas, usava a atuação remota de relês elétricos (eletroímãs) para deixar marcas numa tira de papel. Originalmente Morse imaginou numerar todas as palavras e em transmitir seus números através do telégrafo. O receptor, usando um enorme "dicionário", decifraria a mensagem - uma doideira. Parece que quem salvou Morse desta sandice foi Alfred Vail, um dos seus assistentes e o verdadeiro autor do chamado "Código Morse" que define as letras do alfabeto pelo padrão "ponto e traço" ou "som curto e som longo".
Este novo código reconhecia quatro estados: voltagem-ligada longa (traço), voltagem-ligada curta (ponto), voltagem-desligada longa (espaço entre caracteres e palavras) e voltagem-desligada curta (espaço entre pontos e traços). Se tiver curiosidade, dê uma lida num outro artigo sobre o O código Morse.
Podemos traduzir os termos acima utilizados (voltagem isto e voltagem aquilo) para os dias de hoje como condições binárias de "1" (ponto) e "0" (traço). Além disto, o alfabeto Morse é um código baseado em 5 posições, ou seja, não são precisas mais do que 5 posições para que todas as letras e números sejam padronizados. Por este motivo, o Código Morse é classificado como um protocolo de 5 bits.
Uma particularidade do alfabeto Morse é que a maioria das letras não usam os 5 bits. A letra "E", por exemplo, é expressa por um bit único. Acontece que seria mais seguro transmitir letras/números/símbolos que tivessem o mesmo comprimento porque é mais fácil controlar erros quando se recebe blocos de mesmo tamanho. Além do mais, isto possibilitaria transmissões automatizadas. Mas há um porém (quando é que não há?): o número de combinações possíveis para 2 símbolos e 5 posições é de apenas 32 (2 à quinta potência), o que não permite codificar todos os símbolos necessários (caracteres, algarismos, sinais gráficos, etc e tal).
Um dos primeiros a perceber esta limitação foi o francês Baudot. Ele resolveu este impasse criando o Código de Baudot, usado na telegrafia e nas máquinas de transmissão de dados que sucederam o telégrafo.
O Código de Baudot
Emile Baudot criou seu próprio telégrafo impressor em 1870. O código, por sua vez, foi desenvolvido por dois colaboradores: Johann Gauss e Wilhelm Weber, dois conceituados matemáticos da época. Foram criadas duas tabelas de 32 caracteres, uma de letras e outra, chamada de "figuras", contendo números e sinais de pontuação. Ambas possuíam dois elementos identificadores: a tabela de letras com dois identificadores (letras e figuras) e a tabela de figuras com dois identificadores (letras e figuras) - um verdadeiro pulo do gato. Como nós não somos matemáticos, cadê o pulo do gato? Vou tentar explicar... "sequestrando" dois elementos de cada tabela, duplica-se o número de combinações. Veja abaixo (considere bits 1 como pontos e bits 0 como traços):
BITS | LETRAS | FIGURAS | HEXA | DECIMAL |
|
||||
00011 | A | - | 03 | 03 |
11001 | B | ? | 19 | 25 |
01110 | C | : | 0E | 14 |
01001 | D | $ | 09 | 09 |
00001 | E | 3 | 01 | 01 |
01101 | F | ! | 0D | 13 |
11010 | G | & | 1A | 26 |
10100 | H | STOP | 14 | 20 |
00110 | I | 8 | 06 | 06 |
01011 | J | ' | 0B | 11 |
01111 | K | ( | 0F | 15 |
10010 | L | ) | 12 | 18 |
11100 | M | . | 1C | 28 |
01100 | N | , | 0C | 12 |
11000 | O | 9 | 18 | 24 |
10110 | P | 0 | 16 | 22 |
10111 | Q | 1 | 17 | 23 |
01010 | R | 4 | 0A | 10 |
00101 | S | BELL | 05 | 05 |
10000 | T | 5 | 10 | 16 |
00111 | U | 7 | 07 | 07 |
11110 | V | ; | 1E | 30 |
10011 | W | 2 | 13 | 19 |
11101 | X | / | 1D | 29 |
10101 | Y | 6 | 15 | 21 |
10001 | Z | " | 11 | 17 |
00000 | n/a | n/a | 00 | 00 |
01000 | CR | CR | 08 | 08 |
00010 | LF | LF | 02 | 02 |
00100 | Espaço | Espaço | 04 | 04 |
11111 | LETRAS | LETRAS | 1F | 31 |
11011 | FIGURAS | FIGURAS | 1B | 27 |
Usando a tabela acima para transmitir a frase "Viva o ano 2000" em Código Baudot, teremos (observe as cores!):
V | I | V | A | O | A | N | O | 2 | 0 | 0 | 0 | |||
31 30 |
06 | 30 | 03 | 04 | 24 | 04 | 03 | 12 | 24 | 04 | 27 19 |
22 | 22 | 22 |
A combinação 31 indica a tabela de letras, portanto, seguem-se as letras. Para transmitir "2000" indica-se o código 27 (para as figuras) seguido dos códigos dos números.
Sucessores do Telégrafo
O Código de Baudot foi muito utilizado na telegrafia com a vantagem de só precisar de dois estados: a presença (ponto) e a ausência (traço) de voltagem, diferentemente do Código de Morse que necessitava de 4 estados. Além disso, foi criado um teclado para o Código de Baudot, o que facilitou muito a transmissão das mensagens pelos operadores. Este teclado era como um piano de cinco teclas (hmmmm... 5 bits, 5 teclas): usando cinco dedos o operador combinava "facilmente" as teclas para obter o código desejado.
O grande mérito de Baudot foi ter criado um código que serviu de base para todos os códigos amplamente usados na comunicação internacional de imprensa e metereologia. Ainda hoje, devido à facilidade de se obter equipamentos baseados em Baudot, este código é muito difundido entre os radioamadores.
Os sucessores diretos do telégrafo (telex, teleimpressora e teletipo), a tecnologia eletromecânica e o código alfabético de 5 bits continuaram a ser utilizados sem alterações significativas. O ponto e o traço foram substituídos por orifícios numa tira de papel: buracos grandes para os pontos (binário 1) e buracos menores para o traço (binário 0). A sincronização entre as estações emissoras e receptoras foi obtida através de dois sinais adicionais, um no início do elemento e outro no final. Convencionou-se que o bit de "início" fosse um traço e que o bit de "fim" fosse um ponto. Desta forma, a base do código foi expandida para 7 bits.
De acordo com esta nova regra, a letra "A" passou a ser transmitida da seguinte forma:
"A" em 5 bits | "A" em 7 bits | |||||
|
|
A estrutura de 7 bits tornou possível a automação da transmissão de dados e o uso de tiras de papel perfuradas possibilitou o armazenamento e a facilidade de reenviar mensagens.
Foi assim que Baudot plantou a semente para se chegar aos códigos de computadores e ao atual código ASCII. O caminho percorrido está cheio de surpresas...
O Código de Murray e o ITA#2
Entre 1899 e 1901, o australiano Donald Murray desenvolveu um sistema automático de telegrafia utilizando o que ele encontrou de melhor no Código de Baudot. Transformou o teclado tipo "piano" de Baudot num teclado mais "moderno", tipo teclado de máquina de escrever, que gerava os códigos desejados. O operador não precisava mais se preocupar com pontos e traços.
A Western Union Telegraph Company adquiriu os direitos norte-americanos sobre o Código de Murray. Alterou alguns símbolos e utilizou o código até 1950. O Código de Murray, modificado pela Western Union, foi adotado pelo CCITT (International Telegraph and Telephone Consultative Committee) em 1930 como Código ITA#2. Todos os teletipos/teleimpressoras usaram o ITA#2 ou sua versão norte-americana.
FIELDATA
O FIELDATA foi usado entre 1957 e 1960 como parte do sistema de comunicações do exército americano. Não era apenas um código, era uma estrutura para "troca de informações" que incluía especificações elétricas e adaptadores para compatibilizar periféricos (teletipos, etc) e computadores FIELDATA, como o MOBIDIC da Sylvania, o BASICPAC e o LOGICPAC da Philco.
O FIELDATA incorporou pela primeira vez o conceito de "códigos de controle": o sétimo bit, denominado de "tag", determinava a tabela ativa: 1 para a tabela alfabética e 0 para a tabela chamada supervisora (supervisory).
ASCII-1963
O ASCII, American Standart Code for Information Interchange - Código Padrão Americano para Troca de Informações - foi estabelecido graças ao esforço conjugado do comitê X3.4 da ASA (American Standart Association) e da indústria americana de computadores e comunicação de dados. Participaram a IBM, a AT&T e sua subsidiária Teletype Corporation.
O ASCII-1963, antes conhecido como padrão ASA X3.4-1967 (depois USASA, e mais tarde ANSI), faz parte de uma série de padrões; outros especificam como armazenar ASCII em cartões perfurados, fitas magnéticas e como manipular erros.
ASCII-1967
O novo código ASCII, assim como o de 1963, é um código de 7 bits com 128 caracteres (muitas vezes afirma-se erroneamente que seja um código de 8 bits). Em termos de código, este é o estágio atual. Isto é muito tempo para um protocolo de 7 bits e um código amplamente aceito - mais de 30 anos!