NAT 종류와 P2P 통신

junsangyu·2025년 7월 2일

보통 서버-클라이언트 통신시 클라이언트만 NAT 뒤에 있어서 쉽게 통신이 가능하다.
그러나 P2P 통신같은 경우에는 둘 다 NAT 뒤에 있는 경우가 많다.
NAT의 종류와 그에 따른 P2P 통신 방법에 대해 알아보자.

NAT 종류

Full Cone NAT

  • 매핑된 NAT ip:port로 접속시 누구나 포워딩

Restricted Cone NAT

  • 매핑된 NAT ip:port로 같은 ip 접속시 포워딩

Port Restricted Cone NAT

  • 매핑된 NAT ip:port로 같은 ip:port 접속시 포워딩

Symmetric NAT

  • 기본적으로 Port Restricted Cone NAT과 비슷하게 동작
  • 같은 private ip 이여도 dst ip:port 다르면 각각 public port 다르게 해서 매핑

STUN P2P 통신

Full Cone NAT

  • STUN 서버로 private ip:port와 NAT public ip:port 매핑
  • 매핑한 NAT public ip:port를 상대에게 전송
  • 상대방은 해당 ip:port로 통신가능

Restricted Cone, Port Restricted Cone NAT

  • STUN 서버로 private ip:port와 NAT public ip:port 매핑
  • 매핑한 NAT public ip:port를 상대에게 전송
  • 각자 동시에 여러번 udp packet를 보내서 매핑을 시도하는 UDP Simultaneous Hole Punching 수행
  • 매핑 이후에는 해당 ip:port로 통신가능

Symmetric NAT

  • STUN에서 알아낸 NAT public ip:port와 상대방이 보낼 port가 다르다
  • 그래서 STUN 서버만으로는 통신 불가
  • TURN 같은 릴레이 서버로 통신해야 하는 상황
profile
👨🏻‍💻

0개의 댓글