Bir IP başlığındaki TTL için 8 bit nasıl yeterlidir?


18

TTL (Yaşam Süresi) IPv4 üstbilgisinde 8 bitlik bir alandır. 0 ile 255 arasında herhangi bir değer alabilir. Bu, paketin hedefine giderken maksimum 255 atlama (yönlendirici) alabileceği anlamına gelirse, paket atılır.

Kıtalar arası paketler göndermem nasıl mümkün olabilir?


14
Çoğu traceroutearacın sadece 30 atlamadan sonra vazgeçmesinin nedeni de "internetin çapı" düşündüğünüz kadar büyük değil.
user1686

4
Verilerinizi seyahat etmek için uçaklara koymak gibi düşünün. Yerel şerbetçiotu için hafif bir uçak kiralayabilirsiniz. Büyük uluslararası şerbetçiotu için en yakın 777 veya A380'e binebilir ve büyük bir sıçrama yapabilirsiniz. Uluslararası bir uçuş yerine, Veriler Avrupa'dan ABD'ye (veya başka bir yere)
Baldrickk

2
"Altı derecelik ayrılık" teorisi de ilginizi çekebilir.
Pam

1
Pam'in önerisini dikkate almanızı ciddiye tavsiye ediyorum. Doğal olarak oluşan sistemlerde (arkadaş olmayan sistemler) arkadaş edinen, düğümlerin internete eklendiği, iş yapan şirketler vb. Bağlantıların çoğunun çok fazla atlama gerektirmediği ortaya çıkıyor. Sayıları nadiren 6'yı aşan insan etkileşimleri için. Örneğin aktör Kevin Bacon'un diğer aktörlerle bağlantısını hesaplayan oracleofbacon.org'u ele alalım. Bacon ve Telugu oyuncusu Ravi Teja arasındaki mesafe sadece 3 film. 60'ların Malay aktris Saloma'nın da onunla Kevin Bacon arasında sadece 3 filmi var
slebetman

Herhangi bir cevap size yardımcı oldu mu? Öyleyse, cevabı kabul etmelisiniz, böylece soru sonsuza kadar ortaya çıkmayacak, bir cevap arıyor. Alternatif olarak, kendi cevabınızı verebilir ve kabul edebilirsiniz.
Ron Maupin

Yanıtlar:


27

Kıtalar arasında paket gönderirken bile, 255 TL'lik bir TTL yeterlidir - daha fazla yönlendirici yoktur.

Hızlı bir test yapmak (Almanya'dan) ABD'ye 17 ve Japonya'ya 18 atlama gösterir. Genellikle, 30'dan fazla alamazsınız. Bu, internetin hiyerarşik yapısından kaynaklanmaktadır - ISS'nizin omurgasına sadece 2-5 şerbetle vuruyorsunuz, 2-3 şer daha sizi bir sonraki sağlayıcıya götürüyor vb.

TTL'nin yalnızca katman-3 atlamalarını saydığını unutmayın. Anahtarlar arasında çok daha sık kullanılan katman-2 atlamalarının TTL üzerinde bir etkisi yoktur - Ethernet veya benzer protokollerde böyle bir kavram yoktur.

Buna ek olarak, tünel taşımacılığı için bir paketin kapsüllenmesi, tüneldeyken TTL'yi 'dondurur' - dış paketin kaç şeridini aldığından (kendi TTL'sine bakılmaksızın), tüm tünel sadece iç paket için bir veya iki atlama olarak sayılır.


9

Daha eksiksiz olmak için diğer cevaplara küçük bir eklenti: Birçok yönlendirici 255 TTL içeren paketler gönderiyor gibi görünse de (tabii ki ürettikleri paketler için, ilettikleri değil!), Çoğu işletim sistemi çok fazla paket gönderiyor düşük başlangıç ​​TTL değerleri:

  • Windows 128 kullanıyor (Windows NT 4'ten beri),
  • MacOS X ve Linux 64 kullanıyor

Daha düşük değerler göndermek için kullanılan bazı sistemler (örneğin, Windows 95'in varsayılan TTL'si 32 idi), bu değerler muhtemelen daha uzun rotalarla ilgili sorunları önlemek için yükseltildi ... ancak bu sistemler kesinlikle o zamanlar internetteki hemen hemen tüm ana bilgisayarlara erişebildi. Ve buna dair bir kanıtım olmamasına rağmen, trafiği taşımak için gittikçe daha fazla uzun mesafeli lifler kurulduğundan beri gerekli atlama sayısının azaldığını söyleyebilirim.

Ayrıca , atlama sayısının ve coğrafi mesafenin birbiriyle ilişkili olmadığını da unutmayın . Okyanuslar genellikle tek bir sıçrama ile çaprazlanır (denizaltı lifleri boyunca optik tekrarlayıcılar paketlere dokunmaz, sadece yönlendiriciler TTL'yi azaltır). İsviçre'den Yeni Zelanda'ya bir traceroute yaptım: hop # 7, bulunduğum yerden 50 km'den daha az, 9 numaralı Kaliforniya'da ve # 10 Yeni Zelanda'da ... kıtalar arası transit kısmı genellikle sadece birkaç atlama bir rotada, geri kalanı çoğunlukla uluslararası bir taşıyıcıya ulaşıyor ve oradan hedefe varıyor.


8

8 bit fazlasıyla yeterli. ISS peering nedeniyle 5 veya 6 ISS'den daha az seyahat ederek hedefe ulaşabilirsiniz ve omurga ağ mimarisi nedeniyle, paket bir ISS'de maksimum 3 veya 4 yönlendirici üzerinden aktarılır.

TTL'yi artırırsanız, yönlendirilmemiş hedefler için, paket TTL 0 oluncaya kadar ağda seyahat eder - bu da gereksiz yere bant genişliği tüketir.


Yönlendirilmemiş hedefler için, bunu önlemek için bir reddetme yolu kurmak yaygın bir uygulama değil midir?
user1686

7
Sorun yönlendirilmemiş hedefler değil, sorun yanlış yapılandırma veya geçici etkiler nedeniyle bir yönlendirme döngüsü olduğu hedeflerdir.
Peter Green

3

Tarih departmanından bir not: TTL'nin birimleri saniyelerdir , izin verilen zaman bütçesi her yönlendirici atlama için bir saniye azalır.

İnternet Protokolü RFC 791'den:

Zaman saniye cinsinden ölçülür, ancak bir datagramı işleyen her modül, datagramı bir saniyeden daha kısa sürede işlese bile TTL'yi en az bir oranında azaltması gerektiğinden, TTL'nin yalnızca bir datagram olabilir. Amaç, teslim edilemeyen datagramların atılmasına neden olmak ve maksimum datagram ömrünü sınırlamaktır.

Çok saniyelik paketler olağandışı değildi: 68 oktetin izin verilen minimum IP datagramı 300 baud'da 2 saniyenin üzerinde sürüyor. Yine de, çok saniyeli paketler için 1'den fazla azalan bir yönlendirici görmedim.

Dünya bugünlerde daha hızlı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.