GN⁺: 이그드라실 네트워크
(yggdrasil-network.github.io)-
Yggdrasil 소개
- Yggdrasil은 새로운 실험적 경로 설정 방식으로, 현재 인터넷에서 일반적으로 사용되는 구조적 경로 설정 프로토콜의 대안으로 설계되었음
- 미래의 대규모 메쉬 네트워크를 위한 기술로도 사용 가능함
-
특징
- 확장성: 대규모, 복잡한 또는 인터넷 규모의 토폴로지를 지원함
- 자체 복구: 네트워크는 연결 실패나 이동성 이벤트에 빠르게 대응함
- 암호화: 네트워크를 통해 전송되는 트래픽은 항상 종단 간 암호화됨
- 피어 투 피어: 설계상 완전히 임시로 작동하며 중앙 집중화된 지점이 없음
- 크로스 플랫폼: Linux, macOS, Windows, iOS, Android 등에서 지원됨
-
현재 구현
- Yggdrasil의 현재 구현은 경량의 사용자 공간 소프트웨어 라우터로, 다양한 플랫폼에서 쉽게 구성 가능함
- 네트워크 참가자 간의 종단 간 암호화된 IPv6 라우팅을 제공함
- 노드 간 피어링은 로컬 네트워크, 포인트 투 포인트 링크 또는 인터넷을 통한 TCP/TLS 연결을 사용하여 구성 가능함
- Yggdrasil 네트워크는 노드 간 IPv6 라우팅을 제공하지만, 피어링 연결은 IPv4 또는 IPv6 네트워크를 통해 설정 가능함
-
프로젝트 상태
- 여전히 알파 단계의 프로젝트이며, 미래에 몇 가지 중대한 변경이 있을 수 있음
- 그럼에도 불구하고, Yggdrasil은 일반적으로 일상적인 사용에 충분히 안정적이며, 소수의 사용자가 다양한 사용 사례에 대해 Yggdrasil을 강하게 스트레스 테스트하고 있음
-
참여 방법
- 네트워크에 참여하기 위해 자신의 컴퓨터나 라우터에 Yggdrasil을 설치하고 구성함
- Matrix 채널에서 대화에 참여함
- 사용자들이 운영하는 네트워크의 내부 서비스를 탐색함
- 개발자 페이지와 GitHub를 방문함
- GitHub 이슈로 버그와 문제를 보고함
Hacker News 의견
-
Yggdrasil의 프로토콜 명세를 찾으려 했으나 공식 문서에서 찾을 수 없었음. GitHub의 다른 프로젝트에서 관련 정보를 발견했음
- 이 문서는 암호화 ID, 메시지 형식, 와이어 프로토콜, 피어링 및 스트림 의미, 스패닝 트리 업데이트 및 루트 선택, DHT, 포워딩 로직, 세션 등을 다루고 있음
- TCP에 매우 밀접하게 결합되어 있으며, 모든 패킷이 신뢰성 있게 전송되고 순서대로 전달되어야 함
-
Yggdrasil 주소가 IPv6에 맞춰져 있으며, 공개 키의 해시를 사용함. 이는 보안에 어떤 이점이 있는지 의문임
- 새로운 TLD를 만들어 base32를 사용하는 것이 더 나을 수 있음
-
Yggdrasil과 cjdns는 기존 인터넷 위에 구축된 가상 P2P 네트워크로, 일반적인 레이어 3 라우팅 서비스를 제공함
- ISP와 인터넷 백본이 여전히 필요함
- IP 레이어를 대체할 수 있는 전 세계적인 P2P 네트워크 프로젝트가 있는지 궁금함
-
실제 메쉬 P2P IP 네트워크를 원한다면 Tailscale/Headscale을 사용할 수 있음
- 최근 프로젝트 중 하나는 방화벽/NAT을 통과하고 QUIC 연결을 설정함
- 두 가지 유용한 PoC가 있음: sendme, dumbpipe
-
3-4년 전에는 매우 흥미로웠으나 현재는 프로젝트가 중단된 것 같음. 사용 중인 사람의 인상이 궁금함
-
공개 키에서 파생된 주소 아이디어가 좋지만, IPv6 주소의 길이 제한으로 충돌 가능성이 있음
- 장기적으로는 주소 길이에 제한이 없는 커스텀 프로토콜을 추가할 계획임
-
Reticulum Network Stack도 이 분야에 포함됨
-
Yggdrasil은 새로운 실험적 컴팩트 라우팅 스킴임. 하지만 이제는 6년 이상 된 프로젝트임
-
Teredo 터널과 유사함. 이는 Windows 7의 일부로, IPv4 위에 IPv6 터널을 구축하고 Windows 기기에 글로벌 IPv6 주소를 할당했음. Windows 10에서는 제거됨