iroh - ไลบรารีโอเพนซอร์สสำหรับการเชื่อมต่อเครือข่าย P2P ความเร็วสูงพิเศษบนพื้นฐานคีย์สาธารณะ
(github.com/n0-computer)- p2p that just works : มี API สำหรับ "เชื่อมต่อไปยังอุปกรณ์นั้น" แล้ว คงการเชื่อมต่อเครือข่ายที่เร็วที่สุดไว้ได้โดยไม่ขึ้นกับตำแหน่ง
- มี API สำหรับ เชื่อมต่อกับโหนดเป้าหมายโดยอิงจากคีย์สาธารณะ (Public Key, dial keys) แทนที่อยู่เครือข่ายหรือ IP
- ค้นหาเส้นทางที่เหมาะสมที่สุดและ รักษาการเชื่อมต่อที่เร็วที่สุดเสมอ ผ่าน การเชื่อมต่อตรง (Hole-punching) หรือ เซิร์ฟเวอร์รีเลย์สาธารณะ
- ทำงานบน QUIC (ใช้ Quinn) จึงมี การเข้ารหัส, สตรีมพร้อมกัน, ดาตาแกรม, การสื่อสารแบบหน่วงต่ำ มาให้เป็นพื้นฐาน และไม่เกิด head-of-line blocking
- head-of-line-blocking : ปรากฏการณ์ที่ในการสื่อสารเครือข่าย หากข้อมูลบางส่วนที่อยู่ด้านหน้าในสายข้อมูลเดียวกัน (แพ็กเก็ต) ล่าช้า ข้อมูลทั้งหมดที่ตามมาก็ต้องรอไปด้วย ทำให้เกิด ความล่าช้าในการส่งโดยรวม
- รองรับการรับส่งข้อมูลระหว่างอุปกรณ์ที่รันได้ทุกที่ ไม่ว่าจะเป็น คลาวด์เซิร์ฟเวอร์, แท็บเล็ต, ระบบฝังตัว หรือสภาพแวดล้อมขนาดใดก็ตาม
- ใช้งานได้บน ESP32, Raspberry Pi, Linux ด้วย API เดียวกัน และอุปกรณ์ต่าง ๆ ค้นหากันเองได้โดยอัตโนมัติ โดยไม่ต้องมี broker หรือ gateway
- สามารถผสานโปรโตคอลส่วนขยายที่สร้างไว้แล้วอย่าง iroh-blobs, iroh-gossip, iroh-docs, iroh-willow ได้ง่าย เพื่อสร้างแอปพลิเคชันเครือข่ายแบบกระจายศูนย์หลากหลายรูปแบบ เช่น การส่ง blob ขนาดใหญ่, publish-subscribe, ที่เก็บคีย์-ค่าแบบ eventual-consistent
- เชื่อมต่อใช้งานได้ง่ายในฐานะไลบรารี Rust และยังรองรับภาษาอื่นผ่าน FFI bindings
- เป็น โอเพนซอร์ส (dual license: MIT/Apache 2.0) ทุกคนจึงสามารถแก้ไข แจกจ่าย และเปิดใช้งานรีเลย์ของตนเองได้อย่างอิสระ
ยังไม่มีความคิดเห็น