4 – nível de ligação de dados - autenticação · authority”), os outros 3 são um número...

57
Telecomunicações e Redes de Computadores Telecomunicações e Redes de Computadores 4 4 Nível de Ligação de Dados Nível de Ligação de Dados Prof. Paulo Lobato Correia IST, DEEC – Área Científica de Telecomunicações

Upload: voliem

Post on 10-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

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 6

Ligação Ligação NóNó--aa--NóNó

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 18

FDMAFDMA

FDMA – Frequency Division Multiple Access

TRC – Prof. Paulo Lobato Correia 19

TDMATDMA

TDMA – Time Division Multiple Access

TRC – Prof. Paulo Lobato Correia 20

CDMACDMA

CDMA – Code Division Multiple Access

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 27

Exemplos de ErrosExemplos de Erros

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 32

Detecção de Erros: LRCDetecção de Erros: LRC

TRC – Prof. Paulo Lobato Correia 33

Detecção de Erros: CRCDetecção de Erros: CRC

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 40

StopStop--andand--WaitWait

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 46

GoGo--BackBack--NN

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.

TRC – Prof. Paulo Lobato Correia 57

Controlo de FluxoControlo de Fluxo

As técnicas de controlo de erros do tipo ARQ permitem simultaneamente efectuar controlo de fluxo, através da cadência de envio dos ACKs.