X

NAT(Network Address Translation) Traversal

1. 사설 네트워크 통과 NAT 기술, NAT Traversal의 개념

개념도
개념 사설 IP 주소를 보유한 Host의 P2P 통신을 위해 IP 주소/Port 변환과 Filtering 및 Binding 기반 NAT 내/외부 네트워크를 연결시키는 네트워크 기술
  • NAT Traversal을 구현하기 위해 RFC 5128에서 설명하고 있는 기술 방식은 Relaying, Connection Reversal, Hole Punching의 3가지 방식으로, Host 및 네트워크 환경을 고려하여 최적의 방식 선택

 

2. NAT Traversal 구현을 위한 주요 기술

(1) Relaying 원리 및 장단점

원리 동작 방식 – 사설 IP 주소를 보유한 Host의 P2P 통신을 위해 공인 IP 주소를 보유한 외부 Relay 서버를 경유하여 패킷을 전달하는 NAT Traversal 통신 방식
특징 – 공인 IP 주소를 보유한 외부 Relay 서버 필요
– Relay 서버에서 등록된 Host의 IP 주소와 Port 정보 테이블 관리
장단점 장점 – NAT 장비의 동작 특성에 무관하게 Host 간 P2P 통신 가능
– NAT Traversal 기능 및 Host 간 통신 신뢰성 높음
단점 – Relay 서버가 필수적, Relay 서버 인터페이스에 따른 대역폭 이슈 발생 가능
– Relay 서버 부하로 인한 병목 현상 발생 가능, SPoF 리스크 존재
  • Relaying방식은 NAT 동작과 무관하나 별도의 Relay 서버가 필요하므로 NAT 적용 위한 최후의 수단으로 고려

(2) Connection Reversal 원리 및 장단점

원리 동작 방식 – 사설 IP 주소 보유 Host의 P2P 통신을 위해 두 Host 중 하나는 공인 IP 주소를 가지는 경우 적용 가능한 NAT Traversal 통신 방식
특징 – 두 Host 중 하나는 공인 IP 주소 보유 필요
장단점 장점 – Host 간 P2P 데이터 전송 시 경유지 없이 직접 통신 가능
– NAT 장비의 동작 특성에 무관하게 Host 간 P2P 통신 가능
단점 – 두 Host 모두 사설 IP 주소 보유 환경 시 적용 불가
– 초기 연결 수립을 위한 서버 필요
  • Connection Reversal 방식도 최선의 NAT Traversal 방식은 아니며, Relaying 방식을 사용하기 전 고려

(3) Hole Punching 원리 및 장단점

원리 동작 방식 – 사설 IP 주소를 보유한 Host의 P2P 통신 위해 Host IP 주소, Port 정보를 포함하는 Endpoint 정보를 Filtering Rule에 적용한 NAT Traversal 통신 방식
특징 – Endpoint Dependent와 Independent 2가지 모드 존재
장단점 장점 – 두 Host 모두 사설 IP 주소 보유 시 적용 가능, Relay 서버 불필요
단점 – 주기적인 Keepalive 메시지를 통해 연결 상태 유지 필요
  • 동일 NAT를 통해 Host 간 P2P 통신 시 IP주소, Port 변환 없이 Private Endpoint 정보 기반 통신 수행

 

3. NAT Traversal의 IETF 표준

표준 표준 문서 표준 내용
STUN RFC 5389 – Session Traversal Utilities for NAT
– Endpoint가 NAT에 의해 할당된 IP 주소, Port 판별 위한 프로토콜 정의
TURN RFC 5766 – Traversal Using Relay NAT
– Host가 Relay를 사용하여 Peer와 패킷 교환 가능하도록 프로토콜 정의
ICE RFC 5245 – Interactive Connectivity Establishment
– 오퍼/응답 모델의 UDP 멀티미디어 세션위한 NAT 순회 프로토콜 정의
  • RTP 프로토콜을 활용한 WebRTC 등 Host 간 P2P 연결 생성 및 데이터 전송 시 STUN, TURN, ICE 같은 표준 기법들을 이용하여 사설 네트워크에서 NAT 기반 원활한 통신을 제공

 

Categories: 네트워크
도리: