Bagaimana 8 bit cukup untuk TTL dalam header IP?

18

TTL (Time to Live) adalah bidang 8-bit di header IPv4. Ini dapat mengambil nilai dari 0 hingga 255. Jika ini berarti bahwa paket tersebut dapat mengambil maksimum 255 hop (router) dalam perjalanannya ke tujuannya, maka paket tersebut akan dibuang.

Bagaimana mungkin saya mengirim paket ke berbagai benua?

reddi hari
sumber
14
Alasan yang sama mengapa sebagian besar traceroutealat menyerah setelah hanya 30 hop - "diameter internet" tidak hampir sebesar yang Anda pikirkan.
grawity
4
Anggap saja seperti meletakkan data Anda di pesawat untuk bepergian. Untuk hop lokal, Anda menyewa pesawat ringan. Untuk lompatan internasional besar, Anda mendapatkan 777 atau A380 terdekat dan membuat hop besar. Alih-alih penerbangan internasional, Data melakukan perjalanan dari Eropa ke AS (atau di tempat lain) dengan salah satu dari ini: en.wikipedia.org/wiki/Transatlantic_communications_cable
Baldrickk
2
Teori "enam derajat pemisahan" mungkin juga menarik bagi Anda.
Pam
1
Saya sungguh-sungguh mendorong Anda untuk mempertimbangkan saran Pam. Ternyata dalam sistem yang terjadi secara alami (sistem yang tidak terencana) seperti orang yang berteman, simpul ditambahkan ke internet, perusahaan yang melakukan bisnis, dll. Bahwa sebagian besar koneksi tidak memerlukan banyak lompatan. Untuk interaksi manusia yang jumlahnya jarang melebihi 6. Ambil oracleofbacon.org misalnya, yang menghitung koneksi aktor Kevin Bacon dengan aktor lain. Jarak antara Bacon dan aktor Telugu Ravi Teja hanya 3 film. Aktris Melayu 60-an, Saloma, juga hanya memiliki 3 film antara dia dan Kevin Bacon
slebetman
Apakah ada jawaban yang membantu Anda? Jika demikian, Anda harus menerima jawabannya sehingga pertanyaan tidak terus muncul selamanya, mencari jawaban. Atau, Anda bisa memberikan dan menerima jawaban Anda sendiri.
Ron Maupin

Jawaban:

27

Bahkan ketika mengirim paket melintasi benua, TTL 255 sudah lebih dari cukup - tidak ada router yang terlibat.

Menjalankan tes cepat (dari Jerman) menunjukkan 17 lompatan ke AS dan 18 ke Jepang. Biasanya, Anda tidak mendapatkan di atas 30 atau lebih. Ini karena struktur hierarkis Internet - Anda menekan tulang punggung ISP Anda hanya dengan 2-5 hop, 2-3 hop lain akan membawa Anda ke penyedia berikutnya, dll.

Perhatikan bahwa TTL hanya menghitung layer-3 hop. Layer-2 hop yang lebih sering digunakan lintas switch tidak berdampak pada TTL - tidak ada konsep seperti itu di Ethernet atau protokol serupa.

Selain itu, merangkum paket untuk transportasi terowongan 'membekukan' TTL sementara di terowongan - terlepas dari berapa banyak hop paket luar mengambil (itu punya TTL sendiri), seluruh terowongan hanya dihitung sebagai satu atau dua hop untuk paket dalam.

Zac67
sumber
9

Tambahan kecil untuk jawaban lain menjadi lebih lengkap: walaupun banyak router tampaknya mengirimkan paket dengan TTL 255 (untuk paket yang mereka hasilkan sendiri tentu saja, bukan yang mereka maju!), Sebagian besar sistem operasi mengirimkan paket dengan banyak nilai TTL awal yang lebih rendah:

  • Windows menggunakan 128 (sejak Windows NT 4),
  • MacOS X dan Linux keduanya menggunakan 64

Beberapa sistem yang digunakan untuk mengirim nilai yang lebih rendah (misalnya Windows 95 memiliki TTL default 32), nilai-nilai itu dinaikkan untuk mencegah masalah dengan rute yang mungkin lebih lama ... tetapi sistem itu pasti dapat menjangkau hampir semua host di Internet saat itu. Dan — walaupun saya tidak punya bukti tentang hal ini — saya akan mengatakan bahwa jumlah hop yang diperlukan menurun sejak itu, karena semakin banyak serat jarak jauh dipasang untuk mengangkut lalu lintas.

Juga jangan lupa bahwa jumlah hop dan jarak geografis tidak berkorelasi . Lautan pada umumnya dilintasi dengan satu hop (repeater optik sepanjang serat bawah laut tidak menyentuh paket, hanya router yang mengurangi TTL). Baru saja melakukan traceroute dari Swiss ke Selandia Baru: hop # 7 berjarak kurang dari 50 km dari tempat saya berada, # 9 di California, dan # 10 di Selandia Baru ... bagian transit antarbenua umumnya hanya beberapa lompatan dalam rute, sisanya sebagian besar mencapai operator internasional, dan tiba ke tujuan dari sana.

Ale
sumber
8

8 bit lebih dari cukup. karena ISP mengintip Anda dapat mencapai tujuan dengan bepergian melalui kurang dari 5 atau 6 ISP, dan karena arsitektur jaringan backbone, paket hanya akan mentransfer melalui 3 atau 4 router maksimum dalam satu ISP.

jika Anda meningkatkan TTL, untuk tujuan yang tidak dialihkan, paket akan bepergian dalam jaringan sampai TTL menjadi 0 - yang akan menghabiskan bandwidth secara tidak perlu.

abdul_razak
sumber
Untuk tujuan yang tidak dialihkan, bukankah praktik umum memasang rute penolakan untuk mencegah hal ini?
grawity
7
Masalahnya bukan tujuan yang tidak diarahkan, masalahnya adalah tujuan di mana karena kesalahan konfigurasi atau efek sementara ada loop perutean.
Peter Green
3

Catatan dari departemen sejarah: unit-unit TTL adalah detik , dengan anggaran waktu yang diizinkan berkurang satu detik untuk setiap hop router.

Dari Protokol Internet RFC 791:

Waktu diukur dalam satuan detik, tetapi karena setiap modul yang memproses datagram harus mengurangi TTL oleh setidaknya satu bahkan jika itu memproses datagram dalam waktu kurang dari satu detik, TTL harus dianggap hanya sebagai batas atas pada waktu datagram mungkin ada. Tujuannya adalah untuk menyebabkan datagram yang tidak terkirim dibuang, dan untuk membatasi umur datagram maksimum.

Paket multi-detik bukanlah tidak biasa: datagram IP minimal 68 oktet membutuhkan lebih dari 2 detik pada 300 baud. Namun demikian, saya belum pernah melihat router yang dikurangi oleh lebih dari 1 untuk paket multi-detik.

Dunia lebih cepat akhir-akhir ini.

Jonathanjo
sumber