• Nenhum resultado encontrado

06-Congestionamento

N/A
N/A
Protected

Academic year: 2021

Share "06-Congestionamento"

Copied!
23
0
0

Texto

(1)

Controle de

Congestionamento

Referência:

Redes de Computadores. L. L. Peterson e B. S. Davie. Ed. Campus, 2004. Seções: 6.1, 6.3, 6.4

(2)
(3)

Alocação de Recursos da Rede

Cenário: diversas aplicações disputam simultaneamente os recursos da rede (para que seus pacotes cheguem aos destinos).

Recursos da rede (principais): largura de banda dos enlaces e espaço de buffer em roteadores e switches.

Preocupação 1- congestionamento da rede:

- a rede não consegue atender à demanda total apresentada,

devido ao esgotamento de seus recursos internos.

Preocupação 2 - Qualidade de Serviço (QoS) da rede: - quais níveis de atendimento a requisitos específicos das

(4)

Congestionamento

Congestionamento: ocorre quando o número de pacotes que atravessa uma rede se aproxima da capacidade máxima dessa rede. Ocorre então uma perda significativa de desempenho, tendendo ao colapso total de funcionamento da rede.

Host de Origem 1 Roteador Host de Enlace E1 de 2 Mbps Host de Origem 2 Destino

(5)

Congestionamento

• Projetistas de rede precisam se preocupar com o que está acontecendo

quando o sistema está operando sob carga extremamente pesada.

(6)

Congestionamento

Potência da rede

Carga Ideal

Carga

• Nem sempre o aumento do throughput implica em redução do retardo

• Aumento nas filas dos roteadores;

(7)

Controle de Congestionamento

- Centrado no roteador versus centrado no host:

• roteador: controle dos recursos (buffers e linhas de saída; política de descarte)

• host: observação da rede; controle da injeção de tráfego

• papéis complementares

- Baseado em reserva versus baseado em feedback:

• reserva: pré-aloca recursos (buffers; parcela do BW)

• feedback: feedback (explícito ou implícito) regula dinamicamente o volume de envio dos hosts

• obs: o feedback pode ser apenas binário ou mais elaborado - Baseado em janela versus baseado em taxa:

• janela: um feedback de créditos regula dinamicamente o volume de envio dos hosts

• taxa: um feedback de taxa (em bps) regula dinamicamente o volume de envio dos hosts

(8)

Controle de

Congestionamento no

TCP

(9)

Controle de congestionamento - TCP

Princípios:

- assume uma rede subjacente tipo “melhor esforço”; - cada origem tenta determinar a capacidade da rede; - usa feedback implícito;

- ACKs controlam ritmo da transmissão (autoclocking).

Desafios:

- determinar, de início, a capacidade disponível da rede:

• técnica: partida lenta (slow start);

- ajustar-se às mudanças nesta capacidade disponível:

(10)

Aumento aditivo/diminuição multiplicativa

Additive Increase/Multiplicative Decrease (AIMD):

- objetivo: ajustar-se às mudanças na capacidade disponível da rede.

Nova variável de estado por conexão:

CongestionWindow

limita quantos dados a origem tem em trânsito:

MaxWin = MIN(CongestionWindow, AdvertisedWindow)

EffWin = MaxWin - (LastByteSent - LastByteAcked)

Idéia:

- aumentar CongestionWindow quando o congestion. diminuir; - diminuir CongestionWindow quando o congestion. aumentar; - usar timeout como sinal de congestionamento:

• um timeout sinaliza uma perda de pacote;

• pacotes raramente são perdidos por erro de transmissão;

(11)

AIMD (cont.)

Algoritmo AIMD:

- incremente CongestionWindow em um

pacote por RTT (aumento linear)

- divida CongestionWindow por dois

sempre que houver um timeout (diminuição multiplicativa)

Na prática: incrementa “um pouco” para cada ACK Increment = (MSS * MSS)/CongestionWindow

CongestionWindow += Increment

Rastreamento: comportamento “dente de serra’”:

70 Janela de Congestionamento Origem Destino 60 50 40 30 20 10 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 Tempo (segundos)

(12)

Partida lenta (slow start)

• •

• •

Objetivo: determinar, no início, a capacidade disponível da rede.

Idéia:

- comece com CongestionWindow = 1 pacote; - duplique CongestionWindow a cada RTT

(incremente em 1 pacote para cada ACK). O crescimento é exponencial, porém é melhor do que começar injetando um “pico” na rede.

Usada…

- quando se inicia a conexão;

- quando a conexão termina esperando por

timeout.

Origem Destino

Rastreamento:

Timeout Tx de pacotes Perda de pacote

70 60 50 40 30 20 10 Janela de Congestionamento 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 Time (seconds)

(13)

Retransmissão rápida e recuperação rápida

Problema: timeouts espaçados no TCP levam a períodos de ociosidade.

Retransmissão rápida: usa ACKs

duplicados para disparar retransmissão.

Recuperação rápida:

- pula a fase de partida lenta;

- vai diretamente para metade do

último CongestionWindow (ssthresh) bem sucedido.

Rastreamento: 70 60 50 40 30 20 10 Emissor Pacote 1 Pacote 2 Pacote 3 Pacote 4 Pacote 5 Pacote 6 Retransmitir pacote 3 Janela de Congestionamento Receptor ACK 1 ACK 2 ACK 2 ACK 2 ACK 2 ACK 6 1.0 2.0 3.0 4.0 5.0 6.0 7.0 Time (seconds)

(14)

Prevenindo o

(15)

Prevenção de congestionamento

Estratégia do TCP:

- controle o congestionamento quando ele acontecer;

- aumente a carga repetidamente em um esforço para encontrar

o ponto em que o congestionamento ocorre, e depois recue.

Estratégia alternativa:

- preveja quando o congestionamento está para acontecer; - reduza a velocidade antes que os pacotes comecem a ser

descartados;

- chame isso de prevenção de congestionamento, em vez de

controle de congestionamento.

Duas possibilidades:

- centrada no roteador: DECbit e RED; - centrada no host: TCP Vegas.

(16)

DECbit

• Inclua um bit de congestionamento em cada cabeçalho de pacote.

• Roteador: monitora o tamanho médio da fila durante último ciclo ocupado+ocioso e marca o bit de congestionamento se o tamanho médio da fila > 1. Tamanho da fila Hora atual Tempo Ciclo Ciclo anterior atual Intervalo médio

• Destino ecoa o bit de volta para a origem, que registra quantos pacotes chegaram com o bit marcado:

- se menos de 50% do tamanho da última janela

aumente CongestionWindow em 1 pacote;

- se 50% ou mais da última janela com bit marcado

(17)

Random Early Detection (RED)

Random Early Detection - RED: descarte aleatório antecipado:

- em vez de esperar que a fila se encha, descarte cada pacote que

chega com uma probabilidade de descarte, sempre que o tamanho da fila ultrapassar determinado nível de descarte.

A notificação é implícita:

- apenas descarta o pacote (TCP esgotará tempo limite); - poderia se tornar explícita marcando o pacote.

Cálculo do tamanho médio da fila:

TamanhoMédio = (1 - Peso) * TamanhoMédio + Peso * TamanhoAmostra

onde 0 < Peso < 1 (normalmente 0,002)

(18)

Random Early Detection (RED)

Algoritmo:

if TamanhoMédio <= LimiteMínimo then coloca o pacote em fila if LimiteMínimo < TamanhoMédio < LimiteMáximo then

calcula probabilidade P

descarta pacote que chega com probabilidade P

if LimiteMáximo <= TamanhoMédio then descarta pacote que chega

(19)

RED (cont.)

Curva da probabilidade de descarte:

P(descarte)

1.0

MaxP

TamanhoMédio

LimiteMínimo LimieMáximo

- a probabilidade de descarte dos pacotes de um fluxo é proporcional à fatia da largura de banda que o fluxo está obtendo atualmente;

- MaxP normalmente é definido como 0,02, significando que, quando o tamanho médio da fila está a meio caminho entre os dois limites, o roteador descarta cerca de um a cada 50 pacotes;

- se o tráfego for em rajadas, então LimiteMínimo deverá ser suficientemente grande

para permitir que a utilização do enlace seja mantida em um nível aceitavelmente alto;

- a definição de LimiteMáximo com o dobro de LimiteMínimo é razoável para o tráfego

(20)

RED - Problemas

• Fluxos não responsivos:

• Sinais enviados pelos roteadores para reduzir seu tráfego são ignorados;

• Hosts usariam mais que sua “fatia justa” dos recursos da rede e

poderiam causar colapso de congestionamento se houvessem muitos deles.

• Possíveis soluções:

• Variante do RED que descarta mais intensamente a partir de fluxos que não são responsivos às dicas iniciais que ele envia;

• Isolar certas classes de tráfego das outras;

(21)

TCP Vegas

Idéia: origem observa algum sinal de que a fila do roteador está aumentando e que o congestionamento ocorrerá, por exemplo:

- RTT cresce;

- taxa de envio nivela.

Algoritmo:

- Se não se estiver estourando a conexão, então:

TaxaEsperada = JanelaCongestionamento/RTTBase

onde RTTBase é o menor de todos os RTTs medidos.

- Origem calcula taxa de envio (TaxaReal) uma vez por RTT e compara com TaxaEsperada:

Dif = TaxaEsperada - TaxaReal if Dif <

aumenta JanelaCongestionamento linearmente else if Dif >

diminui JanelaCongestionamento linearmente else

(22)

TCP Vegas

Janela de congestionamento Throughput Tam. fila Roteador

(23)

TCP Vegas (cont.)

• Parâmetros = 1 pacote = 3 pacotes Janela de Congestionamento 70 60 50 40 30 20 10 0.5 1.0 1.5 2.0 Throughput 240 200 160 120 2.5 3.0 3.5 4.0 4.5 5.0 Tempo (seg) throughput esperado 5.5 6.0 6.5 7.0 7.5 8.0 throughput real 80 região entre e 40 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 Tempo (seg)

• Retransmissão ainda mais rápida

- mantém timbres de hora espaçados para cada pacote; - verifica tempo limite no primeiro ACK duplicado.

Quanto + longe throghput esperatdo estiver do real, há congestionamento e tx transm. deve ser reduzida.

CC, corre perigo da conexão não utilizar a

largura de banda disponível e aumenta tx

Referências

Documentos relacionados

Nos termos da legislação em vigor, para que a mensagem de correio eletrônico tenha valor documental, isto é, para que possa ser aceito como documento original, é necessário existir

Excluindo as operações de Santos, os demais terminais da Ultracargo apresentaram EBITDA de R$ 15 milhões, redução de 30% e 40% em relação ao 4T14 e ao 3T15,

Tautologia – Quando uma proposição sempre é verdadeira, o que acarreta que toda sua coluna na tabela- verdade possui somente valores Verdadeiros. Contradição – Oposto à

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

Dessa forma, os níveis de pressão sonora equivalente dos gabinetes dos professores, para o período diurno, para a condição de medição – portas e janelas abertas e equipamentos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Como já destacado anteriormente, o campus Viamão (campus da última fase de expansão da instituição), possui o mesmo número de grupos de pesquisa que alguns dos campi