RFC 7505(Null MX)が必要なのはなぜですか?


18

IETF RFC 7505には、明示的に電子メールを受信しないドメイン/ホストのMXレコードが記載されています。これは、ドメインネームシステムのルートでMXを指すことによって実現されます。例えば、

nomail.example.com. 86400 IN MX 0 "."

なぜこれが必要ですか?私の理解では、TLDの下でドメインを使用することにより、明示的な反論を利用できますinvalid。例えば、

nomail.example.com. 86400 IN MX 0 "spam.invalid."
nomail.example.com. 86400 IN MX 10 "null.invalid."

RFC 2782、DNS SRVも同様に、「 'のターゲット」を指定しているようです。サービスがこのドメインで明らかに利用できないことを意味します。」だから、私の質問は次のように思う:

invalidこの機能をすでに提供しているのに、DNSルートを使用して「使用不可」を意味するのはなぜですか?


2
ただし、これは明示的な反論ではありません!単に無効なデータです。
マイケルハンプトン

回答:


21

それはあなたが使用することになっているものではないから.invalidです。同じように.example、それは地元のテストとドキュメンテーションのためのものです。

さらに、使用する.invalidと、さらに追加のことが発生します。追加のDNSルックアップと、頭の一番上からの再試行のためのメールサーバーでのキューイング。

この"."フォーマットを使用すると、すぐにハードフェールが発生することになっています。MTAに配信の試行を直ちに停止させる。少なくとも、RFCの概要を読む方法です。


2
ありがとう。BCP:32 / RFC 2606セクション2には、「「。invalid」は、無効であることが一目で明らかであるドメイン名のオンライン構築での使用を意図しています。」2606は、「。invalid」がローカルテスト専用であることを示すものは何もありません。無効である必要があるドメイン用です
アルファウイスキー

わかりました。ホスト名のように見えるものが、「。」と比較して不利になる理由がわかります。
アルファウイスキー

1
@AlphaWhiskey 何かを「一lance 」して結論を​​出すことができるのは人間です。コンピューターには明示的な指示が必要です。
マイケルハンプトン

3
公平を期すために、この特定のケースでコンピューターに明示的な指示を与えることは厳密には難しくありません。
-muhmuhten

@res コンピュータに明示的な指示を与えない方が簡単です。
musiKk

9

質問全体では、RFC7505が有用なものを追加する理由に答えるために考慮に入れる必要があるいくつかの異なる側面に触れています。


まず、RFC7505より前のメール配信方法の定義には、アドレスレコードを持つ名前に対してメール配信を試行しないことを明確に示す方法がありません。

RFC7505セクション1から:

SMTPクライアントには、ドメインの電子メールを受け入れるサーバーを識別するための規定のシーケンスがあります。[RFC5321]のセクション5でこれについて詳しく説明しています。本質的に、SMTPクライアントは最初にDNS MX RRを検索し、それが見つからない場合、DNS AまたはAAAA RRの検索にフォールバックします。したがって、これにより、電子メールサービスのセマンティクスでDNSレコード(プライマリミッションが異なる)がオーバーロードされます。

ドメインにMXレコードがない場合、送信者はドメインのAまたはAAAAレコードのアドレスにあるホストにメールを配信しようとします。A / AAAAアドレスにSMTPリスナーが存在しない場合、送信メール転送エージェント(MTA)が断念する前に、メッセージ配信が長期間(通常は1週間)繰り返し試行されます。これにより、メールの宛先が誤っている場合に送信者への通知が遅れ、送信者のリソースが消費されます。

このドキュメントでは、ドメインへの配信試行を防ぐための専用のSMTPリスナーを作成することなく、ドメインへのすべてのメール配信試行をすぐに失敗させるnull MXを定義しています。


次に、RFC7505がこれをどのように実装するかという問題があります(IN MX 0 .)。

RFC7505セクション3から:

  1. Null MXを指定するMXリソースレコード

    ドメインが電子メールを受け入れないことを示すために、優先順位番号0と長さゼロのラベルで構成されるRDATAセクションを含む単一のMX RR([RFC1035]を参照)をアドバタイズします。 「交換ドメインとして、ドメインのメールエクスチェンジャーが存在しないことを示す。「。」以来 は有効なホスト名ではないため、null MXレコードを通常のMXレコードと混同することはできません。 の用法 "。" 使用可能なサービスがないことを意味する疑似ホスト名は、SRV RR [ RFC2782 ]でモデル化され、同様の意味を持ちます。

    ヌルMXをアドバタイズするドメインは、他のMX RRをアドバタイズしてはなりません。

(強調を追加)

ここに記載されているように、「null MX」の実装の詳細は、SRVRRタイプから既に確立されたパターンに基づいています。SRVRRタイプは多かれ少なかれRRタイプの一般化バージョンであるため、これを模倣することは理にかなっていMXます。

そのため、SRVRRタイプを定義するときに、基本的にすでに決定が行われています。


だから、なぜ利用しないの.invalidですか?

RFC2606セクション2から:

「.invalid」は、無効であることが確実であり、一見して無効であることが明らかなドメイン名のオンライン構築での使用を目的としています。

ここで見られるように、この予約済みTLDは人間が消費するためのものです。ソフトウェアでこれを特別に処理することを定義した先例はありません。

確かに別の方法で実装できたかもしれ.ませんが、有効なホスト名ではないため、とにかく通常の使用を妨げることのない最小限の使用方法を選択しました。


私が知る限り、.AまたはAAAAレコードがルートで公開されていた場合、MXレコードとして使用できなかった技術的な理由はありません。入力するtelnet . 25と、必ずルートでAレコードとAAAAレコードが検索されます。
カスペルド

1
@kasperd DNSプロトコルはそれを確実に表すことができますが、レコードの値として.指定する(RFC7505以前)アドレスレコードが実際に有効であるとは考えていません。(有効なホスト名ではありません。).EXCHANGEMX
HåkanLindqvist

有効かどうか-Aレコードのないドメインを指すMXレコードに直面すると、あきらめる前に数日間配信を再試行する実装を簡単に想像できます。
カスペルド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.