2019년 3월 25일
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 통신 위한 온라인 게임 |
Tags:STUN, Hairpin, UDP Hole-Punching, NAT, Hole-Punching, 홀펀칭, UDP기반 NAT, Relaying, Connection Reversal