VMess
Project V 생태계에서 널리 사용되는 클라이언트와 서버 간 통신 프로토콜입니다. 설정에는 일반적으로 서버 주소, 포트, 사용자 식별자, 암호화 옵션과 전송 방식이 포함되며, 각 항목은 서버 측 설정과 일치해야 합니다. VMess는 프로토콜 이름이지 특정 클라이언트나 코어를 뜻하지 않습니다.
v2rayNG와 v2rayN 설정 화면에서 자주 보이는 기술 용어를 한곳에 정리했습니다. 먼저 개념을 확인한 뒤 프로토콜, 구독, 트래픽 분기와 DNS 매개변수를 조정해 이름은 비슷하지만 역할이 다른 옵션을 혼동하지 않도록 하세요.
서버 설정에 표시된 이름은 먼저 ‘프로토콜 및 전송’에서 확인하세요. v2rayNG, v2rayN 또는 코어 이름이 보이면 ‘코어 및 클라이언트’를 확인하고, 구독 업데이트·노드 목록·속도 측정 관련 용어는 ‘구독 및 노드’에서 찾아보세요.
연결은 되었지만 접속 결과가 예상과 다르면 먼저 ‘라우팅 및 DNS’와 ‘Android 전용 설정’을 확인하세요. 용어 설명은 매개변수의 역할을 이해하기 위한 것이며, 실제 입력값은 현재 서버 설정을 기준으로 해야 합니다.
프로토콜은 클라이언트와 서버가 통신 데이터를 구성하는 방식을 결정하고, 전송 및 보안 매개변수는 연결 수립 방식을 정의합니다. 이름이 같다고 매개변수를 서로 바꿔 쓸 수 있는 것은 아니므로 가져올 때 원본 설정을 빠짐없이 유지해야 합니다.
Project V 생태계에서 널리 사용되는 클라이언트와 서버 간 통신 프로토콜입니다. 설정에는 일반적으로 서버 주소, 포트, 사용자 식별자, 암호화 옵션과 전송 방식이 포함되며, 각 항목은 서버 측 설정과 일치해야 합니다. VMess는 프로토콜 이름이지 특정 클라이언트나 코어를 뜻하지 않습니다.
구조가 비교적 단순한 통신 프로토콜로, TLS, REALITY, WebSocket, gRPC 등의 설정과 함께 사용하는 경우가 많습니다. VLESS 자체와 전송 보안은 서로 다른 계층이므로 연결에 실패하면 사용자 식별자, 흐름 제어, 전송 유형과 보안 매개변수를 따로 확인해야 합니다.
비밀번호 인증을 중심으로 하며 일반적으로 TLS와 함께 사용하는 프록시 프로토콜입니다. 클라이언트에는 주소, 포트, 비밀번호와 서버 이름을 정확히 입력해야 하며 인증서 관련 옵션도 서버 설정과 맞아야 합니다. 이름이 비슷한 Trojan 설정이라도 다른 전송 방식을 사용할 수 있습니다.
전송 방식은 프로토콜 데이터가 어떤 연결 형태로 전달되는지 설명하며, TCP, WebSocket, HTTP/2와 gRPC가 자주 사용됩니다. 전송 방식은 독립적인 노드 프로토콜이 아니므로 클라이언트 쪽만 수정해서는 안 됩니다. 경로, Host, 서비스 이름 등의 추가 항목도 전송 매개변수에 포함됩니다.
클라이언트는 그래픽 인터페이스와 시스템 연동을 담당하고, 코어는 프로토콜, 라우팅, DNS와 아웃바운드 처리를 담당합니다. 둘을 구분하면 같은 코어가 여러 클라이언트에 사용되는 이유를 이해하기 쉽습니다.
V2Ray 기술 생태계의 코어 구현 중 하나로, 설정을 해석하고 프로토콜, 라우팅, DNS와 연결 처리를 실행합니다. v2rayNG는 보통 Xray 코어를 사용하지만 사용자가 직접 조작하는 것은 클라이언트 화면입니다. 클라이언트 버전과 코어 버전은 서로 다른 업데이트 주기를 따를 수 있습니다.
Project V의 기술 계보를 이어가는 커뮤니티 유지 프로젝트로, 주요 구성 요소에는 v2ray-core가 포함됩니다. V2Fly와 Xray는 공통된 기술적 배경을 갖지만 일부 프로토콜 기능, 설정 필드와 구현 세부 사항은 완전히 같지 않습니다. 클라이언트를 선택할 때 기본 코어도 함께 확인해야 합니다.
Android 플랫폼용 그래픽 클라이언트로, QR 코드 스캔, 클립보드 가져오기, 구독 업데이트, 라우팅 모드와 앱별 프록시 기능을 제공합니다. 연결할 때는 일반적으로 시스템 VPN 인터페이스를 통해 선택한 앱의 네트워크 요청을 가로챕니다. 화면 설정은 최종적으로 코어가 읽을 수 있는 설정으로 변환됩니다.
Windows, macOS와 Linux용 데스크톱 클라이언트로, 서버, 구독, 시스템 프록시와 라우팅 규칙을 관리하는 데 사용됩니다. 데스크톱 버전은 그래픽 조작 환경을 제공하지만 실제 연결은 선택한 코어가 처리합니다. 플랫폼별 시스템 프록시 동작은 운영체제의 네트워크 설정에 영향을 받습니다.
구독은 설정을 일괄 업데이트하는 데 사용되고, 노드는 업데이트 후 클라이언트에 표시되는 개별 서버 항목입니다. 업데이트, 필터링, 선택과 속도 측정은 서로 다른 작업이므로 하나의 단계로 혼동해서는 안 됩니다.
서버에서 서버 설정을 중앙 관리해 업데이트할 수 있는 진입점으로, 보통 하나의 구독 주소 형태로 제공됩니다. 클라이언트가 구독을 읽으면 노드 목록을 생성하거나 업데이트하지만, 주소 자체의 권한, 유효 기간 또는 네트워크 문제를 자동으로 해결하지는 않습니다. 구독 주소를 수정한 뒤에는 수동으로 한 번 업데이트해야 합니다.
클라이언트에 저장된 개별 서버 설정으로, 일반적으로 프로토콜, 주소, 포트, 인증 정보와 전송 매개변수를 포함합니다. 노드 이름은 식별을 위한 것이며 실제 성능을 의미하지 않습니다. 표시 이름이 같은 두 노드도 내부 설정은 다를 수 있습니다.
서로 다른 구독 출처와 그 노드를 나누어 관리하는 구성 방식입니다. 그룹별로 독립적인 업데이트가 가능하고 메모나 조건에 따라 서버를 필터링하기도 편리합니다. 업데이트는 성공했는데 목록이 비어 있다면 주소를 반복해서 가져오기보다 현재 그룹과 필터 조건을 확인해야 합니다.
클라이언트가 실제로 연결을 수립하고 대상의 응답을 기다리는 데 걸린 왕복 시간입니다. 단순한 네트워크 탐색보다 현재 설정이 작동할 수 있는지에 가까운 결과를 보여 줍니다. 결과는 로컬 네트워크, 테스트 대상, 전송 매개변수와 측정 시점의 영향을 받으며, 지연 시간이 짧다고 처리량이 반드시 높은 것은 아닙니다.
라우팅은 요청의 이동 경로를 결정하고 DNS는 도메인을 연결 가능한 주소로 변환합니다. 두 기능은 서로 영향을 줍니다. 라우팅이 도메인이나 IP에 의존할 수 있고 DNS 해석 결과가 이후 매칭을 바꿀 수도 있습니다.
도메인, IP, 포트, 네트워크 유형 또는 앱 조건에 따라 연결에 사용할 아웃바운드를 결정하는 매칭 규칙입니다. 규칙은 보통 순서대로 평가되므로 먼저 일치한 규칙이 최종 경로에 영향을 줍니다. 변경한 뒤에는 코어가 새 설정을 완전히 불러오도록 연결을 다시 수립해야 합니다.
각 요청을 규칙에 따라 직접 연결, 프록시 또는 차단 등의 서로 다른 아웃바운드 경로로 보내는 과정입니다. 트래픽 분기는 프로토콜이나 단일 스위치가 아니라, 매칭 조건과 처리 결과의 조합입니다. 사전 설정 모드를 사용하기 전에 포함된 도메인 및 IP 규칙 범위를 확인하세요.
IP 주소의 지역 또는 네트워크 유형별로 정리한 데이터 집합으로, 라우팅 규칙에서 일괄 매칭 조건으로 자주 사용됩니다. GeoIP는 데이터 파일의 내용과 업데이트 시점에 의존하며 실시간 위치 확인 서비스가 아닙니다. 규칙은 해석된 IP와 일치하므로 도메인 자체의 분류와 반드시 같지는 않습니다.
웹사이트 도메인 유형별로 정리한 규칙 데이터 집합으로, 도메인 규칙을 하나씩 관리하는 수고를 줄여 줍니다. GeoSite와 GeoIP는 매칭 대상이 다릅니다. 전자는 주로 도메인을 처리하고 후자는 IP를 처리합니다. 사용자 지정 규칙과 기본 분류가 겹칠 때는 매칭 순서도 확인해야 합니다.
클라이언트에 설정하는 원격 이름 해석 서비스로, 도메인을 연결에 필요한 IP 주소로 변환합니다. 일반 DNS를 사용할 수도 있고 암호화된 전송 방식을 사용할 수도 있습니다. 원격 DNS를 입력한 뒤에도 라우팅과 로컬 DNS 설정을 함께 확인해 쿼리의 실제 경로를 파악해야 합니다.
DNS over HTTPS의 약어로, HTTPS를 통해 DNS 쿼리를 전송합니다. 설정할 때는 보통 IP 주소만 입력하지 말고 서비스의 전체 URL을 입력해야 합니다. DoH는 쿼리 전송 방식을 해결할 뿐이며, 도메인의 트래픽 분기는 클라이언트의 DNS와 라우팅 규칙이 결정합니다.
Android 클라이언트는 일반적으로 시스템 VPN 인터페이스를 통해 앱 트래픽을 처리합니다. 배터리 관리, 백그라운드 제한과 앱별 적용 범위에 따라 연결이 유지되는지, 어떤 앱이 프록시로 전달되는지가 달라질 수 있습니다.
v2rayNG가 Android VPN 인터페이스를 통해 앱의 네트워크 요청을 가로채는 방식입니다. 여기서 VPN 인터페이스는 시스템이 제공하는 트래픽 진입점이며, 실제 프로토콜 처리는 클라이언트 코어가 담당합니다. 시스템에서는 같은 유형의 VPN 연결 하나만 동시에 활성 상태로 둘 수 있습니다.
Android 앱을 기준으로 프록시 적용 범위를 선택하는 기능으로, 선택한 앱만 프록시하거나 선택한 앱을 제외할 수 있습니다. 활성화하기 전에 현재 선택 로직이 어떤 방식인지 확인해야 합니다. 앱을 업데이트하거나 다시 설치한 뒤에는 패키지 이름과 선택 상태도 다시 확인하는 것이 좋습니다.
가상 네트워크 인터페이스로 시스템 트래픽을 받아 클라이언트 코어에서 처리하는 작동 모드입니다. 프록시 설정을 직접 읽지 않는 앱까지 처리할 수 있지만 DNS, 라우팅과 다른 네트워크 도구 사이의 관계도 함께 조정해야 합니다. 충돌이 발생하면 여러 트래픽 가로채기 방식을 동시에 활성화하지 않는 것부터 시작하세요.
Android가 백그라운드 배터리 소모를 줄이기 위해 적용하는 앱 제한 모음입니다. 제한이 너무 강하면 화면이 꺼진 뒤 클라이언트가 일시 중지되어 연결이 끊기거나 백그라운드 구독 작업이 실행되지 않을 수 있습니다. 조정 여부는 기기 시스템, 배터리 사용 요구와 실제 연결 안정성을 함께 고려해 판단해야 합니다.
보안 매개변수는 일반적으로 프로토콜, 전송 계층과 인증서 검증이 함께 구성합니다. 연결에 실패했을 때 ‘암호화’ 필드만 확인하지 말고 서버 이름, 공개 키, 지문과 시스템 시간을 항목별로 점검해야 합니다.
Xray 생태계의 전송 보안 방식으로, 설정에는 공개 키, 짧은 ID, 서버 이름과 클라이언트 지문이 포함되는 경우가 많습니다. 보통 VLESS 등의 프로토콜과 함께 사용하며 독립적인 노드 프로토콜은 아닙니다. 핵심 필드가 빠졌거나 불필요한 공백이 있으면 핸드셰이크가 완료되지 않을 수 있습니다.
전송 연결을 보호하는 범용 보안 프로토콜로, 클라이언트는 설정에 따라 핸드셰이크와 인증서 검증을 수행합니다. 서버 이름은 보통 인증서 검증에 사용되므로 노드 메모로 임의 변경해서는 안 됩니다. 시스템 시간이 크게 어긋나면 인증서 유효 기간 판단 오류가 발생할 수도 있습니다.
TLS 클라이언트 핸드셰이크 특성을 설명하는 구현 매개변수 집합으로, 일부 전송 보안 설정에서 선택 또는 필수 필드로 사용됩니다. 기기 하드웨어 지문이 아니며 사용자 식별자와도 다릅니다. 값은 서버 설정 요구 사항과 현재 코어의 지원 범위를 따라 선택해야 합니다.
DNS 쿼리가 예상한 지정 해석 경로로 전달되지 않아, 해석 출처가 현재 프록시 정책과 달라지는 현상입니다. 문제를 확인할 때는 시스템 DNS, 클라이언트 원격 DNS, 라우팅 규칙과 TUN 설정을 함께 살펴봐야 합니다. DNS 주소 하나만 바꿨다고 쿼리 경로가 바뀌었다고 단정할 수는 없습니다.
운영체제가 프록시 설정을 따르는 데스크톱 앱에 프록시 주소와 포트를 제공하는 설정 방식입니다. TUN 모드와는 다르며 일부 앱은 자체 네트워크 설정을 사용해 시스템 프록시를 읽지 않을 수 있습니다. 클라이언트를 종료하기 전에 시스템 프록시를 복원하면 남은 포트 때문에 앱이 연결되지 않는 문제를 예방할 수 있습니다.
하나의 하위 연결에서 여러 논리적 요청을 재사용하는 메커니즘으로, 클라이언트 화면에서는 보통 ‘Mux 활성화’로 표시됩니다. 효과는 프로토콜, 서버 지원 여부와 실제 업무 유형에 따라 달라지며 모든 연결에 적합한 것은 아닙니다. 호환성 문제가 생기면 먼저 서버 권장값으로 되돌려 보세요.
처음 설정할 때는 시작하기에서 구독 가져오기, 모드 선택과 연결 확인을 순서대로 진행하세요. 트래픽 분기 작성, DNS 조정 또는 여러 구독 관리가 필요해지면 고급 활용으로 이동해 장별로 설정하면 됩니다.