Apakah uTorrent menggunakan TCP atau UDP?
Ringkasan
Di artikel ini, kami akan mengeksplorasi apakah UTorrent menggunakan TCP atau UDP. Kami akan membahas UTP (UTorrent Transport Protocol) dan implementasinya di Libtorrent. Selain itu, kami akan memeriksa alasan untuk menggunakan UTP dan kelemahan teknik lain untuk alokasi bandwidth. Akhirnya, kami akan menjelaskan mekanisme kontrol kemacetan di UTP yang dikenal sebagai Ledbat.
1. Apakah uTorrent menggunakan TCP atau UDP?
Utorrent terutama menggunakan TCP sebagai protokol transportasi, tetapi juga menggunakan UTP (UTorrent Transport Protocol) untuk kontrol kemacetan dan alokasi bandwidth yang efisien.
2. Apa itu UTP?
UTP adalah protokol transportasi yang dirancang khusus untuk aplikasi Bittorrent seperti UTORRENT. Ini menggunakan pengukuran penundaan satu arah untuk pengontrol kemacetannya, memungkinkan manajemen kemacetan jaringan yang lebih baik.
3. Apa masalah umum yang dihadapi pengguna dengan bittorrent?
Beberapa masalah umum yang dihadapi pengguna dengan bittorrent termasuk router rumah menabrak atau memperlambat karena meluapnya tabel pin-hole, crash router yang disebabkan oleh lalu lintas UDP dari tabel hash terdistribusi (DHT), dan keterlambatan yang disebabkan oleh mengisi buffer kirim DSL atau modem kabel.
4. Bagaimana masalah ini biasanya terpecahkan?
Salah satu solusi umum adalah menetapkan batas tarif unggahan untuk mencegah kemacetan. Sering disarankan untuk menetapkan batas hingga 80% dari kapasitas uplink. Namun, pendekatan ini memiliki kelemahan karena mengharuskan pengguna untuk mengkonfigurasi pengaturan dan mungkin tidak menggunakan bandwidth yang tersedia secara efisien.
5. Apa kelemahan pembatas laju?
Kelemahan pembatas laju termasuk kebutuhan untuk konfigurasi pengguna dan ruang kepala yang terbuang ketika pengguna tidak secara aktif menggunakan koneksi internet. Selain itu, 20% yang dialokasikan untuk lalu lintas interaktif mungkin tidak memberikan pengalaman menjelajah yang memuaskan.
6. Bagaimana UTP mengatasi kelemahan ini?
UTP bertujuan untuk mengalokasikan bandwidth secara dinamis, menggunakan 100% untuk bittorrent ketika tidak ada lalu lintas silang interaktif dan 100% untuk lalu lintas interaktif bila perlu. Pendekatan ini menghindari pemborosan bandwidth selama periode idle dan memberikan pengalaman keseluruhan yang lebih baik bagi pengguna.
7. Mengapa TCP menyebabkan keterlambatan semua lalu lintas?
Kontrol kemacetan TCP terutama didasarkan pada deteksi rugi paket. Saat buffer kirim modem penuh, paket tidak akan dijatuhkan sampai seluruh antrian penuh. TCP akan mendeteksi kehilangan paket dan memperlambat laju pengirimannya, tetapi akan dengan cepat meningkat lagi sampai buffer penuh, menyebabkan penundaan untuk semua lalu lintas.
8. Bagaimana TCP mengontrol tingkat pengirimannya?
TCP membatasi jumlah byte dalam penerbangan pada waktu tertentu menggunakan jendela kemacetan (CWND). Tingkat Kirim sebanding dengan CWND dibagi dengan waktu pulang-pergi (RTT). CWND yang lebih kecil menghasilkan tingkat kirim yang lebih rendah, sedangkan CWND yang lebih besar memungkinkan untuk tingkat kirim yang lebih tinggi.
9. Apa perilaku kontrol kemacetan TCP?
Perilaku kontrol kemacetan TCP membentuk bentuk gigi gergaji, di mana ia meningkatkan laju pengirimannya sampai menyentuh langit-langit, mundur, dan kemudian mulai meningkat lagi. Perilaku ini dapat mencegah aliran TCP tunggal untuk sepenuhnya memanfaatkan kapasitas tautan jika tidak ada buffer kirim.
10. Apa itu pengontrol kemacetan ledbat?
Pengontrol kemacetan di UTP disebut ledbat, yang merupakan singkatan dari transport latar belakang keterlambatan ekstra rendah. Ledbat adalah kelompok kerja IETF yang mencoba menstandarkan algoritma kontrol kemacetan. Itu bereaksi terhadap kehilangan paket dan perubahan keterlambatan untuk mengoptimalkan kinerja jaringan.
Kesimpulan
Sebagai kesimpulan, uTorrent terutama menggunakan TCP tetapi juga menggabungkan protokol UTP untuk kontrol kemacetan. Pengontrol Kemacetan Ledbat UTP secara dinamis mengalokasikan bandwidth untuk lalu lintas bittorrent, mengurangi keterlambatan dan meningkatkan kinerja jaringan secara keseluruhan. Pendekatan ini menawarkan keunggulan dibandingkan teknik pembatas tingkat tradisional, memberikan pengalaman pengguna yang lebih baik selama periode interaktif dan idle.
Apakah uTorrent menggunakan TCP atau UDP
TCP dirancang untuk sepenuhnya memanfaatkan kapasitas tautan, tanpa menyebabkan kemacetan. Setiap kali merasakan kemacetan (melalui kehilangan paket) itu mundur. TCP tidak dirancang untuk menjaga penundaan tetap rendah. Saat Anda mendapatkan kehilangan paket pertama (dengan asumsi jenis antrian yang dijelaskan di atas, ekor-ekor) sudah terlambat. Antrian Anda penuh dan Anda memiliki jumlah penundaan maksimum yang dapat diberikan modem Anda.
Apakah uTorrent menggunakan TCP atau UDP?
Daftar isi
UTP (UTorrent Transport Protocol) adalah protokol transportasi yang menggunakan pengukuran penundaan satu arah untuk pengontrol kemacetannya. Artikel ini adalah tentang UTP secara umum dan khususnya tentang implementasi librorrent.
alasan
Salah satu masalah paling umum yang dialami pengguna menggunakan BitTorrent adalah internet mereka “berhenti bekerja”. Ini dapat disebabkan oleh sejumlah hal, misalnya:
- Router rumah yang menabrak atau melambat saat tabel pin-hole NAT meluap, dipicu oleh DHT atau hanya banyak koneksi TCP.
- Router rumah yang macet atau melambat oleh lalu lintas UDP (disebabkan oleh DHT)
- DSL rumah atau modem kabel yang memiliki buffer kirim diisi dengan data keluar, dan buffer cocok dengan byte senilai detik. Ini menambah detik keterlambatan pada lalu lintas interaktif. Untuk situs web yang membutuhkan 10 perjalanan pulang pergi, ini mungkin berarti 10 detik dari penundaan untuk memuat dibandingkan tanpa bittorrent. Skype atau aplikasi sensitif penundaan lainnya akan lebih terpengaruh.
Dokumen ini akan mencakup (3).
Biasanya ini diselesaikan dengan meminta pengguna untuk memasukkan sejumlah byte yang diizinkan klien untuk mengirim per detik (i.e. mengatur batas tarif unggah). Rekomendasi umum adalah menetapkan batas ini hingga 80% dari kapasitas uplink. Ini untuk meninggalkan ruang kepala untuk hal -hal seperti TCP ACKS serta penggunaan koneksi interaktif pengguna seperti menjelajahi web atau memeriksa email.
Ada dua kelemahan utama dengan teknik ini:
- Pengguna perlu secara aktif membuat pengaturan ini (sangat sedikit protokol yang mengharuskan pengguna untuk memberikan informasi semacam ini). Ini juga berarti pengguna perlu mencari tahu apa kapasitas up-linknya. Sayangnya ini adalah angka yang banyak ISP tidak beriklan (karena seringkali jauh lebih rendah dari kapasitas pengunduhan) yang mungkin membuatnya sulit ditemukan.
- Ruang kepala 20% sebagian besar terbuang. Setiap kali pengguna tidak menggunakan koneksi internet untuk apa pun, 20% ekstra itu bisa digunakan oleh BitTorrent untuk diunggah, tetapi mereka sudah dialokasikan untuk lalu lintas interaktif. Selain itu, 20% dari tautan up sering tidak cukup untuk memberikan pengalaman penelusuran yang baik dan responsif.
Alokasi bandwidth yang ideal adalah menggunakan 100% untuk BitTorrent ketika tidak ada lalu lintas silang interaktif, dan 100% untuk lalu lintas interaktif setiap kali ada. Ini tidak akan menyia -nyiakan bandwidth apa pun saat pengguna menganggur, dan itu akan membuat pengalaman yang jauh lebih baik ketika pengguna menggunakan koneksi internet untuk hal -hal lain.
Inilah yang dilakukan UTP.
TCP
Alasan TCP akan mengisi buffer kirim, dan menyebabkan keterlambatan semua lalu lintas, adalah karena kontrol kemacetannya hanya Berdasarkan Kehilangan Paket (dan Timeout).
Karena modem sedang buffering, paket tidak akan dijatuhkan sampai seluruh antrian penuh, dan tidak ada lagi paket yang sesuai. Paket akan dijatuhkan, TCP akan mendeteksi ini dalam RTT atau lebih. Ketika TCP memperhatikan kehilangan paket, itu akan memperlambat laju pengirimannya dan antrian akan mulai mengering lagi. Namun, TCP akan segera mulai meningkatkan laju pengirimannya lagi sampai buffer penuh dan mendeteksi kehilangan paket lagi.
TCP dirancang untuk sepenuhnya memanfaatkan kapasitas tautan, tanpa menyebabkan kemacetan. Setiap kali merasakan kemacetan (melalui kehilangan paket) itu mundur. TCP tidak dirancang untuk menjaga penundaan tetap rendah. Saat Anda mendapatkan kehilangan paket pertama (dengan asumsi jenis antrian yang dijelaskan di atas, ekor-ekor) sudah terlambat. Antrian Anda penuh dan Anda memiliki jumlah penundaan maksimum yang dapat diberikan modem Anda.
TCP mengontrol laju pengirimannya dengan membatasi jumlah byte dalam penerbangan pada waktu tertentu. Batas ini disebut jendela kemacetan (cwnd Ringkasnya). Selama kondisi mapan, jendela kemacetan terus meningkat secara linier. Setiap paket yang berhasil ditransfer akan meningkatkan CWND.
cwnd send_rate = ---- rtt
Tingkat Kirim sebanding dengan CWND dibagi dengan RTT. CWND yang lebih kecil akan menyebabkan laju kirim lebih rendah dan CWND yang lebih besar akan menyebabkan laju pengiriman menjadi lebih tinggi.
Menggunakan jendela kemacetan alih -alih mengendalikan laju secara langsung adalah sederhana karena juga memperkenalkan batas atas untuk penggunaan memori untuk paket yang belum pernah dipecat dan perlu disimpan di sekitar.
Perilaku TCP, di mana ia menabrak langit -langit, mundur dan kemudian mulai meningkat lagi sampai menyentuh langit -langit lagi, membentuk bentuk gigi gergaji. Jika modem tidak memiliki buffer kirim sama sekali, satu aliran TCP tidak akan dapat sepenuhnya memanfaatkan tautan karena perilaku ini, karena hanya akan sepenuhnya memanfaatkan tautan tepat sebelum kehilangan paket dan back-off.
Pengontrol Kemacetan Ledbat
Pengontrol kemacetan di UTP disebut ledbat, yang juga merupakan kelompok kerja IETF yang mencoba menstandarkannya. Pengontrol kemacetan, di atas bereaksi terhadap kehilangan paket dengan cara yang sama seperti TCP, juga bereaksi terhadap perubahan penundaan.
Untuk implementasi UTP (atau LEDBAT), ada penundaan target. Ini adalah jumlah keterlambatan yang dapat diterima, dan sebenarnya ditargetkan untuk koneksi. Penundaan target didefinisikan ke 25 ms di ledbat, uTorrent menggunakan 100 ms dan liborrent menggunakan 75 ms. Setiap kali pengukuran penundaan lebih rendah dari target, CWND meningkat sebanding dengan (target_delay – tunda). Setiap kali pengukuran lebih tinggi dari target, CWND menurun proporsional (tunda – target_delay).
Itu dapat dengan mudah dinyatakan sebagai:
cwnd += gain * (target_delay - tunda)
Demikian pula dengan TCP, ini diskalakan sehingga kenaikannya menyamarkan satu RTT.
Pengontrol linier akan menyesuaikan CWND lebih banyak untuk penundaan yang jauh dari target, dan lebih sedikit untuk penundaan yang dekat dengan target. Ini membuatnya bertemu pada penundaan target. Meskipun, karena kebisingan, hampir selalu ada sejumlah osilasi. Osilasi ini biasanya lebih kecil dari bentuk TCP gigi gergaji.
Angka di sebelah kanan menunjukkan bagaimana (TCP) lalu lintas silang menyebabkan UTP pada dasarnya sepenuhnya berhenti mengirim apapun. Pengukuran penundaannya sebagian besar jauh di atas target selama ini. Lalu lintas lintas hanya aliran TCP tunggal dalam tes ini.
Segera setelah lalu lintas silang berhenti, UTP akan mengambil tarif pengiriman aslinya dalam satu detik.
Karena UTP terus -menerus mengukur penundaan, dengan setiap paket, waktu reaksi untuk lintas lalu lintas yang menyebabkan penundaan adalah RTT tunggal (biasanya sebagian kecil dari detik).
satu cara penundaan
UTP mengukur keterlambatan yang dikenakan pada paket yang dikirim ke ujung koneksi lainnya. Pengukuran ini hanya mencakup penundaan buffering di sepanjang tautan, bukan penundaan propagasi (kecepatan jarak waktu cahaya) atau penundaan perutean (router waktu yang dihabiskan untuk mencari tahu di mana untuk meneruskan paket). Ini melakukan ini dengan selalu membandingkan semua pengukuran dengan pengukuran dasar, untuk membatalkan penundaan tetap. Dengan berfokus pada penundaan variabel di sepanjang tautan, itu akan secara khusus mendeteksi titik di mana mungkin ada kemacetan, karena titik -titik tersebut akan memiliki buffer.
Penundaan pada tautan pengembalian secara eksplisit tidak termasuk dalam pengukuran penundaan. Ini karena dalam aplikasi peer-to-peer, ujung lainnya cenderung juga terhubung melalui modem, dengan pembatasan buffer pengiriman yang sama seperti yang kami asumsikan untuk sisi pengirim. Ujung lainnya memiliki antrian kirimnya bukanlah indikasi kemacetan di jalan setapak.
Untuk mengukur penundaan satu arah untuk paket, kami tidak dapat mengandalkan jam yang disinkronkan, terutama tidak pada level mikrodetik. Sebaliknya, waktu aktual yang diperlukan untuk satu paket untuk tiba di tujuan tidak diukur, hanya perubahan waktu transit yang diukur.
Setiap paket yang dikirim mencakup cap waktu waktu saat ini, di mikrodetik, dari mesin pengirim. Mesin penerima menghitung perbedaan antara stempel waktu sendiri dan yang ada di paket dan mengirimkannya kembali di ACK. Perbedaan ini, karena berada di mikrodetik, pada dasarnya akan menjadi angka 32 bit acak. Namun, perbedaannya akan tetap mirip dari waktu ke waktu. Perubahan dalam perbedaan ini menunjukkan bahwa paket akan melalui lebih cepat atau lebih lambat.
Untuk mengukur penundaan buffering satu arah, penundaan dasar ditetapkan. Penundaan dasar adalah nilai terendah yang pernah terlihat dari perbedaan cap waktu. Setiap sampel penundaan yang kami terima kembali, dibandingkan dengan penundaan dasar dan penundaan adalah perbedaannya.
Inilah penundaan yang dimasukkan ke dalam pengontrol kemacetan.
Histogram pengukuran penundaan khas ditunjukkan di sebelah kanan. Ini dari transfer antara koneksi modem kabel dan koneksi DSL.
Rincian pengukuran penundaan sedikit lebih rumit karena nilai -nilai harus dapat membungkus (melintasi batas 2^32 dan mulai dari 0).
Path MTU Discovery
MTU kekurangan Unit transfer maksimum dan menggambarkan ukuran paket terbesar yang dapat dikirim melalui tautan. Datagram apa pun yang ukurannya melebihi batas ini terfragmentasi atau dijatuhkan. Datagram yang terfragmentasi berarti bahwa muatan terpecah dalam beberapa paket, masing -masing dengan header paket masing -masing.
Ada beberapa alasan untuk menghindari pengiriman datagram yang terfragmentasi:
- Datagram yang terfragmentasi lebih mungkin hilang. Jika ada fragmen yang hilang, seluruh datagram dijatuhkan.
- Bandwidth kemungkinan akan terbuang. Jika ukuran datagram tidak dapat dibagi oleh MTU Paket terakhir tidak akan mengandung muatan sebanyak mungkin, dan rasio header protokol payload berkurang.
- Mahal untuk fragmen datagram. Beberapa router dioptimalkan untuk menangani sejumlah besar paket terfragmentasi. Datagram yang harus fragmen cenderung ditunda secara signifikan, dan berkontribusi pada lebih banyak CPU yang digunakan pada router. Biasanya fragmentasi (dan fitur IP canggih lainnya) diimplementasikan dalam perangkat lunak (lambat) dan bukan perangkat keras (cepat).
Jalur MTU adalah MTU terendah dari tautan apa pun di sepanjang jalur dari dua titik akhir di internet. Kemacetan MTU tidak harus pada salah satu titik akhir, tetapi bisa berada di antara keduanya.
MTU yang paling umum adalah 1500 byte, yang merupakan ukuran paket terbesar untuk jaringan Ethernet. Namun, banyak koneksi DSL di rumah, terowongan IP melalui pppoe (protokol titik ke titik di atas Ethernet. Ya, itu adalah protokol modem dial-up yang lama). Protokol ini menggunakan 8 byte per paket untuk headernya sendiri.
Jika pengguna kebetulan berada di koneksi internet melalui VPN, itu akan menambahkan lapisan lain, dengan header paket sendiri.
Pendeknya; Jika Anda akan memilih ukuran paket terbesar yang mungkin pada jaringan Ethernet, 1472, dan tetap menggunakannya, Anda akan sangat mungkin menghasilkan fragmen untuk banyak koneksi. Fragmen yang akan dibuat akan sangat kecil dan terutama mengembang limbah overhead.
Pendekatan lain dalam memilih ukuran paket yang sangat konservatif, yang akan sangat tidak mungkin terfragmentasi memiliki kelemahan berikut:
- Orang -orang yang bagus, normal, jaringan akan dihukum dengan ukuran paket kecil. Baik dalam hal beban router tetapi juga limbah bandwidth.
- Router perangkat lunak biasanya tidak dibatasi oleh jumlah byte yang dapat mereka rute, tetapi jumlah paket. Paket kecil berarti lebih banyak dari mereka, dan lebih banyak memuat pada router perangkat lunak.
Solusi untuk masalah menemukan ukuran paket yang optimal, adalah untuk menyesuaikan ukuran paket secara dinamis dan mencari ukuran terbesar yang dapat membuatnya tanpa terfragmentasi di sepanjang jalur.
Untuk membantu melakukan ini, Anda dapat mengatur bit df (jangan fragmen) di datagram Anda. Ini meminta router bahwa sebaliknya akan memecah -belah paket untuk menjatuhkannya, dan mengirim kembali pesan ICMP yang melaporkan MTU tautan yang tidak dapat dipasang oleh paket. Dengan pesan ini, sangat mudah untuk menemukan jalan mtu. Anda cukup menandai paket Anda untuk tidak terfragmentasi, dan mengubah ukuran paket Anda setiap kali Anda menerima pesan ICMP Packet-Too-Big.
Sayangnya itu tidak sesederhana itu. Ada sejumlah besar firewall di alam liar yang memblokir semua pesan ICMP. Ini berarti kami tidak dapat mengandalkan mereka, kami juga harus menebak bahwa sebuah paket dijatuhkan karena ukurannya. Ini dilakukan dengan hanya menandai paket tertentu dengan DF, dan jika semua paket lainnya melewati, kecuali untuk probe MTU, kami tahu bahwa kami perlu menurunkan ukuran paket kami.
Jika kita mengatur batas untuk jalur MTU (katakanlah MTU Internet minimum, 576 dan Ethernet’s 1500), kita dapat melakukan pencarian biner untuk MTU. Ini akan memungkinkan kita menemukannya hanya dalam beberapa perjalanan pulang pergi.
Selain itu, liborrent memiliki optimasi di mana ia mencari tahu antarmuka mana koneksi UTP akan dikirim, dan menginisialisasi langit -langit MTU ke MTU antarmuka itu. Ini berarti bahwa terowongan VPN akan mengiklankan MTU -nya lebih rendah, dan koneksi UTP akan segera tahu untuk mengirim paket yang lebih kecil, tidak ada pencarian yang diperlukan. Ini juga memiliki efek samping untuk dapat menggunakan ukuran paket yang jauh lebih besar untuk antarmuka non-eterhernet atau tautan Ethernet dengan bingkai jumbo.
Jam melayang
Drift jam adalah jam kemajuan dengan harga yang berbeda. Ini berbeda dari clock condong yang berarti jam diatur ke nilai yang berbeda (tetapi yang dapat berkembang pada tingkat yang sama).
Setiap penyimpangan jam antara dua mesin yang terlibat dalam transfer UTP akan menghasilkan pengukuran penundaan yang meningkat secara sistematis atau kempes.
Ini dapat diselesaikan dengan membiarkan penundaan dasar menjadi sampel yang terlihat terendah di yang terakhir N menit. Ini adalah trade-off antara melihat satu paket berjalan langsung melalui antrian, tanpa penundaan, dan jumlah jam melayang yang dapat diasumsikan pada komputer normal.
Ternyata cukup aman untuk berasumsi bahwa salah satu paket Anda sebenarnya akan lurus tanpa penundaan yang signifikan, setiap 20 menit sekali. Namun, jam melayang di antara komputer normal bisa sebanyak 17 ms dalam 10 menit. 17 ms cukup signifikan, terutama jika penundaan target Anda adalah 25 ms (seperti pada spesifikasi LEDBAT).
Jam berkembang dengan laju yang berbeda tergantung pada suhu. Ini berarti komputer yang berjalan panas cenderung memiliki penyimpangan jam dibandingkan dengan komputer yang berjalan keren.
So, by updating the delay base periodically based on the lowest seen sample, you’ll either end up changing it upwards (artificially making the delay samples appear small) without the congestion or delay actually having changed, or you’ll end up with a significant clock drift and have artificially low samples because of that.
Solusi untuk masalah ini didasarkan pada fakta bahwa drift jam hanyalah masalah bagi salah satu sisi koneksi. Hanya ketika pengukuran penundaan Anda terus meningkat apakah itu masalah. Jika pengukuran penundaan Anda terus berkurang, sampel hanya akan menekan basis penundaan bersamanya. Dengan pemikiran ini, kita juga dapat melacak pengukuran penundaan akhir lainnya, menerapkan logika yang sama padanya. Setiap kali penundaan dasar ujung lainnya disesuaikan ke bawah, kami menyesuaikan penundaan dasar kami ke atas dengan jumlah yang sama.
Ini akan secara akurat menjaga keterlambatan dasar diperbarui dengan penyimpangan jam dan meningkatkan pengukuran penundaan. Gambar di sebelah kanan menunjukkan perbedaan cap waktu absolut bersama dengan penundaan dasar. Kemiringan pengukuran disebabkan oleh penyimpangan jam.
Untuk informasi lebih lanjut tentang kompensasi drift jam, lihat slide dari presentasi BitTorrent di IPTPS10.
fitur
Implementasi UTP Liborrent mencakup fitur -fitur berikut:
- Path Mtu Discovery, termasuk jumbo frame dan mendeteksi terowongan mtu terbatas. Ukuran Paket Pencarian Biner untuk menemukan yang terbesar non-fragmentasi.
- ACK selektif. Kemampuan untuk mengakui paket individu jika terjadi kehilangan paket
- Kirimkan kembali cepat. Pertama kali sebuah paket hilang, segera dibenci. Dipicu oleh duplikat ACKS.
- Algoritma Nagle. Meminimalkan overhead protokol dengan mencoba menyatukan paket muatan penuh bersama sebelum mengirim paket.
- ACK yang tertunda untuk meminimalkan overhead protokol.
- Cap waktu resolusi mikrodetik.
- Diiklankan jendela menerima, untuk mendukung pembatasan tarif unduhan.
- Penanganan nomor urutan pembungkus yang benar.
- Konfigurasi Mudah Delay Target, Faktor Gain, Timeout, Delayed-ACK dan Socket Buffer.
Bittorrent
Bittorrent adalah protokol yang dirancang untuk mentransfer file. Ini bersifat peer-to-peer, karena pengguna terhubung satu sama lain secara langsung untuk mengirim dan menerima porsi file. Namun, ada server pusat (disebut pelacak) yang mengoordinasikan tindakan semua rekan tersebut. Pelacak hanya mengelola koneksi, ia tidak memiliki pengetahuan tentang konten file yang didistribusikan, dan oleh karena itu sejumlah besar pengguna dapat didukung dengan bandwidth pelacak yang relatif terbatas.
Perpanjangan baru -baru ini untuk Bittorrent adalah DHT (“Tabel Hash Terdistribusi Terdistribusi” atau hanya disebut UDP Tracker) Protokol. Protokol Peer To Peer Tracker Berbasis UDP. Dan uTorrent mengimpor protokol transport mikro berbasis UDP lainnya, yang disebut UTP.
Sejarah
Pada bulan April 2001 Bram Cohen merancang protokol Bittorrent, yang ia implementasikan musim panas 2002. Program pertama yang menggunakan protokol adalah klien Bittorrent asli. Saat ini banyak aplikasi yang tersedia, dan protokolnya banyak digunakan.
Ketergantungan Protokol
- TCP: Biasanya, Bittorrent menggunakan TCP sebagai protokol transportanya. Port TCP terkenal untuk lalu lintas BitTorrent adalah 6881-6889 (dan 6969 untuk port pelacak). Ekstensi DHT (Peer2peer Tracker) menggunakan berbagai port UDP yang dinegosiasikan oleh rekan.
Contoh lalu lintas
XXX – Tambahkan contoh lalu lintas di sini (sebagai teks biasa atau tangkapan layar wireshark).
Wireshark
Disektor BitTorrent adalah (fungsional sepenuhnya, sebagian fungsional, tidak ada, … apa pun keadaan saat ini). Ekstensi DHT telah didukung sejak R39653. Ekstensi UTP telah didukung sejak R36716.
Pengaturan preferensi
- Pesan BitTorrent Kembali yang mencakup beberapa segmen TCP
- Decode peer_id dari pesan jabat tangan
Contoh Capture Files
Samplecaptures/Bittorrent.Transfer1.Cap (Microsoft Network Monitor) Berikut adalah penangkapan dengan beberapa paket Bittorrent; Ini berisi beberapa paket kecil yang saya dapatkan saat mengunduh sesuatu di BitTorrent.
Samplecaptures/Bittorrent.PCAP (libpcap) menangkap file dua klien torrent komunikasig tanpa DHT atau peer exch.
Filter tampilan
Daftar lengkap bidang filter tampilan bittorrent dapat ditemukan di referensi filter tampilan
Tampilkan hanya lalu lintas berbasis bittorrent:
Bittorrent
Catatan: Diimplementasikan di Wireshark Post 0.10.12!
Capture filter
Anda tidak dapat secara langsung memfilter protokol bittorrent saat menangkap. Namun, jika Anda tahu port TCP yang digunakan (lihat di atas), Anda dapat memfilter yang satu itu.
Hanya menangkap lalu lintas pelacak bittorrent melalui salah satu port default (e.G. 6881):
Port TCP 6881
Tangkap lalu lintas pelacak BitTorrent di berbagai port default (e.G. 6881-6889):
TCP Portrange 6881-6889
Saat menggunakan libpcap 0.9.1 atau lebih baru atau winpcap 3.1 atau lebih baru; Ekspresi itu tidak akan berfungsi dengan versi libpcap atau winpcap yang lebih lama, jadi, pada windows, upgrade ke winpcap 3.1 atau lebih baru dan, di un*x, tingkatkan ke libpcap 0.9.x Jika memungkinkan dan, jika tidak memungkinkan dan Anda memiliki versi libpcap sebelum 0.8.1, gunakan
(TCP [0: 2]> = 6881 dan TCP [0: 2] = 6881 dan TCP [2: 2]
(Bug di pengoptimal libpcap di libpcap 0.8.X berarti ini tidak akan bekerja dengan libpcap 0.8.x, meskipun Anda mungkin dapat menggunakan tcpdump dengan bendera "-o").
Tautan eksternal
- http: // www.Bittorrent.com/ halaman BitTorrent resmi
- Halaman Bittorrent Wikipedia
- Bagaimana Bittorrent Bekerja Tentang P2P Secara Umum, Pengaturan Bittorrent dan Firewall
- Protokol DHT (BEP 5), ekstensi bittorrent berbasis UDP untuk pelacak terdistribusi (nomor port UDP dinegosiasikan). Juga: Tautan ke Draft DHT Protocol (Dead Link), Web Archive Copy (2007-12-21) dari Draft DHT Protocol.
- Protokol Hippie Deskripsi Tanda Tangan TCP dan Protokol UDP yang mungkin digunakan untuk secara heuristik mengidentifikasi tautan arsip web Protokol Bittorrent
- Lebih lanjut tentang BitTorrent
Apakah uTorrent menggunakan TCP atau UDP?
Reddit dan mitranya menggunakan cookie dan teknologi serupa untuk memberi Anda pengalaman yang lebih baik.
Dengan menerima semua cookie, Anda menyetujui penggunaan cookie kami untuk mengirimkan dan memelihara layanan dan situs kami, meningkatkan kualitas reddit, mempersonalisasi konten dan iklan reddit, dan mengukur efektivitas iklan.
Dengan menolak cookie yang tidak penting, Reddit masih dapat menggunakan cookie tertentu untuk memastikan fungsionalitas yang tepat dari platform kami.
Untuk informasi lebih lanjut, silakan lihat pemberitahuan cookie kami dan kebijakan privasi kami .
Apa port TCP/UDP yang digunakan oleh aplikasi torrent?
Saya ingin memblokir lalu lintas torrent di jaringan saya karena menggunakan terlalu banyak bandwidth dan mengganggu lalu lintas jaringan saya. Rentang port apa yang harus saya gunakan dan protokol TCP atau UDP apa?
4.824 8 8 Lencana Emas 35 35 Lencana Perak 61 61 Lencana Perunggu
Ditanya 9 Apr 2013 jam 0:26
361 1 1 Lencana Emas 3 3 Lencana Perak 5 5 Lencana Perunggu
AFAIK Klien Bittorrent biasanya mengaitkan nomor port TCP 6881. Namun, jika port ini sibuk karena beberapa alasan, klien akan mencoba port yang lebih tinggi secara berturut -turut (6882, 6883, dan sebagainya hingga batas 6999). Agar klien Bittorrent luar dapat mencapai yang satu ini, mereka harus dapat terhubung ke port yang benar.
3 Okt 2013 jam 8:04
Jika Anda memiliki kontrol atas komputer jaringan, Anda dapat mencoba menemukan hash dari aplikasi BitTorrent dan memblokirnya agar tidak diinstal atau menjalankan PC apa pun
12 Des 2013 jam 12:05
Ini tidak menjawab pertanyaan sama sekali. OP menanyakan port apa yang digunakan.
12 Des 2013 jam 14:57
@Roryalsop Saya agak terlambat, tetapi orang -orang menyarankan solusi lain karena Bittorrent tidak terbatas pada port apa pun.
18 Sep 2015 jam 4:05
Memblokir setiap port masuk/keluar di semua protokol dan meninju firewall berdasarkan permintaan.
12 Feb 2017 jam 2:27
2 Jawaban 2
Memblokir bittorrent itu menantang, dan tidak bisa benar -benar dilakukan secara efektif dengan blok port. Port standar adalah 6881-6889 TCP, tetapi protokol dapat dijalankan di port apa pun, dan sifat peer-to-peer dari protokol berarti bahwa menemukan rekan yang menggunakan port yang tidak diblokir adalah sederhana.
Memblokir lalu lintas bittorrent dapat dilakukan dengan inspeksi packet-packet atau firewall aplikasi, tetapi banyak klien Bittorrent mendukung enkripsi yang membuat DPI kurang efektif.
Jika Anda memiliki jaringan dan bandwidth adalah masalah besar Anda, maka Anda akan dilayani dengan baik oleh solusi pemantauan bandwidth. Kontrol kualitas layanan (QoS) dan topi bandwidth untuk titik akhir dapat membatasi dampak yang dimiliki pengguna Bittorrent pada bandwidth Anda secara keseluruhan, tanpa permainan kucing-dan-tikus mencoba memblokir protokol tertentu.
Pendekatan lain adalah memblokir jenis koneksi yang dibutuhkan BitTorrent. Sebagai protokol peer-to-peer, rekan di luar jaringan Anda perlu terhubung. Firewall dapat melarang koneksi yang masuk ke subnet pengguna Anda, sambil mengizinkan mereka ke layanan yang Anda inginkan. IPS dapat menempatkan ambang batas pada jumlah koneksi yang masuk dan keluar, karena klien Bittorrent perlu terhubung ke beberapa rekan (dan memiliki banyak rekan terhubung ke mereka) untuk berfungsi.
Jika kekhawatiran Anda adalah legalitas konten yang dibagikan (atau jika Anda berencana untuk mengambil tindakan terhadap pengguna Anda), maka pertahanan terbaik Anda adalah kebijakan penggunaan yang dapat diterima dengan baik yang menguraikan tanggung jawab pengguna atas tindakan mereka dan melarang penggunaan perangkat lunak berbagi file file.
Port mana yang perlu diizinkan melalui firewall untuk membibit torrent menggunakan transmisi-cli di server tanpa kepala?
Hosting sendiri pelacak saya sendiri menggunakan BitTorrent-Tracker. Terbuka UDP Port 6969 di server pelacak dan benih. Apa lagi yang dibutuhkan?
19.8K 47 47 Lencana Emas 179 179 Lencana Perak 312 312 Lencana Perunggu
Ditanya 23 Feb 2022 pukul 14:35
Sunnnudsen Sunnnudsen
842 10 10 Lencana Perak 22 22 Lencana Perunggu
1 Jawaban 1
Baik untuk pelacak maupun klien torrent jawabannya sama:
Port yang Anda konfigurasi.
Pelacak secara tradisional mendengarkan TCP Port 6969. Mereka bisa mendengarkan di port lain (baik TCP dan UDP) juga. Itu tergantung pada pengaturan.
Bittorrent secara teknis memiliki port terkenal (TCP 6881-6889). Protokol DHT dapat menggunakan port UDP yang berbeda. Protokol UTP dapat menggunakan port UDP yang berbeda. Dalam praktiknya, itu sekali lagi tergantung pada konfigurasi.
Jika Anda berada di belakang gerbang NAT dalam bentuk apa pun, Anda juga perlu penerusan port.