ドメイン名のツリー構造は委任によってゾーンに分割され、分散管理される。SOAレコードは、これらの分割されたゾーンそれぞれのオーソリティ情報が記されているレコードである(SOAは、Start Of Authorityの略で「権威の開始」という意味である)。
SOAは委任に関するオーソリティ情報を記すものであり、各ゾーンの委任されたドメイン名に関連付けられる。SOAレコードはゾーンファイルの中では、リスト1のように記述される。
@ IN SOA ns1.example.jp. postmaster.example.jp. (
2015011501 ; Serial
3600 ; Refresh
900 ; Retry
604800 ; Expire
3600 ; Negative cache TTL
)
(注)ゾーンファイルの中では、“;”から右側はコメントとして扱われる。また、“( )”で囲まれた部分は継続行と見なされる。
以下、SOAレコードの詳細について説明する。SOAレコードの冒頭には、権威DNSサーバーの名前や管理に必要な情報を以下の順で記述する。
名前:MNAME(例:ns1.example.jp.)
- ゾーンファイルの基となるデータを持つ権威DNSサーバーの名前
- プライマリの権威DNSサーバーを指すこともある
名前:RNAME(例:postmaster.example.jp.)
- このゾーンの管理者のメールアドレス
- DNSサーバーがこのアドレスを使うことはないが、誰かがゾーンの管理者と連絡を取りたい際に使用できる
- メールアドレスをそのまま書くのではなく、“@”記号を“.”に置き換えて記述する
- 例えば、“postmaster@example.jp”が管理者のメールアドレスであれば、“postmaster.example.jp.”と記述する
名前:SERIAL(例:2015011501)
- ゾーンファイルのバージョンを表す数字
- 基本的には、数字が大きいほど新しいバージョンとなる
- 管理者が便利な形で記述すればよいが、日付にシリアル番号を加えた“YYYYMMDDnn”といった10桁の数字や、unix timeが使われることが多い
続く3つの数字は、セカンダリサーバーがプライマリサーバーから入手したゾーン情報をどのように扱うかを指定するものである。ここでの各データは、それぞれ秒数で指定される。
名前:REFRESH(例:3600)
- ゾーンの情報をリフレッシュするまでの時間
- セカンダリサーバーは、前回のゾーン転送からこの時間だけ経過すると、ゾーンの更新が行われているかをプライマリサーバーに問い合わせる
名前:RETRY(例:900)
- セカンダリサーバーが、REFRESHごとのゾーン情報の更新ができなかった場合に再度リフレッシュを試みる時間
名前:EXPIRE(例:604800)
- 何らかの理由でゾーン情報のリフレッシュができない状態が続いた場合、セカンダリサーバーが持っているデータをどれだけの間利用してよいかを示す時間
最後の数字は、キャッシュDNSサーバーの挙動を制御するものである。
名前:MINIMUM(Negative cache TTL)(例:3600)
- 存在しない情報のキャッシュを保持できる時間(ネガティブキャッシュ)
ネガティブキャッシュとは、検索対象が存在しなかったことを示す情報のキャッシュである。存在しない情報の検索はDNSにとって負担となるため、このような形で無駄な検索を減らす工夫をしている。
Copyright © ITmedia, Inc. All Rights Reserved.