Significado de lúpulo (medição TTL)

10

Quando uso o comando ping, obtenho os próximos resultados (Windows):

C:\>ping example.microsoft.com
Pinging example.microsoft.com [192.168.239.132] with 32 bytes of data:
Reply from 192.168.239.132: bytes=32 time=101ms TTL=124
...

Na documentação desses utilitários, o TTL é medido em saltos . De acordo com a especificação ICMP RFC 792 :

Tempo de Viver. Hora de viver em segundos ; como esse campo é decrementado em cada máquina na qual o datagrama é processado, o valor nesse campo deve ser pelo menos tão grande quanto o número de gateways que esse datagrama atravessará.

Portanto, todo host diminui o TTL em pelo menos 1 segundo . Nada foi dito sobre o lúpulo . Então, por que o lúpulo é usado? Por que não usar, por exemplo, ms , se os hosts processam datagramas muito rápido? E por que a especificação não diz nada sobre o lúpulo ?

Kyrylo M
fonte
Boa pergunta. Se bem me lembro, eles substituíram TTL por saltos no IPv6, mas não tenho certeza.
precisa saber é o seguinte
1
@AndrejaKo, sim, eles fizeram. Mas oficialmente apenas no IPv6.
precisa

Respostas:

7

O TTL foi projetado para impedir que os pacotes permaneçam (e consumam recursos) para sempre, se houver um loop de roteamento.

Originalmente, os roteadores podem levar mais de um segundo para processar um pacote.

Quando os roteadores se tornaram muito mais rápidos e começaram a processar pacotes em menos de um segundo, seria tolo reduzir o TTL em zero, porque não interromperia os loops.

Então, em vez disso, diminui o TTL em um segundo.

Essa alteração foi documentada na seção 5.3.1 da RFC 1716 .

O campo Time-to-Live (TTL) do cabeçalho IP é definido como um temporizador que limita a vida útil de um datagrama. É um campo de 8 bits e as unidades são segundos. Cada roteador (ou outro módulo) que lida com um pacote DEVE diminuir o TTL em pelo menos um, mesmo que o tempo decorrido seja muito menor que um segundo. Como esse é frequentemente o caso, o TTL é efetivamente um limite de contagem de saltos para a distância em que um datagrama pode se propagar pela Internet.

Quando um roteador encaminha um pacote, DEVE reduzir o TTL em pelo menos um. Se ele contém um pacote por mais de um segundo, PODE diminuir o TTL em um por cada segundo.

Veja também:

Wikipedia - Hora de Viver :

O campo TTL é definido pelo remetente do datagrama e reduzido por todos os hosts na rota para o seu destino.

Maxi-pedia - Time to Live (TTL)

Cada roteador pelo qual o pacote viaja é necessário para subtrair pelo menos uma contagem do campo TTL.

Mikel
fonte
Não veja nada sobre o lúpulo e por que eles usaram em vez de segundos ou ms.
precisa
1
Eu adicionei um link para a RFC 1716. É onde é especificado.
Mikel