고급 활용 예상 읽기 시간 18분

V2Ray 초보자 가이드: VMess·VLESS·Trojan 차이와 선택법

V2Ray를 처음 접했는데 VMess, VLESS, Trojan, Shadowsocks 중 무엇을 써야 할지 모르겠다면 이 가이드를 확인해 보세요. 프로토콜별 호환성, 보안성, 설정 난이도와 사용 상황을 비교하고, v2rayN이나 v2rayNG에서 구독을 가져올 때 초보자가 확인할…

V2Ray 클라이언트를 처음 사용하면 VMess, VLESS, Trojan, Shadowsocks라는 이름이 비슷한 위치에 표시되어 어떤 노드를 선택해야 할지 헷갈릴 수 있습니다. 그러나 이 이름들은 단순한 서버 별칭이 아니라 클라이언트와 서버가 인증하고 데이터를 주고받는 방식을 가리킵니다. 같은 서버 주소와 포트를 사용하더라도 프로토콜, 사용자 인증 정보, 전송 방식과 TLS 설정이 서로 다르면 연결되지 않습니다.

v2rayN과 v2rayNG에서는 보통 구독 링크를 등록한 뒤 여러 프로토콜의 노드가 한 목록에 함께 나타납니다. 초보자라면 이름만 보고 속도를 단정하기보다 현재 사용하는 코어가 무엇인지, 서버가 요구하는 보안 계층이 무엇인지, 접속 환경에서 어떤 전송 방식이 안정적인지를 순서대로 확인하는 편이 좋습니다. 이 글에서는 네 가지 프로토콜의 역할과 차이, 실제 선택 기준, 구독 등록 후 확인할 항목까지 단계별로 정리합니다.

이 글의 핵심

VMess는 기존 환경과의 호환성이 강점이고, VLESS는 가벼운 구조와 최신 Xray 기능을 활용하기 좋으며, Trojan은 일반 TLS 연결과 유사한 구성이 필요할 때 선택할 수 있습니다. Shadowsocks는 구조가 단순하고 다양한 클라이언트에서 다루기 쉽습니다. 읽은 뒤에는 구독 목록에서 어떤 노드를 먼저 시험할지와 실패 시 무엇을 비교해야 할지 판단할 수 있습니다.

프로토콜은 무엇을 결정하는가

프록시 연결은 대체로 애플리케이션의 요청을 로컬 인바운드가 받고, 코어가 라우팅 규칙을 확인한 뒤, 선택한 원격 아웃바운드로 전달하는 구조입니다. 프로토콜은 이 원격 아웃바운드에서 서버와 어떤 형식으로 인증하고 데이터를 포장할지를 결정합니다. 서버 주소와 포트는 목적지이고, 프로토콜은 그 목적지와 대화하는 규칙이라고 이해하면 쉽습니다.

예를 들어 VLESS 노드는 일반적으로 사용자 UUID, 서버 주소, 포트, 전송 방식, 보안 방식, SNI, fingerprint와 같은 항목을 사용합니다. VMess도 사용자 ID와 전송 및 TLS 관련 항목이 필요합니다. Trojan은 비밀번호와 TLS 서버 이름의 일치 여부가 중요하고, Shadowsocks는 서버 주소·포트·암호 방식·비밀번호가 핵심입니다. 이 필드들은 서로 바꿔 쓸 수 없습니다. VMess 노드의 UUID를 VLESS나 Trojan 입력란에 넣는 식의 수정은 정상적인 변환이 아닙니다.

4종
이 글에서 비교하는 프로토콜
443
TLS 계열에서 자주 쓰는 포트
36자
UUID의 일반적인 문자열 길이
3단계
선택 후 확인할 항목

포트 번호만으로 프로토콜을 알아낼 수 없다는 점도 중요합니다. 443 포트는 HTTPS와 TLS 기반 프록시에서 모두 사용될 수 있지만, 실제 서비스가 어떤 프로토콜을 요구하는지는 서버 설정에 달려 있습니다. 반대로 80, 8443, 2053처럼 다른 포트를 사용한다고 해서 특정 프로토콜이라고 단정할 수도 없습니다. 구독 링크가 제공한 원본 설정을 우선 신뢰하고, 수동 편집은 오류 원인을 확인할 때만 제한적으로 사용하세요.

VMess·VLESS·Trojan·Shadowsocks 비교

VMess: 호환성이 필요한 기존 노드

VMess는 V2Ray 생태계에서 오랫동안 사용된 사용자 인증 기반 프로토콜입니다. 서버와 클라이언트가 사용자 식별자와 암호화 및 전송 관련 매개변수를 공유하며, WebSocket, TCP, gRPC와 TLS 같은 여러 조합으로 배치될 수 있습니다. 오래 운영된 구독 서비스나 기존 서버에서 여전히 자주 보이므로, 이미 VMess 노드를 제공받았다면 굳이 VLESS로 바꾸려고 할 필요는 없습니다.

다만 VMess는 설정 항목이 많고 구형 서버와 신형 코어 사이의 호환성 차이를 확인해야 합니다. 같은 이름의 노드라도 alterId, 보안 방식, 전송 경로가 다르면 결과가 달라질 수 있습니다. 최근 구성에서는 VLESS가 우선 제공되는 경우가 많지만, VMess가 무조건 느리거나 사용할 수 없는 프로토콜이라는 뜻은 아닙니다. 작동하는 기존 노드는 설정을 보존하고, 새로 선택할 때 다른 후보와 실제 지연 시간과 안정성을 비교하세요.

VLESS: 가벼운 인증 구조와 Xray 기능

VLESS는 Xray 환경에서 널리 사용되는 비교적 간결한 프로토콜입니다. VLESS 자체가 모든 통신 내용을 암호화하는 프로토콜은 아니므로 TLS 또는 Reality 같은 보안 계층과 함께 구성되는 경우가 많습니다. 따라서 “VLESS라서 안전하다”라고 표현하기보다 VLESS 인증과 TLS·Reality 전송 보안이 결합된 구성을 살펴봐야 정확합니다.

VLESS + TCP + TLS, VLESS + Reality, VLESS + WebSocket + TLS는 서로 다른 설정입니다. Reality를 사용하는 노드는 서버 이름, 공개 키, short ID, fingerprint, flow 등의 값이 맞아야 하며, 서버가 요구하지 않는 항목을 임의로 추가해도 연결이 좋아지지 않습니다. 구독에서 자동으로 가져온다면 직접 편집하지 말고 먼저 원본 노드의 코어 요구 사항을 확인하세요. 일반적인 최신 Xray 환경에서 새 노드를 고르는 상황이라면 VLESS 계열을 첫 번째 후보로 시험할 수 있습니다.

Trojan: TLS 동작을 중시하는 구성

Trojan은 비밀번호 인증과 TLS 연결을 중심으로 설계된 프로토콜입니다. 클라이언트는 서버 이름, 인증서 검증 방식, 비밀번호와 전송 설정을 서버와 맞춰야 합니다. 특히 SNI 또는 serverName이 서버 인증서와 서비스 설정에 맞지 않으면 TCP 포트가 열려 있어도 TLS 핸드셰이크 단계에서 실패할 수 있습니다.

Trojan은 설정이 단순해 보이지만 TLS를 끄거나 인증서 검증을 무조건 우회하는 방식으로 문제를 해결해서는 안 됩니다. 인증서 검증을 해제하면 원인 파악은 잠시 쉬워질 수 있어도 연결의 신뢰성을 낮춥니다. 구독에 Trojan 노드가 있고 서버 운영자가 지정한 SNI와 전송 방식을 제공했다면 그 값을 그대로 사용하세요. TLS 기반 연결이 현재 네트워크에서 안정적인지 비교할 때 유용한 후보입니다.

Shadowsocks: 단순한 구조와 넓은 클라이언트 호환성

Shadowsocks는 서버 주소, 포트, 비밀번호, 암호화 방식으로 구성되는 경량 프록시 프로토콜입니다. V2Ray 또는 Xray의 모든 기능을 사용하는 복잡한 터널이라기보다, 간단한 클라이언트-서버 프록시를 구성할 때 적합합니다. 최신 암호화 방식으로는 서비스 제공자가 지정한 AEAD 계열을 사용해야 하며, 서버가 요구하는 method와 다른 값을 선택하면 비밀번호가 맞아도 연결되지 않습니다.

Shadowsocks는 설정이 짧다는 장점이 있지만, 짧은 설정이 곧 더 강한 보안이나 더 빠른 속도를 뜻하지는 않습니다. 서버의 회선 품질, 암호화 방식, 혼잡도, UDP 지원 여부가 실제 체감에 영향을 줍니다. 게임이나 음성 통신처럼 UDP가 필요한 경우에는 해당 노드와 클라이언트 코어가 UDP 전달을 지원하는지도 확인하세요.

프로토콜핵심 인증 정보자주 결합되는 구성먼저 선택할 상황
VMess사용자 ID, 보안·전송 설정WebSocket+TLS, TCP+TLS기존 서버 호환성이 중요할 때
VLESSUUID, 전송·보안 매개변수Reality, TCP+TLS, gRPC최신 Xray 구성과 가벼운 인증 구조가 필요할 때
Trojan비밀번호, SNI, TLS 정보TLS, TCP, WebSocket+TLSTLS 기반 설정을 그대로 사용할 때
Shadowsocks비밀번호, 암호화 방식AEAD, TCP 또는 UDP간단한 설정과 폭넓은 클라이언트 호환성이 필요할 때

선택의 기준은 이름보다 조합입니다

VLESS와 Trojan 중 하나를 고를 때 프로토콜 이름만 비교하지 말고 전송 방식, SNI, TLS 또는 Reality 매개변수까지 한 묶음으로 비교하세요. 같은 프로토콜의 다른 전송 조합이 서로 다른 프로토콜보다 안정성 차이를 크게 만들 수 있습니다.

초보자가 노드를 선택하는 실제 기준

첫 번째 기준은 서버가 제공하는 원본 설정의 완전성입니다. 구독 항목에 프로토콜만 표시되고 전송 방식이나 보안 정보가 비어 있다면 수동으로 추측하지 마세요. VLESS + Reality는 공개 키와 short ID가 필요할 수 있고, VMess + WebSocket + TLS는 경로와 host가 필요할 수 있습니다. 정보가 일부 빠진 노드는 이름이 그럴듯해도 연결 검증 대상에서 제외하는 편이 시간을 아낍니다.

두 번째 기준은 현재 네트워크와 사용 목적입니다. 웹 브라우징 위주라면 TCP 기반의 정상적인 TLS 구성을 먼저 시험하고, UDP가 필요한 애플리케이션을 사용한다면 UDP 전달 여부를 별도로 확인합니다. 회사나 공공 네트워크처럼 연결이 엄격한 환경에서는 여러 전송 구성을 번갈아 시험하되, 연결이 된다는 이유만으로 인증서 검증을 끄지 마세요.

최신 Xray 기반 구독에서 자주 제공되며, 서버가 지정한 Reality 매개변수와 fingerprint를 정확히 가져와야 합니다.

적합: 새 노드, Xray 중심 환경

오래된 서비스와의 호환성을 확인하기 쉽고, WebSocket 구성으로 제공되는 경우가 많습니다.

적합: 기존 구독, 호환성 우선

비밀번호와 SNI, 인증서 검증이 맞아야 하며 TLS 핸드셰이크 결과를 함께 확인해야 합니다.

적합: TLS 구성, 단순한 인증

필요한 입력값이 적지만 method와 UDP 지원 여부를 서버 안내와 대조해야 합니다.

적합: 단순 프록시, 보조 노드

초보자용 선택 순서: 기본 노드와 보조 노드

첫 번째 후보
  • 서버가 권장한 VLESS 또는 Trojan
  • 전송·TLS 항목이 모두 채워진 노드
  • 최근 업데이트된 설정
비교용 후보
  • 정상 작동하는 VMess 노드
  • 간단한 Shadowsocks 노드
  • 다른 포트 또는 전송 방식

한 번에 한 노드만 활성화하고 동일한 웹사이트와 동일한 네트워크에서 결과를 비교해야 프로토콜과 서버 품질을 구분할 수 있습니다.

v2rayN·v2rayNG에서 구독 후 확인하는 순서

구독을 등록하면 클라이언트가 원격 데이터를 읽어 서버 항목을 생성합니다. 이 과정은 노드가 실제로 연결된다는 뜻이 아닙니다. 업데이트 성공, 설정 파싱, 코어 실행, 선택한 서버 활성화, 시스템 프록시 적용은 각각 별도의 단계입니다. 아래 순서를 지키면 여러 노드를 무작정 바꾸는 일을 줄일 수 있습니다.

  1. 구독 등록

    v2rayN에서는 「구독 그룹」 메뉴에서 새 그룹을 추가하고 주소를 저장합니다. v2rayNG에서는 설정의 구독 관리 화면에서 같은 작업을 진행합니다. 구독 주소는 공개 장소에 붙여 넣지 마세요.

  2. 목록 갱신

    「업데이트」 또는 「모든 구독 업데이트」를 실행한 뒤 노드 수와 프로토콜 표시가 실제로 바뀌었는지 확인합니다. 빈 목록이나 파싱 오류가 나오면 연결 테스트보다 구독 원본을 먼저 점검합니다.

  3. 코어 확인

    설정의 「Core 유형」 또는 코어 관리 항목에서 Xray 코어가 선택되어 있는지 확인합니다. VLESS Reality 등 특정 기능은 코어 버전과 설정 지원 여부가 맞아야 합니다.

  4. 후보 선택

    전송과 보안 항목이 완전한 VLESS 또는 Trojan 노드를 먼저 선택하고 「활성 서버로 설정」을 실행합니다. 기존 VMess나 Shadowsocks 노드는 비교용으로 남겨 둡니다.

  5. 프록시 적용

    로컬 HTTP 또는 SOCKS 포트가 열렸는지 확인한 뒤 시스템 프록시나 앱별 프록시를 켭니다. 기본 포트가 10808, 10809가 아닐 수 있으므로 현재 클라이언트 화면에 표시된 값을 사용하세요.

  6. 결과 기록

    같은 테스트 사이트에서 연결 시간, 페이지 로딩, 연속 사용 안정성을 확인합니다. 한 번의 속도 측정값보다 10분 이상 끊김 없이 유지되는지와 로그의 반복 오류가 없는지를 중요하게 보세요.

v2rayN에서 노드가 목록에 보이지만 브라우저가 열리지 않는다면 활성 서버 설정과 시스템 프록시 적용을 따로 확인해야 합니다. v2rayNG에서는 VPN 또는 TUN 기반 모드를 사용하는 경우 Android 시스템의 VPN 권한과 앱별 우회 목록도 확인하세요. 특정 앱만 작동하지 않는다면 프로토콜 자체보다 분할 터널링, DNS, UDP 정책이 원인일 수 있습니다.

연결 실패 때 프로토콜을 바꾸기 전 점검할 것

첫 연결이 실패했다고 즉시 다른 프로토콜로 바꾸지 마세요. 먼저 로그에서 실패 단계가 TCP 연결인지, TLS 핸드셰이크인지, 사용자 인증인지 구분합니다. TCP 연결 자체가 되지 않으면 주소, 포트, 방화벽과 네트워크 경로를 확인해야 합니다. TCP는 열리지만 TLS handshake error가 나온다면 SNI, 인증서 검증, Reality 공개 키와 fingerprint를 대조합니다. 인증 실패라면 UUID, 비밀번호, 사용자 ID 또는 서버 측 계정 상태를 확인합니다.

VLESS가 VMess보다 항상 빠른가요?

항상 그렇지는 않습니다. 서버 회선, 전송 방식, 혼잡도와 실제 경로가 더 큰 영향을 줍니다. 같은 조건에서 여러 차례 지연 시간과 지속 연결을 비교하세요.

VLESS에서 TLS를 꺼도 되나요?

서버가 비암호화 구성을 명시한 경우가 아니라면 임의로 끄지 마세요. VLESS 자체의 역할과 TLS·Reality 보안 계층은 구분해야 하며 서버 설정과 일치해야 합니다.

노드 이름에 Reality가 없으면 사용할 수 없나요?

이름만으로 판단할 수 없습니다. 노드 세부 정보에서 security, publicKey, shortId, serverName 같은 항목이 제공되는지 확인하고 코어 로그를 함께 보세요.

Shadowsocks를 첫 노드로 골라도 되나요?

가능합니다. 다만 서버가 안내한 method와 비밀번호를 그대로 입력하고 UDP 필요 여부를 확인하세요. 단순한 구성의 정상 노드를 비교 기준으로 삼기에도 좋습니다.

결론적으로 초보자의 첫 선택은 “가장 최신처럼 보이는 이름”이 아니라 정보가 완전하고 서버가 공식적으로 권장하는 노드여야 합니다. 새 Xray 환경에서는 설정이 완전한 VLESS 계열을 먼저 시험하고, TLS 기반 Trojan을 두 번째 후보로 둘 수 있습니다. 기존 구독의 VMess는 호환성 기준으로, Shadowsocks는 단순성과 보조 경로 기준으로 비교하면 됩니다. 어떤 프로토콜을 선택하든 원본 설정을 보존하고 한 번에 한 항목만 바꾸는 습관이 가장 안정적인 출발점입니다.

v2rayN 다운로드