インターネットの速度にはさまざまな要因が影響します。インターネットを高速化するためには、ネットワーク輻湊、DNS解決、ネットワークのレイテンシーに対するソリューションが必要です。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
遅延の主な原因の1つに距離があります。インターネットが機能するためには、コンピューター、サーバー、ルーターが相互に通信し、数百マイルにも及ぶケーブルの上を電気パルスの形で情報を交換する必要があります。インターネットには、宇宙の物理法則によるある程度の遅延が組み込まれています。光の速度は情報の伝達速度に対する超えられない制約の一つです。光は非常に高速ですが、それでも、クライアントからサーバーまでケーブルの中を情報が往復するのに数ミリ秒から1秒近くかかることになります(遅延とは?をご覧ください)。
Webサイトはさまざまな理由で低速になります。正しく機能するために1つまたは複数の大きなCSSファイル、高解像度の画像、複数のJavaScriptファイルを読み込む必要があるサイトの場合、描画に長い時間がかかることがあります。さらに、特にそのサイトでCDNを使用していない場合、サイトがどこでホストされているかによってWebサイトの速度に違いが生じます。トロントでホストされているWebサイトの場合、トロントのユーザーであれば問題なく読み込まれますが、ヒューストンでの読み込みには長い時間がかかる場合があります。 Webサイトの速度テストは、開発者が自分のWebプロパティがどのように実行され、どこに非効率性があるかを判断するのに役立ちます。
悪意のある行為によってインターネットの速度が阻害されることはよくあることです。例えば、WebサイトへのDDoS攻撃は、Webサイトのパフォーマンスを著しく低下させたり、Webサイトを完全にクラッシュさせることがあります。
ネットワークを一度に通過できるデータ量は限られており、通過できる最大量は帯域幅と呼ばれています。インターネットエクスチェンジポイント(IXP)、データセンター、自宅のLANに使用するルーターなどの、ネットワーク上の特定の地点で受信するネットワークトラフィックが帯域幅を超えると、高速道路上の車の台数が多すぎると交通速度が低下するのと同様に、ネットワーク輻湊によってインターネットの速度低下が引き起こされます。
ネットワーク輻湊は、特定の地域に限定される場合もあれば、ISPのネットワーク全体に影響を及ぼす場合もあり、また家庭内で発生する場合もあります(例えば、複数の人が同時に高解像度の動画をストリーミングしようとした場合など)。
さまざまな条件により、ユーザーデバイス(クライアントサーバーモデルにおける「クライアント」)上でWebサイトやWebアプリケーションのパフォーマンスが低下することがあります。例として、以下のようなものがあります。
Domain Name System(DNS)は、ドメイン名をIPアドレスにマッピング、または「解決」します。この処理はブラウザがWebサイトに移動して表示する前に行われる必要があるため、DNS解決はWebサイトが読み込まれる速度に影響を与えます。ほとんどの利用者にはISP(インターネットサービスプロバイダー)によってデフォルトでDNSリゾルバーが割り当てられるため、ISPのDNSサーバーのパフォーマンスが低下すると、そのISPのユーザーのインターネット速度が遅くなります。
また、ユーザーはISP以外のDNSリゾルバを利用することもできますが、多くのユーザーはこの選択肢に気づいていません。1.1.1.1は現在最速のDNSリゾルバであり、これらの遅延を低減するように設計されています。通常、1.1.1.1は約10~20ミリ秒で応答しますが、他のリゾルバでは100ミリ秒を超える場合があります。
CDN(コンテンツ配信ネットワーク)は、ネットワークのレイテンシーを大幅に削減します。CDNは、世界中のサーバーにコンテンツをキャッシュすることで、エンドユーザーに届くまでに長い距離を移動する必要をなくします。これにより、CDNを使用するWebサイトのネットワークのレイテンシーの低減と速度向上を実現します。また、一部のCDNでは負荷分散が行われ、ネットワーク輻湊を防ぎます。Cloudflare CDNは、世界200都市にデータセンターを保有しています。これにより、Webコンテンツがよりユーザーに近くなり、Webサイトのパフォーマンスが高速化します。
インターネットをより高速なものにするために、Webサイトの速度は不可欠です。開発者は、画像を最適化し、コードをできるだけ短くし、一般的な1ページ分のファイルサイズをできるだけ小さくすることでページを高速に保つことができます。また、レンダリングブロックリソース*を最後に読み込ませることもできます。この方法では、実際にWebページの読み込みが速くなるわけではありませんが、ブラウザはユーザーに表示されるコンテンツをより高速に描画できるようになります。また、CDNを利用することでも、Webページの読み込み速度を速くすることができます。
*レンダリングブロックリソースとは、CSSやJavaScriptなど、他のファイルに先行して読み込まれる必要があるファイルのことです。
自動車交通渋滞は大都市では日常茶飯事です。渋滞や悪路を回避するために、Waze(渋滞の少ない道路へ迂回させるアプリ)などのスマートマップアプリを使って渋滞の少ない道路へと迂回するドライバーもいます。インターネットルーティングは、多くのドライバーの通勤経路のように、2点間にある最短距離を使用してネットワークトラフィックを転送するものです。しかし、実際にはそれが必ずしも最短距離とは限りません。主要なインターネットルーティングプロトコルであるBGPは、インターネットインフラストラクチャをグローバルに接続するのには有効ですが、トラフィックレベルに関しては「スマート」であるとは言えず、トラフィックやネットワーク輻湊の状況に基づいて別のルートを選択することはできません。BGPは、インターネットの一般的な運用に不可欠です。次に必要なものは、BGPの上に乗せるスマートなレイヤーです。
Argo smart routingは、まさにこれを実現するサービスの一例です。これらの要因に基づいてネットワークトラフィックを再ルーティングできるようにインターネットルーティングを改善することで、インターネット全体を高速化することができます。Argoは、BGPの優れた復元力をベースに、混雑した経路を回避する方法を見つけるという核心的な処理を行います。