4 – Nível de Ligação de Dados - Autenticação · Authority”), os outros 3 são um número...
Transcript of 4 – Nível de Ligação de Dados - Autenticação · Authority”), os outros 3 são um número...
Telecomunicações e Redes de ComputadoresTelecomunicações e Redes de Computadores
4 4 –– Nível de Ligação de DadosNível de Ligação de Dados
Prof. Paulo Lobato CorreiaIST, DEEC – Área Científica de Telecomunicações
TRC – Prof. Paulo Lobato Correia 2
ObjectivosObjectivos
EnquadramentoDelimitação de tramasEndereçamento ao nível de ligação de dadosControlo de acesso ao meioControlo de errosControlo de fluxoProtocolos
TRC – Prof. Paulo Lobato Correia 3
Modelo TCP/IP: NModelo TCP/IP: Níível de Ligavel de Ligaçãção de Dadoso de Dados
Aplicação HTTP Msg Aplicação
Transporte TCP Msg Transporte
Rede RedeRede
Cliente ServidorComutador Ethernet Router
Dados TramaEthernet
Dados Dados Dados
Físico Físico FísicoFísico
Pacote IP
TRC – Prof. Paulo Lobato Correia 4
Rede X
Rede Z Rede Y
Encaminhador
Encaminhador
Ligação de dados
Ligaçãode
dados
Ligação de dados
Nível de Ligação de DadosNível de Ligação de Dados
TRC – Prof. Paulo Lobato Correia 5
Nível de Ligação de Dados Nível de Ligação de Dados
Responsável pela transferência de dados entre uma estação e um encaminhador (ou entre dois encaminhadores) que pertencem a uma mesma rede.
Funções do nível de ligação de dados:Entrega de tramas nó-a-nó;Delimitação de tramas;Endereçamento;Controlo de erros;Controlo de fluxo;Controlo de acesso ao meio.
TRC – Prof. Paulo Lobato Correia 7
Delimitação de TramasDelimitação de Tramas
IP PacketNível de Ligação
de Dados
Nível de Rede
Nível Físico
Pacote IP
LD-H LD-TPacote IP
Ao nível de ligação de dados:
As tramas têm um cabeçalho (header) com informação de sincronização, de endereçamento e de controlo (tipo e número da trama);
Têm também um trailer com informação para controle de erros, e de sincronização.
TRC – Prof. Paulo Lobato Correia 8
Delimitação de TramasDelimitação de Tramas
É necessário inserir informação de sincronização para saber ondecomeça e termina cada transmissão.
1
2
3
4
5
6
X X
OLÁ, BOM DIA.
OLÁ, BQUANTOVOU CHOM DIA CUSTAEGAR D. O ARTIE TARDGO?E.
QUANTO CUSTA O ARTIGO?
▓OLÁ, B▓QUANTO▓VOU CH▓OM DIA▓ CUSTA▓EGAR D▓. ▓ O ARTI▓E TARD▓GO? ▓E. ▓
VOU CHEGAR DE TARDE.
TRC – Prof. Paulo Lobato Correia 9
Delimitação de Tramas: “Delimitação de Tramas: “StuffingStuffing””
Os dados do nível de rede podem conter padrões binários iguais aos usados para sincronização (flags) no nível de ligação de dados:
Há então que evitar que esses dados IP sejam erradamente tomados por uma flag;
Para isso, se o padrão da flag aparecer nos dados é precedido, na trama de nível 2, por um padrão de enchimento (stuffing), de forma a evitar qualquer confusão.
TRC – Prof. Paulo Lobato Correia 10
Exemplo:Delimitação de tramas usa a flag: 0111 1110;A operação de bit stuffing consiste em:
Adicionar um 0 extra (b) depois de qualquer sequência de cinco 1s seguidos no campo de dados provenientes do nível de rede (a), deforma a evitar possíveis confusões com a flag.
Na recepção procede-se à operação inversa (c).
Delimitação de Tramas: “Delimitação de Tramas: “StuffingStuffing””
TRC – Prof. Paulo Lobato Correia 11
EndereçamentoEndereçamento
O endereço físico da maioria das estações está impresso na placa de rede da estação (NIC – Network Interface Card).
Se mudar a placa de rede (ex.: avaria), o endereço físico tambémmuda, requerendo que se reconfigure a ligação à rede.
TRC – Prof. Paulo Lobato Correia 12
EndereçamentoEndereçamento
Exemplos:Numa rede Ethernet, são usados endereços MAC com 48 bits:
Numa ligação PPP (tipicamente usada entre uma habitação e um ISP), são usados endereços com 8 bits:
header
header
trailer
trailer
TRC – Prof. Paulo Lobato Correia 13
EndereçamentoEndereçamento
Endereço MAC (Ethernet): MM-MM-MM-SS-SS-SS(48 bits = 6 octetos = 6x2 símbolos hexadecimais);
Número de endereços disponíveis: 248 = 281 474 976 710 656
Primeiros 3 octetos identificam fabricante (geridos por “IEEE Registration Authority”), os outros 3 são um número de série atribuído pelo fabricante.
TRC – Prof. Paulo Lobato Correia 14
EndereçamentoEndereçamento
Para verificar o endereço MAC de um computador:> ipconfig /all
TRC – Prof. Paulo Lobato Correia 15
Endereçamento: Protocolo ARPEndereçamento: Protocolo ARP
É necessário obter o endereço físico da estação para entrega das tramas.Pode ser obtido a partir do endereço IP usando o protocolo ARP –Address Resolution Protocol.
TRC – Prof. Paulo Lobato Correia 16
Controlo de Acesso ao Meio (MAC)Controlo de Acesso ao Meio (MAC)
Meio de comunicação é partilhado por várias estações.
Protocolos de acesso ao meio (ou acesso múltiplo) coordenam a transmissão das várias estações:Protocolos de atribuição fixa:
FDMA, TDMA, CDMA;
Protocolos de atribuição dinâmica:Poll/Select, Passagem de testemunho.
Protocolos de acesso aleatório:ALOHA, CSMA, CSMA/CD, CSMA/CA;
TRC – Prof. Paulo Lobato Correia 17
Protocolos de Atribuição FixaProtocolos de Atribuição Fixa
Existem 3 técnicas básicas de repartir canais pelos utilizadores:
FDMA – Frequency Division Multiple Accesscada utilizador ocupa uma sub-banda de frequências diferente durante a comunicação;
TDMA – Time Division Multiple Accesscada utilizador tem acesso a toda a banda de frequências, sendo-lhe atribuído periodicamente um intervalo de tempo (time-slot), numa estrutura de tramas;
CDMA – Code Division Multiple Accesscada utilizador tem acesso a toda a banda de frequências, durante todo o tempo, distinguindo-se pela utilização de códigos diferentes.
TRC – Prof. Paulo Lobato Correia 21
Protocolos de Atribuição Dinâmica: Protocolos de Atribuição Dinâmica: PollPoll / / SelectSelect
Um computador central (primary) controla a actividade dos outros.
ACK: Acknowledge NAK: Not Acknowledge NAK→ não tem informação para enviar.
TRC – Prof. Paulo Lobato Correia 22
Passagem de TestemunhoPassagem de Testemunho
Usado sobretudo em redes locais.
TRC – Prof. Paulo Lobato Correia 23
Protocolos de Acesso Aleatório: ALOHAProtocolos de Acesso Aleatório: ALOHA
Estações transmitem tramas ao ritmo do canal;Podem ocorrer colisões:
Sobreposição de duas ou mais tramas;Em geral, as tramas envolvidas numa colisão são perdidas;
Estação que envia uma trama para o canal:Se a trama for perdida, o nó agenda a retransmissão dessa trama para um instante futuro, escolhido aleatoriamente.
t
retransmissãoretransmissão
duração da colisão
TRC – Prof. Paulo Lobato Correia 24
Carrier Sense Multiple Access (CSMA)Carrier Sense Multiple Access (CSMA)
Estação escuta o canal antes de iniciar uma transmissão: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, a estação transmite a trama logo que ele fique livre;
CSMA não-persistente:Quando o canal está ocupado, a estação agenda a transmissão da trama para um tempo futuro, escolhido aleatoriamente;
CSMA/CD:Estações envolvidas numa colisão interrompem as suas transmissões assim que detectam uma colisão;
CSMA/CA:Pode haver estações “escondidas”;
obstáculo
Colisão
A
B
C
D
TRC – Prof. Paulo Lobato Correia 25
Controlo de Acesso ao MeioControlo de Acesso ao Meio
Comparação de protocolos de atribuição dinâmica e acesso aleatório:Protocolos de atribuição dinâmica permitem melhor utilização do canal para tráfego elevado;Protocolos de acesso aleatório impõem atrasos menores com tráfego baixo;Protocolos de atribuição dinâmica requerem gestão central ou do testemunho;Protocolos de acesso aleatório têm que ser controlados contra comportamentos instáveis.
TRC – Prof. Paulo Lobato Correia 26
Origem Motivo Como prevenirPerda de Linha Tempestades, acidentes
Ruído Branco Movimento dos electrões Aumentar nível do sinal
Ruído Impulsivo Relâmpagos, alterações de tensão, ignição dos automóveis, ...
Isolar ou mover os fios
Cross-talk Bandas de guarda muito pequenas,ou fios muito próximos
Aumentar bandas de guarda, ou isolar ou mover os fios
Eco Ligações de má qualidade Arranjar ou ajustar osequipamentos
Atenuação Intensidade do sinal decresce comaumento da distância
Usar repetidores ou regeneradores
Ruído de Intermodulação
Combinação de sinais com diferentes origens
Isolar ou mover os fios
Jitter Alteração de fase dos sinais Ajustar os equipamentos
Distorção Harmónica
Amplificação não linear na frequência
Ajustar os equipamentos
Porque há Erros de Transmissão?Porque há Erros de Transmissão?
TRC – Prof. Paulo Lobato Correia 28
Tipos de ErrosTipos de Erros
Tipos de erros:Isolados:
De rajada (burst):
TRC – Prof. Paulo Lobato Correia 29
Detecção de ErrosDetecção de Erros
Detecção de erros:Usa redundância – bits adicionados para permitir detectar erro no receptor;
TRC – Prof. Paulo Lobato Correia 30
Detecção de ErrosDetecção de Erros
Métodos:Vertical redundancy check (VRC) – um bit de paridade é adicionado a cada unidade de dados de forma a que o número total de 1s seja par (ou impar);Longitudinal redundancy check (LRC) – um bloco de bits é dividido em linhas e adiciona-se uma linha redundante ao bloco completo;Cyclic redundancy check (CRC) – é adicionado um conjunto de bits adicionais, calculado através da divisão por um polinómio gerador conhecido pelo emissor e pelo receptor.
TRC – Prof. Paulo Lobato Correia 31
Detecção de Erros: VRCDetecção de Erros: VRC
Não detecta um número par de bits errados; É introduzido um overhead substancial; exemplo: 1/8 = 12.5%
TRC – Prof. Paulo Lobato Correia 34
Detecção de Erros: CRCDetecção de Erros: CRC
Usa um polinómio gerador G(x), de grau n;Mensagem de m bits é interpretada como sendo um polinómio M(x) de grau inferior a m;Cálculo do CRC:
Dividendo é xn.M(x);Divisor é G(x);Divisão módulo 2 (“ou exclusivo”) produz resto R(x), de grau inferior a n;A mensagem transmitida é T(x) = xn.M(x) + R(x);Notar que T(x) é divisível por G(x);
Detecção de errosSe a mensagem recebida for divisível por G(x) então não há erros detectáveis.
TRC – Prof. Paulo Lobato Correia 35
CRC: ExemploCRC: Exemplo
M(x) = x7 + x4 + x3 + x1
(mensagem)
G(x) = x3 + x2 + 1(polinómio gerador)
x3 . M(x) = x10 + x7 + x6 + x4
(dividendo)
R(x) = x2 + 1(resto)
T(x) = x3 . M(x) + R(x) = x10 + x7 + x6 + x4 + x2 + 1(mensagem transmitida – incluindo CRC)
1101 (n = 3)
1001 1010 (m=8)
100 1101 0000
101
10011010101
10011010000 11011101 111110011001110110001101
10111101
1100110100100000
0100000010001101101
TRC – Prof. Paulo Lobato Correia 36
CRC: Exemplo (2)CRC: Exemplo (2)
x3.M(x)+R(x) = x10 + x7 + x6 + x4 + x2 + 1(mensagem recebida – incluindo CRC)
G(x) = x3 + x2 + 1(polinómio gerador)
R’(x) = 0(não há erros ou os erros não são detectados)
1101 (n = 3)
1001 1010 101
000
10011010101 11011101 111110011001110110001101
10111101
1100110100110000
0110000011011101000
TRC – Prof. Paulo Lobato Correia 37
CRC: PropriedadesCRC: Propriedades
Seja T(x) + E(x), a mensagem recebida, em que E(x) é o padrão de erros:Padrão de erros é detectado se e só se E(x) não for 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 n são detectadas, se G(x) tiver grau n e incluir o termo 1 (i.e., x0);Rajadas de erros de comprimento n + 1 são detectadas com probabilidade 1 / 2 n – 1, se G(x) tiver grau n e incluir o termo 1.
TRC – Prof. Paulo Lobato Correia 38
Forward Error CorrectionForward Error Correction
Forward error correction (FEC) usa códigos que contêm redundância suficiente para permitir a detecção e correcção de erros no receptor, sem requerer a retransmissão da mensagem.
Exemplos:Código de Hamming: consegue detectar e corrigir erros de bit isolados.
Há técnicas mais sofisticadas que são habitualmente utilizadas, tal como códigos de Reed-Solomon.
Utilização habitual em ambientes com tempo de propagação elevado(exemplo: transmissão via satélite).
Há implementações em hardware de técnicas FEC (exemplo: modem V.34).
TRC – Prof. Paulo Lobato Correia 39
Controlo de Erros: Controlo de Erros: StopStop--andand--WaitWait ARQARQ
Operação Stop-and-Wait:O emissor mantém uma cópia da última trama transmitida até receber uma confirmação (ACK) da sua correcta recepção pelo destinatário;Tanto as tramas de dados como as ACK são numeradas módulo 2 (isto é, sucessivamente 0 e 1);Uma trama de dados com número 0 é confirmada por um ACK com número 1 (indica o número da próxima trama de dados que espera);Em caso de ser detectado um erro, pode ser enviada uma confirmação negativa (NAK);Se ao fim de um intervalo de tempo pré-estabelecido (time-out) não tiver sido recebido o ACK, o emissor assume que a trama se perdeu ou chegou com erros e volta a enviá-la.
ARQ – Automatic repeat request
TRC – Prof. Paulo Lobato Correia 41
a > 1 a < 1
trama
prop
tt
a =
StopStop--andand--WaitWait: Eficiência: Eficiência
TRC – Prof. Paulo Lobato Correia 42
Mensagem de n tramas:
Tempo de envio de uma trama:
Tempo total de envio de dados:
Admitindo que os tempos de processamento são desprezáveis e que o tempo de transmissão do ACK também é desprezável (trama de ACK é muito pequena), o tempo total de envio de dados é:
A utilização (eficiência) da linha é:
com:
procackpropproctramapropF ttttttT +++++=
FD TnT ⋅=
( )tramapropD ttnT +⋅⋅= 2
( ) attntnU
tramaprop
trama
⋅+=
+⋅⋅⋅
=211
2
da tramaransmissãotempo de tropagaçãotempo de p
tt
atrama
prop ==
StopStop--andand--WaitWait: Eficiência: Eficiênciatramatpropt
ackt
TRC – Prof. Paulo Lobato Correia 43
Distância da ligação: d
Velocidade de propagação no meio de transmissão: vtransmissão via atmosfera: v=c
transmissão através de meio guiado: v= m/s
Comprimento da trama: L bits
Ritmo de transmissão: Rb bit/s
Parâmetro a:
vdtropagaçãoTempo de p prop = =
2 10 8×
btrama R
L= t de trama ransmissãoTempo de t =
LvdRa b
⋅⋅
=
StopStop--andand--WaitWait: Eficiência: Eficiência
TRC – Prof. Paulo Lobato Correia 44
StopStop--andand--WaitWait: Eficiência: Eficiência
Exemplo:Rb = 1 Gbit/sL = 1 kByte / tramatprop = 15 ms
A eficiência de utilização é baixíssima !
Embora o canal permita transmissão a 1 Gbit/s está a ser usado apenas a 267 kbit/sProtocolo stop-and-wait limita o uso dos recursos de transmissão
ttrama =8.103 bit
1.109 bit/s
U =
= 8 μs
1
1 + 2.1875= 0.00027 = 0.027%
a =15 ms
8 μs= 1875
TRC – Prof. Paulo Lobato Correia 45
Stop-and-wait:só uma trama a ser enviada em cada instante de tempo;
se a > 1: o protocolo stop-and-wait conduz a grande ineficiência.
Solução: permitir que várias tramas estejam a viajar em simultâneo entre emissor e receptor – janela deslizante.
Requer maior espaço nos buffers (de emissão e recepção);
Requer numeração das tramas (de dados e de ACK) – a gama de numeração é limitada, pois estes números também tem de ser transmitidos. Usando k bits para numeração, a sequência de números disponíveis vai de 0 a N=2k-1.Existe uma lista dos números de tramas que é permitido enviar (janela de emissão) e dos números de tramas que se está preparado para receber (janela de recepção).
Controlo de Erros: Janela DeslizanteControlo de Erros: Janela Deslizante
TRC – Prof. Paulo Lobato Correia 47
Emissor mantém uma janela deslizante de dimensão Nj, isto é tem um máximo de Nj tramas enviadas mas ainda não confirmadas;
Emissor:
NjNão confirmadas
Já confirmadas
Posições livres
base próxima
GoGo--BackBack--NN
Janela deslizante no receptor tem dimensão 1;
Quando o temporizador da trama i expira, o emissor reenvia-a, bem como todas as seguintes;
ACKs são cumulativos.
TRC – Prof. Paulo Lobato Correia 48
[0,5] 0
1ACK12
345
6
34
56789
ACK2ACK3
ACK3
ACK3
ACK3
ACK4
ACK5ACK6
ACK7
[1,6][2,7][3,8]
[3,8][3,8]
[3,8]
[4,9][5,10]
[6,11][9,12]
GoGo--BackBack--NN
Exemplo:Dimensão da janela de emissão:
Nj = 6
Canal que não troca ordem deentrega de tramas;
Tramas são numeradas módulo:N= Nj+1
É possível efectuar controlo de fluxo através da cadência de envio dos ACKs;
Dimensão máxima da janela:
Nj ≤ N – 1, com N = 2k
k – número de bits usados para numeração de tramas
TRC – Prof. Paulo Lobato Correia 49
Exemplo: 8 identificadores disponíveis (k = 3), dimensão da janela: Nj = 8
Caso normal (sem erros) Duplicação de 8 tramas Perda de 8 tramas
01234567
0
ACK 0
01234567
0
ACK 0
timeo
ut
01234567
0
ACK 0
GoGo--BackBack--NN: Dimensão Máxima da Janela: Dimensão Máxima da Janela
TRC – Prof. Paulo Lobato Correia 50
Selective RepeatSelective Repeat
Emissor e receptor usam ambos janelas deslizantes com dimensão Nj:Quando o temporizador da trama i expira, o emissor reenvia apenas essa trama;A chegada de um ACK confirma todas as tramas anteriores;Existem também NAK para indicar tramas recebidas com erros.
base
base próxima
Não confirmadas
Posições livres
Emissor
Receptor
Já confirmadas
Nj
Nj
TRC – Prof. Paulo Lobato Correia 51
[0,5] 0
12
345
6
37
8
91011
ACK3
ACK7
[3,8]
[3,8]
[7,12][7,12]
[9,14]
ACK9
Exemplo:Dimensão da janela de emissão:
Nj = 6
Canal não troca ordem deentrega de tramas
Tramas são numeradas módulo N = 2 x Nj
É possível efectuar controlo de fluxo através da cadência de envio dos ACKs
Dimensão máxima da janela:
Nj ≤ N / 2 = 2k-1, com N = 2k
k – número de bits usados para numeração de tramas
Selective RepeatSelective Repeat
TRC – Prof. Paulo Lobato Correia 52
Exemplo: 8 identificadores disponíveis (k = 3); dimensão da janela: Nj = 5
01234
ACK 5
timeo
ut
01
espera: 0,1,2,3,4
espera: 5,6,7,0,1
aceita 0,1 como novas tramas:duplicação de tramas!
Selective RepeatSelective Repeat: : Dimensão Máxima da Janela de EmissãoDimensão Máxima da Janela de Emissão
TRC – Prof. Paulo Lobato Correia 53
Janela Deslizante: EficiênciaJanela Deslizante: Eficiência
Há duas situações distintas:Nj > 2a + 1 Nj < 2a + 1
Transmissão contínua Transmissão descontínua(não esgota janela) (esgota janela)
trama
prop
tt
a =
TRC – Prof. Paulo Lobato Correia 54
Exemplo: Selective Repeat
Numeração módulo N = 8 (Identificadores: 0, 1, ... 7)
Tamanho máximo da janela: Nj = N/2 = 4
A utilização (eficiência) da linha é: (considerando que todos os bits da trama são úteis)
Nunca é necessário para à espera de um ACK.
1=U
Janela Deslizante: Transmissão ContínuaJanela Deslizante: Transmissão Contínua
012345670
ACK 1
...
...
Nj
[0,3]
TRC – Prof. Paulo Lobato Correia 55
Exemplo: Selective Repeat
Numeração módulo N = 8 (Identificadores: 0, 1, ... 7)
Tamanho máximo da janela: Nj = N/2 = 4
Admitindo que os tempo de processamento e de transmissão do ACK são desprezáveis, a utilização (eficiência) da linha é:
(considerando que todos os bits da trama são úteis)
122 +⋅=
+⋅
⋅=
aN
tttN
U j
tramaprop
tramaj
Janela Deslizante: Transmissão DescontínuaJanela Deslizante: Transmissão Descontínua
0123
4567
0
ACK 1
...
...
Nj
1
TRC – Prof. Paulo Lobato Correia 56
Janela Deslizante: EficiênciaJanela Deslizante: Eficiência
Transmissão contínua: U = 1 Transmissão descontínua: U = Nj / (2.a+1)
Dimensão típica das janelas: Nj=7 ou Nj=127 (ligações via satélite)
Piggybacking – melhora utilização da linha em ligações bidireccionais:Se uma estação tem dados e ACK para enviar, os ACKs são atrasados temporariamente e incluídos nas tramas de informação;ACK necessita só de alguns bits no cabeçalho da trama de informação, enquanto uma trama separada de ACK necessita de cabeçalho, ACK e FCS;Possível desvantagem: emissor declarar timeout se a espera pelo piggybackingfor demasiado longa.