870 likes | 940 Views
transparências baseadas no livro “Computer Networking: A Top-Down Approach Featuring the Internet” James Kurose e Keith Ross http://occawlonline.pearsoned.com/bookbind/pubbooks/kurose-ross1/. Camadas de Enlace e Física. Nossos objetivos:
E N D
transparências baseadas no livro“Computer Networking: A Top-Down Approach Featuring the Internet”James Kurose e Keith Ross http://occawlonline.pearsoned.com/bookbind/pubbooks/kurose-ross1/ Camadas de Enlace e Física
Nossos objetivos: entender os princípios por trás dos serviços da camada de enlace: detecção de erros, correção compartilhando um canal broadcast: acesso múltiplo endereçamento da camada de enlace transferência de dados confiável, controle de fluxo: já visto! instanciação e implementação de várias tecnologias da camada de enlace Visão Geral: serviços da camada de enlace detecção de erros, correção protocolos de acesso múltiplo e LANs endereçamento da camada de enlace, ARP tecnologias específicas da camada de enlace: Ethernet hubs, pontes, switches PPP Capítulo 5: Camada de Enlace e Física
Camada de enlace: definindo o contexto fluxo real de PDUs Roteador R1 protocolo de enlace Roteador R2 Roteador R3 Roteador R3 Roteador R4
M H H H H H H H H H n l l t n t t t n M M aplicação transporte rede enlace física M Camada de enlace: definindo o contexto • dois elementos físicos fisicamente conectados: • host-roteador, roteador-roteador, host-host • unidade de dados: quadro (frame) rede enlace física protocolo de enlace M quadro enlace físico placa adaptadora
Serviços da Camada de Enlace • Enquadramento, acesso ao enlace: • encapsula datagramas em quadros, acrescentando cabeçalhos e trailer • implementa acesso ao canal se o meio é compartilhado • ‘endereços físicos’ usados nos cabeçalhos dos quadros para identificar a fonte e o destino dos quadros • diferente do endereço IP ! • Entrega confiável entre dois equipamentos fisicamente conectados: • já aprendemos como isto deve ser feito (Cam. Transp.)! • raramente usado em enlaces com baixa taxa de erro (fibra, alguns tipos de par trançado) • enlaces sem-fio (wireless): altas taxas de erro • Q: porque prover confiabilidade fim-a-fim e na camada de enlace?
Serviços da Camada de Enlace (cont.) • Controle de Fluxo: • limitação da transmissão entre transmissor e receptor • Detecção de Erros: • erros causados pela atenuação do sinal e por ruídos. • o receptor detecta a presença de erros: • avisa o transmissor para reenviar o quadro perdido • Correção de Erros: • o receptor identifica e corrige o bit com erro(s) sem recorrer à retransmissão
M H H H H H H H H H t n l t t n l t n M M aplicação transporte rede enlace física M Implementação: Camada de Enlace • implementado no “adaptador” • ex., placa PCMCIA, placa Ethernet • tipicamente inclui: RAM, chips DSP, interface com barramento do host, e interface do enlace rede enlace física protocolo de enlace M quadro enlace físico placa adaptadora
Detecção de Erros • EDC= Bits de Detecção e Correção de Erros (redundancia) • D = Dados protegidos pela verificação de erros, pode incluir os campos de cabeçalho • A detecção de erros não é 100% confiável! • protocolos podem deixar passar alguns erros, mas é raro • Quanto maior o campo EDC melhor é a capacidade de detecção e correção de erros
Verificação de Paridade Paridade Bi-dimensional: Detecta e corrige erros de um único bit Paridade com Bit único: Detecta erro de um único bit bit de paridade erro de paridade 0 0 erro de paridade sem erros erro de 1 bitcorrigível FEC – Forward Error Correction
Checksum da Internet Objetivo: detectar “erros” (ex. bits trocados) num segmento transmitido (nota: usado na camada de transporte e no cabeçalho da camada de redes) Já visto…
padrão de bits bits de dados a enviar fórmula matemática Verificação de Redundância Cíclica • encara os bits de dados, D, como um número binário • escolhe um padrão gerador de r+1 bits, G • objetivo: escolhe r CRC bits, R, tal que • <D,R> é divisível de forma exata por G (módulo 2) • receptor conhece G, divide <D,R> por G. Se o resto é diferente de zero: erro detectado! • pode detectar todos os erros em seqüência (burst errors) com comprimento menor que r+1 bits • largamente usado na prática (ATM, HDCL)
Exemplo de CRC Cálculo do código do checksum polinomial G: 1 0 0 1 1x4 + x+1 Aritmética polinomial ignora “vai-um” (carries/borrows) da adição e subtração.Operações são idênticas ao Ou Exclusivo: 10011011 11110000+ 11001010 - 10100110 ------------ ------------ 01010001 01010110
Enlaces de Acesso Múltiplo e Protocolos Três tipos de enlaces: • ponto-a-ponto (fio único, ex. PPP, SLIP) • difusão (broadcast: fio ou meio compartilhado;ex, Ethernet, Wavelan) • comutado (ex., switched Ethernet, ATM)
Protocolos de Acesso Múltiplo • canal de comunicação único e compartilhado • duas ou mais transmissões pelos nós: interferência • apenas um nó pode transmitir com sucesso num dado instante de tempo • protocolo de múltiplo acesso: • algoritmo distribuído que determina como as estações compartilham o canal, isto é, determinam quando cada estação pode transmitir • comunicação sobre o compartilhamento do canal deve utilizar o própro canal!
Protocolos MAC: uma taxonomia Três grandes classes: • Particionamento de canal • dividem o canal em pedaços menores (compartimentos de tempo, freqüência) • aloca um pedaço para uso exclusivo de cada nó • Acesso Aleatório • permite colisões • “recuperação” das colisões • Passagem de Permissão • compartilhamento estritamente coordenado para evitar colisões
Protocolos MAC com Particionamento de Canal: TDMA TDMA: acesso múltiplo por divisão temporal • acesso ao canal é feito por ”turnos" • cada estação controla um compartimento (“slot”) de tamanho fixo (tamanho = tempo de transmissão de pacote) em cada turno • compartimentos não usados são disperdiçados • exemplo: rede local com 6 estações: 1,3,4 têm pacotes, compartimentos 2,5,6 ficam vazios • TDM (Time Division Multiplexing): channel divided into N time slots, one per user; inefficient with low duty cycle users and at light load. • FDM (Frequency Division Multiplexing): frequency subdivided.
Protocolos MAC com Particionamento de Canal: FDMA FDMA: acesso múltiplo por divisão de freqüência • o espectro do canal é dividido em bandas de freqüência • cada estação recebe uma banda de freqüência • tempo de transmissão não usado nas bandas de freqüência é desperdiçado • exemplo: rede local com 6 estações: 1,3,4 têm pacotes, as bandas de freqüência 2,5,6 ficam vazias tempo bandas de freqüência
Protocolos de Acesso Aleatório • Quando o nó tem um pacote a enviar: • transmite com toda a taxa do canal R. • não há uma regra de coordenação a priori entre os nós • dois ou mais nós transmitindo -> “colisão”, • Protocolo MAC de acesso aleatório especifica: • como detectar colisões • como as estações se recuperam das colisões (ex., via retransmissões atrasadas) • Exemplos de protocolos MAC de acesso aleatório: • slotted ALOHA • ALOHA • CSMA e CSMA/CD
Slotted Aloha • tempo é dividido em compartimentos de tamanho igual (= tempo de transmissão de um pacote) • nó com pacote pronto: transmite no início do próximo compartimento • se houver colisão: retransmite o pacote nos futuros compartimentos com probabilidade p, até que consiga enviar. Compartimentos: Sucesso (S), Colisão (C), Vazio (E)
No máximo: uso do canal para envio de dados úteis: 37% do tempo! Eficiência do Slotted Aloha P: qual a máxima fração de compartimentos com sucesso? R: Suponha que N estações têm pacotes para enviar • cada uma transmite num compartimento com probabilidade p • prob. sucesso de transmissão, S, é: por um único nó: S= p (1-p)(N-1)
ALOHA Puro (unslotted) • unslotted Aloha: operação mais simples, não há sincronização • pacote necessita transmissão: • enviar sem esperar pelo início de um compartimento • a probabilidade de colisão aumenta: • pacote enviado em t0 colide com outros pacotes enviados em [t0-1, t0+1]
0.4 0.3 Slotted Aloha 0.2 0.1 Pure Aloha 1.5 2.0 0.5 1.0 G = carga oferecida = Np Aloha Puro (cont.) S = vazão = “goodput” (taxa de sucesso)
CSMA: Carrier Sense Multiple Access CSMA: escuta antes de transmitir: • Se o canal parece vazio: transmite o pacote • Se o canal está ocupado, adia a transmissão • CSMA Persistente: tenta outra vez imediatamente com probabilidade p quando o canal se torna livre (pode provocar instabilidade) (versão com slot qdo p <> 1) • CSMA Não-persistente: tenta novamente após um intervalo aleatório • analogia humana: não interrompa os outros!
Colisões no CSMA colisões podem ocorrer: o atraso de propagação implica que dois nós podem não ouvir as transmissões de cada outro colisão: todo o tempo de transmissão do pacote é desperdiçado nota: papel da distância e do atraso de propagação na determinação da probabilidade de colisão.
CSMA/CD (Detecção de Colisão) CSMA/CD: detecção de portadora, diferimento como no CSMA • colisões detectadas num tempo mais curto • transmissões com colisões são interrompidas, reduzindo o desperdício do canal • retransmissões persistentes ou não-persistentes • detecção de colisão: • fácil em LANs cabeadas: medição da intensidade do sinal, comparação dos sinais transmitidos e recebidos • difícil em LANs sem fio: receptor desligado enquanto transmitindo • analogia humana: o “bom-de-papo” educado
Protocolos MAC com Passagem de Permissão Protocolos MAC com particionamento de canais: • compartilham o canal eficientemente quando a carga é alta e bem distribuída • ineficiente nas cargas baixas: atraso no acesso ao canal. A estação consegue uma banda de 1/N da capacidade do canal, mesmo que haja apenas 1 nó ativo! Protocolos MAC de acesso aleatório • eficiente nas cargas baixas: um único nó pode usar todo o canal • cargas altas: excesso de colisões Protocolos de passagem de permissão buscam o melhor dos dois mundos! Determinismo
Protocolos MAC com Passagem de Permissão Token passing: • controla um token passado de um nó a outro sequencialmente. • mensagem token • problemas: • token overhead • latência • ponto único de falha (token) Polling: • nó mestre “convida” os escravos a transmitirem um de cada vez • Mensagens Request to Send e Clear to Send • problemas: • polling overhead • latência • ponto único de falha (mestre)
Endereços de LAN e ARP Endereços IP de 32-bit: • endereços da camada de rede • usados para levar o datagrama até a rede de destino (lembre da definição de rede IP) Endereço de LAN (ou MAC ou físico): • usado para levar o datagrama de uma interface física a outra fisicamente conectada com a primeira (isto é, na mesma rede) • Endereços MAC com 48 bits (na maioria das LANs) gravado na memória fixa (ROM) do adaptador de rede
Endereços de LAN e ARP Cada adaptador numa LAN tem um único endereço de LAN
Endereços de LAN (mais) • A alocação de endereços MAC é administrada pelo IEEE • O fabricante compra porções do espaço de endereço MAC (para assegurar a unicidade) • Analogia: (a) endereço MAC: semelhante ao número do CPF (b) endereço IP: semelhante a um endereço postal • endereçamento MAC é “flat” => portabilidade • é possível mover uma placa de LAN de uma rede para outra sem reconfiguração de endereço MAC • endereçamento IP “hierárquico” => NÃO portável • depende da rede na qual se está ligado
223.1.1.1 223.1.2.1 E B A 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 Lembre a discussão anterior sobre roteamento Começando em A, dado que o datagrama está endereçado para B (endereço IP): • procure rede.endereço de B, encontre B em alguma rede, no caso igual à rede de A • camada de enlace envia datagrama para B dentro de um quadro da camada de enlace endereço de origem e destino do quadro endereço de origem e destino do pacote end. IP de A end. IP de B endereço MAC de B end. MAC de A dados IP datagrama quadro
Questão: como determinar o endereço MAC de B dado o endereço IP de B? ARP: Address Resolution Protocol(Protocolo de Resolução de Endereços) • Cada nó IP (Host, Roteador) numa LAN tem um módulo e uma tabela ARP • Tabela ARP: mapeamento de endereços IP/MAC para alguns nós da LAN < endereço IP; endereço MAC; TTL> < ………………………….. > • TTL (Time To Live): tempo depois do qual o mapeamento de endereços será esquecido (tipicamente 20 min)
Protocolo ARP • A conhece o endereço IP de B, quer aprender o endereço físico de B • A envia em broadcast um pacote ARP de consulta contendo o endereço IP de B • todas as máquinas na LAN recebem a consulta ARP • B recebe o pacote ARP, responde a A com o seu (de B) endereço de camada física • A armazena os pares de endereço IP-físico até que a informação se torne obsoleta (esgota a temporização) • soft state: informação que desaparece com o tempo se não for re-atualizada
A Camada Física (Physical Layer) • Analógico: comportamento contínuo no tempo. • Digital: comportamento discreto no tempo. • Transmissão de dados • Unidirecional (Simplex) • - Bidirecional (Duplex) • Alternada (Half-duplex) • Simultânea (Full-duplex)
Comunicação Analógica X Digital • Transmissão analógica • Sinais analógicos industriais típicos: 0 a 20 mA, 4 a 20mA, +10V a –10V (toda a faixa é significativa) • Rede telefônica convencional: freqüência e amplitude das ondas sonoras convertida em sinal elétrico equivalente pelo microfone, transmitida (faixa 300 a 3400 Hz) e convertida em som no receptor pelo alto-falante. • Transmissão digital • Permite introduzir técnicas para detectar erros de transmissão (CRC, etc.) • Repetidores e reforçadores de sinal mais simples e eficientes • Pode-se ter sinal analógico e informação digital !
Modos de Transmissão • Forma de envio de bits: • - paralela => várias linhas => todas referenciadas a um terra comum => bom para curtas distâncias (~20m) • - serial => uma linha composta de um par de fios => usa diferença de potencial entre fios como sinal => bom para longas distâncias e mais barato • Temporização de caracteres: • - síncrona => intervalo de tempo entre caracteres consecutivos é fixo => cadência definida para cada bit por sinal de clock => clock enviado em fio separado ou codificado no sinal de dados • - assíncrona => não existe intervalo definido de tempo entre caracteres consecutivos => caracteres delimitados por start e stop bits, que permitem sincronização a nível de bits • - Em ambos os casos => necessária sincronia a nível de bits
Banda Base X Banda Larga • Baseband (banda base) • Suporte de transmissão usado por um único canal, que ocupa todo o espectro de freqüências • Broadband (banda larga) • -Suporte de comunicação dividido em múltiplos canais, com sinais modulados • -Requer MODEM (modulador / demodulador) => caro
Bit-rate X Baud-rate • Taxa de transmissão (bit rate): número de bits transmitidos por segundo, expressa em bps (bits per second). • Taxa de sinalização (baud rate): número de intervalos de sinalização (mudanças de amplitude) por segundo do sinal, expressa em bauds. • Se usarmos uma amplitude para 0 e outra para 1, então baudrate = bitrate. • Se utilizarmos um nível de amplitude para 2 bits (dibits), então baudrate = bitrate/2. • Se usarmos um nível de amplitude para 3 bits (tribits), então baudrate = bitrate/3. • Para codificar n bits agrupados em um mesmo nível de amplitude, são necessários 2n amplitudes.
Bit-rate X Baud-rate • Relação entre baudrate e bitrate: • n = número de bits representados por cada nível de amplitude. • L = número de níveis de amplitude necessários = 2n • bitrate = log2 L . baudrate • Exemplos: • Isto explica como um modem capaz de gerar apenas 9.600 intervalos de sinalização por segundo (9.600 baud) pode transmitir 28.800 bps: ele opera com tribits, ou seja, 3 bits codificados em 8 níveis de tensão.
Modulação (broadband) Banda base Broadband • Possível combinar técnicas • Ex. QAM-16 (Quadrature Amplitude Modulation) combina 4 amplitudes e 4 fases, permitindo 16 valores por transição do sinal. Ou seja, 4 bits por baud (24 = 16); bitrate = 4 * baud rate amplitude freqüência fase
Codificação e Sincronização de Bits (Baseband) • transmissão serial de dados requer sincronização entre emissor e receptor • receptor tem que amostrar sinal na mesma freqüência em que este foi gerado • - freqüência do sinal define o “tempo bit” (intervalo de sinalização) • - amostragem deve ocorrer aprox. no meio do tempo bit
Codificação e sincronização de bits - sinal de sincronização pode ser enviado em fio separado daquele que envia a mensagem => funciona bem, permite altas freqüências de transmissão, mas mais caro - requer cabo com 4 fios => 2 para dados e 2 para sinal de sincronização
Codificação e sincronização de bits • - outra opção: codificar na própria mensagem sinais que geram sincronização • - transições (flancos) facilmente detectáveis eletronicamente • - outras formas de codificação de bits foram criadas para este fim: • - Codificação RZ (Return to Zero):
Codificação e Sincronização de Bits - Codificação Manchester : Obs.: baudrate = 2 x bitrate!
Codificação e Sincronização de Bits • Codificação Manchester diferencial • 0 = transição 1 = falta de transição 1 0 0 1 1 1 0 1 tempo bit
A camada de Enlace de Dados (Data Link Layer) • - Geralmente decomposta em 2 subcamadas (proposta IEEE): • MAC (Medium Access Control): controle de acesso ao meio (muito importante em redes de difusão) • LLC (Logical Link Control): controle lógico de enlace, faz todas as demais funções e oferece serviços à camada logo acima • IEEE 802.2 - LLC • IEEE 802.3 – 1-Persistente CSMA-CD (Ethernet ->Xerox) • IEEE 802.4 – Token Bus (Fisico:Barramento, Lógico:Anel) • IEEE 802.5 – Token Ring – Passagem de Ficha em Anel (IBM)
Subcamada LLC • Classes de serviços de enlace: • sem conexão e sem reconhecimento • não há como recuperar quadro perdido • usado em sistemas com meio físico pouco sujeito à ruídos ou com controle de erros em outra camada • sem conexão com reconhecimento • controle de perda de quadros: se reconhecimento não recebido antes de time-out, repetir envio • com conexão • garante não perda, não repetição e seqüência correta de quadros • requer 3 etapas: estabelecer conexão, transmitir dados, liberar conexão
Ethernet Tecnologia de rede local “dominante” : • barato R$30 por 100Mbs! • primeira tecnologia de LAN largamente usada • Mais simples, e mais barata que LANs com token e ATM • Velocidade crescente: 10, 100, 1000 Mbps Esboço da Ethernet por Bob Metcalf
Estrutura do Quadro Ethernet Adaptador do transmissor encapsula o datagrama IP (ou outro pacote de protocolo da camada de rede) num quadro Ethernet Preâmbulo: • 7 bytes com padrão 10101010 seguido por um byte com padrão 10101011 • usado para sincronizar transmissor e receptor
Estrutura do Quadro Ethernet (mais) • Endereços: 6 bytes, quadro é recebido por todos os adaptadores e descartado se o endereço do quadro não coincide com o endereço do adaptador • Tipo: indica o protocolo da camada superior, geralmente é o protocolo IP mas outros podem ser suportados tais como Novell IPX e AppleTalk) • CRC: verificado no receptor, se um erro é detectado, o quadro é simplesmente descartado.