MXレコードの起源
(2021/10/21)
何故DNSにはMXレコードなどというものがあるのか想像してみた
全く的外れな想像かもしれないので注意
インターネットが普及する前からメールは普及しており、いろんなメールアドレスが使われていた
masui%example!mynet
みたいな適当なメールアドレスであっても、メールを転送するマシン間で合意がとれていればなんとかなっていた そのうち
名前@組織名
みたいな形式を使うという合意が形成され、いろんなメールシステムで masui@example
みたいな表記が標準になった 組織名としては、
junet
とか nifty
とか sharp.co.jp
みたいな形式を使うのが標準的になってきた インターネットは普及しつつはあったが、メールはインターネット上で使うものとは限らなかった
パソコン通信なんてのも広く使われてた
しかしWebなどが普及したので、組織名としてはインターネットのドメイン名を使うのが普通だろうと思われるようになってきた
インターネットのドメイン名というのは
example.com
とか keio.ac.jp
とか、階層的に定義された名前であって、テキトーなものは許されない さて、
http://example.com/
みたいなWebサーバを使いたい場合、 example.com
のマシンの場所はDNSで解決することになる masui@example.com
みたいなメールを使いたい場合、常識的に考えて、 example.com
のマシンにメールを届けるみたいに見える しかしWebに使いたいマシンとメールに使いたいマシンが同じだとは限らない
独自のメールサーバを使いたい場合はメールサーバ専用の名前を使えばいい
たとえば
mail.example.com
みたいなアドレスをもつマシンでメールサーバを動かせばよい しかし、
mail.example.com
みたいなマシン上のメールサーバを使いたいとき masui@mail.example.com
みたいなアドレスを使うことになってしまう これは嫌だろう。
masui@example.com
みたいなアドレスを使いたい ずっとそういうのを使ってきてたわけだし
example.com
にメール要求が来たら mail.example.com
に転送する、みたいな運用をすればよい? しかしあらゆる場所でそういう細工をするのは大変である
なので、DNSの側で対策をし、メールの場合は
example.com
がメールサーバを指すことができるようにした この細工がMXレコードである
みたいな歴史的事情なのかと思ったのだけど、これであってるのだろうか?
日川佳三さんに教えてもらった
ARPAnet時代の1983年にDNSの仕様が固まります(RFC882と883)。この段階で、MDレコード(ドメインあてメールが到達する最終目的ホスト)とMFレコード(最終目的ホストに直接接続できない場合の中継ホスト)が定義されています。1986年の仕様変更(RFC973)では、MDとMFという2つのレコードをMXレコード1つに統合する提案がなされています。なお、MXレコードを複数行書いておけば、優先度の数値の小さなMXホストから順に接続を試みます。1987年に、古い仕様のRFC882と883を置き換える形で、RFC1034と1035が出ました。ここではMDとMFは古くて使わないものとされており、MXを使うことになっています。なお、MXホストが自ドメインのホストである必要はありません。
#ブログ 2021/10/21