ネットワークを勉強していて IANA が出てきた。IP アドレスの割り当て、ポート番号、ドメイン名あたりを管理しているらしい。そのあとに ICANN という名前も出てきて、両者の違いが曖昧だったので整理しておく。
IANA は機能、ICANN は組織
混乱の原因はここだった。IANA を ICANN と並ぶ別組織だと思っていると整理できない。
IANA(Internet Assigned Numbers Authority)は役割・機能のほうの名前。IP アドレスや AS 番号の最上位の割り当て、DNS ルートゾーンの管理、プロトコルのポート番号やパラメータの登録など、世界で一元管理が必要な資源を扱う役割を指す。
ICANN(Internet Corporation for Assigned Names and Numbers)は、その IANA 機能を実際に運営している非営利団体。1998年設立。
つまり IANA という別組織が存在するのではなく、ICANN が IANA という役割を担っている、という関係になる。
実務は PTI が担当している
IANA の役割はもともと Jon Postel が担い、米政府の委託で運用されていた。1998年に ICANN が引き継ぎ、長く米商務省(NTIA)との契約下で実施。2016年の IANA 監督権限移管(IANA stewardship transition)で NTIA との契約が終了し、現在は ICANN の子会社 PTI(Public Technical Identifiers)が実務を担当している。
整理すると ICANN → PTI → IANA 機能 という入れ子の構造。
IP アドレスの割り当ては階層構造
IANA が個別に配っているわけではなく、上から段階的に下りてくる。
IANA → RIR(地域レジストリ。アジア太平洋は APNIC)→ NIR / ISP(日本なら JPNIC)→ エンドユーザーIANA は世界を5つの地域に分けた RIR に大きな単位でまとめて渡し、そこから各国レジストリ(NIR)や ISP を経由して、各事業者・エンドユーザーへ分配されていく。だから IANA が個々のアドレスを直接配っているわけではない。
ドメイン名も同じく階層で委任されている
冒頭で触れたドメイン名も、IP アドレスと同じ「上から委任」の構造になっている。IANA 機能が直接持っているのは DNS ルートゾーン、つまり「どの TLD を誰が管理するか」を記したいちばん上の台帳だけ。
ルートゾーン(IANA が管理)→ TLD レジストリ → レジストラ → 登録者TLD(トップレベルドメイン)は大きく2種類。
- gTLD(generic)…
.com.org.devなど。ICANN が世界共通で統括 - ccTLD(country code)…
.jp.ukなど各国別。日本の.jpは JPRS が運用
ここで紛らわしいのが レジストリ と レジストラ の違い。
- レジストリ(registry)… その TLD のデータベースを一元管理する組織。
.jpなら JPRS、.comなら Verisign - レジストラ(registrar)… 登録者にドメインを販売・取り次ぐ窓口。お名前.com や Google Domains などがこれ
IANA はルートゾーンに「.jp の権威は JPRS」「.com は Verisign」といった委任先を登録する最上位の役割を担い、そこから先は各レジストリ→レジストラ→登録者へと下りていく。IP アドレスの IANA → RIR → ISP → ユーザー とまったく同じ入れ子だと気づくと、一気に見通しが良くなる。
まとめ
混乱していたのは「IANA と ICANN が並んだ別組織」だと思っていたからで、実際は次の関係だった。
- IANA … 一元管理が必要な資源(IP アドレス、AS 番号、DNS ルート、ポート番号など)を扱う「機能・役割」の名前
- ICANN … その IANA 機能を運営する非営利団体(組織)
- PTI … ICANN の子会社。2016年の監督権限移管以降、IANA 機能の実務を担当
そして資源の分配は、IP アドレスもドメイン名も同じ「上から委任」の形をしている。
- 組織の入れ子 …
ICANN → PTI → IANA 機能 - IP アドレス …
IANA → RIR → NIR / ISP → エンドユーザー - ドメイン名 …
ルートゾーン(IANA)→ TLD レジストリ → レジストラ → 登録者
この3つの階層を押さえておけば、もう名前に振り回されずに済む。