Hysteria2는 무작위 패킷 손실이 발생하는 연결을 개선할 수 있지만, UDP 통신이 가능하고 서버 매개변수가 올바르며 대역폭 설정이 실제 회선에 맞아야 합니다. 이미 서비스와 구독을 이용 중인 Shadowrocket 사용자를 위해 QUIC과 혼잡 제어의 역할을 구분하고, 추가 설정을 확인한 뒤 조건을 고정해 테스트하는 방법을 설명합니다. 프로토콜 이름만으로 속도가 보장되는 것은 아닙니다.
Hysteria2와 QUIC: 불안정한 네트워크에서 유리한 이유
Hysteria2는 QUIC 기반 프록시 프로토콜입니다. QUIC은 UDP를 통해 데이터를 전송하며 암호화, 안정적인 전송, 패킷 손실 복구, 멀티플렉싱 등의 기능을 제공합니다. 따라서 UDP를 사용한다고 해서 데이터 손실을 방치하는 것은 아니며, 앱의 모든 요청이 신뢰할 수 없는 전송으로 바뀌는 것도 아닙니다. Hysteria2는 TCP 연결과 UDP 데이터를 전달할 수 있지만, 클라이언트와 서버 사이의 하위 전송에는 UDP를 사용합니다.
불안정한 네트워크에서의 성능을 이해하려면 지연 시간, 패킷 손실, 혼잡을 구분해야 합니다. 지연 시간은 데이터가 왕복하는 데 걸리는 시간이고, 패킷 손실은 일부 데이터가 목적지에 도달하지 못하는 현상입니다. 혼잡은 회선이나 큐가 유입되는 트래픽을 제때 처리하지 못하는 상태입니다. 무선 신호 변동으로 생기는 무작위 패킷 손실이 반드시 회선 포화를 뜻하지는 않습니다. 송신 측이 패킷 손실이 날 때마다 전송 속도를 크게 낮추면, 여유 용량이 있는 회선에서도 처리량이 떨어질 수 있습니다.
Hysteria2는 대역폭 추정에 기반한 Brutal 혼잡 제어를 지원하며, 자동 협상이나 서버 측 제한 등에도 영향을 받습니다. 일정한 패킷 손실이 있어도 사용 가능한 대역폭을 계속 활용하는 것이 목표이지, 모든 패킷 손실을 혼잡으로 간주하는 것은 아닙니다. 실제 동작은 클라이언트 매개변수, 구현 방식, 서버 설정에 따라 달라지므로 항목 이름만으로 판단할 수 없습니다.
테스트해 볼 만한 네트워크와 먼저 점검할 상황
‘불안정한 네트워크’는 하나의 문제를 가리키지 않습니다. 셀룰러 신호 불안정, 공용 Wi-Fi의 혼잡한 큐, 네트워크 간 경로에서 발생하는 패킷 손실은 비슷하게 보일 수 있지만, 점검 순서는 다릅니다. UDP 통신이 가능하고 사용 가능한 대역폭이 남아 있으면서 무작위 패킷 손실이 발생하는 환경이라면 Hysteria2를 테스트해 볼 만합니다. UDP가 차단된 상태라면 혼잡 제어 매개변수를 조정해도 연결 수립 문제는 해결되지 않습니다.
| 관찰된 현상 | 가능한 제한 요인 | 다음 조치 |
|---|---|---|
| Wi-Fi에서는 시간 초과가 발생하지만 셀룰러 네트워크에서는 같은 항목이 작동함 | 현재 Wi-Fi의 UDP 정책 또는 네트워크 경로 차이 | 항목을 바꾸지 말고 네트워크를 전환해 다시 테스트한 뒤, 네트워크 관리자에게 UDP 통신 가능 여부를 확인합니다. |
| 짧은 요청은 완료되지만 장시간 전송 중에는 성능이 크게 흔들림 | 지속적인 속도 제한, 혼잡 또는 실제보다 높게 추정된 대역폭 | 동시 연결 수를 줄이고 대역폭 매개변수를 확인한 다음, 같은 리소스로 테스트합니다. |
| 모든 네트워크에서 핸드셰이크 단계가 실패함 | 주소, 포트, TLS 또는 서버 상태 문제 | 서비스 제공자가 안내한 매개변수를 하나씩 확인하고, 먼저 규칙을 바꾸지는 않습니다. |
| 웹페이지는 열리지만 동영상은 계속 버퍼링됨 | 처리량 부족, 대상 사이트까지의 경로 문제 또는 서버 용량 부족 | 지속적인 전송 상태를 기록합니다. 지연 시간 수치만으로 판단하지 마세요. |
UDP 443과 TCP 443은 서로 다른 전송 엔드포인트입니다. 일반 HTTPS 웹페이지가 열린다고 해서 UDP 443도 허용된다는 뜻은 아닙니다. 포트에 443을 입력해도 자동으로 통신이 허용되지는 않습니다. 포트는 서버의 실제 수신 설정과 일치해야 하며, ‘흔히 쓰는 포트라 더 안정적일 것’이라는 이유로 임의 변경해서는 안 됩니다.
- 같은 로컬 네트워크에서 다른 앱도 동시에 느려진다면 신호 상태, 업로드 대역폭 포화, 네트워크 혼잡부터 점검합니다.
- Hysteria2 항목 하나만 실패한다면 해당 항목의 인증 정보와 포트, 서버 상태를 우선 확인합니다.
- 네트워크를 바꾸면 문제가 해결된다면 기존 매개변수를 유지하고, 두 네트워크의 UDP 처리 방식 차이를 중점적으로 확인합니다.
Shadowrocket에 추가하기: 먼저 서버 매개변수 확인
아래 안내는 이미 사용할 수 있는 서비스를 보유한 경우를 전제로 합니다. 구독 링크와 직접 입력할 매개변수는 서비스 제공자에게 받아야 합니다. Hysteria2는 서버 주소만으로 연결할 수 없으며, 다른 프로토콜 항목의 유형을 Hysteria2로 바꾼다고 해서 그대로 사용할 수 있는 것도 아닙니다. 서비스 제공자가 안내한 전체 매개변수를 우선 그대로 사용하세요. 직접 입력할 때는 각 항목을 대조하고, 값을 임의로 넣어가며 추측하지 마세요.
-
기존 항목 유지
Home에서 현재 작동하는 항목과 Global Routing 설정을 기록합니다. 기존 구성을 덮어쓰지 말고 새 테스트 항목을 추가해, 테스트 실패 후에도 비교할 수 있도록 합니다.
-
프로토콜 선택
Home으로 이동 → 오른쪽 상단 ‘+’ → Add Server를 누른 다음 Type에서 Hysteria2를 선택합니다. 구독을 가져오려면 Type에서 Subscribe를 선택하고 서비스 제공자에게 받은 전체 링크를 입력합니다.
-
매개변수 입력
Address, Port, 인증 정보를 확인합니다. TLS 서버 이름, 인증서 검증 요건, 선택적 난독화 매개변수는 서버 설정과 일치해야 합니다. 이전 프로토콜의 비밀번호를 그대로 사용하지 마세요.
-
연결 확인
저장한 뒤 Home으로 돌아가 해당 항목을 선택하고, Global Routing이 Direct로 설정되어 있지 않은지 확인합니다. 연결 스위치를 켭니다. 시스템 VPN 구성을 처음 만들 때는 시스템 안내에 따라 권한을 허용합니다.
-
조건을 고정해 테스트
먼저 같은 네트워크에서 같은 대상 웹페이지를 열고, 이어서 지속 전송 테스트를 합니다. 문제가 발생하면 한 번에 매개변수 하나만 변경하고 변경 내용과 결과를 기록하세요. 라우팅, DNS, 인증 정보를 동시에 바꾸지 마세요.
선택한 유형과 앱 화면에 따라 표시되는 선택 항목은 달라질 수 있습니다. 표시되지 않는 고급 옵션을 임의로 추가할 필요는 없습니다. 가져오기에 성공해도 서버에 연결할 수 있다는 뜻은 아닙니다. 구독 업데이트와 항목 관리 방법은 Subscribe 구독 안내서에서 확인할 수 있습니다.
| 확인 항목 | 확인할 내용 | 흔히 하는 실수 |
|---|---|---|
| Address / Port | 도메인 또는 주소와 UDP 수신 포트가 서버 설정과 일치하는지 확인합니다. | 예시 포트 443을 모든 서비스의 고정 포트라고 생각합니다. |
| 인증 정보 | 인증 문자열 전체와 특수 문자를 빠짐없이 그대로 유지합니다. | 복사할 때 공백을 포함하거나 문자열 끝부분을 누락합니다. |
| TLS / SNI | 서버 이름이 인증서 검증 조건과 일치하는지 확인합니다. | 인증서 검증을 끄는 것을 일반적인 해결 방법으로 여깁니다. |
| 난독화 매개변수 | 서버에서 요구하는 경우에만 활성화하고, 일치하는 유형과 비밀번호를 사용합니다. | 난독화를 임의로 켜면 모든 서버가 이를 인식한다고 생각합니다. |
| 대역폭 매개변수 | 단위와 업로드·다운로드 방향, 서비스 제공자의 요구 사항을 확인합니다. | 매개변수를 높게 입력하면 실제 대역폭이 늘어난다고 생각합니다. |
Global Routing과 대역폭: 각각의 역할
Global Routing은 트래픽의 라우팅 방식을 정하고, Hysteria2는 선택한 프록시 연결에서 사용할 프로토콜을 정합니다. 둘은 서로 다른 계층의 설정입니다. 항목을 올바르게 선택했더라도 대상 요청이 실제로 Direct로 연결되면 해당 웹페이지의 성능으로 Hysteria2를 평가할 수 없습니다. 아래에서는 문제 해결에 자주 사용하는 세 가지 라우팅 모드만 비교합니다. 모든 옵션을 다루지는 않습니다.
Config
권장현재 활성화된 구성의 규칙에 따라 요청의 경로를 결정합니다. 일상적으로 사용하기 전에 구성 내용을 확인하고, 테스트 중에는 대상 요청에 의도한 프록시 정책이 적용되는지 확인해야 합니다.
적합한 경우: 명확한 분할 라우팅 구성이 있는 일상 사용
Proxy
이 라우팅 모드의 적용을 받는 요청을 프록시 경로로 보냅니다. 구성 규칙이 테스트에 미치는 영향을 줄이는 데 유용하지만, 기기의 모든 시스템 트래픽이 프록시를 거친다고 단정할 수는 없습니다.
적합한 경우: 규칙 때문에 대상 요청이 프록시를 우회하는지 잠시 확인할 때
Direct
직접 연결 경로를 사용하므로 선택한 Hysteria2 프록시의 성능을 검증하는 데 적합하지 않습니다. 같은 대상에 로컬 네트워크로 연결했을 때의 비교 기준으로 사용할 수 있습니다.
적합한 경우: 대상 리소스의 직접 연결 성능을 확인할 때
결론: 경로를 확인한 다음 속도를 조정하세요
테스트 요청이 선택한 Hysteria2 항목을 통과하는지 먼저 확인하세요. 경로와 매개변수가 모두 올바를 때만 대역폭 추정치를 조정하고 처리량 변화를 비교할 필요가 있습니다.
수동 대역폭 값은 전송 전략에 입력하는 값이지 네트워크 용량을 요청하는 값이 아닙니다. 실제 사용 가능한 대역폭보다 훨씬 높게 설정하면 큐가 쌓여 웹페이지 응답이 느려지고 음성 통화가 끊기거나 처리량이 불안정해질 수 있습니다. 요금제에 표시된 최고 속도를 그대로 입력하지 말고, 현재 회선에서 지속적으로 사용할 수 있는 용량과 서버 요구 사항에 맞춰 설정하세요.
- 먼저 단위를 확인하세요: Mbps와 MB/s는 다릅니다. Mbps를 요구하는 항목이라면 10 MB/s는 단순 환산 시 약 80 Mbps입니다. 이는 단위 환산일 뿐 권장 설정값이 아닙니다.
- 업로드와 다운로드를 구분하세요: 다운로드 대역폭이 높아도 업로드 대역폭이 같은 수준이라는 뜻은 아닙니다. 업로드 혼잡은 확인 응답 패킷과 상호작용 요청에 영향을 줍니다.
- 협상 동작을 유지하세요: 가져온 구성에 수동 대역폭 설정이 없다면 먼저 현재 매개변수로 테스트하고, 수치만 높이려고 확인되지 않은 설정을 추가하지 마세요.
다시 테스트하는 방법: 지연 시간, 처리량, 안정성 구분하기
한 번의 지연 시간 테스트로 확인할 수 있는 것은 특정 측정 결과뿐이며, 웹페이지·동영상·파일 전송의 전체적인 사용 경험을 설명하지는 못합니다. Hysteria2의 장점은 해당 네트워크 조건에서 직접 확인해야 합니다. 이 글은 실제 측정값을 꾸며내거나 ‘패킷 손실이 일정 비율에 도달하면 반드시 더 빠르다’는 기준을 제시하지 않습니다.
- 조건을 고정하세요: 같은 기기와 네트워크에서 비슷한 시간대에 테스트하고, 다른 대용량 작업은 일시 중지합니다. 서로 다른 웹사이트를 비교하지 말고 같은 대상 리소스를 선택하세요.
- 항목별로 관찰하세요: 페이지의 첫 응답 시간, 지속 전송 중단 여부, 전송 중 다른 소규모 요청이 눈에 띄게 느려지는지를 기록합니다. 지연 시간 숫자 하나만 저장하지 마세요.
- 세 차례 반복하세요: 매번 같은 순서로 조작하고 성공 여부와 멈춤 현상을 기록합니다. 세 차례 반복은 결과를 확인하기 위한 실용적인 방법이지 통계적 결론을 의미하지는 않습니다.
- 한 번에 한 가지씩 바꾸세요: 매 회차에서 네트워크나 대역폭 매개변수 등 한 가지 요소만 변경합니다. 항목과 서버를 동시에 바꾸면 차이가 프로토콜 때문인지 판단할 수 없습니다.
- 평소 설정으로 되돌리세요: 점검이 끝나면 기존 라우팅과 구성을 복원합니다. 지속 처리량은 개선됐지만 상호작용 응답이 크게 나빠졌다면 최고 속도 결과만 유지하지 말고 매개변수를 이전 상태로 되돌리세요.
자주 묻는 질문: UDP, 인증서, 자동 연결
일반 웹페이지는 열리는데 Hysteria2는 왜 계속 시간 초과가 발생하나요?
일반 웹페이지는 TCP를 사용할 수 있지만 Hysteria2는 하위 전송에 UDP가 필요합니다. 먼저 항목을 변경하지 말고 Wi-Fi와 셀룰러 네트워크에서 각각 테스트하세요. 그런 다음 서버의 UDP 포트와 인증 매개변수를 확인합니다. 한 네트워크에서만 실패한다면 해당 네트워크의 UDP 정책을 우선 확인하세요.
인증서 오류가 발생하면 검증을 건너뛰어도 되나요?
먼저 기기의 날짜와 시간을 확인한 다음 Address, TLS 서버 이름, 서비스 제공자가 안내한 인증서 요구 사항을 확인하세요. 검증 건너뛰기를 기본 설정으로 사용하지 마세요. 매개변수가 올바른데도 오류가 계속되면 서비스 제공자에게 서버 인증서와 이름이 일치하는지 확인해 달라고 요청하세요.
Hysteria2를 사용하려면 On Demand를 켜야 하나요?
아니요. Settings → On Demand는 자동으로 연결을 시작할 조건을 제어하며, 프로토콜 매개변수나 UDP 연결 문제를 해결하지는 않습니다. 수동 연결 테스트에 성공한 뒤 실제 네트워크 사용 방식에 맞게 On Demand를 설정하세요.
구독 업데이트 후 항목이 표시되면 반드시 연결되는 건가요?
아닙니다. Subscribe 업데이트 성공은 해당 콘텐츠를 가져와 파싱했다는 뜻일 뿐입니다. Home으로 돌아가 항목을 선택하고 Global Routing을 확인한 뒤 실제 요청을 테스트하세요. 항목 만료, 인증 정보 변경, 서버 장애는 각각 따로 점검해야 합니다.
Hysteria2를 선택할 때는 프로토콜 이름이 아니라 현재 네트워크에서 재현 가능한 안정성을 기준으로 삼으세요. UDP가 계속 제한되거나 정해진 방식으로 다시 테스트해도 개선되지 않는다면 사용 가능한 구성을 유지하고, 서비스 제공자에게 현재 서비스가 지원하는 연결 매개변수와 네트워크 요구 사항을 확인하세요.