MXレコードの起源
(2021/10/21)
全く的外れな想像かもしれないので注意
インターネットが普及する前からメールは普及しており、いろんなメールアドレスが使われていた
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ホストが自ドメインのホストである必要はありません。