TURN 서버란?

Traversal Using Relays around NAT(TURN)를 사용하면 매우 제한적인 네트워크에서도 안정적인 WebRTC 연결이 가능합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • TURN 서버가 하는 일 설명
  • TURN 서버 사용의 이점 이해하기
  • TURN 서버와 STUN 서버의 비교

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

TURN 서버란?

TURN(Traversal Using Relays around NAT) 서버는 방화벽이나 개인 IP 주소 사용으로 인해 비디오나 오디오 통화와 같은 실시간 통신 연결이 끊어졌을 때 컴퓨팅 장치 간의 WebRTC 연결을 가능하게 해주는 웹 서버 유형입니다. 약어에서 알 수 있듯이 TURN 서비스는 네트워크 주소 변환(NAT)을 우회하여 세션 도중에 클라이언트 간의 연결이 끊어지지 않도록 합니다.

간단히 말해, TURN 서버는 네트워크가 이를 지원하도록 구성되지 않은 경우에도 영상 및 음성 통화가 원활하게 작동하도록 보장합니다.

TURN 서버는 WebRTC 연결 상태의 장치 중 하나가 비공개 IP 주소를 사용할 때 필요하게 됩니다. 비공개 IP 주소가 있는 장치는 NAT를 사용하여 다른 장치에 연결합니다. NAT는 패킷을 다시 패키징하여 비공개 IP 주소로 전송하지만, WebRTC를 비롯한 많은 프로토콜에서는 제대로 작동하지 않습니다.

Alice가 Bob의 집으로 운전해서 가고 싶지만, 가는 길인 고속도로에 장애물이 설치되어 있다고 상상해 보세요. Alice는 고속도로를 타고 가다가 장애물을 만나는 대신, 대체 경로를 통해 Bob의 집에 도착할 때까지 샛길로 이동합니다. TURN 서버는 NAT가 통과할 수 없는 장애물일 때 WebRTC 연결을 위한 대체 경로를 제공합니다.

TURN 서버와 STUN 서버의 비교

STUN(Session Traversal Utilities for NAT) 서버는 WebRTC 연결을 지원하는 또 다른 유형의 서버입니다. 이를 통해 두 장치가 서로의 공용 IP 주소를 검색하고 직접 연결을 시작할 수 있습니다. 그러나 STUN 서버는 엄격한 보안 조치를 우회할 수 없는 경우가 많습니다. 이러한 경우에는 대신 TURN 서버를 사용할 수 있습니다.

WebRTC란?

웹 실시간 통신(WebRTC)은 API를 통해 직접 피어 투 피어 (P2P) 실시간 통신을 설정할 수 있는 오픈 소스 기술입니다. 이 기술은 중앙 서버에 의존하지 않고도 클라이언트 장치 간에 파일을 스트리밍할 수 있게 해줍니다(클라이언트-서버 모델을 가정하는 HLSHDS와 같은 프로토콜과는 대조적입니다). WebRTC는 또한 인터넷 기반 전화 및 화상 통화를 지원하는 음성 인터넷 프로토콜(VoIP)과 같은 다양한 통신 프로토콜에 사용되게 되었습니다.

네트워크 주소 변환(NAT)이란?

네트워크 주소 변환(NAT)은 비공개 IP 주소를 공개 IP 주소에 매핑하거나 가장 일반적으로는 여러 비공개 IP 주소를 하나의 공개 IP 주소에 매핑하는 기술입니다. (IP 주소는 장치 간 연결을 설정하는 데 필수적입니다.)

NAT는 우편 시스템 내의 전달 주소를 사용하는 것과 비슷합니다. 우편물은 전달 주소에 따라 해당 주소로 발송되므로, 통신원은 수신자의 실제 우편 주소를 알지 못해도 우편물을 보낼 수 있습니다. 마찬가지로 NAT는 공용 IP 주소를 비공개 IP 주소와 일치시켜 패킷을 올바른 위치로 전달합니다.

NAT의 가장 인기 있는 애플리케이션 중 하나는 홈 WiFi 네트워크와 같은 근거리 통신망(LAN) 내에서 IP 주소를 할당하는 것입니다. IPv4 주소가 충분하지 않으므로 라우터는 네트워크에 연결된 장치에 동적 비공개 IP 주소를 할당합니다. 이러한 IP 주소는 인터넷의 다른 장치에서도 사용될 가능성이 높으므로 혼란을 피하기 위해 라우터는 NAT를 사용하여 다른 곳에서 복제되지 않는 하나의 공용 IP 주소로 변경합니다. (ISP는 이러한 공개 IP 주소를 동적으로 할당할 수도 있습니다.)

NAT는 또한 IP 주소를 비공개로 유지하기 위한 보안 조치로도 사용됩니다. 장치는 네트워크 외부 또는 네트워크 내부에서 실제 IP 주소가 노출되는 것을 방지하고 NAT를 사용하여 공용 IP 주소를 브로드캐스트하고 다른 장치에 연결할 수 있습니다.

문제는 전달 주소로 모든 유형의 메일(예: 큰 패키지)을 전달하지 못할 수 있는 것처럼 일부 애플리케이션 계층 프로토콜은 NAT와 함께 잘 작동하지 않는다는 것입니다.

TURN 서버 사용의 이점은?

TURN 서버는 NAT 및 방화벽을 사용하여 IP 주소를 숨기는 매우 제한된 네트워크 환경에서도 연결을 보장하는 데 도움이 됩니다. 정상적인 연결이 불가능하고 STUN 서버가 이를 지원할 수 없는 경우에도 실시간 통신이 가능합니다. TURN 서버를 사용하면 인터넷 기반 전화 서비스 또는 채팅 서비스의 안정성이 개선됩니다.

Cloudflare Realtime에 TURN 서비스가 포함될까요?

Cloudflare Realtime은 개발자가 실시간 오디오, 동영상, 데이터 애플리케이션을 구축할 수 있도록 해주는 서비스입니다. Cloudflare Realtime에는 글로벌 TURN 서버가 포함되어 있어 빠르고 안정적인 실시간 애플리케이션을 더 쉽게 구축할 수 있습니다. Cloudflare의 TURN 서비스에 대한 자세한 내용은 개발자 문서 를 참조하세요.