O tempo de ida e volta e o intervalo entre pacotes
Grandezas fora do sistema · exprimem-se em segundos SI · o RTT e o Δt entre pacotes
Em 1983 Mike Muuss, enquanto averiguava uma avaria numa rede, escreveu numa só noite um pequeno programa que enviava a uma máquina um pedido curto e imprimia o tempo decorrido até à resposta. O nome tomou-o dos sonaristas: um submarino lança um estalido e escuta o eco, e a distância calcula-se a partir de uma só diferença de tempos. Desse hábito de medir nasceu a unidade: o que se regista não é a ida nem a volta, mas o laço inteiro.
A subtileza está em que a ida e volta se mede com um só relógio: o pedido parte e a resposta chega à mesma máquina, e por isso a diferença das leituras não depende de os relógios da outra ponta concordarem. O atraso de ida não se consegue tão facilmente: para ele são precisos relógios acertados com mais finura do que o próprio atraso, ou seja, ou um protocolo à parte de transferência da hora, ou um recetor de tempo por satélite em cada ponta.
01 · Definição
O tempo de ida e volta é o intervalo entre o envio de um pacote e a chegada da resposta a ele, medido por um e o mesmo relógio. O intervalo entre pacotes é o tempo que medeia a saída de dois pacotes vizinhos de um mesmo fluxo; não é a rede que o fixa, mas quem a carrega.
A ida e volta compõe-se de três parcelas de natureza diferente, e distingui-las importa, porque cada uma se cura de outro modo. A primeira é o tempo de propagação, fixado pelo comprimento do trajeto e pela velocidade da luz na fibra, e não cede a nada senão a um cabo mais curto. A segunda é a serialização, o tempo de empurrar o pacote para a linha, e diminui quanto mais rápida for a ligação. A terceira é a fila nas memórias intermédias dos nós, e só ela depende de quão carregada está a rede nesse instante.
Daqui decorre uma circunstância pouco evidente: pode alargar-se a ligação dez vezes e a ida e volta não muda em nada, pois o alargamento só retira a serialização, ao passo que as filas e o comprimento do trajeto ficam onde estavam. Mais ainda: em memórias feitas com folga «por via das dúvidas», os pacotes não se perdem mas esperam, e a ida e volta sob carga cresce até aos segundos — é esse o mal a que chamaram bufferbloat.
O intervalo entre pacotes não está ao lado por acaso: quase tudo o que acontece a um fluxo se decide na razão do intervalo para a ida e volta. Enquanto os pacotes saem mais vezes do que voltam os avisos de receção, o emissor trabalha às cegas e tem de manter no trajeto tantos dados quantos fisicamente lá cabem — e essa quantidade é precisamente o produto do débito pela ida e volta.
Escolha um trajeto e passeie o cursor pelo tamanho do pacote. O pacote azul parte do bastidor da esquerda para o da direita e volta cor de laranja; a banda sob o trajeto decompõe a ida e volta em três parcelas, para que se veja em que ela se gasta de verdade. Alargar a ligação encurta apenas a parte do meio — aquela que nos trajetos longos é de todo o modo a menor.
A memória barateou antes de os algoritmos mudarem, e os fabricantes puseram nos aparelhos filas de centenas de pacotes, supondo que uma memória a mais não faria mal. Saiu ao contrário: uma fila cheia não perde os pacotes mas retém-nos, o emissor não recebe sinal algum de congestão e continua a carregar. A ida e volta de uma ligação doméstica sob carga chegou a segundo e meio, ficando o débito o mesmo.
02 · Conversão
Ida e volta, conduta e fluxo de pacotes
Introduza uma ida e volta nas unidades que quiser, e a ficha convertê-la-á nas restantes e depois calculará o que dela depende: quantos dados cabem no trajeto a diferentes débitos, que limite põe a janela e que intervalo entre pacotes escolhem os vários codificadores.
O débito para calcular a capacidade é tomado do trajeto escolhido na parte interativa; nos ajustes finos pode fixar-se num gigabit.
O ping não mede bem aquilo de que um programa de aplicação precisa. O tratamento de um pedido de eco num nó distante segue um caminho à parte, muitas vezes contornando o processador principal, e por isso o seu atraso não coincide com o de uma ligação verdadeira; outros aparelhos, por seu turno, respondem a tais pedidos em último lugar, ou não respondem. Por isso um ping grande nem sempre significa uma ligação lenta, nem um pequeno garante uma rápida.
| Valor | Nota | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · Ordens de grandeza
escala logarítmica: do microssegundo ao segundo04 · Instrumentos de medição
Com que se apanha o tempo de ida e volta
O programa envia um pacote com uma marca de tempo e aguarda o seu regresso, e a diferença das leituras é a ida e volta. O seu mérito está em bastar um relógio e não ser preciso do interlocutor senão a vontade de responder; o seu defeito, em que ele responde por um caminho à parte, não necessariamente rápido.
Registado o troco inteiro, a ida e volta obtém-se do próprio fluxo: do tempo entre a saída de um segmento e a chegada do seu aviso de receção. Assim se mede justamente o atraso que o programa de aplicação vê, e de caminho torna-se visível a dispersão — aquilo que numa conversa estorva mais do que um atraso regular.
Os aparelhos que marcam a hora no próprio circuito de rede retiram a incerteza que o sistema operativo traz e levam a resolução a dezenas de nanossegundos. Trocam segundo um acordo à parte em que cada ponta põe duas marcas — e é isso que permite partir a ida e volta nas suas duas metades desiguais.
O atraso de ida só se mede onde os relógios de ambas as pontas estão trazidos a um tempo comum com mais finura do que o próprio atraso: para isso balizam-se as linhas com um protocolo à parte de sincronização ou instalam-se recetores de tempo por satélite. Sem isso a ida e volta continua a ser o único número honesto.
05 · Regras de escrita
A ida e volta com a sua unidade, a dispersão à parte
A designação escreve-se com três maiúsculas latinas sem pontos; o valor, com a sua unidade e a indicação do que exatamente foi medido: uma sondagem única, a média de uma série ou a sua mediana. A dispersão dá-se ao lado, como número à parte, pois uma média sozinha nada diz sobre se os pacotes correm certos.
A primeira escrita passa sem unidade e, com ela, sem sentido: cento e trinta de quê — milissegundos ou microssegundos? A segunda faz passar uma suposição por uma medição, quando o caminho de ida e o de volta seguem muitas vezes vias diferentes e as metades saem desiguais. A terceira repete o erro mais espalhado e toma a ida e volta por propriedade da ligação e não do trajeto inteiro. A quarta troca as grandezas: um intervalo entre pacotes não é uma ida e volta.
06 · Unidades vizinhas
A ida e volta descreve o trajeto pelo lado do tempo; o débito, pelo lado da quantidade, e o produto de ambos dá uma terceira grandeza, a capacidade do trajeto, sem a qual não se afina nenhuma ligação rápida a grande distância. Ao lado está a dispersão do atraso, que na conversa e no jogo estorva mais do que um atraso regular.
quanto cabe num segundo
débito × ida e volta
tremulação segundo a RFC 3550
De entre as fichas do Simetrium estão ao lado o bit e byte, em que se conta a capacidade do percurso, segundo, à qual ambas as grandezas acabam por reduzir-se, decibel dos balanços de ligação e o ciclo de relógio, que fixa o limite de resolução das marcas de tempo por hardware.
07 · Secção histórica
O estalido e o eco
Quando entre a Universidade da Califórnia e o instituto de Menlo Park se transmitiu a primeira palavra, o operador ditava-a pelo telefone e aguardava a confirmação letra a letra. A ligação caiu à terceira letra, mas o próprio procedimento — enviado, esperada a resposta, olhado o relógio — veio a ser exatamente aquele que ainda hoje se usa.
Mike Muuss escreveu o seu programa numa noite, enquanto averiguava uma avaria, e chamou-lhe pelo som da sonda acústica: um impulso curto e depois a espera do reflexo. O nome saiu tão feliz que o verbo «pingar» entrou na língua muito para lá do ofício das redes e designa já qualquer mensagem curta que se manda para saber se está alguém.
No outono de 1986 o débito de uma das ligações universitárias caiu mil vezes: os emissores, não recebendo avisos de receção, mandavam cópias novas e acabavam de vez com o trajeto. Van Jacobson propôs um remédio que ainda hoje obra: vigiar a ida e volta e a sua dispersão e tomar o seu crescimento por sinal de congestão, contendo o envio antes de começarem as perdas.
Os algoritmos atuais de controlo de fluxo já não vigiam as perdas, mas diretamente o modo como a ida e volta cresce, e contêm o envio antes de a fila ter tempo de se encher. Os encaminhadores domésticos receberam disciplinas que mantêm a memória curta de propósito — e a ida e volta sob carga cai de segundo e meio para dezenas de milissegundos na mesmíssima ligação.
Metade da ida e volta é uma suposição, não uma medição
A ida e volta é cómoda por não exigir acordo dos relógios: tanto o envio como a receção são marcados por um só aparelho, e uma discrepância de escalas simplesmente não entra na diferença. É por isso que o ping funciona em toda a parte e não precisa de afinação, ao passo que o atraso de ida é grandeza bem mais caprichosa, que pede uma sincronização mais fina do que aquilo que se mede.
O hábito de partir a ida e volta ao meio mantém-se por essa razão, embora pouco o fundamente: o fluxo para o interlocutor e o que dele volta seguem não raro rotas diferentes, de comprimento e carga diferentes, de modo que as metades verdadeiras podem diferir para o dobro. A grandeza mais fácil de medir de todo o ofício das redes é também a que mais vezes se lê mal.
Catálogo · unidades de medida
Uma ficha para cada grandeza
Sete unidades de base do SI, vinte e duas derivadas com nome próprio e grandezas fora do sistema sem as quais nem a técnica nem o calendário funcionariam.