NAT 트래버설

**네트워크 주소 변환 트래버설**(Network address translator traversa)은 네트워크 주소 변환(NAT)을 구현하는 게이트웨이를 통해 인터넷 프로토콜 연결을 설정하고 유지하는 컴퓨터 네트워킹 기술이다. NAT 트래버설 기술은 P2P 파일 공유 및 음성 인터넷 프로토콜과 같은 많은 네트워크 애플리케이션에 필요하다.url-status=dead
# 네트워크 주소 변환
네트워크 주소 변환은 일반적으로 인터넷에 연결된 라우터에 단일 공용 IP 주소를 사용하는 사설 네트워크에서 사설 IP 주소를 사용한다. 네트워크 주소 변환기는 내부 장치에서 나가는 요청에 대한 네트워크 프로토콜의 소스 주소를 내부 장치의 외부 주소로 변경하여 내부 장치가 외부 네트워크의 호스트와 통신하는 동시에 회신을 원래 장치로 다시 중계할 수 있도록 한다. 이렇게 되면 NAT 장치가 외부 네트워크에서 들어오는 패킷이 대상으로 하는 내부 호스트를 결정하는 자동화된 방법을 가지고 있지 않기 때문에 내부 네트워크는 서비스 호스팅에 적합하지 않다. 이는 일반적인 웹 접근 및 이메일에는 문제가 되지 않는다. 그러나 P2P 파일 공유, VoIP 서비스, 비디오 게임 콘솔과 같은 애플리케이션은 클라이언트가 서버 역할도 해야 한다. 들어오는 요청을 적절한 내부 호스트에 쉽게 연결할 수 없다. 또한, 이러한 유형의 서비스 중 다수는 애플리케이션 데이터에 IP 주소 및 포트 번호 정보를 포함하므로 심층 패킷 검사를 통한 대체가 필요할 수 있다. 네트워크 주소 변환 기술은 표준화되어 있지 않다. 결과적으로 NAT 트래버설에 사용되는 방법은 종종 독점적이고 문서화가 제대로 되어 있지 않다. 많은 트래버설 기술은 가장된 네트워크 외부의 서버의 도움이 필요하다. 일부 방법은 연결을 설정할 때만 서버를 사용하는 반면, 다른 방법은 모든 데이터를 서버를 통해 중계하는 방식이므로 대역폭 요구 사항과 대기 시간이 증가하여 실시간 음성 및 화상 통신에 불리하다. NAT 트래버설 기술은 일반적으로 기업 보안 정책을 우회한다. 기업 보안 전문가는 NAT 및 방화벽과 명시적으로 협력하여 NAT 트래버설을 허용하면서 NAT에서 기업 보안 정책을 시행하기 위한 마샬링을 가능하게 하는 기술을 선호한다. 이 보안 모델을 기반으로 한 IETF 표준은 RSIP (Realm-Specific IP) 및 미들박스(MIDCOM) 통신이다.
# 기술 및 프로토콜
다양한 NAT 트래버설 기술이 개발되었다. * UPnP Internet Gateway Device Protocol (UPnP IGD)은 가정 또는 소규모 사무실 환경의 많은 소형 NAT 게이트웨이에서 지원된다. 이를 통해 네트워크의 장치가 라우터에 포트를 열도록 요청할 수 있다. * 포트 제어 프로토콜 (PCP)은 NAT-PMP의 후속 프로토콜이다. * NAT 포트 매핑 프로토콜 (NAT-PMP)은 애플이 UPnP IGD의 대안으로 도입한 프로토콜이다. * 상호 연결 확립 (ICE)은 STUN 및 TURN을 사용하여 NAT 트래버설을 수행하고 사용 가능한 최상의 네트워크 경로를 선택하는 완전한 프로토콜이다. 이는 STUN 사양에서 언급되지 않은 누락된 부분과 결함을 보완한다. * NAT용 세션 트래버설 유틸리티 (STUN)는 NAT 홀 펀칭을 위한 표준화된 메서드 집합과 네트워크 프로토콜이다. UDP용으로 설계되었지만 TCP로도 확장되었다. * TURN (Traversal Using Relays around NAT)은 NAT 트래버설을 위해 특별히 설계된 릴레이 프로토콜이다. * NAT 홀 펀칭은 NAT가 일부 프로토콜(예: UDP, TCP 또는 ICMP)을 처리하는 방식을 이용하여 NAT를 통해 이전에 차단된 패킷을 허용하는 일반적인 기술이다. ** UDP 홀 펀칭 ** TCP 홀 펀칭 ** ICMP 홀 펀칭 * SOCKS (Socket Secure)는 1990년대 초에 만들어진 기술로, 프록시 서버를 사용하여 네트워크 또는 시스템 간에 트래픽을 중계한다. * 애플리케이션 계층 게이트웨이 (ALG) 기술은 구성 가능한 NAT 트래버설 필터를 제공하는 방화벽 또는 NAT의 구성 요소이다.publisher=Helsinki University of Technology 이 기술은 해결하는 문제보다 더 많은 문제를 발생시킨다는 주장이 있다.access-date=2016-05-30
## 주소 및 포트 종속 NAT, 대칭 NAT
대칭 NAT의 확산으로 모바일 및 공용 와이파이 연결과 같은 많은 실제 상황에서 NAT 트래버설 성공률이 감소했다. STUN 및 ICE와 같은 홀 펀칭 기술은 TURN에서 사용되는 릴레이 서버의 도움 없이는 대칭 NAT를 통과하지 못한다. 각 NAT 장치에서 열릴 다음 포트를 예측하여 대칭 NAT를 통과하는 기술은 2003년 파나소닉 통신 연구소의 타케다 유타카(Yutaka Takeda)에 의해url=http://tools.ietf.org/id/draft-takeda-symmetric-nat-traversal-00.txt 그리고 2008년 와세다 대학 연구원들에 의해 발견되었다.url-status=dead 포트 예측 기술은 포트 선택에 알려진 결정론적 알고리즘을 사용하는 NAT 장치에만 효과적이다. 이 예측 가능하지만 비정적 포트 할당 방식은 4G LTE 네트워크에서 사용되는 것과 같은 대규모 NAT에서는 흔하지 않으므로 포트 예측은 이러한 모바일 광대역 네트워크에서는 대부분 비효율적이다.
# IPsec
IPsec 가상사설망 클라이언트는 캡슐화 보안 페이로드 패킷이 NAT를 통과하도록 NAT 트래버설을 사용한다. IPsec은 방화벽 및 네트워크 주소 변환기를 통과하도록 활성화되어야 하는 여러 프로토콜을 사용한다. * 인터넷 키 교환 (IKE)Snd 사용자 데이터그램 프로토콜 (UDP) 포트 500 * 캡슐화 보안 페이로드 (ESP)Snd IP 프로토콜 번호 50 * 인증 헤더 (AH)Snd IP 프로토콜 번호 51 * IPsec NAT 트래버설Snd UDP 포트 4500 (NAT 트래버설이 사용되는 경우에만) 많은 라우터는 IPsec Passthrough라고 불리는 명시적인 기능을 제공한다. 윈도우 XP에서는 NAT 트래버설이 기본적으로 활성화되어 있지만, 윈도우 XP 서비스 팩 2에서는 VPN 서버도 NAT 장치 뒤에 있는 경우 드물고 논란의 여지가 있는 보안 문제로 인해 기본적으로 비활성화되었다.publisher=Microsoft knowledge base #885348 IPsec NAT-T 패치는 윈도우 2000, 윈도우 NT 및 윈도우 98에서도 사용할 수 있다. NAT 트래버설 및 IPsec은 시스템 간 트래픽의 기회주의적 암호화를 가능하게 하는 데 사용될 수 있다. NAT 트래버설은 NAT 뒤에 있는 시스템이 요청 시 보안 연결을 설정할 수 있도록 한다.
# 호스팅된 NAT 트래버설
호스팅된 NAT 트래버설 (HNT)은 미디어 중계 및 래칭을 포함하는 일련의 메커니즘으로, 역사적 및 실제적인 이유로 통신 제공업체에서 널리 사용된다.Latching: Hosted NAT Traversal (HNT) for Media in Real-Time Communication, RFC 7362 2014-09-01 IETF는 인터넷을 통한 래칭 사용을 권장하지 않으며 보안상의 이유로 ICE를 권장한다.Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal, RFC 8445 2018-07-01
# IETF 표준 문서
* link=noSnd 방화벽 친화적 FTP * link=noSnd IP 네트워크 주소 변환기 (NAT) 용어 및 고려 사항 * link=noSnd NAT 도메인용 터널 모드 IPsec 보안 모델 * link=noSnd NAT의 아키텍처적 함의 * link=noSnd 기존 IP 네트워크 주소 변환기 (Traditional NAT) * link=noSnd IP 네트워크 주소 변환기 (NAT)의 프로토콜 복잡성 * link=noSnd 네트워크 주소 변환기 (NAT) 친화적 애플리케이션 설계 가이드라인 * link=noSnd IPsec-네트워크 주소 변환 (NAT) 호환성 * link=noSnd 인터넷 키 교환에서 NAT-트래버설 협상 * link=noSnd 네트워크 주소 변환기 (NAT)를 통한 P2P (Peer-to-Peer) 통신 상태 * link=noSnd 상호 연결 확립 (ICE): 제안/응답 프로토콜용 네트워크 주소 변환기 (NAT) 트래버설 프로토콜