인터넷 위에 또 다른 인터넷?
Yggdrasil(이그드라실) Network라는 프로젝트를 들어보셨나요? 북유럽 신화에서 세계를 연결하는 거대한 나무 이름인데요, 이 프로젝트가 하려는 것도 딱 그 이미지예요. 기존 인터넷 인프라 위에 완전히 새로운 방식의 네트워크를 올려서, 전 세계 어디서든 직접 연결될 수 있는 오버레이 네트워크를 만드는 거예요.
오버레이 네트워크가 뭐냐면, 쉽게 말해 기존 인터넷(물리적인 케이블, 라우터 등) 위에 소프트웨어로 가상의 네트워크 계층을 하나 더 얹는 거예요. 마치 고속도로 위에 하늘길을 하나 더 놓는 것처럼요. 물리적인 인프라는 기존 인터넷을 그대로 쓰지만, 그 위에서 돌아가는 라우팅과 주소 체계는 완전히 다른 규칙을 따르는 거죠.
Yggdrasil은 어떻게 동작하나요?
Yggdrasil의 핵심은 자동 구성(self-configuring) 메시 네트워크라는 점이에요. 메시 네트워크는 중앙 서버 없이 참여하는 노드(컴퓨터)들이 서로 직접 연결되는 구조인데요, Yggdrasil에서는 네트워크에 참여하는 모든 노드가 자동으로 IPv6 주소를 부여받고, 다른 노드와의 최적 경로를 스스로 찾아내요.
기술적으로 흥미로운 부분이 있어요. Yggdrasil은 스패닝 트리(spanning tree) 기반의 라우팅을 사용하는데요, 이게 뭐냐면 네트워크 전체를 하나의 나무(트리) 구조로 바라보고, 각 노드가 이 나무에서 자기 위치를 파악한 뒤 목적지까지의 경로를 계산하는 방식이에요. 기존 인터넷의 BGP(Border Gateway Protocol) 같은 복잡한 라우팅 프로토콜 대신, 훨씬 단순하면서도 확장 가능한 구조를 지향하고 있어요.
주소 체계도 독특해요. 각 노드의 IPv6 주소가 해당 노드의 공개키(public key)에서 파생돼요. 그러니까 주소 자체가 곧 신원 증명이 되는 셈이죠. 별도의 인증 기관 없이도 "이 주소로 보낸 데이터는 정말 그 노드에게만 갈 수 있다"는 걸 암호학적으로 보장하는 거예요. 모든 트래픽은 엔드투엔드 암호화되고요.
설치도 간단해요. Go 언어로 작성되어 있어서 Linux, macOS, Windows, 심지어 안드로이드와 iOS에서도 돌릴 수 있거든요. 설치하고 설정 파일 하나만 만들면 바로 네트워크에 참여할 수 있어요. 피어(연결할 다른 노드) 주소를 몇 개 넣어주면 자동으로 네트워크 토폴로지에 편입되는 거죠.
VPN이나 Tor랑은 뭐가 다른가요?
"그거 그냥 VPN 아니야?"라고 생각하실 수 있는데, 좀 달라요. VPN은 보통 중앙 서버를 통해 트래픽을 터널링하는 구조잖아요. Yggdrasil은 중앙 서버가 없어요. 모든 노드가 동등하고, 라우팅도 분산적으로 이루어져요.
Tor와도 다른데요, Tor는 익명성에 초점을 맞춰서 트래픽을 여러 릴레이를 거쳐 보내다 보니 속도가 느린 반면, Yggdrasil은 익명성보다는 효율적인 메시 라우팅과 자동 구성에 더 무게를 두고 있어요. 목적지까지 가장 빠른 경로를 찾아가니까 성능도 상대적으로 괜찮은 편이고요.
비슷한 프로젝트로는 CJDNS(Hyperboria 네트워크의 기반), Tailscale, ZeroTier 같은 것들이 있어요. Tailscale이나 ZeroTier는 WireGuard 기반으로 사설 네트워크를 쉽게 만들어주는 서비스인데, 이쪽은 좀 더 상용화되어 있고 중앙 코디네이션 서버가 있어요. Yggdrasil은 순수하게 탈중앙화를 지향하는 실험적 프로젝트라는 점에서 성격이 좀 달라요.
어디에 쓸 수 있을까?
현재 Yggdrasil은 아직 알파 단계의 실험적 프로젝트라는 점을 먼저 말씀드려야 해요. 프로덕션 환경에 바로 투입하기엔 무리가 있고, 네트워크 규모도 아직 크지 않아요.
그렇지만 몇 가지 흥미로운 활용 사례가 있어요. 홈랩이나 개인 서버를 운영하는 분들이 NAT 뒤에 있는 장비들을 직접 연결하는 데 쓰거든요. 공유기 뒤에 있어서 외부에서 접속이 안 되는 라즈베리파이나 홈서버에 Yggdrasil을 설치하면, 어디서든 해당 장비의 Yggdrasil IPv6 주소로 접근할 수 있어요. 포트포워딩이나 DDNS 같은 번거로운 설정 없이요.
네트워크 프로그래밍을 공부하는 분들에게도 좋은 학습 자료예요. DHT(분산 해시 테이블), 스패닝 트리 라우팅, 암호학 기반 주소 체계 같은 개념들을 실제로 동작하는 코드에서 확인할 수 있거든요. Go로 작성되어 있어서 코드 읽기도 비교적 수월하고요.
한국 개발자에게 주는 시사점
한국은 인터넷 인프라가 워낙 좋아서 "왜 굳이 오버레이 네트워크가 필요해?"라고 느끼실 수도 있어요. 하지만 IoT 기기 간 통신, 엣지 컴퓨팅, 혹은 검열 저항성 있는 통신 채널이 필요한 상황에서 이런 메시 네트워크 기술의 가치가 드러나요.
특히 최근 분산 시스템이나 P2P 기술에 관심이 높아지고 있는데, Yggdrasil의 라우팅 알고리즘이나 암호학 기반 주소 체계를 공부해두면 관련 분야의 기초 체력을 기르는 데 도움이 될 거예요. GitHub에서 소스코드를 볼 수 있으니, 네트워크 프로토콜 설계에 관심 있는 분이라면 한번 뜯어보시길 추천해요.
마무리
Yggdrasil은 "중앙 없이도 전 세계가 하나의 네트워크로 연결될 수 있을까?"라는 질문에 코드로 답하는 프로젝트예요. 아직 실험 단계이지만, 탈중앙 네트워크 기술의 가능성을 엿볼 수 있는 좋은 사례죠.
여러분이 생각하기에 진정한 탈중앙 네트워크가 실용적으로 자리 잡을 수 있을까요? 아니면 Tailscale처럼 약간의 중앙화를 허용하는 방식이 현실적인 타협점일까요?
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공