고급

Shadowsocks·VMess·Trojan 프로토콜 비교: 어떤 것을 선택할까?

이 글은 Clash 공식 사이트에서 제공합니다. 구독 서비스의 노드 목록을 열면 Shadowsocks(SS), VMess, Trojan, VLESS 등 다양한 프로토콜이 동시에 나타나고, 이름 뒤에는 WebSocket, gRPC, TLS 같은 전송 방식이 붙어 있습니다. 처음 접하는 분들에게는 이 용어들이 「어떤 게 더 빠른지, 더 안정적인지, Clash에서 어떤 걸 써야 하는지」 알기 어려운 전문 용어처럼 느껴질 수 있습니다. 이 글에서는 프로토콜 설계, 암호화 위장, 성능 오버헤드, 실전 선택 네 가지 차원에서 명확한 판단 기준을 제시합니다.

프로토콜의 역할: 전송 계층 위의 「터널」

프록시 프로토콜의 본질은 사용자와 원격 서버 사이에 암호화된 터널을 구축하여 원본 트래픽을 캡슐화해 전달하는 것입니다. Clash / Mihomo는 클라이언트로서 설정 분석, 노드 선택, 규칙 실행, 그리고 해당 프로토콜로 서버와 통신하는 역할을 담당합니다. 각 프로토콜은 핸드셰이크 방식, 암호화 강도, 트래픽 특성에서 각기 강조하는 바가 다르며, 절대적으로 「최강」인 것은 없고 네트워크 환경과 DPI 강도에 맞는 최적의 조합이 있을 뿐입니다.

프로토콜을 고르는 것은 「가장 좋은」 것을 찾는 게 아니라, 「현재 네트워크 환경에서 간섭을 가장 적게 받으면서 성능 요구사항을 충족하는」 조합을 찾는 것입니다.

Shadowsocks (SS / SSR)

Shadowsocks는 역사가 가장 오래되고 생태계가 가장 넓은 경량 프로토콜 중 하나입니다. 핵심 개념은 단순합니다. 대칭 암호화와 무작위 포트 조합으로 배포 비용이 낮으며, 모바일 기기와 라우터에서 초기에 매우 인기 있었습니다. SS 노드는 일반적으로 지연이 낮고 CPU 오버헤드가 적어 극도의 속도를 추구하는 상황에 적합합니다.

단점은 트래픽 특성이 상대적으로 뚜렷해 DPI가 강한 네트워크 환경에서 더 쉽게 탐지된다는 점입니다. SSR은 SS에 난독화 플러그인을 추가했지만 유지 보수 활동이 신세대 프로토콜에 비해 활발하지 않습니다. 현재 대부분의 구독 서비스는 SS를 백업 또는 내부 회선으로 유지하며, 주력 회선으로는 Trojan이나 VMess/VLESS를 제공하는 경우가 많습니다.

VMess와 VLESS

VMess는 V2Ray 생태계에서 나온 프로토콜로, 다양한 암호화와 전송 조합(TCP, mKCP, WebSocket, gRPC 등)을 지원하는 유연성이 매우 높은 프로토콜입니다. TLS와 CDN 중계를 함께 사용하면 트래픽을 일반 HTTPS 접속처럼 위장할 수 있어 SS보다 훨씬 강한 탐지 저항성을 제공합니다.

VLESS는 VMess의 경량화 발전형으로, 내장 암호화 계층을 제거하고 일반적으로 TLS / XTLS와 함께 사용하여 오버헤드를 줄이고 처리량을 향상시킵니다. Clash Meta 코어에서 VLESS와 XTLS-Reality 등을 함께 사용하는 것은 고급 회선의 표준 구성이 되었습니다. 설정 복잡도는 SS보다 약간 높지만, 구독 서비스는 보통 이미 구성해 두었으므로 사용자는 구독 주소를 가져오기만 하면 됩니다.

Trojan: HTTPS처럼 보이는 안정적인 선택

Trojan의 설계 철학은 「일반 TLS 웹사이트 트래픽처럼 보이게 하는 것」입니다. 인증되지 않은 접속은 실제 웹 서비스로 폴백되어, 검열 측에서는 단순히 구별하기 어렵습니다. VMess에 비해 Trojan의 프로토콜 헤더가 더 간결하여 동일 하드웨어에서 더 안정적인 처리량을 얻는 경우가 많습니다.

일반 사용자에게 Trojan + TLS 노드는 보통 속도와 안정성의 균형을 잡는 첫 번째 선택으로, 장시간 동영상 시청이나 대용량 파일 다운로드에 특히 적합합니다. 구독 서비스가 Trojan-gRPC / Trojan-WebSocket을 제공한다면 CDN 친화성과 투과성도 추가로 확보할 수 있습니다.

프로토콜속도탐지 저항성설정 난이도적합한 사용 사례
Shadowsocks높음보통낮음저지연 백업, 내부 회선
VMess중상비교적 높음중간유연한 중계, 다중 전송
VLESS높음높음중간고성능 주력 회선
Trojan높음높음낮음일상 주력, 스트리밍

전송 계층: WebSocket, gRPC, TCP의 차이

동일한 프로토콜에 서로 다른 전송 방식을 추가할 수 있습니다. 순수 TCP 직접 연결은 가장 단순하고 지연이 가장 낮지만 IP 노출 면이 넓습니다. WebSocket과 gRPC는 TLS 및 CDN과 함께 자주 사용되어 「일반 웹사이트 트래픽 속에 숨겨야 하는」 상황에 적합합니다. 그 대가로 핸드셰이크 오버헤드가 약간 증가합니다. 저녁 피크 타임에 패킷 손실이 자주 발생한다면 CDN이 결합된 WebSocket / gRPC 노드를 우선 시도해보세요. 게임처럼 낮은 지연이 중요한 경우라면 동일 데이터센터의 TCP 직접 연결 또는 Trojan이 더 적합한 경우가 많습니다.

실전 선택 가이드

정리

Shadowsocks는 빠르지만 탐지 저항성이 낮습니다. VMess / VLESS는 유연하고 복잡한 중계에 적합합니다. Trojan은 HTTPS 위장으로 대부분의 사용자에게 안정적인 주력 선택입니다. 실제 사용 경험을 결정하는 것은 데이터센터 품질, 회선 대역폭, 혼잡 정도이지 프로토콜 이름 자체가 아닙니다. 동일 구독 서비스 내에서 다양한 프로토콜의 노드를 여러 개 테스트해보고, 자신의 사용 패턴에 맞는 2~3개의 단골 회선을 고정하는 것을 권장합니다.

아직 클라이언트를 설치하지 않으셨나요? 공식 다운로드 페이지에서 Clash Verge Rev, ClashMeta 등 전 플랫폼 클라이언트를 다운로드하고, 설정 가이드를 참고하여 구독 가져오기를 완료하세요.


관련 글