16KB カーテン
”16KBカーテン”という、とあるネット遮断の戦術とも言える方法に何とも言えない不気味さを感じている.
Cloudflareは、ロシアで行われている広範な国家レベルの通信スロットリング(速度制限)を公式に確認したようで、6月9日以降、ロシアのインターネット利用者は、Cloudflareで保護されたウェブサイトへのアクセスが体系的に劣化する現象を経験しているという.
その劣化だが、接続はわずか16キロバイトのデータが送信された後に切断されるとのことである.
そのデータ量は、例えば、文字だと、約8,000〜16,000文字.スマホ写真(通常、3〜5MB程度と考えて)の約200分の1〜300分の1.今のウェブサイトは 1ページ 1MB〜3MB(1000KB〜3000KB) くらいあるらしいので、16KBはページの最初の少ししか読み込みができない.
Cloudflareのエンジニアによれば、この制限は現代のウェブサイトをほぼ使用不能にする一方、単純なサービスには接続できているように見せる効果があるという.
接続が始まってすぐ切断される仕組み
Cloudflareの詳細な分析によると、ロシアのインターネットプロバイダーは、ウェブ通信に干渉することで接続が開始直後に突然失敗するようにしている.この干渉は以下のすべての主要プロトコルに影響するとのこと.
- TCP(旧来の通信プロトコル)
- HTTP/2
- QUIC(新しい高速通信プロトコル)
つまり、古い技術でも新しい技術でも関係なく影響を受けるのだ.
16KBしか送れない仕組み
Cloudflareはパケット損失のパターンについて「リセットとタイムアウト(resets and timeouts)」と呼ばれる非常に特定の挙動と一致していると説明している.具体的には次のような動作になる。
- ユーザーがリンクをクリック
- ブラウザがページ読み込みを開始
- 数パケットだけ通信
- コンテンツが届く前に接続が静かに切断
ユーザーから見ると「サイトが遅い」「サイトが壊れている」ように見えるが、実際には最初の10〜14パケットだけ送信された後に接続が切断されている.その結果、最大16KBしか送信されない.この容量では画像・CSS・JavaScriptなどが読み込めないため、ほとんどの現代ウェブサイトは機能しないとされている.
<16KB カーテン>の疑似体験サイトを自作してみた(ややその遮断体験を誇張しているが)
Cloudflareの説明
Cloudflareは報告書で「6月9日に始まった新しい戦術は、配信されるコンテンツ量を16KBに制限しており、多くのウェブサイトをほぼ使えない状態にしている」と述べている.
このスロットリングはHTTP/1.1・HTTP/2・HTTP/3などのすべての主要プロトコルに適用され、TCP/TLS・QUICといった接続方式も問わずすべて影響を受ける.またCloudflareの観測では、6月9日からパケット損失が急増し、ロシアのユーザー向けトラフィックが全体的に減少しているという.

回避方法は提示されず
Cloudflareのエンジニアは、この遮断方法を回避する方法については示していない.報告書では「このスロットリングはローカルISPによって実施されているため、Cloudflareの管理外である.現時点では、ロシアのユーザーに対して合法的な方法でCloudflareサービスや保護されたウェブサイトへの安定した高速アクセスを回復させることはできない」と述べられている.
Cloudflareの声明
Cloudflareは最後に「自由で開かれたインターネットへのアクセスは、個人の権利と経済発展にとって不可欠である.ロシア国民がそれにアクセスすることを妨げるいかなる試みも、私たちは非難する」と批判している.
Rerefence
- The 16‑kilobyte curtain, confirmed. Cloudflare accuses Russia of throttling its traffic
