IPアドレスとサブネット

エニーキャスト えにーきゃすと

エニーキャストanycastCDNDNS冗長化
エニーキャストについて教えて

簡単に言うとこんな感じ!

「同じIPアドレスを複数のサーバーが持って、一番近いサーバーに届ける」仕組みだよ。コンビニのどの店舗も同じブランドでも、あなたが行くのは一番近いお店みたいな感じ!CDNやDNSで使われてるんだ。


エニーキャストとは

エニーキャスト(Anycast)は、同じIPアドレスを複数のサーバーが持ち、送信元から一番近い(ルーティング的に最適な)サーバーにパケットが届く通信方式です。

通常のユニキャストでは1つのIPアドレス=1台のサーバーですが、エニーキャストでは世界中に配置された複数のサーバーが同じIPアドレスをBGPでアナウンスします。ルーターはルーティングテーブルに基づき最短経路を選ぶため、自動的に最も近いサーバーに到達します。

エニーキャストの主な活用例はDNSCDNです。例えば8.8.8.8(Google Public DNS)はエニーキャストを使っており、あなたがどの国からアクセスしても地理的に最も近いGoogleのDNSサーバーが応答します。これにより、高速なDNS解決と負荷分散・冗長化を同時に実現しています。


通信方式の比較

種別宛先到達先主な用途
ユニキャスト1台指定した1台通常のWeb通信
ブロードキャストサブネット全体全ホストARP
マルチキャストグループ参加者グループ全員動画配信等
エニーキャスト任意の1台最近傍の1台DNS・CDN

歴史と背景

  • 1993年:RFC 1546でエニーキャストの概念が初めて提案
  • 1997年:f.root-servers.net(ルートDNSサーバー)がエニーキャストを採用
  • 2000年代CloudflareやAkamaiなどCDN事業者がエニーキャストを活用したグローバルネットワークを構築
  • 2003年:IPv6ではエニーキャストが仕様に正式組み込み(RFC 3513)
  • 現在1.1.1.1(Cloudflare DNS)・8.8.8.8(Google DNS)等の主要サービスに採用

エニーキャストの仕組み(BGPとの連携)

エニーキャスト:同一IPを複数拠点でアナウンス 日本の クライアント 東京サーバー IP: 1.1.1.1 米国サーバー IP: 1.1.1.1 米国の クライアント 近いので東京へ 近いので米国へ

メリット・デメリット

メリットデメリット
自動的に最も近いサーバーへ到達TCPではセッション中にサーバーが変わると通信が切れる
障害時の自動フェイルオーバー実装にBGPの知識が必要
負荷分散(地理的)デバッグが難しい

エニーキャストはTCPではなくUDPやDNSのような短い通信に向いています。TCPセッション継続中にルートが変わるとセッションが切れてしまうためです。


関連する規格・RFC

規格・RFC番号内容
RFC 1546エニーキャストの提案
RFC 4786エニーキャストサービスの運用
RFC 7094エニーキャストDNSサービスの運用上の考慮点

関連用語