Menggunakan IPv6 dengan Sambungan Terus Lanjutan

Menarik untuk melihat perkembangan rangkaian perkongsian fail, tetapi lebih menarik untuk menyertainya.

Hari ini, memasang dan melancarkan alat moden NMDC hab, pentadbir yang baru dicetak mendapat akses kepada hampir semua perkembangan dan pengalaman yang terkumpul di kawasan pendahulunya ini. Ia mempunyai sistem yang sedia untuk pengembangan dan penyesuaian, termasuk dengan bantuan banyak skrip.

Π‘ ADC hab sebaliknya. Reka bentuk protokol ini bertujuan untuk diperluaskan. Adakah anda mahukan ciri baharu? Nah, tawarkannya, promosikannya, laksanakannya, laksanakannya, gunakannya.

Terjemah ke Bahasa Inggeris

Akibatnya, anda boleh, sudah tentu, mendapatkan hab siap sedia keluar dari kotak, tetapi hanya melancarkannya dan melupakannya tidak akan baik. Kebolehlanjutan dalam konteks sejarah juga membayangkan kehadiran beberapa fungsi berbeza perisian klien dan pelayan, bergantung pada versi. Dan apa yang akan berfungsi tanpa masalah untuk satu pengguna mungkin tidak serasi dengan pelanggan yang lain, dan ini mesti diambil kira.

Ini berlaku dengan IPv6. Orang tua NMDC tidak tahu bagaimana untuk melakukannya pada dasarnya, tetapi ADC sendiri bersedia untuk itu. Walau bagaimanapun, tidak semuanya begitu mudah.

Sedikit teori

Pengguna "aktif" boleh menerima sambungan masuk. Sebenarnya, permintaan sambungan yang datang daripadanya sebenarnya jemputan.

Pengguna "pasif" secara amnya hanya boleh menggunakan permintaan keluar. Melalui hub dia bertanya pengguna aktif menghantar jemputan - dan sambungan diwujudkan.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan

Dan ya, mekanisme ini tidak bergantung pada versi protokol IP yang digunakan.

Angsa, udang karang dan pike

Mari kita bercakap tentang perisian pelanggan.

sokongan IPv6 DC ++ bersifat eksperimental. Tiada tetapan berasingan untuknya, dan lebih mengejutkan saya melihat mod operasi yang berbeza untuk versi IP yang berbeza, dengan pasif hanya untuk yang keenam, tetapi ini tidak tepat.

Tidak mungkin untuk mendapatkan mod aktif semasa konfigurasi manual walaupun secara eksplisit menggunakan domain IP dengan rekod AAAA sebagai WAN, tetapi dalam mod automatik menggunakan UPnP semuanya berfungsi seperti yang diharapkan.

AirDC++ juga mempunyai sokongan untuk sambungan IPv6, dan ia dilaksanakan secara berasingan daripada IPv4. Selain itu, pelanggan ini mengubah suai teg pengguna dengan cara untuk memaparkan mod pengendalian untuk kedua-dua protokol IP secara serentak. Hab sendiri tidak tahu bagaimana untuk melakukan ini (belum), yang sangat disayangkan.

Saya mesti segera membuat tempahan: AirDC++ melakukan ini sahaja dan untuk dirinya sendiri. Pada masa hadapan, untuk kemudahan, saya akan menggunakan kombinasi seperti AP atau AA sebagai petunjuk mod operasi aktif atau pasif untuk IPv4 dan IPv6, dan bukannya paparannya dalam teg klien sebenar pada hab sebenar. Ia penting.

Dalam eksperimen kami, kami akan gunakan FlylinkDC++ sebagai pelanggan yang tidak biasa dengan IPv6. Ia juga harus diperhatikan bahawa sokongan NATT bagi beliau semasa menulis artikel ini tidak dilaksanakan di mana-mana.

bermula

Pertama sekali, kami akan melihat sambungan yang jelas mustahil antara pengguna versi protokol IP yang berbeza. Akan digunakan untuk ujian Hab sedia IPv6 dengan sumber A- dan rekod AAAA untuk nama domain yang bertindak sebagai alamatnya.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan

Sila ambil perhatian bahawa apabila anda (sebenarnya) cuba menghubungi pengguna dengan alamat IP versi XNUMX, ralat dipaparkan.

Hub:	[Outgoing][IPv4:412]	 	DRCM AACX AACU ADCS/0.10 337151563
Hub:	[Incoming][IPv4:412]	 	DCTM AACU AACX ADCS/0.10 1988 337151563
Hub:	[Outgoing][IPv4:412]	 	DSTA AACX AACU 240 IPsunknown

Dalam terjemahan manusia bunyinya seperti

P4: – Bolehkah saya berpaut dengan awak?
A6: – Berpegang teguh!
P4: – Hidup adalah kesakitan 0_0

Kamus pendek, jika perlu, di sini.

Dan jika sebaliknya, dan sambungan dimulakan A4, maka tiada ralat dipaparkan dan sambungan hanya tergantung.

Hub:	[Outgoing][IPv4:412]	 	DCTM AACX AACU ADCS/0.10 1993 3871342713

Jadilah, nampaknya tidak

Apa yang penting ialah mod sambungan yang dipaparkan pada hab.

Pelanggan tanpa sokongan IPv6 perlu melihat pengguna yang disambungkan melaluinya sebagai pasif dengan jelas, semata-mata kerana hab tidak mengisi untuk mereka I4 atau I6 lapangan dengan sewajarnya.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan
FlylinkDC++ lwn. IPv6

Pada hakikatnya, keadaan adalah lebih mudah dan lebih kompleks pada masa yang sama.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan
AirDC++ lwn. IPv6

Lebih mudah kerana IPv6 diutamakan berbanding IPv4, dan itu boleh difahami. Melaluinya (walaupun override tersedia menggunakan pilihan yang sepadan) sambungan ke hab akan diwujudkan, dan klien aktif akan menawarkannya kepada klien pasif untuk sambungan.

Ia lebih sukar, kerana jika terdapat pengguna dengan sokongan IPv6 pada hab, tetapi mereka disambungkan dengan ketat melalui alamat IPv4, maka...

Menggunakan IPv6 dengan Sambungan Terus Lanjutan

... kemudian anda boleh menyambung kepada mereka (secara rawak) tanpa mempunyai IPv4 sama sekali.

Sila ambil perhatian bahawa pelanggan jauh telah menetapkan dirinya sebagai aset, tetapi dianggap sebagai liabiliti. kenapa?

Lemparkan dia dalam buaian

Sekarang mari cuba sambungkan pelanggan dengan set sokongan protokol IP yang berbeza, tetapi biasa dari segi IPv4, antara satu sama lain.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan

Ya, sayang sekali pengguna pasif terpaksa merokok di luar talian. Tetapi ini tidak dapat dielakkan, kerana alamat IP yang boleh dilihat mereka tidak begitu penting - itulah sebabnya ia adalah liabiliti.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan

Bah! Pelanggan aktif menghantar perintah pasif?.. Adalah logik untuk mengharapkan sambungan "terperangkap", tetapi tidak, ternyata di bawah syarat A4.

Kenapa begitu? Kami menghubungi pembangun dan dapatkan jawapannya:

CTM adalah tidak baik jika pengguna lain tidak menyokong IPv6

Dan anda tidak boleh membantah! Tetapi ini memerlukan logik dalaman, bebas daripada hab (lihat kod di sini ΠΈ di sini). Ia masih mustahil untuk membantu pasif, kerana

Mod aktif = TCPx+IPx

Percubaan untuk menyambung antara pelanggan dengan set sokongan IP IPv6 biasa kelihatan seperti ini. Biar saya ingatkan, capai PA Saya tidak berjaya untuk DC++.

Menggunakan IPv6 dengan Sambungan Terus Lanjutan

Dan sekali lagi kejutan. Ternyata mod pasif untuk IPv6, yang ditunjukkan oleh DC++, sama ada palsu atau pepijat yang disengajakan.

Apa seterusnya?

Pada masa ini, terdapat dua cara untuk menyelesaikan semua masalah yang mungkin menghubungkan pengguna dalam mod yang berbeza dan dengan set sokongan protokol IP yang berbeza.

Yang pertama ialah membisukan IPv6 sama sekali atau, sebaliknya, mencipta hab untuk berfungsi hanya melaluinya.

Yang kedua ialah ini pembesaran, yang baru menghampiri peringkat ujian.

Nah, jika anda terlalu malas untuk menyediakan mod aktif untuk bekerja di DC, ingat:

Sesiapa yang mempunyai, apa yang akan diberikan kepadanya, dan sesiapa yang tidak mempunyai, walaupun apa yang difikirkannya ada padanya akan diambil daripadanya. OKEY. 8:18

Sumber: www.habr.com

Tambah komen