Clash ノード選択ガイド:レイテンシ・倍率・地域・プロトコルの4指標で選ぶ方法
レイテンシ測定の意味、低レイテンシが速度を保証しない理由、流量倍率が消費量に与える影響、地域差による解除の違い、各プロトコルの安定性比較まで、実践的なノード選択の流れを解説します。
レイテンシ測定の意味、低レイテンシが速度を保証しない理由、流量倍率が消費量に与える影響、地域差による解除の違い、各プロトコルの安定性比較まで、実践的なノード選択の流れを解説します。
クライアントのプロキシグループ画面を開くと、各ノード名の後ろに数値やマークが表示されます。レイテンシの数値、倍率のバッジ、地域コードなどです。これらの情報は一見シンプルですが、解釈を誤ると「速そうに見える」ノードを選んでも実際には頻繁にカクつくことになります。ノードを正しく選ぶには、まずこれらの指標がそれぞれ何を測っているのかを理解する必要があります。各指標は測る軸が異なり、互換性はありません。
ノードリストの本質はサブスクリプションが提供する設定ファイルであり、各項目は config.yaml の proxies フィールド下にある1つのアウトバウンド設定に対応し、サーバーアドレス、ポート、プロトコル種別、認証パラメータを含みます。クライアントが行っているのは、これらの項目を選択可能なリストとして描画し、その上に自前で実装した速度測定と状態検知のロジックを重ねることです。そのため同じサブスクリプションでも、クライアントが異なればノード数やパラメータは一致していてもレイテンシの数値が変わることがあります。測定先のアドレス、測定頻度、タイムアウトの閾値がクライアントごとに統一されていないためです。
クライアントに表示されるレイテンシの数値は、多くの場合1回のHTTPまたはTCP探測の往復時間(RTT)です。探測対象は通常固定のテストアドレスで、軽量なエンドポイントにリクエストを送り、最初のバイトが返るまでの時間を記録するのが一般的な方式です。この数値は「接続を確立して最初のレスポンスを得る」までにかかる時間をミリ秒単位で表したもので、数値が小さいほど端末からプロキシサーバー、テスト対象までのハンドシェイクが速いことを意味します。
しかし低レイテンシは高いダウンロード速度を意味しません。これは別々の指標です。レイテンシは往復時間を測るもので、速度は単位時間あたりに転送できるデータ量を測るものであり、後者は帯域幅、同時接続数、サーバーの現在の負荷、経路の混雑状況など複数の要因に左右されます。典型的な例として、あるノードのレイテンシが80msと理想的に見えても、サーバーの出口帯域が多数のユーザーに占有されており実際のダウンロード速度は数百KB/sしかない、というケースがあります。一方でレイテンシ250msのノードでも出口帯域に余裕があれば、ダウンロード速度は帯域上限まで出ることもあります。つまりレイテンシは選別の最初のふるい(タイムアウトやレイテンシ1000ms超えなど明らかに使えないノードを除外する)にしか使えず、唯一の並べ替え基準にはできません。
ノードの良し悪しを判断するより確実な方法は、レイテンシと実測ダウンロード速度の2指標を組み合わせて検証することです。まずレイテンシで候補プールを絞り込み、次に候補の中から2〜3件を選んで同じテストファイルをダウンロードし実速度を比較、最後に速度が安定しているものを常用ノードとして固定します。
また、測定頻度がノードの生存状態に与える影響にも注意が必要です。自動測定機能を備えたクライアントもありますが、間隔を短く設定しすぎるとサーバーに無用なリクエスト負荷をかけ、サーバー側のレート制限に異常なトラフィックと誤認されて一時的に制限されることもあります。手動測定、あるいは10数分ごとの自動測定で十分であり、数秒おきに間隔を設定する必要はありません。
ノード名の後ろにある倍率表示(x0.5、x1、x2やパーセント表記が一般的)は、そのノードがサブスクリプションの流量をどれだけ消費するかを示す係数です。倍率は速度の速さを示すものではなく、課金の重みです。x0.5倍率のノードで1GBダウンロードすると、実際に流量パッケージから減るのは0.5GBのみです。x2倍率のノードで1GBダウンロードすると、2GB分が減算されます。
倍率が異なる主な原因には、ノードが位置する地域の帯域コストが高い(海外の主要出口など)、ピーク時間帯限定の割引措置である、あるいは事業者が倍率を使って負荷が軽い拠点にユーザーを誘導し負荷を分散させている、といったケースがあります。低倍率ノードは負荷が重かったり回線が混雑している拠点に対応することが多く、高倍率ノードは回線品質が良い分コストも高くなる傾向があります。これはトレードオフの関係であり、「倍率が低くて回線も良い」という都合の良い話は基本的に存在しません。
プロキシグループでは、低倍率ノードを「日常グループ」、高倍率・高品質のノードを「高負荷グループ」としてまとめ、ルールベースの振り分けと組み合わせてアクセス先のドメインやアプリの種類に応じて適切なグループへ自動的に割り振るのがおすすめです。すべての通信を同一ノードに通す必要はありません。
ノード名にある地域コード(HK、SG、JP、USなど)は、サーバーが物理的に設置されている地域を示しています。これは2つの点に直接影響します。よく使うサービスまでの物理的な経路距離と、アクセスできるコンテンツライブラリのバージョンです。地理的に近いほど経路のホップ数は少なくなり、レイテンシの基礎値も低くなる傾向があります。これが近隣地域のノードがレイテンシランキングの上位によく登場する理由です。
解除できるコンテンツの違いの本質は、対象サービスがアクセス元の出口IPから地域を判定し、地域ごとに異なるコンテンツライブラリや機能を提供している点にあります。つまり、サブスクリプション上の地域コードがある国を示していても、サーバーの実際の出口IP帯が対象サービスに別の地域と判定されたり、データセンター/プロキシのIP帯としてマークされていたりすれば、解除は失敗します。逆に言えば、同じ地域コードでも事業者が調達しているIP帯の品質はまちまちであり、名前だけを見て解除効果が同じだと判断することはできません。
地域ノードを選ぶ実践的な考え方:
ノード項目のプロトコル種別は、接続の実装方式を決定します。プロトコルごとに耐干渉性、伝送効率、ハンドシェイクコストの重視点が異なるため、選択時にはネットワーク環境と組み合わせて判断する必要があり、あるプロトコルが絶対的に他より優れているとは言えません。
| プロトコル | トランスポート層 | 特徴 | 適した場面 |
|---|---|---|---|
| Shadowsocks | TCP/UDP | 実装がシンプルでハンドシェイクコストが小さく、暗号方式を選択可能 | ネットワーク制限が緩く低レイテンシを重視する場合 |
| VMess / VLESS | TCP/WS/gRPC | 複数のトランスポート層カプセル化に対応し、TLS偽装と組み合わせ可能 | 検閲が厳しいネットワーク環境 |
| Trojan | TCP + TLS | 通信の特徴が通常のHTTPSに近く、ハンドシェイクコストはやや高い | より高い耐干渉性が必要な環境 |
| Hysteria / TUIC | QUICベース | UDPベースで実装され、通信品質が悪い状況での再送効率が高い | パケットロス率が高く不安定な回線 |
選択の原則を簡単にまとめると次のとおりです。ネットワーク制限が少ない環境であれば、Shadowsocksはハンドシェイクが速くCPU負荷も低いため、レイテンシの面で最も直接的な選択肢になります。回線が干渉を受けやすい、あるいはディープパケットインスペクションが存在する環境では、TLS偽装ベースのプロトコル(Trojan、VLESS+TLSなど)の方が安定しますが、ハンドシェイク段階で数十ミリ秒のコストが増えます。パケットロス率が高いネットワーク(基地局の切り替えが頻繁なモバイル回線など)では、QUICベースのプロトコルの方が純粋なTCP方式より再送回復効率が高い傾向があり、予備グループとして採用する価値があります。
mihomoカーネル(Clash Metaブランチ)はプロトコル対応の範囲がより広く、Hysteria2、TUIC、VLESS、Shadowsocks 2022といった比較的新しい実装をカバーしています。サブスクリプションがこれらのプロトコルのノードを提供しているのにクライアントで接続が常に失敗する場合は、まずクライアントに内蔵されているのがmihomoカーネルかどうかを確認してください。オリジナルのClashカーネルはこれらの新しいプロトコルに対応していません。
レイテンシ、倍率、地域、プロトコルのいずれか1つだけを見ても、ノードの良し悪しを決定するには不十分です。実際の運用では以下の順序で一通り確認し、主観的な感覚を再現可能な判断ステップに置き換えることをおすすめします。
このフローを毎日繰り返す必要はありません。サブスクリプションが更新されたときや、明らかにカクつきを感じたときに一通り実行すれば十分です。結果をプロキシグループに固定し、ルールベースの振り分けと組み合わせて異なる種類の通信を適切なグループに自動的に落とし込む方が、毎回手動でノードを切り替えるより手間がかかりません。
ノード選択で陥りやすい誤りは、いくつかのタイプに集中しています。
あるノードが長期間にわたって異常な状態(レイテンシが不安定、頻繁に切断される)を示す場合は、まずノードや回線自体の問題を疑い、同じ地域の別のノードに切り替えて検証してみてください。それでも解決しなければ、ローカルのネットワーク環境やクライアントの設定を確認することを検討しましょう。
ノード選択の方針が決まったら、プロキシグループを正しく認識し、ルールベースの振り分けに対応したクライアントで設定を実際に反映させる必要があります。