Você está na página 1de 18

4/26/13

2
Conges'onamento  

Redes de Acesso – Prof. Bordim (bordim@unb.br)


© 2005 by Pearson Education

2 Conges'onamento  
•  Conges'onamento  ocorre  quando  a  quan'dade  de  pacotes  na  rede  é  
muito  grande    

•  Normalemnte  ocorre  quando  se  a'nge  um  patamar  da  capacidade  de  
carga  dos  canais  de  comunicação  

© 2005 by Pearson Education

1
4/26/13

2 Conges'onamento  
•  Conges'onamento  -­‐  origen  

•  Pacotes  chegando  por  canais  de  comunicação  


rápidos,  tendo  de  sair  por  canais  mais  lentos;  

•  Roteadores  lentos;  

•  Roteadores  com  pouca  memória  para  armazenar  


pacotes  temporariamente  

© 2005 by Pearson Education

2 Conges'onamento  
•  Controle  de  Fluxo  
–  Refere-­‐se  a  tráfego  ponto-­‐a-­‐ponto  
–  Evitar  que  o  transmissor  envie  dados  mais  rápido  que  o  receptor  
consiga  receber  

•  Controle  de  Conges'onamento  


–  Preocupa-­‐se  com  a  sub-­‐rede  e  se  ela  tem  condições  de  suportar  
o  tráfego  corrente  
–  Envolve  toda  a  sub-­‐rede,  roteadores,  processamento  nos  
roteadores,  e  outros  fatores  que  refletem  na  performance  da  
sub-­‐rede    

© 2005 by Pearson Education

2
4/26/13

2 Conges'onamento:Princípios  Gerais  
•  Modelo  circuito  aberto  (open  loop)  
–  Propõe  resolver  os  problemas  na  fase  de  projeto/configuração  dos  
roteadores  de  modo  a  (tentar)  garan'r  que  não  ocorra  
conges'onamento.  
–  Para  ajustar  alguma  coisa,  tem-­‐se  de  reinicializar  tudo.    

•  Modelo  circuito  fechado  (closed  loop),  propõe:  


–  Monitoração  do  sistema  para  detectar  quando  e  onde  o  
conges'onamento  ocorre;  
–  Passagem  dessas  informações  para  pontos  de  controle  onde  alguma  
ação  pode  ser  tomada;  
–  Ajuste  da  operação  do  sistema  para  corrigir  o  problema.  

© 2005 by Pearson Education

2 Conges'onamento:Princípios  Gerais  
•  No  modelo  circuito  fechado,  o  controle  pode  ser:  

•  Explícito:    
–  quando  o  ponto  de  conges'onamento  avisa  (de  alguma  
forma)  a  origem  dos  pacotes  (p.ex.  ATM  com  ABR);  

•  Implícito:  
–   quando  a  origem  dos  pacotes  deduz  que  há  
conges'onamento  fazendo  observações  localmente  (p.ex.,  
pela  demora  no  recebimento  de  confirmação  de  entrega  
de  pacotes,  p.ex.  TCP/IP).  

© 2005 by Pearson Education

3
4/26/13

2Conges'onamento:  Princípios  Gerais  


•  Modelo  circuito  fechado  -­‐  Como  detectar/informar  e  agir?  

•  1.  Detectar:  
–  U'lizar  métricas  como:  quan'a  de  pacotes  descartados  por  falta  de  
espaço  de  armazenamento,  u'lização  das  filas,  nro  de  pacotes  
retransmi'dos,  atraso,  etc.    
–  Aumento  nestes  valores  indica  conges'onamento  
 
•  2.  Informar:    
–  Informar  outros  roteadores  da  existência  de  conges'onamento  em  
um  determinado  ponto  
•  gera  mais  pacotes  e  pode  aumentar  o  conges'onamento  
–  U'lizar  pacotes  específicos  para  iden'ficar  conges'onamento  

© 2005 by Pearson Education

2Conges'onamento:  Princípios  Gerais  


•  Modelo  circuito  fechado  -­‐  Como  detectar/informar  e  agir?  
 
•  3.  Agir:    
–  Duas  soluções:  diminuir  a  carga  ou  aumentar  a  capacidade  
–  Aumentar  a  capacidade  nem  sempre  é  possível  (custo,  capacidade  do  
equipamento  e  das  linhas,  etc).    
–  Para  diminuir  a  carga  temos  várias  alterna'vas,  como:  
•  negação  de  serviço  (service  denying)  
•  scheduling    
•  etc.      
 

© 2005 by Pearson Education

4
4/26/13

2Conges'onamento:  Princípios  Gerais  


•  Polí'cas  de  prevenção  de  conges'onamento  
–  Open-­‐loop  (tenta  prevenir  o  conges'onamento)  

•  Transporte  -­‐  Polí'ca  de  retransmissão  


–  Polí'ca  de  armazenamento  para  segmentos  fora  de  ordem  
–  Polí'ca  de  reconhecimento  (Ack)  de  segmento  
–  Polí'ca  de  controle  de  fluxo  
–  Determinação  do  temporizador  ('meout)  

•  Rede  -­‐  Modo  circuito  virtual  versus  modo  datagrama  


–  Enfileiramento  de  pacote  e  polí'ca  de  serviço  
–  Polí'ca  de  descarte  de  pacote  
–  Algoritmo  de  roteamento  
–  Gerência  de  tempo  de  vida  de  pacote  

© 2005 by Pearson Education

2Conges'onamento:  Princípios  Gerais  


•  Enlace  -­‐  Polí'ca  de  retransmissão  
–  Polí'ca  de  armazenamento  para  quadro  fora  de  ordem  (go  back  
N,  sele've  repeat)  
–  Polí'ca  de  reconhecimento  (Ack)  de  quadro  (com/sem  
pigybacking)  
–  Polí'ca  de  controle  de  fluxo  (com/sem  slide  window)  

© 2005 by Pearson Education

5
4/26/13

2Conges'onamento:  Modo  circuito  virtual  


•  U'liza  mecanismos  de  controle  de  admissão  (admission  control).    

•  Quando  o  coges'onamento  é  iden'ficado,  circuitos  virtuais  não  


são  mais  criados.    
–  Isto  é,  se  os  usuários  atuais  já  estão  tendo  dificuldades  em  enviar  seus  
pacotes,  permi'r  a  entrada  de  mais  usuários  não  vai  melhorar  

•  Outro  método  permite  criar  circuitos  virtuais,  porém  sem  passar  


por  áreas  de  conges'onamento.  
–  Precisa  indicar  o  volume  de  tráfego  a  ser  u'lizado  para  que  haja  
reserva  de  recursos  na  rede.    
–  Problema  é  que  muitas  vezes  recursos  são  reservados  e  não  u'lizados  

© 2005 by Pearson Education

2Conges'onamento:  Modo  circuito  virtual  


•  Exemplo.    

© 2005 by Pearson Education

6
4/26/13

2Conges'onamento:  modo  datagrama  


•  Cada  roteador  mede  a  u'lização  das  linhas  de  saída  (entre  
outros  recursos).    

•  Associar  uma  variável  real  (u)  a  cada  linha  de  saída:  

–  onde  “a”  é  uma  constante  que  representa  quão  rápido  o  


roteador  deverá  “esquecer”  os  valores  mais  an'gos  (history)    e  
“f”  representa  a  u'lização  da  linha  neste  instante.    

•  Uma  ação  é  tomada  quando  “u”  es'ver  acima  de  um  


determinado  valor.    

© 2005 by Pearson Education

2 Conges'onamento:  Algorítmos  
•  Que  'po  de  ação  pode  ser  tomada?    

•  O  controle  de  conges'onamento  tenta  u'lizar  de  


forma  eficiente  os  recursos  da  rede  quanto  temos  
uma  carga  excessiva.    

•  Técnicas  de  controle  de  conges'onamento  incluem    


–  Warning  bit  
–  Choke  packets  
–  Load  shedding  
–  Traffic  shaping  

© 2005 by Pearson Education

7
4/26/13

2 Conges'onamento:  Algorítmos  

•  Warning  Bit    

•  Um  bit  especial  é  u'lizado  para  informar  o  


transmissor  sobre  o  conges'onamento  

•  Ao  receber  o  ACK  com  o  esse  bit  especial,  o  


transmissor  reduz  a  taxa  de  transmissão    

© 2005 by Pearson Education

2 Conges'onamento:  Algorítmos  

•  Choke  Packet    

•  Outra  forma  é  a  u'lização  de  mensagens  de  controle  


para  informar  diretamente  o  transmissor  a  reduzir  a  
taxa  de  transmissão.    

•  Ao  receber  essa  mensagem  o  transmissor  deve  


reduzir  a  taxa  de  transmissão  por  um  certo  
percentual.    

© 2005 by Pearson Education

8
4/26/13

2 Conges'onamento:  Algorítmos  

•  Hop-­‐by-­‐Hop  Choke  Packets  

•  Em  longa  distâncias  é  necessário  reduzir  a  taxa  de  


transmissão  em  cada  hop,  mesmo  antes  do  choke  
packet  chegar  até  o  transmissor.    

•  Desta  forma,  o  choke  packet  é  enviado  hop-­‐by-­‐hop,  e  


em  cada  hop,  a  taxa  de  transmissão  é  reduzida.    

© 2005 by Pearson Education

2 Conges'onamento:  Algorítmos  
•  Load  Shedding  

•  Quanto  não  há  espaço  para  armazenamento,  o  roteador  


simplesmente  discarta  os  pacotes  de  dados.    
•  Qual  pacote  descartar?    

•  A  ví'ma  depende  da  aplicação    


–  Transferência  de  arquivos:  não  pode  descartar  pacotes  an'gos,  
pois  isso  gera  um  gap  nos  dados  que  estão  sendo  recebidos.    
–  Para  voz  e  vídeo  é  melhor  descartar  pacotes  an'gos  e  mantar  os  
novos.    

© 2005 by Pearson Education

9
4/26/13

2 Conges'onamento:  Algorítmos  
•  Traffic  shaping  

•  Em  redes  que  oferecem  qualidade  de  serviço  (Quality  of  Service  


-­‐QoS),  as  estações  clientes  podem  ser  forçadas  a  transmi'r  a  
uma  taxa  uniforme  

•  Essa  taxa  é  previamente  acertada  com  a  rede  antes  do  início  da  
transmissão  (via  abertura  de  conexão).  
–  Eg.  Redes  ATM  

•  Algoritmos  de  traffic  shapping,  incluem    


–  Leaky  Bucket  (balde  furado)  
–  Token  Bucket  

© 2005 by Pearson Education

2 Conges'onamento:  Algorítmos  
•  Algoritmo  do  Balde  Furado  (Leaky  Bucket  Algorithm)  

•  U'lizado  para  controlar  a  taxa  de  transmissão  em  


uma  rede.    

•  Uma  fila  de  tamanho  finito  age  como  um  depósito  de  
contenção  para  suportar  rajadas  de  tráfego    

•  Se  o  baldo  enche,  os  pacotes  são  eliminados  

© 2005 by Pearson Education

10
4/26/13

2 Conges'onamento:  Algorítmos  
•  Algoritmo  do  Balde  Furado  (Leaky  Bucket  Algorithm)  

© 2005 by Pearson Education

2 Conges'onamento:  Algorítmos  
•  Algoritmo  do  Balde  Furado  (Leaky  Bucket  Algorithm)  

•  O  controle  é  feito  enviando-­‐se  para  a  rede  pacotes  


sempre  em  uma  velocidade  constante  

•  Em  redes  com  pacotes  de  tamanho  fixo  (p.ex.  ATM),  


tudo  funciona  bem.    

•  Em  redes  com  pacotes  de  tamanho  variável,  podem  


ser  transmi'dos  N  pacotes  de  modo  que  a  soma  dos  
tamanhos  dos  N  pacotes  não  ultrapasse  o  tamanho  
máximo  de  pacote  admi'do.  

© 2005 by Pearson Education

11
4/26/13

2 Conges'onamento:  Algorítmos  
•  Token  Bucket    

•  Dependendo  da  rajada  de  entrada,    o  TB  permite  uma  


variação  na  taxa  de  transmissão  de  saída      

•  No  TB,  o  balde  armazena  tokens.  Para  transmi'r  um  pacote,  


o  transmissor  deve  primeiro  receber  e  destruir  um  token  

•  Os  tokens  são  gerados  por  um  relógio  a  uma  taxa  de  Δt  por  
sec.  

•  Roteadores  ociosos  podem  armazenar  tokens  (até  o  limite  


do  balde)  e  usá-­‐los  mais  tarde.    

© 2005 by Pearson Education

2 Conges'onamento:  Algorítmos  
•  TB  X  LB  

•  O  balde  furado  discarta  pacotes  enquanto  o  TB  discarta  tokens.    

•  Com  o  TB,  um  pacote  só  será  transmi'do  se  exis'r  tokens  
suficientes  para  cobrir  o  tamanho  do  pacote  

•  LB  envia  pacotes  a  uma  taxa  constante,  enquanto  o  TB  permite  


rajadas  

•  O  TB  permite  armazenar  tokens  (permissões)  para  usá-­‐las  mais  


tarde.    

© 2005 by Pearson Education

12
4/26/13

2 Linux  Traffic  Control  -­‐  TC    


•  O  Linux  possui  conjunto  de  algoritmos  para  controle  
de  tráfego    

•  Esses  algoritmos  permitem  modificar  a  forma  como  


os  pacotes  recebidos  e  encaminhados  pela  rede.    

•  A  configuração  de  QoS  no  linux  é  baseada  no  


comando  de  linha  denominado  tc  (traffic  control)  
 

© 2005 by Pearson Education

2 Mecanismos  de  TC  


•  O  Linux  possui  dois  mecanismos  principais:  
–  Policiamento:  realizado  na  fila  de  entrada  
–  Enfileiramento:  realizado  na  fila  de  saída    

© 2005 by Pearson Education

13
4/26/13

2 Elementos  do  TC  

•  Queuing  Disciplines:  controlam  o  enfileiramento  e  envio  de  


pacotes.    
•  Filtros:  u'lizados  para  policiar  e  classificar  os  pacotes.    
•  Classes:  classificação  de  pacotes  
•  Policers:    permite  estabelecer  limites  para  os  filtros  
© 2005 by Pearson Education

2 Disciplinas  de  Enfileiramento  


•  Disciplinas:  
–  FIFO:  First  In  First  Out    
–  PRIO:  Priority  Queue    
–  TBF:  Token  Bucket  Flow    
–  SFQ:  Stochas'c  Fair  Queuing    
–  HTB:  Hierarquical  Token  Bucket    
–  RED:  Random  Early  Detec'on  

© 2005 by Pearson Education

14
4/26/13

2 FIFO:  First  In  First  Out    

•  FIFO:      
–  Default  no  Linux.    
–  Primeiro  pacote  a  chegar,  é  o  primeiro  a  sair  
Redes de Acesso – Prof. Bordim (bordim@unb.br)
© 2005 by Pearson Education

2 PRIO:  Priorização  Injusta    

•  PRIO:      
–  Três  classes:  Alta,  média  e  baixa  prioridade  
–  A  classe  alta  é  servida  até  que  não  existam  pacotes  na  fila.  A  classe  de  baixa  
prioridade  é  servida  apenas  quando  ambas  as  classes  superiores  estão  vazias    

Redes de Acesso – Prof. Bordim (bordim@unb.br)


© 2005 by Pearson Education

15
4/26/13

2 TBF:  Token  Bucket  Func'on    

•  TBF:      
–  usada  para  controlar  a  banda  de  uma  única  classe    
–  No  exemplo  acima,  permite  fazer  com  que  a  PRIO  de  alta  prioridade  não  seja  a  
única  a  ser  servida  (impõe  limites).  

Redes de Acesso – Prof. Bordim (bordim@unb.br)


© 2005 by Pearson Education

2 TBF:  Token  Bucket  Func'on    

•  HTB:      
–  permite  estruturar  uma  hierarquia  de  divisão  de  bandas  pela  concatenação  de  
classes    
–  No  exemplo  acima,  a  subrede  A  obterá  60%  da  banda  e  o  restante  será  alocado  
para  a  subnet  B.    
•  Cada  subrede  poderá  garan'r  fluxos  para  os  serviços  indicados  na  figura  
Redes de Acesso – Prof. Bordim (bordim@unb.br)
© 2005 by Pearson Education

16
4/26/13

2 SFQ:  Stochas'c  Fair  Queuing    

•  SFQ:      
–  controla  a  forma  como  os  pacotes  de  uma  classe  ou  interface  são  encaminhados    
–  Cria  múl'plas  filas  para  distribuir  fluxos  (fonte(IP,porta),  des'no(IP,porta))  
–  O  atendimento  é  realizado  via  rodízio  

Redes de Acesso – Prof. Bordim (bordim@unb.br)


© 2005 by Pearson Education

2 RED:  Random  Early  Detec'on    

•  RED:      
–  visa  limitar  o  tamanho  das  filas,  
controlando  o  atraso  médio  
introduzido  na  transmissão    

Redes de Acesso – Prof. Bordim (bordim@unb.br)


© 2005 by Pearson Education

17
4/26/13

2 Palavras  Finais  
•  O  linux  apresenta  um  conjunto  de  algoritmos  para  o  
controlo  de  tráfego  na  rede  

•  Os  algoritmos  de  enfileiramento  afetam  apenas  os  


pacotes  que  saem  pela  interface,  e  não  os  que  entram.    

•  Em  um  roteador,  cada  interface  controla  o  QoS  do  


tráfego  em  um  único  sen'do  

Redes de Acesso – Prof. Bordim (bordim@unb.br) 2 - 35


© 2005 by Pearson Education

18

Você também pode gostar