Hacker News하드웨어 · 시스템

20년 전 iChat 영상통화 다시 살려냈다

원제 Resurrecting iChat audio and video conferencing

112 포인트댓글 40
Key Point

Apple이 폐기한 20년 전 소프트웨어를 현대 인터넷에서 다시 작동시키기 위해 역공학과 프로토콜 구현을 직접 수행한 구체적인 사례로, 레트로 컴퓨팅 애호가들에게 바로 사용 가능한 해결책을 제공한다.

핵심 요약

  • 2000년대 초 Apple의 iChat AV는 당시 가장 우수한 영상·음성 통화 소프트웨어였으나, Apple 서버 폐지로 인터넷을 통한 통화가 불가능해졌다.
  • 2023년 Leopard/Snow Leopard OS X에서 iChat 통화를 되살리려 시도했을 때, iChat이 Apple의 SNATMAP 서버에서 공용 IP 주소를 받아오는 과정이 실패했다.
  • SNATMAP 서버는 UDP 포트 5678을 통해 클라이언트의 공용 IP와 포트를 알려주는 역할을 하는데, Apple의 원본 서버는 더 이상 응답하지 않고 있었다.
  • 2026년 LLM을 활용해 네트워크 패킷 캡처로부터 SNATMAP 프로토콜을 역공학하고 스펙 문서를 작성했다.
  • SNATMAP 프로토콜은 16바이트 요청(타입, 논스, 클라이언트 로컬 IP·포트)과 16바이트 응답(타입, 논스, 외부 IP·포트)으로 구성된다.
  • 시스템 엔지니어인 저자가 처음으로 UDP 기반 SNATMAP 서버를 Python으로 직접 작성했고, KVM/Proxmox 가상 머신 환경에서 NAT 라우터 2개를 거친 테스트 네트워크를 구축했다.
  • /etc/hosts에 157.230.2.213을 configuration.apple.com으로 지정하면 저자의 공개 SNATMAP 서버를 통해 Leopard/Snow Leopard에서 iChat 영상·음성 통화가 가능해진다.
  • 자체 호스팅을 원할 경우 웹 서버에서 /configurations/macosx/ichat/1/snatmap.txt 파일을 제공하고, 그 안에 SNATMAP 서버의 공용 IP와 포트 5678을 명시해야 한다.
  • 최신 Logitech C920 같은 웹캠도 Leopard에서 작동하며, 저자와 Methodius는 실제 인터넷을 통해 iChat AV로 성공적으로 영상 통화했다.
  • NAT 라우터가 포트 보존 NAT을 지원하면 추가 포트포워딩 없이도 P2P 연결이 가능하며, pfSense·OPNsense 같은 BSD 기반 라우터에서는 아웃바운드 NAT의 원본 포트 보존 옵션을 활성화해야 한다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗