Вы находитесь на странице: 1из 16

Camada de Enlace Para que duas mquinas possam estabelecer uma comunicao, o caminho percorrido pelos dados feito,

, virtualmente, da camada de enlace do transmissor para a camada de enlace do receptor. A preocupao maior em relao a esta comunicao quanto aos algoritmos utilizados na mesma, j que existe a necessidade dela ser eficiente e confivel. Um fio deve estabelecer tal comunicao, podendo ser o cabo coaxial ou a prpria linha telefnica. No entanto, no to simples faz-la, pois os circuitos de comunicao trazem problemas, como a produo ocasional de erros ocorridos no nvel fsico. Os protocolos que devem ser utilizados nesta camada preocupam-se com o tratamentos destes erros, com a limitao da taxa de dados e com o retardo de propagao no envio e na recepo dos bits. Assim, pode-se obter uma comunicao mais confivel utilizando um canal no muito confivel. Para obter-se este resultado, a cadeia de bits enviada ao nvel fsico no momento da transmisso, particionada em quadros, proporcionando a deteco de erros. As definies dos quadros ser abordada mais tarde. Delimitao de Quadros Quando o fluxo de bits chega na camada de enlace, este divido em quadros. Estes so submetidos a uma soma de verificao denominado de checksum. Ao chegarem no destinatrio, este faz seu prprio checksum e compara-o com o do quadro enviado. Em caso de erro no teste, a camada de enlace dever agir de forma que haja a correo ou o descarte daquele quadro defeituoso. Uma das maneiras de obter-se um enquadramento colocandose intervalos entre os quadros. Mas as redes no fornecem garantia alguma quanto a temporizao, tornando os quadros mais diminutos ou mais alongados. Para solucionar tal problema que outras tcnicas foram criadas, como ser discutido a seguir. Contagem de Caracteres Este mtodo trata de especificar a quantidade de caracteres contidos no quadro utilizando um campo no cabealho do mesmo. Assim, ao receptor enviado o nmero de caracteres que devero fazer parte daquele quadro recebido. Tem-se, com isso, a soluo para a determinao do fim do quadro, ou seja, o receptor saber onde termina o quadro. No entanto, como a transmisso est passvel de erros, o incio de um quadro poder ser trocado, e isso impossibilita que o receptor reconhea o incio do prximo quadro, mesmo que o checksum esteja incorreto. Solicitar uma retransmisso tambm no solucionar o problema, pois quem est enviando desconhece quantos caracteres devero ser descartados para que essa retransmisso obtenha xito. Com todo esse problema, tal mtodo caiu em desuso. Caracteres Iniciais e Finais com Insero de Caracteres ( CHARACTER STUFFING )

O problema ressaltado no mtodo anterior retira o receptor de sincronia e para ressintoniz-lo, caso acontea, o receptor dever procurar por sequncias de caracteres indicadores de incio de texto ( STX ), final de texto ( ETX ) ou de ligao ( DLE ). Ento, tais caracteres ASC II devero ser inseridos antes da transmisso, ou seja, no transmissor, comeando por " DLE STX " e finalizando com " DLE ETX ". Porm, como todo mtodo tem seus problemas, com este no ser diferente. Caso o transmissor tenha a necessidade de enviar dados binrios, como programas-objeto, talvez possa ocorrer uma confuso, j que aqueles caracteres de sincronizao podero estar colocados no meio do quadro que ser transmitido. Para contornar este grave problema, a camada de enlace do transmissor dever colocar um outro caractere " DLE " para que a mensagem enviada no seja confundida com um caractere de controle. E o receptor dever fazer exatamente o contrrio, retirar a sequncia " DLE " , e s assim repassar a mensagem para camada de rede. Pode-se perceber dois processos aqui envolvidos : a insero e a remoo da sequncia duplicada " DLE ". Este processo chama-se insero de caracteres ( character stuffing ), na qual, sua principal desvantagem a utilizao de dois tipos de caracteres ( 8 bits e ASC II ). Flags Iniciais e Finais, com Insero de Bits ( BIT STUFFING ) Esta tcnica semelhante a do character stuffing. Ela consiste em fazer com que a camada de enlace do transmissor, ao perceber que em uma sequncia de bits contenha cinco bits 1, esta acrescente um sequncia,um bit 0. E na camada de enlace do receptor, deve ser feito o contrrio, a cada sequncia de cinco bits 1, o bit 0 posterior dever ser retirado. Ao bit inserido ou retirado d-se o nome de bit stuffing. Como cada quadro comea e termina por uma sequncia padro de bits do tipo 01111110 ( byte flag ), este ser transmitido como 011111010, e na memria do receptor ser armazenada a sequncia normal do byte padro.

Violao de Codificao da camada Fsica O ltimo mtodo s deve ser usado caso as redes onde ele ser aplicado, possuam algum tipo de redundncia na decodificao do meio fsico. Podemos citar dois exemplos : na codificao Manchester o bit 0 recebe uma codificao tida como " transio negativa ", enquanto que o Bit 1 recebe a "transio positiva", e algumas lans tratam um Bit de dados de duas formas, sendo um Bit 1 chamado de "par alto-baixo", e um bit chamado de "par baixo-alto". Como o modelo OSI tem uma grande preocupao com a segurana, uma combinao de contagem de caracteres com um dos outros mtodos pode ser utilizada por muitos protocolos, a fim de proporcionar uma maior segurana nas transmisses.

Controle de Erros no Enlace Na verdade, existem protocolos que solicitam camada de enlace do receptor, o envio de quadros de controle especiais, cuja funo especfica fornecer confirmaes positivas ou negativas ao transmissor. No entanto, um problema pode ser gerado neste processo de confirmao de transmisso. Por um problema de hardware, os quadros transmitidos podem ser perdidos, fazendo com que o transmissor fique eternamente esperando a confirmao. Uma soluo prtica encontrada a utilizao de um temporizador com a funo de estipular um determinado tempo para que a confirmao do recebimento do quadro dada pelo receptor seja positiva ou negativa. Quando esse tempo for ultrapassado o temporizador ser desativado, forando o transmissor a uma retransmisso daquele quadro. Como nesse mtodo, os quadros podem ser retransmitidos mais de uma vez, faz-se necessrio a numerao deles fazendo a distino de um determinado quadro entre os demais quadros copiados. Algoritmo de Bit Alternado ( stop-and-wait ) Esta tcnica utilizada para controlar erros s permite que o transmissor envie um novo quadro quando ele recebe o reconhecimento de um quadro que foi anteriormente enviado. Para este mtodo s necessrio o uso de um bit para diferenciar quadros sequenciados. Numera-se com o bit 0 o primeiro quadro, com o bit 1, o segundo, com o bit 0, o terceiro, e assim por diante.

O algoritmo de bit alternado pode gerar um problema quanto ao canal de comunicao, pois enquanto o transmissor espera por algum reconhecimento este meio pode no estar sendo utilizado. Isto torna a tcnica uma alternativa no muito eficiente. Na figura 1 acima, est representado um exemplo de controle de erros por " timeout " no protocolo de bit alternado. Uma outra maneira de enviar diversos quadros, mesmo sem ter recebido o reconhecimento de quadros anteriormente enviados Janela de Transmisso Alguns protocolos tambm podem auxiliar o processo de comunicao entre mquinas, de maneira que se possa ter uma maior eficincia no uso dos canais de comunicao. Eles permitem que o transmissor possa enviar diversos quadros sem haver recebido o reconhecimento de outros j enviados. Este processo envolve a definio da largura da janela de transmisso, que limita o nmero mximo de quadros numerados que podem ser enviados sem que se tenha chagado o reconhecimento. J que o protocolo de bit alternado capaz de avisar ao transmissor de que em um ou outro quadro ocorreu erro, ento dois processos podem ser implementados de modo a recuperar o erro. A "retransmisso integral" e a "retransmisso seletiva" auxiliam o transmissor quando o timeout ultrapassado. A primeira retransmite quadros a partir daquele que no foi reconhecido, enquanto que a ltima, retransmite somente o quadro que no foi reconhecido. No entanto, o canal pode ser ainda mais eficiente quando, nos dois casos citados, no houver a necessidade de enviar um reconhecimento para cada quadro que for enviado, ou seja, o envio de um reconhecimento dever servir para que o transmissor saiba que todos os quadros enviados antes dele, foram recebidos corretamente. Obeserve a fig.2.

Controle de Fluxo no Enlace

O protocolo de bit alternado possui um mecanismo de controle de fluxo prprio. Nele, um novo quadro s ser enviado quando o receptor j tiver processado o quadro anterior e enviado um reconhecimento. este mecanismo que compatibiliza as velocidades do transmissor e do receptor, que ser alvo de nossa abordagem, pois em algum momento de uma determinada transmisso, pode ocorrer um envio muito rpido de quadros, sem que o receptor esteja preparado para recebelos. Em protocolos com janela "n" maior que 1, o controle de fluxo est baseado em quadros especiais e em janelas de transmisso

e recepo. Os protocolos de janelas chamadas deslizantes ( sliding windows ), so assim denominados dada a sua utilizao de janelas para controlar erros e o fluxo de quadros. Numa transmisso, quando o nmero mximo de quadros que o transmissor pode enviar ( sem receber reconhecimento ) for igual ao da sua largura ( T ) de sua janela de transmisso, ocorrer a suspenso do envio de dados. O transmissor s voltar a enviar novos quadros quando este receber um reconhecimento. O reconhecimento indicar que um ou mais quadros chegaram corretamente e que o receptor est pronto para processar novos quadros. Observando a Fig. 3, nota-se que se a janela fosse tamanho 4, o transmissor no teria como saber se um reconhecimento de um quadro 3 uma retransmisso do reconhecimento do quadro 3 da janela anterior ou da janela corrente.

Fig.03

O receptor, ao acumular uma certa quantidade de quadros em sua memria, igualando a sua capacidade, este informa ao transmissor que no est em capacidade de receber novos quadros. Neste momento, o receptor envia um quadro especial denominado "receive-not-ready", e s liberar quando enviar "receive-ready".

Tipos de Servio A camada de enlace oferece servios camada de rede, e entre eles, um dos principais servios o de transferir dados da camada de rede do transmissor para a camada de rede do receptor. Um processo da camada de rede do transmissor envia os bits para a camada de enlace, e esta, trata de envi-los para o receptor. Na verdade, o trajeto dos bits est definido na figura 4.a e o trajeto virtual da figura 4.b representa a ligao entre os processos responsveis pelas transmisses de dados entre as camadas de enlace. Os trs servios que a camada de enlace capaz de fornecer camada de rede so : 1 - servio sem conexo e sem confirmao 2 - servio sem conexo com confirmao 3 - servio orientado conexo. Servio Sem Comunicao e Sem Confirmao ( datagrama no confivel ) Este um tipo de servio voltado s redes em que as taxas de erros na camada fsica so baixas, colocando a responsabilidade das possveis correes para as camadas superiores. Quando a mquina que deseja transmitir envia quadros independentes, no necessrio que a mquina receptora confirme o recebimento de quadros enviados. Neste processo, no estabelecida nenhuma conexo, no entanto, um quadro perdido na transmisso ( devido a um rudo na linha ), no ser recuperado na camada de enlace. As redes do tipo LAN, utiliza, em sua maioria, este tipo de servio.

Servio Sem Conexo Com Confirmao Neste tipo de servio, ainda no so utilizadas conexes. Ele indicado para pequenas quantidades de dados a serem transferidos, j que a cada quadro enviado, h uma confirmao de que o quadro foi recebido corretamente, ou que a mensagem foi recebida com erro. Caso o Timeout seja ultrapassado, o quadro poder ser retransmitido. No entanto, se um dos quadros de reconhecimento for perdido durante a transmisso, haver a possibilidade do receptor receber quadros duplicados. Isto demonstra a necessidade de utilizar-se mecanismos de tratamento, consequentemente, de descartes de cpias. Sem dvida, seguro enviar quadros e receber sua confirmao de chegada numa transmisso. Mas o tempo gasto para que uma massa de dados maior seja transferida de uma mquina para outra, torna tal transmisso mais demorada. Servio Orientado Conexo Para que seja efetivado a comunicao neste servio, o transmissor estabelece uma conexo com o receptor, e assim os dados podem ser enviados. Este servio numera os quadros a serem enviados, garantindo camada de enlace que todos os quadros sejam realmente recebidos, e recebidos uma nica vez na ordem correta. Porm, o problema de retransmisso de uma confirmao pode voltar a acontecer e, consequentemente, o aparecimento de diversas cpias da mesma. A grande vantagem deste servio est na confiabilidade do fluxo de bits, oferecida pelos processos da camada de rede. Alm disso, este o servio mais sofisticado que pode ser oferecido pela camada de enlace.

Este servio possui trs fases: na primeira, tanto o transmissor, quanto o receptor inicializam variveis e contadores para controlar quais os quadros que foram ou no foram recebidos. Na Segunda, ocorre a transmisso de quadros. E na ltima fase, desfaz-se a conexo, liberando as variveis, os buffers e os outros recursos utilizados para tal conexo.

Deteco e Correo de Erros Cdigos de Correo de Erros Esto sendo desenvolvidas duas estratgias para o tratamento de erros : a primeira consiste em incluir informaes redundantes suficientes em cada bloco de dados enviado , para que o receptor seja capaz de deduzir qual deveria ser o caractere transmitido(correo de erros); a segunda inserir redundantes suficientes para que seja detectada a existncia do erro para que o receptor possa requisitar a retransmisso( deteco de erros). Para compreender melhor necessrio saber como so tratados os erros, conhecendo assim uma unidade que se repete , a palavra de cdigo, composta de nbits ( onde n = m + r , m bits de dados do quadro e r bits de redundantes ou verificao ) . Analisando palavras de cdigo podemos determinar quantos bits correspondentes apresentam diferenas, o que corresponde distncia de Hamming . Tomando-se duas palavras de cdigo faz-se um OU EXCLUSIVO para determinar os bits diferentes, cotando-se o nmero de bits 1 do resultado . O nmero de posies de bits em que estas diferem eqivale a uma distncia d ( distncia de Hamming ) , representando que sero necessrios corrigir d erros para converter uma palavra na outra. 2m mensagens , na maioria das transmisses, so vlidas; entretanto considerando a forma pela qual os bits de verificao so calculados no usamos nem 2n possveis palavras de cdigo. Deste modo, de acordo com a distncia de Hamming, ser a propriedade de deteco e correo de erros de um cdigo . A distncia de d + 1 requisito para detectar derros, pois para este cdigo no h como d erros transformarem um palavra de cdigo vlida em outra palavra de cdigo vlida. Na chegada de uma palavra incorreta, tal problema logo identificado identificando o erro de transmisso . Deste modo , 2d + 1 o tamanho do cdigo de distncia para a correo de erros, uma vez que mesmo d alteraes mantero a palavra de cdigo mais prxima do que qualquer outra . Outra alternativa para gerar os bits de cdigo a utilizao de um mtodo criado por Hamming onde as palavras de cdigo so numeradas consecutivamente considerando o bit 1 da extremidade esquerda. Os bits que so potncias de 2 representam os bits de verificao, os demais ( mpares ) so preenchidos com m bits dados . Cada bit de verificao acaba por forar a paridade de alguns conjuntos de bits a ser par ( ou mpar ) . Isto porque quando uma palavra de cdigo recebida, o receptor inicializa um contando como zero, e passa a examinar cada bit de verificaok ( onde k o expoente da potncia do de 2 do mesmo bit ) para confirmar se est correto; caso contrrio , k includo no contador . Deste modo estar tudo correto para o contador igual a zero, e se isto no ocorrer, o valor encontrado representar os endereos dos bits com erro .

Cdigo de Hamming apenas capaz de corrigir erros simples , requerindo certos truques para correo de erros em rajadas . Uma seqncia k de palavras consecutivas organizada como uma matriz, com uma palavra de cdigo por linha . Ento , para correo das rajadas os dados devem ser transmitidos uma coluna por vez, comeando pela mais esquerda. Assim, quando k bits tiverem sido enviados, passar-se- a segunda coluna e assim por diante, para que a matriz seja reconstruda no receptor uma coluna por vez, possibilitando a recuperao do bloco inteiro no caso de um erro de rajada.

Cdigos de Deteco de Erros s vezes estes so utilizados para transmisso em canais simplex, onde no possvel requisitar retransmisses. O que faz com que um nico bit de paridade includo em um bloco e cada bloco enviado como uma matriz retangular com n bits de largura e k bits de altura detecte uma rajada de tamanho n , j que o bit de paridade calculado separadamente para cada coluna e afixado matriz como sua ltima linha para a transmisso da matriz uma linha de cada vez , assim, quando chega ao seu destino, o receptor verifica todos os bits de paridade . Em caso de erro requisitada a retransmisso . Entretanto, uma rajada de tamanho n+1 no ser detectada em caso de erro duplo, visto que este no detectado pela paridade . J que um erro em rajada no implica que todos os bits estejam errados, se o bloco for seriamente adulterado por um longa rajada ou por vrias mais curtas, a probabilidade de um bloco defeituoso ser aceito no deveria s-lo de 2n . H outro mtodo mais difundido : o cdigo polinomial ( ou cdigo CRC ou cdigo de redundncia Cclica ) . Baseando-se no tratamento de cadeias de bits como representaes de polinmios com coeficientes de 0 e 1, para um quadro de k bits teramos termos variando de xk+1 a x0 ( polinmio de grau k 1 ) . No emprego deste mtodo , o transmissor e o receptor devem possuir um mesmo polinmio gerador ( G(x) ) onde o bit de mais alta e mais baixa ordem devem ser iguais a 1, e um quadro de m bits corresponder ao polinmio M(x). Definido o grau rdo gerador, acrescentar r bits zero extremidade de baixa ordem do quadro, de modo que ela passe a conter m + r bits e corresponda ao polinmio xrM(x), em seguida dividir a seqncia de bits correspondente a G(x) pela seqncia de bits correspondente a xrM(x) utilizando a diviso mdulo 2. Ento subtrado o resto da seqncia de bits e o seu resultado o quadroverificado pela soma que dever ser transmitido . Chamado de polinmio T(x) . O polinmio T(x) dever ser divisvel pelo polinmio gerador, ou seja, seu resto dever ser zero . Em qualquer problema , diminuindo o dividendo pelo resto o resultado divisvel pelo divisor . Assim, o mtodo do cdigo polinomial detectar todos os erros possveis : erros simples, rajadas de tamanho r. Entretanto , em casos de r+1 este poder deixar o quadro incorreto ser aceito. Protocolos Elementares de Enlace de Dados Para comear este estudo preciso supor que nas camadas fsicas , de rede e

de enlace de dados existem processos independentes que se comunicam atravs do envio de mensagens. Assim, tratando as trs camadas como processos separados obtm-se uma maior nfase e clareza na sua independncia entre elas. Ainda deve-se considerar que quando a camada de enlace de dados aceita um pacote, ela o encapsula em um quadro acrescentando a ele um cabealho e um fim, fazendo com que um pacote consista em um quadro acrescido de informaes de controle para que assim possa ser enviado sua camada superior e ser "compreendido" pela mesma. Para tanto existem interfaces que so responsveis pela comunicao entre as diversas camadas, garantindo a independncia de cada uma e o funcionamento de seus respectivos protocolos sem deixar influenciar pela outra camada. Visto que na maioria dos protocolos pressuposto o uso de um canal no confivel que perde quadros inteiros ocasionalmente. Para que se possa realizar uma recuperao , a camada de enlace transmissora inciailiza um temporizador ( clock ) sempre que envia um quadro. Se nenhuma confirmao for recebida dentro de um timeout o clock desativado e a camada recebe o sinal de interrupo . Deste modo, cada protocolo utilizado possui uma srie de primitivas para funcionamento e tratamento de possveis problemas. Tudo com o fim de economizar espao e facilitar consultas, essas declaraes ( primitivas ) so extradas do protocolo e apresentadas todas juntas ainda que conceitualmente devessem estar integradas a eles. 1. Um Protocolo Simples Sem Restries Um protocolo imaginrio, que deve ser muito simples e onde a transferncia de dados em apenas um sentido, as camadas de rede tanto do emissor quanto do receptor devem estar sempre prontas, aguardando o envio de informaes, o que faz com que o espao de buffer seja infinito, para que seja possvel qualquer processamento , onde o tempo nele gasto pode ser ignorado . Sendo chamado "utopia", nome que cai ainda melhor quando outro fato considerado : "o canal de comunicao entre as camadas de enlace nunca danifica ou perde quadros". To simples possui dois procedimentos bsicos : o transmissor e o receptor. O primeiro consiste em um loop infinito, sempre executado na mquina de origem, envia os dados o mais rpido possvel fazendo trs atividades : busca um pacote da camada de rede, cria um quadro e transmite este. O segundo procedimento, o receptor, tambm muito simples, ficando numa espera continua at que algo acontea, isto , at que seja enviado um dado; onde a nica ocorrncia a chegada de quadros perfeitos , que so ento retirados do buffer para que a mquina trabalhe-os retornando espera. 2. Um Protocolo STOP-AND-WAIT Simplex Passando para um exemplo que seguindo as mesmas caractersticas do anterior apresenta a seguinte restrio : o buffer da camada de enlace deve ser infinito para armazenar todos os quadros para que aguardem sua vez de ser processados. Sendo necessrio impedir a sobrecarga do receptor uma vez que o emissor envie dados mais

rpido que se possa process-los. A soluo a utilizao das primitivas stop and wait, onde o transmissor deve aguardar a confirmao do receptor para que seja permitido o envio do quadro seguinte. A diferena deste para o exemplo anterior a de que ser inserido nos procedimentos de envio e recepo o tratamento da espera pela confirmao . O que sinaliza a necessidade de um canal bidirecional, uma vez que so enviados quadros nos dois sentidos. Um Protocolo Simplex Para Canal Com Rudo Considerando agora que quadros podem ser danificados ou perdidos , h ocorrncia normal de erros. Sendo necessria a deteco de erros pelo clculo do checksum ( CRC ) . Sendo este protocolo diferente dos outros anteriormente citados. Ele apresenta o uso de uma varivel cujo valor e armazenado enquanto a camada de enlace de dado est em estado de espera, fazendo com que sejam salvas as seqncias de quadros enviados. Tal varivel conhecida como temporizador, que conta o quadro conforme sua chegada, isto , se este chega perfeito enviando a confirmao de transmisso vlida; caso contrrio, o nmero no incrementado e o buffer no alterado requisitando o envio de outra cpia do quadro. O temporizador vale para controlar tambm os quadros que chegam ao receptor, uma vez que seu nmero de seqncia verificado para que seja confirmado se ele ou no cpia . Caso no seja, o quadro ser aceito e enviado para a camada de rede, e uma confirmao ser gerada, enquanto as cpias e quadros com erro no so passados para a camada de rede. Protocolo De Janela Deslizante Neste caso atingiremos transmisso full-duplex, onde o canal utilizado o conjunto de dois canais de comunicao simplex bidirecionais. Isto representa um avano, seu entrelaamento de quadros e controle no mesmo circuito, que ainda pode ser implementado. Quando um quadro de dados chega ao receptor este em vez de enviar um quadro de controle imediatamente, o receptor se contm e espera at que a camada de rede envie o prximo quadro. A confirmao acrescentada ao quadro de dados que est sendo enviado ( por meio do campo ack do cabealho do quadro ). O que realmente acontece que a confirmao s vai realmente no prximo quadro a ser enviado . Isto representa a tcnica de PIGGYBACKING, que consiste no retardo das confirmaes e seu envio anexado ao prximo quadro . Apresentando uma melhor utilizao de banda disponvel para o canal em questo . Visto que se acrescido ao cabealho de um quadro, precisaria apenas de alguns bits, ao passo que se este fosse transmitido apenas sob a forma de um quadro separado, a confirmao precisaria de um cabealho inteiro e ainda de que fosse feito o checksum apenas para o envio de um confirmao . Ainda mais que quando so enviados poucos quadros o aproveitamento do tempo melhor, uma vez que h menos interrupes para tratamento de quadros recebidos e o menor nmero de buffers .

No entanto o tempo de espera at que seja por um pacote para que seja efetuada a confirmao uma desvantagem ao piggyback, j que pode ocorrer de uma espera maior que a permitida pelo timeout, implicando na retransmisso do quadro inutilizando aquela confirmao que seria gerada. Deste modo protocolos que permanecessem sincronizados mesmo diante de qualquer combinao entre quadros com erro, perdidos e timeouts prematuros so alternativa mais eficaz para o problema encontrado . Tais protocolos so de um classe chamada JANELA DESLIZANTE . Protocolos de janela deslizante contm , em cada quadro enviado, um nmero de seqncia que varia de 0 ao mximo possvel ( normalmente 2n + 1 ) . Baseiam-se no fato de que o transmissor mantm sempre um conjunto de nmeros de seqncia correspondentes aos quadros que esto por enviar. Uma janela de transmisso reune tais quadros, e uma janela de recepo representa os quadros que o receptor est apto a aceitar. A classe de protocolos de janela deslizante possibilita camada de enlace de dados uma maior liberdade em relao a ordem que poder enviar e receber quadros, mais ainda necessrio que o protocolo entregue os pacotes camada de rede na mesma ordem em que eles so passados camada de rede na mesma ordem em que eles so passados camada de enlace transmissora. Outra requisio que o canal de comunicao entregue todos os quadros na ordem em que eles so enviados. J que os quadros a serem transmitidos podem ser danificados ou perdidos durante a transmisso eles devem ficar armazenados na memria do transmissor para uma possvel retransmisso, deste modo, pode ocorrer que o tamanho mximo do buffer seja atingido , e caso isso ocorra a camada de rede desativada at que o buffer seja liberado . No caso da janela do receptor , est possui sempre um mesmo tamanho inicial , passando diretamente os quadros recebidos camada de rede numa ordem adequada independente do tamanho da janela da camada de enlace de dados. Um Protocolo De Janela Deslizante De Um Bit Para situar melhor , considera-se primeiro um protocolo que utilize janela deslizante de tamanho mximo igual a 1 bit , utilizando stop-and-wait para o envio de um quadro e a espera da confirmao antes de enviar o seguinte. Assim, h o uso de um campo de confirmao, este, contm o nmero do ltimo quadro recebido sem erro. Se esse nmero estiver de acordo com o nmero da seqncia do quadro que o transmissor est tentando enviar, o transmissor saber que j cuidou do quadro armazenado no buffer e poder armazenar o pacote seguinte de sua camada de rede. Se este for discordante, o transmissor deve continuar tentando enviar o mesmo quadro . Sempre que um quadro recebido, um outro quadro tambm enviado de volta. Um Protocolo Que Utiliza GO-BACK-ON Neste caso , analisando um transmissor que aguarda a confirmao para enviar outro quadro, o tempo gasto por este pode variar ou ser muito longo, assim, encontrou-se uma soluo para eliminar esse perodo de inatividade do transmissor diante da espera por uma resposta, o PIPELINING. Consistindo em determinar um nmero especfico de quadros a serem enviados antes deste bloqueio de confirmao , fazendo com que o transmissor seja capaz de transmitir quadros continuamente durante um tempo igual ao tempo de trnsito de ida e volta . Fazendo um clculo para transmisso :

Tamanho do quadro : l Capacidade do canal : b bits/s Tempo de propagao de ida e volta : R segundos ________________________________________________ Tempo necessrio para transmisso : l/b segundos Considerando ainda que depois do envio do ltimo bit de um quadro haver um retardo de R/2 antes do bit chegar ao receptor e outro de pelo menos R/2 at o recebimento da confirmao .O que resulta em um tempo R tomado e uma utilizao de linha de l(l+bR).Caso l<bR teremos eficincia inferior a 50% . Em virtude do retardo existente na propagao do retorno, o pipeline far ento papel de usurio do canal, ocupando a linha durante este intervalo. H entretanto erros na presena do pipeline : em caso de problema na emisso dos quadros, perda de parte deles ou danificao o pipeline assegura a chegada de um grande nmero de quadros sucessivos, o que far com que o receptor tenha que identificar qual deles est errado. Para este problema foram encontradas duas solues: GO-ON-BACK : que ao encontrar um quadro defeituoso passa a descartar todos os quadros que chegarem aps este, fazendo algo como uma janela de recepo de tamanho 1, forando a camada de enlace a no receber mais nenhum quadro, interrompendo a transmisso, dando a ordem de reincio a partir do quadro que veio danificado. RETRANSMISSO SELETIVA : uma camada de enlace que armazene todos os quadros que chegarem corretos seguintes aos defeituosos. Quando o transmissor nota que algo no est funcionando ele retransmite apenas o(s) defeituoso(s). Tal estratgia exige uma capacidade de memria muito grande, ou seja a janela receptora da camada de enlace deve possuir uma grande capacidade. Podemos analisar as duas estratgias verificamos as caractersticas de cada uma: GOON-BACK, que apesar de no confirmar os dados aps o quadro defeituoso faz com que o transmissor os guarde para que sejam enviados to logo seja possvel. A Retransmisso Seletiva, que exige esse armazenamento em buffer, que sempre ao chegar uma confirmao checado se pode ser liberada uma clula do buffer para ocup-la com outra e dar continuidade execuo. Um Protocolo Que Utiliza RETRANSMISSO SELETIVA Neste protocolo no descarta quadros aps um defeituoso, ou seja, em caso de erro afetando um quadro os demais quadros so alocados no buffer da janela de recepo da camada de enlace de dados. Essa recepo no seqencial acarreta uma srie de problemas que no esto cadastrados nos protocolos que s aceitam quadros em ordem. Sendo o problema encontrado no ato de identificar o quadro com problema e requisitar a sua retransmisso antes que o timeout "estoure".

A sada implica no seguinte artifcio : o receptor ir possuir um temporizador auxiliar que iniciado ao receber um novo quadro ,se nenhum trfego inverso tiver se apresentado antes do trmino do intervalo de temporizao , um quadro de confirmao separado ser enviado. Uma interrupo provocada pelo temporizador auxiliar chamada. Essa interrupo torna possvel o fluxo de trfego unidirecional, pois a falta de quadros de dados inversos nos quais as confirmaes podem ser inseridas no representa mais um obstculo . Ento esse temporizador ser o responsvel pelo timeout e sincronizao dos dados, assegurando que a confirmao seja corretamente recebida antes do trmino do intervalo de temporizao e consequentemente , antes do timeout (retransmisso do quadro).

Especificao e Verificao de Protocolos Modelos de Mquina de Estados Finitos Primeiro preciso conhecer o conceito de Mquina de Estados Finitos, que um tcnica que aplica a cada transmissor ou receptor envolvido ( mquina de protocolo ) um estado especfico em cada momento. O Estado do sistema completo a combinao de todos os estados das duas mquinas de protocolo e do canal . Este ltimo, funciona de acordo com o seu contedo. Deste modo iro existir zero ou vrias transies de estado. Considerando um estado especfico este passa a ser o estado inicial, que ir corresponder descrio do sistema quando inicia a execuo ou algum lugar de partida oportuno logo depois disso. A partir de um estado inicial alguns ou todos os estados podem ser alcanados. A essa mudana e possibilidade de estados temos a tcnica de anlise de alcanabilidade, til par determinar se um protocolo est correto ou no. Deste modo, no incio da contagem do tempo, todos os processos esto no estado inicial. Em seguida, os eventos comeam a acontecer. Cada um pode fazer com que um dos processos ou o canal realize uma ao e ocorra uma transio de estado . Assim, enumerando os possveis sucessores de um estado, a anlise de alcanabilidade pode construir um grfico e analisar o protocolo, detectando uma variedade de erros em suas especificaes, caso existam . Outro fato importante em protocolos deve ser a AUSNCIA de deadlock, que significa em uma situao em que o protocolo no consegue sair de um loop ou progredir. Em termos , um deadlock caracterizado pela existncia de um subconjunto de estados que acessvel a partir do estado inicial e que estes ou no possuem qualquer transio fora desse subconjunto, ou no subconjunto no h transies que dem continuidade ao processo. Modelos de Rede de Petri Uma outra tcnica para a especificao formal de protocolos, a Rede de Petri ser descrita nas linhas que seguir-se-o abaixo. Ela possui quatro elementos bsicos :

Lugar : um estado no qual o sistema ( ou parte dele ) pode estar, indicado

por crculos;

Token : indicao de estado, representado por um ponto cheio; Transio : indicada por uma barra horizontal ou vertical ; Arcos : representam os lagares que a transio envolve.

"Uma transio ser ativada se houver pelo menos um token de entrada em cada um de seus lugares de entrada. Qualquer transio ativada pode ser dispara vontade, removendo um token de cada posio de entrada e depositando um token em cada posio de sada. Se o nmero de arcos de entrada e de sada for diferente, os tokens no sero conservados. Se duas ou mais transies forem ativadas, qualquer uma das duas poder ser o motivo pelo qual as redes de Petri so uteis para a modelagem de protocolos." ( Tanembaum ) As redes de Petri assim como a tcnica da mquina de estados finitos podem ser utilizadas para detectar falhas de protocolo, assim como o seu conceito de deadlock. Mas as redes de Petri ainda podem ser representadas sobre a forma algbrica , com um conjunto no ordenado de lugares, onde cada estado de rede representado no conjunto tantas vezes quanto seu nmero de tokens.

Exemplos de Protocolos De Enlace de Dados 1. 2. HDLC High-level Data Link Control Camada de enlace de dados da INTERNET 1. 2. 1. SLIP - Serial Line IP PPP Point-to-Point Protocol

Camada de Enlace de Dados no ATM 1. 2. Transmisso de Clulas Recepo de Clulas

Вам также может понравиться