Camada de Enlace
Profª. Dianne Scherly Varela de Medeiros 2018.1
Anteriormente...
• Controle de fluxo: por vezes o transmissor envia mais informação do que o receptor suporta
̶ Protocolos de janela deslizante regulam o transmissor
• Stop-and-Wait
• Go-Back-N
• Retransmissão Seletiva
• Protocolos de camada de enlace de canal ponto-a-ponto
̶ HDLC
̶ PPP
• Estações em canais de difusão compartilham o meio de transmissão simultaneamente
̶ Competição pelo acesso
̶ Necessário coordenar o acesso para reduzir interferências
• Interferência é chamada de colisão e afeta o receptor
̶ Quadros envolvidos na colisão são perdidos
• Quanto mais transmissores enviando quadros mais colisões ocorrem
̶ Largura de banda do canal desperdiçada com transmissões inúteis
28/08/2019 3
Controle de Acesso ao Meio
Fio compartilhado (Internet à cabo)
Meio sem-fio (rede Wi-Fi)
Reunião/Aula/Festa Satélite
Controle de Acesso ao Meio
• Protocolo de acesso múltiplo ideal
̶ Se apenas um nó deseja transmitir, transmite a 𝑅 bits/s
̶ Se 𝑀 nós desejam transmitir, cada um tem uma vazão média de 𝑅/𝑀 bits/s
̶ Protocolo deve ser decentralizado
• Não existe um nó mestre
̶ Protocolo simples, barato para implementar
28/08/2019 5
Controle de Acesso ao Meio
Tipos de Protocolos de Acesso ao Meio
• Principais métodos
̶ Protocolos de divisão de canal: canal dividido em pequenos pedaços e cada pedaço é alocado para um transmissor
̶ Protocolos de acesso aleatório: canal não é dividido e podem ocorrer colisões, no entanto o sistema se recupera
̶ Protocolos de revezamento: canal não é dividido e não ocorrem colisões porque é concedida a oportunidade de transmitir a cada nó separadamente, de forma alternada
Tipos de Protocolos de Acesso ao Meio
Protocolos de acesso ao meio
Protocolos de divisão de canal
Protocolos de acesso aleatório
Protocolos de revezamento
• FDMA
• TDMA
• CDMA
• ALOHA
• CSMA
• Varredura
• Reserva
• Passagem de tokens
7 28/08/2019
Acesso Múltiplo vs. Multiplexação
• Relembrando...
̶ Multiplexação: ocorre quando sinais a serem transmitidos são combinados para serem transmitidos em um único canal de maior capacidade
̶ Acesso múltiplo: ocorre quando diferentes fontes necessitam acessar o mesmo canal para transmitir seus sinais
Protocolos de Divisão de Canal
• Canal compartilhado é dividido entre os diferentes
transmissores no tempo, em frequência, em comprimento de onda, por código ou no espaço
• Não ocorre colisão porque cada porção do canal é dedicada a um transmissor
• Exemplos: TDMA (TDM), FDMA (FDM), OFDMA (OFDM), WDMA (WDM), CDMA (CDM), SDMA (SDM)
28/08/2019 9
Protocolos de Acesso Aleatório
• Totalmente descentralizados
• Pode ocorrer interferência entre os sinais (colisão de quadros)
• Todas as fontes têm direito de transmitir
̶ Não há monopolização do canal
̶ Não existe ordem de acesso
• Tentam maximizar o uso do canal
Protocolos de Acesso Aleatório
• Requisitos de projeto
̶ Como decidir quando a estação pode acessar o meio
̶ O que fazer enquanto o meio está ocupado
̶ Como determinar que a transmissão foi bem sucedida
̶ O que fazer quando ocorre colisão
11 28/08/2019
Protocolos de Revezamento
• Transmissores não podem enviar dados a menos que tenham sido autorizados
• Não ocorrem colisões porque não existe disputa pelo meio
Protocolos
de Acesso Aleatório
28/08/2019 13
ALOHA
• Primeiro método de acesso aleatório
̶ Desenvolvido na década de 70 para operar na rede ALOHA
• Primeira rede baseada em pacotes
• LAN via rádio que interligava computadores em várias ilhas no Havaí
• Duas abordagens: ALOHA puro, slotted ALOHA
ALOHA Puro
• Se a estação tem algo para transmitir, envia os dados
̶ Não há escuta do meio
̶ Estação destino confirma recepção enviando um reconhecimento positivo (ACK)
̶ Se houver transmissão simultânea ocorre colisão
• Colisão inferida através do não recebimento de um reconhecimento positivo (ACK)
• Não recebimento do ACK também pode indicar quadro recebido com erro
15 28/08/2019
ALOHA Puro
• Se o ACK não for recebido
̶ Quadro retransmitido após um tempo aleatório
• Reduz a probabilidade de nova colisão
̶ Estação retransmite até receber um ACK
• Pouco eficiente: ≈18% de eficiência
̶ Muitas colisões
ALOHA Puro
t 1
1
2
2
2
2 ACK
ACK
Tempo aleatório
Tempo aleatório
17 28/08/2019
Eficiência do ALOHA Puro
• Eficiência
̶ Probabilidade de colisão: quadro em 𝑡0 colide com outros quadros enviados em [𝑡0 − 1, 𝑡0 + 1]
𝑃 𝑠𝑢𝑐𝑒𝑠𝑠𝑜 = 𝐶𝑛,1 × 𝑃 𝑛ó 𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑡𝑖𝑟
× 𝑃 𝑛𝑒𝑛ℎ𝑢𝑚 𝑜𝑢𝑡𝑟𝑜 𝑛ó 𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑡𝑖𝑟 𝑒𝑚 𝑡0 − 1
× 𝑃 𝑛𝑒𝑛ℎ𝑢𝑚 𝑜𝑢𝑡𝑟𝑜 𝑛ó 𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑡𝑖𝑟 𝑒𝑚 𝑡0 + 1
𝑃 𝑠𝑢𝑐𝑒𝑠𝑠𝑜 = 𝑛. 𝑝 × 1 − 𝑝 𝑛−1 × 1 − 𝑝 𝑛−1 = 𝑛. 𝑝. 1 − 𝑝 2 𝑛−1 𝑃 𝑠𝑢𝑐𝑒𝑠𝑠𝑜 = 1
2𝑒 ≈ 18% ⇒ Quando 𝑝 é ótimo e 𝑛 → ∞
ALOHA Puro
• Eficiência, 𝑝 ótimo (𝑝
∗)
𝑑 𝑛. 𝑝∗. 1 − 𝑝∗ 2 𝑛−1
𝑑𝑝 = 0
⇒ 𝑛. 1 − 𝑝∗ 2 𝑛−1 + 𝑛. 𝑝∗. 2 𝑛 − 1 . 1 − 𝑝∗ 2 𝑛−1 −1. −1 = 0
⇒ 1 − 𝑝∗ 2 𝑛−1 = 𝑝∗. 2 𝑛 − 1 . 1 − 𝑝∗ 2 𝑛−1 −1
⇒ 1 − 𝑝∗ 2 𝑛−1 = 𝑝∗.2 𝑛−1 . 1−𝑝∗ 2 𝑛−1 1−𝑝∗
⇒ 1 − 𝑝∗ = 𝑝∗. 2 𝑛 − 1
⇒ 1 − 𝑝∗ = 2𝑝∗. 𝑛 − 2𝑝∗
⇒ 1 = 2𝑝∗. 𝑛 − 𝑝∗
⇒ 𝒑∗ = 𝟏
𝟐𝒏−𝟏
19
ALOHA Puro
• Eficiência, substituindo 𝑝
∗=
12𝑛−1
em 𝑛𝑝 1 − 𝑝
2 𝑛−1⇒ lim
n→∞
n
2n−1 × 1 − 1
2𝑛−1
2 𝑛−1
⇒
n→∞lim 1− 1
2𝑛−1
2𝑛−1
n→∞lim
2𝑛−2 𝑛
= 1
2𝑒 ≈ 18%
𝑛→∞lim 1 − 1 𝑛
𝑛
= 1 𝑒
Slotted ALOHA
• Eficiência do ALOHA puro é muito baixa
̶ Não existe definição de quando uma estação pode transmitir
• O tempo é dividido em slots
̶ Quando uma estação deseja transmitir, espera o início do próximo slot
̶ Estações sincronizadas para saber quando os slots começam
̶ Se duas ou mais estações transmitem no mesmo slot ocorre colisão
• Inferida pelo não recebimento de um ACK
21 28/08/2019
Slotted ALOHA
• Se o ACK não for recebido
̶ Quadro retransmitido no próximo slot com probabilidade 𝑝
• Reduz a probabilidade de nova colisão
̶ Estação retransmite com probabilidade 𝑝 nos slots seguintes até receber um ACK
• Melhor, mas ainda pouco eficiente: ≈37% de eficiência
̶ Muitas colisões
• Meio ocioso
Slotted ALOHA
t 1
1
2
2 3 ACK
𝑡0 𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6
ACK
ACK
𝑡7
2
23 28/08/2019
0 1 2 3 4 5 6
p q
Slotted ALOHA
• Eficiência
̶ Probabilidade de colisão: quadro em 𝑡0 colide com outros quadros enviados no slot
𝑃 1 𝑛ó 𝑡𝑒𝑟 𝑠𝑢𝑐𝑒𝑠𝑠𝑜 𝑒𝑚 1 𝑠𝑙𝑜𝑡 = 𝑃 1 𝑛ó 𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑡𝑖𝑟
× 𝑃 𝑛𝑒𝑛ℎ𝑢𝑚 𝑛ó 𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑡𝑖𝑟 = 𝑝. 1 − 𝑝 𝑛−1 𝑃 𝑞𝑢𝑎𝑙𝑞𝑢𝑒𝑟 𝑛ó 𝑡𝑒𝑟 𝑠𝑢𝑐𝑒𝑠𝑠𝑜 = 𝑛. 𝑝. 1 − 𝑝 𝑛−1
𝑃 𝑠𝑢𝑐𝑒𝑠𝑠𝑜 = 1
𝑒 ≈ 37% ⇒ Quando 𝑝 é ótimo e 𝑛 → ∞
Slotted ALOHA
• Eficiência, 𝑝 ótimo (𝑝
∗)
𝑑 𝑛. 𝑝∗. 1 − 𝑝∗ 𝑛−1
𝑑𝑝 = 0
⇒ 𝑛. 1 − 𝑝∗ 𝑛−1 + 𝑛. 𝑝∗. 𝑛 − 1 . 1 − 𝑝∗ 𝑛−1 −1. −1 = 0
⇒ 1 − 𝑝∗ 𝑛−1 = 𝑝∗. 𝑛 − 1 . 1 − 𝑝∗ 𝑛−1 −1
⇒ 1 − 𝑝∗ 𝑛−1 = 𝑝∗. 𝑛−1 . 1−𝑝∗ 𝑛−1 1−𝑝∗
⇒ 1 − 𝑝∗ = 𝑝∗. 𝑛 − 1
⇒ 1 − 𝑝∗ = 𝑝∗. 𝑛 − 𝑝∗
⇒ 1 = 𝑝∗. 𝑛
⇒ 𝒑∗ = 𝟏
𝒏
25
Slotted ALOHA
• Eficiência, substituindo 𝑝
∗=
1𝑛
em 𝑛𝑝 1 − 𝑝
2 𝑛−1⇒ lim
n→∞ 1 − 1
n
𝑛−1
⇒
n→∞lim 1−1
𝑛 𝑛
n→∞lim 1−1
𝑛
= 1
𝑒 ≈ 37%
𝑛→∞lim 1 − 1 𝑛
𝑛
= 1 𝑒
Vantagens
• Simples
• Altamente descentralizados
• Nó que consegue transmitir utiliza a taxa máxima do
canal
ALOHA puro e Slotted ALOHA
• Muito ineficientes
• Desperdício de recursos devido às colisões
• [Slotted ALOHA] Slots ociosos mesmo quando existe estação querendo transmitir
• [Slotted ALOHA]
Sincronização de relógios Desvantagens
28/08/2019 27
Acesso Múltiplo com Detecção de Portadora
• CSMA (Carrier Sense Multiple Access)
• Analogia: não interrompa quando outros falam
̶ Antes de falar, escute (detecção de portadora)
̶ Se alguém estiver falando, espere
̶ Se a conversa for educada
• Quando alguém falar ao mesmo tempo que você, pare de falar (detecção da colisão)
Acesso Múltiplo com Detecção de Portadora
• CSMA x ALOHA
̶ ALOHA não escuta o meio
̶ ALOHA não para a transmissão quando detecta colisão
29 28/08/2019
Acesso Múltiplo com Detecção de Portadora
• Realmente existe colisão?
̶ Sim!
̶ Atraso de propagação
• Exemplo
̶ B escuta o meio em 𝑡0
• Livre
̶ D escuta o meio em 𝑡1
• Livre
̶ Se C fosse o destino
• Ruído
Acesso Múltiplo com Detecção de Portadora
• Realmente existe colisão?
̶ Sim!
̶ Atraso de propagação
• Quanto maior o tamanho da rede, maior o atraso de propagação entre as extremidades
̶ Maior probabilidade de colisão
• Quanto menor o tamanho da rede, mais efetiva é a escuta de portadora
̶ LANs
31 28/08/2019
Acesso Múltiplo com Detecção de Portadora
• Tipos de CSMA
̶ CSMA persistente
̶ CSMA não-persistente
̶ CSMA p-persistente
̶ CSMA/CA (Collision Avoidance)
̶ CSMA/CD (Collision Detection)
Colisão inferida pelo não recebimento de um ACK
Colisão detectada
• Escuta o meio e se estiver livre, transmite
̶ Se estiver ocupado, continua escutando até ficar livre
• Se houver colisão, espera um tempo aleatório para recomeçar o processo
33 28/08/2019
CSMA Persistente
CSMA Persistente
Escuta o meio
Meio livre?
Transmite o quadro
Colisão? Fim da
S
N
S N
Atraso aleatório
Retransmissão
S
• Escuta o meio e se estiver livre, transmite
̶ Se estiver ocupado, espera um tempo aleatório e volta a escutar o meio
• Se houver colisão, espera um tempo aleatório para recomeçar o processo
35 28/08/2019
CSMA Não-Persistente
CSMA Não-Persistente
Escuta o meio
Meio livre?
Transmite o quadro
Colisão? Fim da
Atraso aleatório
Retransmissão
S
S N
N
• Divide o tempo em slots
• Escuta o meio e se estiver ocupado, espera pelo próximo slot para voltar a escutar o meio
̶ Se estiver livre, transmite com probabilidade 𝑝 ou espera o próximo slot com probabilidade 1 − 𝑝
• Se estiver livre no próximo slot, novo sorteio com
probabilidade p, mas se estiver ocupado, age como se houvesse ocorrido colisão
• Se houver colisão, espera um tempo aleatório para recomeçar o processo
37 28/08/2019
CSMA p-Persistente
CSMA p-Persistente
Escuta o meio
Meio livre?
Transmite o quadro Atraso T s
Meio livre?
S
Prob.
S N
p 1-p
Escuta o meio Atraso aleatório
Retransmissão
N Atraso T s
• Escuta a portadora como no CSMA persistente
• Detecta colisões
̶ Transmissor escuta o meio enquanto transmite
̶ Cancela a transmissão quando detecta a colisão
̶ Informa para todas as estações que a colisão ocorreu
• Caso ocorra colisão, tenta novamente após período aleatório
• Mais detalhes quando estudarmos o padrão IEEE 802.3 (Ethernet)
28/08/2019
CSMA/CD (Collision Detection)
CSMA/CD (Collision Detection)
Escuta o meio
Meio livre?
Transmite o quadro
Colisão? Fim da
transmissão S
S N
Atraso aleatório
Retransmissão
N
Cancela transmissão
Envia jam
CSMA/CD (Collision Detection)
• Exemplo
̶ B escuta o meio em 𝑡0
• Livre
̶ D escuta o meio em 𝑡1
• Livre
̶ Se C fosse o destino
• Ruído
28/08/2019 41
CSMA/CD (Collision Detection)
• CSMA x CSMA/CD
CSMA/CD (Collision Detection)
• Garantir que todas as estações detectem a colisão
• Como?
̶ O meio precisa ser ocupado durante um tempo de ida e volta (RTT), que é o dobro do atraso de propagação do meio
43 28/08/2019
CSMA/CD (Collision Detection)
Bob envia quadro em 𝑡0
Quadro demora 𝜏 para chegar em Alice
CSMA/CD (Collision Detection)
Bob envia quadro em 𝑡0
Quadro demora 𝜏 para chegar em Alice Alice envia quadro em 𝜏 − 𝜀
CSMA/CD (Collision Detection)
Bob envia quadro em 𝑡0
Quadro demora 𝜏 para chegar em Alice Alice envia quadro em 𝜏 − 𝜀
Alice detecta colisão no tempo 𝜏
CSMA/CD (Collision Detection)
Bob envia quadro em 𝑡0
Quadro demora 𝜏 para chegar em Alice Alice envia quadro em 𝜏 − 𝜀
Alice detecta colisão no tempo 𝜏
CSMA/CD (Collision Detection)
Bob envia quadro em 𝑡0
Quadro demora 𝜏 para chegar em Alice Alice envia quadro em 𝜏 − 𝜀
Alice detecta colisão no tempo 𝜏 Alice envia o jam
Jam chega em Bob em 2𝜏
CSMA/CD (Collision Detection)
• Eficiência do CSMA/CD
𝐸𝑓𝑖𝑐𝑖ê𝑛𝑐𝑖𝑎 = 1
1 + 5 ⋅ 𝑡
𝑝𝑟𝑜𝑝𝑡
𝑡𝑟𝑎𝑛𝑠28/08/2019 49
Tráfego oferecido
(quadros/tempo de quadro)
Vazão
CSMA/CA (Collision Avoidance)
• CSMA/CD funciona porque o transmissor consegue escutar o meio enquanto transmite
• Em redes sem fio, o que fazer?
̶ Transmissor “surdo” quando envia dados
• Colisão só é vista pelo receptor
• Escuta o meio por um período curto
̶ Se o meio estiver livre por todo o período, transmite o quadro
̶ Se for ocupado durante esse período, sorteia um atraso aleatório e volta a escutar o meio
• Sempre que o meio estiver livre, diminui o contador do atraso aleatório e transmite quando o contador chega em 0
• Quando ocorre colisão, sorteia um atraso aleatório e volta a escutar o meio
• Mais detalhes quando estudarmos o padrão IEEE 802.11 (Wi-Fi)
51 28/08/2019
CSMA/CA (Collision Avoidance)
Colisão?
(ACK não recebido)
CSMA/CA (Collision Avoidance)
Fim da transmissão
Escuta o meio por
curto período Atraso aleatório
Meio livre por todo o período?
Transmite o quadro
Para a contagem regressiva
Cont. contagem regressiva
Meio livre?
Escuta o meio
S
N
N
N
S
Desvantagens
• Tempo de duração da colisão é desperdiçado
CSMA, CSMA/CD e CSMA/CA
• Escuta o meio
• Reduz efeito nocivo das colisões
• [CSMA/CD] Escuta ocorre mesmo durante a
transmissão
• Descentralizado
• Não necessita de sincronização
Vantagens
28/08/2019 53
Protocolos de Revezamento
Varredura (Polling)
• A estação centralizadora envia mensagens para as outras, individualmente, convidando-as a transmitir (polling)
̶ Quem tem dados para transmitir, envia os dados
• Quando a estação centralizadora tem dados para enviar para outra estação, primeiro alerta a estação e em seguida envia os dados
• Um dos modos de funcionamento do Wi-Fi (IEEE 802.11)
55 28/08/2019
Varredura (Polling)
• Vantagem
̶ Transmissão com taxa máxima
̶ Não ocorre colisão
• Desvantagem
̶ Aumento na latência
̶ Sobrecarga de controle
̶ Ponto único de falha
Reserva
• Antes de enviar dados o transmissor faz um pedido de reserva a um nó centralizador
̶ O nó centralizador escalona o posterior acesso ao meio
̶ Colisões podem ocorrer durante os pedidos, dependendo do protocolo
• Vantagem
̶ Transmissão com taxa máxima
̶ Após reserva, não há colisão
• Desvantagem
̶ Ponto único de falha
̶ Colisão nos pedidos
57 28/08/2019
Passagem de Token
• Estações organizadas em um anel lógico
• Token é um pacote especial que permite a transmissão de dados
̶ Quem está com a posse do token pode enviar dados
̶ Circula em um único sentido, de uma estação para a próxima
• A estação libera o token apenas quando não tem mais dados para enviar
̶ Métodos de gerenciamento para evitar inanição das outras estações
• Usado nas redes Token Ring e FDDI
Passagem de Tokens
• Vantagem
̶ Não ocorre colisão
̶ Transmissão com taxa máxima
• Desvantagem
̶ Sobrecarga com a passagem de permissão
̶ Token pode ser perdido
̶ Aumento da latência
59 28/08/2019
Material Utilizado
• Notas de aula do Prof. Miguel Elias Mitre Campista disponíveis em
http://www.gta.ufrj.br/~miguel/redes.2016.3.html
• Notas de aula dos Profs. Kurose e Ross disponíveis em
http://www-net.cs.umass.edu/kurose-ross-ppt-6e/
Leitura Recomendada
• Cap. 5: 5.3
̶ Jim Kurose e Keith Ross, “Redes de Computadores e a Internet – Uma abordagem Top-Down”, 6a Edição, Ed.
Pearson, 2013, ISBN 978-0-13-285620-1
• Cap. 4: 4.1, 4.2
̶ Andrew S. Tanenbaum, “Redes de Computadores”, 5a Edição, Ed. Pearson, 2011, ISBN 978-0-13-212695-3
28/08/2019 61