prevenção e controlo de congestão sistemas telemáticos licenciatura em engenharia de sistemas e...

75
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

Upload: edison-porto-vilalobos

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

Prevenção e Controlo de Congestão

Sistemas TelemáticosLicenciatura em Engenharia de

Sistemas e InformáticaDepartamento de Informática

Universidade do Minho

Page 2: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Materias utilizados Internet Congestion Control with Active Queue

Management (AQM), Seungwan Ryu ([email protected])

Page 3: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 4: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 5: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 6: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 7: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 8: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 9: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 10: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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)

Page 11: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 12: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 13: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 14: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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)

Page 15: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 16: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 17: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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)

Page 18: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 19: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

1cally with typiDelay )Average(

Throughput )Average(Power

Page 20: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 21: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Í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)

N

1i

2i

2N

1ii

N21

xn

xx,....x,xf

Page 22: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 23: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 24: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 25: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 26: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Políticas que afectam a congestão

Camada Políticas

Transporte Política de retransmissões Política de caching de pacotes fora de

ordem Política de confirmação de recepção Política de controlo de fluxo Determinação de tempo de disparo de

temporizadores Rede CV e datagramas no interior da rede

Política de gestão de filas e escalonamento

Política de descarte de pacotes Protocolo de encaminhamento Gestão de tempos de vida dos pacotes

Ligação Lógica Política de retransmissões Política de caching de pacotes fora de

ordem Política de confirmação de recepção Política de controlo de fluxo

Page 27: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 28: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 29: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 30: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 31: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 32: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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)

Page 33: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 34: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 35: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 36: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Controlo de Congestão no TCP

Arranque lento e prevenção de congestão

cwnd

TimeRTT1

2

4

Arranque lento

W*

W W+1

RTT

Prevenção de Congestão

W*/2

Page 37: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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…

Page 38: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 39: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Arranque lento no TCP1

1

1

1

tempo 0

tempo 1

tempo 2

tempo 3

1

1

1

1

tempo 4

tempo 5

tempo 6

tempo 7

Page 40: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Arranque lento no TCP2

2

2

2

tempo 8

tempo 9

tempo 10

tempo 11

2

2

2

tempo 13

tempo 14

tempo 15

3

3

3

3tempo 12

3

3

3

3tempo 16

2

4

tempo 175 4

Page 41: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Arranque lento no TCP6

6

tempo 18

tempo 19

tempo 20

tempo 21

6tempo 23

tempo 24

tempo 25

7

7

7tempo 22

7

7tempo 26

2

10

tempo 27

5 4

6 5 4

7 6 54

4 5

4 5

4 5

86 75

9 86 7

9 8

11 10 9 8

Page 42: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Arranque lento no TCPtempo 28

12 11 10 9

tempo 31 15 14 13 12

tempo 29 13 12 11 10

tempo 3014 13 12 11

8

98

1098

1098 11

Page 43: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 44: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 45: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 46: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Controlo de Congestão no TCP

/*arranque lento terminado*/ /* Congwin > threshold */Until (loss event) { every w segments ACKed: Congwin++ }threshold = Congwin/2Congwin = 1Executar arranque lento

Prevenção de Congestão

Page 47: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 48: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 49: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 50: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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)

Page 51: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 52: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 53: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 54: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 55: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 56: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Filas Equitativas:Concretizaçã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)

ii1ii PA,FmaxF

Page 57: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Filas Equitativas:Concretizaçã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)

Page 58: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 59: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 60: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 61: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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,

….

Page 62: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 63: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Gestão Activa de Filas: RED

P1

maxp

mint

h

maxth K

QWavgWavg QQQQ )1(

Qth

thQththth

thQ

thQ

d

avg

avgavg

p

avg

P

max1

maxminminmaxmin

min0

max

0 < Wq < 1 (0.002)

Page 64: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 65: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Gestão Activa de Filas: REDDetalhes do RED

Dois valores de corte na fila

if AvgLen <= MinThreshold then colocar o pacote na filaif MinThreshold < AvgLen < MaxThreshold then calcular a probabilidade P descartar pacote chegado com probablilidade Pif ManThreshold <= AvgLen then descartar pacote

Page 66: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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.

Page 67: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 68: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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 >freeze_t)

Pm = pm + d1 last_update = now

Linha inactiva if (now - last_update

>freeze_t) Pm = pm - d2 last_update = now

Page 69: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

BqBqBp

BqBppsred

)6/1(0)3/1()6/1()4/1(

)3/1(

max

max

)))(256(

1,1min(* 2iPPP sredzap

Page 70: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 71: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Pmax_IN

1p

avg

Pmax_OUT

Minth_OUT Maxth_OUT

= Minth_IN

Maxth_IN

Page 72: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 73: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

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

Page 74: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Notificação Explícita da Congestão

1

Cabeçalho TCP

ECT CE

1 0Cabeçalho IP

CWR

0

ECT CE

CWR

2

1 1

0

3

Cabeçalho do ACK TCP

ECN-Echo

1

4

Cabeçalho TCP

CWR

1

Fonte Encaminhador Destino

Page 75: Prevenção e Controlo de Congestão Sistemas Telemáticos Licenciatura em Engenharia de Sistemas e Informática Departamento de Informática Universidade do

Sumário

xi(t)

pl(t)

TCP: Reno Vegas

AQM: DropTail RED RIO