O documento discute mecanismos de controle de fluxo em redes de computadores, comparando os protocolos stop-and-wait e janela deslizante. O stop-and-wait permite a transmissão de apenas um quadro por vez, enquanto a janela deslizante permite vários quadros em trânsito simultaneamente de forma a melhorar a eficiência da rede. O documento analisa o funcionamento e desempenho de ambos os métodos.
1. Introdução
Redes de Computadores ! Comunicação em um enlace envolve a coordenação entre dois
Instituto de Informática - UFRGS
dispositivos: emissor e receptor
! Controle de fluxo:
Controle de fluxo ♦ Quantos dados um emissor pode enviar antes de esperar uma confirmação
(ack) do receptor
♦ Está relacionado com capacidade de bufferização no receptor
Instituto de Informática - UFRGS
! Controle de erros:
♦ O que fazer quando apenas se detecta erros?
♦ Descarte do quatro seguido de retransmissão, porém:
A. Carissimi -29-mars-10
♦ O que retransmitir, como e quando?
Aula 07
Redes de Computadores 2
Controle de fluxo Questões importantes
! Mecanismo de retro-alimentação que informa a fonte (emissor) a ! A duração da transmissão de um quadro depende:
capacidade de recepção do destino (receptor) ♦ Tempo de propagação do sinal no meio
♦ Objetivo é evitar perda de dados por estouro em buffers de recepção ♦ Função da distância a ser percorrida e da velocidade de transmissão
♦ Destino necessita analisar quadros recebidos antes de enviar as camadas ♦ Tempo de duração do quadro
superiores ♦ Função do tamanho do quadro e do tempo de propagação
! Mecanismos básicos: stop-and-wait e janela deslizante ! Característica do meio: half-duplex versus full-duplex
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
! Análise considerando transmissão sem erros (por enquanto) ! Quantidade de dados (quadros) que o emissor pode enviar antes de
♦ Todos os quadros são transmitidos com sucesso ser obrigado a parar de transmitir
♦ Nenhum quadro é perdido ♦ Protocolo Stop-and-wait → apenas um quadro
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
♦ Nenhum quadro possui erros ♦ Protocolo Janela deslizante → capacidade da janela
♦ Ordem de chegada é igual a ordem de emissão
Redes de Computadores 3 Redes de Computadores 4
2. Tempo de propagação Duração temporal de um quadro
! Velocidade de propagação (v): ! Função do tamanho do quadro (bits) e da taxa de transmissão (bps)
♦ Distância que um sinal percorre em um segundo (e.g. 3x108 m/s para a luz) ♦ Dado por L/R, onde L é tamanho do quadro e R a taxa de transmissão
! Tempo de propagação (t):
! Tempo total de transmissão (s)
♦ Tempo necessário para um sinal (bit) “viajar” de um ponto a outro
♦ Duração do quadro + tempo de propagação
♦ Obviamente é função da distância a ser percorrida
A B
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
Tempo de propagação = t2 – t1 = d / v Tempo de propagação
Tempo total da
transmissão
distância d Tempo de duração do quadro
1110001011
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
v
t1 Ex. IEEE802.3: Tempo para envio de um quadro de tamanho mínimo = 76.8 µs
1110001011
10 Mbps → 0.1µs por bit
t2 Quadro com 64 bytes → 64 bytes x 8 bits x 0.1 µs = 51.2 µs
Tempo de propagação p/ 2500 m de cabo coaxial = 25.6 µs
Redes de Computadores 5 Redes de Computadores 6
Protocolo de controle de fluxo stop-and-wait Análise do método stop-and-wait
A B
! Emissor só pode enviar um quadro i depois de ter recebido a
Tempo de propagação
confirmação da recepção do quadro i -1
Tempo de transmissão
♦ Definição de dois tipos de quadros: quadro de dados e quadros de controle (ACK)
Do quadro em si
A B B Tempo de propagação
A
1 Tempo de
1
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
propagação
ACK “segura” a ! Inconvenientes do Stop-and-wait
2 transmissão ♦ Subutiliza o meio de transmissão
ACK ♦ Comunicação é sempre half-duplex mesmo quando o meio permite full-duplex
ACK
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
2
ACK ! Exemplo: Canal de 1 Mbps e tempo de propagação = 1 ms, quadro de 1000 bits
Os bits (sinais) levam tempo ♦ Se transmite um quadro a cada 2 ms + 1 ms (1000 bits * 0.000001 s), portanto a cada 3ms
para se propagar no meio físico! do canal, apenas 1 ms é “útil” (considerando quadro ACK de duração desprezível)
Redes de Computadores 7 Redes de Computadores 8
3. Análise de desempenho: stop-and-wait Uma constatação...
! O tempo total para enviar um quadro e receber um ack é dado por: ! Considerando tprop = 15 ms, para quadros de 1000 bytes (8000 bits) em uma rede
de 1 Gbps.
T = t prop + t frame + t proc + t prop + t ack + t proc A B A B
! Que pode ser aproximado por: T = 2 × t prop + t frame Dados Dados
15 ms 15 ms
! Eficiência da utilização do meio é:
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
30.016 ms 0.008 ms 30.040 ms 0.008 ms
ack 0.008 ms
t t 1 15 ms 0.008 ms
U= U=
frame
a=
prop
fazendo 0.008 ms
2 t prop + t frame t frame 1+ 2a 0.008 ms ack
15 ms
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
0.008 ms
(obs.: diagramas fora de escala)
(a) (b)
Redes de Computadores 9 Redes de Computadores 10
Protocolo de controle de fluxo por janela deslizante Implementação da janela deslizante
! Problema do stop-and-wait é ter apenas um quadro em trânsito ! Dois tipos de quadros
! Melhoria é permitir que a fonte envie n quadros sem esperar pela ♦ Quadro de dados: informação e número de seqüência
confirmação (ack) do destino ♦ Quadros de controle: Receive Ready (RR n) e Receive Not Ready (RNR n)
♦ Necessário que o destino informe sua capacidade de “absorção” de quadros ! Numeração seqüencial usando k bits (0 a 2k-1 )
♦ Número de quadros enviados não deve ultrapassar capacidade de ♦ Limitação em k bits fornece o efeito módulo (e.g. k=2; 0, 1, 2, 3, 0, 1, 2, 3...)
bufferização do destino Semântica dos quadros de controle:
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
!
! Princípio básico: ♦ RR n: recebi até o quadro n-1; pode enviar o quadro n
♦ Numerar sequencialmente (módulo N) os quadros a serem transmitidos ♦ RNR n: recebi até o quadro n-1; mas não estou pronto para receber o quadro n
♦ Controlar os quadros enviados e recebidos
RR e RNR tem efeito acumulativo
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
!
♦ Informar continuamente a capacidade de “absorção” de quadros do destino
Redes de Computadores 11 Redes de Computadores 12
4. Exemplo funcionamento janela deslizante (sem erros) Exemplo de janela deslizante
janela janela
Emissor Receptor
0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
Q0
0 1 2 3 0 1 2 3
Q1 http://www.humboldt.edu/%7eaeb3/telecom/SlidingWindow.html
0 1 2 3 0 1 2 3
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
0 1 2 3 0 1 2 3
RR2
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
Q2
0 1 2 3 0 1 2 3
Q3
0 1 2 3 0 1 2 3 Q0 0 1 2 3 0 1 2 3
Redes de Computadores 13 Redes de Computadores 14
Implementação janela deslizante Análise do método janela deslizante
Quadros enviados Quadros enviados e não confirmados A B A B
e confirmados OU que podem ser enviados Tempo de propagação Tempo de propagação
Tempo de transmissão Tempo de transmissão
... 5 6 7 0 1 2 3 4 5 6 7 0 ... do quadro do quadro
SF : primeiro quadro não confirmado
Tempo de propagação
Si Si : quadro recentemente enviado (F ≤ i ≤ L)
SF SL SL : último quadro possível de ser enviado
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
Quadros recebidos Quadros a serem recebidos OU
e confirmados recebidos e ainda não confirmados Tempo de propagação
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
... 5 6 7 0 1 2 3 4 5 6 7 0 ...
RF : primeiro quadro possível de ser recebido ! Efeito pipeline que melhora a eficiência do canal
Ri : janela de recepção (F ≤ i ≤ L)
! Se o canal é full-duplex → superposição quadros com ACK
RL : último quadro possível de ser recebido
RF Ri RL
Redes de Computadores 15 Redes de Computadores 16
5. Análise de desempenho: janela deslizante Desempenho da janela deslizante (sem erros)
! O uso do canal depende do tamanho da janela e do parâmetro a
♦ Tempo de transmissão é W = n * t frame
♦ Normalizando tempo de transmissão t frame = 1; a → tempo de propagação
! Caso 1: W ≥ 2a + 1
♦ O ack de um quadro i é recebido antes da capacidade da janela ter se
esgotado, ou seja, é possível enviar continuamente
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
! Caso 2: W < 2a + 1
♦ O emissor esgota sua capacidade de transmissão em t = W, ou seja, não
pode transmitir mais quadros até receber um ack
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
1 para W ≥ 2a + 1
eficiência W
para W < 2a + 1
(2a + 1)
Redes de Computadores 17 Redes de Computadores W. Stallings Data & Computer Communications, 6ed, Prentice Hall. 18
Piggybacking Leituras complementares
! Otimização quando há dados sendo transmitidos nos dois sentidos ! Stallings, W. Data and Computer Communications (6th edition),
! Envio da confirmação (RR n ou RNR n) junto com dados Prentice Hall 1999.
♦ Se não existe dados a serem enviados, se envia quadro RR n (RNR n) ♦ Capítulo 7, seção 7.1 e 7.3
♦ Se existe dados a serem enviados, mas não existe ainda uma confirmação a ! Tanenbaum, A. Redes de Computadores (4a edição), Editora
ser enviada, reenvia (repete) o último RR n ou RNR n. Campus, 2003.
♦ Capítulo 3, seções 3.3 e 3.4
Instituto de Informática - UFRGS
Instituto de Informática - UFRGS
A <Q0; RR0> B A <Q0; RR0> B
<Q0; RR1> <Q1; RR0>
<Q1; RR1>
A. Carissimi -29-mars-10
A. Carissimi -29-mars-10
<Q0; RR2>
<Q1; RR0> <Q2; RR0>
Redes de Computadores 19 Redes de Computadores 20