DNSのBailiwickとは

Bailiwickとは

DNSに使われる用語の一つに、「Bailiwick」がある。
この単語自体は専門領域、管轄区域という意味の英単語だが、DNSの世界においてはRFC8499によって以下のように定義されている。以前はRFC7719に記述があったが、RFC8499によって廃止された。

Bailiwick(管轄区域):
“in-bailiwick(管轄区域内にある=内部名)”は、ネームサーバーの名前
が、そのネームサーバーへの委任を含むゾーンの起点のサブドメインに
なっているか、(まれに)同じ名前になっているかのどちらかであること
を示す修飾語である。内部名のネームサーバーは、親ゾーンにグルー
レコードを保持する場合がある(上記の”グルーレコード”の最初の定義
を使用)。(“bailiwick(管轄区域)”という用語は、執行官または警察官
が管轄権を持つ区域、地域を意味する)。

“内部名”のネームサーバー名は、更に”in-domain(インドメイン)”の
名前と”sibling domain(シブリングドメイン)”の名前の2種類に
分けられる。

・ インドメイン: ネームサーバーの名前が、NSリソースレコードの
所有者名の下位に位置するか(まれだが)同じであるかのどちらかで
あることを表現する修飾語。インドメインのネームサーバーはグルー
レコードを持つ必要があり、持たない場合には名前解決に失敗する。
例えば、”child.example.com”への委任は、”インドメイン”のネーム
サーバー名”ns.child.example.com”を持つかもしれない。

・ シブリングドメイン: ネームサーバーの名前が、ゾーンの起点の下位
に位置するか(まれだが)同じであるかのどちらかであり、かつそれは
NSリソースレコードの所有者名とは異なり、その下位に位置するもの
でもないことを表現する。シブリングドメインに関するグルーレコード
は許容されるが必須ではない。例えば、”example.com”ゾーンにおける
“child.example.com”への委任は、”シブリング”のネームサーバー名
“ns.another.example.com”を持つかもしれない。

“out-of-bailiwick(管轄区域外にある=外部名)”は、”内部名”の反意語
である。具体的に、ネームサーバーの名前がゾーンの起点の下位には位置
せず、またゾーンの起点と同じでもないことを表現する修飾語である。
外部名のネームサーバーに関するグルーレコードは無益である。以下の
表は、委任タイプの例を示すものである。

Bailiwickは外部名と内部名の2つに関連し、内部名はインドメインとシブリングドメインに分けられることが分かる。外部名・内部名(インドメイン・シブリングドメイン)はいずれもネームサーバに対して用いられる名称である。

内部名と外部名

JPRSの用語辞典やJPRSの方が書いた記事を読めば大半を理解できるかと思われる。

委任・ゾーン

世界に膨大に存在するドメイン(FQDN)を単一の組織が管理することは事実上不可能に近く、これを解決するための分散管理を実現する手法として委任が存在する。また、委任によって作られる管理の単位をゾーンという。
仮にexample.hogehoge.jpというドメインが存在することを想定する。TLDであるjpは、このexample.hogehoge.jpというドメインを直接管理していない。ある組織Xがjpからhogehoge.jp以下の管理を委任されたとするとhogehoge.jpゾーンが生成される。この組織Xによってhogehoge.jp以下のexample.hogehoge.jpが管理されている。
委任されたドメインのサブドメインを更に委任することも可能である。組織Xが管理しているhogehoge.jpのサブドメインであるpiyo.hogehoge.jpの管理を組織Yに委任すると、piyo.hogehoge.jpゾーンが生成され、piyo.hogehoge.jp以下は組織Yが管理することになる。
あるゾーンには、そのゾーンから委任したドメイン以外が含まれる。hogehoge2.jpやhogehoge3.jpを委任していないとすると、jpゾーンにはhogehoge2.jp・hogehoge3.jpに加えてwww.hogehoge2.jpも含まれる。

jp
├委任→ hogehoge.jp ← hogehoge.jpゾーン
│   ├ example.hogehoge.jp ← hogehoge.jpゾーン
│   └委任→ piyo.hogehoge.jp ← piyo.hogehoge.jpゾーン
│       └ japan.piyo.hogehoge.jp ← piyo.hogehoge.jpゾーン
├ hogehoge2.jp ← jpゾーン
│└ www.hogehoge2.jp ← jpゾーン
└ hogehoge3.jp ← jpゾーン

グルーレコード

あるユーザがexample.hogehoge.jpへアクセスしたい状況を想定する。
このとき、jpの権威DNSサーバに対してhogehoge.jpのIPアドレスの問合せが行われるが、hogehoge.jpのネームサーバがどこに存在するかが問題となる。hogehoge.jpは組織Xに委任されているから、hogehoge.jpのネームサーバの管理も組織Xに委ねられている。
hogehoge.jpのネームサーバがns1.hogehoge.jp(hogehoge.jpの内部)に存在した場合、このns1.hogehoge.jpを内部名という。
jpの権威DNSサーバには、ns1.hogehoge.jpを指すNSレコードだけではなく、ns1.hogehoge.jpのAレコードが必要となる。このAレコードをグルーレコードという。グルーレコードが存在しない場合、jpからns1.hogehoge.jpが解決できずにループが発生する(hogehoge.jpを解決するためにns.hogehoge.jpを解決する必要がある)。
一方、hogehoge.jpのネームサーバがns1.test.com(hogehoge.jpの外部)に存在した場合、このns1.test.comを外部名という。このとき、jpの権威DNSサーバにはグルーレコードは必要ない。

インドメイン・シブリングドメイン

“hogehoge.jpのネームサーバがns1.hogehoge.jp(hogehoge.jpの内部)に存在した場合、このns1.hogehoge.jpを内部名という。” と先述したが、この場合の内部名はインドメインにあたる。
一方、hogehoge.jpのネームサーバがns2.hogehoge3.jpであるとすると、これも定義上は内部名である。この場合の内部名をシブリングドメインという。シブリングドメインは、ネームサーバが委任元のドメインの子孫であるがインドメインでない場合に用いる。なお、RFC7719の(b)にはシブリングドメインにインドメインを含むような記載がある。

RFC8499の定義をここまでの例に当てはめると、次のようになる。

“in-bailiwick(管轄区域内にある=内部名)”は、ネームサーバー<ns1.hogehoge.jp>の名前が、そのネームサーバー<ns1.hogehoge.jp>への委任を含むゾーン<hogehoge.jpゾーン>の起点<hogehoge.jp>サブドメインになっているか、(まれに)同じ名前になっているかのどちらかであることを示す修飾語である。内部名のネームサーバー<ns1.hogehoge.jp>は、親ゾーン<jpゾーン>にグルーレコードを保持する場合がある(上記の”グルーレコード”の最初の定義を使用)。(“bailiwick(管轄区域)”という用語は、執行官または警察官が管轄権を持つ区域、地域を意味する)。

“内部名”のネームサーバー名は、更に”in-domain(インドメイン)”の名前と”sibling domain(シブリングドメイン)”の名前の2種類に分けられる。

・ インドメイン: ネームサーバーの名前<ns1.hogehoge.jp>が、NSリソースレコードの所有者名<hogehoge.jp>下位に位置するか(まれだが)同じであるかのどちらかであることを表現する修飾語。インドメインのネームサーバー<ns1.hogehoge.jp>はグルーレコードを持つ必要があり、持たない場合には名前解決に失敗する。例えば、”child.example.com”への委任は、”インドメイン”のネームサーバー名”ns.child.example.com”を持つかもしれない。

・ シブリングドメイン: ネームサーバー<ns2.hogehoge3.jp>の名前が、ゾーン<jpゾーン>の起点の下位に位置するか(まれだが)同じであるかのどちらかであり、かつそれはNSリソースレコードの所有者名<hogehoge.jp>とは異なり、その下位<hogehoge.jpの子孫>に位置するものでもないことを表現する。シブリングドメインに関するグルーレコードは許容されるが必須ではない。例えば、”example.com”ゾーンにおける”child.example.com”への委任は、”シブリング”のネームサーバー名”ns.another.example.com”を持つかもしれない。

RFC8499には以下のように例が示されている。

委任       |  親  | ネームサーバー名 | タイプ
-----------+------+------------------+-----------------------------
com        | .    |a.gtld-servers.net|内部名 / シブリングドメイン
net        | .    |a.gtld-servers.net|内部名 / インドメイン
example.org| org  |ns.example.org    |内部名 / インドメイン
example.org| org  |ns.ietf.org       |内部名 / シブリングドメイン
example.org| org  |ns.example.com    |外部名
example.jp | jp   |ns.example.jp     |内部名 / インドメイン
example.jp | jp   |ns.example.ne.jp  |内部名 / シブリングドメイン
example.jp | jp   |ns.example.com    |外部名

参考資料

コメント

タイトルとURLをコピーしました