Resumo

  • A RFC 1363 propôs uma especificação de fluxo para que uma aplicação pedisse serviço especial à rede. Cada direção da conversa precisava de um pedido próprio; o campo de latência era uma preferência operacional, não um prazo máximo universal.
  • O pedido descrevia volume, rajadas, variação de atraso e perdas. A resposta distinguia indicação, garantia imperfeita, serviço previsto e garantia firme, porque um Ethernet no último salto podia saturar apesar de funcionar bem normalmente.

Imagine preencher “100 milissegundos” na ficha de uma videochamada. A conta parece resolvida até alguém perguntar a distância entre as pessoas. Craig Partridge levantou essa objeção na RFC 1363, publicada em setembro de 1992. No exemplo do texto, cem milissegundos entre os Estados Unidos e o Japão podiam agradar; dentro da mesma cidade, podiam decepcionar. O exemplo testa uma regra, não mede duas chamadas. Ele mostra como um número exato pode esconder uma decisão humana e geográfica.

O problema era novo para uma Internet que entregava pacotes sem tratar toda aplicação como um contrato de qualidade. Conferência multimídia, visualização e outras atividades distribuídas queriam prever quanto tráfego caberia, quanta espera seria tolerável e o que fazer com perdas. O host poderia negociar dias antes, ao estabelecer a comunicação ou já enviando dados. O documento evitou escolher esse ritual; descreveu as informações que precisariam entrar na negociação.

A primeira divisão era física: a ficha valia para uma direção. Falar e ouvir exige duas fichas, uma para cada sentido. A segunda divisão era semântica. Minimum Delay Noticed dizia em que ponto reduzir mais a latência deixaria de fazer diferença perceptível. Não autorizava o aplicativo a impor o mesmo prazo final a qualquer caminho. A rede nem sempre conhecia a geografia, e hosts móveis dificultavam ainda mais a estimativa. Partridge também lembrava que pessoas podem conversar com vários segundos de atraso quando a alternativa é perder a ligação inteira.

O remetente tinha de declarar seu próprio comportamento antes de cobrar desempenho dos outros. A taxa sustentável do balde de fichas, a taxa máxima e o tamanho aproximado das rajadas descreviam o que chegaria à rede. A RFC usa um exemplo sem espaço para retórica: um fluxo acima de 10 megabits por segundo não atravessa um enlace T1 de 1,5 megabit por segundo. A rota que não comporta a carga precisa ser descartada antes de se discutir o brilho do vídeo.

Na ponta receptora, pacotes emitidos em ritmo regular podem chegar aos solavancos depois de atravessar filas. Um buffer recompõe a cadência, mas custa memória e acrescenta espera. O campo de variação de atraso correspondia ao espaço que o receptor aceitava reservar; o cálculo do RFC ligava a faixa de atraso à taxa de transmissão. O mesmo cuidado se aplicava às perdas: quantos pacotes se perdem em um intervalo e quantos consecutivos podem faltar são perguntas distintas. Uma média simpática não resolve uma sequência de buracos.

Por fim vinha a palavra mais cara, garantia. Quality of Guarantee separava um simples desejo, a garantia imperfeita, o serviço previsto e a garantia firme. Partridge mencionava experiências de conferência da IETF em que um salto Ethernet podia render bem. A mídia compartilhada ainda podia saturar durante a chamada. Uma rota assim podia ser escolhida, mas não vendida como certeza em todos os saltos. Serviço previsto pressupunha equipamentos cooperantes que permitiam degradação modesta sob carga; a garantia imperfeita podia conter um trecho incapaz de assumir sequer essa disciplina.

Para uma garantia firme, a rede deveria aceitar ou recusar o pedido mínimo que o aplicativo considerava suficiente. Partridge rejeitava transformar a abertura da ligação em uma longa barganha sobre rotas possíveis. A recusa podia devolver uma ficha alterada como pista do que talvez coubesse, sem reservar aquilo como oferta.

A RFC desenhou a linguagem do pedido, não anunciou uma rede de reservas já instalada. Seu mérito foi impedir que “100 milissegundos” fizesse o trabalho de quatro perguntas: qual rota, qual carga, qual tolerância na recepção e qual promessa tem condições de chegar ao último salto?

Fontes: RFC 1363; registro oficial da RFC 1363.