RDAP ~次世代WHOISプロトコル~ の紹介
tech_team インターネットの技術IPアドレスやドメイン名の参照のために使われているWHOISプロトコルについて、置き換えの議論がされていることをご存じでしょうか。今回は、WHOISの後継プロトコルと言われているRDAPについてご紹介します。
RDAPとは
RDAP(Registration Data Access Protocol)は、策定から長時間経過しさまざまな課題が指摘されているWHOISプロトコルの後継を意図して、標準化されたプロトコルです。IETFのweirdsワーキンググループにて関連のRFC(RFC7480~7485)が2015年に発行され、weirdsワーキンググループは同年に活動終了しました。RDAPの議論は、IETFでは現在では regext ワーキンググループで取り扱われています。
RDAPの主な特徴としては、応答の際にJSON形式のデータを返すように標準が定められており機械可読性が高いこと、RDAPサーバー間の連携によりクライアントからのクエリを適切なサーバーにリダイレクトできる機能があることが挙げられます。
従来のWHOISプロトコルは、応答の形式が規格上定められておらずフリーテキスト形式であったことから、各レジストリにより応答の形式が異なっており、機械的な解読にかけるにはオペレータがその差を意識して対応する必要がありました。また、従来のWHOISプロトコルでは、WHOISサーバー間の連携が規格上定められておらず、オペレータがどのレジストリで管理されている情報であるのかあらかじめ確認してからWHOISサーバーに問い合わせる必要がありました。
RDAPの場合は、どのレジストリも統一されたJSON形式でデータを返すことから、機械的な処理が容易となっています。
また、RDAPにはbootstrapと呼ばれる機能があり、RDAPサーバーに問い合わせるクライアントは、目的のIPアドレスがどのRIRで管理されているかをbootstrap管理ファイルを参照した状態で問い合わせることができます。これにより、人手でRIRの管理状態を確認しなくても済むので、機械的な処理が容易になります。RIRによっては、管理外IPアドレスの問い合わせがあった場合、自動的に適切なサーバーへリダイレクト処理する機能をサービスしているところもあります。現時点では、APNIC・ARIN・RIPEのサーバーがその機能を備えています。
例えば、APNICのRDAPサーバーで管理されている 202.12.30.110 のIPアドレスを、ARINのRDAPサーバーへ問い合わせた場合、自動的にAPNICのRDAPサーバーにリダイレクトされて応答が返ることを確認できます。今、このブログをご覧になっているお手元のブラウザで、https://rdap.arin.net/registry/ip/202.12.30.110にアクセスすると、APNICのRDAPサーバーからの応答があることを確認できるはずです。応答例を本記事の末尾に記載します。
各RIRにおけるRDAPサービス提供について
現在、五つのRIRにてRDAPがサービス提供されています。
- APNIC
- https://rdap.apnic.net/
- ARIN
- https://rdap.arin.net/registry
- RIPE
- https://rdap.db.ripe.net/
- LACNIC
- https://rdap.lacnic.net/rdap/
- AFRINIC
- https://rdap.afrinic.net/rdap/
JPNICでは各RIRのサービス状況を調査しており、個別にAPNICに照会したところ、APNICのRDAPサーバーについては2016年1月の統計情報にて、月間60万程度のクエリ量、2qpsとなっている旨の回答がありました。
また、Registration Operations Workshops(ROW)というレジストリに関するオペレーションを議論するワークショップがあるのですが、2016年4月に開催された4th ROWミーティングの資料によると、LACNICでは月間18万程度のクエリ量(2015年5月~2016年3月)、ARINでは113qps(期間は不明)との情報があります。
RDAPクエリの形式
RDAPのクエリには所定の形式があり、IPアドレス・AS番号・ドメイン名を定められた方式で問い合わせることができます。
IPアドレスを問い合わせる場合は、該当RDAPサーバーのURLの配下に/ip/192.0.2.0/24
または /ip/2001:db8::/32
のように目的のIPアドレスを付けると応答が返ります(サブネットマスクはIPアドレスの後にさらにスラッシュを付けることになります)。
AS番号の場合は同様に/autnum/NNNN
と目的の番号を付けることになります。
ドメイン名の場合は、ドメインを管理しているレジストリのRDAPサーバーのURL配下に/domain/example.domain
と問い合わせることになります(RIRはドメイン名についてのサービスは提供しておりません)。
参考リンク集
- IETF weirds ワーキンググループ Webページ(現在は活動終了)
- https://tools.ietf.org/wg/weirds/
- IETF regext ワーキンググループ Webページ
- https://tools.ietf.org/wg/regext/
- IANA IPv4 Address Space Registry (アドレス空間毎のRDAPサーバーのリンク掲載)
- http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xhtml
- IANA IPv6 Address Space Registry (アドレス空間毎のRDAPサーバーのリンク掲載)
- http://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml
- LACNICのRDAPについての発表資料(4th ROWミーティングの資料)
- http://regiops.net/wp-content/uploads/2016/04/3-Agustin-Formoso-LACNIC%E2%80%99s-RDAP-implementation.pdf
- ARINのRDAPについての発表資料 (4th ROWミーティングの資料)
- http://regiops.net/wp-content/uploads/2016/04/7-Andrew-Newton-The-State-of-RDAP-in-the-RIR-Space.pdf
- 第37回ICANN報告会 [7. WHOISに関する動向]
- https://www.nic.ad.jp/ja/materials/icann-report/20130820-ICANN/20130820-7.pdf
- APRICOT 2016/APNIC 41カンファレンス報告 [第2弾] 技術動向報告 [RDAPの話題]
- https://www.nic.ad.jp/ja/mailmagazine/backnumber/2016/vol1386.html
RDAPの応答例
(APNIC RDAPサーバー https://rdap.apnic.net/ip/202.12.30.110 の応答より)