Title: Preven
1Prevenção e Controlo de Congestão
- Sistemas Telemáticos
- Licenciatura em Engenharia de Sistemas e
Informática - Departamento de Informática
- Universidade do Minho
2Materias utilizados
- Internet Congestion Control with Active Queue
Management (AQM), Seungwan Ryu
(sryu_at_eng.buffalo.edu)
3Sumário
- Introdução
- Controlo de Congestão no TCP
- Gestão Activa de Filas
- Notificação Explícita de Congestão
4Congestão (1)
- As redes de comutação de pacotes têm recursos
limitados - Largura de banda das linhas que interligam os
encaminhadores - Comprimento finito das filas em que são
armazenados os pacotes à espera de transmissão - Os recursos da rede devem ser partilhados entre
as diversas conexões suportadas
5Congestão(2)
- Quando muitos pacotes têm que ser enviados
através da mesma linha - As filas ultrapassam o seu limite máximo
- Alguns pacotes são descartados
- Se o descarte é muito frequente...a rede fica
congestionada
6Congestão(3)
- Transformou-se num problema sério
- Aumento da utilidade e uso das redes de
computadores - Mistura de diferentes tecnologias
- Exemplo Pares entraçados e fibras ópticas
- Fibras permitem grandes larguras de banda
- Desadaptação entre diferentes débitos
7O que é a congestão?
- O que é a congestão ?
- A necessidade agregada de largura de banda excede
a capacidade disponibilizada pela linha. - O que acontece ?
- Degragação de desempenho
- Perdas múltiplas de pacotes
- Baixa utilização da ligação
- Tempos de atraso altos
- Colapso de congestão
8Métricas de detecção
- Podem ser usadas vários métricas para detectar se
uma rede está congestionada - Percentagem de pacotes descartados por falta de
espaço de armazenamento - Tamanho médio das filas
- Número de pacotes que disparam o temporizador e
são retransmitidos - Tempo médio de atraso dos pacotes
- Desvio padrão para o atraso dos pacotes
- Em qualquer dos casos o aumento nos números
significa aumento da congestão
9As razões da congestão
- Inundação de tráfego destinado à mesma linha de
saída - As filas enchem e os pacotes são descartados
- O problema pode não ser resolvido única e
simplesmente com aumento de memória - Processadores lentos ou software de
encaminhamento pouco eficiente. - Desadaptação entre partes do sistema (várias
linhas rápidas e uma lenta) - A congestão tem tendência a alimentar-se a si
própria e piorar a situação.
10Congestão vs. Controlo de Fluxo
- O controlo de congestão têm que se certificar que
a rede é capaz de transportar o tráfego - A congestão é um problema global, envolve todos
os sistemas finais e encaminhadores - O controlo de fluxo lida com tráfego
ponto-a-ponto entre uma fonte e um destino (por
exemplo um supercomputador a descarregar para um
PC através duma fibra)
11Congestão
- As redes mais modernas têm que ter algum
mecanismo para controlar a congestão - Essas técnicas estão estreitamente relacionadas
com a forma como os recursos limitados são
alocados às várias conexões activas na rede - Dois paradigmas alternativos
- Alocação de Recursos em tempo de estabelecimento
de conexão como forma de prevenir a congestão - A fonte detectar a congestão e a ajudar na sua
redução ou eliminação quando ela ocorre.
12Congestão
- Uma alternativa é a rede ter um papel activo na
alocação de recursos - Embora isto possa evitar a congestão, a conexão
pode ser rejeitada se houver recursos disponíveis
insuficientes - É contudo uma tarefa difícil uma vez que essas
alocações devem ocorrer em todos os
encaminhadores e linhas da rede. - Adicionalmente, esta abordagem pode potenciar a
sub-utilização dos recursos que são limitados. - Outra alternativa é permitir às fontes enviarem
os dados que quiserem para rede, e forcá-la a
recuperar de situações de congestão. - Uma abordagem mais simples, mas a congestão pode
demorar algum tempo a ser dissipada (com a perda
de pacotes a persistir).
13Fluxos numa rede não orientada à conexão
- O conceito de fluxo é essencial para o processo
de alocação de recursos - É feita pela rede uma expedição independente de
cada datagrama entre e endereço IP fonte e o IP
destino. - Contudo, na prática, é suposto que uma sequência
de pacotes siga a mesma rota na rede entre a
fonte e o IP destino - Esta sequência de pacotes constitui um fluxo
14Fluxos numa rede não orientada à conexão
- Na prática o fluxo não é estabelecido
- Geralmente um encaminhador reconhece os fluxos
pela análise de cadeia de pacotes que passam por
ele. - Basta analisar a fonte e o destino dos pacotes IP
- O encaminhador pode manter informação a respeito
de cada fluxo que passa por ele para efeitos de
alocação de recursos - Chamada muitas vezes informação de estado ligeira
- (soft state)
15Mecanismos de alocação de recursos
- Existem inúmeras formas das redes realizarem na
prática as operações de alocação de recursos - Contudo, iremos analisar três critérios de
classificação para os mecanismos de alocação de
recursos - Centrado no encaminhador ou no sistema final
- Baseado em reserva ou em realimentação
- Baseado em janela ou em débito
16Centrado na rede ou na fonte
- As fontes IP e os os encaminhadores estão
envolvidos na alocação de recursos - Classificação que localiza as responsabilidades
- Centrado na rede
- Encaminhadores têm a a responsabilidade de
decidir quando os pacotes são expedidos ou
descartados - Informam as fontes IP de quanta informação estão
autorizados a enviar - As fontes devem respeitar estas mensagens de
conselho - Centrado na fonte
- Fontes monitorizam a rede e ajustam o seu
comportamento em conformidade - Encaminhadores sob congestão descartam os pacotes
17Reserva vs realimentação
- Numa abordagem baseada em reserva
- A fonte requisita explicitamente recursos
(buffer e/ou capacidade nas linhas) dos
encaminhadores (portanto centrado na rede) quando
o fluxo é estabelecido - Cada encaminhador aloca os recursos requisitados,
se isso não ultrapassar a sua capacidade
limitada. - Numa abordagem baseada em realimentação
- Não há o processo de reserva
- As fontes IP ajustam o seu débito de acordo com a
informação de realimentação, que pode ser - Explícita Mensagens de Controlo de Congestão
(centrada na rede) - Implicita Como resultado da medição do
comportamento da rede (centrada na fonte)
18Baseada em janela ou débito
- Como é que o nó fonte IP é informado da
quantidade dos dados que pode enviar? - Este critério classifica os mecanismos de
controlo de congestão na forma de relato usado
para indicar à fonte quantos dados pode enviar - Como um tamanho de janela aconselhada pelos
encaminhadores usados por um fluxo. - Como um débito (i.e. Entidades por unidade de
tempo que a fonte pode transmitir para a rede).
19Avaliação da alocação de recursos
- Um mecanismo de alocação de recursos pode ser
avaliado em termos tanto da sua eficácia como
equidade(fairness). - A eficácia pode ser avaliada com
- Throughput e atraso são parâmetros que competem
forçar mais dados para a rede aumenta o tamanho
das filas e portanto aumenta o atraso
20Equidade da alocação de recursos
- A equidade dum algoritmo de alocação de recursos
é uma quantidade mais difícil de medir. - Para uma dada linha entre dois encaminhadores,
há maior equidade quando todos fluxos recebem uma
parte equitativa da largura de banda? - Uma métrica comum para a equidade é o índice de
Jain.
21Índice de equidade de Jain
- Para um dado conjunto de fluxos x1, x2, . xN, o
índice de equidade é dado por - O índice de equidade varia entre 0 e 1 (1 é o
maior valor)
22Prevenção e Controlo de Congestão
- Duas abordagens para lidar com a congestão
- Controlo de Congestão (Reactiva)
- Actua depois da rede estar sobrecarregada
- Prevenção de Congestão (Proactiva)
- Actua antes da rede estar sobrecarregada
23Algoritmos de Controlo de Congestão
- São conhecidos muitos algoritmos de controlo de
congestão - Foi desenvolvida uma taxonomia para os organizar
- A taxonomia começa por dividí-los em algoritmos
em anel aberto e em anel fechado - As soluções em anel aberto são divididas entre
aquelas que actuam na fonte e as que actuam no
destino
24Categorias em anel fechado
- Divididas em duas sub-categorias
- Realimentação explícita
- São enviados pacotes de aviso dos pontos de
congestão para a fonte - Realimentação implícita
- As fontes deduzem a existência de congestão pelas
suas próprias observações
25Controlo de Congestão
Controlo de congestão
- Em anel aberto
- usado principalmente em redes de comutação de
circuitos (GMPLS)
- Em anel fechado
- usado principalmente em redes de comutação de
pacotes - usa informação de realimentação global local
- Controlo de Realimentação implícito
- End-to-end congestion control
- Exemplos
- TCP Tahoe, TCP Reno, TCP Vegas, etc.
- Controlo de realimentação explícito
- controlo de congestão assistido pela rede
- Exemplos
- IBM SNA, DECbit, ATM ABR, ICMP source quench,
RED, ECN
26Políticas que afectam a congestão
27Anel Aberto Calibração de Tráfego Traffic
shaping
- Uma das principais causas de congestão é a o
tráfego são as rajadas (bursty) de tráfego. - A calibração de tráfego é um método em anel
aberto que tenta gerir a congestão forçando que
os pacotes sejam transmitidos a um débito
previsível - O seu objectivo é regular o débito médio (e
rajada) na transmissão dos dados - Quando se estabelece a ligação a calibração é
acordada entre o utilizador e o transportador.
28Algoritmo do balde vazanteLeaky Bucket Algorithm
- O que se pretende é disponibilizar um fluxo
consistente e regular de tráfego - Imagine um balde com um buraco em baixo ou uma
torneira com o fluxo de saída é constante,
independente da água que entra ou que existe. - É essa a ideia de suporte a este algoritmo
29Algoritmo do Balde vazante
O fluxo de saída tem um débito constante ?,
quando há agua no balde e é zero qunado o balde
está vazio
30Algoritmo do Balde vazante Concretização
- Um balde vazante não é mais que um sistema de
fila com um único servidor com um tempo de
serviço constante - Os pacotes podem chegar a qualquer instante, mas
o host só está autorizado a colocar um pacote na
rede por cada tique do relógio. - Se os pacotes forem de diferentes tamanhos é
melhor usar um número fixo de bytes por tique em
vez de um pacote. - Quando a fila enche, os novos pacotes são
descartados
31Algoritmo do Balde com CréditosToken Bucket
Algorithm
- O balde vazante força um padrão de saída rígido
- O algoritmo do balde com créditos permite
acelerações na saída quando chegam muitos pacotes
(rajadas) - Aqui cada balde mantém créditos que são gerados
por um relógio à velocidade de um crédito em cada
?T segundos - Para transmitir precisa de um crédito
- Os hosts que ficam períodos em silêncio, podem
enviar rajadas mais tarde.
32Realimentação Implícita vs Explícita
- Controlo de Congestão com Realimentação Implícita
- A rede descarta pacotes quando a congestão ocorre
- A fonte infere a congestão implicitamente
- Disparo de temporizadores, confirmações
duplicadas, etc. - Examplo Controlo de Congestão fim-a-fim do TCP
- Fácil de concretizar mas imprecisa
- Concretizada apenas na camada de transporte (TCP)
33Realimentação Implícita vs Explícita
- Controlo de Congestão com realimentação explícita
- O encaminhador indica explicitamente a congestão
às fontes - Marcação de pacotes
- Exemplos DECbit, ECN, etc.
- Disponibiliza informação mais precisa às fontes
- Mais complicado de concretizar
- É preciso mudar algoritmos dos elementos da rede
e de das fontes - É necessária a cooperação entre as fontes e os
componentes da rede
34Controlo de Congestão no TCP
- Ideia
- Assumir rede melhor- esforço (encaminhadores FIFO
ou FQ) em que cada fonte determina a capacidade
da rede por si só - Usa realimentação implícita
- As confirmações fazem aumentar as transmissões
(auto-relógio) - Desafio
- Determinar em primeiro lugar a capacidade
disponível - Ajuste a mudanças na capacidade disponível
35Controlo de Congestão no TCP
- Usa controlo de congestão fim-a-fim
- Usa realimentação implícita
- i.e., time-out, ACKs triplos duplicados, etc.
- Usa controlo de fluxo baseado em janela
- cwnd min (pipe size, rwnd)
- Auto-relógio (self-clocking)
- Arranque lento e prevenção de congestão
- Exemplos
- TCP Tahoe, TCP Reno, TCP Vegas, etc.
36Controlo de Congestão no TCP
- Arranque lento e prevenção de congestão
Prevenção de Congestão
W1
W
W/2
RTT
37Arranque lento no TCP
- Quando pensamos num algoritmo de controlo de
fluxo baseado em janela deslizante - Assumimos que a fonte pode enviar segmentos até
ao tamanho da janela - Isto funciona bem para dois computadores ligados
à mesma LAN - mas pode causar problemas se houver
encaminhadores e linhas mais lentas no percusros
entre os dois - O TCP precisa de suportar um algoritmo chamado de
arranque lento
38Arranque lento no TCP
- O arranque lento adiciona uma outra janela para a
emissor TCP a janela de congestão - Quando se estabelece uma nova conexão, a janela
de congestão é inicializada a 1 segmento. - Cada vez que se recebe uma confirmação, a janela
de congestão é aumentada de 1 - O emissor pode enviar até um número de segmentos
que é o mínimo entre a janela de congestão e a
janela de controlo de fluxo
39Arranque lento no TCP
1
tempo 0
tempo 4
1
1
tempo 1
1
tempo 5
1
tempo 2
tempo 6
1
1
tempo 3
tempo 7
1
40Arranque lento no TCP
2
tempo 8
tempo 13
2
3
2
3
tempo 9
tempo 14
2
3
2
3
tempo 10
tempo 15
2
3
2
3
tempo 11
4
tempo 16
3
3
tempo 12
5
4
2
tempo 17
41Arranque lento no TCP
6
5
4
tempo 18
tempo 23
6
7
4
5
7
6
5
4
8
tempo 19
tempo 24
6
7
5
7
6
5
tempo 20
9
8
tempo 25
4
6
7
6
7
tempo 21
10
9
8
tempo 26
4
5
7
7
tempo 22
11
10
9
8
2
tempo 27
4
5
42Arranque lento no TCP
12
11
10
9
tempo 28
8
13
12
11
10
tempo 29
9
8
14
13
12
11
tempo 30
10
9
8
15
14
13
12
tempo 31
10
9
8
11
43Arranque lento no TCP
- A janela de congestão é o controlo de fluxo
imposto pelo emissor, enquanto a outra janela é o
controlo de fluxo do receptor - A capacidade da Internet pode ser atingida a
qualquer instante, e um encaminhador
intermediário começar a decartar pacotes - Isso indica ao emissor que a janela de congestão
está muito grande -
44Que tamanho deve ter a janela?
- No exemplo apresentdo a janela atingiu os 8
segmentos. - A capacidade do pipe ou o produto atraso e
largura de banda pode ser dada por - capacidade(bits) largura de banda (bps) x
tempo-de-ida-e-volta(seg) - Exemplos
- T1 (1.54mbps), através dos EUA (60ms RTT) dá
11,580bytes (max tamanho de janela TCP é 64K) - T3 (45mbps), dá 337,500bytes!!
45Controlo de Congestão no TCP
- Duas fases
- Arranque lento
- Prevenção de congestão
- Variáveis importantes
- Congwin
- threshold define a fronteira entre as duas fases
- probing da largura de banda utilizável
- Idealmente transmitiro mais rápido possível
(Congwin o maior possível) sem perdas - Aumentar Congwin até haver perdas l(congestão)
- Perdas diminuir a Congwin, e então recomeçar o
probing (aumento) novamente.
46Controlo de Congestão no TCP
Prevenção de Congestão
/arranque lento terminado/ / Congwin gt
threshold / Until (loss event) every w
segments ACKed Congwin threshold
Congwin/2 Congwin 1 Executar arranque lento
47Controlo de Congestão no TCP
- TCP Tahoe
- Usa arranque lento/prevenção da congestão
- Uma melhoria rápida retransmissão
- Detectar pacotes (segmentos) descartados por três
ACKs duplicados - W W/2, e começa a prevenção da congestão
- TCP Reno (recuperação rápida)
- Depois de receber três ACKs duplicados
- ssthresh W/2, e retransmitir pacotes em falta
- W ssthresh 3
- Depois de receber a confirmação (ACK) W
ssthresh - Permitir ao tamanho da janela crescer depressa
para manter cheio o pipeline
48Controlo de Congestão no TCP TCP SACK (Selected
Acknowledgement)
- O emissor TCP (Thaoe) pode apenas saber duma
única perda por tempo-de-ida-e-volta ( RTT) - A opção SACK disponibiliza uma melhor recuperação
de uma situação de múltiplas perdas - O emissor pode transmitir todos os pacotes
perdidos - Mas esses pacotes podem já ter sido recebidod
- Operação
- Adicionar a opção SACK ao cabeçalho TCP
- O receptor envia um SACK ao emissor para o
informar da recepção do pacote - Então, o emissor pode retransmitir apenas o
pacote em falta
49Gestão Activa de FilasActive Queue Management
(AQM)
- Degradação de desempenho no Controlo de Congestão
do TCP - Múltiplas perdas de pacotes
- Baixa utilização das linhas
- Colapso de congestão
- O papel dos encaminhadores torna-se importante
- Controlo eficiente da congestão nas redes
- Alocação apropriada da largura de banda
50Técnicas de Gestão de Filas
- Um dos aspectos mais básicos da alocação de
recursos é como os pacotes são colocados nas
filas quando aguardam a sua transmissão - As duas técnicas mais comuns são
- Filas FIFO
- Filas com Equidade (Fair queuing)
51Filas FIFO
- Tem uma capacidade finita de armazenar pacotes
- Os pacotes são armazenados pela ordem de chegada
- O pacote no topo da fila é transmitido pela
linha - Uma fila FIFO introduz alguma latência (atraso)
já que os pacotes esperam na fila até a sua
transmissão - Com a fila cheia, um pacote que chega é
descartado - A FIFO é uma disciplina de serviço da fila
enquanto o descarte da cauda é uma política de
descarte
52Filas FIFO com Prioridade
- Uma ligeira variação das filas FIFO básicas
- Cada encaminhador mantém múltiplas filas FIFO
- Cada fila tem pacotes com uma certa prioridade
- Os pacotes são enviados por ordem de prioridade
- É um ligeiro melhoramento do conceito melhor
esforço da Internet. - Uma geração não controlada de pacotes de alta
prioridade pode tornar esta abordagem não usável - É necessário um mecanismo para controlar os
pacotes com alta prioridade enviada por cada
fonte.
53Filas FIFO Comentários
- As filas FIFO colocam todo ênfase do controlo de
congestão nos sistemas finais (fonte e destino) - Adicionalmente não diferenciam o tráfego com base
em fluxos - É bastante provável que um sistema final não
adira (incompreensão ou desobediência) aos
pedidos para reduzir o seu fluxo - Desta forma pode apoderar-se de grandes
quantidades dos recursos FIFO - Uma solução mais equitativa seria os
encaminhadores terem uma FIFO para fluxo - Não aderência a pedidos só afecta o próprio
fluxo
54Filas com EquidadeFair Queuing (FQ)
- Num sistema FQ, o encaminhador mantém uma FIFO
por cada fluxo. - As FIFOs são servidas de forma circular
(round-robin) - Quando a fila dum fluxo fica cheia, qualquer
pacote posterior é descartado (até que a fila se
reduza). - O FQ não é por si só um algoritmo de controlo de
congestão, simplesmente segrega os fluxos - Não diz nada à fonte para reduzir o seu fluxo
- Precisa de ser combinado com um algoritmo de
controlo de congestão fim-a-fim
55Filas Equitativas Problemas
- A abordagem FQ básica ignora o impacto do tamanho
dos pacotes na fila - Um fluxo com pacotes grandes obtém um maior
número de recursos que outro com pacotes curtos - Um algoritmo FQ mais justo deveria considerar o
tamanho dos pacotes - Um abordagem ideal (mas obviamente impraticável)
seria servir cada FIFO na base do bit.
56Filas EquitativasConcretização
- Considere um encaminhador com n fluxos activos
- O encaminhador concretiza um relógio que se
incrementa cada vez que são transmitidos n bits - Qunado o pacote i (num fluxo particular) chega ao
encaminhador é etiquetado com uma estampilha
temporal com um valor (Fi) , igual à soma
seguinte - Fi Tempo em que se finaliza a transmissão do
pacote i - Ai Tempo de chegada do pacote i ao encaminhador
- Pi O tamanho do pacote i (em bits)
57Filas EquitativasConcretização
- Quando uma linha de saída fica inactiva, o
próximo pacote a ser transmitido é com a menor
estampilha temporal (valor Fi) - Desta forma, para um pacote permanecer numa FIFO
durante um certo tempo, a linha de saída não pode
estar jnactiva durante esse tempo. - Este característica é chamada conservação do
trabalho - Algumas das características mais importantes da
técnica de conservação são - Cada fluxo tem garantido pelo menos 1/n of da LB
de saída - Se a largura de banda dum fluxo é usada por
outros (se as FIFOs não estiverem vazias)
58Filas Equitativas Ponderadas Weighted Fair
Queuing (WFQ)
- A WFQ permite ser associado um peso a cada fila
- Isto resulta a alocação aos diferentes fluxos
proporções maiores ou mais pequenas da largura de
banda da linha de saída (que o 1/n da FQ) - Considere 3 fluxos ( 1, 2 e 3) respectivamente
que recebem 1/6, 1/3e 1/2 da LB da linha saída - Em termos práticos, este processo pode ser
concretizado usando os pesos para o desiquilíbrio
do valor Pi usado para calcular Fi
59Filas Equitativas Ponderadas Weighted Fair
Queuing (WFQ)
- Os pesos dos valores para o WFQ usado no
encaminhador podem ser - Configurados manualmente (não é prático)
- Inicializados pela fonte do fluxo com alguma
forma de sinalização - É um tipo de alocação baseada em reserva mas é
imprecisa - A proporção da LB atribuída a cada fluxo depende
do número de fluxos activos no encaminhador.
60Gestão Activa de Filas
- Problemas com os algoritmos convencionais dos
encaminhadores - Usam uma gestão de filas FIFO com descarte dos
pacotes na cauda (Tail Drop- TD) - Dois problemas com a descarte na cauda
- Um pequeno número de fluxos monopolizam a
capacidade do buffer - A fila está sempre cheia (atrasos altos na fila)
- Solução possível Gestão activa de filas
- Definição Um grupo de mecanismos de gestão de
filas FIFO para suportar o controlo de congestão
fim-a-fim na Internet -
61Gestão Activa de Filas
- Objectivos
- Reduzir o tamanho médio da fila
- Diminuir o atraso fim-a-fim
- Reduzir perda de pacotes
- Uma mais eficiente alocação de recursos
- Métodos
- Descartar pacotes antes do buffer ficar cheio
- Usar uma ponderação exponensial do tamanho médio
da fila como indicador de congestão - Exemplos RED, BLUE, ARED, SRED, FRED,.
62Gestão Activa de Filas Random Early Detection
(RED)
- Usa um algoritmo de rede para detectar congestão
incipiente - Objectivos da concepção
- Minimizar perda de pacotes e atraso na fila
- Evitar sincronização global
- Manter uma utilização alta da linha
- Remover desiquilíbrios gerados por fontes em
rajada (bursty source ) - Métodos utilizados
- Descarte aleatório de pacotes
- Manter um tamanho médio de fila
63Gestão Activa de Filas RED
P
1
maxp
minth
maxth
K
64Gestão Activa de Filas REDDetalhes do RED
- A notificação é implícita
- Basta descartar o pacote
- TCP dispara o temporizador
- Pacote poderia ser marcado explicitamente
- Descarte antecipado de pacotes
- Em vez de de esperar que a fila encha descarta-se
os pacotes com probablilidade p uma vez antingido
determinado valor de limiar
65Gestão Activa de Filas REDDetalhes do RED
- Dois valores de corte na fila
- if AvgLen lt MinThreshold then
- colocar o pacote na fila
- if MinThreshold lt AvgLen lt MaxThreshold then
- calcular a probabilidade P
- descartar pacote chegado com
probablilidade P - if ManThreshold lt AvgLen then
- descartar pacote
66Gestão Activa de Filas REDAfinação do RED
- Probablilidade de descarte de um pacote dum dado
fluxo - é aproximadamente proporcional à de largura de
banda usada pelo fluxo. - MaxP é colocada em 0.02
- Quando o tamanho médio da fila está a meio dos
dois valores de corte é descartado um pacote em
cada 50. - Se houver rajadas de tráfego
- O MinThreshold deve ser suficientemte grande
para manter a utilização da linha a um nível
aceitável.
67Gestão Activa de Filas REDAfinação do RED
(cont.)
- A diferença entre os dois valores de corte deve
ser suficientemente grande - É razoável colocar
- MaxThreshold 2 MinThreshold
68Gestão Activa de Filas BLUE
- Conceito
- Para eliminar problemas do RED
- Ajuste de parâmetros
- Flutuação do tamanho da fila
- Desliga o controlo de congestão do tamanho da
fila - Usa só as perdas e a inactividade como eventos
indicadores - Mantém uma única probablidade de descarte, pm
- Problema
- Não consegue evitar algum grau de múltiplas
perdas de pacotes e/ou baixa utilização da linha
- Algoritmo
- Perda de pacotes
- if (now - last_update gtfreeze_t)
- Pm pm d1
- last_update now
- Linha inactiva
- if (now - last_update gtfreeze_t)
- Pm pm - d2
- last_update now
69Gestão Activa de Filas SRED
- Conceito
- Estabilizar a ocupação da fila
- Usar o tamanho actual da fila
- Penalizar fluxos mal comportados
- Problemas
- P(i)-1 não é um bom estimador para tráfego
heterogéneop - Ajuste de parâmetros Psred, Pzap, etc.
- Estabiliza a ocupação da fila quando o tráfego é
alto. - (E quando a carga é baixa ?)
- Algoritmo
- O iésimo pacote chegado é comparado com um
seleccionado aleatóriamente da lista - Acerto 1, se forem do mesmo fluxo
- Acerto 0, se não
- p(i) frequência de acerto (1-?)p(i-1) ?Acerto
- p(i)-1 estimador de de fluxos activos
- Probablidade de descarte de pacotes
70Gestão Activa de Filas ARED
- Adaptar a agressividade do RED consoante a
mudança da carga de tráfego - Adaptar maxp baseado no comportamento da fila
- Operação
- Aumentar maxp quando avgQ ultrapassa maxth
- Diminuir maxp quando avgQ é inferior a minth
- Congelar maxp após mudança para prevenir
oscilações
71Gestão Activa de Filas RIO RIO (RED in and out)
- Separar fluxos em duas classes Dentro e Fora
do perfil de serviço - O encaminhador mantém duas estatísticas
diferentes para cada perfil de serviço - Parâmetros e tamanho médio das filas diferentes
- Quando congestionado aplica políticas de controlo
diferentes para cada classe
72Gestão Activa de Filas Problemas existentes
- Problemas com proposta existentes
- Incompabitilidade entre o comportamento
microscópico e macroscópico das filas - Insensibilidade à mudança do tráfego de entrada
- Problemas de configuração
- Definição dos valores dos parâmetros
- Razões
- Média do tamanho das filas
- Uso de indicador de congestão não apropriado
- Uso de função de controlo não apropriada
73Notificação Explícita da Congestão Explicit
Congestion Notification (ECN)
- Indicação actual da congestão
- Usa o descarte de pacotes para indicar a
congestão - A fonte infere a congestão implicitamente
- ECN
- Obter menos perdas de pacotes e melhor desempenho
- Marcar em vez de descartar pacotes
- É preciso a cooperação entre as fontes e a rede
- São necessários 2 bits no cabeçalho IP ECT-bit,
CE-bit
74Notificação Explícita da Congestão
ECT
CE
1 0
Cabeçalho IP
1
Cabeçalho TCP
0
CWR
Cabeçalho do ACK TCP
1
ECN-Echo
3
Cabeçalho TCP
1
4
CWR
Fonte
Encaminhador
Destino
75Sumário
pl(t)
xi(t)