Camada da ligação de dados - Técnico Lisboa · 3 Camada da ligação de dados 5 Deteção de...

24
1 Camada da ligação de dados 1 Camada da ligação de dados Serviços fornecidos pela camada de ligação de dados Delimitação de tramas Deteção e controlo de erros Correção de erros Acesso múltiplo e LANs Endereçamento na camada de ligação de dados Tecnologias da camada de ligação de dados Ethernet, IEEE 802.3 IEEE 802.1D DOCSIS IEEE 802.11 Camada da ligação de dados 2 Serviços da camada de ligação de dados Delimitação de tramas Controlo de erros local Deteção e correção de erros Transferência fiável Controlo de congestionamento local Endereçamento e encaminhamento local Acesso múltiplo, medium access control (MAC) rede dados físico aplicação transporte rede dados físico rede dados físico rede dados físico rede dados físico rede dados físico rede dados físico rede dados físico rede dados físico aplicação transporte rede dados físico

Transcript of Camada da ligação de dados - Técnico Lisboa · 3 Camada da ligação de dados 5 Deteção de...

1

Camada da ligação de dados 1

Camada da ligação de dados

Serviços fornecidos pela camada de ligação de dados

Delimitação de tramas

Deteção e controlo de erros

Correção de erros

Acesso múltiplo e LANs

Endereçamento na camada de ligação de dados

Tecnologias da camada de ligação de dados • Ethernet, IEEE 802.3

• IEEE 802.1D

• DOCSIS

• IEEE 802.11

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Camada da ligação de dados 2

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

Delimitação de tramas

Controlo de erros local

• Deteção e correção de erros

• Transferência fiável

Controlo de congestionamento local

Endereçamento e encaminhamento local

Acesso múltiplo, medium access control (MAC)

rede dados físico

aplicação transporte

rede dados físico

rede dados físico

rede dados físico

rede dados físico

rede dados físico

rede dados físico

rede dados físico

rede dados físico

aplicação transporte

rede dados físico

2

Camada da ligação de dados 3

Implementação da camada de ligação de dados

Funcionalidade implementada em cartas; Network Interface Cards (NICs)

• RAM

• DSP

• Interface com o barramento no nó

• Interface com a ligação

• Exemplos: Ethernet; Wi-fi

Controlador Interface de

ligação

Barr

am

ento

I/O

do n

ó

Camada da ligação de dados 4

Deteção de erros

Proteção dos dados e cabeçalho das tramas

Introdução de bits de redundância nas tramas para deteção de erros

Métodos de deteção de erros

• Bit de paridade

• Paridade a duas dimensões

• Soma de verificação (checksum)

• Código cíclico de verificação (Cyclic Redundancy Check Code, CRC)

Há sempre a possibilidade de haver erros não detetados

3

Camada da ligação de dados 5

Deteção de erro por paridade

Bit de paridade

Detecta um número ímpar de bits errados

Paridade a duas dimensões

• M colunas de dados

Corrige um bit

Deteção de erros

• Até 3 erros são detetados

• Rajadas até M+2 bits são detetadas

0111000110101011 1 10101 1

11110 0

01110 1

00101 0

Camada da ligação de dados 6

Código cíclico de verificação (CRCs)

Polinómio gerador de grau r

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

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)

Deteção de erros

• Se a mensagem recebida for divisível por G(x) então não há erros (detetáveis)

4

Camada da ligação de dados 7

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 1101

1101 11111001

1001

1101

1000

1101

1011

1101

1100

1101

0010

0000

0100

0000

1000

1101

101

Camada da ligação de dados 8

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)

Para G(x)=G’(x)(x+1) com G’(x) um polinómio irredutível de grau r-1: • Erros simples são detectados

• Erros duplos são detectados em tramas com menos do que 2r – 1 bits

• Número ímpar de erros são detectados

• Rajadas de erros de comprimento inferior ou igual a r são detectadas

• Rajadas de erros de comprimento r + 1 só não são detectadas com probabilidade 1 / 2r – 1

5

Camada da ligação de dados 9

CRC: implementação em hardware

CRC é fácil de implementar em hardware recorrendo a

registos de deslocamento (RD)

dados G(x) = x3 + x2 + 1

1 x x2

XOR XOR

FF FF FF

Camada da ligação de dados 10

Acesso múltiplo

Meio de comunicação partilhado entre vários nós

Protocolos de acesso múltiplo coordenam a transmissão de tramas dos vários nós

Protocolos de atribuição fixa • TDMA

• FDMA

• CDMA

Protocolos de acesso aleatório • ALOHA

• CSMA; CSMA/CD

Protocolos de atribuição dinâmica à vez • Passagem de testemunho

• Interrogação

6

Camada da ligação de dados 11

ALOHA Nós transmitem as tramas ao débito do canal

Colisão • Sobreposição de duas ou mais tramas na recepção

• Em geral, todas as tramas envolvidas numa colisão são perdidas

Nó envia uma trama para o canal • Se a trama for perdida, o nó calendariza a retransmissão da

trama para um instante futuro, escolhido aleatoriamente

Tempo na recepção

retransmissão retransmissão

duração da colisão

Camada da ligação de dados 12

Processo de Poisson

Processo de Poisson de parâmetro g

• Média de g acontecimentos por unidade de tempo

Número de acontecimentos num qualquer intervalo de duração t é dado por uma distribuição de Poisson

Intervalos entre acontecimentos sucessivos são dados por variáveis aleatórias i.i.d. com distribuição exponencial negativa

P{ k chegadas } = ( gt )k

k! e -gt

P{ tempo entre acontecimentos sucessivos > t } = e -gt

7

Camada da ligação de dados 13

ALOHA: modelo

Tramas com L bits

Canal de c bits/s

Processo de Poisson de parâmetro g descreve a geração de tramas, novas mais retransmissões

Taxa média de chegada de tramas por tempo de transmissão de tramas é G = gL/c

Uma colisão de tramas destrói todas as tramas nela envolvidas

Pretende-se determinar a utilização do canal, S

Camada da ligação de dados 14

ALOHA: utilização

Probabilidade de uma trama ser recebida com sucesso

Utilização do canal

Utilização máxima do canal

P{ trama recebida com sucesso } = e –2G

S = Ge –2G

Smax = 1/( 2e ) = 18 %

Período vulnerável: uma

outra trama transmitida

neste período destrói a

trama de teste

8

Camada da ligação de dados 15

ALOHA sincronizado

Tempo dividido em slots

Estações iniciam uma transmissão no início de uma slot

Utilização do canal

Utilização máxima do canal

Nó 1

Nó 2

Nó 3

S = Ge –G

Smax = 1/e = 37 %

Camada da ligação de dados 16

Carrier Sense Multiple Access (CSMA)

Nó escuta o canal antes de iniciar a transmissão de uma trama

• Se o canal estiver ocupado, adia a transmissão da trama

• Se o canal estiver livre, inicia de imediato a transmissão da trama

CSMA persistente

• Quando o canal está ocupado, o nó transmite a trama logo que ele fique livre

CSMA não-persistente

• Quando o canal está ocupado, o nó calendariza a transmissão da trama para daí a um tempo futuro, escolhido aleatoriamente

9

Camada da ligação de dados 17

Colisões em CSMA

Colisões devidas ao atraso de propagação entre estações

Tramas envolvidas numa colisão são perdidas

Duração da colisão depende sobretudo da trama maior

A B C

Camada da ligação de dados 18

CSMA/Collision Detect (CSMA/CD)

Nós envolvidos numa colisão abortam as suas transmissões assim que detectam uma colisão

• Melhor utilização do canal do que CSMA

Detecção de colisões

• Fácil em redes cabladas

• Difícil em redes sem fios

A B C

Detecção

da colisão

Detecção

da colisão

10

Camada da ligação de dados 19

Protocolos de atribuição dinâmica

Testemunho circula entre os nós

Nó detém o testemunho

• Tem acesso exclusivo ao canal

• Pode transmitir um número máximo, pré-acordado, de tramas

• Depois de usar o canal tem que passar o testemunho ao próximo nó

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

• 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

Camada da ligação de dados 20

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

11

Camada da ligação de dados 21

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

Camada da ligação de dados 22

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

12

Camada da ligação de dados 23

Diagrama temporal

A

E

R

A R E

ARP

interrogação

ARP

interrogação

ARP

resposta

ARP

resposta

Trama de

dados

Trama de

dados

Camada da ligação de dados 24

Ethernet: anatomia das tramas

Preambulo: 7 bytes, cada da forma 10101010, seguido do byte 10101011

Endereços: Bit I/G; organização; série

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

Preambulo End.

destino

End.

origem Tipo Dados CRC

8 6 6 2 46-1500 4

13

Camada da ligação de dados 25

Ethernet: acesso ao meio

Canal livre durante 96 bits

• Transmite trama

Detecta colisão

• Aborta transmissão

• Reforça colisão durante 32 bits

• Espera k x 512 bits

Recuo binário exponencial truncado

• Na n-ésima colisão, o nó escolhe aleatoriamente para k um número natural entre 0 e 2min(n, 10) –1

Camada da ligação de dados 26

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

100BASE-FX

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

1000BASE-T (802.3ab-1999)

• Usada sobretudo em modo full-duplex

10GBASE-T (IEEE 802.3an-2006)

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

14

Camada da ligação de dados 27

Hubs e comutadores

Hubs • Repetidores: aumento a distância máxima entre nós

• Interligação de segmentos num único domínio de colisão

Comutadores, pontes • Filtragem e expedição seletiva de tramas

• Aprendizagem de endereços, transparência

• Algoritmo de árvore abrangente (802.1D)

Camada da ligação de dados 28

Comutadores: filtragem, expedição e aprendizagem

recebe trama <ED, EO, Trama> no porto p

if EO in tab(q) para algum q

retira EO de tab(q)

adiciona EO a tab(p)

if ED not in tab(p)

if ED in tab(q) para algum q

envia <ED, EO, Trama> por q

else

for all x != p

envia <ED, EO, Trama> por x

Filtragem

Expedição selectiva

Aprendizagem

EO– endereço origem

ED– endereço destino

tab(p)– tabela de endereços

associados ao porto p

Difusão

15

Camada da ligação de dados 29

Interligação de comutadores

Múltiplos caminhos entre nós aumenta fiabilidade

Múltiplos caminhos podem gerar ciclos e um número exponencial de cópias

Organização dos comutadores numa árvore abrangente

Como determinar uma árvore abrangente? • Escolhendo um nó raíz e

usando vector distância

Como determinar o nó raíz? • Por eleição distribuída

comutador

comutador

hub hub hub

Camada da ligação de dados 30

Algoritmo de árvore abrangente

comutador

comutador

hub hub hub hub

9.0.9 9

20 hub 51 9.1.51

comutador

9.1.20

porto raíz

porto designado

porto bloqueado

Bridge Protocol Data Unit (BPDU)

• ID da raíz

• Distância até à raíz

• ID do comutador

16

Algorythm

I think that I shall never see

A graph more lovely than a tree.

A tree whose crucial property

Is loop-free connectivity.

A tree which must be sure to span.

So packets can reach every LAN.

First the root must be selected

By ID it is elected.

Least cost paths from root are traced

In the tree these paths are placed.

A mesh is made by folks like me

Then bridges find a spanning tree.

por Radia Perlman

(adaptado do poema “Trees” de Alfred Joyce Kilmer)

I think that I shall never see

A poem lovely as a tree.

A tree whose hungry mouth is prest

Against the earth's sweet flowing breast;

A tree that looks at God all day,

And lifts her leafy arms to pray;

A tree that may in summer wear

A nest of robins in her hair;

Upon whose bosom snow has lain;

Who intimately lives with rain.

Poems are made by fools like me,

But only God can make a tree.

Camada da ligação de dados 32

Encaminhadores vs. comutadores

Ambos são dispositivos de store-and-forward

Encaminhadores

• Camada de rede

• Encaminhamento baseado em caminhos mais curtos

• Cada interface tem um endereço IP (expedição)

• Protecção contra tempestades de difusão

Comutadores

• Camada de ligação de dados

• Encaminhamento suportado em árvore abrangente

• Nenhuma interface tem endereço MAC (expedição)

• Não protegem contra tempestades de difusão

17

LANs virtuais

Interfaces do comutador podem ser divididas em grupos, correspondentes a VLANs

Comutador tem internamente um encaminhador para interligar as VLANs

A mesma VLAN em comutadores diferentes pode ser interligada com trunking

Camada da ligação de dados 33

Data-Over-Cable Service Interface Specifications (DOCSIS)

Divisão na frequência e no tempo em canais, ascendentes e descendentes

CMs contendem com ALOHA sincronizado em canais ascendentes especialmente alocados para esse efeito

CMTS publica mapa de quais os CMs que podem transmitir em quais canais ascendentes livres de colisão; a publicação realizada em canais descendentes especialmente alocados para esse efeito

Camada da ligação de dados 34

CM

CMTS CM

ascendente

descendente

18

Camada da ligação de dados 35

Redes sem fios IEEE 802.11

IEEE 802.11b

• 2.5 GHz

• Até 11 Mbps

• DSSS

IEEE 802.11g

• 2.5 GHz

• Até 54 Mbps

• DSSS/OFDM

IEEE 802.11a

• 5 Ghz

• Até 54 Mbps

• OFDM

Camada da ligação de dados 36

Arquitecturas

Rede ad hoc Rede estruturada

19

Camada da ligação de dados 37

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

A B

ACK

DIFS

SIFS

Camada da ligação de dados 38

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

20

Camada da ligação de dados 39

RTS-CTS

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

CTS Trama de dados

ACK

RTS-CTS não é ideal

B

A C

D

E

1, 3 2 4

1 – D transmite para E

2 – A transmite para B; C não consegue ler o CTS de B

3 – D pára de transmitir para E; para C o canal está livre

4 – C transmite para D, causando uma colisão em B

21

Camada da ligação de dados 41

Anatomia das tramas IEEE 802.11

RA/DA TA

(BSSID) CRC SA

6 6 6 0-2312 2 4 2 2

Seq. Dur. Cont. Dados

RA

(BSSID) TA/SA CRC DA

6 6 6 0-2312 2 4 2 2

Seq. Dur. Dados Cont.

Tramas

do AP

Tramas

para o AP

RA TA

6 6 2 2

Dur. Cont.

6 2 2

Dur. Cont. RA

CRC

4

CRC

4

RTS

CTS, ACK

Desempenho do IEEE 802.11b: CSMA/CA

PHY MAC MAC ACK Dados

TPHY TSIF

S

TDIFS B x TSLOT

h’ h h L

TPHY 192 ms h 28 B

TSIFS 10 ms h’ 14 B

TDIFS 50 ms c 11 Mb/s

TSLOT 20 ms BMax 31

PHY

r = 6.4 Mb/s (58%)

para L = 1500 B

22

Adaptação do débito

r2

r1 = 11Mb=s; r2 = 1Mb=s; ¹r1 = ¹r2 = 1; 8Mb=s

Download of a Web page: DHCP,UDP, IP, and Ethernet

Camada da ligação de dados 44

firm ISP CPN

h s r

DHCP server

CIDR_firm, IP_h CIDR_firm

d

DNS server

(NAME_w, IP_w)

w

Web server

1 2 1 2

DHCP request message (id)

MAC_h 0.0.0.0 68 FF-FF-FF-FF-FF-FF 255.255.255.255 67

DHCP ACK message (id, IP_h, CIDR_firm, IP_r.1, IP_d)

MAC_r.1 IP_r.1 67 MAC_h 255.255.255.255 68

1. s learns that MAC_h is on its interface 1 and that MAC_r.1 is on its interface 2

2. h gains an IP address and network mask, and learns a gateway and DNS server

23

Download of a Web page: ARP

Camada da ligação de dados 45

ISP CPN

w

Web server

ARP request packet (MAC_h, IP_h, ?, IP_r.1)

MAC_h FF-FF-FF-FF-FF-FF

ARP reply packet (MAC_h, IP_h, MAC_r.1, IP_r.1)

MAC_r.1 MAC_h

h learns the pair (MAC_r.1, IP_r.1) and r learns the pair (MAC_h, IP_h)

In order to interrogate the DNS, h first needs the MAC address of the gateway

firm

h s r

DHCP server

CIDR_firm, IP_h CIDR_firm

1 2 1 2

d

DNS server

(NAME_w, IP_w)

Download of a Web page: DNS

Camada da ligação de dados 46

ISP CPN

w

Web server

DNS query message (NAME_w, ?)

MAC_h IP_h EUDP_h MAC_r.1 IP_d 53

DNS response message (NAME_w, IP_w)

MAC_r.1 IP_d 53 MAC_h IP_h EUDP_h

1. NAME_w was extracted from the URL of the web page

2. It was assumed that the DNS server had pair (NAME_w, IP_w) stored in cache

3. Datagrams are guided through the ISP by IP forwarding tables populated by an

intra-domain routing protocol such as OSPF and RIP

firm

h s r

DHCP server

CIDR_firm, IP_h CIDR_firm

1 2 1 2

d

DNS server

(NAME_w, IP_w)

24

Download of a Web page: TCP

Camada da ligação de dados 47

firm ISP CPN

h s r

DHCP server

CIDR_firm, IP_h CIDR_firm

w

Web server

1 2 1 2

TCP SYN segment

MAC_h IP_h ETCP_h MAC_r.1 IP_w 80

TCP SYNACK segment

MAC_r.1 IP_w 80 MAC_h IP_h ETCP_h

1. h and w each creates a socket associated with the quadruple

(ETCP_h, IP_h, 80, IP_w)

2. IP forwarding tables populated both by an intra-domain routing

protocols and the inter-domain routing protocol, BGP

TCP ACK segment

MAC_h IP_h ETCP_h MAC_r.1 IP_w 80

d

DNS server

(NAME_w, IP_w)

Download of a Web page: HTTP

Camada da ligação de dados 48

ISP CPN

w

Web server

HTTP request message (URL of web page)

MAC_h IP_h ETCP_h MAC_r.1 IP_w 80

HTTP response message (contents of web page)

MAC_r.1 IP_w 80 MAC_h IP_h ETCP_h

1. Transfer of data is error free

2. Sooner or later each of h and w closes its side of the connection with a TCP

FIN segment

firm

h s r

DHCP server

CIDR_firm, IP_h CIDR_firm

1 2 1 2

d

DNS server

(NAME_w, IP_w)