Bagaimana cara kerja BitTorrent dengan hanya koneksi keluar?

18

Apa mekanisme di belakang yang memungkinkan BitTorrent bekerja dengan hanya koneksi keluar?

Yaitu, tanpa port forwarding.

FAQ dan Panduan BitTorrent Brian mengatakan:

BitTorrent biasanya berfungsi dengan baik di lingkungan NAT (terjemahan alamat jaringan), karena BitTorrent dapat berfungsi dengan hanya koneksi keluar.

Apakah rekan-rekan lain bekerja sebagai server pertemuan dalam kasus ini?

Peter Mortensen
sumber

Jawaban:

8

Sejauh yang saya tahu, Ia bekerja menggunakan koneksi terbalik - pada dasarnya, klien Anda melakukan koneksi keluar yang tetap dibuka oleh mesin jarak jauh dan mereka memompa data melalui koneksi yang sama.

Jika semua orang menggunakan ini dan tidak ada yang memiliki pengaturan port, kemungkinan besar akan gagal. Ketika saya telah menggunakan Bittorent dengan port dinonaktifkan, saya mendapatkan kecepatan yang menghebohkan, tetapi tidak berfungsi karena itu saya pikir ini berfungsi seperti ini.

William Hilsum
sumber
Mengapa metode ini menghasilkan kecepatan yang lebih rendah daripada jika port diteruskan?
gsingh2011
@ gsingh2011 ada banyak alasan ... yang paling umum dengan BT adalah ia dapat menyampaikan Anda melalui orang lain, jadi, kecepatan unduhan Anda dapat dibatasi oleh kecepatan unggah orang lain.
William Hilsum
Untuk pelacak ini benar dan bukan masalah. tetapi untuk mengunduh ini tidak benar. karena mekanisme pengunduhan bit torrent perlu diunduh dari teman lain. rekan-rekan lain mungkin berada di belakang NAT (seperti Anda). Jadi, bagaimana bit torrent bekerja di belakang NAT?
SMMousavi
4
Ini adalah jawaban parsial mengenai teknik-teknik NAT traversal umum. Pertanyaan sebenarnya adalah: Bagaimana Anda tahu bahwa seseorang ingin mengunduh beberapa blok file dari Anda, karena Anda tidak menerima koneksi yang tidak diinginkan? Jadi hanya ada kemungkinan terbatas: pelacak memperingatkan Anda, atau Anda secara aktif terhubung ke beberapa klien pelacak untuk memulai sesi mengintip (sehingga mereka dapat meminta unduhan pada suatu saat), atau Anda hanya menerima permintaan dari rekan-rekan yang sedang Anda unduh secara aktif dari, atau rekan-rekan ini bertindak sebagai poin Rendez-Vous. Jadi, proposal apa yang diterapkan di klien torrent?
KrisWebDev
5

BitTorrent berfungsi menggunakan koneksi P2P. Karena itu harus ada cara untuk menghubungkan langsung ke peer. Seperti yang Anda ketahui, NAT memecah P2P agar berfungsi. Tetapi ada beberapa solusi agar ini berhasil. Kebanyakan (seperti yang saya tahu semua) didasarkan pada protokol STUN.

Setiap klien mendapatkan IP publik dan nomor port sementara (UDP) menggunakan server STUN. STUN server membantu klien untuk mendeteksi keberadaan NAT dan mendeteksi ip publik + nomor port sementara (ditugaskan oleh NAT). Kemudian klien mencoba untuk membuat koneksi langsung ke rekan lain menggunakan teknik lubang meninju (lihat wikipedia ).

Jika Anda mengaktifkan UPnP juga ada solusi lain juga.

Untuk informasi lebih lanjut, lihat NAT Traversal di wikipedia .

SMMousavi
sumber
1

Biasanya, orang akan terhubung dengan Anda untuk meminta data dari Anda, dan Anda akan terhubung ke orang yang meminta data dari mereka.

Jika koneksi masuk tidak mungkin, klien Anda juga akan keluar dan secara aktif meminta untuk memberikan data kepada orang lain (dan mungkin melakukan ini jika koneksi masuk juga dimungkinkan).

Anda tidak mengunggah sebanyak ini, tetapi itu tidak terlalu menjadi perhatian pelacak umum.

Jeffrey Aylesworth
sumber