Por que existem valores padrão diferentes de TTL usados por diferentes sistemas operacionais?

2

No Windows, o TTL padrão é 128, enquanto no Ubuntu é 64.

Eu sempre fiz a pergunta por qual princípio esses valores foram escolhidos, e não por exemplo 255?

    
por Aslan Abulkatimov 01.08.2018 / 09:31

1 resposta

2

I always asked the question by what principle these values were chosen, and not for example 255?

tl; dr :
O valor padrão do TTL é menor do que seu valor máximo possível (255) na maioria dos sistemas operacionais, porque reduz a sobrecarga de ter que esperar por um pacote que não pode chegar ao seu destino, levando à redução do TTL para 0. Não há realmente nenhum ponto em usar um TTL de 255, além de para fins de diagnóstico.

Vamos dar uma olhada em o que é o TTL primeiro:

Time to live (TTL) or hop limit is a mechanism that limits the lifespan or lifetime of data in a computer or network.

The TTL field is set by the sender of the datagram, and reduced by every router on the route to its destination.

Na idade de hoje, os pacotes chegam na maioria dos seus destinos depois de não mais de 10-15 lúpulo. E isso é porque é assim que a rede mundial é construída. A maioria dos provedores de serviços de Internet tem muitas das redes dos outros ISPs em suas tabelas de roteamento e os pacotes são enviados principalmente pela rota mais curta ou mais rápida até o destino. Isso é conseguido graças a protocolos de roteamento externos, como o BGP (Border Gateway Protocol) .

Por esse motivo, o IETF (Internet Engineering Task Force) publicou um valor padrão recomendado para o tempo de vida, que é 64 , em seus RFC 1700: números atribuídos .
Simplesmente não há razão para ter o TTL configurado para 255. Se os pacotes puderem encontrar seu destino, eles chegarão lá com não mais do que (principalmente) 10-15 saltos. Ocasiões raras são para os pacotes passarem por mais de 20 saltos.

Assim, se um pacote não conseguir chegar ao seu destino, ele continuará tentando até que seu TTL caia para 0. Se o valor TTL padrão for definido para 255, o pacote será descartado após 255 novas tentativas. Se definido como 64, ele será descartado após 64 tentativas. E as chances são de que, se o pacote não chegar ao seu destino depois de 64 saltos, provavelmente nunca chegará lá. Assim, para reduzir a sobrecarga e a E / S quando um pacote está expirando, o valor recomendado para o TTL é reduzido, de modo que ele possa alcançar o Tempo de ICMP Exceeded mensagem de erro mais rápido e cair, por isso não será mais processado.

Diferentes sistemas operacionais têm valores padrão diferentes para o conjunto TTL. A maioria dos sistemas operacionais tendem a seguir a recomendação da IETF para o valor padrão de 64 (que é uma boa prática); no entanto, outros definem valores diferentes de acordo com suas crenças. É uma questão de escolha. Aqui você pode ver os valores de TTL padrão para a maioria dos sistemas operacionais. Existem alguns com 30, outros com até 128 (como o Windows).

    
por 01.08.2018 / 10:09