Hole-Punching

I. 내부 사설IP로 접근 가능, Hole-Punching

가. Hole-Punching의 개념

  • 서로 다른 사설 네트워크의 두 호스트 간 Relay Server를 통해 UDP 기반 NAT 통신 기술

나. Hole-Punching 사용 목적

통신 방향성NAT 환경에서 제약적 통신 방향성 극복
NAT 테이블– STUN 서버 라우팅 기반 목적지 패킷 수신

 

II. Hole-Punching 구성도 및 기술 유형

가. Hole-Punching 구성도

  • NAT 내부에서 주기적 외부 패킷 전송하여 NAT 테이블의 세션 정보를 갱신하여 외부에서 내부로 접속 가능

나. Hole-Punching 기술 유형

기술구성도설명
Relaying– Client 1 → NAT A → Server → NAT B → 2
– C-S 모델 연동
Connection
Reversal
– 1 → 2 시 NAT
– 2 → 1 시 R서버
STUN– 서버로부터 Client에 맵핑된 공인 IP 정보 수집
Hairpin
기법
– Client A, B는 Server에 NAT 정보 저장
– 통신 시 A → NAT → B로 전송
Internal
네트워크
– Client A, B는 Server에 NAT 정보 저장
– 통신 시 A → Local Broadcast → B

 

III. Hole-Punching의 활용

P2P 통신– 한쪽에서 공인 아이피 보유 시 1:1 통신
온라인 게임– UDP 통해 Direct 통신 위한 온라인 게임

 

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^