STUN / TURN 서버 테스트

ICE 서버가 정상적으로 작동하는지, 어떤 후보를 반환하는지 브라우저에서 확인하세요.

서버 URL

결과

    ICE 후보

    유형주소프로토콜시간

    STUN 및 TURN 서버의 역할

    WebRTC는 화상 통화, 화면 공유, 브라우저 간 파일 전송을 가능하게 합니다. 두 기기가 직접 통신하려면 먼저 서로 어느 주소로 연결할 수 있는지 알아야 합니다. 하지만 대부분의 기기는 가정용 공유기나 기업 방화벽 뒤에서 NAT로 변환되는 사설 주소를 사용합니다. STUN과 TURN 서버가 이 문제를 해결합니다.

    • STUN은 기기가 인터넷에서 어떻게 보이는지, 즉 공인 IP 주소와 포트를 알려 줍니다. 이 정보가 있으면 두 피어가 직접 연결할 수 있는 경우가 많습니다.
    • TURN은 대칭형 NAT, 엄격한 방화벽, TCP만 허용하는 네트워크처럼 직접 연결이 불가능할 때 중계 역할을 합니다.

    테스트 실행하기

    1. stun:, turn: 또는 turns: 접두사를 붙여 서버 URL을 입력하세요(예: stun:server.example.com:3478 또는 turn:server.example.com:3478?transport=tcp).
    2. TURN 서버의 경우 사용자 이름과 자격 증명을 입력하세요. 유효 기간이 있는 자격 증명을 사용한다면 만료되지 않았는지 확인하세요.
    3. 필요하면 서버를 더 추가하고 테스트를 실행하세요. 브라우저가 ICE 후보를 수집해 각 후보의 유형, 주소, 프로토콜, 도착까지 걸린 시간을 목록으로 보여 줍니다.

    자체 서버가 없다면 우리 서버 테스트 옵션을 사용해 정상적인 결과가 어떤 모습인지 확인해 보세요.

    후보 유형 읽는 법

    결과의 각 행은 하나의 ICE 후보입니다. 의미는 유형에 따라 다릅니다.

    • host: 기기 자체의 로컬 주소입니다. 최신 브라우저는 개인정보 보호를 위해 임의의 .local 이름 뒤에 숨깁니다.
    • srflx: STUN 서버가 알려 준 공인 주소입니다. 이 후보가 보이면 STUN이 작동하는 것입니다.
    • relay: TURN 서버가 할당한 중계 주소입니다. 이 후보가 보이면 TURN과 인증이 작동하는 것입니다.
    • prflx: 연결 확인 과정에서 발견된 주소로, 단방향 테스트에서는 거의 나타나지 않습니다.

    시간 열은 시작 후 각 후보가 도착하기까지 걸린 밀리초를 보여 줍니다. 서버까지의 거리와 부하를 가늠할 수 있으며, 수백 밀리초가 걸리면 통화 연결이 눈에 띄게 늦어질 수 있습니다.

    자주 발생하는 문제

    • relay 후보가 없음: 사용자 이름이나 비밀번호가 틀렸거나, 서버의 static-auth-secret이 일치하지 않거나, 방화벽이 TURN 포트를 차단하고 있을 수 있습니다.
    • UDP에서만 작동함: 제한된 네트워크의 사용자를 위해 ?transport=tcp를 추가하거나 443 포트에서 turns:(TLS)를 사용하세요.
    • turn:은 되는데 turns:는 실패함: TLS 인증서가 유효하지 않거나, 만료되었거나, 호스트 이름과 일치하지 않을 수 있습니다.
    • 예상과 다른 srflx 주소: CGNAT나 VPN을 사용하면 공인 주소가 ISP나 VPN 제공업체의 것으로 표시됩니다.

    테스트는 전적으로 브라우저에서 실행되며, 입력한 자격 증명은 브라우저가 지정한 서버에 연결하는 데에만 사용됩니다. 공인 IP와 WebRTC 유출 상태를 확인하려면 내 IP 주소 확인을 방문하세요. WebRTC 데이터 채널에서 실제 패킷 손실을 측정하려면 패킷 손실 테스트를 이용하고, 자체 애플리케이션의 통화 품질을 조정하기 전에 핑 테스트로 기본 지연 시간을 확인하세요.

    도구