MXレコードの起源

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
Powered by Helpfeel