NAT Traversal(네트워크 주소 변환 순회)
NAT Traversal은 네트워크 주소 변환(NAT)을 사용하는 네트워크에서 직접적인 통신을 가능하게 하는 기술입니다.
NAT는 프라이빗 IP 주소를 사용하는 내부 네트워크와 공인 IP 주소를 사용하는 외부 네트워크를 연결하는데 사용됩니다.
하지만 NAT를 사용하는 네트워크에서는 직접적인 통신이 어려운 경우가 있습니다.
이러한 제약을 극복하기 위해 NAT Traversal은 다양한 기술들을 사용하여 네트워크 주소 변환(NAT)을 통과하여 직접적인 통신이 가능하게 합니다.
우리 NAT가 무슨 문제가 있다는거야!?!
NAT(Network Address Translation)은 내부 네트워크에서 프라이빗 IP 주소를 사용하여 인터넷 접속합니다. 이 때 NAT 장치를 통해 프라이빗 IP는 공인 IP 주소로 변환됩니다
그러나 공인 IP 주소로 변환되어 인터넷과 통신하면서, 내부 네트워크에서는 각 디바이스의 프라이빗 IP 주소가 숨겨져서 외부에서 접근할 수 없습니다.
따라서 내부 네트워크에 있는 디바이스와 외부 네트워크 상의 디바이스가 직접적으로 통신하는 것은 어려워집니다.
또한, 일반적으로 P2P 통신을 하기 위해서 직접 포트를 열어줘야 하는데 NAT는 이러한 포트를 차단하는 경우가 많아 포트포워딩이 필요합니다.
동적 IP 주소 NAT를 사용하는 경우 대게 ISP로부터 할당된 공인 IP를 사용합니다. 이 때, IP 주소가 변경 될 수 있어 다른 피어와 직접 통신 할 때마다 IP 주소를 업데이트 해야 합니다
해결 방법
위와 같은 NAT의 문제점은 P2P 애플리케이션에서 직접적인 통신에 큰 제약을 가지게 됩니다.
이를 해결하기 위해 NAT Traversal 기술이 필요합니다. NAT Traversal은 다음과 같은 방법들을 사용하여 NAT를 통과하여 직접적인 통신이 가능하게 합니다.
- STUN
- STUN(Session Traversal Utilities for NAT)은 NAT를 통과하여 공인 IP 주소와 포트 정보를 얻어올 수 있는 서버를 사용하여 직접 통신이 가능하게 합니다.
- TURN
- TURN(Traversal Using Relay NAT)은 STUN과 달리, NAT를 통과하지 못하는 경우에도 중계 서버를 통해 다른 피어와 통신이 가능하게 합니다.
- ICE
- ICE(Interactive Connectivity Establishment)는 STUN과 TURN을 사용하여 다양한 NAT 환경에서 직접 통신이 가능하게 합니다.
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'Computer Science > 네트워크' 카테고리의 다른 글
OSPF 프로토콜 (0) | 2023.04.06 |
---|---|
서브넷 인터페이스 수와 프리픽스 계산하는 방법 (0) | 2023.04.03 |
Wireshark에서 HTTP 패킷이 안보여요 (0) | 2023.03.28 |
최장 프리픽스 매칭 (Longest Prefix Matching) with CIDR (0) | 2023.03.25 |
SDP는 무엇인가 (0) | 2023.02.24 |