Baixe o app para aproveitar ainda mais
Prévia do material em texto
República de Angola Ministério das Telecomunicações e Tecnologias de Informação Ministério da Educação Instituto de Telecomunicações Trabalho de Sistemas Digitas Transmissão de dados e controle de erros Curso: Electrónica e Telecomunicações Nome: Keny Lourenço Roque do Nascimento Numero: 32 Turma: D Classe: 12ª Docente _____________ 1 Conteúdo INTRODUÇÃO ........................................................................................................ 2 TAXA DE OCORRÊNCIA DE ERROS ................................................................ 3 CONDICIONAMENTO DA LINHA ..................................................................... 4 EQUALIZAÇÃO....................................................................................................... 4 EFICIÊNCIA E REDUNDÂNCIA ......................................................................... 4 DETECÇÃO DE ERRO........................................................................................... 5 CORREÇÃO DE ERROS ........................................................................................ 5 CÓDIGOS DETECTORES DE ERROS ............................................................... 6 TÉCNICA DE ECO .................................................................................................. 6 DETECÇÃO DE ERRO POR PARIDADE ......................................................... 6 DETECÇÃO DE ERRO POR BLOCO DE PARIDADE ................................... 6 Transferência confiável de dados ................................................................ 8 Sequencia de transmissão com erro ........................................................... 8 Sequencia em que ocorre timeout ............................................................... 8 Conclusão ............................................................................................................. 10 BIBLIOGRAFIA .................................................................................................... 11 2 INTRODUÇÃO Neste presente trabalho falarei sobre a Transmissão de dados e controle de erros onde será analisado a ocorrência de erros e condicionamento etc. Transmissão de dados é a transferência dos dados físicos (num fluxo de bits digital ou um sinal analógico digitalizado) ao longo de um canal de comunicação ponto-a-ponto ou multiponto. Exemplos desses canais são fios de cobre, fibras ópticas, canais de comunicação sem fios, dispositivos de armazenamento e barramentos. Os dados são representados como um sinal electromagnético, tal como tensão eléctrica, onda de rádio, microondas, sinais infravermelhos. Infelizmente, os ruídos e as imperfeições presentes nos canais de comunicação fazem com que tenhamos a ocorrência de erros nas transmissões de dados. https://pt.wikipedia.org/wiki/Fluxo_de_bits https://pt.wikipedia.org/wiki/Digital https://pt.wikipedia.org/wiki/Sinal_anal%C3%B3gico https://pt.wikipedia.org/wiki/Digitaliza%C3%A7%C3%A3o https://pt.wikipedia.org/wiki/Topologia_de_rede#Ponto_a_ponto https://pt.wikipedia.org/wiki/Cobre https://pt.wikipedia.org/wiki/Fibras_%C3%B3pticas https://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o_sem_fio https://pt.wikipedia.org/wiki/Comunica%C3%A7%C3%A3o_sem_fio https://pt.wikipedia.org/wiki/Dispositivo_de_armazenamento https://pt.wikipedia.org/wiki/Barramento https://pt.wikipedia.org/wiki/Sinal_eletromagn%C3%A9tico https://pt.wikipedia.org/wiki/Tens%C3%A3o_el%C3%A9trica https://pt.wikipedia.org/wiki/Onda_de_r%C3%A1dio https://pt.wikipedia.org/wiki/Microonda https://pt.wikipedia.org/wiki/Infravermelho 3 TAXA DE OCORRÊNCIA DE ERROS A taxa de ocorrência de erros em um sistema de transmissão de dados varia com a taxa de transmissão. Figura 1: Efeito de um burst A figura mostra o efeito de um burst de 2 milissegundos de duração em sistemas transmitindo a diferentes taxas. Se nós transmitimos os dados a uma taxa de 50 bits por segundo, cada bit terá uma duração de 20 milissegundos. O receptor decide se o bit é 0 ou 1 através da amostragem do dado, sendo que esta deve ser feita, preferencialmente, no centro de cada bit. O receptor efectivamente toma um instantâneo do bit para determinar seu valor. Se o burst ocorre no instante em que o receptor está amostrando o bit, pode ou não ocorrer um erro, dependendo das condições instantâneas apresentadas pelo ruído. Para uma transmissão a 50 bits por segundo, é bastante improvável que um burst de 2 milissegundos acarrete em erros, uma vez que há apenas uma chance em dez do burst ocorrer no instante em o bit está sendo amostrado. Se nós elevamos a taxa de transmissão para 1000 bits por segundo cada bit dura cerca de 1 milissegundo, e o burst de 2 milissegundos afecta dois bits de uma só vez. Neste caso, é bastante provável que um ou ambos bits sejam alterados. Se nós incrementamos a taxa de transmissão para 10000 bps, teremos 20 bits contidos no espaço de 2 milissegundos (duração do burst). Desta forma, certamente um ou mais destes bits serão modificados. A tabela nos dá um indicativo da taxa de erros que pode ser esperada quando efectuamos transmissão de dados sob uma rede telefónica, a diferentes taxas de transmissão. A faixa de valores mostrada para a taxa de 9600 bps é decorrente do fato de termos uma grande variedade de qualidade dos circuitos telefónicos em uso. Dependendo do circuito seleccionado para a sua chamada ser de alta qualidade ou de baixa qualidade, nós teremos uma menor ou maior taxa de erros. Para transmissões a baixas velocidades, o sistema é relativamente insensível a variações de qualidade no circuito. Figura 2: Tabela de taxa de erros 4 CONDICIONAMENTO DA LINHA Os vários ruídos presentes na linha telefónica são causados por chaveamentos nas centrais telefónicas e, também, por influências externas, tais como relâmpagos, falhas de alimentação, forças eléctricas e magnéticas associadas com outras linhas ou equipamentos. Ruídos impulsivos na linha telefónica geralmente ocorrem um bursts, com tendência a ocorrerem randomicamente. Erros podem ocorrer sistematicamente ou de alguma outra forma previsível, sempre causando um padrão de erro particular. Por causa da sua natureza previsível, erros sistemáticos são tratados mais facilmente que erros randómicos. Quando nós dedicamos uma linha e a temos permanentemente conectada entre terminal e computador, torna-se possível “by-passar” o equipamento de chaveamento da central telefónica e, desta forma, reduzir subst anciãmente a quantidade de ruído na linha. Ainda, como a linha estará dedicada a esta aplicação, podemos efectuar medidas de performance na mesma e adicionar componentes eléctricos para alterar suas características. Este processo, conhecido como condicionamento, melhora as características da linha e, consequentemente, reduz a taxa de erro. Desta forma, podemos utilizar taxas de transmissão maiores com taxas de erro aceitáveis. O processo de condicionamento somente pode ser aplicado a linhas dedicadas. Isto ocorre uma vez que o processo de selecção de linha na central telefónica é randómico e, desta forma, não podemos conhecer exactamente quais as características da linha a ser utilizada e, consequentemente, quais os componentes que devem ser adicionados de forma a melhorar as características da mesma. EQUALIZAÇÃO Modems modernos são capazes de monitorar a condição da linha e do sinal recebido e automaticamente neutralizarcertas variações do comportamento normal. Este processo é conhecido como equalização, sendo hoje, frequentemente, um processo automático. Os resultados obtidos pela equalização não são tão bons quanto àqueles obtidos pelo condicionamento da linha. Entretanto, transmissão a 4.800 bps sobre uma linha telefónica comutada tem sido conseguida. EFICIÊNCIA E REDUNDÂNCIA Pelas razões mostradas acima podemos afirmar que “erros são inevitáveis em qualquer sistema de comunicação real”. Assim, devemos dispor de meios que permitam diminuir os efeitos destes erros no sistema. Tais meios são os códigos detectores/corretores de erros. Através da utilização destes códigos conseguimos taxas de erros tão baixas quanto queiramos, bastando para isto que tenhamos um alto grau de redundância. Note entretanto que um alto grau de redundância significa uma baixa eficiência, pois teremos uma grande parcela de bits “extras” transmitidos. Assim, para a definição do código a ser utilizado, devemos adoptar uma solução de compromisso entre eficiência e taxa de erros, sendo que esta solução depende fortemente das características do sistema. Por exemplo, um sistema que transmite textos é menos vulnerável a erros que um sistema de transmissão de dados financeiros e, portanto, pode utilizar um código mais simples. 5 - EFICIÊNCIA = (Bits de informação transmitidos) / (Total de Bits transmitidos) * 100%. - REDUNDÂNCIA = 100% - Eficiência %. Olhando para essas definições podemos observar que, quanto maior for a redundância menor a eficiência, mas, por outro lado, maior a confiabilidade Assim, temos de adoptar um compromisso entre eficiência e confiabilidade, compromisso este que se norteará pelas características do sistema. DETECÇÃO DE ERRO A detecção de erro pode ser feita pelo próprio operador, quando utilizamos a técnica de eco ou de forma automática. A detecção e/ou correcção automática m inimiza a intervenção do operador e resulta em uma melhoria na performance do sistema, uma vez que se elimina o tempo de reacção relativamente longo que é natural às pessoas. A detecção automática é implementada através da utilização de códigos detectores de erro, que se baseiam, comummente, na Metodologia de check de erros. CORREÇÃO DE ERROS A correção de erros pode ser implementada através de códigos detectores e protocolos de retransmissão, como discutido acima, ou através de códigos corretores de erros. A correção através da retransmissão das mensagens é a forma mais segura de se efetuar a correção, mas nem sempre a mais eficiente. Os códigos corretores de erros são frequentem ente utilizados em sistemas unidirecionais, onde o fato de não termos formas de sinalizar a ocorrência do erro impede a existência de retransmissão, como por exemplo em alguns sistemas de telemetria e telecontrole. Estes códigos também são utilizados em sistemas que operam a uma velocidade muito alta, onde os tempos de reversão da direção de transmissão são muito elevados; neste sistema, teríamos uma elevada queda de eficiência caso efectuássemos a transmissão de mensagens de reconhecimento, permitindo a implementação de um protocolo de retransmissão. 6 CÓDIGOS DETECTORES DE ERROS TÉCNICA DE ECO Esta é uma das formas mais simples de detecção d e erro, normalmente utilizada em sistemas com terminais simples e operador humano. Nesta técnica o terminal transmite o carácter ao host, que o armazena e retransmite de volta ao terminal. Assim, o operador pode detectar a ocorrência de possíveis erros. Poderíamos ainda imaginar uma variação onde o terminal comparasse automaticamente os dados transmitidos com os dados recebidos de volta, e efectuasse a retransmissão automaticamente. Entretanto esta ideia não é muito viável, pois, apesar de apresentar uma baixa taxa de erros não detectados, possui uma eficiência muito baixa (50% dos dados transmitidos são redundantes). Uma aplicação pode ser feita em sistema full-duplex onde temos um dos canais com grande ociosidade. DETECÇÃO DE ERRO POR PARIDADE Alguns sistemas de transmissão de dados utilizam uma técnica bastante simples de detecção de erros, que é a chamada Vertical Redundancy Checking (VRC). Nesta técnica cada carácter transmitido é acompanhado de um bit de paridade. O bit de paridade é escolhido de forma que tenhamos um número par (paridade par) ou ímpar (paridade ímpar) de bits 1 no carácter. Como já era de se esperar devemos pagar um preço por esta simplicidade, e este preço é a baixíssima segurança apresentada por este código. Em transmissão de dados um pulso de ruído frequentemente apresenta duração maior que um bit. Assim, uma vez que a ocorrência de um número par de bits errados em um carácter faz com que o erro não possa ser detectado, este código apresenta uma segurança bastante r eduzida. DETECÇÃO DE ERRO POR BLOCO DE PARIDADE Em sistemas onde os dados são transmitidos em blocos, utilizando-se terminais com buffet, podemos estender a “potência” da detecção por paridade criando um carácter de check do bloco (block check character - BCC), que é transmitido ao fim do bloco de dados Figura 3: Representação de direcção de transmissão 7 O carácter BCC é gerado da seguinte forma: o bit l do carácter BCC é um bit de check de paridade entre todos os bits l de todos caracteres. O bit 2 é um bit de check de paridade entre todos os bits 2 de todos os caracteres, e assim por diante. Note ainda que cada carácter possui seu bit de paridade. Desta forma temos um checo de paridade horizontal e um checo de paridade longitudinal. Figura 4: Tabela de carácter BCC Assim, para verificar se houve erro na transmissão basta que o receptor calcule um BCC, baseado nos dados que recebeu e o compare com o BCC recebido. Se houver diferença entre estes caracteres temos um erro detectado. O fato dos caracteres serem iguais não significa, obrigatoriamente, que não tenha ocorrido nenhum erro uma vez que algumas combinações de erros não podem ser detectadas. Figura 5: Tabela utilizada para detectar erro por paridade 8 Transferência confiável de dados Dentre todos os problemas que existem para a implementação de redes de computadores, podemos dizer que a transferência confiável de dados é um dos principais. Essa tarefa ainda é mais complexa, pois a implementação do Protocolo de transferência confiável de dados é feita em um canal confiável, porém possui a camada de rede logo abaixo: um canal não confiável. Por exemplo: o TCP é um protocolo de transferência de dado confiável implementado sobre uma camada de rede fim-a-fim não confiável (IP). Sequencia de transmissão com erro Figura 6: Exemplo de erros em uma transmissão e possíveis soluções Sequencia em que ocorre timeout Fundamental para o mecanismo de timeout é a estimativa do tempo total de transmissão de ida e volta (RTT - round trip time) em uma determinada conexão. Como esta estimativa muda 9 com o tempo, devido a mudanças de rotas e padrões de tráfego, o TCP deve monitorar estas mudanças e modificar o tempo de timeout apropriadamente. Primeiramente, o TCP deve monitorar o RTT entre o envio de um segmento com um número de sequência determinado e o recebimento da sua confirmação. A especificação original do TCP atualizava a estimativa do RTT (chamada de R) usando o filtro passa-baixo. R <- aR + (1-a) M Onde a é o fator de atenuação com o valor recomendado de 0,9. Este valor do RTT é atualizado toda vez que uma nova medida é feita. Noventa porcento de cada nova estimativa são derivadas da anterior e 10% desta nova medida. Devido a este método com atenuação, que muda a medida que o RTT muda, a RFC793 recomenda que o valor do timeout de retransmissão (RTO) seja: RTO = RB onde B é o fator variacional do atrasocom o valor recomendado de 2. O que se faz necessário é monitorar a variância nas medidas do RTT, em adição ao mecanismo que faz as estimativas atenuadas. Calculando o RTO baseado, tanto na média, quanto na variância, provê uma resposta muito melhor às altas flutuações no RTT, do que calcular o RTO como somente uma constante vezes a média. Isto leva-nos a seguinte série de equações que são aplicadas a cada nova medida do RTT: Err = RTT - A A<-A + g Err D <- D + h ( | Err | - D ) RTO = A + 4D onde A é o RTT atenuado (uma estimativa da média) e D é o desvio padrão atenuado. Err é a diferença entre o último valor medido e a estimativa corrente. Tanto A como D são usado para calcular o próximo valor do timeout de retransmissão (RTO). O ganho g é igual a 1/8 (0,125). O ganho para o desvio é igual a h e tem valor 0,25. Quanto maior o ganho para o desvio, maior será o RTO em resposta às mudanças do RTT. As variáveis A e D são inicializadas com os valores 0 e 3 respectivamente. 10 Conclusão Os computadores não possuem a mesma adaptabilidade dos seres humanos, não sendo capazes de, sozinhos, recompor dados que tenham sido recebidos com erro. Para que esta recomposição seja possível, devemos utilizar técnicas especiais para detecção e correcção de erros. A única forma de viabilizarmos a descoberta de erros por parte do computador é introduzirmos algum tipo de redundância na mensagem, de forma que o mesmo possa, a partir da análise da mensagem e dos bits de redundância recebidos, detectar a possível ocorrência de erros e, caso a mesma ocorra, implementar algum método de correcção (quando isto for necessário). A opção por um código detector ou corretor de erros se dá em função das características do sistema (velocidade de transmissão, tipo de transmissão - duplex, half, simplex -, tempo de reversão do sentido de transmissão, etc). Já a escolha de um código específico (quer seja detector ou corretor) deve levar em consideração a complexidade de implementação do mesmo, a taxa de erros não detectados suportada pelo sistema e a eficiência do código. 11 BIBLIOGRAFIA 1) Horsley, Trevor. Data Communications and Teleprocessing Systems. Prentice -Hall Inc. New Jersey. 2) BREW STER, R.L. Communications Systems and Computer Networks. Ellis Horwood Limited. Chichester, 1989. 3) BARTEE, T homas C. Data Communications, Networks and Systems. Howard W . Sams & Co, Inc. Indianápolis, 1985. 4) TOMASI, W ayne. Advanced Electronic Communications Systems. Prentice-Hall, Inc. New Jersey, 1987. 5) MARTIM, James. Teleprocessing Network Org anization. Prentice-Hall, Inc. New Jersey, 1970. 6) Rede de Computadores e a Internet, 3ª Edição, James F. Kurose
Compartilhar