Camada de Redes Parte II Fabrício
Algoritmos de controle de congestionamento Quando há pacotes demais presente (em parte) de uma sub-rede, o desempenho diminui. Dentro da capacidade de tranporte Eles serão entregues Exceto se sofram com erros de transmissão. Número entregue é proporcional ao número enviado. Quando o tráfego aumenta muito Os roteadores não são capazes de suportar Perdem pacotes Tráfego intenso Desempenho entra em colapso total Nenhum pacote é entregue 2
Algoritmos de controle de congestionamento Fatores : Se precisam da mesma saída haverá uma fila Memória insuficiente Memória infinita Congestionamento piora Quando chegam no início da fila já terão sido temporizados e duplicatas já terão sidos emviadas Processadores lentos Enfileiramento de buffers Atualização de tabelas, etc. Baixa largura de banda 3
Controle de congestionamento x Controle de fluxo Controle de congestionamento Garantia de que a sub-rede é capaz de transportar p tráfego oferecido. Questão global envolve o comportamento de todos os host, roteadores, do processamento de operações. Controle de fluxo Tráfego ponto a ponto entre transmissor e receptor. Sua tarefa é garantir que um trasmissor rápido não possa transmitir dados com uma rapidez do que o receptor não é capaz de absorver. Envolve feedback direto entre receptor e transmissor. 4
Exemplo Numa rede de com capacidade de 1000 gigabytes/s, um supercomputador está tentando transmitir um arquivo para um computador pessoal com um velocidade de 1 Gbps Uma rede com capacidade de 1 Mbp/s e 1000 computadores de grande porte, metade das quais estão tentando transferir arquivos a 100kps para outra metade. 5
Controle de congestionamento x Controle de fluxo Razão para serem confudidos com frequência Alguns algoritmos de controle de congestionamento enviam mensagem de volta a origem Deve diminuir a velocidade quando a rede enfrenta problemas Reduzir velocidade Receptor não pode manipular a carga Rede não é capaz de tratá-la 6
Princípios gerais do controle de congestionamento Teoria do controle Loops aberto (preventivo) Tentam resolver o problema com um bom projeto, para em príncipio garantir que eles não acorrerão Uma vez em funcionamento, não serão feitas correções que afetem os processos em andamento. Ferramentas que controlam loop aberto decide: Quando aceitar mais tráfego Quais pacotes devem ser descartados Quando isso deve ser feito? Programar decisões em vários pontos da rede. Decisões serão tomadas sem levar em conta o estado atual da rede. 7
Princípios gerais do controle de congestionamento Loops fechados loop de feedback (reativo) Monitorar o sistema para detectar quando e onde ocorre congestionamento Enviar essa informação para lugares onde alguma providência possa ser tomada Ajustar a operação do sistema para corrigir o problema. 8
Princípios gerais do controle de congestionamento 1 Qual métrica utilizar no monitoramento? % de pacotes descartados Média do comprimento da fila Números de pacotes interrompidos por alcançar o tempo limite Retardo médio de pacotes Desvio padrão do retardo do pacote 2 Tranferir informação Após detectado, enviar pacotes anunciando o problema Aumenta a carga exatamente na rede já congestionada Usar um bit especial no pacote para alertar os vizinhos Host ou roteadores enviarem pacotes de sondagem para perguntar de forma explicíta sobre o congestionamento 9
Princípios gerais do controle de congestionamento Loops aberto Atua na origem Atua no destino Loops fechados Feedback explícito Destino avisa aos demais Feedback implícito Origem deduz fazendo observações locais 10
Princípios gerais do controle de congestionamento Presença de congestionamento Carga é (temporariamente) maior do que os recursos (de uma parte do sistema) pode manipular. Solução: Aumentar o recursos As vezes não é possível aumentar a capacidade ou já foi aumentada até o limite máximo. Diminuir a carga Negar o serviço a alguns usuários Piorar a qualidade de serviço para alguns ou para todos usuários Fazer o usuário programarem suas necessidades de um modo mais previsível 11
Políticas que Afetam o Congestionamento 12
Controle de Congestionamento em subredes de circuitos virtuais Loop aberto Tenta impedir que o congestionamento ocorra, em vez de lidar com ele após seu surgimento. 13
a) Sub-rede congestionada 14
Controle de Congestionamento em subredes de circuitos virtuais Controle de Admissão Já começou e não se torne pior Ideia simples: Uma vez que deu indicação de sua existência, nenhum circuito virtual será estabelecido até que o problema tenha passado. Todas as tentativas de estabelecer conexões da camada de transporte falharão Admitir mais conexões só vai piorar Apesar de grosseira, é simples e fácil de implementa 15
Controle de Congestionamento em subredes de circuitos virtuais Outra Estratégia Negociar um acordo entre o host e a sub-rede quando um circuito virtual for configurado. Normalmente especifica: Volume Formatação do trafego Qualidade do serviço exigida Outros parâmetros Improvável que ocorra congestionamentos Todos os recursos necessários estarão disponíveis Desvantagem 16
Controle de Congestionamento em subredes de circuitos virtuais Cont. Desvantagem Desperdiçar recursos Seis circuitos virtuais que poderiam utilizar 1Mbps passarem todos pela mesma linha física de 6 Mbps Linha marcada como cheia Raramente acontecerá de todos os seis circuitos virtuais estarem transmitindo na velocidade máxima ao mesmo tempo Preço do controle de congestionamento Largura de banda não-utilizada 17
Controle do congestionamento em sub-redes de datagramas Cada roteador pode monitorar facilmente a utilização de suas linhas de saída e de outro recursos O roteador pode associar a cada linha uma variável real, u, cujo valor 0.0 a 1.0 Reflete a utilização recente dessa linha Amostra da utilização instantânea da linha, f( 0 ou 1) a = velocidade que o roteador se esquece dos acontecimentos recentes u nova = au antiga + (1-a)f Sempre que u ultrapassa o limite, a linha de saída entre em um estado de advertência 18
O bit de advertência bit especial no cabeçalho do pacote Quando o pacote chega ao destino, a entidade de transporte copia o bit na próxima confirmação a ser envidada de volta à origem Em seguida, a origem interrompia o tráfego. 19
Pacotes reguladores Sutil e cheio de rodeios para avisar a origem que deve transmitir mais lentamente Por que não fazer isso diretamente? Pacote regulador Ao host de origem, informando destino encontrado no pacote. Pacote original é marcado (bit do cabeçalho) para não gerar mais pacotes reguladores ao longo do caminho Ao receber o pacote regulador, host de origem é obrigado a reduzir em X % o tráfego enviado ao destino Outro já a caminho e gerarão mais pacotes roteadores, devem ser ignorados na origem num intervalo 20
Pacotes reguladores hop a hop Altas velocidades ou longas distâncias O envio de pacotes reguladores não funciona bem Reação lenta 21
Escoamento de Carga Quando nenhum dos métodos anteriores fizer efeito pode chamar a artilharia pesada: Escoamento de carga Quando os roteadores estão sendo inundados por pacotes que não podem manipular, eles simplesmente devem ser descartados Expressão vem do universo da geração energia elétrica Concessionária apaga intencionalmente certas áreas para impedir que toda rede entre em colapso 22
Escoamento de Carga Selecionar ao acaso? Pode fazer algo melhor Depende da aplicação Transferência de arquivo Pacote antigo Descartar o 6 e manter 7 a 10 ruim Multimídia Políticas Novo é mais importante do que um antigo Antigo é melhor do que novo política do vinho Novo é melhor do que antigo política do leite 23
Escoamento de Carga Marcar pacotes de acordo com a prioridade 24
Detecção aleatória prematura Mais fácil lidar com o congestionamento na sua fase inicial A ideia é descartar pacotes antes que todo espaço de buffer realmente se esgote Em alguns protocolos de transporte (TCP) Resposta a perca e tornar a origem mais lenta TCP foi projetados para redes fisicamente conectadas,que são seguras Perda de pacotes estouro de buffer do que erros de transmissão Fazer os roteadores descartarem pacotes antes que a situação se torne desesperadora Daí nome prematuro (antes que seja tarde demais) 25
Detecção aleatória prematura Média atualizada do comprimento da fila Cada o comprimento médio atingi um limiar considera que está congestionada e alguma ação é tomada Escolhe pacote ao acaso Como avisar a origem? Pacote regulador congestiona mais Não dá feedback Origem deduzirá de forma implícita a taxa de transmissão Redes sem fio Essa abordagem não pode ser usada Ruído no enlace 26
Controle de Flutuação Transmissão de audio e video Não importa se demora muito ou não para serem entregues 20 ou 30 ms Tempo em transito seja constate A variação (desvio padrão) nos tempos de chegada Flutuação (jitter) Valor médio com margem de erro para possíveis atrasos A flutuação pode ser limitada pelo cálculo do tempo esperado em cada hop ao longo do caminho Se tiver adiantado roteador segura para sincronização Se tiver atrasado envia rapidamente 27
Controle de Flutuação Video por demanda Uso de buffer no receptor Interação em tempo real Telefonia Videoconferencia 28
Qualidade de serviço Reduzir o congestionamento Melhorar o desempenho 29
Requisitos Sequencia de pacotes desde a origem ao seu destino Fluxo Orientado a conexao Seguem a mesma rota Sem conexão Rotas distintas 30
Requisitos Confiabilidade Retardo Flutuação Largura de banda QoS (QualityofService) Qualidade de serviço 31
Aplicação Confiabilidade Retardo Flutuação Largura de Banda Correio Eletrônico alta baixa baixa baixa Transf. de arquivos alta baixa baixa Media Acesso à web alta Media baixa Media Login remoto alta media Media baixa Audi por demanda baixa baixa alta Media Video por demanda baixa baixa alta alta Telefonia baixa alta alta baixa Videoconferencia baixa alta alta alta 32
Técnica para se alcançar boa qualidade de serviço Nenhuma técnica isolada proporciona QoS 33
Superdimensionamento Solução prática forncer: Tanto Capacidade de roteadores Tanto espaço de buffers Tanta largura de banda Pacotes são enviados com tanta facilidade Problema solução : custo Com o tempo os projetistas sabem a real necessidade Exemplo: telefonia fixa 34
Armazenamento em buffer Armazena o fluxo em buffer no receptor Figura 35
Modelagem de Tráfego Suaviza o tráfego no lado servidor e não no lado cliente Regulagem pela taxa média( e do volume) da transmissão de dados Acordo do nível de serviço Quando uma conexão e configurada usuário e a concessionária concordam com um determinado padrão de tráfego Cliente cumpra sua parte do contrato, a concessionária promete entregá-los pontualmente Importante em transmissão de tempo real Áudio e vídeo Requisitos restritos de qualidade 36
Modelagem de Tráfego Policiamento de tráfego Monitoramento do fluxo de tráfego Mais fácil em circuitos virtuais do que datagrama 37
Algoritmo do balde furado 38
Referências TANENBAUM, Andrew S. Redes de Computadores. Rio de Janeiro: Elsevier, 2003. Cáp. 5 39
Dúvidas 40