無料通信(データ通信料節約)とは
「データ通信料節約(無料通信)」とは、通常、モバイルネットワークにおいて特定のアプリやサービスを利用する際に、ユーザーのデータ通信量を消費しない、つまり通信料金がかからないことを指します。これは主にモバイルキャリアや特定のアプリプロバイダーが提供し、これらのアプリやサービスの利用を促進することを目的としています。
データ通信料節約の基本原理
上記のデータ通信料節約は通常、特定のアプリに限定されます。ここで議論するのは、特定のアプリに限定されないデータ通信料節約であり、特定の方法でキャリアの課金システムを欺き、無料を実現するものです。
まず、キャリアの課金システムがどのように動作するかを理解する必要があります。
通常のWebサイトへのアクセス:
通常のWebサイトへのアクセス
データ通信料節約対象サイトへのアクセス:
データ通信料節約対象サイトへのアクセス
データ通信料節約の核心理念は、課金システムに無料通信対象サイトへのアクセスと装いつつ、実際には通常のWebサイトにアクセスさせることにある。
データ通信料節約の核心理念
データ通信料節約のいくつかの方法
ローカルデータ通信料節約
ローカルデータ通信料節約は、ユーザーのスマートフォン上でプロキシプログラムを実行し、すべてのデータパケットを改変することで課金システムを欺く方法です。
ローカルデータ通信料節約
リクエストヘッダーには、Host と X-Online-Host という2つの重要なフィールドがある。 ここでは、課金システムが Host を参照して課金し、プロキシサーバーが X-Online-Host を見て実際のアクセス先を決める仕組みだとしよう。この場合、httpヘッダーの Host フィールドを書き換えれば課金システムをごまかせる。
キャリアも馬鹿ではありません。検出システムを更新し、上記の方法は使えなくなりました。その後、ネットユーザーたちはキャリアとの知恵比べを始めました。
- Host フィールドを2つ挿入するデュアルHモード:課金システムは最初の Host フィールドを参照し、プロキシサーバーは2つ目の Host フィールドを参照します。
- X-Online-Host を2つ挿入するデュアルXモード
- 疑似先頭モード
- 疑似カラーモード
- .....
ローカルデータ通信料節約の利点は、追加のリソースが不要で、ユーザーのローカルスマートフォンで実現できることです。主にキャリアの課金システムとプロキシサーバーシステムの実装の違いを利用します。欠点は、地域によってキャリアのシステムの違いが一貫しておらず、上海で有効なモードが広東では必ずしも通用せず、利用可能な改変箇所が限られているため、すべてのモードが封鎖されると使用できなくなることです。
ローカルデータ通信料節約の最大の問題は、当時キャリアの請求処理にタイムラグがあった点である。以前使えていた節約モードが修正された後も、すでに通常のデータ通信量が課金されていることにユーザーが気づかず、翌朝になって10086から高額な課金通知を受け取るという事態が発生していた。
方向性データ通信料節約
2015年以降、国は三大キャリアに速度向上と料金引き下げを要求し、ローミング料金は徐々に廃止され、データ通信量は全国共通で、料金もますます低くなっていますが、それでもデータ通信料金は無制限に使えるほど安くはありません。
抖音(TikTok)を見るのが好きな人もいれば、テンセントビデオを見るのが好きな人もいるため、三大キャリアはそれぞれ方向性データ通信量カードを提供し始めました。一般的なものとして、テンセント王卡、アリババ宝卡などがあります。
方向性データ通信量カードは、特定のインターネットサービスに対して、一般データ通信量とは別に大容量の方向性データ通信量を提供します。例えば、テンセント王卡はテンセント系アプリで最大40GBのデータ通信量を無料で使用できます。
方向性変換
クラウドデータ通信料節約(クラウド無料通信)
ローカルデータ通信料節約は、課金システムとプロキシサーバーの違いを利用していましたが、その後、その違いは徐々に修正され(多くのネットユーザーが自費でQAを担当したことに感謝)、最終的にはキャリアがプロキシサーバーを廃止し、課金システムを直接インターネットアクセスに使用するようになり、ローカルデータ通信料節約は姿を消しました。 その後、一般的に使用されるのはクラウドデータ通信料節約であり、これが現在の主流のデータ通信料節約方法です。
クラウドデータ通信料節約の原理を理解するには、ネットワークプロトコルの基礎知識、特にtcp/ipの動作原理を知る必要があります。
ip
現在のインターネットはtcp/ipアーキテクチャに基づいて構成されています。コンピューター間の通信はドメイン名ではなく、ipプロトコルに基づいています。
ipプロトコルは、コンピューターにおける電話番号のようなものと考えることができます。例えば、張三に連絡したい場合、張三の電話番号123456を入力して電話をかけることで連絡できます。
dns
しかし、現在Webサイトにアクセスする際にはドメイン名を入力します。なぜコンピューター間の通信はipプロトコルに基づいているのでしょうか?それらはどのように変換されるのでしょうか?
これがdnsの役割です。 ipアドレスは覚えにくく、入力も難しいため、入力を簡略化するためにドメイン名が発明されました。これは電話帳の連絡先名のようなものです。例えば、電話帳に張三の電話番号を123456として保存する場合、張三がドメイン名、123456がipに相当します。張三に連絡したいときは、123456を入力する代わりに電話帳で「張三」を検索します。
dnsの役割は電話帳を調べることです。例えば、google.comにアクセスしたい場合、コンピューターはgoogle.comにどのようにアクセスすればよいかわかりません。そのため、電話帳(dnsクエリ)にgoogle.comの電話番号(ip)を問い合わせる必要があります。
dns
http
httpプロトコルは、一般の人々にとって最も一般的なインターネットプロトコルであり、インターネットの基盤です。私たちが日常的に使用するほとんどすべてのアプリケーションは、httpプロトコルを使用して通信しています。
httpプロトコルのリクエスト構造は以下の通りです。
GET / HTTP/1.1
Host: www.baidu.com
xxxxxxxここがhttpリクエストの本文ですxxxxxxx
ローカルデータ通信料節約では、Hostフィールドを改変して課金システムを回避していました。 クラウドデータ通信料節約でも、採用される方法は実際には似ています。違いは、課金システムを回避した後、どのようにして正しいターゲットWebサイトにアクセスするかという点にあります。
考え方は実はシンプルです。ローカルデータ通信料節約がキャリアのプロキシサーバーと課金システムの統合によって完全に修正されてしまったのであれば、自分でプロキシサーバーを実装すれば、以前の方法と同様のことができるのではないでしょうか?
クラウド無料通信
クラウド無料通信の原理
具体的には、元のリクエストをhttpボディにカプセル化してプロキシサーバーに送信し、プロキシサーバーがhttpボディを解析した後、元のリクエストを復元して実際のリクエストを実行します。
クラウド無料通信の原理
すなわち
クラウド無料通信の原理
直接接続データ通信料節約
方向性データ通信料節約には、クラウドサーバーを必要としない別の方法があります。 一部の方向性データ通信量カードは、特定のドメイン名ではなく、特定のアプリケーションのすべてのデータ通信量を無料にすることができます。例えば、テンセント王卡はQQブラウザのすべてのデータ通信量を無料にできます。原理は、そのアプリケーション内にプロキシサーバーを内蔵し、プロキシサーバーが生成するデータ通信量がキャリアによって方向性データ通信量としてカウントされることです。
直接接続データ通信料節約は、パケットキャプチャによってアプリケーションに内蔵されたプロキシサーバーを取得し、それをすべてのアプリケーションのアクセスに使用する方法です。
ただし、現在ではプロキシサーバーに動的検証が追加されているため、基本的にこの方法は使えません。
停止中データ通信料節約
中国電信は、サービス停止中のユーザーでも通話料をチャージできるよう、緊急チャージ用の特別経路(グリーンチャネル)を開通している。そのため、方向性データ通信料節約と同様の仕組みで、Host をそのグリーンチャネルのURLに書き換えることにより、データ通信料節約を実現する方法がある。
サービス停止中のユーザーにとっては、毎月の停止中番号維持料金(通常5元)を支払うだけで無制限のデータ通信量が得られる。ただし、中国電信はその後ほとんどの地域で停止中ユーザーの通信速度に制限をかける対策を講じた。チャージのみが目的である以上、高速通信は不要という判断である。
データ通信料節約の限界
キャリアの課金システムがどのように動作するかは基本的にブラックボックスであり、外部からはいつ動作メカニズムが変更されるかを知ることは困難です。例えば、hostフィールドのチェックに加えて、課金システムはポートもチェックする可能性があります。インターネットのトラフィックは通常80/443ポートを使用するため、クラウドサーバーのポートも通常80/443を使用する必要があります。
データ通信料節約を実現するには、グローバルプロキシを使用する必要があります。つまり、国内・国外を問わず、すべてのトラフィックをクラウドサーバーを介してプロキシする必要があります。