camada da ligação de dados - técnico lisboa · 3 camada da ligação de dados 5 deteção de...
TRANSCRIPT
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)