Camada de Ligação de Dados - fenix.tecnico.ulisboa.pt · com 0 < S < 1 (se S>1 a taxa de...

40
1º Semestre 2007/2008 Redes de Computadores 5.1 Camada de Ligação de Dados Serviços Detecção e correcção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs “Hubs” e Pontes de interligação Tecnologias da camada de ligação de dados Ethernet Anel com testemunho Redes locais sem fios PPP ATM 1º Semestre 2007/2008 Redes de Computadores 5.2 Camada de Ligação de Dados Os canais de comunicação que interligam dois nós adjacentes serão designados por ligações ou conexões e podem ser de vários tipos Cabos eléctricos ou ópticos ponto a ponto Canais rádio ponto a ponto Canais partilhados com acesso múltiplo (LAN’s) Os pacotes do nível de ligação de dados designam-se por tramas. As tramas são usadas para transportar datagramas de um nó para o nó adjacente. “link”

Transcript of Camada de Ligação de Dados - fenix.tecnico.ulisboa.pt · com 0 < S < 1 (se S>1 a taxa de...

1º Semestre 2007/2008 Redes de Computadores 5.1

Camada de Ligação de Dados

• Serviços• Detecção e correcção de erros• Protocolos de Acesso Múltiplo• Endereçamento em LANs• “Hubs” e Pontes de interligação• Tecnologias da camada de ligação de dados

– Ethernet– Anel com testemunho– Redes locais sem fios– PPP– ATM

1º Semestre 2007/2008 Redes de Computadores 5.2

Camada de Ligação de Dados

• Os canais de comunicação que interligam dois nós adjacentes serão designados por ligações ou conexões e podem ser de vários tipos

– Cabos eléctricos ou ópticos ponto a ponto

– Canais rádio ponto a ponto

– Canais partilhados com acesso múltiplo (LAN’s)

– …

• Os pacotes do nível de ligação de dados designam-se por tramas. As tramas são usadas para transportar datagramas de um nó para o nó adjacente.

“link”

1º Semestre 2007/2008 Redes de Computadores 5.3

Serviços da camada de ligação de dados

• Construção e delimitação de tramas:– Encapsulamento de datagramas adicionando cabeçalho e terminação

• Acesso ao canal (meio)– Definição dos procedimentos no caso de meio partilhado

– Gestão de identificadores de origem e destino - endereços “MAC”

• Transmissão fiável entre nós adjacentes– Dependendo do tipo de ligação pode ser necessário usar técnicas específicas de

transmissão fiável

1º Semestre 2007/2008 Redes de Computadores 5.4

Serviços da camada de ligação de dados (cont.)

• Controlo de fluxo

• Detecção de erros– Tratamento de erros causados por ruído no canal de comunicação.

• Pedido de repetição de tramas

• Descarte da trama

• Correcção de erros

• Serviço “half-duplex” ou “full-duplex”

1º Semestre 2007/2008 Redes de Computadores 5.5

Realização

• Camada de ligação de dados muitas vezes realizada num adaptador autónomo (“Network Interface Card” – NIC)

– Placa Ethernet, PCMCI ou 802.11

trama

datagrama

trama

adaptador adaptador

Protocolo de nível 2

1º Semestre 2007/2008 Redes de Computadores 5.6

Camada de Ligação de Dados

• Serviços• Detecção e correcção de erros• Protocolos de Acesso Múltiplo• Endereçamento em LANs• “Hubs” e Pontes de interligação• Tecnologias da camada de ligação de dados

– Ethernet– Anel com testemunho– Redes locais sem fios– PPP– ATM

1º Semestre 2007/2008 Redes de Computadores 5.7

Detecção de erros

• Introdução de bits calculados em função dos bits de dados – redundância

• Principais técnicas:- Paridade (uni- ou multidimensional)- Soma de verificação (“checksum”)- Código cíclico de verificação (“Cyclic Redundancy Code” – CRC)

• Os erros só são detectados se no receptor, os bits redundantes calculados, forem diferentes dos inscritos na trama.

Dados Bits Redundantes

Canal com ruído

“Dados” “Bits Redundantes”

1º Semestre 2007/2008 Redes de Computadores 5.8

Paridade

• Bit de paridade

• Detecta um número ímpar de bits errados

• Paridade bidimensional– horizontal

– vertical

• Um erro simples pode ser corrigido

0111000110101011 1 10101 1

11110 0

01110 1

00101 0

1º Semestre 2007/2008 Redes de Computadores 5.9

Código Cíclico de Verificação - CRC

• Mensagem de m bits é interpretada como sendo um polinómio M(x) de grau inferior a m

• Polinómio gerador de grau r

• Cálculo do CRC– Dividendo é xr M(x)

– Divisor é G(x)

– Divisão módulo 2 produz resto R(x), de grau inferior a r

– Mensagem transmitida é T(x) = xr M(x) + R(x)

– Notar que T(x) é divisível por G(x)

• Detecção de erros– Se a mensagem recebida for divisível por G(x) então não se detectam erros

1º Semestre 2007/2008 Redes de Computadores 5.10

CRC - Exemplo

M(x) = x7 + x4 + x3 + x1

G(x) = x3 + x2 + 1

x3 M(x) = x10 + x7 + x6 + x4

R(x) = x2 + 1

x3 M(x) + R(x) = x10 + x7 + x6 + x4 + x2 + 1

1101

10011010

10011010000

101

10011010101

10011010000 11011101 111110011001110110001101

10111101

1100110100100000

0100000010001101101

1º Semestre 2007/2008 Redes de Computadores 5.11

CRC – Propriedades

• Mensagem recebida é T(x) + E(x), em que E(x) é o padrão de erros

• Padrão de erros é detectado se e só se E(x) não é divisível por G(x)

• Erros simples são detectados, se G(x) tiver mais do que um termo

• Número ímpar de erros são detectados, se G(x) tiver x + 1 como factor

• Rajadas de erros de comprimento inferior ou igual a r são detectadas, se G(x) tiver grau r e incluir o termo 1

• Rajadas de erros de comprimento r + 1 só não são detectadas com probabilidade 1 / 2 r – 1, se G(x) tiver grau r e incluir o termo 1

1º Semestre 2007/2008 Redes de Computadores 5.12

CRC – Polinómios utilizados

G(x) = x8 + x2 + x1+ 1G(x) = x10 + x9 + x5+ x4 +x1 + 1G(x) = x12 + x11 + x3 + x2 + 1G(x) = x16 + x12 + x5+ 1G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11

+ x10 + x8 + x7 + x5 + x4 + x2 + x1+ 1

CRC-8CRC-10CRC-12CRC-CCITTCRC-32

1º Semestre 2007/2008 Redes de Computadores 5.13

CRC - Realização

CRC é fácil de realizar em “hardware” recorrendo a registos de deslocamento

dadosG(x) = x3 + x2 + 1

1xx2

XOR XOR

FFFF FF

1º Semestre 2007/2008 Redes de Computadores 5.14

Camada de Ligação de Dados

• Serviços• Detecção e correcção de erros• Protocolos de Acesso Múltiplo• Endereçamento em LANs• “Hubs” e Pontes de interligação• Tecnologias da camada de ligação de dados

– Ethernet– Anel com testemunho– Redes locais sem fios– PPP– ATM

1º Semestre 2007/2008 Redes de Computadores 5.15

Acesso múltiplo

O problema do acesso múltiplo:

Controlo da comunicação em meios partilhados simultaneamente por mais do que duas estações

Objectivos:

Maximizar o número de mensagens transferidas com sucesso por unidade de tempo (débito);

Minimizar o tempo médio de espera para obter o acesso ao meio.

Objectivos:

Maximizar o número de mensagens transferidas com sucesso por unidade de tempo (débito);

Minimizar o tempo médio de espera para obter o acesso ao meio.

1º Semestre 2007/2008 Redes de Computadores 5.16

Acesso múltiplo

Soluções simples:

• Técnica de atribuição fixa de recursos, por exemplo, TDMA, FDMA, CDMA.

• Técnica de acesso centralizado, em que um moderador interroga cada estação participante àcerca da intenção de transmitir.

Solução alternativa:• Técnica de acesso distribuído – onde todas as estações têm funções idênticas no

processo de comunicação.

Problemas:• Quando existem vários emissores à espera de vez, qual o próximo a transmitir ?

• Como se evitam as colisões (transmissão simultânea) ?

1º Semestre 2007/2008 Redes de Computadores 5.17

Acesso múltiplo

Contexto dos esquemas de acesso múltiplo:

– Redes Locais com Fios

– Redes Locais sem Fios

– Redes de pacotes com acesso rádio

– Telefonia celular

– Comunicações via satélite

1º Semestre 2007/2008 Redes de Computadores 5.18

Acesso múltiplo: métricas de desempenho

• Débito normalizado (Normalized throughput ou goodput )Ritmo utilizado para transferir informação útil.

Exclui o overhead dos protocolos, colisões e retransmissões.

Ritmo utilizado para transferir informação útil.

Exclui o overhead dos protocolos, colisões e retransmissões.

• Atraso médio (Average Delay)Tempo médio que um pacote tem de esperar antes de ser transmitido com sucesso (incluindo o tempo de transmissão)

Tempo médio que um pacote tem de esperar antes de ser transmitido com sucesso (incluindo o tempo de transmissão)

1º Semestre 2007/2008 Redes de Computadores 5.19

Acesso múltiplo: métricas de desempenho

Justiça no acesso (Fairness)

Todas as estações têm de ter igual oportunidade de transmissão num intervalo de tempo finito

Todas as estações têm de ter igual oportunidade de transmissão num intervalo de tempo finito

Estabilidade (Stability)Num meio muito sobrecarregado, as colisões vão originar retransmissões de pacotes que podem novamente colidir, gerando novas retransmissões (o débito normalizado diminui drasticamente);

Um mecanismo de acesso ao meio deve controlar estas situações, garantindo estabilidade mesmo em períodos de carga elevada.

Num meio muito sobrecarregado, as colisões vão originar retransmissões de pacotes que podem novamente colidir, gerando novas retransmissões (o débito normalizado diminui drasticamente);

Um mecanismo de acesso ao meio deve controlar estas situações, garantindo estabilidade mesmo em períodos de carga elevada.

1º Semestre 2007/2008 Redes de Computadores 5.20

Acesso múltiplo: técnicas de acesso distribuído

Algumas das técnicas mais conhecidas:

ALOHA (puro e sincronizado)

Carrier Sense Multiple Access (CSMA)

Polling distribuído

Probing distribuído

Passagem de testemunho (Token Passing)

1º Semestre 2007/2008 Redes de Computadores 5.21

Acesso múltiplo: ALOHA

ALOHA - Características

1970 – Norman Abramson, Universidade do Hawaii

• O método mais simples de acesso ao meio partilhado.

• As estações transmitemtransmitem sempresempre que tiverem informação para enviar.• Quando duas ou mais estações transmitem simultaneamente – i.e. ocorre colisão –nenhum pactote/trama é bem recebido .• Em caso de colisão a estação emissora espera um tempo aleatório antes de enviar novamente a informação.

1º Semestre 2007/2008 Redes de Computadores 5.22

Acesso múltiplo: ALOHA puro

Colisões

Neste esquema (Aloha Puro) os instantes de transmissão são arbitrários.

A

B

C

D

Quando há colisão todo o pacote éperdido

Mesmo em situações que afectem apenas o úúltimoltimo bit dum pacote e o primeiroprimeiro do outro

1º Semestre 2007/2008 Redes de Computadores 5.23

Acesso múltiplo: ALOHA puro

Período de vulnerabilidade

Desde que se inicia a transmissão, quanto tempo se espera até detectar colisões ?

T – tempo de transmissão duma trama

t0 – Início da transmissão da trama

t0 + T – Colisão com o início da trama I

t0 + 2T –Colisão com o fim da trama

t0 t0+T t0+2T t0+3T

T

Período de vulnerabilidade

1º Semestre 2007/2008 Redes de Computadores 5.24

Acesso múltiplo: ALOHA puro

Análise simples de desempenho

Hipóteses (simplificativas) :> geração de tramas novas de acordo com processo de

Poisson com média S tramas/tempo_de_trama;

> modelo de população infinita de utilizadores (estações);com 0 < S < 1 (se S>1 a taxa de geração de tramas seria superior à taxa que o canal poderia escoar);

> tentativas de transmissão (incluindo retransmissões):processo de Poisson, com média G tramas/tempo_de_trama).

1º Semestre 2007/2008 Redes de Computadores 5.25

Acesso múltiplo: ALOHA puro

Análise simples de desempenho (contin.)

> Período vulnerável: 2 x Tempo_de_trama> Débito normalizado:

S = G . P0

com S=throughput; G=tentativas de transmissão; P0 = probabilidade de não haver colisão;

> Probabilidade de serem geradas k tramas durante o período vulnerável (Poisson com parâmetro 2G):

Prob [k] = (2G)k e-2G / k!> Tem-se:

P0 = e-2G

S = G e-2G Smax = 1/(2e) quando G= ½

1º Semestre 2007/2008 Redes de Computadores 5.26

Acesso múltiplo: ALOHA sincronizado

S-ALOHA ou Synchronized ALOHA (variante do anterior )

Objectivo: aumentar a eficiência da rede (relativamente ao esquema ALOHA puro)

Estratégia: Reduzir o período de vulnerabilidade

Método:Dividir o tempo em slots de dimensão T

Quando uma estação pretende enviar um pacote espera o próximo slotPressupostos de implementação:

Sincronização entre as estaçõesExiste uma estação que emite um sinal de relógio

1º Semestre 2007/2008 Redes de Computadores 5.27

Demasiado grande?

Acesso múltiplo: ALOHA puro e sincronizado

Resumo de operações :

BackOff++

Colisão

EsperaBackOff

Desiste

Sim

Não

Não

ALHOA

FimEnviaEspera

Slot Time

Sim

S-ALHOA

Espera RTT

1º Semestre 2007/2008 Redes de Computadores 5.28

Acesso múltiplo: ALOHA sincronizado

Período de vulnerabilidade

A Trama I é atrasada para o próximo slot

Só há colisões para tramas que sejam transmitidas no mesmo slot

Trama I

t0 t0+T t0+2T t0+3T

T

Período de vulnerabilidade

1º Semestre 2007/2008 Redes de Computadores 5.29

Acesso múltiplo: ALOHA sincronizado

Análise simples de desempenho

Hipóteses (simplificativas) :> tal como anteriormente, geração de tramas novas é feita de acordo com

um processo de Poisson com média S tramas/tempo_de_trama;

> modelo de população infinita de utilizadores (estações), com 0 < S < 1 (se S>1 a taxa de geração de tramas seria superior à taxa que o canal poderia escoar)

> tentativas de transmissão (incluindo retransmissões): também um processo de Poisson, com média G (tramas/tempo_de_trama)

1º Semestre 2007/2008 Redes de Computadores 5.30

Acesso múltiplo: ALOHA sincronizado

Análise simples de desempenho (continuação)

> Agora tem-se um período vulnerável igual a Tempo_de_trama> Débito normalizado:

S = G . P0

com S=throughput; G=tentativas de transmissão; P0 = probabilidade de não haver colisão;

> Probabilidade de serem geradas k tramas durante o período vulnerável:

Prob [k] = (G)k e-G / k!(considerando um intervalo equivalente a Tempo_de_trama)

1º Semestre 2007/2008 Redes de Computadores 5.31

Acesso múltiplo: ALOHA sincronizado

Análise simples de desempenho (continuação)

> Portanto

P0 = e-G

S = G e-G Smax = 1/e quando G = 1

Isto é, quando G = 1 (a melhor situação), 37% dos slots estão livres, 37% são sucessos (=1/e) e 26% colisões.

1º Semestre 2007/2008 Redes de Computadores 5.32

Acesso múltiplo: ALOHA sincronizado

Comparação:Comparação:

1º Semestre 2007/2008 Redes de Computadores 5.33

Acesso múltiplo: Carrier Sense Multiple Access (CSMA)

A característica básica introduzida no esquema CSMA consiste nadetecção de portadora (Carrier Sense) - cada estação tem a possibilidade de detectar actividade no meio

• Factor importante: o tempo que uma mensagem demora a ser detectada na estação mais remota

A característica básica introduzida no esquema CSMA consiste nadetecção de portadora (Carrier Sense) - cada estação tem a possibilidade de detectar actividade no meio

• Factor importante: o tempo que uma mensagem demora a ser detectada na estação mais remota

1º Semestre 2007/2008 Redes de Computadores 5.34

Acesso múltiplo: CSMA

Variantes básicas (para efeitos de início de transmissão):

Análise do estado do meioNão persistente – amostra o meio de transmissão em intervalos de tempo aleatórios;Persistente – está continuamente a amostrar o meio;

Minimização de colisões e controlo da estabilidade do sistena (especialmente importante para o esquema persistente):

Algoritmo Binary Exponential Backoff

1º Semestre 2007/2008 Redes de Computadores 5.35

Acesso múltiplo: CSMA

CSMA 1-persistente (designação abreviada: CSMA P1)

Escuta Livre Envia

Ocupado

Procedimento : • Se o meio estiver ocupadomeio estiver ocupado, a estação fica fica continuamente a avaliar o continuamente a avaliar o estado do meio.

• Caso esteja livre, transmite de imediato

Problema: Se existirem várias estações à espera para transmitir, vão iniciar a transmissiniciar a transmissãão em simulto em simultââneoneo

1º Semestre 2007/2008 Redes de Computadores 5.36

Acesso múltiplo: CSMA

CSMA – Não persistente (abreviado: CSMA NP)

Escuta Livre Envia

Ocupado

Espera TAleat

Procedimento:

• Se o meio estiver ocupadomeio estiver ocupado, a estação espera um espera um tempo aleattempo aleatóóriorio antes de voltar a verificar o estado de meio (i.e., antes de escutar de novo) .

• Caso esteja livre, transmite de imediato.

Se existirem várias estações à espera de transmitir, estas podem não detectar o meio livre ao mesmo tempo

5.37

Acesso múltiplo: CSMA

CSMA p-persistente (Pp)

Escuta Livre Envia

Espera1 slot

Ocupado

p

1-p

Procedimento:

• Se o meio estiver ocupadomeio estiver ocupado, a estação espera um tempo fixoespera um tempo fixo antes de voltar a verificar o estado de meio.• Caso esteja livre:

• envia com uma probabilidade p• espera 1 slot com uma probabilidade 1- p

Problema: Qual o valor óptimo de p ? Compromisso entre tempo de espera e desempenho, para situações de carga elevada

1º Semestre 2007/2008 Redes de Computadores 5.38

Acesso múltiplo: CSMA

Tratamento de colisões

Variantes/ExemplosCSMA/CA Collision Avoidance

A estação só transmite quando recebe a confirmação (pacote CTS) da recepção correcta do pacote RTS; depois disso transmite os dados (esquema normalizado: IEEE 802.11)

CSMA/CD Collision DetectionTransmite sempre, detecta colisões e tem mecanismos para as resolver (esquema

usado na Ethernet: IEEE 802.3)

1º Semestre 2007/2008 Redes de Computadores 5.39

Acesso múltiplo: CSMA

CSMA/CD - Collision DetectionO algoritmo opera em três “estados”: contenção, transmissão e inactivo

Acesso múltiplo: CSMA

Um modelo simplificado para a análise de desempenho (idêntico a um dos modelos anteriores no contexto de ALOHA sincronizado):

> assume-se que k estações estão sempre prontas para transmitir, num dado slot de duração 2τ, com probabilidade p (em vez de se considerar binary exponential backoff, para simplificar)

==> probabilidade, A, de que uma estação “capture” o canal: A = k.p (1-p)k-1

O valor de A é máximo quando p = 1/k e vale A=1/e quando k →∞

==> probabilidade de que um intervalo de contenção tenha exactamente j slots: A(1-A)j-1

==> número médio de slots por cada período de contenção : 1/A

==> Utilização do canal:

U = (F/B) / (F/B + 2τ/A)onde F = tamanho das tramas e B = capacidade do canal

1º Semestre 2007/2008 Redes de Computadores 5.41

Acesso múltiplo

•Comparação de desempenho (ALOHA e variantes CSMA) :

1º Semestre 2007/2008 Redes de Computadores 5.42

Acesso múltiplo: Protocolos de atribuição dinâmica

Exemplo de protocolo: Anel de testemunho (testemunho circula entre os nós)

• Nó detém o testemunho– Tem acesso exclusivo ao canal, enquanto detém o testemunho

– Pode transmitir um número máximo, pré-acordado, de tramas ou então deter o testemunho durante um intervalo máximo pré-acordado.

– Depois de usar o canal tem que passar o testemunho ao próximo nó (i.e. repor o testemunho no anel)

• Protocolos de atribuição dinâmica vs. protocolos de acesso aleatório– Protocolos de atribuição dinâmica permitem uma melhor utilização do canal

(principalmente em períodos de carga elevada)

– Protocolos de acesso aleatório impõem atrasos menores em cargas baixas

– Protocolos de atribuição dinâmica requerem gestão do testemunho

– Protocolos de acesso aleatório têm que ser controlados contra comportamentos instáveis

1º Semestre 2007/2008 Redes de Computadores 5.43

Camada de Ligação de Dados

• Serviços

• Detecção e correcção de erros

• Protocolos de Acesso Múltiplo

• Endereçamento em LANs

• “Hubs” e Pontes de interligação

• Tecnologias da camada de ligação de dados– Ethernet

– Anel com testemunho

– Redes locais sem fios

– PPP

– ATM

1º Semestre 2007/2008 Redes de Computadores 5.44

Endereçamento em LANs

• Endereços IP, camada de rede– Servem para expedir um datagrama com destino numa qualquer rede IP– Hierárquicos– Não são portáveis– 32 bits

• Endereços físicos (ou endereços MAC), camada da ligação de dados

– Servem para expedir uma trama com destino na mesma rede IP– Horizontais– Portáveis– 48 bits

1º Semestre 2007/2008 Redes de Computadores 5.45

Expedição de tramas

• A consulta uma tabela para fazer a tradução (Endereço IP, Endereço MAC)

• A encapsula o datagrama numa trama MAC

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4

A

B

IP origem IP destino

MAC destino

MAC origem

1A-23-F9-CD-06-9B

5C-66-AB 90-75-B1

1A-23-F9-CD-06-9B

5C-66-AB-90-75-B1

Endereço IP Endereço MAC Tempo

223.1.1.3 1A-23-F9-CD-06-9B 20:15

223.1.1.4 E6-E9-00-17-BB-4B 22:32

E6-E9-00-17-BB-4B

1º Semestre 2007/2008 Redes de Computadores 5.46

Address Resolution Protocol (ARP)

• A sabe o endereço IP de B e pretende saber o seu endereço MAC

• A difunde uma trama ARP de interrogação contendo o endereço IP de B

– Trama é recebida por todas as interfaces na LAN

• B reconhece o seu endereço IP na trama ARP de interrogação e responde a A com uma trama ARP de resposta que contem o seu endereço MAC

– B fica a saber o par (Endereço IP de A, Endereço MAC de A)

• A recebe a trama ARP de resposta e guarda em memória o par (Endereço IP de B, Endereço MAC de B)

• Os pares (Endereço IP, Endereço MAC) são datados

1º Semestre 2007/2008 Redes de Computadores 5.47

Diagrama temporal

A

E

R

A R EARP

interrogação

ARP interrogação

ARP resposta

ARP resposta

Trama de dados

Trama de dados

1º Semestre 2007/2008 Redes de Computadores 5.48

Camada de Ligação de Dados

• Serviços• Detecção e correcção de erros• Protocolos de Acesso Múltiplo• Endereçamento em LANs• “Hubs” e Pontes de interligação• Tecnologias da camada de ligação de dados

– Ethernet– Anel com testemunho– Redes locais sem fios– PPP– ATM

1º Semestre 2007/2008 Redes de Computadores 5.49

Exemplos:• Rede Local (LAN)

– 10Base2 (segmento de cabo coaxial, 10 Mbps – todas as tramas enviadas são recebidas em todas as interfaces)

1º Semestre 2007/2008 Redes de Computadores 5.50

Exemplos• Rede Local (LAN)

– 10BaseT

1º Semestre 2007/2008 Redes de Computadores 5.51

Interligação de redes locais - Pontes (“Bridges”)

• Dispositivos do nível de ligação de dados: operam em tramas examinando os cabeçalhos e expedindo-as de acordo com o seu destino

• Uma Ponte (“Bridge”) isola domínios de colisão uma vez que dispõe de memória para armazenar tramas

• Pode interligar vários tipos de LAN’s

• A existência de uma Ponte numa LAN não envolve nenhuma modificação nos adaptadores dos computadores da LAN

1º Semestre 2007/2008 Redes de Computadores 5.52

Pontes: filtragem de tramas

• As pontes aprendem que computadores estão ligados a cada uma das suas interfaces (construção e actualização de tabelas de filtragem)– quando uma trama é recebida a ponte “aprende” a posição do emissor (endereço

origem da trama)

– memoriza a posição numa tabela de filtragem

• Entradas da tabela de filtragem: – Colecção de 3 valores: endereço LAN, interface, rótulo temporal

– Cada entrada tem um tempo de vida pré-determinado (e.g., 60 m)

• Procedimento de filtragem:if destination is on LAN on which frame was received

then drop the frame

else { lookup filtering table

if entry found for destination

then forward the frame on interface indicated;

else flood; /* forward on all but the interface on which the frame arrived*/

}

1º Semestre 2007/2008 Redes de Computadores 5.53

Pontes: exemplo de aprendizagem C envia uma trama a D e D responde com uma trama para C

• C envia trama e a ponte não tem informação sobre D: a ponte usa a técnica de inundação nas LAN’s que lhe estão ligadas

– a ponte “aprende” que C está no porto 1

– a trama replicada é ignorada na LAN associada ao porto 3

– a trama é recebida em D

1º Semestre 2007/2008 Redes de Computadores 5.54

Pontes: exemplo de aprendizagem

• D responde a C – a ponte “aprende” que D está na LAN associada à interface 2

– a ponte “sabe” que C está na LAN associada à interface 1 e envia a trama apenas para essa interface.

C 1

1º Semestre 2007/2008 Redes de Computadores 5.55

Pontes: árvore geradora (“spanning tree”)• Por uma questão de fiabilidade do sistema é desejável que existam

vários caminhos entre origem e destino

• Com múltiplos caminhos entre origem e destino surge a possibilidade indesejável de que as tramas circulem indefinidamente no sistema

• Solução: organização das pontes em árvore geradora desactivando algumas das suas interfaces

Disabled

1º Semestre 2007/2008 Redes de Computadores 5.56

Árvore geradora

• Hipóteses:– Cada ponte tem um identificador único

– cada porto de uma ponte tem um identificador único

– em cada rede existe um endereço que permite comunicar com todas as pontes ligadas a essa rede

• Definições– Ponte raíz: ponte com o menor valor de identificador

– Custo de um caminho: soma dos custos associados à transmissão de uma trama através de cada porto das pontes nesse caminho

– Porto raíz de uma ponte: porto através do qual o custo do caminho à ponte raíz émenor; em igualdade de custos escolhe-se o porto de menor valor de identificador

– Ponte designada e porto designado: em cada LAN uma ponte é escolhida como a ponte designada e o porto correspondente é o porto designado; a ponte designada éa que proporciona o menor custo até à raíz; em igualdade de custos é escolhida a ponte com menor valor de identificador

1º Semestre 2007/2008 Redes de Computadores 5.57

Árvore geradora

• Construção da árvore geradora– Determinação da ponte raíz

– Determinação do porto raíz em cada ponte

– Determinação do porto e ponte designados em cada LAN

• Algoritmo (Radia Perlman, 1985)– O algoritmo é distribuído e baseia-se na troca de BPDU’s (“Bridge Protocol

Data Units”) entre as pontes; cada BPDU tem a seguinte informação• Identificador da ponte e porto do originador

• Custo do caminho para a ponte raíz do conhecimento actual do originador

• Identificador da ponte raíz do conhecimento actual do originador

– Inicialmente todas as pontes se consideram raíz e difundem essa informação em cada LAN a que estão ligadas

1º Semestre 2007/2008 Redes de Computadores 5.58

Exemplo de construção de árvore geradoraLAN 2

LAN 5

LAN 1

LAN 3 LAN 4

C=10

C=10

B1

C=10

C=10

B3

C=5

C=5

B4

C=5

C=5

B5

C=10

C=

5 B2

C=

5

P1

P2

P2P2

P2

P3

P1

P1

P1P1

P2

BPDU’s na LAN 5(admitindo funcionamento sincronizado)

1. B3-P2; 0; B3B4-P2; 0; B4B5-P1; 0; B5

2. B3-P2; 10; B1B4-P2; 5; B1B5-P1; 5; B1

3. …

B4 é a ponte designada para a LAN 5B3-P2 e B5-P1 ficam bloqueados.

1º Semestre 2007/2008 Redes de Computadores 5.59

Exemplo de árvore geradoraLAN 2

LAN 5

LAN 1

LAN 3 LAN 4

C=10

C=10

B1

C=10

C=10

B3

C=5

C=5

B4

C=5

C=5

B5

C=10

C=

5 B2

C=

5

P1

P2

P2

P2

P3

P1P1

P2

R

D

D

D D

D

R

RR P1

B

B

1º Semestre 2007/2008 Redes de Computadores 5.60

“Bridges” versus “Routers”• Ambos são dispositivos que funcionam no modo “store-and-forward”

– “routers”: dispositivos que funcionam ao nível da camada de rede

– “bridges”: dispositivos que funcionam ao nível da camada de ligação de dados

• “routers” são responsáveis pela construção e manutenção de tabelas de expedição e executam protocolos/algoritmos de encaminhamento

• “bridges” são responsáveis pela construção e manutenção de tabelas de filtragem e executam algoritmos de árvore geradora e de aprendizagem

1º Semestre 2007/2008 Redes de Computadores 5.61

“Bridges” versus “Routers”

“Bridges”

+ Executam operações simples usando pequena largura de banda

- Utilização restrita a algumas topologias: exclusão de redes com caminhos fechados

- Não oferecem, em geral, mecanismos de protecção ao mau/mal-intencionado funcionamento das máquinas interligadas (e.g., emissão contínua de tramas de difusão por parte de uma fonte)

“Routers”

+ Suportam topologias arbitrárias (a existência de caminhos fechados étido em conta limitando o número de saltos de um datagrama)

+ Podem fornecer serviços de protecção (“firewall”)

- Exigem a configuração de endereços (não são “plug and play”)

- Exigem, em geral, maior largura de banda para a troca de mensagens entre si

As “bridges” são adequadas em redes pequenas (algumas centenas de máquinas); os “routers” são usados em redes grandes (milhares de máquinas)

Vantagens (+) e Desvantagens (-)

1º Semestre 2007/2008 Redes de Computadores 5.62

Camada de Ligação de Dados

• Serviços• Detecção e correcção de erros• Protocolos de Acesso Múltiplo• Endereçamento em LANs• “Hubs” e Pontes de interligação• Tecnologias da camada de ligação de dados

– Ethernet– Anel com testemunho– Redes locais sem fios– PPP– ATM

1º Semestre 2007/2008 Redes de Computadores 5.63

Ethernet: formato das tramas

PreambuloEnd.

destinoEnd.

origemTipo Dados CRC

8 6 6 2 46-1500 4

• Preambulo: 7 bytes da forma 10101010, seguidos do byte 10101011• Endereços: origem/destino• Tipo: chave de desmuliplexagem• Dados: MTU entre 46 e 1500 bytes; enchimento• CRC: x32+ x26+ x23+ x22+ x16+ x12+ x11+ x10+ x8+ x7+ x5+ x4+ x2+ x+1

1º Semestre 2007/2008 Redes de Computadores 5.64

Ethernet: acesso ao meio

• Canal livre durante 96 bits– Transmite trama

• Detecta colisão– Aborta transmissão

– Reforça colisão (48-bit jam signal)

– Espera k x 512 bits

• Recuo binário exponencial truncado (binary exponential backoff)– Na n-ésima colisão, o nó escolhe aleatoriamente para k um número natural entre 0

e 2min(n, 10) –1

1º Semestre 2007/2008 Redes de Computadores 5.65

Ethernet: tecnologias

• 10BASE2 (802.3a-1985)– Cabo coaxial fino– Distância máxima sem repetidores é 185 m

• 10BASE-T (802.3i-1990), 100BASE-T (802.3u-1995)– Pares entrelaçados– Nós estão fisicamente ligados a hubs – Distância máxima do nó ao hub é 100 m (i.e. distância máxima entre dois nós é

200 m)

• 100BASE-FX – Como 100BASE-TX mas os cabos são em fibra óptica

• 1000BASE-T (802.3ab-1999)– Usada sobretudo em modo full-duplex

• A distância máxima de um domínio de colisão é de 256 bits para o funcionamento correcto do CSMA/CD

1º Semestre 2007/2008 Redes de Computadores 5.66

Anel de testemunho: formato das tramas

End. destino

End. origem

CRC

6 6 4111 1

FCACSD EDFSDados

111

EDACSD

1

SD e ED delimitam a trama

AC (Access Control)

ontem o bit de testemunho

its de reserva, prioridade e monitorização

FC (Frame Control)

FS (Frame Status)

ndica, por exemplo, se o destino recebeu a trama

1º Semestre 2007/2008 Redes de Computadores 5.67

Anel de testemunho: acesso ao meio

• Testemunho tem que caber no anel

• Nó pode enviar trama quando reconhece o testemunho

• Nó que envia trama retira o testemunho do anel

• Nó que envia a trama repõe o testemunho

– Após envio

– Após recepção

1º Semestre 2007/2008 Redes de Computadores 5.68

Redes sem fios IEEE 802.11 (aka Wi-Fi)

• IEEE 802.11b– 2.4 GHz

– Até 11 Mbps

– DSSS

• IEEE 802.11g– 2.4 GHz

– Até 54 Mbps

– DSSS/OFDM

• IEEE 802.11a– 5 Ghz

– Até 54 Mbps

– OFDM

Todos usam CSMA/CA e a mesma estrutura de trama

1º Semestre 2007/2008 Redes de Computadores 5.69

Arquitecturas

Rede ad hocRede estruturada

BSS=Basic Service Set; AP=Access Point

S/ ligação com o “mundo exterior”. Exemplos: reuniões, conferências, etc.

1º Semestre 2007/2008 Redes de Computadores 5.70

IEEE 802.11: CSMA/CA

• Canal livre durante DIFS– Transmite trama

– Espera pelo ACK

• Canal ocupado– Escolhe aleatoriamente um período de

tempo

– Transmite depois do canal ter estado livre durante esse período de tempo

• Não recepção do ACK– Recuo binário exponencial truncado

Este protocolo utikliza ACKs!

( DIFS=Distributed Inter-Frame Space

SIFS=Short Inter-Frame Space )

A B

ACK

DIFS

SIFS

1º Semestre 2007/2008 Redes de Computadores 5.71

Nós escondidos

• Nós A e C não se conseguem escutar mutuamente

• B está ao alcance de A e C

• Transmissão de A não inibe transmissão de C e vice-versa

• CSMA degenera em ALOHA puro!

obstáculo

Colisão

A

B

C

D

1º Semestre 2007/2008 Redes de Computadores 5.72

RTS-CTS (esquema opcional que pode ser usado pelas estações, típicamente para envio de tramas longas)

• Mini-trama Request-to-Send– Contém tamanho da trama de

dados – Inibe nós na vizinhança da origem

• Mini-trama Clear-to-Send– Contém tamanho da trama de

dados– Inibe nós na vizinhança do destino

• Trama de dados • ACK

obstáculo

A

B

C

D

RTS

CTSTrama de dados

ACK

1º Semestre 2007/2008 Redes de Computadores 5.73

Point to Point Protocol (PPP) (outros protocolos, e.g. HDLC)

• Ligação entre dois nós– Ex: ligação ao ISP via interface série e modem, ou sobre ISDN

• Formatação das tramas– Delimitação de tramas e justificação da informação

– Detecção de erros

• Protocolo de controlo da ligação– Manutenção ligação

– Negociação de parâmetros

• Protocolos de controlo da camada de rede– Várias camadas de rede são suportadas

– Negociação de parâmetros, ex: Endereço IP,

1º Semestre 2007/2008 Redes de Computadores 5.74

PPP: formato das tramas

• Delimitador: 01111110

• Endereço: 11111111 (única possibilidade !)

• Controlo: 00000011 (única possibilidade !)

• Protocolo: chave de desmultiplexagem, – Ex: PPP-LCP, IP, IPCP

• FCS: Sequência de verificação (como no protocolo HDLC)

Del. Del.End. Proto.Cont. FCSDados

2 ou 41 ou 2

1º Semestre 2007/2008 Redes de Computadores 5.75

Justificação de byte (byte stuffing)

• Dados podem conter o padrão do delimitador, 01111110

• Nos dados, o padrão do delimitador deve ser precedido por um byte de escape, 01111101

• Nos dados, o padrão do byte de escape também deve ser precedido por outro byte de escape

01011101 00101011 01111110 11010101 01111101 00001000

01011101 00101011 01111101 01111110 11010101 01111101 01111101 00001000

1º Semestre 2007/2008 Redes de Computadores 5.76

Protocolo de controlo PPP (Link-control Protocol - LCP)

Antes de iniciar a troca de dados os extremos da ligação PPP têm de trocar informação de controlo:

• configuração da ligação (e.g., comprimento máximo da trama, autenticação, protocolo nº C021)

• configuração da camada de rede– para o protocolo IP: suporte do protocolo

IPCP (protocolo nº 8021) para configurar/aprender endereços IP

1º Semestre 2007/2008 Redes de Computadores 5.77

Asynchronous Transfer Mode (ATM)

• Objectivo inicial– Arquitectura para comunicação entre aplicações– Suporte a aplicações com qualidade de serviço– Tecnologia ATM até à estação de trabalho

• Realidade actual– IP sobre ATM– ATM é visto como uma camada da ligação de dados – ATM é usado sobretudo em redes dorsais (backbone links)

• Características– Tecnologia de circuitos virtuais – Pacotes de tamanho fixo, denominados células– Não há controlo de erros entre comutadores ATM – Suporte a vários modelos de tráfego: CBR, VBR, ABR, UBR

1º Semestre 2007/2008 Redes de Computadores 5.78

Arquitectura

• Camada ATM adaptation layer (AAL)– Sub-camada de convergência (CPCS)– Sub-camada de segmentação e reconstrução (SAR)

• Camada ATM• Camada PHY

– Sub-camada de convergência (TC)– Sub-camada dependente do meio (PMD)

AAL AAL

ATM ATM ATM ATM

PHY PHY PHY PHY

Comutador ATM Comutador ATMSistema terminal Sistema terminal

Aplicação AplicaçãoCamada IP

Camada IP

1º Semestre 2007/2008 Redes de Computadores 5.79

AAL 5 (IP-datagram transport)

• Enchimento– Número de bytes na CPCS-PDU tem que ser múltiplo de 48 (porquê ?)

• Comprimento – Dos dados, sem enchimento

• Terceiro bit do campo PT (Payload Type) da célula ATM assinalado a 1 – Fim da CPCS-PDU

Dados

1-65535

Comp. CRC

4 2

SAR-PDU Célula ATM (header=5 bytes; payload=48 bytes)

3o bit do PT

CPCS-PDUEnch.

0-47

1º Semestre 2007/2008 Redes de Computadores 5.80

IP sobre ATM

• Circuitos virtuais permanentes entre pares de encaminhadores de entrada e saída

• ATM ARP– Cada encaminhador tem um VC de

difusão associado

– Existe um servidor de ARP e VC para alcançar esse servidor

EthernetLANs

ATM