Network/팁

[Network] Hole Punching(홀펀칭) 에 대해

Binceline 2017. 2. 26. 05:03

공유기(NAT)의 'Mapping Table' 기능을 이용한 기법이다.


S 서버가 켜져 있고, A 클라이언트가 R 공유기를 이용 중이라고 가정해 보자.


A가 R을 통해 S에 접속하면, 


R(NAT)는 Mapping Table에 그 정보를 기록한다.


음.. 그러니까..


Local의 몇 번 Port와 몇 번 IP에서 S의 몇 번 Port와 IP에 접근했다!!


..를 기록한다.


이 정보가 없으면 만약 B 클라이언트에서 A의 외부IP, Port... 즉, 공유기에 접근한다면


공유기에 그 Mapping Table에 기록이 없어서 접근이 불가능하다.


하지만 서버에서는 이미 A에서 먼저 접근했으므로 그 기록이 있어 통신이 가능하다.


물론 서버는 그 전에 공유기 설정에서 포트포워딩으로 포트 제어를 해 두었으니 A에서 접근 가능했던 것이야.


사실 내가 안 까먹으려고 적어놓는 글이었다.

반응형