Preven - PowerPoint PPT Presentation

About This Presentation
Title:

Preven

Description:

Gest o Activa de Filas Random Early Detection (RED) ... (Selected Acknowledgement) Gest o Activa de Filas Active Queue Management (AQM) ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 76
Provided by: Joaquim1
Category:

less

Transcript and Presenter's Notes

Title: Preven


1
Prevenção e Controlo de Congestão
  • Sistemas Telemáticos
  • Licenciatura em Engenharia de Sistemas e
    Informática
  • Departamento de Informática
  • Universidade do Minho

2
Materias utilizados
  • Internet Congestion Control with Active Queue
    Management (AQM), Seungwan Ryu
    (sryu_at_eng.buffalo.edu)

3
Sumário
  • Introdução
  • Controlo de Congestão no TCP
  • Gestão Activa de Filas
  • Notificação Explícita de Congestão

4
Congestã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

5
Congestã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

6
Congestã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

7
O 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

8
Mé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

9
As 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.

10
Congestã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)

11
Congestã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.

12
Congestã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).

13
Fluxos 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

14
Fluxos 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)

15
Mecanismos 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

16
Centrado 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

17
Reserva 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)

18
Baseada 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).

19
Avaliaçã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

20
Equidade 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)

22
Prevençã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

23
Algoritmos 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

24
Categorias 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

25
Controlo 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

26
Políticas que afectam a congestão
27
Anel 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.

28
Algoritmo 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

29
Algoritmo 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
30
Algoritmo 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

31
Algoritmo 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.

32
Realimentaçã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)

33
Realimentaçã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

34
Controlo 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

35
Controlo 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.

36
Controlo de Congestão no TCP
  • Arranque lento e prevenção de congestão

Prevenção de Congestão
W1
W
W/2
RTT
37
Arranque 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

38
Arranque 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

39
Arranque 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
40
Arranque 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
41
Arranque 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
42
Arranque 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
43
Arranque 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

44
Que 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!!

45
Controlo 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.

46
Controlo 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
47
Controlo 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

48
Controlo 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

49
Gestã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

50
Té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)

51
Filas 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

52
Filas 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.

53
Filas 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

54
Filas 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

55
Filas 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.

56
Filas 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)

57
Filas 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)

58
Filas 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

59
Filas 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.

60
Gestã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

61
Gestã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,.

62
Gestã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

63
Gestão Activa de Filas RED
P
1
  • 0 lt Wq lt 1 (0.002)

maxp
minth
maxth
K
64
Gestã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

65
Gestã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

66
Gestã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.

67
Gestã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

68
Gestã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

69
Gestã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

70
Gestã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

71
Gestã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

72
Gestã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

73
Notificaçã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

74
Notificaçã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
75
Sumário
pl(t)
  • AQM
  • DropTail
  • RED
  • RIO

xi(t)
  • TCP
  • Reno
  • Vegas
Write a Comment
User Comments (0)
About PowerShow.com