일명 넷캔의 축피/저피의 진실

유키미아우·2025년 6월 23일
0

때는 2000년대 초반, "그림쟁이"로 인터넷에서 활약했던 오타쿠 닝겐이라면 오픈캔버스(OpenCanvas) 1.1의 '넷캔(NetCanvas)' 기능으로 친구들과 동시에 그림을 그렸던 추억이 있을 것이다.

🔺 대략 이런 느낌..

당시 우리는 넷캔에서 방을 열 수 있는 사람을 "축피(축복받은 IP)",
방을 열어도 아무도 들어오지 못하는 사람을 "저피(저주받은 IP)"라고 불렀었다.

축피(축복받은 IP)는 2로 시작하고
저피(저주받은 IP)는 1로 시작합니다!!

🔺 당시 네이버에서 넷캔하는 법을 검색하면 항상 보이던 문구.
나 또한 저피였기에, 애먼 아파트 회선을 원망하곤 했다.

그런데 오늘 네트워크를 공부하던 중 IP와 라우터 챕터를 공부하고 당시 이 도시전설같은 썰이 얼마나 바보같고 귀여운 착각이었던 것인지 깨닫게 되었다.

넷캔?

당시 넷캔은 서버가 아닌 P2P 방식으로 연결되었다고 한다. (P2P가 무척 핫했던 그 시절.. 프루나를 아십니까)

즉, 한 명이 호스트가 되고 나머지 참여자들이 호스트의 IP 주소를 직접 입력해서 연결하는 형식인 셈이다.

문제는 대부분의 집에서 공유기(=NAT + DHCP)를 사용하고 있었고, 이 공유기 뒷편의 환경은 외부에서 직접 접속이 되지 않는 구조였을 것이다.

  • NAT: 네트워크 내부에서 사용되는 사설 IP주소와 네트워크 외부에서 사용되는 공인 IP 주소를 변환하는 데 사용되는 기술. 라우터에 내장되어 있다.
  • DHCP: 동적 아이피를 임대, 반환하는 기술. (우리의 아이피가 허구한 날 며칠마다 바뀌는 이유) 마찬가지로 라우터에 내장되어 있다.

축피 vs 저피의 진실

구분어린 시절의 해석진실
IP가 2로 시작 → 축피접속 잘 됨, 방장 가능공인 IP일 가능성 높음
IP가 1로 시작 → 저피방 열어도 안 됨ㅠ사실은 192.168.1.x = 사설 IP

"1로 시작해서 저피"라고 생각했던 건, 사실은 공유기에서 사설 IP를 임대받은 NAT 뒤의 아주 지극히 평범한 환경이였던 것이다.

(전화기 옆에서 연일 깜빡깜빡거리던 VDSL어쩌고가 써있던 기계가 저피의 원흉이었다니...)

또한 공인 IP는 1로 시작할 수도, 2로 시작할 수도 있고, 그 외 숫자로도 시작할 수도 있다. 실은 자신의 IP가 1로 시작한다며 좌절하던 유저였더라도 "축피"였을 가능성이 있는 것이다. 흔히 집에서 공유기에서 할당받은 사설 IP(예: 192.168.1.x)가 1로 시작하는 ‘1’이 포함되어 있다보니 당시 많은 초등생들이 착각에 빠졌을만도 하다.

그렇다면 축피였던 애는 뭔가?

그 친구들은 그냥 운이 좋았던 게 아니라, 아래같은 환경 중 하나에 놓여있었을 가능성이 높다.

  • 공유기 없이 모뎀 직결
  • 허브만 사용해서 공인 IP 여러 개
  • 초기 ISP가 직접 공인 IP를 PC에 할당해줬던 경우

이런 환경에서는 포트포워딩 없이도 외부에서 접속이 가능했기 때문에
넷캔 방을 열 수 있었고, 친구들은 그걸 '축피'라고 불렀던 것이다.

저피들의 구세주: VPN (하마치)

"하마치 다운"
위 검색어를 기억하는가.

방을 못 여는 나같은 저피들이 최후의 수단으로 이용했던 하마치(Hamachi).

하마치는 서로 다른 NAT 환경에 있는 컴퓨터들을 마치 같은 LAN 안에 있는 것처럼 터널링해주는 VPN 기반 가상 LAN 소프트웨어다.
하마치를 통해 부여된 IP주소 전원을 켜면, 다른 친구들이 무리없이 같은 IP주소를 타고 접속해 "내가 판 방"에 접속할 수 있었다.

당시 나와 친구 무리들은 이 프로그램의 정확한 정의를 몰라, 마치 축피를 만들어주는 마법의 도구라고 생각했었다.

당시 내 기억으로는 하마치의 IP주소가 5. 로 시작했었는데, 추후 5.를 사용할 수 없게 되어 25.로 시작하도록 바뀌었다는 듯하다.

또 다른 방법: 포트포워딩

넷캔을 하기 위해서 라우터의 admin을 들어가 일시적으로 포트포워드 설정을 해주는 방법도 있다. 포트포워딩은 외부 네트워크(WAN)에서 내부 네트워크로 접근하기 위해 공유기의 NAT 설정을 명시적으로 열어주는 것이다.

바깥 네트워크망의 친구PC가 내 내부 IP 192.168.x.x PC에 접속하고자 하는 요청이 들어왔을 때 라우터는 어느 PC로 연결을 해주어야 할지 모르는 상태이다. 이러한 상황에서 공유기에게 해당 포트로 요청이 오면 내 PC에 연결하라는 이정표를 달아주는 것을 포트 포워딩이라고 한다.

오픈캔버스의 넷캔방 설정에는 포트번호가 (높은 확률로 9001가 디폴트) 명시 되어 있다. 이를 라우터의 admin 포트포워딩 환경설정을 통해 열어두도록하고, 친구에게 나의 공인 IP와 포트번호, 넷캔방 비밀번호를 전달하면 접속해 들어올 수 있게 된다.

한편, 개발할 때 종종 localhost:3005, 192.168.x.x:3005 같은 개발서버에 아이폰이나 태블릿으로 접속해 확인하곤 하는데, 이는 우리가 LAN 내에서 포트를 열어두고 직접 접근하는 구조이다.
두 기기를 통해 로컬 네트워크에 접속하는 것이므로, 포트포워딩과는 다른 개념이라고 볼 수 있다.

지금 돌아보면…

그때의 초등생들 사이의 축피/저피 논쟁은 단순한 인터넷 연결 문제가 아니라, IP 주소, NAT, 사설/공인 IP, 포트포워딩, VPN 같은 네트워크 개념을 알 길이 없어 축피/저피로 이름 붙이고 다음 누구는 기세등등하고 좌절하고 있었던 것이였다.


마치며

어렸을 적 뭔지도 모르던 IP 주소와 씨름하면서 친구들과 넷캔을 하겠다며 애썼던 나날이 현재 개발자의 삶과 맞닿아 있다니, 참 흥미롭다. 그리고 이런 에피소드가 네트워크 공부를 이왕이면 더 즐기면서 할 수 있도록 동기부여 역할을 해주는 것 같아 감사하기도 하다.

오늘 이렇게 '축피'의 뒤에 숨은 진실을 알게 되었지만.. 왜인지 그때 축피를 가졌던 유저들이 아직도 부럽다. 저피라인게 얼마나 서러웠었으면..?

profile
능동적인 마음

0개의 댓글