Fundamentos de Redes de Computadores Comutação, Codificação e Detecção de Erros Comutação • • • A comutação é o processo de interligar dois ou mais pontos entre si. No caso de telefones, as centrais comutam (interligam) dois terminais por meio de um sistema automático, seja ele eletromecânico ou eletrônico. É a Alocação dos recursos da rede para a transmissão de dados. O termo comutação surgiu com o desenvolvimento das Redes Públicas de Telefonia e significa alocação de recursos da rede (meios de transmissão, etc...) para a comunicação entre dois equipamentos conectados àquela rede. A comutação pode ser por circuitos, mensagens ou pacotes.Questões como roteamento e alocação de canais.Três tipos: Circuito. Mensagem. Pacote. 2 Comutação por circuito Pressupõe um caminho dedicado de comunicação entre o transmissor e o receptor. Três fases: – Estabelecimento do circuito Antes da comunicação, um circuito é criado. Alocação de rotas entre as estações. Permanece dedicado até o fim da fase 3. – Transferência de informação – Desconexão do circuito O circuito é desfeito, pela ação de uma das estações envolvidas. Sinais de desalocação devem ser enviados a todos os nós intermediários do circuito. • • Um exemplo claro é uma ligação telefônica, onde há a necessidade de um canal dedicado em ambos terminais. Outro exemplo é a internet discada. 3 Comutação por circuito Vantagem Sempre terá taxa de transmissão disponível quando as estações se comunicarem. Desvantagem Se a comunicação no circuito não for constante e contínua, há desperdício do meio físico. O caminho pode ser um caminho físico, canais de frequência ou canais de tempo. Exemplo: Sistemas telefônicos. 4 Comutação por mensagem Não é necessário um caminho dedicado. Mensagem recebe o endereço de destino e é transmitida de nó em nó. Em cada nó há roteamento com base no endereço. Ocorrência de filas de envio – caminho ocupado e outras mensagens aguardando o envio. Vantagem Maior aproveitamento dos canais. Desvantagens Filas de envio podem ser muito grandes. Tamanho das mensagens pode ser muito grande. Caso algum nó perca a mensagem, é preciso transmiti-la toda de novo. Ex:Email é um exemplo de um sistema de comutação por mensagem. 5 Comutação por pacotes Semelhante à comutação por mensagens. A mensagem é dividida em pacotes de tamanho limitado. Todos os pacotes recebem o endereço de destino. Cada pacote pode seguir por um enlace diferente. Vantagens Melhor aproveitamento do canal. Se há perda de pacotes, envia-se de novo o que se perdeu e não tudo. Um exemplo são as conexões Ethernet, que comutam por pacotes e não perdem conexão. 6 Comutação por pacotes Desvantagens O atraso de entrega dos pacotes é aleatório. É preciso mecanismos sofisticados de detecção de erros e perda de pacotes – o que é lento. Pacotes sempre serão aceitos, mesmo com o congestionamento dos enlaces. Comparação com a comutação por circuito Circuito: Apropriada para um fluxo constante e contínuo de informação, e dispensa empacotamento da mensagem, já que a informação tem destino garantido. Pacotes: Apropriada para tráfego em rajadas, com intervalos de silêncio seguidos por grande tráfego. Pode-se ter prioridades para melhorar a transmissão em certos casos. 7 Comutação Rápida Circuitos Técnicas que permitem que a alocação e liberação de conexões seja rápida, para liberar rapidamente o circuito. Usado em alguns sistemas de telefonia analógica. Pacotes Técnicas que permitem que o processamento dos nós intermediários seja menor e mais rápído. Usado em redes ATM. 8 Codificação em banda básica Banda básica Largura de banda grande o bastante para transmitir sem usar modulação. Sem modems e transmite em alta velocidade. Tipos de transmissão Assíncrona Relógios não sincronizados. Quadros (bits) de informação transmitidos e acrescidos de bits de início, fim e paridade (detecção de erros). Síncrona Relógios sincronizados, seja por canal separado ou por pedidos de sincronização. Dispensa bits de início, fim e paridade. 9 Codificação em banda básica Tipos de codificação NRZ Non Return to Zero A mais simples de todas. Relógios ajustados e sincronizados - difícil. Manchester Modulação em fase dos dados e do relógio. Guarda a transição do sinal: Bit 0 – transição positiva; bit 1 – transição negativa. Manchester Diferencial Segunda metade tem a polaridade inversa da primeira. 10 Melhores definições: • • • • • Codificação NRZ (que significa No Return to Zero, ou seja, não Regresso a Zero) é o primeiro sistema de codificação, pois é mais simples. Consiste muito simplesmente em transformar o 0 em - X e o 1 em +X, desta maneira tem-se uma codificação bipolar na qual o sinal nunca é nulo. Por conseguinte, o receptor pode determinar a presença ou não de um sinal. A codificação Manchester, igualmente chamada codificação bifásica ou PE (Phase Encode), introduz uma transição no meio de cada intervalo. Consiste com efeito em fazer um OU exclusivo (XOR) entre o sinal e o sinal de relógio, o que se traduz numa frente ascendente quando o bit está a zero, uma frente descendente no caso contrário. A codificação Manchester possui numerosas vantagens, entre as quais: a não passagem por zero, tornando possível a detecção de um sinal pelo receptor A codificação Manchester diferencial, também chamada código de Miller, é parecida com a codificação de Manchester, com a diferença de que uma transição aparece no meio do intervalo unicamente quando a bit é de 1, o que permite maiores débitos… 11 Controle de erro • • • • Em um sistema de comunicação pode se dizer que é normal a ocorrência de erros, pois funciona por troca de mensagens a todo instante de um local com outro. Os erros podem ser causados por interferências eletromagnéticas, envelhecimento de componentes, curto-circuito, que acabam afetando as mensagens, fazendo com que, por exemplo, um “0” seja enviado, e na transmissão acaba sendo transformado em “1”, ou seja, receptor recebe informação diferente daquela que foi enviada. A codificação binária é muito prática na eletrônica, nos quais a informação pode ser codificada graças à presença ou não de um sinal eléctrico. Contudo, o sinal eléctrico pode sofrer perturbações (distorção, presença de barulho), nomeadamente aquando do transporte dos dados num longo trajecto. Assim, o controlo da validade dos dados é necessário para certas aplicações (profissionais, bancárias, industriais, confidenciais, relativas à segurança,…). É por isso que existem mecanismos que permitem garantir um certo nível de integridade dos dados, quer dizer, de fornecer ao destinatário um seguro de que os dados recebidos são bem similares aos dados emitidos A maior parte dos sistemas de controle de erro ao nível lógico baseia-se numa adição de informação (fala-se de “redundância”) que permite verificar a validade dos dados. Chama-se soma de controle (em inglês checksum) a esta informação suplementar. • • • 12 Detecção de erros • • Em detecção de erros, já definido, pode ser utilizado por diversos métodos como: Método de repetição, método de paridade, Checksum, método de redundância cíclica e códigos de Hamming. Estes métodos, seguindo seus próprios conceitos, irão de alguma maneira, detectar o erro para passar a correção de erros. O que tem em comum entre todos estes métodos é a utilização de inserção de bits extras, funcionando de uma maneira fácil de compreender: emissor envia junto à informação original bits a mais, então o receptor calcula estes bits a mais enviados,os bits extras. 13 Detecção de erros Paridade Forma mais simples de redundância para detecção de erros. Acrescenta-se no final dos 7 bits do quadro um bit, de forma que a soma dos bits 1 seja sempre par. Exemplo: 10010011 – O último bit é 1 para termos 4 bits ligados – número par. 11101110 – O último bit é 0 para termos 6 bits ligados – número par. 10101110 – O último bit é 0, e temos 5 bits ligados – número ímpar – erro na transmissão. Limitado: Se um número par de bits for alterado, ele não detecta o erro. • • Checksum Consiste em transmitir todas as palavras junto com o resultado da soma dos bits delas. 14 Detecção de erros - CRC Esquema mais sofisticado do que a paridade. O controle de redundância cíclico consiste em proteger blocos de dados (frames em inglês). Para cada quadro com k bits, cria-se um polinômio de ordem k-1. Exemplo: 1001101 = X7+X4+X3+X No transmissor, o polinômio de cada quadro é dividido por um polinômio gerador, de ordem n. É transmitido, junto com cada quadro, o resto da divisão, que é o FCS. No receptor, é feita a mesma divisão, e o resto obtido é comparado com o resto que foi transmitido. Se forem iguais, o quadro foi transmitido corretamente. Se forem diferentes, houve erros na transmissão. 15 Código de Hamming • • • • O código de Hamming é um código de bloco linear, foi desenvolvido por Richard Hamming , é utilizado no processamento do sinal e nas telecomunicações. A sua utilização permite a transferência e armazenamento de dados de forma segura e eficiente. Estes podem detectar erros até dois bits e corrigir até um bit. Em contraste, o código de paridade não pode corrigir erros, e pode detectar apenas um número impar de erros. Devido à sua simplicidade os códigos Hamming, são amplamente utilizados na computação.. 16