Capítulo 5: A Camada de Enlace e Redes Locais

Embed Size (px)

DESCRIPTION

Nossos objetivos: Entender os princípios por trás dos serviços da camada de enlace de dados: detecção e correção de erros compartilhamento de canal de broadcast : acesso múltiplo endereçamento da camada de enlace transferência confiável de dados, controle de fluxo: feito! - PowerPoint PPT Presentation

Text of Capítulo 5: A Camada de Enlace e Redes Locais

FTP

Servios da Camada de EnlaceEnquadramento (Delimitao do quadro): encapsula datagrama num quadro adicionando cabealho e cauda (trailer). Acesso ao enlace: implementa acesso ao canal se meio for compartilhado, endereos fsicos (MAC) so usados nos cabealhos dos quadros para identificar origem e destino de quadros em enlaces multipontoDiferente do endereo IP!Entrega confivel entre ns adjacentes:J aprendemos como fazer isto (Captulo 3)raramente usada em canais com baixas taxas de erro (fibra ptica, alguns tipos de pares tranados)Canais sem fio: altas taxas de errosP: para que confiabilidade na camada de enlace e fim-a-fim?5: Camada de Enlace 5-nServios da Camada de Enlace (mais)Controle de Fluxo: compatibilizar taxas de produo e consumo de quadros entre remetentes e receptoresDeteco de Erros: erros so causados por atenuao do sinal e por rudo receptor detecta presena de erros receptor sinaliza ao remetente para retransmisso, ou simplesmente descarta o quadro em erroCorreo de Erros: mecanismo que permite que o receptor localize e corrija o(s) erro(s) sem precisar da retransmissoHalf-duplex e full-duplexcom half duplex um n no pode transmitir e receber pacotes ao mesmo tempo

5: Camada de Enlace 5-n

Camada de Enlace: IntroduoTerminologia:hospedeiros e roteadores so nscanais de comunicao que conectam ns adjacentes ao longo de um caminho de comunicao so enlaces (links)enlaces com fio (cabeados)enlaces sem fio (no cabeados)LANsPacote da camada 2 um quadro (frame), encapsula o datagrama

a camada de enlace responsvel por transferir os datagramas entre ns adjacentes atravs de um enlace5: Camada de Enlace 5-nCamada de Enlace: ContextoDatagrama transferido por diferentes protocolos de enlace em diferentes enlaces:Ex.: Ethernet no primeiro enlace, frame relay em enlaces intermedirios e 802.11 no ltimo enlaceCada protocolo de enlace prov diferentes serviosex.: pode ou no prover transporte confivel de dados atravs do enlaceAnalogia com um sistema de transporteViagem de Princeton at Lausannetaxi: Princeton at JFKavio: JFK at GenebraTrem: Genebra at Lausanneturista = datagramasegmento de transporte = enlace de comunicaomeio de transporte = protocolo da camada de enlaceagente de viagens = algoritmo/protocolo de roteamento

5: Camada de Enlace 5-nOnde a camada de enlace implementada?em cada um dos hospedeiroscamada de enlace implementada no adaptador (NIC Network Interface Card)placa Ethernet, carto PCMCIA, carto 802.11implementa as camadas de enlace e fsicaconecta ao barramento de sistema do hospedeirocombinao de hardware, software e firmwarecontroladorTransmissofsicacpumemriabarramentodo hospedeiro(ex., PCI)placa de redeDiagrama de blocos do hospedeiroaplicaotransporteredeenlaceenlacefsica

5: Camada de Enlace 5-n7Comunicao entre Adaptadoreslado transmissor:Encapsula o datagrama em um quadroAdiciona bits de verificao de erro, transferncia confivel de dados, controle de fluxo, etc. lado receptorverifica erros, transporte confivel, controle de fluxo, etc.extrai o datagrama, passa-o para o n receptorControla-doraControla-doratransmissorreceptordatagramadatagramadatagramaquadro5: Camada de Enlace 5-nCamada de Enlace5.1 Introduo e servios5.2 Tcnicas de deteco e correo de erros 5.3 Protocolos de acesso mltiplo 5.4 Endereamento na Camada de Enlace5.5 Ethernet5.6 Comutadores da camada de enlace5.7 PPP: o protocolo ponto-a-ponto5.8 Virtualizao de enlace: uma rede como camada de enlace5.9 Um dia na vida de uma solicitao de pgina Web

5: Camada de Enlace 5-n

Deteco de ErrosEDC= bits de Deteco e Correo de Erros (redundncia)D = Dados protegidos por verificao de erros, podem incluir alguns campos do cabealho deteco de erros no 100% confivel; protocolos podem deixar passar alguns erros, mas raro quanto maior o campo EDC melhor ser a capacidade de deteco e correo de erros5: Camada de Enlace 5-nVerificaes de Paridade

Paridade de 1 Bit:Detecta erros em um nico bitParidade Bidimensional:Detecta e corrige erro em um nico bit

5: Camada de Enlace 5-nSoma de verificao da InternetTransmissor:trata o contedo do segmento como uma seqncia de inteiros de 16 bitsSoma de verificao: adio (complemento de 1 da soma ) do contedo do segmentotransmissor coloca o valor do checksum no campo de checksum UDPReceptor:calcula a soma de verificao do segmento recebidoverifica se o resultado igual ao valor do campo da soma de verificao:NO - erro detectadoSIM - nenhum erro foi detectado. Mas pode conter erros? Mais sobre isto posteriormente .

Objetivo: detectar erros (ex., bits trocados) no segmento transmitido (nota: usado apenas na camada de transporte)

5: Camada de Enlace 5-nVerificao de redundncia cclica (CRC)Dados considerados como a seqncia de coeficientes de um polinmio (D) escolhido um polinmio Gerador, (G), (=> r+1 bits)Divide-se (mdulo 2) o polinmio D*2r por G. Acrescenta-se o resto (R) a D. Observa-se que, por construo, a nova seqncia agora exatamente divisvel por GReceptor conhece G, divide por G. Caso o resto seja diferente de zero: detectado erro!Pode detectar todos os erros em rajadas menores do que r+1 bitsLargamente usado na prtica (Ethernet, 802.11 WiFi, ATM)

5: Camada de Enlace 5-nExemplo de CRCQueremos:D.2r XOR R = nGde forma equivalente:D.2r = nG XOR R de forma equivalente : se dividirmos D.2r por G, queremos o resto R

101110000 10011001 101011 1010 1001 1100 1001 1010 1001 011

DGR5: Camada de Enlace 5-nImplementao em HardwareG=1001D.2r=1011100005: Camada de Enlace 5-nCamada de Enlace5.1 Introduo e servios5.2 Tcnicas de deteco e correo de erros 5.3 Protocolos de acesso mltiplo 5.4 Endereamento na Camada de Enlace5.5 Ethernet5.6 Comutadores da camada de enlace5.7 PPP: o protocolo ponto-a-ponto5.8 Virtualizao de enlace: uma rede como camada de enlace5.9 Um dia na vida de uma solicitao de pgina Web

5: Camada de Enlace 5-nEnlaces e Protocolos de Acesso MltiploDois tipos de enlaces:Ponto-a-ponto:PPP para acesso discadoConexo entre switch Ethernet e hospedeirobroadcast (cabo ou meio compartilhado);Ethernet tradicionalUpstream HFC802.11 LAN sem fioSatliteEtc.

5: Camada de Enlace 5-nProtocolos de Acesso Mltiplocanal de comunicao nico de broadcastinterferncia: quando dois ou mais ns transmitem simultaneamentecoliso se um n receber dois ou mais sinais ao mesmo tempo

Protocolo de acesso mltiploalgoritmo distribudo que determina como os ns compartilham o canal, isto , determina quando um n pode transmitircomunicao sobre o compartilhamento do canal deve usar o prprio canal!no h canal fora da faixa para coordenar a transmisso

5: Camada de Enlace 5-nProtocolo Ideal de Acesso MltiploPara um canal de broadcast com taxa de R bps:

1. Quando apenas um n tem dados para enviar, esse n obtm uma vazo de R bps.2. Quando M ns tm dados para enviar, cada um desses ns poder transmitir em mdia a uma taxa de R/M bps.3. Completamente descentralizadonenhum n especial (mestre) para coordenar as transmissesnenhuma sincronizao de relgios ou slots4. Simples para que sua implementao seja barata5: Camada de Enlace 5-nTaxonomia dos Protocolos MACTrs categorias gerais:Diviso de Canaldivide o canal em pequenos pedaos (slots/compartimentos de tempo, freqncia, cdigo)aloca pedao a um dado n para uso exclusivo desteAcesso Aleatriocanal no dividido, podem ocorrer colisesrecuperao das colisesRevezamentoNs se alternam em revezamento, mas ns que possuem mais dados a transmitir podem demorar mais quando chegar a sua vez5: Camada de Enlace 5-nProtocolos MAC de diviso de canal: TDMATDMA: Acesso Mltiplo por Diviso de Tempoacesso ao canal em turnos" cada estao recebe um comprimento fixo de compartimento (comprimento = tempo de tx do pacote) em cada turnocompartimentos no usados permanecem ociososExemplo: LAN com 6 estaes: compartimentos 1, 3 e 4 com pacotes, compartimentos 2, 5 e 6 ociosos

5: Camada de Enlace 5-nProtocolos de Acesso AleatrioQuando n tem um pacote para transmitirtransmite na taxa mxima R.nenhuma coordenao a priori entre os nsdois ou mais ns transmitindo coliso,O protocolo MAC de acesso aleatrio especifica: como detectar colisescomo se recuperar delas (atravs de retransmisses retardadas, por exemplo)Exemplos de protocolos MAC de acesso aleatrio:slotted ALOHAALOHACSMA, CSMA/CD, CSMA/CA5: Camada de Enlace 5-nCSMA (Acesso mltiplo com deteco de portadora)CSMA (Carrier Sense Multiple Access): Escuta antes de transmitir (deteco de portadora):Se o canal estiver livre: transmite todo o quadroSe o canal estiver ocupado, adia a transmisso

Analogia humana: no interrompa outros!5: Camada de Enlace 5-nColises no CSMA

colises ainda podem acontecer:atraso de propagao significa que dois ns podem no ouvira transmisso do outro coliso:todo o tempo de transmisso desperdiadoDisposio espacial dos ns nota:papel da distncia e atraso de propagao na determinao da probabilidade de coliso5: Camada de Enlace 5-nCSMA/CD (Deteco de Colises)CSMA/CD: deteco da portadora, adia a transmisso como no CSMAAs colises so detectadas em pouco tempoTransmisses que sofreram colises so abortadas, reduzindo o desperdcio do canalDeteco de colises:Fcil em LANs cabeadas: mede a potncia do sinal, compara o sinal recebido com o transmitidoDifcil em LANs sem fio: o receptor desligado durante a transmissoAnalogia humana: bate papo educado!5: Camada de Enlace 5-nDeteco de colises em CSMA/CD

5: Camada de Enlace 5-nProtocolos MAC de revezamentoProtocolos MAC de diviso de canal:Compartilha o canal eficientemente e de forma justa em altas cargasIneficiente em baixas cargas: atraso no canal de acesso, alocao de 1/N da largura de banda mesmo com apenas 1 n ativo!Protocolos MAC de acesso aleatrio:eficiente em baixas cargas: um nico n pode utilizar completamente o canalAltas cargas: overhead com colisesProtocolos de revezamento:Procura oferecer o melhor dos dois