Pontifícia Universidade Católica de São Paulo - PUC PACOTES, QUADROS E DETECÇÃO DE ERRO. Aula de Redes - Prof. Victor Fabiana Bernardes e Karen Niglio PACOTES * A maioria das redes de computadores, não transfere dados como uma string arbitrária e sim, divide-se em blocos pequenos denominados “pacotes”, que são enviados individualmente. * Utilizam a rede de pacotes para assegurar a correta transmissão dos dados. * A Transmissão de pacotes, é feita individualmente, ou seja, a rede permite que envie um pacote e logo que termine, impede que o mesmo envie novamente, deixando outro computador enviar e assim por diante, em outras palavras é um recurso compartilhado justo. PACOTES * O tamanho dos pacotes, típico de longa distância, são divididos em 1.000 bytes e o hardware pode transferir dados a 56.000 bits por segundo. Isto evita atrasos longos para outros computadores no aguardo da sua vez. PACOTES QUADROS * Quadro é um termo utilizado para distinguir pacotes no conceito geral e de tecnologia específica de hardware. * Enviando um bloco de dados para outro computador, usando um esquema de transmissão orientado a caractere como RS232(capítulo 4), têm de haver concordância entre o remetente e o receptor, ou seja, os computadores transmissor e receptor devem concordar em como especificarão o início e o fim de cada quadro, usando “soh”(star of headed) e “eot”(end of transmission). QUADROS QUADROS * Vantagem do Enquadramento: Quando há atrasos ou falhas nos computadores e o transmissor falhar ao enviar um quadro completo e o “eot”não chegar, o receptor imediatamente perceberá que o quadro está incompleto. E quando o remetente reinicializar e enviar um novo quadro, ele começará com um “soh”, permitindo o receptor descobrir o problema. *Desvantagem do Enquadramento: A Sobrecarga, quando remetente envia dois quadros sem atrasos entre eles, no fim do 1º quadro transmite “eot” e sem atraso, no começo de outro envia “soh”, é necessário só um caractere para delimitar um quadro do outro.Sem excessos de caractere. QUADROS BYTE STTUFING: *O byte stuffing permite que um aplicativo possa escolher enviar dados que contenham uma ou mais ocorrências de caractere como “soh”e “eot” que são usados no enquadramento. * Para distinguir dados enviados e informações delimitadoras de quadro, os sistemas da rede fazem com que o lado do remetente mude ligeiramente os dados antes do envio e preparam o lado do receptor para restaurar os dados originais antes de passar os mesmos para o aplicativo receptor, assim o sistema nunca confunde com informações de controle. QUADROS * Para implementar o byte stuffing, o remetente varre o bloco de dados inteiro e executa o mapeamento antes de enviar, em seguida, substitui cada ocorrência do “soh” pelo caractere “esc” e “x”, de “eot” por “esc” e “y” e cada ocorrência de “esc” por “x, y ou z”. QUADROS – BYTE STUFFING DETECÇÃO DE ERRO * Durante a transmissão é normal surgirem erros, na maioria das vezes, devidos aos ruídos existentes na linha de transmissão. * Seja qual for o mecanismo usado, a detecção , inclui no geral, um campo contendo informação calculada a partir dos dados. •Formas de detectar erros: Bits de paridade e verificação de paridade: A verificação de paridade é uns dos mecanismos mais simples, ele acrescenta 1 bit a cada caractere transmitido, de modo que o total de bits 1 seja par (“even parity”) ou ímpar (“ odd parity”). DETECÇÃO DE ERRO *A paridade par para comunicações assíncronas e e paridade ímpar para as síncronas. *A verificação de paridade funciona devido à ocorrência de erros, um número ímpar de bits é invertido, se esse número é par, então o erro não é detectado. *Checksums: O remetente trata os dados como uma seqüência de inteiros binários e computa sua soma. Vantagem: o tamanho e a facilidade de computação e só exigir adição. Desvantagem: Não detecta todos os erros comuns. DETECÇÃO DE ERRO DETECÇÃO DE ERRO * CRC ( Cyclic Redudancy Check), é um mecanismo muito eficiente, pois não utiliza bits de paridade, os quadros transportam uma seqüência conhecida de bits por FCS (Frame Check Sequence). Os FCS é calculado pelo remetente de tal modo que o quadro concatenado aos bits de dados, o resultado final seja divisível por um número pré-determinado. * Para calcular uma CRC, os valores em todos os registradores de deslocamentos são inicializados com zero bits e os bits de uma mensagem são deslocados para dentro de uma posição cada vez. Ou seja, um bit da mensagem é aplicado à entrada da unidade de ou exclusivo mais à direita, DETECÇÃO DE ERRO DETECÇÃO DE ERRO – cont. •No ponto identificado como entrada, e todos os 3 registradores de deslocamentos são instruídos para executar uma operação de deslocamento simultaneamente. •O hardware repete o procedimento para cada bit da mensagem. * Há duas categorias que fazem os CRC’s se tornarem muito úteis. Falhas de hardwares, exemplo: um dispositivo E/S orientado a caractere, geralmente se danificam em colunas verticais e em organizados em fila, os chamados “erros verticais”. DETECÇÃO DE ERRO * É também muito útil, quando se trata de erros que envolvam mudanças em um pequeno conjunto de bits próximos a uma localização única, os chamados “erros de ruptura”, acontece geralmente depois de uma interferência elétrica, como raios, por exemplo. * É normal a rede associar informações de detecção de erro com cada quadro. O quadro(fig. no slide seguinte) usa um byte stuffing para substituir ocorrências dos caracteres “soh” , “eot” e “esc” nos dados. * O byte stuffing da CRC pode aumentar a confiabilidade PERGUNTAS: 1 - Porque a maioria das redes utilizamo sistema de pacotes para envio de dados? 2 - Para que serve os caracteres soh e eoh na transmissao de um quadro? 3 - O que significa o termo Byte Stuffing? 4 - Como posso implementar o Byte Stuffing? 5 - Quais são os 3 mecanismos utilizados para detecçao de erro? 6 - Qual a tecnica utilizada para calcular o Checksum?Quais são suas vantagens e desvantagens? 7 - Como um sistema de rede pode descobrir mais erros sem aumentar a quantidade de informaçoes adicionais em cada pacote? . RESPOSTAS: 1 - A maioria das redes nao transfere dados como uma string arbitraria de bits contínuos. Em vez disso, o sistema de rede divide dados em blocos pequenos chamados de pacotes que ele envia individualmente.O uso de pacotes pequenos ajuda a assegurar justiça no acesso.Para evitar que um computador detenha uma rede por tempo arbitrario, as redes modernas obrigam o uso de pacotes. 2 - O caractere soh serve par amarcar o inicio de um quadro a ser enviado, e o eot para marcar o fim.Assim um receptor pode dizer quando o quadro inteiro chegou, ainda que existam atrasos entre caracteres. 3 - O termo Byte Stuffing significa "enxerto de dados" usado com hardware orientado a caractere. 4 - Para implementar o Byte Stuffing, um remetente deve varrer um bloco de dados inteiro e executar o mapeamento antes que quaisquer dados possam ser enviados.Assim com o mapeamento cuidadosamente escolhido é garantido que um remetente apos terminar o byte stuffing, o caractere soh e eot nao aparecem na seçao de dados de um quadro.Deste modo, um receptor pode estar certo que um soh sempre delimita o ínicio de quadro e um eot, o fim de um quadro 5 - Os tres mecanismos mais utilizados para detecçao de sao : Bits de Paridade, Checksums e Redundancia Ciclica. 6 - Para calcular um checksum, o remetente trata os dados como uma sequencia de inteiros binários e computa a soma.Os dados nao sao restritos a valores inteiros, podem conter caracteres, números em ponto flutuante ou uma imagem. 7 -A resposta reside em técnicas de Verificaçao de Redundancia Ciclica que podem descobrir mais erros que um checksum.Emboras essa técnicas possam ser analisadas matematicamente, a sua simplicidade e elegancia podem apenas ser apreciadas entendendo o hardware utilizado para implementá-las.