5° Capítulo Ao se disc discut utir ir a cam camada ada de enla enlace ce,d ,des esco cobr bree-se se que que há dois dois tipo tiposs de cana canais is completamente diferentes. O primeiro tipo são os canais de broadcast , que são comuns em redes redes locais locais,, ond ondee muito muitoss hosped hospedeir eiros os estão estão conec conectad tados os ao mesmo mesmo canal canal de comunicação comunicação e preciso um protocolo de acesso ao meio para coordenar transmiss!es e e"itar colis!es. O se#undo tipo de canal o enlace de comunicação ponto-a-ponto, tal como o e$istente entre dois roteadores. 5.1 Camada de enlace: introdução e serviços
Os hosp hosped edei eiro ross e rote rotead ador ores es serã serãoo refe referid ridos os apen apenas as como como nós e os canais ais de comunicação comunicação que conectam n%s ad&acentes serão referidos como enlaces. 5.1.1 Os serviços fornecidos pela camada de enlace protocolo lo de camada camada de enlace enlace usado para transportar um data#rama por um 'm protoco enla enlace ce indi indi"i "idu dual al,, ele ele defi define ne o form format atoo dos dos paco pacote tess troc trocad ados os entr entree os n%s n%s nas nas e$tremidades do enlace, bem como as aç!es reali(adas por esses n%s ao en"iar e receber os pacotes. As unidades de dados trocadas pelo protocolo de camada de enlace são denomina deno minadas das quadros, e cada quadro encapsula um data#rama da camada de rede. )ntre as aç!es reali(adas por um protocolo de camada de enlace ao en"iar e receber quadros, estão detecção de erros, retransmissão, controle de flu$o e acesso aleat%rio. Como e$emplos de protocolos temos os protocolos )thernet, *+.55, toen rin# e . )nquanto a camada de rede tem como tarefa mo"imentar se#mentos da camada de transporte transporte fim-a-fim, fim-a-fim, desde o hospedei hospedeiro ro de ori#em at o de destino, um protocolo protocolo de camada de enlace encarre#ado de mo"imentar data#ramas de camada de rede n% a n% por um /nico enlace. 'ma característica importante que um data#rama pode ser manipulado por diferentes protocolos de enlace nos diferentes enlaces no caminho. Os ser"iços fornecidos pelos protocolos de camada de enlace podem ser diferentes0 por e$e e$emplo, lo, um prot protoocolo olo de cama amada de enla nlace pode ode pro"e ro"err ou não não entre ntre#a #a confiá"el.Assim, a camada de rede de"e ser capa( de reali(ar sua tarefa fim-a-fim em face de um con&unto hetero#1neo de ser"iços indi"iduais de camada de enlace. )mbora o ser"iço básico de qualquer camada de enlace se&a mo"er um data#rama de um n% at um n% ad&acente por um /nico enlace de comunicação, os detalhes do ser"iço podem "ariar de um protocolo de camada de enlace para outro, entre os possí"eis que podem ser oferecidos,estão2 oferecidos,estão2
)nquadramento de dados2 3uase todos os protocolos de camada de enlace encapsulam cada data#rama de camada de rede dentro de um quadro,consiste em um campo de dados no qual o data#rama da camada de rede inserido e em uma srie de campos de cabeçalho, de camada de enlace antes de transmiti-lo pelo enlace. Acesso ao enlace2 'm protocolo de controle de acesso ao meio 4AC6 especifica as re#ras se#undo as quais um quadro transmitido pelo enlace. ara enlaces ponto-a ponto, o protocolo AC simples, o remetente pode en"iar um quadro sempre que o enlace esti"er ocioso. )ntre# )nt re#aa con confiá fiá"el "el22 3ua 3uando ndo o protoc protocolo olo fornec fornecee esse esse ser"iç ser"iço, o, ele #aran #arante te que "ai transportar cada data#rama pelo enlace sem erro. 'm ser"iço confiá"el de entre#a de camada de enlace muito usado por enlaces que costumam ter altas ta$as de erro, como o caso de um enlace sem fio, com a finalidade de corri#ir um erro localmente, no
enlace no qual o erro ocorre, em de forçar uma retransmissão fim-a-fim dos dados por um protocolo de camada de transporte ou de aplicação. Contudo,a entre#a confiá"el de camada de enlace pode ser considerada uma sobrecar#a desnecessária para enlaces de bai$a ta$a de erros. uitos protocolos de camada de enlace com fio não fornecem entre#a confiá"el. Controle de flu$o2 Os n%s de cada lado de um enlace t1m uma capacidade limitada de arma(enar quadros, por isso, um protocolo de camada de enlace pode fornecer controle de flu$o para e"itar que o n% remetente de um lado de um enlace con#estione o n% receptor do outro lado do enlace. 7etecção de erros2 )rros de bits são introdu(idos por atenuação de sinal e ruído eletroma#ntico, como não há necessidade de repassar um data#rama que tem um erro, muitos protocolos oferecem detecção de erros. 8sso feito obri#ando o n% transmissor a en"iar bits de detecção de erros no quadro e obri#ando o receptor a reali(ar um "erificação de erros. A detecção de erros na camada de enlace #eralmente mais sofisticada e implementada por hard9are. Correção de erros2 : semelhante ; detecção de erros, e$ceto que um receptor não somente detecta se foram introdu(idos erros,mas tambm determina e$atamente em que lu#ar do quadro os erros ocorreram e então os corri#e. Al#uns protocolos fornecem a correção apenas para o cabeçalho do pacote,e não para o pacote inteiro.
ara um dado enlace de comunicação, o protocolo de camada de enlace , na maioria das "e(es, implementado em um adaptador, que uma placa que contm =A, chips 7>, uma interface de barramento de hospedeiro e uma interface de enlace, tambm comumente conhecido como cartão de interface de rede ou NIC. A camada de rede de um n% transmissor passa um data#rama a um adaptador que processa o lado remetente do enlace de comunicação, o adaptador encapsula o data#rama em um quadro e, então, transmite o quadro para dentro do enlace de comunicação. 7o outro lado, o adaptador receptor recebe o quadro inteiro, e$trai o data#rama de camada de rede e o passa para a camada de rede.'m adaptador uma unidade semi-aut?noma0 por e$emplo, um adaptador pode receber um quadro, determinar se ele está errado e descarta-lo sem notificar outros componentes no n% em que está abri#ado.Os componentes principais de um adaptador são a interface de barramento 4responsá"el pela comunicação com o n% pai do adaptador6 e a de enlace4responsá"el pela implementação do protocolo de camada de enlace6.
5.2 Tcnicas de detecção e correção de erros
esmo com a utili(ação de bits de detecção de erros, ainda há a possibilidade de ocorr1ncia de erros de !its não detectados, isto , o receptor pode não perceber que a informação recebida contm erros. )m conseq@1ncia, o receptor poderá entre#ar um data#rama corrompido ; camada de rede ou não perceber que o conte/do de um campo no cabeçalho do quadro foi corrompido. )m #eral, tcnicas mais sofisticadas de detecção e correção de erros ficam su&eitas a uma sobrecar#a maior, preciso mais processamento para computar e transmitir um n/mero maior de bits de detecção e correção de erros. 5.2.1 Verificações de paridade
al"e( a maneira mais simples de detectar erros se&a utili(ar um /nico !it de paridade. >uponha que a informação a ser en"iada tenha d bits. )m um esquema de paridade, o remetente simplesmente inclui um bit adicional e escolhe o "alor desse bit de modo que o numero total de BD nos bits d+1 se&a par. A operação do receptor tambm simples, ele precisa apenas contar quantos BD há nos d+1 bits recebidos. )$iste tambm a paridade !idimensional que forma-se um matri( e completa as linhas e colunas de acordo com os n/meros de BD tornando-os par. 8sso facilita na detecção de onde e$atamente o erro ocorreu. A capacidade do receptor para detectar e corri#ir erros conhecida como correção de erros de repasse. 5.2.2 Métodos de soma de verificação
)m tcnicas de soma de "erificação, os d bits de dados são tratados como uma seq@1ncia de n/meros inteiros de bits. 'm mtodo simples de soma de "erificação somar esses inteiros de bits e usar o total resultante como bits de detecção de erros. O complemento de dessa soma forma a soma de "erificação da 8nternet que carre#ada no cabeçalho do se#mento. O receptor "erifica a soma de "erificação calculando os complementos de da soma dos dados recebidos e "erificando se o resultado contm somente bits . 5.2.! Verificação de redund"ncia c#clica $C%C& 5." #rotocolos de acesso m$ltiplo
uitos protocolos de camada de enlace foram pro&etados para enlaces ponto-a-ponto0 o um desses protocolos. 'm problema de importEncia fundamental para a camada de enlace de dados como coordenar o acesso de "ários n%s remetentes e receptores a um canal broadcast compartilhado F o pro!lema do acesso m$ltiplo. =edes de computadores t1m protocolos semelhantes, denominados protocolos de acesso m$ltiplo, pelos quais os n%s re#ulam sua transmissão pelos canais broadcast compartilhados. Como todos os n%s t1m a capacidade de transmitir quadros, mais do que dois n%s podem transmitir quadros ao mesmo tempo. 3uando isso acontece, todos os n%s recebem "ários quadros ao mesmo tempo, isto , os quadros transmitidos colidem em todos os receptores. )m #eral, quando há uma colisão, nenhum dos n%s receptores conse#ue
perceber al#um sentido nos quadros que foram transmitidos0 de certo modo, os sinais dos quadros que colidem ficam ine$trica"elmente embaralhados. Assim, todos os quadros en"ol"idos na colisão são perdidos e o cana broadcast desperdiçado durante o inter"alo de colisão. ara asse#urar que o canal broadcast reali(e trabalho /til quando há "ários n%s ati"os, preciso coordenar, de al#um modo, as transmiss!es desses n%s ati"os. )ssa tarefa de coordenação de responsabilidade do protocolo de acesso m/ltiplo. 7urante anos, de(enas de protocolos de acesso m/ltiplo foram implementados em uma "ariedade de tecnolo#ias de camada de enlace. 'm protocolo de acesso m/ltiplo para um canal broadcast com "elocidade de = bits por se#undo tem as se#uintes características dese&á"eis2 . 3uando apenas um n% tem dados para en"iar, esse n% tem uma "a(ão de = bps. . 3uando n%s t1m dados para en"iar, cada um desses n%s tem uma "a(ão de =G bps. H. O protocolo descentrali(ado, isto , não há n%s mestres que possam falhar e derrubar o sistema inteiro. I. O protocolo simples para que sua implementação se&a barata. 5.!.1 'rotocolos de divisão de canal
A multiple$ação por di"isão de tempo 476 e a multiple$ação por di"isão de freq@1ncia 4J76 são duas tcnicas que podem ser usadas para di"idir a lar#ura de banda de um canal broadcast entre todos os n%s que compartilham esse canal. Como e$emplo, suponha que o canal suporte K n%s e que a "elocidade de transmissão do canal se&a = bps. O protocolo 7 di"ide o tempo em quadros temporais e depois di"ide cada quadro temporal em K compartimentos. Cada compartimento , então, atribuído a um dos K n%s. >empre que um n% ti"er um pacote para en"iar, ele transmite os bits do pacote durante o compartimento atribuído a ele no quadro temporal rotati"o 7.Os tamanhos dos quadros são escolhidos de modo que um /nico quadro possa ser transmitido durante um compartimento. O protocolo 7 atraente, pois elimina colis!es e perfeitamente &usto2 cada n% #anha uma "elocidade de transmissão dedicada de =GK bps durante cada quadro temporal. Contudo, ele tem duas des"anta#ens importantes. A primeira que um n% fica limitado a uma "elocidade mdia de =GK bps, mesmo quando ele o /nico n% com pacotes para en"iar. A se#unda que o n% de"e sempre esperar sua "e( na seq@1ncia de transmissão, mesmo quando ele o /nico n% com um quadro a en"iar. )nquanto o protocolo 7 compartilha o canal broadcast no tempo, o protocolo J7 di"ide o canal de = bps em freq@1ncia diferentes 4 cada uma com lar#ura de banda =GK6 e reser"a cada freq@1ncia a um dos K n%s, criando, desse modo, K canais menores de =GK bps a partir de um /nico canal maior de = bps. 'm terceiro protocolo de di"isão de canal o protocolo de acesso m$ltiplo por divisão de códi%o4C7A6. )nquanto o 7 e o J7 atribuem aos n%s inter"alos de tempo e freq@1ncia, o protocolo C7A atribui um c%di#o diferente a cada n%. )ntão cada n% usa seu c%di#o e$clusi"o para codificar os bits de dados que en"ia. >e os c%di#os forem escolhidos cuidadosamente, as redes C7A terão a mara"ilhosa propriedade de permitir que n%s diferentes transmitam simultaneamente e, ainda assim, consi#am que seus receptores respecti"os recebam corretamente os bits codificados pelo remetente, a despeito das interfer1ncias causadas pelas transmiss!es dos outros n%s.
5.!.2 'rotocolos de acesso aleat(rio
Com um protocolo de acesso aleat%rio, um n% transmissor sempre transmite ; ta$a total do canal, isto , = bps. 3uando há uma colisão, cada n% en"ol"ido nela retransmite repetidamente seu quadro at que este passe sem colisão. as, quando um n% sofre uma colisão, ele nem sempre retransmite o quadro imediatamente. )m "e( disso, ele espera um tempo aleat%rio antes de retransmitir o quadro, cada n% en"ol"ido em uma colisão escolhe atrasos aleat%rios independentes. >lotted Aloha . . H. I.
odos os quadros consistem em e$atamente L bits O tempo di"idido em inter"alos de tamanho LG= se#undos Os n%s começam a transmitir quadros somente no inicio dos inter"alos Os n%s são sincroni(ados de modo que cada n% sabe onde os inter"alos começam. 5. >e dois ou mais n%s colidirem em um inter"alo, então todos os n%s detectarão o e"ento de colisão antes do trmino do inter"alo. >e&a p uma probabilidade, o funcionamento do slotted Aloha em cada n% simples . 3uando o n% tem um no"o quadro para en"iar, espera at o inicio do pr%$imo inter"alo e transmite o quadro inteiro no inter"alo. . >e não hou"er uma colisão, o n% transmitirá seu quadro com sucesso e,assim, não precisará considerar a retransmissão do quadro. H. >e hou"er uma colisão, o n% a detectará antes do final do inter"alo. )le transmitirá seu quadro em cada inter"alo subseq@ente com probabilidade p at que o quadro se&a transmitido sem colisão. Aparentemente o slotted Aloha teria muitas "anta#ens. 7iferentemente da partição de canal, esse protocolo permite que um /nico n% transmita continuamente ; ta$a total do canal =, quando ele for o /nico n% ati"o. O slotted Aloha tambm altamente descentrali(ado, por que cada n% detecta e decide independentemente quando retransmitir. O >lotted Aloha funciona bem quando há somente um n% ati"o. 3uando há "ários n%s ati"os, uma certa fração dos inter"alos terá colisão e, portanto, será desperdiçada. A se#unda preocupação que uma outra fração dos inter"alos estará "a(ia porque todos os n%s ati"os e"itarão transmitir como resultado da política probabilística de transmissão. A efici1ncia do >lotted Aloha Kp4-p6Mn- 0 a efici1ncia má$ima de HN por cento.
Aloha O protocolo slotted Aloha requer que todos os n%s sincroni(em suas transmiss!es para que comecem no inicio de um inter"alo. O primeiro protocolo Aloha era,na realidade, um protocolo sem inter"alos e totalmente descentrali(ado. Ko Aloha puro, quando um quadro che#a pela primeira "e(, o n% imediatamente transmite o quadro inteiro ao canal broadcast. >e imediatamente o quadro com probabilidade p. Caso contrario, o n% esperará por um tempo de transmissão de quadro. >uponha que um quadro comece a transmitir no tempo t+. ara que esse quadro se&a transmitido com sucesso, nenhum n% pode começar sua transmissão no inter"alo de tempo t+-,t+P. )ssa transmissão se sobreporia ao inicio da transmissão do quadro que começou a ser transmitido no tempo t+. 7e maneira semelhante, nenhum outro n% pode iniciar uma transmissão enquanto o primeiro n% esti"er transmitindo, pois senão ha"eria uma sobreposição no fim no primeiro n%. A probabilidade de que um dado n% tenha transmissão bem sucedida p4-p6M4n-6. A efici1ncia do Aloha a metade da efici1ncia do slotted Aloha. C>A 'ma das prioridades do C>A que um n% ou"e o canal antes de transmitir4detecção de portadora6. >e um quadro de outro n% esti"er correntemente sendo transmitido para dentro do canal, o n% então esperará por um período de tempo aleat%rio e, então, no"amente sondará o canal. A outra que um n% que está transmitindo ou"e o canal enquanto transmite. >e esse n% detectar que outro n% está transmitindo um quadro interferente, ele pára de transmitir e usa al#um protocolo para determinar quando ele de"e tentar transmitir no"amente. orm, mesmo detectando portadora, ainda podem e$istir problemas. or e$emplo, um n% começa a transmitir, e depois de um tempo um outro % começa a transmitir, pois não detectou que o primeiro n% esta"a transmitindo. O tempo de atraso de propa#ação fima-fim para um canal broadcast desempenha um papel crucial na determinação do desempenho do C>A.)ntão os dois n% continuarão transmitindo sem detectar colisão, quando um n% reali(a detecção de colisão, ele cessa a transmissão assim que detecta uma colisão. 5.!.!'rotocolos de reve)amento
7uas propriedades de um protocolo de acesso m/ltiplo são2 quando apenas um n% está ati"o, esse n% ati"o tem uma "a(ão de = bps0 quando n%s estão ati"os, então cada n% ati"o tem uma "a(ão de apro$imadamente =G bps. Os protocolos ALOA t1m a primeira propriedade, mas não a se#unda. 8sso moti"ou os pesquisadores a criarem uma outra classe de protocolos, os protocolos de reve&amento. <á de(enas de protocolos de re"e(amento, e cada tem muitas "ariaç!es. )$istem dois que são mais importantes. O primeiro protocolo de seleção4pollin#6, ele requer que um dos n%s se&a desi#nado como n% mestre. )ste n% seleciona cada um dos n%s por alternEncia circular. O protocolo de pollin# elimina as colis!es e os inter"alos "a(ios que atormentam os protocolos de acesso aleat%rio, o que permite que ela tenha uma efici1ncia muito maior.orm ele tambm possui al#umas des"anta#ens. 'ma delas que o protocolo introdu( um atraso de seleção e outra que se o n% mestre falhar, o canal inteiro ficará inoperante.
O se#undo protocolo de re"e(amento o protocolo de passa%em de permissão. Kesse protocolo, não há n% mestre. 'm pequeno quadro de finalidade especial conhecido como um permissão 4toen6 passado entre os n%s obedecendo a uma determinada ordem fi$a. 3uando um n% recebe uma permissão, ele a retm somente se ti"er al#uns quadros para transferir, caso contrário, imediatamente a repassa para o n% se#uinte. A passa#em da permissão descentrali(ada e tem uma alta efici1ncia, mas tambm tem seus problemas0 por e$emplo, a falha de um n% pode derrubar o canal inteiro. Ou, se um n% acidentalmente se descuida e não libera a permissão, então preciso chamar al#um procedimento de recuperação para colocar a permissão no"amente em circulação. 5.!.* %edes locais $,-s&
'ma LAK uma rede de computadores concentrada em um área #eo#ráfica, tal como um prdio ou um campus uni"ersitário. Ka dcada de Q*+ e no inicio da dcada de QQ+, duas classe de tecnolo#ias de LAK eram populares nos ambientes de trabalho. A primeira consistia nas LAKs )thernet 4redes de acesso aleat%rio6 e outra com tecnolo#ias de passa#em de permissão como to'en rin% e ())I. )m uma LAK toen rin#, os K n%s da LAK estão conectados em um anel por enlaces diretos. A topolo#ia do anel define a ordem de passa#em de permissão. 5.* +ndereçamento na camada de enlace
5.*.1 ndereços M,C
Kão o n% que tem um endereço de camada de enlace, mas sim o adaptador do n%.'m end. da camada de enlace tambm denominado um endereço de -N, um endereço fsico ou um endereço /-C. ara A maior partes das LAKs o endereço AC tem R bStes de comprimento. )sses endereços são tipicamente e$pressos em notação he$adecimal, com cada bSte do endereço e$presso como um par de n/meros he$adecimais. 'm fato importante referente aos endereços AC que eles são permanentes, quando um adaptador fabricado, um endereço AC #ra"ado na =O do adaptador. 'ma propriedade interessante desses endereços que não e$istem dois adaptadores com o mesmo endereço, pois o 8))) #erencia o espaço físico dos endereços. O endereço AC de um adaptador tem uma estrutura linear e nunca muda, não importando para onde "á o adaptador. 3uando um adaptador quer en"iar um quadro para al#um adaptador destino, o adaptador remetente insere no quadro o endereço AC do destino e en"ia o quadro para dentro da LAK. >e esta utili(ar transmissão broadcast/ o quadro será recebido e processado por todos os outros adaptadores da LAK. 5.*.2 ,%' $protocolo de resolução de endereços&
Como e$istem endereços de camada de rede e endereços de camada de enlace, preciso fa(er a tradução de um para o outro. ara a 8nternet, esta uma tarefa do protocolo de resolução de endereços. O protocolo A= con"erte um endereço 8 para um endereço AC, ele análo#o ao 7K>, porm o 7K> con"erte nome de hospedeiros para máquinas em qualquer lu#ar da 8nternet, ao passo que o A= con"erte endereços 8 apenas para n%s na mesma sub-rede.
O A= funciona da se#uinte maneira2 Cada n% tem em sua =A uma ta!ela -0# que contm mapeamentos de endereços 8 para endereços AC. )la tambm contm um campo com o L que indica quando cada mapeamento será apa#ado da tabela. A tambm não contm um re#istro para cada n% da sub-rede. >e um n% destinatário não esti"er na tabela do n% remetente, então o n% remetente montará um pacote especial denominado -0# uer . 'm pacote A= tem di"ersos campos, incluindo os endereços 8 e AC de en"io e recepção. A finalidade do pacote de consulta A= pesquisar todos os outros n%s na sub-rede para determinar o endereço AC correspondente ao endereço 8 que está sendo con"ertido. O protocolo A= apresenta al#umas características interessantes. )m primeiro lu#ar, a mensa#em de consulta A= en"iada dentro de um quadro broadcast , ao passo que a mensa#em de resposta A= en"iada dentro de um quadro padrão.