Redes de Computadores Aula 14classes/coppe-redes-2011/slides/aula... · 2011-05-04 · Redes de...

Post on 27-Jun-2020

1 views 0 download

Transcript of Redes de Computadores Aula 14classes/coppe-redes-2011/slides/aula... · 2011-05-04 · Redes de...

   

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)