การเปิดตัว libtorrent 2.0 พร้อมรองรับโปรโตคอล BitTorrent 2

แนะนำ การเปิดตัวห้องสมุดครั้งสำคัญ ลิทอร์เรนท์ 2.0 (หรือเรียกอีกอย่างว่า libtorrent-rasterbar) ซึ่งนำเสนอการใช้งานโปรโตคอล BitTorrent ที่มีประสิทธิภาพในแง่ของการใช้หน่วยความจำและโหลด CPU ห้องสมุด ที่เกี่ยวข้อง ในไคลเอนต์ฝนตกหนักเช่น น้ำท่วม, qBittorrent, Folx, แมวป่าชนิดหนึ่ง, Miro и เปี่ยม (เพื่อไม่ให้สับสนกับห้องสมุดอื่น libTorrentซึ่งใช้ใน rTorrent) รหัส libtorrent เขียนด้วยภาษา C++ และ จัดจำหน่ายโดย ภายใต้ใบอนุญาต BSD

การเปิดตัวนั้นน่าทึ่งมาก เพิ่ม รองรับโปรโตคอล บิตทอร์เรนต์ v2ซึ่งหลีกเลี่ยงการใช้อัลกอริทึม SHA-1 ซึ่งมี ปัญหา ด้วยการเลือกการชนกันเพื่อสนับสนุน SHA2-256 SHA2-256 ใช้เพื่อควบคุมความสมบูรณ์ของบล็อกข้อมูลและสำหรับรายการในดัชนี (พจนานุกรมข้อมูล) ซึ่งละเมิดความเข้ากันได้กับ DHT และเครื่องติดตาม สำหรับลิงก์แม่เหล็กไปยังทอร์เรนต์ที่มีแฮช SHA2-256 จะมีการเสนอคำนำหน้าใหม่ “urn:btmh:” (สำหรับ SHA-1 และทอร์เรนต์แบบไฮบริด จะใช้ “urn:btih:”)

เนื่องจากการแทนที่ฟังก์ชันแฮชจะทำให้ความเข้ากันได้ของโปรโตคอลเสียหาย (ฟิลด์แฮชคือ 32 ไบต์แทนที่จะเป็น 20 ไบต์) ข้อมูลจำเพาะของ BitTorrent v2 ได้รับการพัฒนาในขั้นต้นโดยไม่คำนึงถึงความเข้ากันได้แบบย้อนหลัง และมีการเปลี่ยนแปลงที่สำคัญอื่น ๆ ถูกนำมาใช้ เช่น การใช้ Merkle hash tree ในดัชนี เพื่อลดขนาดไฟล์ทอร์เรนต์และตรวจสอบข้อมูลที่ดาวน์โหลดในระดับบล็อก

การเปลี่ยนแปลงใน BitTorrent v2 ยังรวมถึงการเปลี่ยนไปใช้การกำหนดแฮชทรีแยกกันให้กับแต่ละไฟล์ และการใช้การจัดตำแหน่งไฟล์ในส่วนต่างๆ (โดยไม่ต้องเพิ่มช่องว่างเพิ่มเติมหลังแต่ละไฟล์) ซึ่งจะช่วยลดความซ้ำซ้อนของข้อมูลเมื่อมีไฟล์ที่เหมือนกัน และทำให้ง่ายต่อการระบุ แหล่งต่าง ๆ สำหรับไฟล์. ปรับปรุงประสิทธิภาพของการเข้ารหัสโครงสร้างไดเร็กทอรี torrent และเพิ่มการเพิ่มประสิทธิภาพสำหรับการจัดการไฟล์ขนาดเล็กจำนวนมาก

เพื่อให้การอยู่ร่วมกันของ BitTorrent v1 และ BitTorrent v2 ราบรื่นขึ้น จึงมีการนำความสามารถในการสร้างไฟล์ทอร์เรนต์แบบไฮบริดมาใช้ ซึ่งรวมถึง นอกเหนือจากโครงสร้างที่มีแฮช SHA-1 แล้ว ยังสร้างดัชนีด้วย SHA2-256 อีกด้วย
ทอร์เรนต์แบบไฮบริดเหล่านี้สามารถใช้กับไคลเอนต์ที่รองรับโปรโตคอล BitTorrent v1 เท่านั้น รองรับโปรโตคอล WebTorrent ที่คาดหวังใน libtorrent 2.0 เนื่องจากปัญหาด้านความเสถียรที่ไม่ได้รับการแก้ไข เลื่อนออกไป จนกว่าจะถึงรุ่นใหญ่ครั้งต่อไปซึ่งจะไม่ออกจนถึงสิ้นปี

ที่มา: opennet.ru

เพิ่มความคิดเห็น