REFERENCE / GLOSSARY

V2Ray 프로토콜, 코어 및 설정 용어집

설정 흐름에 따라 주요 개념을 정리하고 프로토콜 필드, 코어 관계, 클라이언트 모드, 구독 노드, 라우팅 분기와 DNS를 다룹니다. 각 용어가 해결하는 문제, 인접 개념과의 차이, 설정 시 확인할 범위를 설명합니다.

READING PATH

연결 설정에서 트래픽 출구까지

완전한 연결은 보통 클라이언트 화면에서 설정을 생성한 뒤 V2Fly 또는 Xray 코어에 전달해 실행합니다. 코어는 먼저 인바운드에서 트래픽을 받고 DNS와 라우팅 규칙을 바탕으로 아웃바운드를 선택합니다. 구독은 노드 기록을 일괄 전달하며 VMess, VLESS, Trojan 등의 프로토콜은 인증과 전송 매개변수를 정의합니다. 이러한 계층을 이해하면 문제를 진단할 때 구독, 노드, 코어, DNS 조회와 라우팅 중 어느 단계의 문제인지 더 빠르게 구분할 수 있습니다.

PROTOCOL / TRANSPORT

프로토콜과 전송

프로토콜은 인증과 데이터 교환을 처리하고, 전송 보안 계층은 연결 외관, 암호화 협상 또는 하위 전송을 담당합니다. 프로토콜 이름만으로는 완전한 설정을 대신할 수 없습니다.

VMess
Project V 생태계에서 클라이언트와 서버가 데이터를 주고받을 때 사용하는 프로토콜입니다. 노드 설정에는 일반적으로 서버 주소, 포트, 사용자 식별자, 전송 방식과 보안 설정이 포함됩니다. 가져온 뒤에도 클라이언트 시간, 사용자 식별자와 서버 매개변수가 일치하는지 확인해야 하며, 주소와 포트만 복사해서는 사용할 수 있는 설정이 되지 않습니다.
VLESS
경량 인증을 채택한 프로토콜로, TLS, REALITY, TCP, WebSocket 또는 gRPC 등의 전송과 함께 사용하는 경우가 많습니다. VLESS는 연결 체계의 일부만 정의하므로 서버 이름, 공개 키, 짧은 식별자, 경로 등의 입력 여부는 서버의 보안 계층과 전송 방식에 따라 달라집니다.
Trojan
비밀번호 인증을 사용하며 일반적으로 TLS와 함께 사용하는 프로토콜입니다. 클라이언트는 서버 주소, 포트, 비밀번호, 서버 이름과 전송 매개변수를 모두 일치시켜야 합니다. 인증서 이름과 연결 대상이 다르면 프록시 전달 단계에 도달하기 전에 보안 협상 단계에서 연결이 종료될 수 있습니다.
REALITY
Xray 생태계의 전송 보안 방식으로, VLESS와 REALITY를 조합하는 구성이 일반적입니다. 설정에서는 서버 이름, 공개 키, 짧은 식별자, 클라이언트 지문과 흐름 제어 등의 필드를 확인해야 하며, 각 필드는 서버와 대응해야 합니다. 연결 보안 계층에 해당하며 독립적인 구독 형식이나 클라이언트 이름은 아닙니다.

CORE / ECOSYSTEM

코어와 생태계

그래픽 클라이언트는 조작 화면을 관리하고, 코어는 설정을 읽어 네트워크 트래픽을 처리합니다. 프로젝트 생태계, 코어 제품군과 특정 클라이언트를 구분하면 어떤 계층에서 기능을 제공하는지 판단하기 쉽습니다.

Project V
네트워크 프록시 코어, 프로토콜과 설정 체계를 중심으로 형성된 오픈 소스 기술 생태계입니다. 특정 데스크톱 버튼이나 단일 설치 패키지의 이름이 아니며, 이후 관련 기술은 여러 커뮤니티와 프로젝트가 이어서 관리했습니다. 문서를 읽을 때는 구체적인 코어와 클라이언트 버전을 기준으로 해당 필드의 사용 가능 여부를 판단해야 합니다.
V2Fly
v2ray-core와 관련 사양, 구성 요소 및 문서를 관리하는 오픈 소스 커뮤니티 생태계입니다. V2Fly 코어는 그래픽 클라이언트에서 호출되어 인바운드, 아웃바운드, DNS, 전송과 라우팅 설정을 실행할 수 있습니다. 클라이언트 화면에 표시되는 기능 범위는 해당 코어 옵션을 클라이언트가 제공하는지에 따라 달라집니다.
Xray
Project V 기술 체계와 연관된 코어 제품군으로, VMess, VLESS, Trojan, REALITY 등의 설정을 지원합니다. v2rayNG 등의 클라이언트는 Xray로 실제 연결을 처리할 수 있습니다. 노드 가져오기에 성공했다는 것은 설정을 인식했다는 뜻일 뿐, 모든 매개변수가 코어 검증을 통과했다는 의미는 아닙니다.
v2ray-core
V2Fly가 유지 관리하는 핵심 프로그램으로, 구조화된 설정을 읽고 인바운드, 아웃바운드, DNS, 전송과 라우팅을 처리합니다. 일반적으로 그래픽 클라이언트의 백그라운드에서 실행되며, 사용자는 클라이언트로 구독 업데이트와 모드 전환을 수행합니다. 로그에 나타나는 설정 분석, 리스닝 포트와 라우팅 오류는 대개 이 실행 계층에서 발생합니다.

CLIENT / PLATFORM

클라이언트와 플랫폼

클라이언트는 구독, 노드, 코어와 시스템 네트워크 설정을 조작 가능한 화면으로 구성합니다. 시스템 프록시와 TUN은 서로 다른 트래픽 유입 방식입니다.

v2rayN
Windows, macOS와 Linux용 데스크톱 그래픽 클라이언트로, 구독 관리, 노드 선택, 시스템 프록시, TUN과 라우팅 설정을 제공합니다. v2rayN은 화면과 설정 조정을 담당하고 네트워크 처리는 클라이언트와 함께 실행되는 코어가 수행합니다. 데스크톱 운영체제마다 권한과 프록시 설정 위치가 완전히 같지는 않습니다.
v2rayNG
Android용 그래픽 클라이언트로, 일반적으로 Xray 코어로 연결을 처리합니다. 구독이나 단일 노드 공유 링크를 가져올 수 있으며, 시스템 VPN 서비스를 통해 선택한 트래픽을 처리합니다. 백그라운드 실행 정책, 배터리 제한과 VPN 권한이 연결 유지 여부에 영향을 줍니다.
v2flyNG
Android용 V2Fly 코어 클라이언트로, V2Fly 코어 체계가 필요한 경우 선택할 수 있습니다. 구독 가져오기와 노드 관리 방식은 일반적인 V2Ray 클라이언트와 비슷하지만, 지원 프로토콜 필드는 현재 클라이언트와 코어 버전을 기준으로 확인해야 하며 공유 링크 접두사만으로 판단할 수 없습니다.
시스템 프록시
클라이언트가 운영체제 프록시 설정을 로컬 HTTP 또는 SOCKS 리스닝 포트로 지정하는 방식입니다. 시스템 프록시 설정을 읽고 따르는 앱만 이 경로를 사용하며, 별도의 프록시 설정을 사용하거나 직접 연결하는 앱은 영향을 받지 않을 수 있습니다. 클라이언트를 종료하기 전에는 일반적으로 시스템 프록시 상태를 먼저 복원해야 합니다.
TUN 모드
가상 네트워크 인터페이스로 시스템 네트워크 트래픽을 받는 방식이며, 적용 범위가 일반적으로 시스템 프록시보다 넓습니다. TUN에는 관련 시스템 권한이 필요하고 라우팅 테이블, DNS와 제외 규칙이 함께 작동해야 합니다. 로컬 네트워크 접속에 문제가 생기면 노드만 바꾸지 말고 우회 주소와 인터페이스 라우팅을 확인해야 합니다.

SUBSCRIPTION / NODE

구독과 노드

구독은 설정 모음을 전달하는 방식이고 노드는 그 안에 포함된 개별 연결 기록입니다. 지연 시간 테스트는 특정 테스트 방식에서의 소요 시간만 보여주며 전체적인 사용 가능성을 의미하지 않습니다.

구독
서버가 제공하고 클라이언트가 정기적으로 가져올 수 있는 노드 설정 모음입니다. 구독을 업데이트하면 원격 콘텐츠를 다시 가져와 해당 그룹을 갱신하지만, 현재 노드가 자동으로 전환되지는 않을 수 있습니다. 업데이트 후 목록이 바뀌지 않으면 구독 주소, 그룹 선택, 업데이트 결과와 클라이언트 로그를 확인해야 합니다.
노드
클라이언트에 저장된 연결 가능한 서버 설정 기록입니다. 전체 내용에는 프로토콜, 주소, 포트, 인증 정보와 전송 계층 매개변수가 포함됩니다. 노드 이름은 식별을 위한 라벨일 뿐 대부분의 연결 인증에는 사용되지 않습니다. 이름이 같은 두 기록도 실제 서버나 프로토콜 설정은 완전히 다를 수 있습니다.
지연 시간
로컬에서 테스트 대상에 지정된 탐색을 완료하는 데 걸리는 시간으로, 보통 밀리초 단위로 표시합니다. 클라이언트마다 TCP 연결 수립, HTTP 요청 또는 다른 방식을 사용할 수 있으므로 서로 다른 화면의 결과를 직접 비교할 수 없습니다. 수치가 낮다고 해서 대역폭, 안정성이나 대상 접근성이 반드시 더 좋은 것은 아닙니다.
실제 연결 지연 시간
클라이언트가 노드 설정에 따라 실제 프록시 연결을 수립하고 해당 연결로 테스트 대상에 접속한 뒤 측정한 시간입니다. 프로토콜 핸드셰이크와 프록시 전달 과정을 포함하므로 단순한 서버 포트 탐지보다 실제 사용 환경에 가깝습니다. 테스트가 실패하면 로그를 함께 확인해 노드, DNS 또는 테스트 대상 중 어느 쪽의 문제인지 판단해야 합니다.

ROUTING / RULES

라우팅과 트래픽 분기

라우팅 모듈은 연결 속성에 따라 트래픽을 어느 아웃바운드로 보낼지 결정합니다. 규칙 순서, DNS 결과와 데이터 파일 버전이 모두 매칭 결과에 영향을 줍니다.

라우팅 규칙
도메인, IP, 포트, 네트워크 유형, 프로토콜 또는 프로세스 등의 조건에 따라 아웃바운드 방향을 선택하는 설정입니다. 여러 규칙이 함께 있으면 코어는 일반적으로 정해진 순서와 우선순위에 따라 매칭합니다. 수정하기 전 기존 모드를 기록해 두면 결과가 예상과 다를 때 복원할 수 있습니다.
트래픽 분기
서로 다른 대상의 트래픽을 직접 연결, 프록시 또는 차단 등의 아웃바운드로 배분하는 과정입니다. 트래픽 분기는 단일 프로토콜이 아니라 DNS, 도메인 규칙, IP 규칙과 아웃바운드 설정이 함께 만들어 내는 결과입니다. 같은 도메인도 서로 다른 주소로 조회되면 최종 매칭 규칙이 달라질 수 있습니다.
GeoIP
IP 주소의 소속 범위에 따라 정리한 데이터 모음으로, 라우팅 규칙에서 참조할 수 있습니다. 연결 대상 IP 또는 조회된 IP를 매칭하며 도메인 분류와는 다릅니다. 데이터 범위는 버전에 따라 업데이트되므로 규칙 이름이 같아도 내용이 영구히 고정되는 것은 아닙니다.
GeoSite
용도나 범주별로 정리한 도메인 규칙 모음으로, 라우팅 모듈이 분류 이름을 기준으로 불러올 수 있습니다. GeoIP와의 주요 차이는 매칭 대상이 도메인이라는 점입니다. 사용할 때는 코어가 해당 데이터 파일을 찾을 수 있는지와 클라이언트 기본 규칙의 적용 순서를 확인해야 합니다.

NETWORK / DNS

네트워크 기초

DNS는 도메인에서 대상 주소를 얻는 방식을 결정하고, 인바운드와 아웃바운드는 트래픽이 코어로 들어오고 나가는 방식을 결정합니다. 대부분의 연결 문제는 이 처리 흐름을 따라 단계별로 원인을 찾을 수 있습니다.

DNS
도메인을 IP 주소로 변환하는 기본 네트워크 서비스입니다. V2Ray 클라이언트는 시스템 DNS, 지정한 원격 DNS 또는 도메인 규칙에 따라 선택한 리졸버를 사용할 수 있습니다. 조회 경로가 라우팅 대상과 일치하지 않으면 도메인 규칙은 매칭되지만 실제 연결 방향은 예상과 달라질 수 있습니다.
FakeDNS
애플리케이션에 예약 주소를 반환하고 코어에 도메인과 해당 주소의 매핑 관계를 저장하는 조회 방식입니다. TUN 환경에서 자주 사용되며, 애플리케이션이 연결을 시작한 뒤에도 코어가 원래 도메인을 찾아 라우팅에 활용할 수 있습니다. 주소 풀은 로컬 네트워크나 다른 가상 인터페이스와 충돌하지 않도록 설정해야 합니다.
DNS 누출
애플리케이션의 DNS 조회가 예상한 경로를 우회해 다른 리졸버에서 처리되는 현상입니다. 시스템 DNS, 클라이언트 DNS, 브라우저 내장 조회, TUN 설정과 라우팅 규칙을 함께 확인해야 합니다. DNS 주소 하나만 바꿔서는 모든 애플리케이션의 조회 경로를 제어하지 못할 수 있습니다.
인바운드
코어가 로컬 애플리케이션 트래픽을 받는 진입점 설정으로, SOCKS, HTTP 로컬 리스닝 포트와 TUN 가상 인터페이스가 일반적인 형태입니다. 인바운드는 리스닝 주소, 포트와 접속 프로토콜을 결정합니다. 포트를 다른 프로그램이 사용 중이면 클라이언트가 코어를 시작하지 못하거나 애플리케이션 트래픽을 받지 못할 수 있습니다.
아웃바운드
코어가 처리한 트래픽을 전송하는 방향으로, 특정 프록시 노드, 직접 연결 또는 차단 처리가 될 수 있습니다. 라우팅 규칙의 최종 동작은 일반적으로 하나의 아웃바운드 라벨을 가리킵니다. 아웃바운드의 프로토콜과 전송 매개변수가 완전하지 않으면 인바운드가 정상이어도 전송 단계에서 연결이 실패합니다.