2025. 3. 1. 21:21

NAT - Network Address Translation 

 

Private IP를 Public IP로 1 대 1 대응시켜 변환하는 장치

 

IP 패킷이 있는 출발지 및 목적지의 IP 주소와

TCP/UDP 포트 숫자 등을 바꿔 재기록하면서 네트워크 트래픽을

주고 받게 하는 기술

 

장점 - IP 주소 절약, 보안

 

WebRTC는 peer to peer 방식으로 서로 데이터를 주고 받음

보내고 받는 Peer의 Public IP를 알고 있어야 함

 

Public IP는 요청을 보낼 때마다 

 

private IP > public IP 로 NAT가 변환

 

동일한 Public IP로 통신할 수 없음

 

현재는 NAT와 방화벽을 필수 포함

 

 

ICE - Interactive Connectivity Establishment

 

두 단말이 서로 통신할 수 있는 최적의 경로를 찾을 수 있도록 도와주는 프레임워크

 

두 단말이 방화벽이 존재하면 통과하고

 

단말의 Public IP가 없다면 유일한 주소값을 할당

 

라우터가 Peer 간의 직접 연결을 허용하지 않을 때는 데이터를 릴레이

 

ICE를 사용하면 NAT가 통신을 위해 필요한 모든 포트를 열고

 

두 단말 모두 다 연결할 수 있는 IP주소, 포트에 대한 완전한 정보를 갖게 된다

 

 

STUN - Session Traversal Utilities for NAT

 

STUN 서버 - 해당 Peer의 Public IP 주소를 보내는 역할

 

STUN 방식 : 단말이 자신의 공인 IP 주소와 포트를 확인하는 과정에 대한 프로토콜

 

클라이언트가 STUN 서버에 요청을 보내면

 

공인 IP 주소와 함께 통신에 필요한 정보를 보내줌

 

클라이언트는 이 정보를 이용해 다른 기기와 통신

 

하지만 이러한 경우에도 통신이 되지 않으면 TURN 서버로 넘김

 

 

TURN - Traversal Using Relay NAT

 

STUN의 확장

 

NAT 환경에서 릴레이해서 통신