สรุป
ลูกค้าใหม่สามารถเข้าร่วมฝูงโดยไม่ต้องติดตามหรือความรู้ของสมาชิกอย่างน้อยหนึ่งคนในฝูงเพื่อแลกเปลี่ยนเพื่อนร่วมงานด้วยได้อย่างไร
คุณทำไม่ได้ มันเป็นไปไม่ได้.*
* (ยกเว้นว่าโหนดบนเครือข่ายท้องถิ่นของคุณเป็นโหนดใน DHT แล้วในกรณีนี้คุณสามารถใช้กลไกการแพร่ภาพเช่น Avahi เพื่อ "ค้นพบ" เพียร์นี้และ bootstrap จากพวกเขา แต่ทำไมพวกเขาบูตตัวเองหรือไม่ในที่สุดคุณจะเจอสถานการณ์ที่คุณต้องเชื่อมต่อกับอินเทอร์เน็ตสาธารณะและอินเทอร์เน็ตสาธารณะนั้นเป็น unicast-only ไม่ใช่ multicast ดังนั้นคุณจึงติดอยู่กับการใช้รายการเพื่อนที่กำหนดไว้ล่วงหน้า)
อ้างอิง
Bittorrent DHTจะดำเนินการผ่านทางโปรโตคอลที่รู้จักกันเป็นKademliaซึ่งเป็นกรณีพิเศษของแนวคิดทฤษฎีของตารางแฮชกระจาย
นิทรรศการ
ด้วยโปรโตคอล Kademlia เมื่อคุณเข้าร่วมเครือข่ายคุณจะต้องผ่านขั้นตอนการบูตสตริปซึ่งต้องให้คุณทราบล่วงหน้าที่อยู่ IP และพอร์ตอย่างน้อยหนึ่งโหนดที่เข้าร่วมในเครือข่าย DHT แล้ว ตัวติดตามที่คุณเชื่อมต่ออาจเป็นโหนด DHT เมื่อคุณเชื่อมต่อกับโหนด DHT หนึ่งโหนดคุณจะดำเนินการดาวน์โหลดข้อมูลจาก DHT ซึ่งให้ข้อมูลการเชื่อมต่อสำหรับโหนดเพิ่มเติมและจากนั้นนำทางโครงสร้าง "กราฟ" เพื่อรับการเชื่อมต่อไปยังโหนดมากขึ้นซึ่งสามารถให้ทั้งสองอย่าง การเชื่อมต่อกับโหนดอื่น ๆ และข้อมูล payload (กลุ่มดาวน์โหลด)
ฉันคิดว่าคำถามที่แท้จริงของคุณเป็นตัวหนา - วิธีเข้าร่วมเครือข่าย Kademlia DHT โดยไม่ทราบว่ามีสมาชิกคนอื่น ๆ - ตั้งอยู่บนสมมติฐานที่ผิด
คำตอบง่ายๆกับคำถามของคุณเป็นตัวหนามีที่คุณทำไม่ได้ หากคุณไม่ทราบข้อมูลใด ๆ เลยแม้แต่โฮสต์เดียวซึ่งอาจมีข้อมูลเมตา DHT แสดงว่าคุณติดอยู่ - คุณไม่สามารถเริ่มต้นได้ ฉันหมายความว่าคุณสามารถพยายามค้นหา IP บนอินเทอร์เน็ตสาธารณะด้วยพอร์ตเปิดที่เกิดขึ้นเพื่อถ่ายทอดข้อมูล DHT แต่มีโอกาสมากขึ้นที่ไคลเอนต์ BT ของคุณจะถูกกำหนดค่าตายตัวไปยัง IP หรือ DNS แบบคงที่เฉพาะซึ่งแก้ไขให้กับโหนด DHT ที่มีเสถียรภาพซึ่งเพิ่งให้ข้อมูลเมตา DHT
โดยทั่วไป DHT นั้นมีการกระจายอำนาจตามกลไกการเข้าร่วมและเนื่องจากกลไกการเข้าร่วมนั้นค่อนข้างเปราะ (ไม่มีวิธี "ออกอากาศ" ผ่านอินเทอร์เน็ตทั้งหมด! ดังนั้นคุณต้องunicastไปยังโฮสต์ที่ได้รับมอบหมายล่วงหน้าแต่ละรายเพื่อรับ DHT ข้อมูล) Kademlia DHT ไม่ได้จริงๆการกระจายอำนาจ ไม่ได้อยู่ในความหมายที่เข้มงวดที่สุดของคำ
จินตนาการสถานการณ์นี้: คนที่ต้องการ P2P เพื่อหยุดออกไปและเตรียมการโจมตีในทุกโหนด DHT มั่นคงที่ใช้กันทั่วไปที่ใช้สำหรับการร่วมมือ เมื่อพวกเขาได้จัดฉากการโจมตีของพวกเขาในฤดูใบไม้ผลิบนทุกโหนดทั้งหมดในครั้งเดียว Wham ; ทุกโหนด DHT การบู๊ตเดี่ยวจะลดลงในคราวเดียว ตอนนี้คืออะไร คุณกำลังติดกับการเชื่อมต่อกับเครื่องมือติดตามส่วนกลางเพื่อดาวน์โหลดรายการเพื่อนดั้งเดิมจากสิ่งเหล่านั้น ดีถ้าพวกเขาโจมตีติดตามมากเกินไปแล้วคุณจริงๆจริงๆขึ้นลำห้วย กล่าวอีกนัยหนึ่งว่า Kademlia และเครือข่าย BT ทั้งหมดถูก จำกัด ด้วยข้อ จำกัด ของอินเทอร์เน็ตในกรณีนั้นมีคอมพิวเตอร์จำนวน จำกัด (และค่อนข้างเล็ก) ที่คุณจะต้องประสบความสำเร็จในการโจมตีหรือออฟไลน์เพื่อป้องกัน> 90% ของผู้ใช้จากการเชื่อมต่อกับเครือข่าย
เมื่อโหนด "bootstrapping" แบบหลอกส่วนกลางหายไปโหนดภายในของ DHT ซึ่งไม่ได้เป็น bootstrapping เพราะไม่มีใครอยู่ด้านนอกของ DHT ที่รู้เกี่ยวกับโหนดภายในนั้นจะไร้ประโยชน์ พวกเขาไม่สามารถนำโหนดใหม่เข้าสู่ DHT ดังนั้นเนื่องจากแต่ละโหนดภายในถูกตัดการเชื่อมต่อจาก DHT เมื่อเวลาผ่านไปเนื่องจากคนปิดเครื่องคอมพิวเตอร์รีบูตเครื่องเพื่ออัพเดท ฯลฯ เครือข่ายก็จะล่มสลาย
แน่นอนว่าในการหลีกเลี่ยงปัญหานี้บางคนสามารถปรับใช้ไคลเอนต์ BitTorrent ที่ได้รับการติดตั้งแพตช์ด้วยรายการใหม่ของโหนด DHT หรือ DNS แอดเดรสที่กำหนดไว้ล่วงหน้าที่กำหนดไว้ล่วงหน้าและส่งเสียงดังไปยังชุมชน P2P แต่สิ่งนี้จะกลายเป็นสถานการณ์ "whack-a-mole" ที่ผู้รุกราน (โหนด - ผู้กิน) จะดาวน์โหลดรายการเหล่านี้อย่างต่อเนื่องและกำหนดเป้าหมายโหนด bootstrapping ใหม่ที่กล้าหาญจากนั้นนำพวกเขาออฟไลน์เช่นกัน