Transmissão de Dados

Você também pode gostar

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 7

Sobre o Autor

Dr. Douglas E. Comer é um especialista em protocolos TCP/IP, redes de computador e Internet reco-
nhecido internacionalmente. Um dos pesquisadores que contribuiu para a formação da Internet (fi-
nal dos anos 1970 e início da década de 1980), foi membro do Internet Architecture Board, grupo
responsável por direcionar o desenvolvimento da Internet. Foi também presidente do comitê técni-
co CSNET e membro do comitê executivo CSNET.

Comer atua como consultor no design de redes de computador. Além de palestras em universida-
des, Comer ministra cursos locais para profissionais de rede ao redor do mundo. Seu sistema ope-
racional, Xinu, e implementações do sistema de protocolos TCP/IP (ambos documentados em seus
livros) foram utilizados em produtos comerciais.

É professor de ciência da computação na Purdue University, onde leciona e faz pesquisas em redes
de computadores, inter-redes e sistemas operacionais. Além de ser autor de uma série de livros téc-
nicos best-sellers que foram traduzidos em dezesseis idiomas, ele trabalha como o editor norte-
americano do jornal Software — Practice and Experience. Comer é um membro da ACM (Associa-
tion for Computing Machinery).

Informações adicionais podem ser encontradas em:

www.cs.purdue.edu/people/comer

C732 Comer, Douglas E.


Redes de computadores e internet / Douglas E. Comer ;
tradução Álvaro Strube de Lima. – 4. ed. – Porto Alegre : Bookman,
2007.
640 p. : il. ; 25 cm.

ISBN 978-85-60031-36-8

1. Computador – Redes. I. Título.

CDU 004.7

Catalogação na publicação: Júlia Angst Coelho – CRB 10/1712


Capítulo 5

Comunicação Local
Assíncrona (RS-232)

5.1 Introdução
Como são dispositivos digitais, os computadores usam dígitos binários (bits) para representar da-
dos. Assim, transmitir dados através de uma rede de um computador a outro significa enviar bits
através do meio de transmissão subjacente. Fisicamente, os sistemas de comunicação usam cor-
rente elétrica, ondas de rádio ou luz para transferir informações. Este capítulo explica como uma
dessas formas, a corrente elétrica, pode ser usada para transferir informações digitais em peque-
nas distâncias. Ele mostra como os bits podem ser codificados e discute o mecanismo usado pela
maioria dos computadores para enviar caracteres entre o teclado e o computador. O capítulo se-
guinte explica porque o mecanismo aqui descrito não pode ser usado para distâncias longas e des-
creve como a comunicação de longa distância é implementada.
Além de discutir a transmissão básica, este capítulo introduz as duas propriedades primárias de
uma rede que podem ser medidas quantitativamente: largura de banda e atraso. Discute a motiva-
ção para usar medidas quantitativas e explica o relacionamento entre a largura de banda e a capa-
cidade da rede. Os capítulos posteriores explicam como medidas similares podem ser aplicadas a
sistemas de rede completos.

5.2 A necessidade de comunicação assíncrona


No sentido mais amplo do termo, uma comunicação é dita assíncrona se um remetente e um recep-
tor não necessitam de coordenação antes que os dados possam ser transmitidos (isto é, o remeten-
te e o receptor não sincronizam antes de cada transmissão). Assim, ao usar comunicação assíncro-
na, um remetente pode esperar por um tempo arbitrariamente longo entre as transmissões e trans-
mitir sempre que existir dados para tanto. Em um sistema assíncrono, o receptor deve estar pron-
to para aceitar dados sempre que eles chegam. O assincronismo é especialmente útil para disposi-
tivos como teclados, em que os dados são gerados quando um ser humano toca em uma tecla, e
nenhum dado flui se o teclado está inativo.
De forma mais técnica, o hardware de comunicação é classificado como assíncrono se o sinal elé-
trico que o transmissor enviar não contiver informações que o receptor possa usar para determinar
onde os bits individuais começam e terminam. Em vez disso, o hardware receptor deve ser cons-
80 Redes de Computadores e Internet

truído para aceitar e interpretar o sinal que o hardware remetente gera. Este capítulo examinará o
assincronismo que permite que um remetente transmita a qualquer momento e que requer que o
receptor interprete o sinal; o capítulo seguinte descreverá o hardware síncrono de comunicação.

5.3 Usando corrente elétrica para enviar bits


Os sistemas eletrônicos de comunicação mais simples usam uma corrente elétrica pequena para co-
dificar dados. Para compreender como a eletricidade pode codificar bits, imagine um fio que conec-
te dois dispositivos eletrônicos. Poderia ser usada tensão negativa para representar um 1 e tensão
positiva para representar um 0. Por exemplo, para transmitir um bit 1, o dispositivo remetente co-
loca uma tensão positiva no fio por um curto período e então retorna o fio a zero volts. O disposi-
tivo receptor detecta a tensão positiva e grava que um zero chegou. Similarmente, para enviar um
bit 1, o dispositivo remetente coloca uma tensão negativa no fio por um curto período e retorna o
fio ao zero volts. A Figura 5.1 ilustra como a tensão em um fio poderia variar sobre o tempo en-
quanto um dispositivo remetente transmite uma seqüência de bits.
A linha desenhada na Figura 5.1 é chamada de diagrama de forma de onda. Tais diagramas forne-
cem uma representação visual de como um sinal elétrico varia no tempo. O diagrama, por exem-
plo, mostra que um período mais longo decorreu entre a transmissão do quarto e do quinto bit do
que entre outros.

voltagem
+

0 tempo

1 0 1 0 0 1

Figura 5.1 Ilustração de como as tensões positiva e negativa podem ser usadas para transmitir bits através
de um fio. Neste exemplo, o remetente aplica uma tensão negativa para enviar um bit 1 ou uma
tensão positiva para enviar um bit 0.

5.4 Padrões de comunicação


O exemplo na Figura 5.1 mostra uma maneira possível de usar tensão para transmissão digital.
Entretanto, diversas perguntas permanecem sem resposta. Por exemplo, por quanto tempo o reme-
tente deve manter uma tensão no fio para um único bit? Embora o remetente deva esperar o sufi-
ciente para que o hardware receptor detecte a tensão, esperar mais tempo do que o necessário des-
perdiça tempo. Qual é a taxa máxima em que o hardware pode mudar a tensão? Como um cliente
pode saber se o hardware transmissor comprado de um vendedor trabalhará corretamente com o
hardware receptor comprado de outro? Há uma forma de enviar mais dados na mesma quantida-
de de tempo?
Para assegurar-se de que os hardwares de comunicação construídos por vendedores diferentes in-
teroperem, as especificações para sistemas de comunicação são padronizadas. Organizações como
a União Internacional de Telecomunicações (International Telecommunications Union, ITU), a As-
Capítulo 5 – Comunicação Local Assíncrona (RS-232) 81

sociação das Indústrias Eletrônicas (Electronic Industries Association, EIA) e o Instituto dos Enge-
nheiros Elétricos e Eletrônicos (Institute for Electrical and Eletronic Engineers, IEEE) publicam es-
pecificações para equipamentos de comunicação em documentos conhecidos como padrões. As
normas respondem a perguntas sobre uma tecnologia particular de comunicação – um padrão es-
pecifica o sincronismo dos sinais e os detalhes elétricos da tensão e da corrente. Se dois vendedo-
res seguirem um dado padrão, seus equipamentos interoperarão. Por exemplo, o Apêndice 2 mos-
tra os bits atribuídos a cada caractere pelo padrão ASCII.
Um padrão em particular produzido pela EIA emergiu como a maneira mais freqüentemente acei-
ta para transferir caracteres através de fios de cobre entre um computador e um dispositivo como
um modem, um teclado ou um terminal. O padrão RS-232-C da EIA, comumente abreviado como
RS-2321, especifica os detalhes da conexão física (por exemplo, que a conexão deve ter menos de
50 pés de comprimento) assim como os detalhes elétricos (por exemplo, que as duas tensões usa-
das para transmitir dados variam de –15 volts a +15 volts). Já que o RS-232 é projetado para o uso
com dispositivos como modems e terminais, ele especifica a transmissão de caracteres. Embora
possa ser usado para enviar caracteres de oito bits, o RS-232 é configurado freqüentemente de mo-
do que cada caractere consista em sete bits de dados.
O RS-232 define comunicação assíncrona serial. A comunicação é chamada de serial 2 porque os
bits viajam no fio um após outro, como no exemplo anterior. O RS-232 permite que um remetente
transmita um caractere a qualquer momento e que atrase por um tempo arbitrário antes de enviar
outro. Além disso, a transmissão de um dado caractere é assíncrona porque o remetente e o recep-
tor não se coordenam antes da transmissão. Entretanto, uma vez que começa a enviar um carac-
tere, o hardware remetente transmite todos os bits um após outro, sem atraso entre eles. Mais im-
portante, o hardware RS-232 nunca deixa zero volts no fio – quando o transmissor não tem nada
para enviar, ele deixa o fio com uma tensão negativa que corresponda ao bit valor 1.
Já que o fio não retorna a zero volts entre cada bit, um receptor não pode usar a falta de tensão pa-
ra marcar o fim de um bit e o começo do seguinte. Em vez disso, o remetente e o receptor devem
concordar com o comprimento de tempo exato em que a tensão será mantida para cada bit. Quan-
do o primeiro bit de um caractere chega, o receptor inicia um temporizador e usa-o para saber
quando medir a tensão para cada um dos bits sucessivos. Como um receptor não pode distinguir
entre uma linha inativa e um bit inicial 1, o padrão RS-232 requer que um remetente transmita um
bit extra de valor 0 antes de transmitir os bits de um caractere. O bit extra é conhecido como bit de
começo (start bit).
Embora o período inativo entre o fim de um caractere e o bit inicial do caractere seguinte possa du-
rar um tempo arbitrariamente longo, o padrão RS-232 especifica que o remetente deve deixar a li-
nha ociosa por um tempo mínimo. O tempo escolhido como mínimo é o tempo necessário para en-
viar um bit. Assim, pode-se pensar em um bit fantasma 1 adicionado a cada caractere. Na termi-
nologia RS-232, o bit fantasma é denominado bit de parada (stop bit). O diagrama de forma de on-
da na Figura 5.2 ilustra como a tensão em um fio varia quando um caractere é enviado usando RS-
232. Embora o caractere mostrado no exemplo contenha somente sete bits, o RS-232 adiciona um
bit de começo e um bit de parada ao transmitir. Assim, a transmissão completa requer nove bits.
A figura mostra que o RS-232 usa 15 volts negativos para representar bits 1 e 15 volts positivos
para representar bits 0. Na terminologia RS-232, uma tensão negativa coloca o fio em estado
MARK e uma tensão positiva coloca o fio em estado SPACE. Os termos raramente são usados em
hardware moderno3.

1
Embora o padrão posterior RS-422 forneça ligeiramente maior funcionalidade, os equipamentos que usam o RS-232 per-
manecem tão prevalentes que a maioria dos profissionais ainda usa o nome mais antigo.
2
A alternativa é comunicação paralela, que usa fios múltiplos e permite que um bit viaje em cada fio em um dado momen-
to; os computadores típicos têm portas de E/S seriais e paralelas.
3
A terminologia usada no padrão RS-232 originou-se dos sistemas de telégrafo.
82 Redes de Computadores e Internet

voltagem
+15

0 tempo

-15
inativo início 1 0 1 1 0 1 0 final inativo

Figura 5.2 A voltagem em um cabo quando um caractere é transmitido usando RS-2324. Um bit de início
notifica o receptor de que um caractere está começando, e cada transmissão de bit dura exata-
mente o mesmo tempo.

Podemos resumir as características principais do RS-232:

O RS-232 é um padrão popular usado para comunicação assíncrona serial em pe-


quenas distâncias entre um computador e um modem ou terminal ASCII. O RS-232
precede cada caractere com um bit de começo, segue cada caractere com um perío-
do inativo de pelo menos um bit (bit de parada) e envia cada bit exatamente no mes-
mo comprimento de tempo.

5.5 Taxa de baud, enquadramento e erros


Recorde que o hardware remetente e receptor devem concordar no comprimento de tempo em que
a tensão será mantida para cada bit. Em vez de especificar o tempo por bit, que é uma pequena fra-
ção de segundo, os sistemas de comunicação especificam o número de bits que podem ser transfe-
ridos em um segundo. Por exemplo, algumas das primeiras conexões RS-232 operavam em 300
bits por segundo; atualmente, 19200 bits por segundo e 33600 bits por segundo são mais comuns.
Tecnicamente falando, um hardware de transmissão é avaliado em bauds, o número de mudanças
de sinal por segundo que ele gera. Para o simples esquema RS-232 apresentado, a taxa em bauds
é exatamente igual ao número de bits por segundo. Assim, 9600 bauds significa 9600 bits por se-
gundo. O próximo capítulo mostra um exemplo de um esquema em que o número de bits por se-
gundo sendo enviado é maior do que a taxa em bauds.
Para tornar o hardware RS-232 mais genérico, os fabricantes projetam geralmente cada elemento
de hardware para operar em uma variedade de taxas em bauds. A taxa em bauds pode ser configu-
rada manualmente (por exemplo, configurando fisicamente switches no hardware quando o mes-
mo é instalado em um computador) ou automaticamente (por exemplo, pelo driver de dispositivo
em um computador). Se o hardware remetente e o hardware receptor não forem configurados pa-
ra usar a mesma taxa em bauds, ocorrerão erros, porque o temporizador do receptor não esperará
um comprimento de tempo apropriado para cada bit. Para detectar erros, um receptor mede a ten-
são por múltiplos tempos para cada bit e compara as medidas. Se todas as tensões não concorda-
rem ou se o bit de parada não ocorrer exatamente quando esperado, o receptor relata um erro. Tais
erros são identificados porque o caractere é como uma fotografia de tamanho diferente, que não
cabe em um porta-retrato padrão.

4
Para um exemplo de uma codificação alternativa à utilizada pelo RS-232, veja a codificação Manchester (usada com a
Ethernet), descrita no capítulo 8.
Capítulo 5 – Comunicação Local Assíncrona (RS-232) 83

O hardware RS-232 pode usar erros de enquadramento. Em particular, os teclados ASCII incluem
freqüentemente uma tecla BREAK. A tecla BREAK não gera um caractere ASCII. Em vez disso,
quando um usuário a pressiona, o teclado coloca a conexão de saída em estado 0 por muito mais
tempo do que leva para enviar um único caractere (por exemplo, 2 segundos). Quando detecta que
a linha se moveu para o estado 0, o receptor assume que um caractere começou a chegar e come-
ça a extrair bits individuais. Entretanto, depois que todos os bits do caractere chegaram, o recep-
tor espera a linha retornar ao estado 1 (isto é, espera um bit de parada). Se não encontrar um bit
de parada como esperado, o receptor relata um erro de enquadramento, que pode ser usado pelo
sistema receptor. Por exemplo, algumas aplicações usam a tecla BREAK como uma maneira de
abortar uma aplicação – sempre que um usuário pressiona BREAK, o sistema relata um erro de en-
quadramento à aplicação que está usando o teclado. A aplicação interpreta o erro como uma requi-
sição para abortar.

5.6 Comunicação assíncrona full duplex


Embora tenhamos descrito corrente elétrica fluindo através de um único fio, todos os circuitos
elétricos requerem um mínimo de dois fios – a corrente flui para longe em um fio e volta em ou-
tro. O segundo fio é chamado freqüentemente de terra. Assim, quando o RS-232 é usado com par
trançado, um dos fios carrega o sinal e o outro é um terra que fornece um caminho de retorno.
Similarmente, quando um sinal é enviado ao longo de um cabo coaxial, o sinal viaja pelo centro
do condutor e o protetor fornece o trajeto de retorno.
Em muitas aplicações de RS-232, os dados devem fluir nas duas direções ao mesmo tempo. Por
exemplo, quando o RS-232 é usado para conectar um terminal ASCII a um computador, os carac-
teres viajam do teclado ao computador ao mesmo tempo em que viajam do computador à tela do
terminal. A transferência simultânea nas duas direções é conhecida como transmissão full duplex,
em contraste com a transferência em uma única direção, conhecida como transmissão half duplex
ou simplex, a qual permite o fluxo de dados nas duas direções, mas somente em uma direção de
cada vez. Para acomodar a transmissão full duplex, o RS-232 requer um fio para dados viajando
em uma direção, um fio para dados viajando na direção reversa e um único fio terra usado para
completar o caminho elétrico em ambas as direções. Além dos cabos de dados, o RS-232 padrão de-
fine um conjunto separado de cabos de controle e especifica como o hardware utiliza cada um dos
cabos quando enviando dados5. Por exemplo, enquanto permanece capaz de receber caracteres, um
receptor coloca uma tensão em um dos fios de controle, que o remetente interpreta como autoriza-
ção para enviar (clear to send, ou ainda CTS). Para reduzir custos, o hardware RS-232 pode ser con-
figurado de forma a operar sem os fios de controle (cada extremidade presume que a outra está
funcionando). As conexões full duplex que ignoram sinais de controle são chamadas freqüente-
mente de circuitos de três fios (three wire circuits), porque necessitam de três fios para carregar da-
dos (dois para os sinais que viajam em cada direção e um terra comum para o retorno). A Figura
5.3 ilustra um circuito de três fios
Como mostra a figura, o fio terra conecta diretamente da terra em um dispositivo à terra no outro. En-
tretanto, os outros dois fios se cruzam: o fio conectado ao transmissor em um dispositivo se conecta
ao receptor no outro. Para tornar os cabos mais simples, os projetistas decidiram que os computado-
res e os modems deveriam usar pinos opostos no conector padrão de 25 pinos – um computador
transmite no pino 2 e recebe no pino 3, enquanto que um modem transmite no pino 3 e recebe no pi-
no 2 (o fio terra usa o pino 7). Tecnicamente falando, os dois tipos de conectores são associados com
Equipamento de Comunicação de Dados (Data Communication Equipment, DCE) e o Equipamento Ter-
minal de Dados (Data Terminal Equipment, DTE). Portanto, um cabo que conecta um computador a

5
Conectores físicos usados com o RS-232 possuem 25, 15 ou 9 pinos, e são conhecidos pelos nomes de DB-25, DB-15 ou
DB-9.

Você também pode gostar