Redes de Computadores Transmissão de dados Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Abril de 2006 Códigos de caracteres A informação é manuseada em blocos de 8 bits (bytes ou octetos) ou múltiplos (palavras) A unidade de comunicação (estrutura) mais elementar presente ainda hoje em muitos sistemas de comunicação é o caracter Nesses casos são usados códigos (e.g. ASCII) que para além da representação de dados alfa-numéricos (equivalência bits caracteres) incluem caracteres que suportam funções associadas ao processo de comunicação e organização dos dados Em códigos de caracteres baseados em 7 bits o 8º é usado como bit de paridade Transmissão de dados Redes de Computadores 2 1
Transmissão em paralelo Bits compondo uma palavra de dados são conduzidos simultaneamente ao longo de um conjunto de canais sendo um canal para cada bit Exemplos: Comunicação entre CPU e memória Computador e impressora 8 bits (dados) F O N T E TERRA (sinal de referência) D E S T I N O Transmissão de dados Redes de Computadores 3 Transmissão em série/paralelo Os n bits são serializados um a um para o canal de transmissão Transmissão de dados Redes de Computadores 4 2
Transmissão em paralelo vs. série Vantagens Velocidade de transmissão é n vezes superior Exemplo: transmissão de um byte (paralelo) demora tanto como a de um bit (série) Desvantagens Indicada apenas para pequenas distâncias Custo dos canais de transmissão são elevados Problemas de skew (desfasamento/desvio na recepção com emissão em simultâneo), derivados de diferenças físicas entre os condutores agravam-se com a distância Transmissão de dados Redes de Computadores 5 Emissor Receptor Conversão paralelo série USART (Universal Synchronous/ Asynchcronous Receiver Transmitter) Desempenha adicionalmente funções de sincronização e detecção e correcção de erros Transmissão de dados Redes de Computadores 6 3
Sincronizações necessárias Para que o receptor consiga interpretar correctamente a sequência de bits que recebe, necessita de determinar inequivocamente: O início de cada célula temporal correspondente a um bit por forma a poder fazer a amostragem do sinal mais ou menos a metade desse intervalo de tempo sincronização ao bit ou sincronização de relógio O início de cada caracter/byte sincronização ao caracter O início de cada bloco/quadro de caracteres sincronização ao quadro Transmissão de dados Redes de Computadores 7 Transmissão em série Um problema fundamental da comunicação série é a manutenção de sincronismo entre o transmissor e o receptor: e se houver uma sequência de 0 s ou de 1 s muito longa? Essencialmente usam-se duas soluções: comunicação síncrona: transmitir o sinal de relógio: ou numa linha separada ou juntamente com os bits a transmitir comunicação assíncrona: transmitir outros elementos de sincronização Transmissão de dados Redes de Computadores 8 4
Transmissão em série assíncrona A designação Transmissão Assíncrona traduz factos relacionados a ocorrência irregular (assíncrona) dos caracteres enviados de forma independente Método adequado quando os dados a transmitir são gerados de uma forma intermitente a inexistência de uma referência temporal comum ao emissor e receptor, isto é, o relógio do receptor é independente do do emissor (embora deva ter a mesma frequência nominal) A necessidade que cada caracter seja tratado independentemente em termos de sincronização pelo que o receptor resincroniza-se no início da recepção de cada caracter Transmissão de dados Redes de Computadores 9 Transmissão em série assíncrona (2) O sincronismo de bit realiza-se com base na sincronização de caracter Caracteres são enviados um a um com intervalos variáveis entre si Na ausência de transmissão (idle) o nível de sinal mantém-se constante (1 lógico) Cada caracter é precedido de um bit (Start bit) com o valor lógico 0 A transição 1 0 produzida pelo Start bit indica o início do caracter (sincronismo de caracter) e fornece a referência de fase para o relógio do receptor Os bits subsequentes são recuperados por amostragem a partir do Start bit O caracter é seguido de Stop bits (valor lógico 1) para permitir distinguir o próximo Start bit, mesmo que não haja intervalo idle entre caracteres Transmissão de dados Redes de Computadores 10 5
Transmissão em série assíncrona (3) No receptor a palavra recebida no registo SIPO poderá ser sujeita a um mecanismo de detecção/correcção de erros antes de ser armazenada em memória Este método de transmissão não requer elevada precisão na frequência de relógio do receptor Basta garantir o sincronismo de bit durante um caracter, pois o processo de sincronização recomeça com o início do caracter seguinte Para garantir o sincronismo de bit durante um caracter é necessário que o relógio do receptor esteja sincronizado em fase com o Start bit, o que não é fácil de garantir dado o facto de o relógio ser gerado independentemente dos dados O problema da sincronização de fase pode ser minimizado usando um relógio com uma frequência múltipla da frequência nominal (e.g. 8 ou 16 vezes) Transmissão de dados Redes de Computadores 11 Sincronização ao bit Transmissão de dados Redes de Computadores 12 6
Sincronização ao bit (2) Os relógios do emissor e receptor (TxC e RxC) não se encontram sincronizados A recepção só será bem sucedida se a amostragem do sinal RxD for feita aproximadamente a meio do bit do sinal RxD O receptor deve usar um relógio com frequência N vezes superior (tipicamente N=16) à do relógio do emissor O start bit é amostrado decorridos não mais que N/2 ciclos do relógio de recepção, após a transição 1 0 Os restantes bits são amostrados de N em N ciclos do relógio de recepção, após amostragem do start bit Quanto maior a frequência de RxC relativamente a TxC maior a exactidão da amostragem na recepção Transmissão de dados Redes de Computadores 13 Sincronização ao caracter O dispositivo de recepção deve estar configurado para trabalhar com o mesmo número de bits por caracter e stop bits que o dispositivo de emissão Depois de detectado o start bit, a sincronização ao caracter é conseguida contando o número de bits amostrados previstos por caracter e confirmando a presença dos stop bits previstos Transmissão de dados Redes de Computadores 14 7
Sincronização ao quadro Necessária quando a mensagem tem vários caracteres Consegue-se encapsulando a sequência de caracteres entre dois caracteres especiais, não imprimíveis: start-of-text (STX) e end-of-text (ETX) E se existe possibilidade de transmissão dos caracteres delimitadores no interior do próprio quadro? (Ex.: transmissão binária de um ficheiro) Solução: Byte stuffing antecedem-se os delimitadores de início (STX) e fim (ETX) por outro caracter especial (Data Link Escape - DLE) e duplicam-se todos os caracteres DLE interiores Transmissão de dados Redes de Computadores 15 Sincronização ao quadro (2) Transmissão de dados Redes de Computadores 16 8
Caracterização Simples e económico Ineficiente Start e Stop bits introduzem um overhead de 2 a 3 bits por caracter A precisão do método não é adequada para transmissão de blocos de dados (tramas) com número elevado de bits (devido à sobrecarga representada pelos Start bits e Stop bits ) O método é apenas aceitável para transmissão a baixa velocidade e a pequena distância (devido à reduzida imunidade ao ruído e à elevada susceptibilidade a erros de amostragem deslizes nos instantes de amostragem) Transmissão de dados Redes de Computadores 17 Transmissão em série síncrona Método mais adequado à transmissão de grandes quantidades de dados a débitos mais elevados e grandes distâncias mais eficiente Blocos/quadros completos de caracteres transmitidos como uma sequência ininterrupta de bits, sem pausa entre os caracteres Entre dois quadros sucessivos é transmitido o caracter SYN (synchronous iddle) que permite (re)adquirir a sincronização ao bit e caracter entre emissor e receptor Transmissão de dados Redes de Computadores 18 9
Sincronismo entre emissor e receptor Durante todo o tempo de recepção do quadro: Sequência de bits codificada com sinal de relógio de forma a permitir sincronismo entre emissor e receptor sincronismo ao bit Todos os quadros precedidos de um ou mais caracteres reservados de forma a determinar a fronteira dos caracteres (sequência de bits) sincronização ao caracter Cada quadro encapsulado num par de caracteres delimitadores especiais - sincronização ao quadro Transmissão de dados Redes de Computadores 19 Sincronização ao bit Codificando a informação de sincronização no próprio sinal transmitido, ou Utilizando um relógio na recepção (como na transmissão assíncrona) mas desta feita assegurando a sua sincronização com o relógio de emissão através de uma DPLL, ou Esquemas que combinem as duas abordagens anteriores Transmissão de dados Redes de Computadores 20 10
Sincronização ao bit Transmissão de dados Redes de Computadores 21 Codificação de informação de sincronização (1) Codificação bipolar Bit 1 pulso positivo Bit 0 pulso negativo RZ (return-to-zero) Cada vez que o sinal deixa o nível zero gera-se um impulso no relógio local e efectua-se uma amostragem Transmissão de dados Redes de Computadores 22 11
Codificação de informação de sincronização (2) Codificação de Manchester Apenas dois níveis (NRZ) Bit 1 transição ascendente Bit 0 transição descendente Transição a meio da célula de bit aproveitada para gerar um impulso de relógio e efectuar a amostragem Transmissão de dados Redes de Computadores 23 Codificação de informação de sincronização (3) Codificação de Manchester Diferencial Transição no início da célula de bit apenas se o próximo bit for 0 Mantém-se a transição a meio da célula de bit, mas o impulso correspondente do relógio de recepção só é gerado no início da próxima célula, permitindo determinar o valor do bit com base na observação ou não de uma transição no sinal recebido Transmissão de dados Redes de Computadores 24 12
Transmissão Síncrona Orientada ao Caracter Usada, essencialmente, para transmissão de blocos de caracteres (ex: ficheiros binários ou de texto) Antes da transmissão de cada bloco são transmitidos dois ou mais caracteres do tipo synchronous idle (SYN). Permitem que o receptor: obtenha e mantenha sincronização ao bit Interprete a sequência dos bits nos limites correctos do caracter, isto é, fornecem sincronização orientada ao caracter A sincronização ao quadro é conseguida através de um par de delimitadores STX-ETX (da mesma forma que na transmissão assíncrona) Transmissão de dados Redes de Computadores 25 Transmissão Síncrona Orientada ao Caracter (2) Transmissão de dados Redes de Computadores 26 13
Transmissão Síncrona Orientada ao Caracter (3) Uma vez obtida sincronização ao bit, o receptor entra no modo de busca (hunt mode): A sequência de bits é interpretada em janelas de 8 bits Se uma janela coincide com o caracter SYN, está obtida a sincronização Caso contrário deslocam-se os limites da janela de um bit e a nova sequência de 8 bits é reinterpretada Obtida sincronização ao caracter, o receptor procura o delimitador STX, ao qual se seguirá o quadro e por fim o caracter ETX O sincronismo conseguido pode ser mantido se após emissão do quadro se transmitirem caracteres do tipo SYN A transmissão de blocos de caracteres binários socorrese de técnicas de byte/character stuffing (à semelhança do que acontece na transmissão assíncrona) Transmissão de dados Redes de Computadores 27 Transmissão Síncrona Orientada ao Bit Necessidade dos delimitadores STX e ETX e dos caracteres DLE para byte stuffing tornam a transmissão síncrona orientada ao caracter relativamente ineficiente para a transmissão de dados binários Transmissão Síncrona orientada ao bit resolve essa limitação através de 3 variantes: Variante baseada em flag bytes Variante usada em redes locais de difusão (broadcast) Outra variante usada em redes locais Transmissão de dados Redes de Computadores 28 14
Variante baseada em flag bytes Transmissão de dados Redes de Computadores 29 Variante baseada em flag bytes (2) Antes da transmissão da flag o emissor transmite um sequência de idle bytes (01111111) a fim de permitir ao receptor adquirir sincronismo ao bit O início e o fim de cada quadro são assinalados pela mesma sequência de 8 bits (01111110), designada por flag byte (flag pattern) Após identificar a flag, o receptor continua com a leitura do resto da sequência até identificar nova flag que assinala fim de quadro Consequentemente o interior do quadro pode ter um número arbitrário de bits (não necessariamente um múltiplo de 8) E se for transmitida dentro do quadro uma sequência igual à da flag? A técnica de bit stuffing garante que a sequência da flag nunca se irá encontrar no interior do quadro Na transmissão do quadro, a detecção de cinco 1s à saída do registo PISO implica a inserção automática de um bit 0 na sequência Na recepção, sempre que é detectado um bit 0 após cinco 1s, esse bit é removido antes da sequência resultante ser guardada no registo SIPO Transmissão de dados Redes de Computadores 30 15
Variante usada em redes locais de difusão Para que todos os receptores se possam sincronizar com o emissor, este transmite um preâmbulo consistindo em 10 pares de bits 10 Obtido o sincronismo ao bit, cada receptor procura, bit a bit, a sequência delimitadora do início do quadro (10101011) Segue-se um cabeçalho de dimensões fixas (com o endereço de destino) e dois bytes com a dimensão do interior do quadro Uma vez que a dimensão da cauda é fixa, e sabendo a dimensão do interior, o receptor determina, por contagem, o último byte do quadro sem necessitar de um delimitador específico no fim Transmissão de dados Redes de Computadores 31 Variante usada em redes locais de difusão (2) Transmissão de dados Redes de Computadores 32 16
Outra variante usada em redes locais O início e o fim do quadro são assinalados por sequências proibidas Por exemplo: usando codificação de Manchester, o sinal mantém o mesmo nível que no bit anterior (J) ou o nível oposto (K), sem que haja transição a meio da célula de bit Desta feita, o delimitador de início de quadro é a sequência proibida JK0JK000 e o de fim é a sequência JK1JK111 Uma vez que J e K se baseiam em codificação não standard então o interior do quadro nunca poderá conter essas sequências, podendo efectuar-se, sem problemas a transmissão em modo binário Transmissão de dados Redes de Computadores 33 Outra variante usada em redes locais (2) Transmissão de dados Redes de Computadores 34 17
Bibliografia Halsall, Fred, Data Communications, Computer Networks and Open Systems, Addison-Wesley, 4th edition Capítulo 3 (3.1, 3.2 e 3.3) Transmissão de dados Redes de Computadores 35 18