Controle de congestionamento

Aprenda por que as redes ficam congestionadas e como os remetentes compartilham um gargalo sem um controlador central. Acompanhe a janela de congestionamento do TCP durante a partida lenta, a prevenção de congestionamento, a retransmissão rápida e a recuperação rápida, estime a vazão resultante e veja por que o aumento aditivo e a redução multiplicativa levam fluxos concorrentes a um compartilhamento justo. Depois, compare CUBIC e BBR, veja como o gerenciamento ativo de filas e a notificação explícita de congestionamento avisam os remetentes antes que os buffers transbordem e descubra como o QUIC incorpora essas ideias a um novo protocolo de transporte baseado em UDP.

IntermediárioAula 4 de 8 do curso Curso de Redes de computadores

O que você vai aprender

  1. Descreva como o tráfego que ultrapassa a capacidade de um enlace gera filas, atraso e perda, por que isso desperdiça a capacidade da rede e as duas formas gerais de evitar o congestionamento.
    • Acompanhe como uma fila no gargalo transforma carga em atraso e perda
      Defina congestionamento e enlace de gargalo e acompanhe como a fila de um roteador cresce quando o tráfego chega mais rápido do que o enlace consegue transmiti-lo.
    • Explique os custos do congestionamento e do colapso por congestionamento
      Mostre como retransmissões, duplicatas desnecessárias e pacotes descartados no fim de caminhos longos desperdiçam capacidade e como remetentes sem controle podem levar a vazão útil a quase zero.
    • Compare o controle de congestionamento fim a fim e o assistido pela rede
      Classifique os esquemas de controle de congestionamento conforme a origem do sinal de congestionamento, os sinais usados e o controle de uma janela ou de uma taxa.
  2. Acompanhe como um remetente TCP usa sua janela de congestionamento para sondar a largura de banda com partida lenta e prevenção de congestionamento, reduz o envio com retransmissão rápida, recuperação rápida e expiração de tempos limite, e qual vazão esse comportamento produz.
    • Relacione a janela de congestionamento à taxa de envio
      Use a janela de congestionamento, a janela de recepção e o tempo de ida e volta para calcular a velocidade de transmissão de um remetente TCP e a quantidade de dados em trânsito necessária em um caminho.
    • Acompanhe a partida lenta e a prevenção de congestionamento
      Calcule como cwnd cresce na partida lenta e na prevenção de congestionamento e explique quando o remetente passa de uma para a outra.
    • Explique como o TCP reage à perda: expiração de tempos limite, retransmissão rápida e recuperação rápida
      Aplique as regras que o TCP segue após a expiração de um tempo limite ou três ACKs duplicados e acompanhe as diferenças entre TCP Tahoe, Reno e NewReno.
    • Estime a vazão do TCP a partir de seu comportamento em dente de serra
      Use o modelo de dente de serra e a fórmula da taxa de perda para estimar a vazão de uma conexão TCP de longa duração e veja por que o TCP clássico tem dificuldades em caminhos rápidos e longos.
  3. Explique por que o aumento aditivo e a redução multiplicativa levam fluxos concorrentes a parcelas iguais, meça a equidade e reconheça as condições reais em que as parcelas se tornam desiguais.
    • Mostre por que o AIMD converge para um compartilhamento justo e eficiente
      Use a representação de dois fluxos de Chiu e Jain para mostrar como o aumento aditivo e a redução multiplicativa levam dois remetentes a parcelas iguais de um enlace.
    • Avalie a equidade entre fluxos reais
      Meça a equidade com o índice de Jain e a equidade máx-min e explique como diferenças de RTT, conexões paralelas, tráfego que não reage ao congestionamento e algoritmos diferentes alteram a parcela recebida por cada fluxo.
  4. Descreva por que buffers cheios criam atrasos longos, como o gerenciamento ativo de filas descarta ou marca pacotes antecipadamente e como a notificação explícita de congestionamento leva um sinal de congestionamento ao remetente sem perda de pacotes.
    • Explique o atraso excessivo por acúmulo em buffers e o gerenciamento ativo de filas
      Explique por que buffers grandes com descarte na cauda e remetentes baseados em perda produzem filas persistentes e como RED e CoDel mantêm as filas curtas agindo antecipadamente.
    • Descreva a notificação explícita de congestionamento no IP e no TCP
      Acompanhe os pontos de código ECN e os indicadores TCP do roteador ao receptor e ao remetente e explique como o TCP para centros de dados e o L4S usam marcações frequentes para obter atrasos muito baixos.
  5. Explique como o CUBIC aumenta sua janela em função do tempo desde a última perda, como algoritmos baseados em atraso e em modelo, como Vegas e BBR, evitam encher os buffers e quais são as vantagens e limitações de cada um.
    • Explique como o CUBIC aumenta sua janela
      Calcule a janela do CUBIC a partir de sua função cúbica de crescimento e explique sua redução mais moderada, seu modo amigável ao Reno e por que seu crescimento depende do tempo, e não do RTT.
    • Explique o controle baseado em atraso e como o BBR modela o caminho
      Explique como o Vegas identifica o enfileiramento a partir do atraso, como o BBR estima a largura de banda do gargalo e o RTT mínimo para cadenciar o envio à taxa adequada e como CUBIC e BBR se comparam.
  6. Explique por que o TCP é difícil de alterar, como o QUIC reconstrói um transporte confiável e seguro sobre UDP e como o QUIC detecta perdas e controla o congestionamento.
    • Explique por que os protocolos de transporte se ossificam e como o projeto do QUIC responde a isso
      Explique como dispositivos intermediários de rede e implementações no kernel retardam a evolução do TCP e como os fluxos, a negociação combinada, a criptografia e os IDs de conexão do QUIC lidam com as limitações do TCP.
    • Descreva a detecção de perdas e o controle de congestionamento no QUIC
      Explique como os números de pacote e os reconhecimentos do QUIC melhoram a detecção de perdas e aplique as regras de seu controlador de congestionamento padrão para janela inicial, recuperação, congestionamento persistente, ECN e cadenciamento de pacotes.

Guia de estudo de Controle de congestionamento

6 capítulos

1

Por que o congestionamento reduz a entrega de dados úteis

Um remetente rápido ainda pode encontrar um caminho lento. Várias entradas podem alimentar um enlace de saída, e seu tráfego combinado precisa compartilhar a capacidade dele. Acompanhe o que acontece com os pacotes quando essa capacidade se esgota e depois diferencie a entrega útil do tráfego gasto com repetições e perdas posteriores. O desafio do remetente é reconhecer a sobrecarga cedo o suficiente para reduzi-la, usando suas próprias observações ou informações dos roteadores.

1.1 De um enlace ocupado a uma fila crescente

O congestionamento começa quando o tráfego chega a uma parte da rede mais rápido do que ela consegue transportá-lo por um período prolongado. Os pacotes esperam no buffer de saída de um roteador, chamado de fila. O gargalo é o enlace com a menor capacidade disponível para esse tráfego ao longo de seu caminho.

Acompanhe o excedente

Suponha que um roteador receba 12 Mbps para um enlace de saída capaz de enviar 10 Mbps. Ele não pode acelerar a saída para igualá-la à entrada. A cada segundo, 2 megabits ficam esperando, ou 250.000 bytes após a divisão por 8. Começando vazio, um buffer de 1.000.000 de bytes fica cheio em:

1.000.000/250.000=4 s.

Um pacote que entra atrás dessa quantidade de dados enfileirados espera o enlace transmitir os dados à sua frente:

1.000.000×8/10.000.000=0,8 s.

Quando o buffer permanece cheio, a saída continua transportando apenas 10 Mbps. Cerca de 2 Mbps dos 12 Mbps que chegam são descartados, um sexto do tráfego oferecido. Esses cálculos consideram taxas constantes de chegada e saída; o momento de cada pacote acrescenta pequenas variações.

Decida se a fila vai esvaziar

Uma rajada curta é diferente de uma sobrecarga sustentada. Uma fila pode absorver uma rajada e esvaziar quando as chegadas caem abaixo da taxa de saída. Se as chegadas constantes forem exatamente iguais à taxa de saída, uma fila existente persiste: cada saída é substituída por uma chegada. Chegadas sustentadas acima da taxa de saída fazem a fila crescer até o buffer ficar cheio.

O tráfego real é irregular. Mesmo abaixo da utilização média total, rajadas fazem os pacotes esperar. Perto da capacidade, há pouco tempo disponível para esvaziar essas rajadas, portanto o atraso médio aumenta rapidamente. O congestionamento aumenta principalmente a parcela de fila do atraso de pacote; processamento, transmissão e propagação são componentes separados.

Identifique a taxa em questão
TaxaO que conta
Carga oferecidaTráfego enviado à rede, incluindo retransmissões
VazãoPacotes ou bytes entregues por segundo
Vazão útilDados novos e úteis de aplicação entregues por segundo, contados uma vez

Uma diferença de velocidades pode revelar o gargalo: uma rede local de 1 Gbps pode alimentar um enlace de acesso de 50 Mbps. A agregação tem o mesmo efeito quando várias entradas de roteador compartilham uma saída. Uma única entrada pode parecer modesta enquanto a soma delas sobrecarrega essa saída.

Escolha o limite correto

O controle de fluxo protege o buffer do receptor usando a janela de recepção anunciada por ele. O controle de congestionamento protege o caminho entre as extremidades. Um receptor pode ter bastante memória livre enquanto um roteador no caminho descarta pacotes.

Um buffer maior no roteador pode comportar uma rajada mais longa, mas uma sobrecarga sustentada preenche qualquer buffer finito e aumenta o tempo de espera. Um enlace de gargalo mais rápido elimina essa falta de capacidade. Outro enlace passa então a limitar o caminho; ele só fica congestionado quando o tráfego excede a capacidade disponível nesse ponto.

Principais conclusões

  • O congestionamento faz as filas crescerem quando as chegadas sustentadas excedem a taxa de saída disponível.
  • Uma fila esvazia abaixo da capacidade e persiste quando as chegadas constantes são exatamente iguais à capacidade.
  • Converta os bytes enfileirados em bits antes de dividir pela taxa do enlace para calcular o tempo de espera.
  • A vazão útil conta os dados úteis uma vez; a carga oferecida inclui retransmissões.
  • O controle de fluxo protege o receptor; o controle de congestionamento protege o caminho de rede.

1.2 Por que uma rede ocupada pode entregar muito pouco

Um enlace totalmente ocupado só é útil quando seu tráfego ajuda a entregar dados novos. O congestionamento consome capacidade de maneiras que podem reduzir a entrega útil mesmo enquanto a rede permanece ocupada.

Conte os custos

O atraso de fila vem primeiro. Uma chamada de vídeo pode se tornar difícil de acompanhar antes que qualquer pacote seja descartado, porque a fala chega tarde demais. A confiabilidade, por si só, não consegue corrigir esse atraso.

Pacotes perdidos criam um segundo custo: um remetente confiável os retransmite. Se um enlace de 10 Mbps transporta pacotes de mesmo tamanho e 20% repetem dados já transportados nesse enlace, no máximo 8 Mbps transportam dados novos:

10×(1−0,2)=8 Mbps.

A vazão útil da aplicação é menor após considerar os cabeçalhos e eventuais perdas em outros pontos. A atividade do enlace, portanto, exagera o progresso feito pela aplicação.

Algumas retransmissões são desnecessárias. Um pacote pode estar esperando em uma fila longa quando o temporizador do remetente expira. Sua substituição entra então na mesma rede ocupada. As duas cópias podem chegar, mas o receptor mantém os dados apenas uma vez. A fila transformou um problema de atraso em carga oferecida adicional.

Observe os enlaces anteriores a um descarte

Um descarte perto do destino pode desperdiçar trabalho em vários enlaces anteriores. Imagine um pacote atravessando os enlaces A e B antes de ser descartado na fila para C. As transmissões em A e B usaram capacidade sem entregar esse pacote. Repetir esse padrão deixa menos capacidade nos enlaces anteriores para o tráfego que poderia ter chegado ao destino.

À medida que a carga oferecida aumenta, a vazão também aumenta inicialmente. Com descartes suficientes nos pontos seguintes, porém, o aumento da carga envia mais tráfego para um trabalho que será desperdiçado. A vazão fim a fim pode atingir um pico e depois cair. O colapso por congestionamento é o caso extremo: a carga oferecida permanece alta enquanto a vazão útil cai em direção a zero.

Em outubro de 1986, a vazão entre o Lawrence Berkeley Laboratory e a UC Berkeley caiu de 32 kbps para 40 bps, uma redução por um fator de 800. O trabalho de Jacobson e Karels em 1988 introduziu uma resposta coordenada: partida lenta, prevenção de congestionamento, uma estimativa melhor do tempo de ida e volta e recuo exponencial do temporizador. O controle de janela e temporizadores adequados tratam de partes diferentes do ciclo de retorno.

Encontre a faixa útil de operação

O joelho da curva e o precipício da curva de Raj Jain descrevem dois limites. Além do joelho, a carga adicional traz pouco ganho de vazão, mas muito mais atraso. Além do precipício, a vazão cai à medida que as perdas e o trabalho desperdiçado passam a predominar. O controle de congestionamento busca uma entrega eficiente perto do joelho, mantendo distância do colapso.

A internet não tem um controlador central que atribua uma taxa a cada remetente. Cada remetente precisa reagir às informações que observa. Se um deles continuar transmitindo a uma taxa alta e fixa enquanto os outros reduzem suas taxas, poderá tomar a capacidade deles e agravar a sobrecarga.

A retransmissão torna um fluxo de bytes confiável, mas não elimina o custo da perda. A recuperação consome capacidade e atrasa a entrega dos dados faltantes; esperar por um temporizador de retransmissão pode interromper a conexão por muito mais tempo que a recuperação rápida.

Principais conclusões

  • O atraso de fila pode prejudicar o tráfego interativo antes que pacotes sejam perdidos.
  • Retransmissões e duplicatas desnecessárias consomem capacidade sem acrescentar dados novos de aplicação.
  • Um descarte em um ponto posterior desperdiça as transmissões anteriores que transportaram o pacote.
  • O colapso por congestionamento combina intensa atividade da rede com entrega útil muito baixa.
  • O joelho marca o aumento do atraso com pouco ganho de vazão; o precipício marca a queda da vazão.
  • Cada remetente contribui para manter a carga oferecida dentro do que o caminho pode suportar.

1.3 Como os remetentes aprendem quando reduzir a velocidade

Um remetente não vê diretamente todas as filas dos roteadores em seu caminho. O controle de congestionamento é um processo de retorno: observar a entrega, decidir o que as observações significam e ajustar a quantidade ou a taxa do tráfego que entra na rede.

Localize a origem do retorno

No controle fim a fim, as extremidades inferem o congestionamento a partir de perda ou atraso, sem uma mensagem explícita do roteador. O Reno usa perda. O Vegas usa alterações no tempo de ida e volta. O BBR constrói um modelo do caminho a partir de medições da taxa de entrega e do RTT.

No controle assistido pela rede, um roteador fornece retorno explícito. A ECN marca um pacote que segue para o receptor, e este informa a marca em seu reconhecimento. Esquemas ATM mais antigos podiam informar uma taxa permitida explícita. Um roteador também pode enviar uma mensagem diretamente ao remetente, chamada de pacote de contenção. O ICMP Source Quench da internet usava essa abordagem e foi descontinuado em 2012.

Interprete os sinais com cuidado
SinalO que ofereceO que pode induzir o remetente ao erro
PerdaEvidência de que pacotes não chegaramCorrupção em enlaces sem fio pode causar perda sem congestionamento
Aumento do RTTUm aviso antecipado de espera adicionalUma mudança de rota também pode aumentar o RTT
Marcações explícitasUm aviso de congestionamento do roteador sem perda dos dados marcadosO caminho e as extremidades precisam oferecer suporte ao mecanismo

Com filas de descarte na cauda, a perda normalmente ocorre depois que o buffer fica cheio. O gerenciamento ativo de filas pode descartar ou marcar pacotes antes. Isso altera o momento em que um sinal chega, sem mudar a necessidade de resposta do remetente.

O RTT mínimo observado é útil porque aproxima o RTT de um caminho com pouco enfileiramento. Um RTT acima desse mínimo sugere espera, mas uma extremidade precisa interpretar as medições ao longo do tempo. Nem uma única amostra imprecisa nem cada pacote perdido em um enlace sem fio identificam a causa com certeza.

Controle uma janela ou uma taxa

Um remetente baseado em janela limita os dados em trânsito ainda não reconhecidos. À medida que os reconhecimentos retornam, abre-se espaço para novos dados. Um remetente baseado em taxa define uma taxa-alvo e geralmente usa cadenciamento de pacotes, espaçando-os ao longo do tempo. Os controles estão relacionados:

taxa≈janela/RTT.

Por exemplo, 100.000 bytes por 50 ms correspondem a 2.000.000 bytes/s, ou 16 Mbps, quando a janela é o limite ativo. Um controlador baseado em taxa também pode usar uma janela como limite superior para os dados pendentes.

Equilibre vários objetivos

Eficiência significa manter ocupada a capacidade disponível no gargalo. Equidade diz respeito a como os fluxos concorrentes a dividem. Baixo atraso exige filas curtas; estabilidade evita oscilações grandes e repetidas; capacidade de resposta significa adaptar-se quando a capacidade ou a concorrência muda. Uma regra que preenche rapidamente um caminho ainda pode ser ruim para manter o atraso baixo ou compartilhar a capacidade com outros algoritmos.

O controlador do TCP normalmente é executado no sistema operacional. O controlador do QUIC normalmente é executado em uma biblioteca da aplicação. O UDP não fornece controlador, portanto as aplicações que o usam devem fornecer seu próprio controle de congestionamento. O protocolo que transporta os dados não elimina a obrigação de responder ao congestionamento.

Principais conclusões

  • Controladores fim a fim inferem o congestionamento; controladores assistidos pela rede recebem informações explícitas dos roteadores.
  • Perda, atraso e marcações explícitas têm momentos de sinalização e limites de interpretação diferentes.
  • O controle por janela limita os dados em trânsito; o cadenciamento espaça os pacotes a uma taxa escolhida.
  • Eficiência, equidade, atraso, estabilidade e capacidade de resposta devem ser avaliados em conjunto.
2

Como o TCP aumenta e recupera sua janela

O TCP controla a quantidade de dados ainda não reconhecidos que deixa na rede. Os ACKs permitem que essa quantidade cresça; a perda faz com que diminua. Acompanhe a janela em segmentos para ver claramente as regras de crescimento e depois converta para bytes e segundos para estimar uma taxa. Distinguir a expiração de um tempo limite da recuperação por ACKs duplicados explica as diferentes quedas em um acompanhamento da janela e revela por que o TCP clássico tem dificuldade para se recuperar em caminhos rápidos com tempos de ida e volta longos.

2.1 A janela, a ida e volta e o caminho

A janela de congestionamento, cwnd, é um limite definido pelo remetente para os dados em trânsito ainda não reconhecidos. Ela é medida em bytes, embora os acompanhamentos frequentemente contem segmentos de tamanho máximo. Ela não é um campo do cabeçalho TCP. O receptor anuncia um limite diferente, a janela de recepção, rwnd.

Aplique os dois limites

As novas transmissões devem respeitar tanto o controle de fluxo quanto o controle de congestionamento. O limite utilizável é:

min⁡(cwnd,rwnd).

Se cwnd for de 30.000 bytes e rwnd de 18.000 bytes, prevalece o limite do receptor. Com 12.000 bytes ainda pendentes, o remetente pode enviar mais 6.000 bytes. Após uma redução da janela de congestionamento, os dados existentes podem ultrapassar o novo limite; o remetente espera pelos reconhecimentos antes de acrescentar mais dados.

O tamanho máximo de segmento, MSS, conta os dados de aplicação, excluindo os cabeçalhos. Uma MTU Ethernet de 1.500 bytes menos cabeçalhos IPv4 de 20 bytes e TCP de 20 bytes deixa 1.460 bytes, sem opções. As normas usam SMSS para o MSS do remetente.

Transforme uma janela em taxa

Um remetente limitado pela janela entrega aproximadamente uma janela por RTT. Para cwnd de 65.536 bytes e RTT de 50 ms:

65.536/0,05=1.310.720 bytes/s.

Multiplique por 8 para obter cerca de 10,5 Mbps. Essa estimativa também exige dados de aplicação suficientes, uma janela de recepção pelo menos tão grande e um caminho capaz de transportar a taxa resultante.

Preencha o caminho sem encher sua fila

O produto largura de banda-atraso, BDP, é a largura de banda do gargalo multiplicada pelo RTT mínimo, sem filas. Para 100 Mbps e 40 ms:

100.000.000×0,04=4.000.000 bits.

Dividir por 8 resulta em 500.000 bytes, cerca de 342 segmentos de 1.460 bytes. Um BDP em trânsito mantém esse gargalo idealizado ocupado sem uma fila persistente. Menos dados deixam capacidade ociosa; dados em excesso esperam e aumentam o RTT medido. Calcular o BDP a partir de um RTT já elevado confunde dados enfileirados com dados de que o caminho precisa.

A sincronização por ACKs ajuda a manter o ritmo. À medida que os pacotes saem do gargalo, os ACKs retornam e liberam espaço para substitutos. Em regime estável, as saídas ajudam, portanto, a determinar o momento das novas chegadas. Essa é a ideia de conservação de pacotes por trás do comportamento de autossincronização do TCP.

Defina o ponto inicial e o limiar

A janela inicial da RFC 5681 varia de dois a quatro segmentos conforme o SMSS: quatro até 1.095 bytes, três até 2.190 bytes e dois acima disso. A RFC 6928 permite uma janela inicial de até dez segmentos. Um acompanhamento que começa em um segmento é útil para ensinar, mas não afirma que todas as novas conexões começam nesse ponto.

O ssthresh, limiar de partida lenta, seleciona o modo de crescimento. Abaixo dele, o TCP usa partida lenta; acima dele, prevenção de congestionamento. Quando são iguais, a RFC 5681 permite qualquer um dos dois. Um limiar inicial alto permite que um novo remetente descubra a capacidade por meio da partida lenta.

Principais conclusões

  • cwnd é um estado privado do remetente; rwnd é anunciada pelo receptor.
  • Novos dados devem respeitar as duas janelas após considerar os bytes já em trânsito.
  • MSS conta os dados de aplicação, excluindo os cabeçalhos IP e TCP.
  • Uma taxa limitada pela janela é aproximadamente a janela utilizável dividida pelo RTT.
  • O BDP usa o RTT sem filas; dados em trânsito em excesso formam uma fila.
  • A sincronização por ACKs vincula novas transmissões à entrega pelo gargalo.
  • A janela inicial e ssthresh determinam como um acompanhamento começa e cresce.

2.2 Crescimento exponencial e depois um segmento por ida e volta

O TCP primeiro precisa descobrir quanto tráfego o caminho consegue transportar. A partida lenta expande rapidamente a janela a partir de um ponto inicial pequeno. A prevenção de congestionamento então sonda com mais cautela quando o limiar de partida lenta é atingido.

Conte os reconhecimentos na partida lenta

A RFC 5681 aumenta cwnd em até um SMSS para cada reconhecimento de dados novos:

Δcwnd=min⁡(N,SMSS),

em que N é a quantidade de bytes recém-reconhecidos. Com um ACK por segmento completo e dados suficientes para preencher cada janela, cada segmento enviado abre espaço para dois na rodada seguinte: um substituto e um devido ao aumento da janela.

Começando em 1 MSS, os valores a cada rodada são 1, 2, 4, 8, 16, 32 e 64 MSS. São necessários seis RTTs para atingir 64 MSS. A 100 ms por RTT, isso representa 0,6 s. O nome reflete um início mais seguro do que enviar imediatamente uma janela de recepção inteira; o crescimento em si é exponencial.

Os ACKs atrasados alteram a contagem. Se o receptor enviar um ACK para cada dois segmentos completos, a regra simples por ACK resulta em um crescimento de aproximadamente 1,5 vez por RTT. A contagem apropriada de bytes, descrita na RFC 3465, usa os bytes recém-reconhecidos para lidar com a dependência da frequência dos ACKs.

Alterne os modos de crescimento

Para um acompanhamento com cwnd inicial de 1 MSS e ssthresh de 8 MSS, escolha a prevenção de congestionamento quando forem iguais. O acompanhamento fica:

1, 2, 4, 8, 9, 10, 11, 12 MSS.

As três primeiras alterações dobram a janela. As alterações posteriores acrescentam um MSS por RTT. Uma perda pode interromper qualquer uma das fases. Implementações que usam HyStart++ (RFC 9406) também podem deixar a partida lenta antecipadamente quando o atraso aumenta.

Explique o aumento aditivo

Uma regra comum por ACK durante a prevenção de congestionamento é:

Δcwnd=SMSS2/cwnd.

Em 10 MSS, um ACK acrescenta cerca de 0,1 MSS. Cerca de dez ACKs chegam durante a rodada, portanto o aumento total é de aproximadamente um MSS. O incremento por ACK fica menor à medida que cwnd cresce, mantendo o aumento por rodada aproximadamente constante.

Essa diferença importa em um caminho de grande capacidade. Passar de 16 para 32 MSS leva um RTT na partida lenta ideal, mas dezesseis RTTs na prevenção de congestionamento. O crescimento mais lento reduz o excesso repentino depois que o remetente obtém uma estimativa útil da capacidade.

Reconheça uma reinicialização

A partida lenta não se limita ao início de uma conexão. A expiração do tempo limite de retransmissão redefine cwnd para um segmento. Um período ocioso maior que o tempo limite de retransmissão também exige uma reinicialização com no máximo a janela inicial, pois a sincronização por ACKs e a estimativa de capacidade anteriores podem não ser mais adequadas ao caminho.

A prevenção de congestionamento não mantém cwnd em um valor seguro fixo. Ela continua acrescentando capacidade até chegar um sinal de congestionamento. Em um caminho com descarte na cauda, essa sondagem contínua tende a formar uma fila persistente antes que a perda sinalize ao remetente que reduza sua taxa.

Principais conclusões

  • Com um ACK por segmento, a partida lenta ideal dobra cwnd a cada RTT.
  • ACKs atrasados tornam mais lenta a regra simples de crescimento por ACK.
  • A prevenção de congestionamento acrescenta cerca de um MSS por RTT, não por ACK.
  • ssthresh separa os modos de crescimento; um acompanhamento deve escolher uma convenção para quando os valores forem iguais.
  • Expirações de tempos limite e longos períodos ociosos podem exigir uma nova partida lenta.

2.3 Perdas diferentes produzem acompanhamentos de recuperação diferentes

O TCP pode inferir a ausência de um segmento a partir de um temporizador ou de ACKs duplicados. A distinção importa: a expiração de um tempo limite oferece menos evidências de que a rede ainda está entregando tráfego do que três ACKs duplicados.

Defina o novo limiar

O Reno usa a quantidade realmente pendente, FlightSize, para definir:

ssthresh=max⁡(FlightSize/2, 2×SMSS).

FlightSize frequentemente fica próximo de cwnd durante uma transferência totalmente ativa, mas os dois não precisam ser iguais quando a aplicação envia poucos dados. O limite inferior impede que o limiar fique abaixo de dois segmentos.

Após a expiração de um tempo limite, o remetente retransmite, define cwnd como um SMSS e reinicia a partida lenta. Expirações repetidas para os mesmos dados dobram o temporizador de retransmissão. Esse recuo exponencial impede que uma falha persistente produza uma sequência igualmente persistente de novas tentativas.

Recupere-se antes de o temporizador expirar

Três ACKs duplicados mostram que três segmentos posteriores chegaram depois de uma lacuna. Eles não significam que três segmentos foram perdidos. Um ou dois ACKs duplicados podem resultar de uma mudança de ordem, portanto o TCP espera o terceiro antes de a retransmissão rápida enviar o segmento faltante.

O Reno então entra em recuperação rápida. Suponha que FlightSize seja 12 MSS. O novo limiar é 6 MSS, e o Reno define temporariamente:

cwnd=6+3=9 MSS.

Os três segmentos adicionais correspondem aos pacotes que comprovadamente saíram da rede. Cada ACK duplicado adicional infla cwnd em um MSS, permitindo que o envio continue quando a janela possibilita. Quando um ACK avança o reconhecimento cumulativo, o Reno reduz cwnd para 6 MSS e retoma a prevenção de congestionamento.

Evento com 12 MSS pendentesTahoeReno
Expiração do tempo limitecwnd passa a 1 MSScwnd passa a 1 MSS
Terceiro ACK duplicadoRetransmite e reinicia em 1 MSSRetransmite e entra em recuperação em 9 MSS
Recuperação bem-sucedidaCresce por partida lentaReduz para 6 MSS e depois cresce de forma aditiva

Com janela inicial de 1 MSS e ssthresh de 8 MSS, cwnd cresce 1, 2, 4, 8, 9, 10, 11, 12 MSS antes da perda. O Reno acaba continuando em 6, 7, 8, 9. O Tahoe reinicia em 1, 2, 4, atinge o novo limiar de 6 e depois continua 7, 8.

Repare várias lacunas em uma janela

O Reno clássico sai da recuperação no primeiro ACK de dados novos. Se esse ACK abrange apenas parte dos dados originalmente em trânsito, outra lacuna permanece. O Reno pode reduzir novamente ou ter um tempo limite expirado.

O NewReno (RFC 6582) permanece em recuperação diante desse ACK parcial e retransmite o próximo segmento faltante. Ele sai quando todos os dados pendentes na entrada em recuperação são reconhecidos. O SACK informa explicitamente os blocos recebidos; a recuperação baseada em SACK pode identificar e reparar várias lacunas em uma ida e volta.

Um episódio de congestionamento normalmente deve causar uma redução, mesmo que vários pacotes sejam perdidos. O NewReno e a recuperação baseada em SACK lidam com isso de forma mais confiável que o Reno clássico. O CUBIC usa um fator de redução diferente para sinais comuns de congestionamento, mantendo 70%, mas também reinicia com um segmento após a expiração de um tempo limite.

Principais conclusões

  • O Reno define ssthresh a partir de FlightSize, com um mínimo de dois SMSS.
  • A expiração de um tempo limite redefine cwnd para um SMSS, e expirações repetidas aumentam o temporizador por recuo.
  • Três ACKs duplicados acionam a retransmissão rápida; eles indicam chegadas posteriores a uma lacuna.
  • O Reno infla cwnd durante a recuperação rápida e a reduz para ssthresh ao sair.
  • O NewReno permanece em recuperação diante de ACKs parciais para reparar várias perdas.
  • O SACK informa os blocos recebidos para que o remetente possa localizar mais de uma lacuna.
  • O Tahoe reinicia a partida lenta após uma perda indicada por ACKs duplicados; o Reno normalmente continua com crescimento aditivo após a recuperação.
  • As reduções da janela de congestionamento correspondem a episódios de congestionamento, e não a cada pacote perdido individualmente.

2.4 Estime a taxa de uma transferência de longa duração

O Reno clássico aumenta repetidamente sua janela e a reduz após um congestionamento. O dente de serra resultante fornece uma estimativa útil de regime estável quando o RTT é aproximadamente constante, a retransmissão rápida detecta as perdas e não há expirações de tempos limite nem partida lenta.

Calcule a média da janela

Seja o pico da janela igual a W segmentos. Uma redução pela metade produz uma faixa de W/2 a W, cuja média é 0,75 W. Multiplique pelo MSS para obter bytes por ida e volta e depois divida pelo RTT:

taxa meˊdia≈0,75 W MSS/RTT.

Para W de 24 segmentos, MSS de 1.460 bytes e RTT de 80 ms, a taxa máxima é 3,504 Mbps. A média é de cerca de 2,63 Mbps. Lembre-se de que uma janela em segmentos precisa de um fator de tamanho de segmento; uma janela já expressa em bytes não precisa.

Relacione vazão e perda

A aproximação de Mathis expressa o mesmo comportamento semelhante ao do Reno usando a fração de perda L:

T≈1,22 MSSRTTL.

Se MSS estiver em bytes e RTT em segundos, T estará em bytes/s. Com MSS de 1.460 bytes, RTT de 0,1 s e fração de perda de 0,0001, o denominador é 0,001 s. O resultado é 1.781.200 bytes/s, cerca de 14,25 Mbps após a multiplicação por 8.

Com fração de perda fixa, dobrar o RTT reduz a vazão pela metade. Com RTT fixo, dobrar a vazão exige que a perda caia para um quarto, pois o denominador contém a raiz quadrada da perda. Uma fração de perda de 0,0001 significa 0,01%, não 0,0001%.

Entenda o problema em alta velocidade

Um caminho de 10 Gbps com RTT sem filas de 100 ms precisa de 1 bilhão de bits, ou 125.000.000 de bytes, em trânsito para ficar ocupado. Usando segmentos de 1.500 bytes, isso corresponde a cerca de 83.333 segmentos. Reduzir essa janela pela metade deixa cerca de 41.667 segmentos a recuperar. O Reno acrescenta um por RTT, portanto recuperá-los leva cerca de 4.167 s, quase 70 minutos.

Esse valor de 83.333 segmentos é a janela necessária para enviar a 10 Gbps em um instante. Um dente de serra do Reno com média de 10 Gbps precisaria de um pico maior, pois sua janela média é apenas três quartos do pico. A fórmula da taxa de perda estima que sustentar uma média de 10 Gbps com esse MSS e RTT exige uma perda de cerca de um segmento em 4,7 bilhões.

Verifique outros limites

Um controlador não pode entregar dados mais rápido que o gargalo, e uma janela de recepção pequena pode limitar o envio antes de cwnd. Use o menor limite aplicável. Expirações de tempos limite reduzem a taxa abaixo do modelo simples, e um objeto pequeno pode terminar inteiramente na partida lenta. Seu tempo de conclusão depende muito das rodadas iniciais e da janela inicial, portanto a fórmula para longa duração descreve mal essa transferência.

Um enlace de acesso mais rápido, portanto, só ajuda quando elimina um limite ativo. RTT longo, perda ou uma janela pequena podem deixar uma única conexão muito abaixo da capacidade do enlace ampliado.

Principais conclusões

  • Um dente de serra do Reno de W/2 a W tem janela média de cerca de 0,75 W.
  • O modelo de Mathis fornece uma vazão proporcional a 1/RTT e 1/√L.
  • Mantenha segmentos, bytes, bits e segundos consistentes ao calcular taxas.
  • Caminhos com BDP grande tornam lenta a recuperação do Reno porque o crescimento é de apenas um segmento por RTT.
  • A capacidade do gargalo e a janela de recepção continuam sendo limites superiores independentes.
  • Transferências curtas e conexões com muitas expirações de tempos limite exigem mais que um modelo de regime estável.
3

Como os fluxos dividem um enlace compartilhado

Manter um enlace ocupado e compartilhá-lo com equidade são objetivos separados. Dois fluxos podem usar toda a capacidade enquanto um deles toma quase tudo. Acompanhe como aumentos aditivos iguais e reduções proporcionais alteram suas taxas e depois examine o que acontece quando suas condições diferem. Medidas de equidade ajudam a descrever o resultado, mas interpretá-las também exige saber quem os fluxos representam e quanto tráfego cada um precisa enviar.

3.1 Por que o AIMD leva os fluxos a parcelas iguais

Se K fluxos ativos querem mais capacidade do que um gargalo pode fornecer, uma parcela igual por fluxo é R/K, em que R é a taxa disponível. A eficiência diz respeito a se a soma das taxas é R. A equidade diz respeito a quão igualmente eles a dividem.

Coloque duas taxas em um diagrama

Em um diagrama de Chiu–Jain, as coordenadas horizontal e vertical são as taxas dos dois fluxos. A reta de eficiência é:

x1+x2=R.

A reta de equidade é a diagonal em que as taxas são iguais. Sua interseção é a alocação justa que usa toda a capacidade. Em um enlace de 10 Mbps, ela é de 5 Mbps por fluxo. Pontos abaixo da reta de eficiência deixam capacidade sem uso; pontos acima dela oferecem mais tráfego do que o enlace consegue transportar.

Separe as duas atualizações

O aumento aditivo acrescenta a mesma quantidade a cada taxa. Começando em 8 e 1 Mbps, acrescentar 0,5 Mbps a cada uma resulta em 8,5 e 1,5 Mbps. A diferença permanece em 7 Mbps, mas o fluxo menor ganha mais em relação à sua taxa inicial. No diagrama, o ponto se move paralelamente à diagonal de igualdade.

A redução multiplicativa multiplica as duas taxas pelo mesmo fator. Reduzir 9 e 2 Mbps pela metade produz 4,5 e 1 Mbps. A razão entre elas não muda, enquanto a diferença absoluta cai de 7 para 3,5 Mbps. O ponto se move em direção à origem e elimina rapidamente a sobrecarga.

Essas são duas formas diferentes de melhoria: a adição igual melhora o equilíbrio relativo; a redução proporcional diminui a diferença absoluta. Repetir as duas impede que a diferença volte a crescer enquanto a capacidade é sondada novamente.

Acompanhe vários ciclos

Comece em 8 e 1 Mbps no enlace de 10 Mbps. Acrescente 0,5 Mbps por fluxo a cada etapa e reduza somente depois que o total ultrapassar a capacidade. Após dois aumentos, as taxas são 9 e 2, totalizando 11. A redução pela metade resulta em 4,5 e 1.

Mais cinco aumentos levam a 7 e 3,5, totalizando 10,5. A redução pela metade resulta em 3,5 e 1,75. As diferenças foram 7, 3,5 e 1,75 Mbps. Outra redução sincronizada pela metade faz a próxima diferença ser 0,875 Mbps. Os fluxos se aproximam de parcelas iguais enquanto seu total continua oscilando em torno da capacidade disponível.

Compare outras regras de atualização
RegraO que acontece com taxas desiguais
Aumento aditivo, redução aditivaAdições e subtrações iguais preservam a diferença absoluta
Aumento multiplicativo, redução multiplicativaAlterações proporcionais iguais preservam a razão entre as taxas
Aumento multiplicativo, redução aditivaO crescimento favorece o fluxo maior e o equilíbrio pode piorar
Aumento aditivo, redução multiplicativaCiclos repetidos se aproximam de parcelas iguais e uso eficiente

Essa convergência pressupõe RTTs iguais, sinais de congestionamento sincronizados, respostas iguais e fluxos que permaneçam ativos por tempo suficiente. O incremento aditivo do Reno é de cerca de um MSS por RTT e seu fator de redução é um meio. Outros incrementos aditivos positivos e fatores de redução entre zero e um produzem o mesmo argumento básico de convergência. Fluxos reais não precisam cumprir todos esses pressupostos, portanto um par desigual em um instante não demonstra, por si só, uma falha do AIMD.

Principais conclusões

  • A eficiência diz respeito à soma das taxas; a equidade diz respeito à sua divisão.
  • Aumentos aditivos iguais preservam a diferença absoluta enquanto melhoram o equilíbrio relativo.
  • Reduções multiplicativas iguais preservam a razão enquanto diminuem a diferença absoluta.
  • Ciclos AIMD repetidos convergem quando RTTs, sinais e respostas são iguais.
  • A equidade descreve o compartilhamento no longo prazo enquanto as taxas continuam oscilando.

3.2 Meça o compartilhamento e explique resultados desiguais

Parcelas iguais são uma referência útil, mas os fluxos reais podem diferir em demanda, RTT, número de conexões e controlador de congestionamento. Uma afirmação sobre equidade precisa responder claramente: “equidade entre quais fluxos?”

Calcule o índice de Jain

Para taxas de fluxo não negativas com total diferente de zero, o índice de Jain é:

J=(∑xi)2n∑xi2.

Taxas de 8 e 2 Mbps resultam em uma soma de 10 e uma soma dos quadrados de 68, portanto o índice é de cerca de 0,735. Taxas iguais resultam em 1. Se um de n fluxos receber tudo, o índice será 1/n.

O índice mede igualdade, não utilização. Dois fluxos de 1 Mbps cada e dois de 5 Mbps cada têm índice 1, embora usem quantidades diferentes de um enlace de 10 Mbps. Verifique a taxa total separadamente.

Considere a demanda limitada

A equidade máx-min dá aos fluxos de baixa demanda o que eles precisam e depois divide a capacidade restante entre os fluxos que ainda buscam mais. Em um enlace de 12 Mbps, três fluxos desejam 2, 8 e 10 Mbps. A parcela igual inicial é 4 Mbps. O primeiro precisa de apenas 2, restando 10 Mbps para os outros dois. A alocação é, portanto, de 2, 5 e 5 Mbps.

Aumentar uma das taxas maiores exigiria reduzir um fluxo que já tem uma taxa igual ou menor. Essa propriedade define a equidade máx-min. Sua alocação desigual pode ser adequada mesmo que a medida de igualdade de Jain fique abaixo de 1.

Identifique vantagens entre os fluxos

O Reno cresce uma vez por RTT. Com a mesma fração de perda, sua vazão aproximada é inversamente proporcional ao RTT: um fluxo de 20 ms pode atingir cerca de quatro vezes a taxa de um fluxo de 80 ms. O acesso igual ao gargalo não elimina essa vantagem de tempo.

O compartilhamento também é por conexão. Com nove conexões existentes, uma aplicação que acrescenta uma pode receber cerca de um décimo do enlace. Se, em vez disso, acrescentar onze conexões comparáveis, sua parcela passa a onze vinte avos, ou 55%. HTTP/2 e HTTP/3 multiplexam muitas requisições em uma conexão, enquanto clientes HTTP/1.1 frequentemente abrem várias conexões.

Uma aplicação UDP de taxa fixa pode continuar enviando enquanto os fluxos TCP reduzem suas taxas. O próprio UDP não fornece um controlador; a RFC 8085 solicita que as aplicações acrescentem controle de congestionamento adequado. Um fluxo amigável ao TCP não usa mais largura de banda do que tráfego TCP comparável nas mesmas condições. O TFRC usa a equação de vazão do TCP para permitir uma taxa mais estável.

Considere a fila e o algoritmo

Uma fila FIFO não impõe parcelas iguais aos fluxos. Seu resultado depende do comportamento dos remetentes. O enfileiramento justo, incluindo o escalonamento por fluxo do FQ-CoDel, dá aos fluxos filas e oportunidades de atendimento separadas.

O crescimento do CUBIC e o do Reno diferem em caminhos com BDP grande. O compartilhamento entre BBR e CUBIC também depende da versão e da capacidade do buffer; as primeiras versões do BBR podiam ser agressivas com buffers pequenos. Nenhum cálculo isolado de igualdade estabelece que controladores diferentes coexistirão de modo equilibrado em todos os caminhos.

Principais conclusões

  • O índice de Jain mede igualdade; verifique a utilização separadamente.
  • A equidade máx-min atende às pequenas demandas antes de dividir a capacidade restante.
  • RTTs menores e mais conexões paralelas podem aumentar a parcela de um remetente.
  • Aplicações UDP precisam de controle de congestionamento próprio; o tráfego amigável ao TCP limita o uso de largura de banda ao de tráfego TCP comparável.
  • Filas FIFO deixam o compartilhamento a cargo dos remetentes, enquanto o enfileiramento justo oferece atendimento por fluxo.
  • As versões dos algoritmos e a capacidade do buffer podem alterar a coexistência entre fluxos.
4

Como os roteadores avisam sobre congestionamento mais cedo

Um buffer grande pode ocultar a perda de pacotes enquanto torna uma conexão interativa extremamente lenta. Os roteadores podem reduzir essa espera reagindo a uma fila persistente antes que ela transborde. Acompanhe a diferença entre a detecção baseada no tamanho da fila e a baseada em atraso e depois siga uma marca ECN de um roteador até o remetente. A mesma ideia de marcação permite respostas diferentes dos remetentes no TCP clássico, em centros de dados controlados e em projetos de internet de baixa latência.

4.1 Mantenha buffers úteis sem uma fila persistente

Uma fila com descarte na cauda aceita pacotes até seu buffer ficar cheio e então descarta os novos pacotes que chegam. Remetentes baseados em perda continuam aumentando o envio até receberem um sinal de congestionamento. Com um buffer grande de descarte na cauda, esse sinal só pode chegar depois que uma fila longa se formou.

Calcule o atraso oculto em um buffer

Um buffer de 2.000.000 de bytes diante de um enlace de subida de 20 Mbps comporta 16 milhões de bits. Se estiver cheio, um pacote atrás desses dados espera:

16.000.000/20.000.000=0,8 s.

Um envio de dados pode, portanto, manter a vazão alta enquanto acrescenta quase um segundo a uma chamada que compartilha o enlace de subida. Atraso excessivo por acúmulo em buffers significa atraso excessivo persistente causado por buffers grandes e pelo comportamento do tráfego que os mantém ocupados.

O armazenamento em buffer ainda tem uma finalidade: rajadas curtas precisam de um lugar para esperar. No modelo simples de um único fluxo Reno, cerca de um BDP de buffer pode manter o enlace ocupado imediatamente após uma redução da janela pela metade. Tornar o buffer muito maior aumenta a espera sem aumentar a taxa de transmissão do enlace.

Sinalize congestionamento antes do transbordamento

O gerenciamento ativo de filas, AQM, descarta ou marca pacotes antecipadamente para sinalizar que os remetentes devem reduzir sua carga. Um transbordamento físico deixa de ser a única maneira de anunciar congestionamento. A RFC 7567 recomenda a ampla adoção de AQM.

A detecção antecipada aleatória, RED, observa uma média móvel do tamanho da fila. Abaixo de um limiar mínimo, não sinaliza. Entre dois limiares, descarta ou marca com uma probabilidade crescente. Acima do limiar máximo, sinaliza em cada chegada. O cálculo da média impede que uma única rajada curta pareça uma sobrecarga persistente, mas é difícil escolher limiares que funcionem em diferentes velocidades e cargas.

Meça o tempo de espera diretamente

O CoDel, atraso controlado, mede o tempo de permanência de um pacote: seu tempo dentro da fila. Sua meta padrão é 5 ms e seu intervalo é 100 ms. Se até mesmo o tempo mínimo de permanência observado permanecer acima da meta por um intervalo, existe uma fila persistente. O CoDel então descarta ou marca pacotes com ECN, aumentando a frequência de sinalização enquanto o atraso excessivo persiste.

O mínimo em um intervalo importa. Uma rajada pode produzir um atraso alto por pouco tempo e depois esvaziar rapidamente; uma fila cujo atraso nunca fica pequeno precisa de intervenção. A medição de atraso do CoDel permite que seus valores padrão funcionem em uma ampla faixa de taxas de enlace.

MecanismoO que observaQuando sinaliza
Descarte na caudaSe o buffer está cheioNo transbordamento
REDTamanho médio da filaDe forma probabilística à medida que os limiares são ultrapassados
CoDelTempo persistente de espera dos pacotesQuando o atraso permanece acima da meta

O FQ-CoDel combina filas separadas por fluxo com CoDel. A separação dos fluxos ajuda a evitar que uma grande transferência coloque todos os pequenos pacotes interativos atrás de seu acúmulo de dados.

Sinais antecipados também podem reduzir a sincronização global, em que muitos fluxos perdem pacotes juntos, reduzem suas taxas pela metade juntos e deixam o enlace temporariamente subutilizado. Sinais antecipados aleatórios distribuem as reações ao longo do tempo. Com tráfego que oferece suporte a ECN, um AQM pode enviar seu aviso por meio de uma marca e ainda entregar o pacote.

Principais conclusões

  • O atraso excessivo por acúmulo em buffers é um atraso de fila persistente, mesmo quando a vazão permanece alta.
  • O tempo de fila é a quantidade de bits enfileirados dividida pela taxa de saída.
  • O AQM sinaliza congestionamento antes do transbordamento físico do buffer.
  • O RED acompanha o tamanho médio da fila; o CoDel acompanha o tempo de espera persistente.
  • O FQ-CoDel combina filas por fluxo com o controle de atraso do CoDel.
  • Sinais antecipados e distribuídos reduzem perdas e reduções de janela sincronizadas.

4.2 Acompanhe um aviso ECN de volta ao remetente

A notificação explícita de congestionamento, ECN, permite que um roteador entregue um pacote e avise que o congestionamento está aumentando. A marca altera o comportamento do remetente sem criar dados faltantes que precisem ser retransmitidos.

Leia o ponto de código IP

O campo ECN tem dois bits no byte de tipo de serviço do IPv4 ou na classe de tráfego do IPv6.

BitsSignificado
00Not-ECT: o transporte não declarou suporte a ECN
10ECT(0): transporte com suporte a ECN
01ECT(1): transporte com suporte a ECN; também é o identificador L4S
11CE: congestionamento detectado

Na negociação TCP clássica da RFC 3168, o SYN do cliente ativa ECE e CWR. O SYN-ACK de um servidor que aceita a negociação ativa ECE. Após a negociação, o TCP clássico marca os pacotes de dados como ECT(0).

Acompanhe o ciclo de retorno

Um AQM que descartaria um pacote com suporte a ECN como aviso de congestionamento pode alterar seu ponto de código para CE e encaminhá-lo. Um pacote Not-ECT não pode transportar esse aviso e é descartado quando o AQM precisa sinalizar. Um buffer completamente cheio continua descartando pacotes, inclusive os que oferecem suporte a ECN.

O receptor ecoa CE ativando ECE, eco de ECN, em seus ACKs. Ele continua até receber CWR, janela de congestionamento reduzida, do remetente. Esses indicadores informam e confirmam o retorno; sua presença não significa que dados foram perdidos.

Para a ECN clássica do tipo Reno, comece com cwnd de 20 MSS. Depois que ECE chega, o remetente reduz cwnd para 10 MSS e coloca CWR em seu próximo segmento de dados novos. O receptor para de ecoar quando CWR chega. Ecos repetidos da mesma janela não exigem reduções repetidas pela metade. O aviso retorna pelo caminho dos reconhecimentos, portanto a resposta está sujeita ao atraso do retorno.

A ECN especifica o sinal; o algoritmo de congestionamento fornece a regra de redução. O Reno reduz pela metade, enquanto o CUBIC normalmente mantém 70% em um evento ECN. As duas extremidades e um gargalo que faz marcações precisam oferecer suporte a ECN para que esse ciclo funcione.

Use a fração de marcações

O DCTCP, TCP para centros de dados, usa marcações frequentes em um ambiente controlado. Ele estima a fração de bytes marcados com um valor suavizado alfa:

α←(1−g)α+gM,

em que M é a fração marcada recentemente. Algumas implementações usam g igual a 1/16. Ele reduz a janela usando:

cwnd←cwnd(1−α/2).

Com alfa igual a 0,2, uma janela de 100 passa a 90; com alfa igual a 1, ela cai pela metade. O DCTCP precisa de marcação e retorno compatíveis. Misturá-lo com TCP clássico em uma fila comum pode produzir parcelas injustas.

O L4S, arquitetura experimental das RFCs 9330–9332, leva uma resposta escalável semelhante aos caminhos da internet. ECT(1) identifica o tráfego escalável, e um AQM acoplado de duas filas o separa do tráfego clássico enquanto coordena o tratamento dos dois. Marcações frequentes com filas curtas buscam um atraso de fila em torno de um milissegundo. ECT(1) por si só não garante esse atraso: o controlador e o comportamento do gargalo completam o projeto.

Principais conclusões

  • CE marca um pacote entregue; tráfego com suporte a ECN ainda pode ser descartado no transbordamento.
  • O TCP clássico negocia ECN, ecoa CE por meio de ECE e confirma sua resposta com CWR.
  • O controlador escolhe quanto reduzir; a ECN fornece o sinal de congestionamento.
  • O DCTCP usa a fração marcada para dimensionar sua redução em ambientes controlados.
  • O L4S combina ECT(1), controle de congestionamento escalável e gerenciamento acoplado de filas.
5

Como CUBIC e BBR se adaptam a caminhos modernos

Um caminho com produto largura de banda-atraso grande precisa de uma grande quantidade de dados em trânsito. O Reno pode demorar demais para recuperar essa janela após uma redução. O CUBIC altera a forma como a janela cresce ao longo do tempo, enquanto o BBR estima a taxa de entrega e o RTT sem filas do caminho. Compare o que cada algoritmo mede, como sonda a capacidade e o que seu comportamento significa para o atraso e o compartilhamento com outro tráfego.

5.1 Use o tempo para aumentar a janela do CUBIC

O CUBIC trata do crescimento lento do Reno em caminhos rápidos e de longa distância. Sua janela segue o tempo decorrido desde uma redução por congestionamento, dando-lhe uma resposta diferente de um aumento fixo de um segmento a cada RTT. A RFC 9438 especifica o CUBIC; ele é o padrão nas principais pilhas TCP do Linux, Windows e Apple.

Registre o último ponto de congestionamento

Em uma perda comum ou em um evento de congestionamento por ECN, o CUBIC registra sua janela como Wmax. Com uma janela totalmente utilizada, seu fator de redução de 0,7 mantém 70% da quantidade de dados em trânsito. O Reno manteria a metade. A expiração de um tempo limite de retransmissão é diferente: o CUBIC segue o Reno de volta a uma janela de um segmento e à partida lenta, enquanto define seu limiar com o fator de redução do CUBIC.

Para o período cúbico básico após uma redução, a janela-alvo em segmentos é:

W(t)=C(t−K)3+Wmax⁡,C=0,4.

O tempo t está em segundos. Quando a janela reduzida é 0,7 Wmax, o tempo de retorno ao pico anterior é:

K=Wmax⁡(1−0,7)/0,43.
Acompanhe a curva

Com Wmax de 100 segmentos, a janela reduzida é 70. O valor dentro da raiz cúbica é 75, portanto K é cerca de 4,22 s. Em um segundo, a curva está em cerca de 86,7 segmentos; em dois segundos, em 95,6; em três segundos, em 99,3. Ela atinge 100 em K.

Abaixo do pico anterior, o crescimento é inicialmente rápido e depois desacelera. Essa região côncava aproxima-se com cautela de um ponto em que já ocorreu congestionamento. Perto do pico há um patamar relativamente plano. Acima dele, a região convexa acelera para sondar a capacidade que pode estar disponível agora. Aos sete segundos, a curva do exemplo atinge cerca de 108,6 segmentos.

Explique a vantagem em relação ao RTT e seu limite

O Reno precisa de 50 RTTs para voltar de 50 a 100 segmentos: 5 s com RTT de 100 ms e 10 s com RTT de 200 ms. O tempo de retorno da curva cúbica depende do pico registrado e do tempo decorrido, portanto seu retorno em 4,22 s não depende diretamente da contagem de ACKs.

O CUBIC também calcula uma estimativa amigável ao Reno. Ele usa um aumento AIMD equivalente de cerca de 0,53 segmentos por RTT com fator de redução de 0,7, adotando essa estimativa quando ela supera o alvo cúbico. Caminhos com RTT curto podem, portanto, recuperar-se antes do tempo de retorno puramente cúbico. O crescimento baseado no tempo reduz uma fonte importante de favorecimento por RTT; ele não torna toda alocação real independente do RTT.

Ajuste o pico registrado

Se o congestionamento voltar a ocorrer abaixo do pico anterior, a convergência rápida do CUBIC reduz o Wmax registrado. Um novo evento em 90 segmentos após um pico anterior de 100 resulta em:

Wmax⁡=90(1+0,7)/2=76,5.

A janela imediatamente reduzida é de 63 segmentos. O pico registrado e a nova janela atual têm funções diferentes: um molda o crescimento futuro, enquanto a outra limita o envio atual.

O CUBIC continua baseado em perda, com ECN como sinal alternativo. Ele pode formar uma fila persistente em um caminho com descarte na cauda. A recuperação mais rápida e uma redução comum mais moderada melhoram o uso de caminhos com BDP grande, mas nenhuma das duas garante, por si só, baixo atraso de fila.

Principais conclusões

  • O CUBIC normalmente mantém 70% após uma perda ou um evento ECN, mas reinicia com um segmento após a expiração de um tempo limite.
  • O alvo cúbico depende dos segundos decorridos e da janela de congestionamento registrada.
  • O crescimento desacelera perto do pico anterior e depois acelera acima dele.
  • A estimativa amigável ao Reno pode superar a curva cúbica, especialmente com RTTs curtos.
  • A convergência rápida reduz o pico registrado quando o congestionamento volta a ocorrer abaixo dele.
  • O CUBIC continua sendo um controlador baseado em perda e pode formar filas persistentes.

5.2 Estime o caminho com medições de atraso e entrega

A perda não é o único sinal de um caminho congestionado. O atraso pode revelar dados enfileirados, enquanto as medições de entrega podem estimar a largura de banda que o caminho fornece. Vegas e BBR usam essas observações de maneiras diferentes.

Estime os dados enfileirados do Vegas

O Vegas compara uma taxa esperada baseada no RTT mínimo, o RTT de referência, com a taxa real baseada no RTT medido. A diferença entre elas, multiplicada pelo RTT de referência, estima os dados enfileirados do fluxo.

Com cwnd de 50 segmentos, RTT de referência de 40 ms e RTT medido de 50 ms, a entrega esperada é de 1.250 segmentos/s e a entrega real é de 1.000 segmentos/s. A estimativa da fila é:

(1.250−1.000)×0,04=10 segmentos.

O Vegas cresce abaixo de um limiar inferior e diminui acima de um limiar superior. Se o tráfego baseado em perda continuar enchendo a fila compartilhada, o Vegas observará repetidamente o atraso e reduzirá sua taxa, o que pode deixá-lo com uma pequena parcela.

Construa o modelo do BBR em duas partes

O BBR estima a largura de banda do gargalo a partir das taxas máximas de entrega recentes e o RTT mínimo por meio de um filtro de 10 s. O produto dos dois estima o BDP. Seu alvo ideal é um enlace ocupado com aproximadamente um BDP em trânsito e poucos dados enfileirados.

Uma estimativa de largura de banda de 50 Mbps e um RTT mínimo de 30 ms resultam em 1,5 milhão de bits, ou 187.500 bytes, por BDP. Um ganho típico de janela de congestionamento de 2 limita os dados pendentes a cerca de 375.000 bytes. A taxa de cadenciamento é um controle separado: ganho de cadenciamento vezes a largura de banda estimada. Um limite permite dados em trânsito; ele não exige que o remetente envie ao dobro da largura de banda.

Acompanhe os estados da versão 3 do BBR
EstadoFunção principalComportamento no rascunho da versão 3
StartupDescobrir a capacidadeCadencia a cerca de 2,77 vezes a estimativa; sai quando o crescimento estagna ou a perda é alta
DrainRemover a fila inicialCadencia a cerca de 0,5 vez a estimativa
ProbeBWTestar e usar a largura de bandaGanhos de cadenciamento: Up 1,25, Down 0,9, Cruise 1,0, Refill 1,0
ProbeRTTAtualizar o RTT mínimoReduz os dados em trânsito em direção a meio BDP por pelo menos 200 ms e uma ida e volta

O teste de crescimento de Startup é um crescimento da taxa de entrega inferior a 25% por três rodadas. ProbeRTT é programado no máximo uma vez a cada cerca de 5 s. No caminho do exemplo, ProbeBW Up tem como alvo 62,5 Mbps e Down, 45 Mbps. Esses detalhes da versão 3 são especificados no rascunho de internet do BBR, e não em uma RFC publicada sobre o BBR.

Compare os sinais e as vantagens e limitações

Reno e CUBIC aumentam até que perda ou ECN sinalize congestionamento. O BBR cadencia a partir de um modelo de largura de banda e RTT. Ele forma filas deliberadamente por pouco tempo em Startup e ProbeBW Up, portanto “baseado em modelo” não significa “nunca forma uma fila”.

A versão 1 do BBR praticamente ignorava perdas. A versão 3 usa perdas intensas, em torno de 2% em uma rodada, para limitar o excesso e melhorar a coexistência. Ela pode sustentar mais vazão em caminhos longos com perdas aleatórias, mas não consegue identificar perfeitamente por que um pacote foi perdido. Sua resposta específica à ECN permanece em aberto no rascunho; qualquer conexão que declare suporte a ECN deve responder a CE como congestionamento. A capacidade do buffer, o RTT, a versão e os algoritmos concorrentes continuam influenciando a equidade.

Principais conclusões

  • O Vegas infere os dados enfileirados a partir das taxas esperada e real usando o RTT de referência.
  • O BBR modela a largura de banda e o RTT mínimo e depois controla separadamente o cadenciamento e os limites de dados em trânsito.
  • Startup e ProbeBW do BBR sondam intencionalmente acima da taxa de entrega estimada.
  • Drain e ProbeRTT reduzem os dados enfileirados para diferentes finalidades de medição.
  • A versão 3 do BBR limita perdas intensas; ela não ignora o congestionamento.
  • O BBR é baseado em modelo, enquanto o Vegas responde diretamente ao aumento do atraso.
  • A versão do algoritmo e as condições do caminho afetam a coexistência e o enfileiramento.
6

Por que o QUIC pode evoluir enquanto compartilha a rede

O projeto de um protocolo de transporte precisa funcionar com equipamentos que já estão implantados. Extensões do TCP podem ser retardadas por dispositivos intermediários de rede e ciclos de atualização de sistemas operacionais. O QUIC transporta um protocolo de transporte cifrado sobre UDP para que as aplicações possam implantar novos comportamentos com mais facilidade. Acompanhe como fluxos, números de pacote e reconhecimentos mais ricos melhoram a entrega e a recuperação, enquanto o remetente continua seguindo princípios de controle de congestionamento familiares do TCP.

6.1 Transfira recursos de transporte para um projeto cifrado baseado em UDP

Um protocolo se ossifica quando dispositivos implantados dependem tanto de sua forma existente que as alterações se tornam difíceis de implantar. Dispositivos intermediários de rede inspecionam cabeçalhos TCP e podem rejeitar opções ou indicadores desconhecidos. Implementações baseadas no kernel também disseminam novos comportamentos por meio de atualizações do sistema operacional, muitas vezes lentamente.

Identifique os custos que o QUIC trata

O TCP evoluiu por meio de SACK, ECN, fator de escala da janela e novos controladores de congestionamento. Ainda assim, sua estrutura continua tendo importância para o tráfego web. Uma nova conexão convencional TCP com TLS precisa da negociação TCP antes da negociação TLS. Seu único fluxo ordenado de bytes também significa que um segmento faltante bloqueia a entrega dos bytes posteriores, incluindo dados de requisições não relacionadas. Esse é o bloqueio de início de fila no transporte.

Os endereços e as portas de uma conexão podem criar outro obstáculo quando um dispositivo muda de rede. O QUIC, padronizado na RFC 9000, altera essas partes do projeto de transporte enquanto carrega seus pacotes sobre UDP. O HTTP/3 funciona sobre QUIC.

Combine as negociações

O QUIC integra o TLS 1.3 à sua negociação de transporte. Em uma troca simples com RTT de 80 ms, processamento desprezível e nenhuma perda, uma nova conexão TCP com TLS 1.3 envia a requisição após duas idas e voltas e recebe os primeiros bytes da resposta após três: 240 ms. Uma nova conexão QUIC pode recebê-los após duas idas e voltas: 160 ms.

Uma conexão QUIC retomada pode enviar dados antecipados de aplicação em seu primeiro conjunto de pacotes, chamado 0-RTT. A primeira resposta pode então chegar após uma ida e volta, 80 ms neste exemplo. Dados antecipados podem ser repetidos por um atacante, portanto as aplicações os restringem a ações que podem ser repetidas com segurança. O termo 0-RTT descreve quando o envio pode começar, e não uma resposta instantânea.

Separe os fluxos, não todos os limites compartilhados

O QUIC transporta fluxos de bytes ordenados e independentes. Se um pacote contém dados da imagem 1, perdê-lo não bloqueia a entrega de dados já recebidos das imagens 2 e 3 em fluxos separados. Um pacote que transporta vários fluxos pode afetar cada um deles. Todos os fluxos ainda compartilham o controlador de congestionamento da conexão, portanto uma perda pode reduzir a taxa total disponível para eles.

O QUIC fornece entrega confiável de fluxos sobre UDP. Ele também fornece controle de fluxo tanto por fluxo quanto por conexão. O UDP transporta os dados, mas não substitui essas funções de transporte.

Proteja detalhes que podem mudar

O QUIC cifra as cargas úteis dos pacotes, incluindo todos os quadros de transporte. A proteção do cabeçalho cobre os números de pacote e alguns bits do primeiro byte. Campos necessários para roteamento e negociação, como IDs de conexão e versão, permanecem visíveis. Ocultar detalhes de transporte que podem mudar deixa menos comportamentos dos quais os dispositivos intermediários de rede possam depender.

Os IDs de conexão identificam uma conexão independentemente dos endereços IP e portas atuais. Com a validação do caminho, uma conexão pode migrar quando um telefone passa do Wi-Fi para o acesso celular, sem iniciar uma conexão completamente nova.

O QUIC geralmente é uma biblioteca no espaço do usuário. Uma atualização da aplicação pode, portanto, fornecer uma melhoria de transporte sem esperar que o kernel de cada sistema operacional seja alterado. Essa flexibilidade também atribui à aplicação a responsabilidade pela detecção correta de perdas, segurança, controle de fluxo e controle de congestionamento.

Principais conclusões

  • A ossificação ocorre quando equipamentos implantados dificultam alterações em protocolos.
  • O QUIC combina o estabelecimento do transporte e do TLS e pode oferecer dados antecipados 0-RTT sujeitos a ataques de repetição.
  • Fluxos independentes evitam que um bloqueio de entrega ordenada afete fluxos não relacionados em todo o transporte.
  • A criptografia da carga útil e a proteção do cabeçalho ocultam a maioria dos detalhes de transporte que podem mudar.
  • IDs de conexão permitem a migração além de uma tupla fixa de endereços e portas.
  • O QUIC acrescenta confiabilidade, controle de fluxo e controle de congestionamento acima do UDP.

6.2 Use sinais de perda mais claros com um controle de congestionamento familiar

O QUIC melhora o que um remetente pode aprender com os reconhecimentos, mas ainda precisa evitar a sobrecarga do caminho. A RFC 9002 define a detecção de perdas e um controlador padrão semelhante ao NewReno. As implementações podem usar outros algoritmos adequados, incluindo CUBIC ou BBR.

Identifique cada transmissão

Os números de pacote aumentam e nunca se repetem dentro de um espaço de números de pacote. Dados reenviados trafegam em quadros dentro de um novo pacote com um novo número. Um ACK pode, portanto, identificar a transmissão que chegou, evitando a ambiguidade do TCP entre um segmento original e sua retransmissão.

Os quadros ACK informam os intervalos recebidos e o atraso de ACK do receptor. Após a negociação, o remetente usa um atraso de ACK validado e limitado ao ajustar as estimativas de RTT; ele não subtrai automaticamente um atraso arbitrário do receptor de cada amostra.

O QUIC declara um pacote perdido quando um pacote com número pelo menos três posições posterior é reconhecido, ou por meio de seu limiar de tempo quando um pacote posterior é reconhecido. O limiar de tempo recomendado é 9/8 do maior valor entre o RTT mais recente e o RTT suavizado. Um tempo limite de sondagem, PTO, envia sondagens que provocam reconhecimentos. A expiração do PTO, por si só, não reduz cwnd ao mínimo.

Defina limites de janela em bytes

Para um tamanho máximo de datagrama d, a janela inicial da RFC 9002 é:

min⁡(10d, max⁡(14.720,2d)).

Com d de 1.200 bytes, o resultado é 12.000 bytes. Com d de 1.500 bytes, é 14.720 bytes. A janela mínima de congestionamento é de dois datagramas de tamanho máximo, portanto esses caminhos têm mínimos de 2.400 e 3.000 bytes, respectivamente.

No controlador padrão, uma perda ou um novo sinal de congestionamento CE reduz cwnd pela metade, respeitando o limite mínimo, e define ssthresh como a janela reduzida. Um período de recuperação impede outra redução por perdas adicionais de pacotes enviados antes do início da recuperação. O reconhecimento de um pacote enviado durante a recuperação encerra o período. O remetente então retoma o crescimento normal.

Reconheça uma falha sustentada

O congestionamento persistente é uma evidência mais forte do que a expiração de um temporizador. Ele exige uma sequência suficientemente longa de pacotes perdidos que provocam reconhecimentos, sem nenhum pacote intermediário reconhecido e com uma amostra anterior de RTT. Seu limiar de duração é:

3 [RTT suavizado+max⁡(4 variac¸a˜o do RTT,granularidade do temporizador)+atraso maˊximo de ACK].

Com RTT suavizado de 100 ms, variação de 10 ms, atraso máximo de ACK de 25 ms e granularidade desprezível do temporizador, o limiar é 495 ms. O intervalo de perda que atende às condições deve exceder esse valor. O controlador então reduz cwnd para dois datagramas, sua janela mínima.

Mantenha úteis os sinais e o controle de tempo

Os ACKs do QUIC podem informar contagens cumulativas de ECT(0), ECT(1) e CE. Após validar o funcionamento da ECN no caminho, o remetente trata um novo aumento de CE como um evento de congestionamento sem precisar de perda de pacote.

O cadenciamento distribui as transmissões. Uma taxa em torno de 1,25 vez cwnd dividida pelo RTT suavizado é uma abordagem sugerida; limites de rajada podem cumprir a mesma finalidade. Enviar uma janela inteira de uma vez cria uma rajada mesmo quando a taxa média é aceitável. A implantação no espaço do usuário facilita a distribuição de novos controladores, mas cada pilha ainda precisa compartilhar a largura de banda de forma responsável.

Principais conclusões

  • Números de pacote únicos identificam transmissões; intervalos recebidos localizam lacunas.
  • O ajuste do atraso de ACK segue regras de validação e negociação.
  • Limiares de pacotes e de tempo detectam perdas; o PTO envia sondagens para obter resposta.
  • O controlador padrão reduz a janela pela metade uma vez por episódio de recuperação e respeita um mínimo de dois datagramas.
  • O congestionamento persistente exige um intervalo de perda que atenda às condições e seja maior que seu limiar de duração.
  • Contagens ECN validadas podem sinalizar congestionamento sem descarte.
  • O cadenciamento ou os limites de rajada evitam o envio da janela inteira em uma única rajada.

Exercícios resolvidos de Controle de congestionamento

6 Lições Interativas

1

Acompanhe o tráfego por um gargalo

13 passos
Acompanhe uma fila crescente, calcule a capacidade desperdiçada e identifique como os sinais de congestionamento chegam a um remetente.
  1. 1
    IntroduçãoUm enlace pode permanecer ocupado enquanto uma aplicação espera

    Várias entradas rápidas alimentam uma saída mais lenta, um gargalo. O roteador precisa reter o excedente, portanto o mesmo fluxo pode ter alta vazão e uma longa espera.

    Acompanhe primeiro a fila e depois considere o trabalho que não entrega dados novos (goodput e colapso de congestionamento). Por fim, decida que tipo de sinal poderia informar ao remetente que deve mudar seu comportamento. Essas três perspectivas explicam por que a atividade, por si só, é uma medida ruim da saúde da rede.

  2. 2
    ExplicaçãoCompare chegadas e saídas

    O gargalo é o enlace com a menor capacidade disponível para o tráfego em seu caminho. Quando as chegadas sustentadas excedem sua taxa de saída, o excedente se acumula na fila de saída.

    Abaixo da taxa de saída, a capacidade disponível esvazia a fila. Igualar exatamente essa taxa mantém uma fila existente inalterada sob taxas constantes: cada saída é substituída por uma chegada. Uma sobrecarga breve pode ser absorvida se for seguida de um período mais tranquilo.

  3. 3
    ExemploDetermine a velocidade de crescimento da fila

    Um buffer vazio de roteador recebe 15 Mbps enquanto sua saída envia 11 Mbps. Primeiro, determine o excedente:

    15−11=4 Mbps.

    Converta o excedente em bytes por segundo:

    4.000.000/8=500.000 bytes/s.

    Essa é a taxa de acúmulo dos dados em espera. Usar a taxa total de chegada contaria dados que o enlace de saída já transmitiu.

  4. 4
    ExemploTransforme dados enfileirados em tempo de espera

    Mantenha a mesma saída de 11 Mbps. Um buffer de 1.000.000 de bytes fica cheio após 2 s de excedente a 500.000 bytes/s.

    Quando cheio, ele contém 8.000.000 de bits à frente de um pacote que acaba de entrar. Sua espera aproximada é:

    8.000.000/11.000.000≈0,727 s.

    A taxa de saída determina quanto tempo os dados já enfileirados levam para sair. O excedente de entrada determina com que rapidez esse acúmulo se formou.

  5. 5
    DesafioPreveja o comportamento de uma fila após a queda da carga

    Uma fila contém 300.000 bytes. Sua saída é de 12 Mbps, e as chegadas constantes caem para 8 Mbps. Quanto tempo a fila existente levará para esvaziar?

    ---reveal---

    A taxa líquida de esvaziamento é de 4 Mbps, ou 500.000 bytes/s. Portanto:

    300.000/500.000=0,6 s.

    Dividir pela taxa total de saída ignoraria os novos pacotes que continuam chegando enquanto o acúmulo antigo esvazia.

  6. 6
    ExplicaçãoAcompanhe o que uma retransmissão substitui

    A vazão útil conta uma vez os dados novos e úteis de aplicação. A vazão conta o tráfego entregue, enquanto a carga oferecida inclui tudo o que é inserido na rede.

    Um remetente confiável substitui dados perdidos, mas essas repetições consomem tempo do enlace. Se um temporizador expirar enquanto um pacote original está apenas atrasado, duas cópias podem percorrer o caminho e chegar com sucesso. A aplicação ainda recebe essa parte dos dados apenas uma vez.

  7. 7
    ExemploConsidere o trabalho perdido mais adiante no caminho

    Um pacote percorre os enlaces A e B e depois é descartado na fila antes de C. As duas transmissões anteriores já consumiram capacidade, mas o pacote nunca chega ao destino.

    À medida que mais tráfego é perdido tardiamente, os enlaces anteriores podem gastar uma parcela crescente de seu tempo com pacotes que serão descartados. A entrega fim a fim pode cair enquanto esses enlaces permanecem ocupados. Esse é um caminho para o colapso por congestionamento, e não apenas uma fila cheia em um roteador.

  8. 8
    DesafioDiferencie capacidade ocupada de progresso útil

    Um enlace de 16 Mbps está totalmente ocupado. De seus pacotes de mesmo tamanho, 25% repetem dados que ele já transportou. Ignorando cabeçalhos e perdas posteriores, qual é a maior taxa possível de dados novos?

    ---reveal---

    Apenas três quartos são dados novos:

    16×0,75=12 Mbps.

    Os outros 4 Mbps podem ser úteis para restabelecer a confiabilidade, mas não acrescentam dados novos à taxa contada aqui.

  9. 9
    Ideia-chaveSaiba o que muda no joelho e no precipício

    Além do joelho da curva, uma carga oferecida maior traz pouco ganho de vazão enquanto o atraso aumenta rapidamente. Além do precipício da curva, a vazão cai à medida que perdas e trabalho desperdiçado passam a predominar.

    Eles descrevem problemas diferentes: uma espera ineficiente pode aparecer antes do colapso da entrega útil. Um controlador deve manter o gargalo ocupado de forma produtiva enquanto evita o ponto de operação de alto atraso que um buffer grande pode ocultar.

  10. 10
    ExplicaçãoLocalize a origem do aviso

    Com controle fim a fim, o remetente infere o congestionamento a partir de medições de perda, RTT ou entrega. Um roteador não fornece informação explícita sobre o congestionamento.

    Com controle assistido pela rede, o roteador envia um aviso. Na ECN, ele marca um pacote que segue para o receptor, e o receptor informa essa marca de volta. A informação ainda é considerada assistida pela rede mesmo retornando dentro de um reconhecimento da extremidade.

  11. 11
    ConexãoSepare o sinal do controle de envio

    Uma perda pode resultar de transbordamento de fila ou de corrupção em um enlace sem fio. Um aumento no RTT pode resultar de uma fila ou de uma mudança de rota. Uma marca informa explicitamente o congestionamento, mas precisa de suporte compatível no caminho.

    Após interpretar o sinal, o remetente pode limitar uma janela ou escolher uma taxa com cadenciamento. Essas são escolhas de controle, separadas da origem do sinal. Aproximadamente uma janela por RTT relaciona a quantidade em trânsito à taxa obtida.

  12. 12
    DesafioEscolha um caminho útil para o sinal

    Um download mantém ocupado um buffer grande de roteador. O receptor tem bastante memória livre. O roteador começa a marcar congestionamento, e o receptor ecoa as marcas. Que tipo de controle é esse e por que ele pode tratar o atraso do download?

    ---reveal---

    É controle de congestionamento assistido pela rede. O remetente pode reduzir o tráfego que entra no caminho congestionado, permitindo que a fila do roteador diminua. Mais espaço no receptor não esvaziaria essa fila porque a capacidade limitante está na rede.

  13. 13
    RecapitulaçãoInterprete carga, entrega útil e sinais em conjunto

    Preveja o crescimento da fila pela diferença entre chegadas e saídas; determine o tempo de espera dividindo os bits enfileirados pela taxa de saída. Depois, verifique quanto do trabalho do enlace entrega dados novos de aplicação.

    Perda, atraso e sinais explícitos informam coisas diferentes a um remetente. Um controlador de congestionamento útil interpreta esses sinais e ajusta o tráfego para que o caminho entregue dados de forma eficiente sem manter filas excessivas.

2

Acompanhe uma janela TCP da partida à recuperação

20 passos
Use janelas em bytes e segmentos, acompanhe as regras clássicas de crescimento e perda e depois estime a taxa de uma transferência de longa duração.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoInterprete a janela antes de interpretar a taxa
  2. 2
    ExplicaçãoRespeite os limites do remetente e do receptor
  3. 3
    ExemploEstime uma taxa limitada pela janela
  4. 4
    ExemploCalcule os dados necessários para preencher um caminho
  5. 5
    DesafioEncontre o limite que realmente prevalece
  6. 6
    ExplicaçãoPor que a partida lenta cresce rapidamente
  7. 7
    ExemploMude a regra no limiar
  8. 8
    DicaIdentifique a fase em cada acompanhamento
  9. 9
    DesafioAcompanhe a mudança sem pular uma rodada
  10. 10
    ExplicaçãoDiferencie uma lacuna de um caminho silencioso
  11. 11
    ExemploEntre na recuperação rápida com inflação temporária
  12. 12
    ExemploTermine a recuperação no limiar
  13. 13
    DesafioUse a quantidade de dados em trânsito e reduza a janela corretamente
  14. 14
    ExplicaçãoCalcule a média da janela em dente de serra
  15. 15
    ExemploConverta a média em bits por segundo
  16. 16
    ConexãoVeja por que perda e RTT importam
  17. 17
    DesafioAltere duas entradas do modelo ao mesmo tempo
  18. 18
    Ideia-chaveUm BDP alto amplia o problema da recuperação lenta
  19. 19
    DesafioCombine a estimativa de taxa com o controle de fluxo
  20. 20
    RecapitulaçãoInterprete crescimento, recuperação e limites como decisões separadas
3

Acompanhe o compartilhamento justo de um par ideal até usuários reais

12 passos
Acompanhe a convergência do AIMD, calcule igualdade e utilização e considere a demanda e o número de conexões.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoPergunte quem recebe a capacidade
  2. 2
    ExplicaçãoDesenhe as duas retas-alvo
  3. 3
    ExemploObserve separadamente a diferença e a razão
  4. 4
    DesafioEscolha uma atualização que altere o compartilhamento relativo
  5. 5
    ConexãoSaiba quando a convergência ideal se aplica
  6. 6
    ExplicaçãoUse o índice de Jain para medir a igualdade
  7. 7
    ExemploCalcule uma pontuação e a utilização
  8. 8
    ExemploDivida o restante após atender a uma demanda pequena
  9. 9
    DesafioEncontre a população adequada para uma pontuação de equidade
  10. 10
    Ideia-chaveRemetentes e filas moldam o resultado
  11. 11
    DesafioDiferencie igualdade de comportamento eficiente do AIMD
  12. 12
    RecapitulaçãoSepare uma alocação de sua explicação
4

Acompanhe um aviso antecipado de congestionamento

13 passos
Compare descarte na cauda, RED e CoDel e depois acompanhe uma marca CE pelo TCP e uma resposta proporcional do DCTCP.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoUma baixa contagem de perdas pode ocultar uma longa espera
  2. 2
    ExemploMeça a espera dentro de um buffer grande
  3. 3
    ExplicaçãoO RED fornece um aviso antecipado probabilístico
  4. 4
    ExplicaçãoO CoDel verifica se o atraso chega a ficar pequeno
  5. 5
    DesafioInterprete um histórico de atraso
  6. 6
    ConexãoSepare o atendimento dos fluxos do controle de atraso da fila
  7. 7
    ExplicaçãoMarque um pacote entregue
  8. 8
    ExemploComplete o ciclo de retorno do TCP clássico
  9. 9
    DesafioTrate ecos repetidos de um único evento
  10. 10
    ExemploDimensione uma resposta do DCTCP ao tráfego marcado
  11. 11
    ConexãoO L4S combina o comportamento das extremidades e das filas
  12. 12
    DesafioExplique a entrega sem expiração de tempo limite
  13. 13
    RecapitulaçãoAcompanhe detecção, marcação e resposta
5

Compare o crescimento do CUBIC com o modelo de caminho do BBR

14 passos
Calcule a curva de retorno do CUBIC, compare Vegas e BBR e diferencie a taxa de cadenciamento dos limites de dados em trânsito.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoEscolha o que o controlador deve aprender
  2. 2
    ExplicaçãoComece com uma redução comum mais moderada
  3. 3
    ExemploDetermine o tempo de retorno cúbico
  4. 4
    ExemploAvalie um ponto abaixo do pico anterior
  5. 5
    Ideia-chaveA curva pura é apenas uma candidata
  6. 6
    DesafioUse os dois valores diferentes registrados pelo CUBIC
  7. 7
    ExemploDeixe o Vegas inferir os segmentos enfileirados
  8. 8
    ExplicaçãoConstrua o modelo de largura de banda e atraso do BBR
  9. 9
    ExemploCalcule o modelo antes de aplicar os ganhos
  10. 10
    ConexãoSonde e depois abra espaço para medir
  11. 11
    DesafioTransforme um modelo em configurações de controle
  12. 12
    DicaMantenha associadas a versão e as regras de resposta aos sinais
  13. 13
    DesafioDiferencie um aviso de RTT de um modelo de caminho
  14. 14
    RecapitulaçãoCompare medições, crescimento e enfileiramento
6

Acompanhe o QUIC do estabelecimento à recuperação de congestionamento

15 passos
Relacione as escolhas de implantação do QUIC a seus fluxos, sinais de perda, regras de recuperação e envio cadenciado.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoAltere o transporte sem abandonar sua função
  2. 2
    ExplicaçãoEntenda por que mudanças no TCP podem demorar
  3. 3
    ConexãoProteja detalhes que precisam mudar
  4. 4
    ExemploCompare o tempo da primeira resposta
  5. 5
    ExemploSepare a ordenação dos fluxos do compartilhamento da conexão
  6. 6
    DesafioCorrija uma afirmação sobre transporte baseado em UDP
  7. 7
    ExplicaçãoDê a cada transmissão sua própria identidade
  8. 8
    ExemploDetecte uma lacuna antes de sondar em busca de resposta
  9. 9
    ExemploCalcule as janelas inicial e mínima
  10. 10
    DesafioReduza uma vez para um episódio envolvendo dados anteriores em trânsito
  11. 11
    ExemploDetermine uma duração para congestionamento persistente
  12. 12
    ConexãoTransporte contagens ECN em ACKs
  13. 13
    DicaVerifique quando os bytes saem, não apenas quantos
  14. 14
    DesafioRelacione a entrega independente a uma resposta compartilhada
  15. 15
    RecapitulaçãoConsidere juntos os benefícios de implantação e as obrigações de congestionamento

Questões de Controle de congestionamento

50 Questões de Prática em 5 conjuntos

Conjunto 1: Interprete sinais de congestionamento e mudanças na janela10 Questões de Prática

Questão 1 de 10

Um roteador já tem uma fila. Sua taxa constante de chegada passa a ser exatamente igual à sua taxa de saída. O que acontece com a fila existente?
  1. Ela esvazia até ficar vazia.
  2. Ela permanece do mesmo tamanho.
  3. Ela continua crescendo de forma constante.
  4. Ela esvazia à metade da velocidade.
Mostrar respostaOcultar resposta
Resposta: B
Cada saída é substituída por uma chegada, portanto o acúmulo existente permanece do mesmo tamanho. Igualar a capacidade interrompe o crescimento adicional, mas não fornece capacidade disponível para esvaziar os dados enfileirados. A fila só diminuiria se as chegadas se tornassem mais lentas que as saídas.

Questão 2 de 10

Um pacote atravessa dois enlaces e depois é descartado no roteador seguinte. Que capacidade foi desperdiçada por essa entrega malsucedida?
  1. Apenas a capacidade de saída do roteador que descartou o pacote.
  2. Apenas a capacidade de entrada do primeiro roteador.
  3. Apenas a capacidade usada para enviar uma substituição.
  4. A capacidade dos dois enlaces que o pacote já atravessou.
Mostrar respostaOcultar resposta
Resposta: D
Os dois enlaces anteriores gastaram tempo de transmissão transportando um pacote que não chegou ao destino. Um descarte, portanto, desperdiça o trabalho anterior e também cria a necessidade de recuperação. Contar apenas a retransmissão ignora a capacidade já consumida antes do descarte.

Questão 3 de 10

Um remetente altera sua taxa usando taxas de entrega medidas e o RTT mínimo, sem receber marcas dos roteadores. Como esse retorno é classificado?
  1. Fim a fim e baseado em modelo.
  2. Assistido pelo roteador e baseado em perda.
  3. Fim a fim e de taxa explícita.
  4. Assistido pelo roteador e baseado em atraso.
Mostrar respostaOcultar resposta
Resposta: A
As medições vêm de observações das extremidades, portanto o retorno é fim a fim. Combinar a taxa de entrega e o RTT mínimo para estimar o caminho é um controle baseado em modelo. Uma medição de atraso, por si só, não torna o esquema semelhante ao Vegas: o controlador usa as duas estimativas como um modelo.

Questão 4 de 10

Um remetente tem cwnd=42.000 bytes, rwnd=27.000 bytes e 19.000 bytes não reconhecidos. Quantos bytes adicionais ele pode enviar agora?
  1. 23.000 bytes
  2. 27.000 bytes
  3. 8.000 bytes
  4. 42.000 bytes
Mostrar respostaOcultar resposta
Resposta: C
A menor janela é rwnd, com 27.000 bytes. Subtraia os 19.000 bytes já pendentes para obter 8.000 bytes disponíveis para dados novos. Subtrair os bytes pendentes apenas de cwnd resultaria em 23.000, mas isso excederia o limite anunciado pelo receptor.

Questão 5 de 10

Um remetente Reno está em prevenção de congestionamento, com dados suficientes e um ACK por segmento. Aproximadamente quanto cwnd cresce durante um RTT?
  1. Um MSS no total.
  2. Um MSS por ACK.
  3. Metade do tamanho atual.
  4. O tamanho atual novamente.
Mostrar respostaOcultar resposta
Resposta: A
A prevenção de congestionamento distribui cerca de um MSS de crescimento entre todos os ACKs de uma ida e volta. Seu incremento por ACK diminui à medida que cwnd cresce. Acrescentar um MSS em cada ACK descreve a partida lenta ideal, em que os ACKs de uma janela cheia podem aproximadamente dobrar a próxima janela.

Questão 6 de 10

Um remetente Reno tem 18 MSS pendentes quando chega seu terceiro ACK duplicado. Em seguida chegam mais dois ACKs duplicados e depois um ACK que abrange todos os dados pendentes. Quais valores de cwnd ocorrem na entrada em recuperação, após os ACKs duplicados adicionais e na saída?
  1. 9, 11 e depois 9 MSS.
  2. 12, 14 e depois 14 MSS.
  3. 12, 14 e depois 7 MSS.
  4. 12, 14 e depois 9 MSS.
Mostrar respostaOcultar resposta
Resposta: D
Metade dos dados em trânsito define ssthresh como 9 MSS. O Reno entra em recuperação com 12, acrescenta um MSS para cada ACK duplicado adicional até chegar a 14 e depois reduz a janela para 9 quando recebe o ACK completo. Manter 14 na saída confundiria a inflação temporária da recuperação com a janela duradoura de prevenção de congestionamento.

Questão 7 de 10

Dois fluxos AIMD sincronizados enviam a 9 e 3 Mbps. Cada um acrescenta 1 Mbps e depois ambos reduzem suas taxas pela metade. Qual é a diferença final entre as taxas?
  1. 6 Mbps
  2. 3 Mbps
  3. 4 Mbps
  4. 2 Mbps
Mostrar respostaOcultar resposta
Resposta: B
A etapa aditiva resulta em 10 e 4 Mbps, mantendo inalterada a diferença original de 6 Mbps. A redução pela metade produz 5 e 2 Mbps, portanto a diferença final é 3 Mbps. Subtrair o aumento aditivo da diferença confunde uma mudança nas duas taxas com uma mudança na diferença entre elas.

Questão 8 de 10

O que o CoDel mede para decidir se uma fila permanece longa demais?
  1. A janela de recepção anunciada pelo remetente.
  2. A média móvel do tamanho da fila.
  3. O tempo que os pacotes passam na fila.
  4. O total de bytes enviados aos enlaces anteriores.
Mostrar respostaOcultar resposta
Resposta: C
O CoDel mede o tempo de permanência dos pacotes na fila e verifica se até mesmo o atraso mínimo permanece alto durante um intervalo. Isso distingue uma fila persistente de uma rajada que esvazia. A média móvel do tamanho da fila é o sinal do RED, portanto aplicá-la ao CoDel confunde os dois projetos de AQM.

Questão 9 de 10

O CUBIC tem uma janela totalmente utilizada de 80 MSS quando ocorre um evento de congestionamento por ECN, sem expiração de tempo limite. Qual janela sua redução comum produz?
  1. 24 MSS
  2. 40 MSS
  3. 1 MSS
  4. 56 MSS
Mostrar respostaOcultar resposta
Resposta: D
O CUBIC mantém 70% após esse sinal comum de congestionamento, portanto 80 MSS passam a 56 MSS. A quantidade removida é 24 MSS, não a nova janela. Uma redução para 40 MSS aplica a regra de redução pela metade do Reno; o CUBIC voltaria a um segmento após a expiração de um tempo limite de retransmissão.

Questão 10 de 10

Dois fluxos QUIC compartilham uma conexão. Um pacote perdido transportava dados apenas do fluxo A; pacotes posteriores contendo dados do fluxo B chegam. Como a perda pode afetar o fluxo B?
  1. Sua entrega ordenada pode continuar, mas o controle de congestionamento compartilhado pode reduzir sua taxa.
  2. Sua entrega ordenada deve esperar por A, mas sua taxa de envio permanece independente.
  3. Sua entrega e sua taxa de envio permanecem independentes da perda na conexão.
  4. Sua entrega ordenada só pode continuar depois que uma janela de congestionamento separada for criada.
Mostrar respostaOcultar resposta
Resposta: A
O fluxo B não tem bytes faltantes por causa dessa perda, portanto seus dados recebidos podem ser entregues sem esperar por A. Os dois fluxos ainda compartilham o controle de congestionamento da conexão, que pode reduzir sua taxa combinada de envio. A ordenação independente dos fluxos não cria janelas de congestionamento independentes.
Conjunto 2: Relacione taxas, equidade e sinais de transporte10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um enlace de 15 Mbps atende três fluxos com demandas de 3, 5 e 20 Mbps. Qual é a alocação com equidade máx-min nessa ordem?
  1. 3, 5 e 7 Mbps.
  2. 3, 6 e 6 Mbps.
  3. 5, 5 e 5 Mbps.
  4. 3, 3 e 9 Mbps.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um caminho tem capacidade de gargalo de 60 Mbps e RTT sem filas de 40 ms. Que quantidade em trânsito preenche esse caminho idealizado sem uma fila persistente?
  1. 300.000 bytes
  2. 2.400.000 bytes
  3. 30.000 bytes
  4. 7.500.000 bytes
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Em uma partida lenta ideal com um ACK por segmento, cwnd começa em 2 MSS e permanece abaixo de ssthresh. Qual é o valor de cwnd após três RTTs completos?
  1. 5 MSS
  2. 16 MSS
  3. 12 MSS
  4. 8 MSS
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um dente de serra do Reno atinge o pico de 40 segmentos com MSS=1.000 bytes e RTT=0,1 s. Qual vazão média o modelo simples prevê?
  1. 3,20 Mbps
  2. 0,30 Mbps
  3. 1,60 Mbps
  4. 2,40 Mbps
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um buffer de saída vazio de 600.000 bytes recebe 16 Mbps constantes e envia 10 Mbps. Quanto tempo leva para ficar cheio?
  1. 0,30 s
  2. 0,48 s
  3. 0,80 s
  4. 1,25 s
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Um roteador marca como CE um pacote com suporte a ECN e o encaminha com sucesso. O que o receptor deve informar no TCP clássico com ECN habilitada?
  1. Not-ECT em seus reconhecimentos.
  2. CWR em seus reconhecimentos.
  3. ECE em seus reconhecimentos.
  4. Um ACK duplicado indicando perda de dados.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Dois fluxos CUBIC têm o mesmo pico registrado e a mesma redução comum, mas RTTs diferentes. O que explica por que seus tempos reais de retorno ao pico anterior podem diferir?
  1. A função cúbica usa a contagem de ACKs, portanto o RTT menor avança seu relógio mais rápido.
  2. O fator de redução cresce com o RTT, portanto o RTT maior começa com uma janela menor.
  3. O pico registrado é dividido pelo RTT antes de a curva cúbica ser calculada.
  4. Uma estimativa amigável ao Reno pode superar o alvo cúbico comum baseado no tempo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

O BBR estima a largura de banda em 32 Mbps e o RTT mínimo em 25 ms. Com um ganho de janela de congestionamento de 2, qual é seu limite de janela baseado no modelo?
  1. 100.000 bytes
  2. 200.000 bytes
  3. 800.000 bytes
  4. 1.600.000 bytes
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

O que identifica uma conexão QUIC durante uma mudança de endereço de rede compatível?
  1. Um par fixo de portas.
  2. Um crédito de fluxo.
  3. Um ID de conexão.
  4. Um número de pacote.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma conexão QUIC usa datagramas máximos de 1.300 bytes e tem cwnd=10.400 bytes. Ocorre um evento de congestionamento e depois vários outros pacotes enviados antes da recuperação são declarados perdidos antes que qualquer pacote enviado durante a recuperação seja reconhecido. Qual cwnd seu controlador padrão deve manter?
  1. 5.200 bytes
  2. 2.600 bytes
  3. 1.300 bytes
  4. 10.400 bytes
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 3: Diagnostique filas e episódios de recuperação10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um enlace transporta 24 Mbps de pacotes de mesmo tamanho. Um quarto repete dados já transportados por esse enlace. Qual é o limite superior de sua taxa de dados novos antes dos cabeçalhos e de outras perdas?
  1. 6 Mbps
  2. 18 Mbps
  3. 20 Mbps
  4. 24 Mbps
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um caminho sem fio perde pacotes enquanto o RTT medido permanece próximo de seu valor sem filas. Por que um remetente baseado em perda pode reduzir sua taxa mesmo sem uma fila crescente?
  1. A janela de recepção deve diminuir sempre que um quadro de rádio é corrompido.
  2. A taxa do gargalo é inferida apenas a partir do número de ACKs duplicados.
  3. O controle baseado em perda interpreta pacotes faltantes como sinal de congestionamento.
  4. O roteador envia um comando de taxa explícito após cada quadro danificado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Um remetente NewReno tem 28 MSS em trânsito ao entrar em recuperação. Seu primeiro ACK que avança o reconhecimento deixa alguns desses dados originais sem reconhecimento. Um segundo ACK abrange todos eles. Qual limiar e comportamento de recuperação correspondem ao NewReno?
  1. Limiar de 14 MSS; permanece após o primeiro ACK e sai após o segundo.
  2. Limiar de 14 MSS; sai após o primeiro ACK e reduz novamente pela metade para cada lacuna.
  3. Limiar de 17 MSS; permanece após o primeiro ACK e sai após o segundo.
  4. Limiar de 7 MSS; reinicia a partida lenta quando o primeiro ACK avança.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Uma transferência de longa duração semelhante à do Reno tem MSS=1.200 bytes, RTT=80 ms, fração de perda de 0,0004, rwnd=40.000 bytes e um gargalo de 18 Mbps. Aproximadamente qual limite superior de taxa resulta do modelo de perda e desses limites?
  1. 7,32 Mbps
  2. 18,00 Mbps
  3. 0,50 Mbps
  4. 4,00 Mbps
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Dois fluxos multiplicam suas taxas por 0,5. Qual propriedade de suas taxas permanece inalterada?
  1. A diferença absoluta entre elas.
  2. A razão entre elas.
  3. A vazão combinada delas.
  4. A distância delas até a capacidade total.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Dois fluxos em um enlace de 20 Mbps entregam 2 Mbps cada. Quais são seu índice de Jain e sua utilização combinada?
  1. J=0,5; utilização = 20%.
  2. J=1; utilização = 100%.
  3. J=1; utilização = 20%.
  4. J=0,2; utilização = 100%.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um buffer de descarte na cauda de 1.500.000 bytes está diante de um enlace de subida de 30 Mbps. Um grande envio de dados o mantém quase cheio enquanto uma chamada apresenta interrupções. O receptor anuncia bastante espaço. O que melhor explica o atraso e uma mudança adequada na sinalização?
  1. Cerca de 50 ms de atraso; aumentar a janela de recepção para esvaziar o roteador.
  2. Cerca de 400 ms de atraso; adicionar AQM para sinalizar uma fila persistente mais cedo.
  3. Cerca de 50 ms de atraso; aumentar o buffer de saída para absorver o envio.
  4. Cerca de 400 ms de atraso; desativar reduções por congestionamento para esvaziar a fila.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Um remetente DCTCP tem uma fração marcada suavizada α=0,4 e cwnd=60 MSS. Qual janela resulta de sua redução proporcional?
  1. 24 MSS
  2. 30 MSS
  3. 36 MSS
  4. 48 MSS
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Qual estado do BBR esvazia principalmente a fila criada durante a descoberta inicial da largura de banda?
  1. Drain.
  2. Startup.
  3. ProbeRTT.
  4. ProbeBW Up.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Após a negociação QUIC, o pacote 62 é reconhecido enquanto o pacote 59 permanece sem reconhecimento no mesmo espaço de números de pacote. Pelo limiar de pacotes recomendado, como o pacote 59 é tratado?
  1. Permanece pendente até chegarem três quadros ACK duplicados.
  2. É perdido apenas se o campo de atraso de ACK for igual a zero.
  3. É declarado perdido porque a diferença entre os números chega a três.
  4. Permanece pendente até expirar um tempo limite de sondagem.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 4: Aplique as regras quando as condições mudam10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um buffer inicialmente vazio de 450.000 bytes recebe 22 Mbps e envia 16 Mbps durante 0,4 s. As chegadas então caem para 10 Mbps. Quanto tempo após essa mudança a fila leva para esvaziar, supondo taxas constantes?
  1. 0,15 s
  2. 0,30 s
  3. 0,40 s
  4. 0,60 s
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um roteador marca congestionamento em um pacote, e o receptor ecoa a marca em um ACK. Qual abordagem geral fornece o sinal de congestionamento?
  1. Inferência de perda fim a fim.
  2. Inferência de atraso fim a fim.
  3. Controle de fluxo apenas no receptor.
  4. Controle assistido pela rede.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Um único fluxo que envia continuamente atravessa um gargalo de 40 Mbps com RTT sem filas de 50 ms. Ele tem 400.000 bytes em trânsito; rwnd é maior, e uma fila FIFO persistente contém todo o excesso. Qual atraso de fila e RTT medido correspondem a esse modelo?
  1. 30 ms de fila; RTT de 80 ms.
  2. 80 ms de fila; RTT de 130 ms.
  3. 50 ms de fila; RTT de 100 ms.
  4. 30 ms de fila; RTT de 50 ms.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um acompanhamento didático começa com cwnd=2 MSS e ssthresh = 16 MSS. Ele usa um ACK por segmento e passa à prevenção de congestionamento quando os valores são iguais. Qual é o valor de cwnd após cinco RTTs completos?
  1. 64 MSS
  2. 18 MSS
  3. 32 MSS
  4. 20 MSS
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um remetente Reno tem cwnd=30 MSS, mas apenas 16 MSS pendentes. Chegam três ACKs duplicados, seguidos de mais dois e depois de um ACK que abrange todos os dados pendentes. Quais valores de cwnd ocorrem na entrada em recuperação, após os ACKs duplicados adicionais e na saída?
  1. 18, 20 e depois 15 MSS.
  2. 11, 13 e depois 13 MSS.
  3. 11, 13 e depois 8 MSS.
  4. 8, 10 e depois 8 MSS.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Um enlace de 24 Mbps é totalmente compartilhado por conexões saturadas e semelhantes. Um usuário tem três conexões e outro tem uma. Quais taxas por usuário e índice de Jain para os dois usuários resultam do compartilhamento igual por conexão?
  1. 12 e 12 Mbps; J=1,00.
  2. 18 e 6 Mbps; J=0,80.
  3. 18 e 6 Mbps; J=1,00.
  4. 6 e 18 Mbps; J=0,50.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Uma fila ultrapassa brevemente 5 ms de espera, mas esvazia em até 40 ms. Outra nunca fica abaixo de 8 ms durante 100 ms. Como o CoDel deve distingui-las usando sua meta e seu intervalo padrão?
  1. Sinalizar ambas porque cada uma ultrapassa 5 ms ao menos uma vez.
  2. Sinalizar apenas a primeira porque seu atraso muda mais rápido.
  3. Não sinalizar nenhuma até que cada buffer físico transborde.
  4. Tratar a segunda como atraso excessivo persistente, ao contrário da primeira.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

O pico anterior do CUBIC é de 160 segmentos. Uma nova perda comum ocorre com uma janela totalmente utilizada de 120 antes que esse pico seja recuperado. Com convergência rápida, quais são o novo pico registrado e a janela atual reduzida?
  1. 102 segmentos e 84 segmentos.
  2. 120 segmentos e 84 segmentos.
  3. 102 segmentos e 60 segmentos.
  4. 84 segmentos e 102 segmentos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

O Vegas tem cwnd=72 segmentos, RTT=30 ms de referência e RTT=40 ms medido. Quantos de seus segmentos o método da diferença de taxas estima que estão enfileirados?
  1. 6 segmentos
  2. 12 segmentos
  3. 18 segmentos
  4. 24 segmentos
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um cliente QUIC que retoma uma conexão envia uma requisição elegível em seu primeiro conjunto de pacotes por um caminho com RTT de 55 ms. Com processamento desprezível e sem perda, quando os primeiros bytes da resposta podem chegar?
  1. Após cerca de 0 ms.
  2. Após cerca de 110 ms.
  3. Após cerca de 165 ms.
  4. Após cerca de 55 ms.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 5: Analise modelos e o comportamento do transporte10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um enlace anterior de 10 Mbps usava 30% da capacidade em pacotes descartados posteriormente e 20% em duplicatas desnecessárias, sem sobreposição entre as categorias. Uma mudança no controle reduz esses valores para 10% e 5%; o enlace permanece totalmente ocupado. Ignorando cabeçalhos, qual é o aumento da capacidade que transporta primeiras cópias úteis que chegam ao destino?
  1. 1,5 Mbps
  2. 2,0 Mbps
  3. 5,0 Mbps
  4. 3,5 Mbps
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma conexão é limitada por sua janela de recepção de 96.000 bytes em um caminho com RTT de 120 ms. A cwnd e a capacidade do gargalo são maiores. Qual janela de recepção permitiria o dobro da taxa atual no mesmo RTT?
  1. 48.000 bytes
  2. 192.000 bytes
  3. 96.000 bytes
  4. 768.000 bytes
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Um remetente em partida lenta começa uma rodada com 12 MSS. Um receptor envia um ACK a cada dois segmentos completos, e cada ACK aumenta cwnd em um MSS. Não há perda e ssthresh é muito maior. Qual janela resulta após duas rodadas completas idealizadas usando a mesma regra de ACK?
  1. 24 MSS
  2. 48 MSS
  3. 27 MSS
  4. 30 MSS
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

O temporizador de retransmissão de um remetente Reno expira para dados pendentes. Qual janela de congestionamento inicia a partida lenta resultante?
  1. Um SMSS.
  2. Dois SMSS.
  3. Metade de FlightSize.
  4. ssthresh mais três SMSS.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Para duas transferências de longa duração semelhantes às do Reno com o mesmo MSS, a conexão B tem o dobro do RTT de A. O que deve acontecer com a fração de perda de B para que o modelo da taxa de perda preveja o dobro da vazão de A?
  1. Deve ser um quarto da de A.
  2. Deve ser um oitavo da de A.
  3. Deve ser metade da de A.
  4. Deve ser um dezesseis avos da de A.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Dois fluxos sincronizados começam em 10 e 2 Mbps em um enlace de 16 Mbps. Ambos acrescentam 1 Mbps por etapa e reduzem suas taxas pela metade sempre que sua soma ultrapassa 16 pela primeira vez. Quais taxas resultam da segunda redução pela metade?
  1. 5,25 e 3,25 Mbps.
  2. 4,5 e 3,5 Mbps.
  3. 5,5 e 3,5 Mbps.
  4. 6,5 e 2,5 Mbps.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um fluxo DCTCP tem α=0,2, uma fração de bytes marcados recém-medida de 0,6, g=1/4 e cwnd=80 MSS. Quais valores de alfa e da janela resultam após atualizar alfa e depois aplicar sua redução?
  1. Alfa 0,6; janela de 56 MSS.
  2. Alfa 0,3; janela de 68 MSS.
  3. Alfa 0,3; janela de 56 MSS.
  4. Alfa 0,2; janela de 72 MSS.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

O BBR estima um gargalo de 80 Mbps e RTT mínimo de 40 ms. Ele entra em ProbeBW Up com ganho de cadenciamento de 1,25 e ganho de janela de 2. Quais são a taxa de cadenciamento e o limite da janela, e essa fase pode criar enfileiramento?
  1. 160 Mbps e 800.000 bytes; não pode criar uma fila.
  2. 100 Mbps e 400.000 bytes; não pode criar uma fila.
  3. 100 Mbps e 800.000 bytes; pode criar uma fila.
  4. 160 Mbps e 400.000 bytes; pode criar uma fila.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

O QUIC tem RTT=80 ms suavizado, variação de RTT = 15 ms, atraso máximo de ACK = 20 ms e granularidade do temporizador = 1 ms. Após uma amostra anterior de RTT, um intervalo contínuo de 510 ms atende a todas as outras condições de perda para congestionamento persistente. Com datagramas máximos de 1.250 bytes, o que o controlador padrão deve fazer?
  1. Manter a janela porque o limiar é 540 ms.
  2. Definir a janela como 1.250 bytes após o intervalo.
  3. Reduzir repetidamente pela metade para cada datagrama perdido no intervalo.
  4. Reduzir a janela ao mínimo de 2.500 bytes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um objeto pequeno termina enquanto o TCP ainda está em partida lenta. Por que uma estimativa de vazão em dente de serra para longa duração é uma previsão ruim de seu tempo de conclusão?
  1. O objeto não entrou em ciclos repetidos de crescimento e perda em regime estável.
  2. O objeto está isento da janela anunciada pelo receptor durante a partida.
  3. O RTT afeta apenas a recuperação de perdas após o início da prevenção de congestionamento.
  4. A janela inicial é substituída pelo BDP completo do gargalo no estabelecimento da conexão.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Travou em uma questão sua? Ajuda com Tarefas

Termos-Chave

95 Termos-Chave, cada um com sua definição

A

Aproximação de Mathis
A aproximação de Mathis estima a vazão de longa duração semelhante à do Reno a partir do MSS, do RTT e da fração de perda sob condições simplificadas de regime estável.
Com perda inalterada, dobrar o RTT reduz pela metade a taxa prevista mesmo quando o enlace físico é mais rápido.
Atraso controlado (CoDel)
O atraso controlado, CoDel, sinaliza congestionamento quando o tempo de espera dos pacotes permanece acima de uma meta durante um intervalo de medição.
Um tempo mínimo de permanência na fila acima de 5 ms durante um intervalo de 100 ms indica uma fila persistente nas configurações padrão.
Atraso de reconhecimento
O atraso de reconhecimento informa quanto tempo um receptor QUIC esperou antes de reconhecer, permitindo ajustes de RTT validados e limitados após a negociação.
Subtrair a espera elegível do receptor ajuda a separar o reconhecimento atrasado do tempo passado no caminho.
Atraso excessivo por acúmulo em buffers
O atraso excessivo por acúmulo em buffers é um atraso excessivo persistente causado por buffers superdimensionados e ocupados, frequentemente mantido por tráfego baseado em perda que sonda a capacidade.
Uma chamada de vídeo fica lenta durante um envio de dados porque seus pacotes esperam atrás de um grande acúmulo no roteador.
Aumento aditivo
O aumento aditivo acrescenta uma quantidade fixa por etapa de controle; na prevenção de congestionamento do Reno, a janela ganha cerca de um SMSS por RTT.
Dois fluxos Reno em condições iguais acrescentam quantidades semelhantes de segmentos por rodada, mesmo que um tenha atualmente uma janela maior.
Aumento aditivo e redução multiplicativa (AIMD)
O AIMD combina aumento aditivo com redução multiplicativa, sondando repetidamente a capacidade e reduzindo o envio proporcionalmente em caso de congestionamento.
Com sinais iguais, dois fluxos preservam sua diferença durante o crescimento e a reduzem a cada redução.

B

Baixa latência, baixa perda e vazão escalável (L4S)
O L4S é uma arquitetura experimental que combina controle de congestionamento escalável, ECT(1) e gerenciamento acoplado de filas para obter atraso de fila muito baixo.
Marcações frequentes com filas curtas orientam o tráfego escalável enquanto um projeto de filas acopladas acomoda o tráfego clássico.
BBR
O BBR é um controlador baseado em modelo que estima a largura de banda do gargalo e o RTT mínimo e depois usa cadenciamento e limites de dados em trânsito para controlar o envio.
Sua estimativa de largura de banda e seu RTT mínimo definem um BDP mesmo quando o RTT medido atual inclui enfileiramento.
Bloqueio de início de fila (HOL)
O bloqueio de início de fila atrasa dados ordenados posteriores devido à ausência de uma parte anterior; o fluxo único de bytes do TCP pode impor esse bloqueio entre requisições não relacionadas.
Um segmento TCP perdido pode atrasar a resposta posterior de uma imagem mesmo que todos os bytes dessa resposta tenham chegado.

C

Cadenciamento de pacotes
O cadenciamento de pacotes distribui as transmissões ao longo do tempo para seguir uma taxa-alvo e evitar o envio de uma janela inteira permitida em uma única rajada.
Uma aplicação espaça os pacotes de saída durante a rodada em vez de liberá-los todos quando um ACK chega.
Carga oferecida
A carga oferecida é o tráfego total que os remetentes inserem em uma rede, incluindo dados novos, retransmissões e repetições desnecessárias.
Uma nova tentativa aumenta a carga oferecida mesmo quando transporta dados de aplicação já enviados em um pacote anterior.
Colapso por congestionamento
O colapso por congestionamento é um estado de sobrecarga grave em que a rede permanece ocupada, mas entrega pouquíssimos dados novos e úteis.
Enlaces anteriores transportam muitos pacotes que são descartados depois, deixando pouca capacidade para entregas bem-sucedidas.
Conexões paralelas
Conexões paralelas são várias conexões de transporte simultâneas usadas por uma aplicação, cada uma podendo competir por uma parcela separada por fluxo.
Um usuário com quatro conexões comparáveis pode receber mais capacidade total que um usuário com apenas uma.
Congestionamento
O congestionamento ocorre quando o tráfego sustentado excede a capacidade disponível em uma parte da rede, causando filas e, por fim, perdas.
Várias entradas juntas sobrecarregam uma saída de roteador, embora cada entrada isoladamente esteja abaixo de sua capacidade.
Congestionamento detectado (CE)
Congestionamento detectado, CE, é o ponto de código ECN do IP 11 que indica que um roteador marcou o pacote como aviso de congestionamento.
Um pacote CE entregue faz o receptor ecoar o congestionamento sem afirmar que seus dados estão faltando.
Congestionamento persistente
O congestionamento persistente é um longo intervalo de perda no QUIC que atende às condições e excede seu limiar de duração baseado em RTT, acionando a redução à janela mínima.
Uma sequência prolongada de pacotes perdidos que provocam reconhecimentos pode reduzir cwnd para dois datagramas de tamanho máximo.
Contagem apropriada de bytes (ABC)
A contagem apropriada de bytes usa a quantidade de bytes recém-reconhecidos no crescimento da janela, reduzindo sua dependência do número de ACKs enviados pelo receptor.
Um ACK que abrange vários segmentos transporta mais informações de entrega do que um ACK de um segmento.
Controle baseado em janela
O controle baseado em janela limita a quantidade de dados em trânsito ainda não reconhecidos, permitindo novas transmissões à medida que os reconhecimentos liberam espaço.
Um remetente com a janela de congestionamento cheia espera os ACKs retornarem antes de acrescentar mais dados comuns.
Controle baseado em taxa
O controle baseado em taxa escolhe diretamente uma taxa de envio, frequentemente espaçando os pacotes ao longo do tempo e também limitando a quantidade permitida em trânsito.
Um controlador define uma taxa-alvo de 15 Mbps mesmo que seu limite separado de dados em trânsito permita uma rajada curta.
Controle de congestionamento assistido pela rede
O controle de congestionamento assistido pela rede usa sinais explícitos dos roteadores para informar ao remetente que ele deve ajustar o tráfego que entra no caminho.
Um AQM marca um pacote e o receptor ecoa o aviso ao remetente em um reconhecimento.
Controle de congestionamento fim a fim
O controle de congestionamento fim a fim ajusta o tráfego usando observações das extremidades, sem sinais explícitos de congestionamento fornecidos pelos roteadores.
O Reno interpreta um segmento faltante como motivo para reduzir sua janela mesmo sem uma marca ECN.
Controle de fluxo
O controle de fluxo limita o envio à capacidade de armazenamento disponível no receptor, protegendo essa extremidade de dados que ela não consegue aceitar.
Um receptor anuncia uma janela menor quando sua aplicação demora para consumir os dados recebidos.
Convergência rápida
A convergência rápida reduz o pico registrado pelo CUBIC quando ocorre congestionamento abaixo do pico anterior, ajudando no ajuste à redução da capacidade disponível.
Um novo fluxo que entra em um gargalo pode fazer o fluxo antigo revisar o pico que molda seu crescimento futuro.
CUBIC
O CUBIC é um controlador de congestionamento baseado em perda cujo alvo básico de janela é uma função cúbica do tempo em torno de um ponto de congestionamento registrado.
Um fluxo com BDP grande pode recuperar sua janela reduzida mais rápido do que o crescimento de um segmento por RTT do Reno permite.

D

Dados antecipados 0-RTT
Os dados antecipados 0-RTT permitem que um cliente QUIC que retoma uma conexão envie dados de aplicação elegíveis antes de esperar a conclusão da negociação, com riscos de repetição a gerenciar.
Enviar uma requisição imediatamente pode economizar atraso de estabelecimento, mas a resposta ainda precisa de uma ida e volta para chegar.
Descarte na cauda
O descarte na cauda é uma política de fila FIFO que descarta os pacotes que chegam quando o buffer está cheio, tornando o transbordamento físico seu sinal de congestionamento.
Vários fluxos podem perder pacotes quase ao mesmo tempo quando seu buffer compartilhado com descarte na cauda fica cheio.
Desigualdade de compartilhamento causada por diferenças de RTT
A desigualdade de compartilhamento causada por diferenças de RTT é a divisão desigual causada por tempos de ida e volta diferentes, que podem dar aos fluxos semelhantes ao Reno com RTT menor um crescimento mais frequente.
Com perdas iguais, um fluxo de 25 ms pode ter vazão prevista pelo modelo maior que a de um concorrente de 100 ms.
Detecção antecipada aleatória (RED)
A detecção antecipada aleatória, RED, sinaliza congestionamento com uma probabilidade que aumenta à medida que o tamanho médio da fila ultrapassa os limiares configurados.
Uma rajada curta pode passar porque a média do tamanho da fila aumenta mais lentamente que o pico instantâneo.
Diagrama de Chiu–Jain
Um diagrama de Chiu–Jain representa as taxas de dois fluxos para mostrar como atualizações de controle aproximam ou afastam uma alocação do compartilhamento eficiente e igual.
Uma redução sincronizada pela metade move o ponto das taxas em direção à origem ao longo de uma semirreta que preserva sua razão.

E

Eco de ECN (ECE)
O eco de ECN, ECE, é o indicador TCP que um receptor usa no retorno ECN clássico para informar marcas de congestionamento até que o remetente confirme sua resposta.
Vários ACKs com ECE podem ecoar o mesmo evento enquanto o segmento CWR do remetente ainda está em trânsito.
Enfileiramento justo
O enfileiramento justo separa o tráfego em filas por fluxo e lhes dá oportunidades de atendimento, permitindo que um roteador imponha o compartilhamento por fluxo.
Um fluxo interativo não precisa esperar atrás de todo o acúmulo de um fluxo volumoso quando cada um tem sua própria fila atendida.
Equidade máx-min
A equidade máx-min aloca capacidade de modo que aumentar um fluxo exige reduzir um fluxo com alocação igual ou menor.
Um fluxo de baixa demanda recebe o que precisa, e depois a capacidade restante é dividida entre os fluxos ainda não atendidos.
Espaço de números de pacote
Um espaço de números de pacote é um contexto de numeração QUIC no qual os números dos pacotes transmitidos aumentam e nunca são reutilizados.
Dados de fluxo reenviados recebem um novo número de pacote em vez de reutilizar o número da transmissão perdida.
Estado de sondagem de largura de banda (ProbeBW)
ProbeBW é o estado de sondagem de largura de banda do BBR, que usa fases para testar a existência de mais capacidade e depois esvaziar ou manter o tráfego em trânsito.
A fase Up pode formar uma fila breve ao cadenciar acima da estimativa atual antes que uma fase mais lenta venha em seguida.
Estado de sondagem do RTT (ProbeRTT)
ProbeRTT reduz os dados em trânsito do BBR para atualizar a estimativa do RTT mínimo, com condições de duração e de ida e volta no rascunho da versão 3.
Um acúmulo temporariamente reduzido dá ao remetente a chance de observar o caminho com menos atraso de fila.

F

Fila de saída
Uma fila de saída é um buffer de roteador que armazena pacotes à espera de transmissão em um determinado enlace de saída.
Um pacote atrás de 200.000 bytes espera enquanto o enlace de saída transmite esses bytes antes dele.
Fila persistente
Uma fila persistente é um acúmulo que não esvazia entre rajadas, acrescentando atraso mesmo quando a saída permanece totalmente utilizada.
Durante uma grande transferência, o menor atraso de fila observado permanece alto em vez de voltar a quase zero.
Fluxo QUIC
Um fluxo QUIC é um fluxo de bytes ordenado independentemente dentro de uma conexão, permitindo a entrega sem esperar por lacunas em fluxos não relacionados.
Uma perda limitada ao fluxo A não precisa impedir que os bytes recebidos no fluxo B cheguem à sua aplicação.
Fração de perda
A fração de perda é a proporção de segmentos transmitidos que são perdidos, representada como fração em vez de porcentagem no modelo de vazão.
Uma fração de perda de 0,001 significa um segmento em mil, ou 0,1%, antes de considerar os efeitos das expirações de tempos limite.

G

Ganho de cadenciamento
Um ganho de cadenciamento multiplica a largura de banda estimada do gargalo pelo BBR para escolher uma taxa de envio em uma determinada fase de sondagem ou esvaziamento.
Um ganho de 1,25 sobre uma estimativa de 40 Mbps define uma meta de 50 Mbps durante uma fase de sondagem de largura de banda.
Ganho de janela
Um ganho de janela multiplica o BDP estimado pelo BBR para definir um limite de dados em trânsito, separado do ganho que define sua taxa de envio cadenciada.
Um limite de dois BDPs permite dados pendentes adicionais sem determinar diretamente uma taxa de duas vezes a largura de banda.
Gargalo
Um gargalo é o enlace com a menor capacidade disponível para determinado tráfego ao longo de seu caminho, limitando sua taxa de entrega.
Uma rede local rápida alimenta um enlace de acesso mais lento, onde o tráfego de saída combinado começa a esperar.
Gerenciamento ativo de filas (AQM)
O gerenciamento ativo de filas, AQM, descarta ou marca pacotes antes do transbordamento para sinalizar congestionamento e limitar o enfileiramento persistente.
Um roteador pode pedir a um remetente que reduza sua taxa enquanto ainda há espaço no buffer físico de pacotes.

I

Inflação da janela
A inflação da janela acrescenta temporariamente espaço à janela de recuperação do Reno para ACKs duplicados que indicam que pacotes posteriores saíram da rede.
Um ACK duplicado adicional durante a recuperação rápida do Reno acrescenta um SMSS antes que a janela seja reduzida posteriormente.
Intervalo de reconhecimento
Um intervalo de reconhecimento informa um grupo contíguo de números de pacote QUIC recebidos, permitindo que o remetente identifique transmissões recebidas e lacunas.
Vários intervalos recebidos podem revelar vários pacotes faltantes sem depender de um único limite cumulativo.

Í

Índice de equidade de Jain
O índice de equidade de Jain mede a igualdade de taxas não negativas com total diferente de zero, chegando a 1 para igualdade e a 1/n quando um entre n fluxos recebe tudo.
Dois fluxos igualmente lentos recebem pontuação 1 mesmo que juntos deixem a maior parte da capacidade do gargalo sem uso.

J

Janela de congestionamento (cwnd)
A janela de congestionamento, cwnd, é um estado mantido pelo remetente que limita os bytes de dados em trânsito ainda não reconhecidos para controle de congestionamento.
O remetente pode reduzir cwnd mesmo enquanto o receptor continua anunciando bastante espaço livre no buffer.
Janela de congestionamento reduzida (CWR)
Janela de congestionamento reduzida, CWR, é o indicador TCP que informa ao receptor que o remetente respondeu a um aviso ECN clássico.
O receptor para de ativar ECE após chegar um segmento de dados novos com o indicador CWR do remetente.
Janela de recepção (rwnd)
A janela de recepção, rwnd, é o limite anunciado pelo receptor e usado no controle de fluxo do TCP para restringir os dados pendentes que o receptor pode aceitar.
Uma rwnd de 20.000 bytes pode limitar o envio mesmo quando cwnd permitiria 60.000 bytes em trânsito.
Janela inicial
A janela inicial é o limite da janela de congestionamento que um remetente usa quando uma conexão começa, antes de conhecer a capacidade disponível do caminho.
Uma janela inicial maior pode permitir que uma transferência pequena termine em menos rodadas iniciais quando o caminho a suporta.
Janela máxima de referência (Wmax)
Wmax é a janela registrada pelo CUBIC perto de um evento de congestionamento, usada para moldar a curva em torno de um ponto de operação anterior.
A convergência rápida pode reduzir Wmax quando uma nova perda ocorre antes que o pico anterior seja recuperado.
Joelho da curva
O joelho da curva é a região de uma curva de carga e desempenho além da qual a carga oferecida adicional aumenta pouco a vazão, mas eleva rapidamente o atraso.
Um envio adicional de dados quase não aumenta a vazão total, mas faz cada fluxo interativo esperar mais.

L

Limiar de pacotes
O limiar de pacotes declara um pacote QUIC perdido quando um pacote suficientemente posterior é reconhecido, com uma diferença recomendada de três números.
Um ACK do pacote 24 pode estabelecer a perda pelo limiar do pacote 21 ainda não reconhecido no mesmo espaço.
Limiar de partida lenta (ssthresh)
O limiar de partida lenta, ssthresh, é um estado do remetente que seleciona partida lenta abaixo dele e prevenção de congestionamento acima dele, permitindo qualquer um dos dois quando os valores são iguais.
Um acompanhamento que atinge 8 MSS pode passar ao crescimento de um MSS por RTT quando seu limiar também é 8 MSS.
Limiar de tempo
O limiar de tempo detecta perda no QUIC a partir do tempo decorrido desde o envio, quando se sabe que um pacote posterior foi entregue, usando um multiplicador de RTT recomendado de 9/8.
O remetente compara a idade do pacote com o maior valor entre seu RTT mais recente e o suavizado, multiplicado por esse fator.

M

Migração de conexão
A migração de conexão permite que uma conexão QUIC compatível continue após uma mudança de endereço ou porta, usando IDs de conexão e validação do caminho.
Um telefone pode preservar sua conexão ao passar do Wi-Fi para a rede celular em vez de iniciar uma nova.
Modelo de dente de serra
O modelo de dente de serra aproxima o crescimento linear e a redução pela metade repetidos da janela do Reno, resultando em uma janela média de três quartos do pico.
Um pico de 20 segmentos corresponde a cerca de 15 segmentos em média quando as condições do modelo são atendidas.

N

NewReno
O NewReno melhora a recuperação do Reno reparando o próximo segmento faltante após um ACK parcial e permanecendo em recuperação até reconhecer os dados originalmente em trânsito.
Duas perdas nos mesmos dados em trânsito podem ser reparadas sem uma nova redução imediata da janela após o primeiro reparo.
Notificação explícita de congestionamento (ECN)
A notificação explícita de congestionamento, ECN, permite que um roteador marque um pacote com suporte a ECN para sinalizar congestionamento enquanto ainda encaminha seus dados.
O receptor pode informar um aviso do roteador mesmo que o pacote marcado tenha chegado com sucesso.

O

Ossificação de protocolos
A ossificação de protocolos dificulta a implantação de mudanças porque dispositivos ou implementações de rede existentes dependem da forma atual do protocolo.
Um dispositivo intermediário de rede que rejeita indicadores TCP desconhecidos pode impedir que duas extremidades capazes usem uma extensão.

P

Partida lenta
A partida lenta aumenta cwnd em até um SMSS por ACK de dados novos, produzindo crescimento aproximadamente exponencial quando uma janela totalmente utilizada é reconhecida.
Com um ACK por segmento, uma janela inicial de 2 MSS cresce para cerca de 4 MSS após um RTT completo.
Período de recuperação
Um período de recuperação agrupa a resposta do QUIC ao congestionamento para que perdas de dados anteriormente em trânsito não reduzam cwnd repetidamente antes do reconhecimento de um pacote enviado durante a recuperação.
Mais dois pacotes enviados antes da recuperação podem ser perdidos sem causar duas reduções adicionais da janela pela metade.
Precipício da curva
O precipício da curva é a região além da qual o aumento da carga oferecida reduz a vazão fim a fim, pois descartes e transmissões desperdiçadas passam a predominar.
A rede transporta mais tráfego depois que outro remetente começa a enviar, mas a vazão útil entregue cai.
Prevenção de congestionamento
A prevenção de congestionamento é a fase de sondagem do Reno em que cwnd aumenta cerca de um SMSS por RTT até que um sinal de congestionamento a interrompa.
Uma janela de 25 MSS cresce para cerca de 26 MSS durante uma rodada sem perda, em vez de dobrar para 50.
Problema de recuperação em redes de alta velocidade
O problema de recuperação em redes de alta velocidade é a restauração lenta de uma janela grande reduzida pelo Reno, pois a prevenção de congestionamento acrescenta apenas um segmento por RTT.
Recuperar milhares de segmentos da janela pode levar minutos em um caminho com tempo de ida e volta longo.
Produto largura de banda-atraso (BDP)
O produto largura de banda-atraso, BDP, é a largura de banda do gargalo multiplicada pelo RTT sem filas, estimando os dados em trânsito necessários para preencher esse caminho.
Um caminho de 10 Mbps com RTT mínimo de 80 ms precisa de cerca de 100.000 bytes em trânsito antes que uma fila persistente se forme.

Q

Quantidade de dados em trânsito (FlightSize)
FlightSize é a quantidade de dados enviados, mas ainda não reconhecidos, que pode ser menor que a janela de congestionamento quando a aplicação envia menos.
Com cwnd de 30 MSS, mas apenas 12 MSS pendentes, o limiar de perda do Reno se baseia nos 12 MSS em trânsito.
QUIC
O QUIC é um protocolo de transporte seguro sobre UDP que fornece fluxos confiáveis, controle de fluxo e controle de congestionamento, normalmente por meio de uma biblioteca no espaço do usuário.
Uma atualização da aplicação pode distribuir uma melhoria de transporte QUIC sem esperar por uma mudança no sistema operacional.

R

Reconhecimento atrasado
Um reconhecimento atrasado abrange mais de um segmento recebido ou espera brevemente antes de ser enviado, reduzindo o número de pacotes ACK.
Um ACK para cada dois segmentos completos desacelera o crescimento pela regra simples de um aumento por ACK na partida lenta.
Reconhecimento parcial
Um reconhecimento parcial avança o ACK cumulativo, mas deixa pendentes alguns dados que estavam em trânsito quando a recuperação começou.
O NewReno trata esse ACK como evidência de outra lacuna e continua a recuperação em vez de sair cedo.
Reconhecimento seletivo (SACK)
O reconhecimento seletivo, SACK, informa blocos de bytes recebidos além do ACK cumulativo para que um remetente TCP possa identificar várias lacunas.
Blocos recebidos dos dois lados de duas lacunas ajudam o remetente a escolher quais dados ainda precisam de retransmissão.
Recuperação rápida
A recuperação rápida é o processo de recuperação por ACKs duplicados do Reno que infla cwnd temporariamente e depois a reduz para ssthresh quando um ACK avança o reconhecimento.
Um limiar de 10 MSS resulta em uma janela de entrada de 13 MSS, antes da redução posterior para 10 MSS.
Redução multiplicativa
A redução multiplicativa multiplica uma janela de congestionamento ou taxa de envio por um fator fixo, removendo uma quantidade absoluta maior de um fluxo maior.
Reduzir taxas de 12 e 4 Mbps pela metade resulta em 6 e 2 Mbps, diminuindo a diferença enquanto preserva sua razão.
Região amigável ao Reno
A região amigável ao Reno é o comportamento do CUBIC em que uma estimativa AIMD dependente do RTT supera o alvo cúbico e determina o crescimento.
Um fluxo CUBIC com RTT curto pode se recuperar antes que a curva puramente baseada no tempo retorne ao pico anterior.
Reta de eficiência
A reta de eficiência no diagrama de dois fluxos contém pares de taxas cuja soma é igual à capacidade disponível do gargalo compartilhado.
Em um enlace de 14 Mbps, tanto 7 e 7 Mbps quanto 12 e 2 Mbps estão na reta de eficiência.
Reta de equidade
A reta de equidade no diagrama de dois fluxos contém pares de taxas em que ambos os fluxos têm a mesma taxa, independentemente de sua utilização total.
Taxas de 2 e 2 Mbps estão na reta de equidade mesmo quando o enlace compartilhado pode transportar muito mais.
Retransmissão
Uma retransmissão é outra transmissão de dados enviados anteriormente, usada por um protocolo de transporte confiável para recuperar dados considerados faltantes.
Reparar um segmento perdido usa capacidade do enlace que poderia transportar bytes novos de aplicação.
Retransmissão desnecessária
Uma retransmissão desnecessária envia dados novamente embora o original estivesse apenas atrasado ou seu reconhecimento ainda não tivesse retornado.
Uma fila longa pode durar mais que o temporizador do remetente, provocando uma substituição enquanto o original permanece em trânsito.
Retransmissão rápida
A retransmissão rápida reenvia um segmento após o terceiro ACK duplicado identificar uma lacuna provável, evitando a espera pelo temporizador de retransmissão.
Segmentos posteriores chegam depois de um segmento faltante e geram ACKs duplicados suficientes para provocar reparo imediato.
RTT de referência
O RTT de referência é o menor RTT usado como estimativa de um caminho com pouco ou nenhum enfileiramento, fornecendo uma referência para o controle baseado em atraso.
O Vegas compara um RTT medido de 40 ms com um RTT de referência de 30 ms para estimar quantos dados estão esperando.

S

Sinal de congestionamento
Um sinal de congestionamento é uma perda, um atraso ou uma informação explícita que um controlador interpreta ao decidir se deve mudar seu comportamento de envio.
Um aumento acima do RTT mínimo do caminho pode avisar sobre uma fila antes que qualquer pacote seja descartado.
Sincronização global
A sincronização global ocorre quando muitos fluxos sofrem perdas e reduzem suas janelas juntos, produzindo uma queda compartilhada na utilização.
A sinalização antecipada aleatória pode distribuir as respostas ao congestionamento em vez de fazer todos os remetentes reduzirem suas taxas pela metade ao mesmo tempo.
Sincronização por ACKs
A sincronização por ACKs determina o momento de novos envios pelos reconhecimentos que retornam, vinculando o tráfego de substituição ao ritmo de entrega do gargalo.
Quando um segmento sai do caminho e seu ACK retorna, o remetente ganha espaço para uma substituição.

T

Tamanho máximo de segmento (MSS)
O tamanho máximo de segmento, MSS, é a maior carga útil de dados de aplicação TCP em um segmento, excluindo os cabeçalhos TCP e IP.
Um segmento com 1.460 bytes de carga útil precisa de bytes adicionais para seus cabeçalhos TCP e IP no enlace.
TCP para centros de dados (DCTCP)
O TCP para centros de dados, DCTCP, dimensiona as reduções de janela usando a fração suavizada de bytes marcados em uma rede controlada compatível.
Quando alfa é 0,2, ele mantém 90% de sua janela em vez de reduzi-la pela metade diante de qualquer marca.
TCP Vegas
O TCP Vegas usa a diferença entre as taxas de entrega esperada e medida para estimar os dados enfileirados e ajustar sua janela com base no atraso.
O aumento do RTT pode fazer o Vegas reduzir sua taxa enquanto um concorrente baseado em perda continua enchendo a fila compartilhada.
Tempo de ida e volta (RTT)
O tempo de ida e volta, RTT, é o tempo para uma transmissão chegar à outra extremidade e seu reconhecimento retornar, incluindo as esperas pertinentes.
Uma fila crescente no roteador aumenta o RTT medido mesmo que o caminho físico de propagação não tenha mudado.
Tempo de permanência na fila
O tempo de permanência na fila de um pacote é o tempo que ele passa em uma fila entre sua entrada e sua saída para transmissão.
O CoDel registra o instante de chegada de um pacote e usa sua duração de espera para decidir se o atraso persiste.
Tempo de retorno K do CUBIC
O tempo de retorno K do CUBIC é o tempo decorrido até que a curva cúbica básica atinja o Wmax registrado após uma redução comum.
Com Wmax de 100 segmentos e as constantes padrão, a curva pura retorna após cerca de 4,22 s.
Tempo limite de retransmissão (RTO)
A expiração do tempo limite de retransmissão ocorre quando o reconhecimento de dados pendentes não chega antes do fim do temporizador, acionando o reparo e uma reinicialização cautelosa.
O Reno retorna a uma janela de um segmento após seu temporizador expirar, mesmo que a janela de congestionamento anterior fosse grande.
Tempo limite de sondagem (PTO)
Um tempo limite de sondagem, PTO, leva o QUIC a enviar tráfego que provoca reconhecimentos quando os sinais deixam de chegar, sem reduzir por si só a janela de congestionamento ao mínimo.
Uma sondagem pode restabelecer os sinais antes que o remetente tenha evidências suficientes para declarar congestionamento persistente.
Tráfego amigável ao TCP
O tráfego amigável ao TCP não usa mais largura de banda do que um fluxo TCP comparável nas mesmas condições de rede, apoiando uma coexistência justa.
Uma aplicação pode usar uma equação de taxa baseada no TCP para evitar sobrecarregar transferências TCP que reagem ao congestionamento.
Transporte com suporte a ECN (ECT)
Um transporte com suporte a ECN declara por meio de um ponto de código ECT que seu pacote pode receber uma marca de congestionamento detectado de um roteador.
Um AQM pode mudar ECT(0) para CE, enquanto o tráfego Not-ECT precisa ser descartado quando é necessário sinalizar congestionamento.

V

Vazão
A vazão é a taxa de entrega de pacotes ou bytes, medida em um ponto e em uma camada especificados da rede.
A vazão de um enlace ocupado pode permanecer alta enquanto a aplicação recebe muito menos dados novos e úteis.
Vazão útil
A vazão útil é a taxa de dados úteis entregues à aplicação receptora, contando cada parte uma vez e excluindo a sobrecarga dos protocolos.
Receber os mesmos bytes de aplicação duas vezes não acrescenta vazão útil após a primeira entrega útil.

Sobre esta aula

Por StudeliRelatar um erro

Crie seus próprios Materiais de Estudo

Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.

Começar