Xray 코어와 V2Fly 코어 차이: 프로토콜 지원·전송 기능·클라이언트 선택

Xray와 V2Fly의 코어 분기 배경을 살펴보고 XTLS Vision, REALITY 지원을 비교합니다. v2rayNG와 v2flyNG 선택 기준도 확인하세요.

이 글 한눈에 보기

먼저 노드 요구사항을 확인한 뒤 코어를 선택하세요. 구독에 REALITY 또는 xtls-rprx-vision이 포함되어 있다면 해당 기능을 지원하는 Xray 코어를 우선 사용하세요. VMess, WebSocket, TLS만 사용하는 노드는 전송 설정과 실제 연결 결과를 추가로 확인해야 합니다. 안드로이드 클라이언트를 고르거나 데스크톱 코어를 바꾸려는 사용자, ‘가져오기는 됐는데 연결되지 않는’ 문제를 겪는 사용자를 위해 호환 범위와 확인 절차를 정리했습니다. 속도 측정 없이 코어 이름만으로 성능을 판단하지 마세요.

클라이언트·코어·노드 설정부터 구분하기

먼저 v2rayN에서 노드를 선택하고 마우스 오른쪽 버튼을 눌러 ‘서버 편집’을 여세요. 프로토콜, 전송 방식, 전송 계층 보안 설정을 확인할 수 있습니다. 창은 설정을 편집하고 표시하는 역할을 하며, 실제 연결은 백그라운드 코어가 담당합니다. 클라이언트를 업데이트해도 실행 중인 코어가 바뀌는 것은 아닙니다. 노드를 가져왔다고 해서 현재 코어가 모든 설정 항목을 지원한다는 뜻도 아닙니다.

V2Fly 커뮤니티는 V2Ray 코어를 관리합니다. Xray-core는 2020년 V2Ray 코드 기반에서 분기한 뒤 독자적인 방향으로 발전해 왔습니다. 두 코어는 공통된 역사를 지녔지만, 파일 이름만 바꿔 끼우면 되는 것은 아닙니다. 새 기능의 설정 항목, 기본 동작, 지원 시점이 서로 다를 수 있으므로 한쪽의 설정 파일을 다른 쪽에 그대로 적용해 같은 결과를 기대해서는 안 됩니다.

프로토콜 지원 비교: VMess·VLESS 이름만 보지 마세요

‘프록시 프로토콜, 전송 방식, 보안 메커니즘’의 세 계층을 나눠 확인하세요. VMess와 VLESS는 프록시 프로토콜이고, WebSocket과 gRPC 등은 연결을 전달하는 전송 방식입니다. TLS와 REALITY는 별도의 계층에 해당합니다. 양쪽 모두 VLESS를 사용하더라도 한쪽이 노드에서 요구하는 보안 메커니즘을 지원하지 않으면 연결할 수 없습니다.

확인 항목 Xray 코어 V2Fly 코어 선택 기준
VMess 지원 지원 인증 정보, 시스템 시간, 전송 설정을 추가로 확인하세요.
VLESS 기본 프로토콜 지원 기본 프로토콜을 지원합니다. 구체적인 버전과 설정 형식을 확인하세요. 기본 지원만으로 Xray 확장 기능 조합까지 호환되는 것은 아닙니다.
WebSocket 및 TLS 일반적인 조합 지원 일반적인 조합 지원 코어만 바꾸지 말고 경로, Host, SNI, 인증서를 확인하세요.
XTLS Vision 지원하지만 서버 설정과 일치해야 합니다. Xray의 Vision 흐름 제어는 지원하지 않습니다. 노드에서 xtls-rprx-vision을 요구하면 Xray를 선택하세요.
REALITY 지원하며 해당 인증 매개변수가 필요합니다. Xray의 REALITY 구현은 지원하지 않습니다. 일반 TLS로 바꾸는 것만으로 계속 사용할 수는 없습니다.
DNS 및 라우팅 분기 관련 기능 제공 관련 기능 제공 규칙 문법과 동작은 각 코어 버전에 맞춰 확인해야 합니다.

이 표는 선택 방향을 판단하기 위한 것이며 모든 버전의 전체 호환 목록은 아닙니다. 특히 새 전송 확장 기능은 설정 항목 이름이 같아도 구현 방식이 다를 수 있습니다. 서버에서 코어와 최소 버전을 명시했다면 먼저 요구사항을 충족하고, 클라이언트가 노드 매개변수를 모두 보존했는지 확인하세요.

XTLS Vision과 REALITY: 각각 어떤 기능인가요?

먼저 노드의 flow와 보안 설정을 확인하세요. flow=xtls-rprx-vision이 보이면 Vision 흐름 제어가 필요하다는 뜻이고, security=reality가 보이면 REALITY를 사용한다는 뜻입니다. 두 기능은 함께 쓰이는 경우가 많지만 같은 기능은 아니며, 반드시 동시에 켜야 하는 설정도 아닙니다.

공유 링크를 가져온 뒤 흐름 제어 또는 REALITY 항목이 누락됐다면 클라이언트와 코어 버전을 먼저 확인하고 노드 제공자에게 링크 형식을 문의하세요. 구독 변환 과정에서 확장 항목이 빠질 수 있습니다. 임의로 짧은 ID나 서버 이름을 입력해도 원래 설정을 복구할 수는 없습니다.

클라이언트 선택: 데스크톱은 v2rayN, 안드로이드는 노드에 맞춰 선택

실제로 사용할 노드 유형부터 정리하세요. 구독에 REALITY 또는 Vision이 필수인 노드가 있다면 안드로이드에서는 Xray 기반 v2rayNG를 우선 선택하세요. 기존 노드와 작업 흐름이 V2Fly 설정에 맞춰져 있다면 v2flyNG를 사용할 수 있습니다. 이 권장 기준은 클라이언트의 이름이나 출시 시점이 아니라 기능 호환성입니다.

v2rayNG: Xray 노드에 우선 추천

추천

안드로이드 노드에서 REALITY, XTLS Vision 또는 다른 Xray 기능을 요구한다면 해당 기능을 지원하는 클라이언트를 선택하고 내장 코어 버전을 확인하세요. 이 권장 사항은 이러한 노드 요구사항이 있는 경우에 한합니다.

적합한 사용자: 안드로이드에서 VLESS, REALITY, Vision 조합을 사용하는 경우

v2flyNG: 기존 V2Fly 설정 유지

검증된 V2Fly 노드와 설정 체계를 계속 사용하려는 경우에 적합합니다. VMess, WebSocket, TLS 등의 조합으로 연결할 수 있는지는 버전과 매개변수를 확인해야 합니다. 프로토콜 이름만 보고 판단하지 마세요.

적합한 사용자: 노드 제공자가 V2Fly를 명시하고 안정적으로 작동하는 설정을 보유한 안드로이드 사용자

데스크톱에서 v2rayN을 사용한다면 ‘설정’ → ‘매개변수 설정’을 열어 현재 버전에 ‘코어 유형’ 등의 코어 매핑 설정이 있는지 확인하세요. 버전에 따라 메뉴 위치가 다를 수 있습니다. 해당 옵션이 없다면 오래된 화면 안내를 억지로 따라 하지 마세요. 전환한 뒤 노드를 다시 활성화하고, 시작 로그에 표시된 코어 이름과 버전을 최종 기준으로 삼으세요.

데스크톱과 안드로이드에서 같은 구독을 사용할 때 확인할 항목

데스크톱: v2rayN
  • 같은 출처의 구독을 가져온 뒤 노드 보안 유형을 확인하세요.
  • REALITY 또는 Vision이 필요한 노드에는 Xray를 사용하세요.
  • 시작 로그에 표시된 코어 버전과 오류 정보를 기록하세요.
안드로이드: 필요한 코어에 맞춰 선택
  • Xray 기능이 필요한 노드에는 v2rayNG를 사용하세요.
  • 기존 V2Fly 작업 흐름을 유지하려면 v2flyNG를 사용할 수 있습니다.
  • 구독을 업데이트한 뒤 노드 수와 주요 매개변수를 대조하세요.

같은 구독을 사용해도 설정이 반드시 일치하는 것은 아닙니다. 양쪽의 파싱 기능, 업데이트 시점, 라우팅 설정을 각각 확인해야 합니다.

전환 후 확인: 먼저 시작 상태, 다음으로 트래픽 경로

‘코어 시작, 원격 핸드셰이크, 애플리케이션 연결 경로’ 순서로 확인하세요. 시작에 실패하면 로그부터 살펴보고 시스템 프록시를 반복해서 바꾸지 마세요. 코어는 시작했지만 앱에서 접속할 수 없다면 원격 연결 문제와 로컬 연결 경로 문제를 구분하세요. 아래 두 포트는 연결 역할을 설명하기 위한 예시이며 모든 설치의 기본값을 뜻하지 않습니다.

443
일반적인 원격 TLS 포트입니다. 실제 포트는 노드 설정을 따르세요.
10808
로컬 프록시 연결 주소 예시입니다. 먼저 수신 포트와 프로토콜을 확인하세요.
  1. 기존 설정을 보관하세요. 현재 노드, 코어, 시스템 프록시 상태, 라우팅 프리셋을 기록하세요. 한 번에 변수 하나만 바꾸고 복구할 수 있는 기준 설정을 남겨 두세요.
  2. 코어가 정상적으로 시작됐는지 확인하세요. 노드를 다시 활성화하고 로그에서 버전 정보를 확인하세요. 설정 파싱 오류, 알 수 없는 항목, 지원하지 않는 흐름 제어가 나타나면 먼저 호환성 문제를 해결하세요.
  3. 원격 매개변수를 확인하세요. 주소, 포트, 인증 정보, 전송 방식, SNI, REALITY 매개변수를 하나씩 점검하세요. 원격 포트는 로컬 HTTP 또는 SOCKS 프록시 포트와 다릅니다.
  4. 로컬 연결 경로를 확인하세요. ‘설정’ → ‘매개변수 설정’에서 수신 정보를 확인하세요. 예시 주소 127.0.0.1:10808가 SOCKS, HTTP, 혼합 연결 중 무엇을 제공하는지 확인한 뒤 테스트 도구에서 해당 프로토콜을 사용하세요.
  5. 시스템 프록시와 라우팅을 확인하세요. 브라우저로 테스트할 때는 시스템 프록시 상태를 확인하세요. 터미널 프로그램이 시스템 프록시를 사용하는지는 프로그램에 따라 다릅니다. 라우팅 분기 규칙에 따라 테스트 대상이 직접 연결로 나갈 수도 있습니다.

속도를 비교할 때는 같은 노드와 테스트 대상, 비슷한 시간대를 기준으로 각각 3회 반복하고 연결 시간과 지속 다운로드 성능을 기록하세요. 지연 시간을 한 번 측정한 결과만으로는 당시의 경로와 대상 서버 응답만 알 수 있으며, 어떤 코어가 모든 네트워크에서 더 빠르다고 증명할 수 없습니다. 두 테스트가 실제로 서로 다른 출구를 사용했다면 결과를 비교할 수도 없습니다.

자주 묻는 질문: 노드 가져오기, 코어 전환, 기존 노드 호환성

노드는 가져와지는데 활성화하면 flow를 지원하지 않는다고 나오는 이유는 무엇인가요?

먼저 노드 편집 창을 열어 xtls-rprx-vision이 포함되어 있는지 확인하고, 시작 로그에서 Xray가 실행 중인지 살펴보세요. 이미 Xray를 사용 중이라면 코어 버전과 클라이언트가 생성한 설정을 추가로 확인하세요. flow를 먼저 삭제하지 마세요. 서버에서 해당 설정을 요구한다면 삭제 후에도 핸드셰이크가 실패할 수 있습니다.

기존 VMess 노드는 반드시 VLESS로 바꿔야 하나요?

코어가 다르다는 이유만으로 프로토콜을 바꿀 필요는 없습니다. 먼저 시스템 시간, 인증 정보, 전송 매개변수를 확인하세요. 프로토콜은 서버 배포 설정에 따라 결정됩니다. 클라이언트에서 VMess를 VLESS로 바꾸는 것만으로는 해결되지 않으며 서버에서 해당 노드 정보를 제공해야 합니다.

Xray로 바꾸면 모든 웹사이트가 자동으로 프록시를 사용하나요?

아니요. 먼저 앱의 트래픽이 로컬 프록시 연결 경로로 들어가는지 확인한 뒤 라우팅 프리셋을 살펴보세요. 시스템 프록시는 일부 앱의 연결 경로를 처리하고, 라우팅은 연결이 어떤 출구로 나갈지 결정합니다. TUN은 트래픽을 처리하는 또 다른 방식입니다. 코어를 바꿔도 이러한 설정이 자동으로 재구성되지는 않습니다.

같은 구독이 PC에서는 되는데 안드로이드에서는 안 될 때 먼저 확인할 것은 무엇인가요?

먼저 양쪽에서 같은 노드를 업데이트했는지 확인한 뒤 프로토콜, 전송 방식, 보안 유형, 흐름 제어를 비교하세요. 안드로이드에서 REALITY 노드를 사용하려면 이를 지원하는 v2rayNG를 사용하고 VPN 연결이 수립됐는지, 테스트 앱이 프록시 범위에 포함됐는지 확인하세요. 목록의 이름만 같다고 실제 설정까지 같다는 뜻은 아닙니다.

REALITY를 사용해도 DNS를 확인해야 하나요?

네. 도메인으로 서버에 연결하거나 라우팅 규칙을 적용하거나 대상 사이트에 접속할 때 DNS가 사용될 수 있습니다. 로그에 이름 확인 시간 초과가 나타나면 서버 도메인과 대상 도메인을 각각 테스트하고 현재 DNS 설정을 확인하세요. 모든 이름 확인 실패를 보안 핸드셰이크 문제로 돌리지 마세요.

선택 결론: 이름 순서가 아닌 필수 기능에 맞춰 선택

먼저 서버 요구사항을 충족하고 마이그레이션 비용을 고려하세요. Xray와 V2Fly의 차이는 주로 기능 발전 방향과 설정 호환 범위에 있습니다. ‘한쪽은 언제나 더 빠르고 다른 쪽은 오래된 노드에만 적합하다’고 볼 수는 없습니다. 안정적으로 작동하는 노드가 있다면 기존 설정을 먼저 유지하세요. 새 기능이 필요할 때 클라이언트와 코어를 함께 업데이트하고 각 계층을 차례로 검증하세요.

v2rayN 다운로드플랫폼 및 설치 파일 확인