PROTOCOLOS MAC
DETERMINÍSTICOS
Í
Este material foi elaborado pelo professor Gerson Barboza e Pedro Vieira para o curso de redes de computação
ind strial nas instituições
industrial instit ições em que
q e lecionam.
lecionam O uso
so do presente material só é autorizado
a tori ado dentro da finalidade
específica do presente curso. Sua utilização, portanto, fora dessa finalidade específica constitui violação de
propriedade intelectual.
Revisão: 10/03/2011
2
Desligue a luz ao sair da sala.
3
4
Pensamento...
“Só as pessoas
inteligentes
procuram,
para auxiliá-
las pessoas
las,
mais
inteligentes
do que elas.”
(Baltasar Gracian
y Morales)
5
Pensamento...
6
7
PROLEGÔMENOS
8
O Modelo de Referência OSI
CPU 1 Ligações
g ç lógicas
g CPU 2
7. Aplicação 7. Aplicação
6 Apresentação
6. 6 Apresentação
6.
5. Sessão 5. Sessão
4 Transporte
4. 4 Transporte
4.
3. Rede 3. Rede
2 Enlace
2. E l 2 Enlace
2. E l
1. Física 1. Física
RM OSI
RM-OSI IEEE
802.1
LLC 802 2
802.2
ENLACE
MAC
FÍSICO 802.3 802.4 802.5 802.6
A camada
d MAC (IEEE) é a parte
t iinferior
f i d da
camada de enlace (RM-OSI)
10
Classificação
ç dos Protocolos MAC
Alocação aleatória:
• permitem
it acesso aleatório
l tó i das
d estações
t õ ao meio i (ex.:
( CSMA =
Carrier Sense Multiple Access). Em caso de envio simultâneo por
mais de uma estação, ocorre uma colisão e as estações
envolvidas tem que transmitir suas mensagens após a resolução
do conflito resultante (protocolos de contenção);
11
Classificação
ç dos Protocolos MAC
12
Classificação
ç dos Protocolos MAC
13
O PROTOCOLO CSMA
14
CSMA Persistente e Não
Persistente
CSMA 1-persistente
1 persistente, p-persistente
p persistente e não persistente
CSMA = Carrier Sense Multiple Access (Acesso Múltiplo por
Detecção
ç de p portadora))
baseia-se no conceito de escuta do meio de transmissão
para a seleção
p ç do direito de acesso a este.
CSMA p-persistente: estação que quer enviar dados escuta
meio. Se canal livre, envia quadro com probabilidade “p”.
Senão, aguarda na escuta até que o meio esteja livre.
Caso particular: p=1.
CSMA não persistente: idem anterior, mas se canal
ocupado, estação espera um período de tempo aleatório e
esc ta o canal no
escuta novamente.
amente
15
CSMA Persistente e Não
Persistente
CSMA 1-persistente:
p faz melhor uso da banda,, mas tem
grande chance de gerar colisões
CSMA não persistente: faz pior uso da banda, mas tem
menor probabilidade de gerar colisões
CSMA p-persistente (0<p<1): compromisso entre as
soluções anteriores.
np
P-p
1-p
tempo
16
Rendimento do CSMA
Rendimento do CSMA:
Probabilidade de colisão cresce
exponencialmente com tráfego
Tráfego é influenciado por dois fatores: tráfego
individual de cada estação (bits por segundo) e
número de estações na rede
17
Rendimento do CSMA
Probabilidade
de colisão
18
O Protocolo CSMA
Exemplo de transmissão com CSMA
A estação 2 inicia a transmissão com
o canal livre
A estação 4 escuta o canal ocupado e evita transmitir,
já que o canal está sendo utilizado pela estação 2
Quando o canal é liberado, a estação 4 inicia a
transmissão
O mesmo ocorre depois
d i com a estação
t ã 2 querendo d
transmitir novo quadro
19
CSMA/CD
20
CSMA/CD
/
21
CSMA/CD
/
Exemplo de transmissão com CSMA/CD: colisão
As estações 2 e 5 começam a transmissão quase
simultaneamente colisão
A colisão é detectada por ambas as estações, que
interrompem a transmissão
Cada estação inicia um contador randômico
A estação 2 retransmite e o protocolo CSMA continua
agindo
i d normalmente
l t
22
CSMA/CD
/
Quanto tempo é necessário para detectar uma colisão?
No pior caso: o dobro do tempo máximo de propagação
• Chamado tempo para dominação do canal (seize time)
A inicia a transmissão
B inicia a transmissão
B detecta a colisão
A detecta a colisão
emissor receptor
emissor emissor
24
CSMA/CD
/
início
Quando
começar a
retransmitir não
Estação
depois de uma Pronta?
colisão?
li ã ?
Algoritmo de sim
Novo
escolha: nc = 0 Quadro?
exponential
não
backoff
Não aumenta o Sîlêncio
Sî ê i nc++
tempo depois de na Rede?
não
limite = 2nc-1
10 tentativas sim
Wait=random
Desiste depois transmitir [0,limite]
de 16 tentativas
não sim
Colisão?
25
Característica Temporal do
CSMA/CD
Métodos de acesso CSMA convencionais: tempo de
reação não pode ser exatamente determinado (não
determinístico).
)
Não se sabe de antemão:
se haverão colisões;;
quantas colisões seguidas podem ocorrer;
o tempo
p ((aleatório)) de espera
p em caso de colisão.
Tempo de espera é randomizado segundo
algoritmo
g BEB ((Binary
y Exponential
p Backoff))
Portanto o CSMA/CD,
CSMA/CD por si só,
só não
garante determinismo.
26
PROTOCOLOS MAC
DETERMINÍSTICOS
27
Protocolos MAC Determinísticos
28
COMANDO CENTRALIZADO
29
Comando Centralizado: Mestre-
Escravo
MESTRE
escravo
escravo escravo
escravo escravo
escravo escravo
escravo
30
COMANDO DISTRIBUÍDO
31
Comando Distribuído: Token-Bus
receptor
f h
ficha emissor
32
Comando Distribuído: Token-Ring
g
33
COMANDO DISTRIBUÍDO
CSMA/NBA
34
Comando Distribuído: Forcing
Headers (CSMA/NBA)
Variante determinística do CSMA ((CSMA/NBA = CSMA with
Nondestructive Bitwise Arbitration).
Estações enviam bit a bit um identificador da mensagem,
que define prioridade da mesma
mesma.
Cada mensagem tem que ter prioridade diferente das
demais.
Se todos os bits do identificador são 0, prioridade máxima.
Camada física executa AND sobre cada bit enviado ao
barramento (CD ativada ao enviar um 1 e desativado ao
enviar um 0).
Transmissão interrompida quando um 1 é enviado e ocorrer
colisão (0 é lido)
lido).
Se identificador transmitido até o fim sem colisão, resto da
mensagem
g é enviado.
35
Comando Distribuído: Forcing
Headers (CSMA/NBA)
100 dados
Header do frame
Frame a enviar
Nó 4
Nó 0 Nó 1 Nó 2 Nó 3
36
Comando Distribuído: Forcing
Headers (CSMA/NBA)
Estação possuidora da mensagem de alta
prioridade terá que esperar ao menos o envio
de uma mensagem de prioridade menor para
tomar o barramento para si novamente
A estação
t ã que envioui a mensagem,
mesmo que tenha havido uma colisão, a
quall não
ã foi
f i por ela
l percebida,
bid não
ã
precisou reiniciar a mensagem, uma vez
que a mensagem de d prioridade
i id d maior
i nãoã
é corrompida.
37
COMANDO DISTRIBUÍDO
COMPRIMENTO DE PREÂMBULO
38
Comando Distribuído:
Comprimento de Preâmbulo
Variante determinista de CSMA/CD
A cada mensagem é associado um preâmbulo com
comprimento diferente
diferente, que é transmitido com CD
desativada.
A messagem com o maior preâmbulo tem a
prioridade mais alta
Após término de envio do preâmbulo, CD reativada
Se detectou colisão, existe outra mensagem mais
prioritária sendo enviada e estação fica a espera de
meio livre.
39
Comando Distribuído:
Comprimento de Preâmbulo
Preambulo do frame
Frame a enviar
Nó 4
Nó 0 Nó 1 Nó 2 Nó 3
40
Comando Distribuído:
Comprimento de Preâmbulo
41
COMANDO DISTRIBUÍDO
CSMA/DCR
42
Comando Distribuído: CSMA/DCR
/
43
Comando Distribuído: CSMA/DCR
/
44
Comando Distribuído: CSMA/DCR
/
Í di 12
Índice Í di 14
Índice Í di 15
Índice
6 estações
t õ d de uma rede
d com 16 ffontes
t enviam
i fframes
simultaneamente
Índices de cada estação conforme figura acima
Q = 16
q = 16 (24)
altura da árvore binária = log2 16 = 4
46
Comando Distribuído: CSMA/DCR
Exemplo
[0,15]
[0 15]
1
[0,7] [8 15]
[8,15]
2 9
4 5 7 8 11 12 14 15
[2,3] [4,5] [6,7] [8,9] [10,11] [12,13]
47
Comando Distribuído: CSMA/DCR
Exemplo
0C
2,3,5,12,14,15
W= 2,3,5
L=12,14,15
1C 8C
2,3,5 12 14 15
12,14,15
W= 2,3 W=
L=5 L=12,14,15
2C 7T 9V 10 C
2,3 5 12,14,15
W= W= 12
L=2,3 L=14,15
3V 4C 12 C
2,3 11 T
12 14,15
W=2 W= 14
L=3 L=15
5T 6T
2 3 13 T 14 T
14 15
Evolução
ç do algoritmo
g
48
Comando Distribuído: CSMA/DCR
Exemplo
O tempo
p até o inicio da transmissão da fonte com índice 5
será:
4 colisões + 1 vazio = 5. slot-time
2 transmissões = 2.(tamanho
2 (tamanho quadro em slot-times)
slot times)
Assumindo que cada quadro tem um tamanho fixo de 6 slot-
times e considerando 1 slot-time como 40 microssegundos,
o tempo para início da transmissão da mensagem da fonte
com índice 5 seria:
Tinicio 5 = 5.40 + 2.6.40 = 680 microssegundos (não é ainda pior
caso)
O tempo de duração total da época será:
7 colisões = 7.slot-time
2 vazios = 2. slot-time
6 transmissões = 6 .(tamanho do quadro em slot-times)
Assumindo 1 slot-time
slot time = 40 microssegundos:
T época = 7.40 + 2.40 + 6.6.40 = 1800 microssegundos = 1.8
49
Comando Distribuído: CSMA/DCR
/
• Tépoca = F(q
F(q-1)
1).s
s+Q
Q.M
M
53
Mate sua dúvida...
54