iroh - 공개키 기반 초고속 P2P 네트워크 연결 라이브러리 오픈소스

2 hours ago 1
  • p2p that just works : "저 전화기로 연결해줘" 하면 위치와 상관없이 가장 빠른 네트워크 연결을 유지하는 API 제공
  • 네트워크 주소나 IP가 아닌 공개키(Public Key, dial keys) 기반으로 대상 노드와 연결하는 API 제공
  • 최적의 경로를 찾아 직접 연결(Hole-punching) 또는 공개 릴레이 서버를 통해 항상 가장 빠른 연결을 유지
  • QUIC 기반(Quinn 사용) 으로 암호화, 동시 스트림, 데이터그램, 지연 없는 통신을 기본 제공하며, 헤드 오브 라인 블로킹이 발생하지 않음
    • head-of-line-blocking : 네트워크 통신에서 한 줄의 데이터(패킷) 흐름 중 앞쪽의 일부 데이터가 지연될 경우, 그 뒤에 있는 모든 데이터도 함께 대기하며 전체 전송 지연이 발생하는 현상
  • 클라우드 서버, 태블릿, 임베디드 시스템 등 크기와 환경에 관계없이 어디서든 실행되는 장치 간 데이터 전송 가능
    • 동일한 API로 ESP32, Raspberry Pi, Linux에서 실행 가능하며, 장치들이 자동으로 서로를 발견 - 브로커나 게이트웨이 필요없음
  • iroh-blobs, iroh-gossip, iroh-docs, iroh-willow 등 이미 구축된 확장 프로토콜을 쉽게 조합해 대용량 콘텐츠 블롭 전송, 퍼블리시-서브스크라이브, eventual-consistent 키-값 저장소 등 다양한 분산 네트워크 애플리케이션 구현 가능
  • Rust 라이브러리로 쉽게 연동 가능하며, FFI 바인딩을 통해 타 언어 지원도 가능
  • 오픈소스(dual license: MIT/Apache 2.0) 로 누구나 자유롭게 수정·배포 및 자체 릴레이 운영 가능
Read Entire Article