Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

EDNS0(イーディーエヌエスゼロ)とは | 意味や読み方など丁寧でわかりやすい用語解説

EDNS0(イーディーエヌエスゼロ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

イーディーエヌエスゼロ (イーディーエヌエスゼロ)

英語表記

EDNS0 (イーディーエヌエスゼロ)

用語解説

EDNS0とは、既存のDNSプロトコルを拡張し、新しい機能やより多くの情報を効率的に伝達できるようにするメカニズムの一つである。正式名称は「Extension Mechanisms for DNS version 0」であり、略してEDNS0と呼ばれる。従来のDNSプロトコルは、UDPパケットのペイロードサイズが最大512バイトに制限されており、この制約が現代のインターネット要件にとって大きな足かせとなっていた。EDNS0は、この512バイトの制限を撤廃し、より大きなメッセージサイズをネゴシエートする能力をDNSに与えることで、DNSSEC(DNS Security Extensions)のようなセキュリティ拡張機能の実現や、IPv6アドレスの効率的な利用、コンテンツデリバリネットワーク(CDN)の最適化など、様々な新しい技術の基盤となっている。これにより、DNSは単なる名前解決サービスを超え、現代のインターネットインフラを支える重要な役割を果たすことが可能になった。

詳細として、EDNS0の具体的な機能は主に、DNSメッセージサイズの拡張と、それに伴う新たなオプションデータの追加にある。まず、最も重要な変更点は、従来のUDP 512バイトというメッセージサイズの制限を取り払う能力だ。EDNS0では、DNSリゾルバとDNSサーバー間で、通信可能なUDPペイロードの最大サイズをネゴシエートできるようになる。これにより、512バイトを超える大きなDNS応答パケットも問題なく送受信できるようになり、例えばDNSSECで利用されるデジタル署名のような、多くの情報を必要とするデータも伝達可能になった。このメッセージサイズの情報は、EDNS0専用の「OPT疑似リソースレコード(OPT RR)」という特殊なレコードを用いて交換される。OPT RRは、通常のDNSリソースレコードとは異なり、ドメイン名やタイプ、クラスといった標準的なフィールドを持たず、特定の情報伝達のために利用される。このOPT RRの「クラス」フィールドが、UDPペイロードサイズを示すために使われ、通常は4096バイトがよく設定される。

OPT RRはまた、EDNS0のバージョン情報(現在のところ常に0)や、様々な拡張フラグ、そして追加のオプションデータを運ぶためのコンテナとしても機能する。例えば、拡張フラグの一つに「DOビット(DNSSEC OK)」がある。これは、DNSSECによる検証をリゾルバが要求するかどうかを示すフラグであり、DNSSECが普及する上で不可欠な要素となっている。また、「CDビット(Checking Disabled)」は、DNSSEC検証がサーバー側で行われる場合に、リゾルバがその結果を無視するかどうかを示す。

さらに、EDNS0は様々な用途のためのオプションデータを追加する枠組みを提供している。その代表的なものとして、「EDNS Client Subnet (ECS)」がある。これは、クライアントのIPアドレスの一部(サブネット情報)をDNSサーバーに伝えることで、コンテンツデリバリネットワーク(CDN)がユーザーに地理的に最も近い、またはネットワーク的に最適なサーバーを選択できるようになる機能だ。これにより、Webサイトの表示速度向上や負荷分散の最適化が実現される。他にも、DNSサーバーの識別子を伝える「NSID(Name Server Identifier)」や、DNS問い合わせの整合性を検証し、分散サービス妨害(DDoS)攻撃対策にも寄与する「DNS COOKIE」などのオプションが存在し、EDNS0の拡張性がいかに重要であるかを示している。

EDNS0の導入は、DNSプロトコルの機能性とセキュリティを大幅に向上させた一方で、一部の互換性に関する課題も生じさせた。特に古いネットワーク機器やファイアウォールの中には、EDNS0によって拡張された大きなDNSパケットを正しく処理できず、パケットが破棄されてしまうケースがある。これにより、名前解決が失敗するなどの問題が発生する可能性も考慮する必要がある。現代のインターネット環境ではEDNS0の利用が前提となっており、これを適切に処理できない機器が存在すると、特定のサービスにアクセスできなくなったり、DNSSECによるセキュリティ恩恵を受けられなかったりする。しかし、多くのDNSサーバーソフトウェアは、クライアントがEDNS0に対応していない場合や、EDNS0による通信がタイムアウトした場合に、従来の512バイトのDNSメッセージにフォールバックする仕組みを備えており、これにより互換性の問題は緩和されている。EDNS0は、DNSの将来的な進化を支え、現代の複雑なインターネットインフラにおいて不可欠な技術となっている。

関連コンテンツ

関連IT用語