You are on page 1of 24

Aula-25 Controle de Congestionamento e Alocação de Recursos

Prof. Dr. S. Motoyama

1

Controle de Congestionamento
Source 1 10-M bps Ethe rnet
DDI ps F Mb

Router 1.5-Mbps T1 link

Destination

Source 2

100-

• Pacotes disputam pelo uso do enlace. • O buffer pode sofrer transbordamento, significando descarte de pacotes. • A rede estará congestionada se o transbordamento é comum. • Controle de congestionamento é o mecanismo para evitar essa Situação.
2

Alocação de Recursos Source 1 10-M bps Ethe rnet DDI ps F Mb Router 1. Fila Enlace Modelo de roteador 3 . • Se houver uma alocação adequada. pois os recursos estão distribuídos por toda a rede.5-Mbps T1 link Destination Source 2 100- • Como distribuir (alocar) o recurso (banda) entre os pacotes que estão disputando. pode ser que não haja congestionamento. Difícil.

• Ambos envolvem hosts e elementos da rede como roteadores. • Nos roteadores.Alocação de Recursos x Controle de Congestionamento Source 1 10-M bps Ethe rnet DDI ps F Mb Router 1. os pacotes podem ser enfileirados: • Na ordem de chegadas • Segregados por algum critério 4 .5-Mbps T1 link Destination Source 2 100- • Alocação de recursos e controle de congestionamento estão intimamente relacionados.

seqüências de pacotes de uma origem ao seu destino. 5 . os roteadores podem reservar buffers para um fluxo. Nesse caso não haveria congestionamento. Pode ser que alguns desses buffers teriam alocações desperdiçadas. Pode-se sempre reservar um número de buffers em roteadores intermediários que estão entre uma origem e um destino.Fluxos sem conexões Source 1 Router Destination 1 Router Source 2 Router Destination 2 Source 3 Suponha uma rede que opere com circuitos virtuais. fluxo explícito). isto é. Modelo adotado: fluxos sem conexões. isto é. Cada fluxo está associado com um soft state. mesmo que não haja o processo de sinalização (fluxo implícito vs.

Alocação: Taxionomia Centrada no roteador versus Centrada no host • Alocação centrada no roteador: Cada roteador decide que pacotes são enviados ou descartados. 6 . • Alocação centrada no host: Os hosts finais quantificam quanto pacotes estão conseguindo atravessar a rede e ajustam os seus comportamentos. e realimenta a origem informando desses fatos.

Os roteadores alocam os recursos de acordo com essa solicitação. parceiro”) ou implícita (medições de pacotes perdidos). A realimentação pode ser explicita (“diminua.Alocação: Taxionomia Baseada em reserva versus Baseada em feedback • Alocação baseada em reserva: O host final requisita uma quantidade de capacidade no instante que o fluxo é estabelecido. 7 . • Alocação baseada em realimentação: Os hosts finais iniciam enviando pacotes como desejam e depois ajustam os seus comportamentos de acordo com as realimentações que recebem.

O emissor promete não exceder a taxa anunciada pelo receptor. 8 .Alocação: Taxionomia Baseada em janela versus baseada em taxa • Alocação baseada em janela: Anúncios de janelas são usados para o receptor informar ao emissor quanto espaço tem disponível. • Alocação baseada em taxa: O receptor notifica o emissor quantos bits por segundo pode receber.

Medida de desempenho: Potência Vazão α Potência = Atraso 0 <α <1 Optimal load Load 9 .Eficiência da alocação Objetivo do desempenho: maximizar a vazão (throughput) e ao mesmo tempo minimizar o atraso.

O que é justo quando se compara caminhos de diferentes comprimentos? Índice de equidade de Jain (∑ x ) f ( x . o valor do índice fica 1. quando vários fluxos compartilham um enlace. x2. xn são as vazões dos fluxos.K. x . Para xi = 1. 10 . x ) = n 1 2 n i =1 n i 2 n ∑i =1 xi2 Onde x1. onde 1 representa a maior imparcialidade. esperase que cada um receba uma partilha justa da banda.Equidade (fairness) de Alocação Meta: Idealmente. …. O índice fica sempre entre 0 e 1.

11 .Disciplina de enfileiramento: FIFO com descarte da cauda Arriving packet Next free buffer Next to transmit Escalonamento: FIFO Política de descarte: descarte da cauda (a) Free buffers Queued packets Arriving packet Next to transmit É a disciplina de enfileiramento mais utilizada na Internet. Coloca as responsabilidades de alocação de recurso e controle de congestionamento na borda da rede. (b) Drop TCP detecta e responde ao congestionamento sem muita ajuda da rede.

os pacotes adicionais são descartados. Fluxo 4 Como se pode garantir equidade se os pacotes não tem os mesmos comprimentos? 12 . Quando uma fila ultrapassa o máximo comprimento. O roteador atende cada fila em rodízio.Enfileiramento imparcial: Polling Fluxo 1 Fluxo 2 Serviço de rodízio Fluxo 3 Mantém uma fila separada para cada fluxo no roteador.

• Compute o tempo que tomaria para transmitir cada pacote que está no início da fila de cada fluxo. • Use a seqüência de tempos computados para transmitir cada pacote. Fluxo 4 13 .Rodízio Bit-a-Bit (FQ) O atendimento bit-a-bit em rodízio é uma alocação justa. pois os bits de um pacote seriam intercalados com bits de outros pacotes. Serviço de rodízio Fluxo 3 Fluxo 1 Fluxo 2 Aproximação: • Imagine que um bit de cada fluxo seja transmitido por vez em rodízio. Entretanto. é impraticável na rede.

Pi = tamanho de pacote i em tempo Ai = tempo de chegada do pacote i tx = transmissão 14 .Ai) + Pi Si = início da tx para o pacote i • Compute todos os Fi: o próximo pacote Fi = final da tx para o pacote i a ser transmitido tem Fi mais baixo.Rodízio Bit-a-Bit (FQ) Flow 1 • Um fluxo é ativo se houver pacotes na fila. Se chegou depois. Round-robin service Flow 2 Flow 3 Pode-se escrever: Fi = Si + Pi Si = max(Fi-1. o inicio da transmissão será logo depois do ultimo pacote.Ai) (Se o pacote i chegou antes do término da último pacote transmitido. o inicio será em Ai) Flow 4 Fi = max(Fi-1.

Essa situação pode ocorrer. pode ser transmitido antes de um pacote maior de um outro fluxo. Ai ) + Pi • Um pacote menor que chegou em um fluxo. 15 . cada um recebe não mais do que 1/n da largura de banda.Rodízio Bit-a-Bit (FQ) . o intuito é manter a equidade na transmissão. • O enlace de saída nunca fica ocioso.Exemplo Fi = max( Fi −1 . pois. • Numa situação de sobrecarga com n fluxos. desde que haja pelo menos um pacote na fila. F=8 F=5 F=10 fluxo 1 fluxo 2 saída Pacotes menores são enviados primeiro. Esse tipo de enfileiramento é denominado fila com conservação de trabalho. F=10 F=2 fluxo 1 fluxo 2 saída (chegando) (enviando) Pacote maior já em transmissão deve ser completado antes que um pacote menor seja enviado.

com diferentes ponderações.. isso pode ser feito com classes de tráfego.Enfileiramento imparcial ponderado (WFQ) • Pode-se atribuir uma ponderação a cada fluxo: estabelece quantos bits serão transmitidos antes de ir para o próximo fluxo. • Em vez de usar a noção de fluxos. Por ex. utilizar o TOS (type of service) do cabeçalho do IP. Essa informação pode ser utilizada para organizar pacotes em diferentes filas. 16 .

decréscimo multiplicativo – Inicio lento e reinicio também lento • Prevenção de congestionamento – Detecção aleatória antecipada (Random Early Detection) .RED – Notificação explicita de congestionamento (Explicit Congestion Notification) – ECN – TCP Vegas 17 .Controle de Congestionamento em TCP • Princípios de controle de congestionamento – Saber que congestionamento está ocorrendo – Adaptar para aliviar o congestionamento • Controle de congestionamento do TCP – Aumento aditivo.

Controle de congestionamento • Controle de fluxo – Evitar que um emissor rápido não transborde um receptor lento • Controle de congestionamento – Evitar que um conjunto de emissores não sobrecarregue a rede • Conceitos diferentes. mecanismos similares – Controle de fluxo do TCP: JanelaAnunciada – Controle de congestionamento do TCP: JanelaCongestionamento – Janela do TCP: min{JanelaCongestionamento.Controle de fluxo vs. JanelaAnunciada} 18 .

os pacotes podem estar relacionados em um grupo (fluxo) – Ex.Três principais características da Internet • Comutação de pacote – Uma dada origem pode ter uma capacidade suficiente para enviar dados – Mas os pacotes podem encontrar o enlace sobrecarregado • Fluxos de conexões – Não há noções de conexões dentro da rede – Não há reserva antecipada dos recursos da rede – Mesmo assim. os pacotes em uma mesma transferência TCP • Serviço de melhor esforço – Nenhuma garantia de entrega de pacotes ou atraso – Nenhum tratamento preferencial para os pacotes 19 ..

Congestionamento é inevitável • Dois pacotes chegam ao mesmo tempo – O nó pode transmitir apenas um – Ou armazena ou descarta o outro • Se muitos pacotes chegam em um pequeno intervalo de tempo – O nó não consegue tratar todo o tráfego que está chegando – E o buffer pode eventualmente transbordar 20 .

Colapso de Congestionamento • Definição: O aumento na carga da rede resulta em um decréscimo do trabalho normal feito. • Muitas possíveis causas – Retransmissões espúrias de pacotes que estão ainda a caminho • Colapso clássico de congestionamento • Solução: melhores temporizadores e controle de congestionamento do TCP – Pacotes não entregues • Pacotes consomem recursos e são descartados em alguma parte da rede • Solução: controle de congestionamento para todos os tráfegos 21 .

Detecção Simples de congestionamento • Perda de pacote – Pacote é descartado ao longo do seu caminho ao destino • Atraso de pacote – Pacote é sujeito a um atraso grande • Como o emissor de TCP sabe disso? – Perda • Timeout • Confirmações duplicadas – Atraso • Estimação de RTT 22 .

Idéia do controle de congestionamento TCP • Cada origem determina a capacidade disponível – Assim sabe quantos pacotes tem em trânsito • Janela de congestionamento – Máximo número de bytes não confirmados que tem em trânsito – MaxJanela = min{JanelaCongestionamento. JanelaAnunciada} – Enviar a uma taxa de componente mais baixo • Adaptação da janela de congestionamento – Decrescer sob a perda de pacote – Aumentar sob sucesso 23 .

na ordem listada. Dê a ordem em que os pacotes são transmitidos. com o fluxo 2 tendo peso 2 e os outros dois com peso 1 Pacote 1 2 3 4 5 6 7 8 Tamanho 100 100 100 100 190 200 110 50 Fluxo 1 1 1 1 2 2 3 3 24 . durante um período em que a porta de saída está ocupada. considerando: a) enfileiramento imparcial b) enfileiramento imparcial ponderado.Exercício 25. Ele recebe os pacotes listados na tabela abaixo praticamente ao mesmo tempo.1 Suponha que um roteador tenha três fluxos de entrada e um de saída. mas todas as filas por outro lado estão vazias.