Sie sind auf Seite 1von 24

Aula-25 Controle de Congestionamento e Alocao de Recursos

Prof. Dr. S. Motoyama

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 Situao.
2

Alocao de Recursos
Source 1 10-M bps Ethe rnet
DDI ps F Mb

Router 1.5-Mbps T1 link

Destination

Source 2

100-

Como distribuir (alocar) o recurso (banda) entre os pacotes que esto disputando. Se houver uma alocao adequada, pode ser que no haja congestionamento. Difcil, pois os recursos esto distribudos por toda a rede.
Fila Enlace

Modelo de roteador
3

Alocao de Recursos x Controle de Congestionamento


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

Router 1.5-Mbps T1 link

Destination

Source 2

100-

Alocao de recursos e controle de congestionamento esto intimamente relacionados. Ambos envolvem hosts e elementos da rede como roteadores. Nos roteadores, os pacotes podem ser enfileirados: Na ordem de chegadas
Segregados por algum critrio
4

Fluxos sem conexes


Source 1 Router Destination 1 Router Source 2 Router Destination 2 Source 3

Suponha uma rede que opere com circuitos virtuais. Pode-se sempre reservar um nmero de buffers em roteadores intermedirios que esto entre uma origem e um destino. Nesse caso no haveria congestionamento. Pode ser que alguns desses buffers teriam alocaes desperdiadas.

Modelo adotado: fluxos sem conexes, isto , seqncias de pacotes de uma origem ao seu destino. Cada fluxo est associado com um soft state, isto , os roteadores podem reservar buffers para um fluxo, mesmo que no haja o processo de sinalizao (fluxo implcito vs. fluxo explcito).
5

Alocao: Taxionomia
Centrada no roteador versus Centrada no host
Alocao centrada no roteador: Cada roteador decide que pacotes so enviados ou descartados, e realimenta a origem informando desses fatos. Alocao centrada no host: Os hosts finais quantificam quanto pacotes esto conseguindo atravessar a rede e ajustam os seus comportamentos.

Alocao: Taxionomia
Baseada em reserva versus Baseada em feedback
Alocao baseada em reserva: O host final requisita uma quantidade de capacidade no instante que o fluxo estabelecido. Os roteadores alocam os recursos de acordo com essa solicitao. Alocao baseada em realimentao: Os hosts finais iniciam enviando pacotes como desejam e depois ajustam os seus comportamentos de acordo com as realimentaes que recebem. A realimentao pode ser explicita (diminua, parceiro) ou implcita (medies de pacotes perdidos).
7

Alocao: Taxionomia
Baseada em janela versus baseada em taxa
Alocao baseada em janela: Anncios de janelas so usados para o receptor informar ao emissor quanto espao tem disponvel. Alocao baseada em taxa: O receptor notifica o emissor quantos bits por segundo pode receber. O emissor promete no exceder a taxa anunciada pelo receptor.

Eficincia da alocao
Objetivo do desempenho: maximizar a vazo (throughput) e ao mesmo tempo minimizar o atraso.

Medida de desempenho: Potncia

Vazo Potncia = Atraso

0 < <1

Optimal load

Load

Equidade (fairness) de Alocao


Meta: Idealmente, quando vrios fluxos compartilham um enlace, esperase que cada um receba uma partilha justa da banda. O que justo quando se compara caminhos de diferentes comprimentos?

ndice de equidade de Jain

( x ) f ( x , x ,K, x ) =
n 1 2 n i =1 n i

n i =1 xi2

Onde x1, x2, , xn so as vazes dos fluxos. O ndice fica sempre entre 0 e 1, onde 1 representa a maior imparcialidade. Para xi = 1, o valor do ndice fica 1.
10

Disciplina de enfileiramento: FIFO com descarte da cauda


Arriving packet Next free buffer Next to transmit

Escalonamento: FIFO Poltica 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 alocao de recurso e controle de congestionamento na borda da rede.

(b)

Drop

TCP detecta e responde ao congestionamento sem muita ajuda da rede.


11

Enfileiramento imparcial: Polling


Fluxo 1

Fluxo 2 Servio de rodzio Fluxo 3

Mantm uma fila separada para cada fluxo no roteador. O roteador atende cada fila em rodzio. Quando uma fila ultrapassa o mximo comprimento, os pacotes adicionais so descartados.

Fluxo 4

Como se pode garantir equidade se os pacotes no tem os mesmos comprimentos?

12

Rodzio Bit-a-Bit (FQ)


O atendimento bit-a-bit em rodzio uma alocao justa. Entretanto, impraticvel na rede, pois os bits de um pacote seriam intercalados com bits de outros pacotes.
Servio de rodzio Fluxo 3

Fluxo 1

Fluxo 2

Aproximao: Imagine que um bit de cada fluxo seja transmitido por vez em rodzio. Compute o tempo que tomaria para transmitir cada pacote que est no incio da fila de cada fluxo. Use a seqncia de tempos computados para transmitir cada pacote.

Fluxo 4

13

Rodzio Bit-a-Bit (FQ)


Flow 1

Um fluxo ativo se houver pacotes na fila.


Round-robin service

Flow 2

Flow 3

Pode-se escrever: Fi = Si + Pi Si = max(Fi-1,Ai) (Se o pacote i chegou antes do


trmino da ltimo pacote transmitido, o inicio da transmisso ser logo depois do ultimo pacote. Se chegou depois, o inicio ser em Ai)

Flow 4

Fi = max(Fi-1,Ai) + Pi

Si = incio da tx para o pacote i Compute todos os Fi: o prximo pacote Fi = final da tx para o pacote i a ser transmitido tem Fi mais baixo. Pi = tamanho de pacote i em tempo Ai = tempo de chegada do pacote i tx = transmisso
14

Rodzio Bit-a-Bit (FQ) - Exemplo


Fi = max( Fi 1 , Ai ) + Pi
Um pacote menor que chegou em um fluxo, pode ser transmitido antes de um pacote maior de um outro fluxo. Essa situao pode ocorrer, pois, o intuito manter a equidade na transmisso. O enlace de sada nunca fica ocioso, desde que haja pelo menos um pacote na fila. Esse tipo de enfileiramento denominado fila com conservao de trabalho. Numa situao de sobrecarga com n fluxos, cada um recebe no mais do que 1/n da largura de banda.
F=8 F=5 F=10

fluxo 1

fluxo 2

sada

Pacotes menores so enviados primeiro.

F=10 F=2

fluxo 1

fluxo 2

sada

(chegando) (enviando)

Pacote maior j em transmisso deve ser completado antes que um pacote menor seja enviado.
15

Enfileiramento imparcial ponderado (WFQ)


Pode-se atribuir uma ponderao a cada fluxo:
estabelece quantos bits sero transmitidos antes de ir para o prximo fluxo. Em vez de usar a noo de fluxos, isso pode ser feito com classes de trfego. Por ex., utilizar o TOS (type of service) do cabealho do IP. Essa informao pode ser utilizada para organizar pacotes em diferentes filas, com diferentes ponderaes.

16

Controle de Congestionamento em TCP


Princpios de controle de congestionamento
Saber que congestionamento est ocorrendo Adaptar para aliviar o congestionamento

Controle de congestionamento do TCP


Aumento aditivo, decrscimo multiplicativo Inicio lento e reinicio tambm lento

Preveno de congestionamento
Deteco aleatria antecipada (Random Early Detection) - RED Notificao explicita de congestionamento (Explicit Congestion Notification) ECN TCP Vegas
17

Controle de fluxo vs. Controle de congestionamento


Controle de fluxo
Evitar que um emissor rpido no transborde um receptor lento

Controle de congestionamento
Evitar que um conjunto de emissores no sobrecarregue a rede

Conceitos diferentes, mecanismos similares


Controle de fluxo do TCP: JanelaAnunciada Controle de congestionamento do TCP: JanelaCongestionamento Janela do TCP: min{JanelaCongestionamento, JanelaAnunciada}

18

Trs principais caractersticas da Internet


Comutao de pacote
Uma dada origem pode ter uma capacidade suficiente para enviar dados Mas os pacotes podem encontrar o enlace sobrecarregado

Fluxos de conexes
No h noes de conexes dentro da rede No h reserva antecipada dos recursos da rede Mesmo assim, os pacotes podem estar relacionados em um grupo (fluxo) Ex., os pacotes em uma mesma transferncia TCP

Servio de melhor esforo


Nenhuma garantia de entrega de pacotes ou atraso Nenhum tratamento preferencial para os pacotes
19

Congestionamento inevitvel
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 no consegue tratar todo o trfego que est chegando E o buffer pode eventualmente transbordar

20

Colapso de Congestionamento
Definio: O aumento na carga da rede resulta em um decrscimo do trabalho normal feito. Muitas possveis causas
Retransmisses esprias de pacotes que esto ainda a caminho
Colapso clssico de congestionamento Soluo: melhores temporizadores e controle de congestionamento do TCP

Pacotes no entregues
Pacotes consomem recursos e so descartados em alguma parte da rede Soluo: controle de congestionamento para todos os trfegos

21

Deteco 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 Confirmaes duplicadas

Atraso
Estimao de RTT

22

Idia do controle de congestionamento TCP


Cada origem determina a capacidade disponvel
Assim sabe quantos pacotes tem em trnsito

Janela de congestionamento
Mximo nmero de bytes no confirmados que tem em trnsito MaxJanela = min{JanelaCongestionamento, JanelaAnunciada} Enviar a uma taxa de componente mais baixo

Adaptao da janela de congestionamento


Decrescer sob a perda de pacote Aumentar sob sucesso

23

Exerccio
25.1 Suponha que um roteador tenha trs fluxos de entrada e um de sada. Ele recebe os pacotes listados na tabela abaixo praticamente ao mesmo tempo, na ordem listada, durante um perodo em que a porta de sada est ocupada, mas todas as filas por outro lado esto vazias. D a ordem em que os pacotes so transmitidos, considerando: a) enfileiramento imparcial b) enfileiramento imparcial ponderado, 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