トンネルは一晩中開いたままで、何もストリーミングしていないのに使用量のグラフは動いていた。これは正常で、VPNは回線の一部を予約するのではなく会話を開いたままにするので、予約分はゼロであり、バイトは少ないが実在する。この二つの考えは絶えず取り違えられ、アイドル状態のVPNが帯域を使うかという問いには両方向でひどい答えが出る。説明できる観測窓で正しいカウンターを測れば、半日で決着する。

アイドル状態のトンネルがバイトを動かす理由

トンネルは寿命を持つ対応付けであり、その対応付けを生かしておくものが必要だ。ハンドシェイクは期限切れになり、NAT機器はアイドル状態の変換を落とし、十分長く沈黙するピアはどちらの端でも何も失敗しないまま到達不能になりうる。プロトコルは送るものがないときに何を送るかが異なり、WireGuardはハンドシェイクが落ち着いた後は既定で何も送信せず、任意の設定であるPersistentKeepaliveを有効にすると周期的なパケットが追加され、変換の背後にいるピアが到達可能なままになる。意図的に有効にすれば、その間隔はカウンターに現れる。

OpenVPNのキープアライブヘルパーは別の仕組みで動き、ping風の確認を定義して両端が生きているセッションと死んだセッションを見分けられるようにし、独自のトランスポートを同梱するクライアントには、別名の同等なタイマーがある。これらはアプリケーションのウィンドウには現れないので、空の画面は回線上で何が起きているかを何も語らない。

アイドル状態のアプリはアイドル状態の端末ではない

開いたトンネルは接続するすべてのクライアントに奉仕し、クライアントはめったに止まらない。写真の同期、リゾルバの問い合わせ、更新確認、監視エージェントは既定の経路に従い、全トンネルプロファイルではその経路がトンネルそのものだ。ポケットで眠る端末も問い合わせを続け、バックアップ処理は誰も動画を見ていないことを気にしない。トンネルがアイドルなのは、端末が使っている間にあなたが使っていないという意味だ。

ブリッジ型とルーテッド型のプロファイルは異なる通信を運ぶので、同じ観測でもそれぞれ違う答えになりうる。測る前に誰が接続していたかを書き留めよ、同期クライアント一つがその区間のあらゆるキープアライブを上回ることがあるからだ。

カウンターを一つ選び、何を数えるのかを言う

合計は三つあり、それぞれ別の問いに答え、トンネルを通過したもの、物理リンクを通過したもの、プロバイダーが課金すると決めたものだ。アップリンクで数えると、ARPの揺らぎから隣人のストリーミングまで、トンネルに入らなかったものまで数えてしまう。トンネルのインターフェースで数えると、外側のヘッダー、ハンドシェイクの再試行、変換を開いたままにするキープアライブを取りこぼす。両方を読むのは安上がりで、バイトがトンネルのどちら側で数えられたかを見る唯一の方法だ。

ip -s link show wg0
ip -s link show eth0

どちらを引用する前に、問いが二つのうちどちらなのかを決めよ、足し合わせると関連する作業を二重に数えることになるからだ。プロバイダーの集計は測った期間より後の期間で締まることがあるので、請求書と合わない合計が自動的に間違いとは限らない。公表する数にはインターフェース、方向、期間を添えること。

短い監督下の測定を実行する

トンネルとその保護を普段どおりの状態にしたまま、任意の転送を飛ばし、誰が接続したままだったかを記録する。カウンターを読み、読む価値のある長さの窓だけ待ち、もう一度読み、経過時間を差分の横に残す。大きな速度テストは別の問いに答え、回線を飽和させるだけで、アイドル時のコストについては何も語らない。

最初の結果が不可能に見えるなら窓をもう一度繰り返せ、一回の試料では定時処理の途中を捕まえることがあるからだ。一致する二つの区間は証拠であり、一つの区間は単位の付いた逸話にすぎない。

より悪いトンネルと引き換えにきれいなゼロを買うな

グラフを整えるためにキープアライブや生存確認を切ると、測っている配備そのものが変わり、次のアイドル期間の後にトンネルが戻らないことがある。触る前に、その仕組みが到達性のためか保守のためかを問い、そうなら動かしたまま測れ、それが今後支える設定だからだ。壊れた復旧経路を隠すきれいなゼロは、この作業で最も高くつく結果だ。

数が本当に大きいときは、プロトコルが回線を埋めていると決めつけず、それを生んだプロセスやクライアントを探せ。内側と外側のカウンターを比べてバイトがどちら側にあるかを見て、自分が持っていると思う容量ではなく、その期間の使用量を報告せよ。

関連記事