Figueiredo – 2011
Redes de ComputadoresAula 14
Aula passadaRoteamento na Internet (hierarquia)BGPAlgoritmos de broadcast
Aula de hojeCamada de enlaceServiçosTransmissão confiável (integridade)
Figueiredo – 2011
Camada de EnlaceEnlace (link): canal de comunicação entre dois hosts adjacentesMuitos tipos diferentes
com ou sem fio linksdois ou múltiplos hosts
Pacote na camada de enlace é chamado de quadro (frame)Objetivo: transferir frame pelo enlace entre dois hosts
Figueiredo – 2011
Serviços da Camada de Enlace
Transmissão confiável de dados pelo enlace
detecção e correção de erros, controle de fluxo
Acesso ao enlace
meio físico é compartilhado (ex. rede sem fio)
Endereçamento na camada de enlace
diferente do IP. Por que?
Implementação de diferentes tecnologias (e seus muitos protocolos)
camada rica, com grande diversidade!
Figueiredo – 2011
Onde a camada de enlace é implementada?
Implementada no “adaptador” (aka network interface card, NIC)
Placa Ethernet, adaptador 802.11, chip on-boardImplementa camada física e camada de enlace
Múltiplos adaptadores em um mesmo host
Bluetooth, 3G, Wi-Fi
Se conecta ao barramento do sistema (interface entre SO e dispositivo)Combinação de hardware, software e firmware
controller
physicaltransmission
cpu memory
host bus (e.g., PCI)
network adaptercard
host schematic
applicationtransportnetwork
link
linkphysical
Figueiredo – 2011
Comunicação entre NICs
sending side:encapsulates datagram in frameadds error checking bits, rdt, flow control, etc.
receiving sidelooks for errors, rdt, flow control, etcextracts datagram, passes to upper layer at receiving side
controller controller
sending host receiving host
datagram datagram
datagram
frame
Figueiredo – 2011
Transmissão Confiável
Por que transmissão no enlace não é confiável ?
Bits podem “pular”
Por que bits podem mudar de valor durante transmissão?
Interferência, atenuação do sinal
Como resolver este problema ?
Ideias fundamentais?
Figueiredo – 2011
Garantindo Integridade
Problema fundamental: detectar que os bits pularam (“erro” nos bits)
Ideia geral: redundância
Transmitir mais bits para detectar se algum pulou
Redundância dever ser “resumo” dos bits de dados
Calcular resumo para os bits que chegaram e comparar com resumo que chegou
Figueiredo – 2011
Como Gerar Redundância
Função F (gera resumo)
entrada bits de dado (D), saída resumo (R, redundância)
D = 01010010101101001
F
R = 1010
Exemplo de funções F?
Questões importantes: tamanho de D, tamanho de R
Tradeoffs?
Figueiredo – 2011
Error DetectionEDC= Error Detection and Correction bits (redundancy)D = Data protected by error checking, may include header fields
• Error detection not 100% reliable!• protocol may miss some errors, but rarely• larger EDC field yields better detection and correction
otherwise
Figueiredo – 2011
Parity Checking
Single Bit Parity:Detect single bit errors
Two Dimensional Bit Parity:Detect and correct single bit errors
0 0
Figueiredo – 2011
Internet checksum (review)
Sender:treat segment contents as sequence of 16-bit integerschecksum: addition (1’s complement sum) of segment contentssender puts checksum value into UDP checksum field
Receiver:compute checksum of received segmentcheck if computed checksum equals checksum field value:
NO - error detectedYES - no error detected. But maybe errors nonetheless?
Goal: detect “errors” (e.g., flipped bits) in transmitted packet (note: used at transport layer only)
Figueiredo – 2011
Checksumming: Cyclic Redundancy Check
view data bits, D, as a binary numberchoose r+1 bit pattern (generator), G goal: choose r CRC bits, R, such that
<D,R> exactly divisible by G (modulo 2) receiver knows G, divides <D,R> by G. If non-zero remainder: error detected!can detect all burst errors less than r+1 bits
widely used in practice (Ethernet, 802.11 WiFi, ATM)
Top Related