エニーキャスト えにーきゃすと
エニーキャストanycastCDNDNS冗長化
エニーキャストについて教えて
簡単に言うとこんな感じ!
「同じIPアドレスを複数のサーバーが持って、一番近いサーバーに届ける」仕組みだよ。コンビニのどの店舗も同じブランドでも、あなたが行くのは一番近いお店みたいな感じ!CDNやDNSで使われてるんだ。
エニーキャストとは
エニーキャスト(Anycast)は、同じIPアドレスを複数のサーバーが持ち、送信元から一番近い(ルーティング的に最適な)サーバーにパケットが届く通信方式です。
通常のユニキャストでは1つのIPアドレス=1台のサーバーですが、エニーキャストでは世界中に配置された複数のサーバーが同じIPアドレスをBGPでアナウンスします。ルーターはルーティングテーブルに基づき最短経路を選ぶため、自動的に最も近いサーバーに到達します。
エニーキャストの主な活用例はDNSとCDNです。例えば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との連携)
メリット・デメリット
| メリット | デメリット |
|---|---|
| 自動的に最も近いサーバーへ到達 | TCPではセッション中にサーバーが変わると通信が切れる |
| 障害時の自動フェイルオーバー | 実装にBGPの知識が必要 |
| 負荷分散(地理的) | デバッグが難しい |
エニーキャストはTCPではなくUDPやDNSのような短い通信に向いています。TCPセッション継続中にルートが変わるとセッションが切れてしまうためです。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 1546 | エニーキャストの提案 |
| RFC 4786 | エニーキャストサービスの運用 |
| RFC 7094 | エニーキャストDNSサービスの運用上の考慮点 |
関連用語
- BGP — エニーキャストの経路制御に使うプロトコル
- マルチキャスト — 多対多の送信方式(エニーキャストとの対比)
- グローバルIPアドレス — エニーキャストで使われるIPアドレス