노드 목록에는 Shadowsocks, VMess, VLESS, Trojan이 섞여 나오기 쉽습니다. 속도만 보고 프로토콜을 안 보는 사람도 많습니다. 대략 시간순으로 설계 차이를 정리해, 노드 정보의 "프로토콜"이 무엇을 뜻하는지 설명합니다.
노드를 추가하거나 구독 내용을 보면 각 노드에 ss(Shadowsocks), vmess, vless, trojan 같은 종류가 붙습니다. 이 칸은 클라이언트와 서버가 데이터를 어떻게 포장·암호화·전달할지입니다. 강도, 트래픽 특징, 효율의 취사는 다르지만 고르기·연결·속도 확인 조작은 같습니다. 차이가 나는 것은 안정성과 식별되기 쉬움입니다. Shadowrocket는 이들에 동시에 대응하고, 무엇을 쓸지는 가져온 노드/구독 종류에 달립니다.
| 프로토콜 | 대략 등장 시기 | 설계 사상 |
|---|---|---|
| Shadowsocks | 2010년경 | 발상은 단순: 암호화 전달만, 프로토콜은 얇게, 클라이언트와 서버 구현이 가볍다 |
| VMess | 2017년경 | Shadowsocks에 사용자 인증(UUID), 프로토콜 층 암호화, 타임스탬프 재전송 방지 등 더 한 세트의 장치를 더함 |
| Trojan | 2019년경 | 발상은 "위장": 겉모습을 일반 HTTPS 열람에 가깝게 |
| VLESS | 2020년경 | 프로토콜 층 암호화를 빼고 인증만 남김. 암호화는 바깥 TLS에 맡겨 프로토콜 자체는 더 가벼워짐 |
대략의 흐름은 "프로토콜 자신이 내용을 암호화한다"에서 "프로토콜은 얇게 두고, 안전은 더 표준적이고 특별 취급받기 어려운 바깥(TLS 등)에 맡긴다"로 옮겨 갑니다.
나중이 무조건 나은 것이 아니라, 각각이 이전 세대의 약점을 메웁니다.
그래서 "프로토콜"과 "안전한가"는 등호가 아닙니다. 같은 프로토콜도 설정에 따라 체감이 달라집니다. 새것이 설계상 성숙한 경우가 많지만, 넣었다고 만능은 아닙니다.
대부분의 경우 필요 없습니다. 종류는 구독 사업자가 정하고 노드 정보에 적혀 있습니다. Shadowrocket는 해당 프로토콜로 자동 연결하며 "무엇으로 붙을지"를 손으로 고를 필요가 없습니다. 이 글의 의미는 "왜 같은 사업자 구독에 여러 프로토콜이 있나"를 이해하는 것입니다. 환경마다 선택지를 늘리기 위함이지, "더 빠른 한 줄"을 마음대로 고르게 하려는 것이 아닙니다.
어떤 프로토콜이 지금 회선에서 불안정하면, 우열을 논하기보다 같은 묶음에서 다른 프로토콜을 시험하는 편이 실무적입니다. 서버를 어떻게 두었는지가 프로토콜 선택 자체보다 더 잘 먹히는 경우가 많습니다.
아닙니다. 그렇게 읽어서도 안 됩니다. 프로토콜은 노드 정보에 이미 정해져 있습니다. 이 사이트의 입장은 다른 글과 같고, 특정 사업자를 대행·추천하지 않습니다. 이름의 기술 차이를 설명해 목록을 읽기 쉽게 할 뿐이며, "어떤 프로토콜이 나은가"의 구매 조언이 아닙니다.
참고: 경과는 공개 기술 자료를 따릅니다. 구현 세부는 각 오픈소스 공식 문서를 우선합니다. 특정 구독 사업자 평가는 넣지 않습니다.