ニュースレターNo.25/2003年11月発行
インターネット10分講座:CRISP & EPP
インターネットレジストリ関連の新しいプロトコル、CRISPとEPPについて解説します。
CRISPとEPP
インターネットレジストリ☆1(文末の用語集参照、以下☆は同様)関連のプロトコルで広く知られているものといえばWhois☆2があります。Whoisは非常に単純なプロトコルであるため、昨今の高度化する要求に応えるためにはより多機能な新しいプロトコルが必要とされるようになってきています。
CRISPとEPPはこれらの要求に応えるプロトコルです。ごく簡単に要約すると、CRISPはレジストリデータの検索照会、EPPはレジストリデータの登録・更新のためのものです。なお、本稿作成時(2003年10月)においては、どちらもIETF※1で検討中です。これらについて説明する前に、まずプロトコルを扱う主体であるレジストリの業務の現状と、管理する情報の種類を説明します。
レジストリの業務と扱うデータについて
レジストリには、主にドメイン名登録業務を行うものとIPアドレス割り振り/割り当て業務を行うものと2種類あります。そして、レジストリが管理するデータは、ドメイン名情報またはIPアドレス/AS番号情報に加え、DNS正引き/逆引きサーバに関する情報、登録者情報、レジストリと申請者の仲介を行うレジストラ☆3または指定事業者の情報など多岐にわたります。以下にレジストリの業務内容とそれぞれで必要なデータを詳しくご紹介します。
ドメイン名登録業務
ドメイン名登録業務を行う組織主体はレジストリとレジストラからなります。レジストラは直接エンドユーザーからドメイン名の申請を受け付け、レジストリに対してデータベースの登録・更新を行います。レジストリは情報の登録されたデータベースを管理します。また、レジストリはトップレベルドメイン名に対し一つで、日本のccTLDであるJPドメイン名では(株)日本レジストリサービス(以下、JPRS)がその役割を担っています。JPドメイン名ではgTLD※2の場合と全く同じというわけではありませんが、基本的には同じモデルとなっており、JPRSの指定事業者がレジストラ的な役割を担っているといえます。レジストリ・レジストラ間のデータ交換には現在のところNSI RRP※3、EPPもしくは独自プロトコルが利用されています。(図1)
図1 ドメイン名登録業務 |
IPアドレス、AS番号割り振り/割り当て業務
IPレジストリは上位よりRIR(Regional Internet Registry)、NIR(National Internet Registry)、LIR(Local Internet Registry)と階層化されています。上位レジストリになればなるほど下位レジストリの情報(割り振り・割り当て情報)を持ちますので登録数が増えます。IPアドレスはドメイン名と異なり、複数のアドレスをまとめてブロック単位での登録・管理を行うという特徴があります。レジストリ間のデータ交換には現在のところ電子メールやftpとRPSL☆4との組み合わせ、または独自プロトコルが利用されています。(図2)
図2 IPアドレス・AS番号割り振り・割り当て業務 |
なお、レジストリにはドメイン名とIPアドレスの他にIRR※4やIncident Coordination Contact Registry※5などが想定されています。
JPNICで管理しているレジストリ情報
IPレジストリであるJPNICが持つ登録情報の種類は以下の通りです。
- ネットワーク情報:各IPアドレスブロックについて、そのアドレスの範囲と管理者の情報などが入っています。
- CIDR情報:JPNICが持つIPv4アドレスをCIDR形式で表記した一覧です。
- 登録者情報:JPNICハンドルを登録する際に記入していただく連絡先などの情報です。
- 指定事業者情報:指定事業者の連絡先などの情報です。
JPNICは指定事業者からの申請に基づき上記の情報を登録および更新しています。また、指定事業者や一般ユーザーの便宜を図るため、Whoisサーバを設置してWebとコマンドラインの両方の方法で検索ができるようにしています。
JPNICはさらに、割り当て情報をAPNICのWhoisで表示できるよう、APNICへ割り当てデータとしてネットワーク情報を送っています。それに加え、逆引きDNS データも送っています。これは2003年夏より、アドレスプールが共有化されたため、IPv4アドレスの割り振りがJPNICプールから行われていたものが、APNICプールから直接行われるよう変更されたためです。このように、APNICとより密接なデータ交換が必要となってきています。
上述のように、レジストリで扱うデータは多種多様です。さらに昔に比べレジストリの数が増えているため、異なったレジストリ間でこれらのさまざまなデータを交換しなければなりません。このような高度で複雑化した要求に対応するプロトコルがCRISPとEPPです。
CRISP(Cross Registry Information Service Protocol)
CRISPとは、さまざまなレジストリによって管理されるドメイン名、IPアドレスなどのインターネット資源を統一された形式で照会・回答するためのプロトコルです。2001年8月にロンドンで開かれた第51回IETFミーティングにおいて、Whois Enhancement BoF(whoisfix)が開催され、当初はWhoisプロトコルを修正することが目的とされていました。その後、CRISP Working Group(以下、WG)が設立され、Whoisプロトコルの代替または上位機能版という側面を持つプロトコルとして検討されています。
目的
CRISPは分散環境への適合、情報ごとの参照権限設定、匿名アクセスからの登録者情報の保護、コンピュータで解析可能な照会・回答フォーマットの規定などを、汎用規格として実現することを最終的な目的として掲げています。しかし、早期のRFC化を目指すため、インターネットレジストリ、その中でも特にドメイン名レジストリに焦点を合わせています。
なお、Whoisのような既存の管理ディレクトリサービスとの後方互換性を持たせることや、EPPが目指しているデータの登録・更新などについては検討対象外です。
ステータス
CRISPのRFCはまだ出ていませんが、要求仕様に関するインターネットドラフトが出ています。そして要求仕様を満たすプロトコル実装方式の提案として、IRIS(後述)とFIRS(後述)とが競い合う形で出ています。
適用範囲
要求仕様ドラフトはドメイン名登録業務に焦点を当てていますが、元々の目的が特定の形式の資源に縛られないため、IPアドレスやAS番号へも応用可能です。インターネットレジストリで使用するために、ARINのGinny Listman氏によってインターネット資源番号向け要求仕様のインターネットドラフトが作成されました。
CRISPを構成するプロトコル
CRISPの要求仕様を満たすプロトコル実装方式として、以下が提案されています。それらをご紹介します。
1. IRIS(Internet Registry Information Service)
IRISはCRISP要求仕様を満たすプロトコル候補の一つで、XML☆5をベースとしています。情報登録・更新のためのプロトコルであるEPPがXMLをベースとしており、またVeriSign社による実装が存在するため、WGにおける採択が有力視されています。IRISは機能別に階層化されており、以下の3層に分かれています。
- アプリケーショントランスポート層:接続・データ交換を担う部分です。トランスポートプロトコル※6としてBEEP※7の採用が提案されています。
- 共通レジストリ層:中核となる部分です。
- レジストリ依存層:ドメイン名レジストリとIPレジストリ間で異なる部分です。
2. FIRS(Federated Internet Registry Service)
FIRSはIRISと並んでCRISP要求仕様を満たすプロトコルの候補で、LDAP☆6version 3ベースの技術です。LDAP実装のメリットとして、実装が簡単なこと、技術的に安定していること、認証メカニズムが優れていることなどがWG内の議論で示されました。
図3 CRISPのプロトコル構成 |
EPP(Extensible Provisioning Protocol)
EPPとは、IETFのPROVREG(Provisioning Registry Protocol)WGで議論されているレジストリデータの登録・更新のためのプロトコルです。2000年11月に最初のドラフトがIETFに提出され、翌月IETFミーティングのBoF(Birds of a Feather)の場にてWGが発足しました。
EPPはコネクション指向のアプリケーションレイヤーのクライアントサーバプロトコルで、共有されている中央のレポジトリに保存されたオブジェクトの設定と管理のためのものです。EPPもIRISと同じくXMLを利用しています。
目的
ドメイン名レジストリは複数のレジストラに対して、自組織データベースにアクセスさせなければなりません。また、単一のレジストラから複数のレジストリへのアクセス要求も出てきました。
ドメイン名レジストリ・レジストラ間通信のためのプロトコルとしてNetwork Solutions社(現VeriSign社)によって開発されたNSI RRPが存在します。しかし、これでは登録者情報のやりとりはできなかったためそれに替わるものとしてEPPが開発されることになりました。
EPPではユーザーインターフェースを決定することや、特定のトランスポート/セキュリティプロトコルに束縛されることは目的外です。
ステータス
現時点ではgTLDドメインレジストリ/レジストラを対象としたプロトコル規格群のIETFでの議論はほぼ終わり、IESGへドラフトが送付されました。そしてプロトコル設計における要求仕様がGeneric RRP(RFC3375, informational※8)としてリリースされました。プロトコル詳細はインターネットドラフトとして発表されています。比較的新しいレジストリ(.infoを扱うAfilias社など)がレジストラとのデータ交換にEPPを利用しています。
適用範囲
現時点ではgTLDドメインレジストリ/レジストラを対象としたプロトコル規格群がインターネットドラフトとして提出されています。IPアドレス、連絡先情報などが扱えるのでインターネットレジストリ全般へも応用できると考えられます。
今後の展開
CRISP及びEPPは最先端のプロトコルでありIETFで議論されている段階なので、今すぐ使えるものではありませんが今後2、3年のうちに広まると予想されています。JPNICでも将来に向けて検討します。
まとめ
CRISPはWhoisに代わる検索照会用のプロトコルで、実装案としてXMLをベースとしたIRISとLDAPをベースとしたFIRSとがあります。EPPはレジストリ/レジストラ間におけるインターネット資源情報の登録・更新手順を規定したプロトコルです。どちらも本稿作成時ではIETFで検討されている段階です。
(JPNIC技術部 山崎信)
☆ 用語集
☆1 レジストリ
ドメイン名においては、登録ドメイン名のデータベースを維持管理する機関のことです。IPアドレスおよびAS番号においては、アドレスの割り振り・割り当てを行う組織はすべてレジストリと呼んでいます。
☆2 Whois
非常にシンプルな照会プロトコルです。TCPポート43番を使い、問い合わせに対して人間が読めるフォーマットで返すことを規定しています。フォーマットの細部までは規定していません。
☆3 レジストラ
登録者よりドメイン名の登録申請を受け付け、レジストリに対してデータベースの登録および更新を行う組織です。JPドメイン名ではJPRS自身(JP Direct)およびJPRSの指定事業者が該当します。IPアドレスおよびAS番号の世界ではこの用語は使いません。
☆4 RPSL
Routing Policy Specification Languageの略で、RFC 2622(Standards Track RFC)で規定される経路情報と、その優先性に関する情報を記述するための言語です。経路制御上必要となるポリシー情報を十分に記述することができなかった、RIPE-181またはRFC 1786を置き換えるものです。想定される利用者としてAS管理者などがIRRデータベースに経路制御ポリシーを登録または照会してルータ設定情報などに変換して活用することを想定しています。RIPE NCCが開発し、APNICおよびRIPE NCCのWhoisで使われているRIPE Whois v.3ソフトウェアでは、IRR情報だけでなくWhoisの検索結果も本言語で表現しています。
☆5 XML
eXtensive Markup Languageの略です。文書やデータの構造をマークアップで表現するための言語で、異なったシステム間でデータ交換を行うのに適しています。W3C(http://www.w3.org/XML/)で規定されています。
☆6 LDAP
Lightweight Directory Access Protocolの略です。高機能で複雑なX.500ディレクトリサービスプロトコルをインターネット向けに軽量化したものです。ディレクトリサービスとはネットワーク上に存在する資源を検索し、識別するためのサービスを指します。
参照URL
ドメイン名登録業務について
http://www.nic.ad.jp/ja/dom/registration.html
IPアドレス・AS番号登録業務について
http://www.nic.ad.jp/ja/ip/intro.html
CRISP WG
http://www.ietf.org/html.charters/crisp-charter.html
CRISP WGについての報告
JPNIC Newsletter No. 24 July 2003(第56回IETF)
http://www.nic.ad.jp/ja/newsletter/No24/070.html
アドレス資源向け要求仕様インターネットドラフト
http://www.ietf.org/internet-drafts/draft-ietf-crisp-internet-resource-number-req-00.txt
IRISについて
解説:http://iris.verisignlabs.com/
共通部分のドラフト:
http://www.ietf.org/internet-drafts/draft-ietf-crisp-iris-core-03.txt
IP/ASレジストリ依存部分のドラフト:
http://www.ietf.org/internet-drafts/draft-ietf-crisp-iris-areg-03.txt
PROVREG WG
http://www.ietf.org/html.charters/provreg-charter.html
- ※1 IETF:Internet Engineering Task Forceの略。IETFは、インターネット技術の標準化を推進する任意団体です。
- ※2 gTLD:Generic Top Level Domainの略。国別でない、.com, .netなどのトップレベルドメインを指します。
- ※3 NSI RRP:NSI Registry Registrar Protocolの略。通常は単にRRPと呼ばれていますが、ここではGeneric RRPと区別するためNSI RRPと呼びます。RFC2832(Informational)で規定されています。
- ※4 IRR:Internet Routing Registryの略。インターネット上でのデータの道筋を示す経路情報とその優先性に関する情報、およびこれらの管理者情報を蓄積するデータベースです。
- ※5 Incident Coordination Contact Registry:セキュリティインシデント通知用の連絡先情報を管理するレジストリです。
- ※6 トランスポートプロトコルとしてIRIS-LWZ (IRIS Lightweight using Compression)という、トランザクションをUDPとgzip圧縮で行うものも提案されています。しかしながらUDPがCRISP要求条件の「輻輳を認識できるトランスポート機構が必須(3.1.2)」を満たさないため、簡易な実装と捉えるべきでしょう。
- ※7 BEEP:Blocks Extensible Exchange Protocolの略。RFC3080(Standards Track)で規定されている、コネクション指向の非同期接続のための一般的なプロトコルです。ピア同士の独立したデータ交換が可能です。内容はテキストが普通ですがバイナリも送ることが可能です。
- ※8 RFCの種別についてはJPNIC Newsletter No. 24, p.38 「インターネット10分講座 RFC」をご参照ください。
- http://www.nic.ad.jp/ja/newsletter/No24/090.html