MMDF (Multichannel Memorandum Distribution Facility) は、電子メールを送信するために設計されたコンピュータ プログラムであるメッセージ転送エージェント(MTA) です。
歴史
MMDF はもともと1970 年代後半にデラウェア大学で開発され、 NSFNETの前身であるCSNET を運用するための最初の手段を提供しました。[1] [2] 1980 年代を通じて人気が高まり、 1989 年にSanta Cruz OperationによってSCO UNIX とともに配布される MTA として選ばれました。また、MCI メールサービスをインターネット メールに接続するためのゲートウェイなど、他の商用活動の基盤としても採用されました。 MMDF の再コード化された変種であるPascal MDF ( PMDF ) は、ペンシルバニア大学でVMS用に作成され、最終的にはNed Freedの Innosoftによって商用化され、その後、 PMDF はTru64 UnixとSolarisに移植されました。 1999 年に PMDF はPascalからCに翻訳されました。 PMDFのCバージョンはサン・マイクロシステムズのSun Java System Messaging Serverの基礎となり、PMDF自体の権利はProcess Software社によって購入され、同社はPMDFをLinuxに移植した。[3]
デザイン哲学
名前が示すように、MMDF はチャネルの概念を中心とする MTA です。メールをフォーマットしてメール システム内外に転送する各手段はチャネルであり、個別の実行可能ファイルによって実装されます。これにより、MMDF は高度にモジュール化されたシステムとなり、各モジュールは特定の電子メール技術またはネットワークに必要なすべての固有の構文と意味情報、および必要最小限の権限を持ち、各モジュールの権限は他のモジュールから分離されています。受信チャネルはメッセージを受信し (プロトコルを介して実装された形式で)、送信チャネルはメッセージを配信します (関連するプロトコルを介して関連する形式にマッピング)。内部的には、MMDF はメッセージの内容とヘッダー (アドレスを含む) の標準表現を使用します。
MMDF チャネルの例としては、SMTP、UUCP、 local (ローカル メールボックスにメールを配信し、ローカル システムに送信されたメールを受け入れる) などがあります。 MMDF はCSNETネットワークで使用されていました。
メッセージフロー
MMDF を通過するメッセージは通常、次のパスをたどります。
- 受信チャネルはメッセージを受け入れます。
- これは、 MMDF システムの中核である、submit と呼ばれるプログラムを呼び出し、メッセージと、メッセージの帯域外情報 (返信アドレス、受信者など) をそれに渡します。
- Submit は、必要なヘッダーの書き換えを行った後にメッセージ テキストを保存し、メッセージを配信するために使用するチャネルを決定し、それらのチャネルのキューにメッセージを挿入します。
- 設定に応じて、 submit はdeliver を呼び出すか、または deliver が後で定期処理の一部として実行される場合があります。 deliver はメッセージを直接処理しません。代わりに、送信 (配信) チャネルを呼び出して、処理するメッセージを指示し、各メッセージの受信者アドレスのリストを提供します。
- 各送信チャネルは、そのチャネルで到達可能な受信者にメッセージを配信し、どのアドレスに正常に配信されたかを報告します。
- 次に、Deliver はキューを更新して配信先のアドレスをマークし、完全に処理されたキューからメッセージを削除し、すべてのキューが処理された場合はメッセージ テキスト自体を削除します。
構成
MMDF は、他の一般的な MTA とは異なる方法で管理構成に取り組んでいます。ソフトウェアに専門知識を組み込むか、管理者の構成指示によって作成することを要求するかの選択において、MMDF は前者を選択しました。したがって、任意のヘッダー書き換えはハードコードされたソフトウェアによって実行され、構成は既存の書き換えの選択肢の中から選択するだけに制限されます。これにより、単純なキー値テキスト テーブルを使用する管理者にとって、構成がより簡単かつ安全になります。また、新しい書き換えの選択肢を作成するのにはより多くの労力がかかりますが、その労力は 1 人の技術専門家によって 1 回だけ実行する必要があります。
テーブルの主な種類は、ドメイン テーブル、チャネル テーブル、エイリアス テーブルです。
- ドメイン テーブルはドメイン名の 正規化に使用されます。
- チャネル テーブルは、ネクスト ホップ ドメイン名に基づいて送信チャネルを選択し、UUCP ノード名やIP アドレスなど、特定のチャネルのドメイン名ごとのパラメータもエンコードします。
- エイリアス テーブルは、単純なエイリアスとメーリング リストの両方を設定します。
DNS は、同じキーと値の形式を持つ「DNS テーブル」の形式で、これらの目的にも使用できます。また、通常は実際に使用されています。これらのテーブル内のエントリの意味と効果は、より一般的な MTA の構成データよりも明らかですが、形式が制限されているため、生成できる効果も制限されます。
市場占有率
2006年末までに、MMDFは、sendmail、postfix、qmail、exim、Microsoft Exchangeなどの他のメーラーに大きく遅れをとる市場シェアを獲得しました。[4] MMDFはレガシーソフトウェアと見なされています。
参考文献
- ^ Dave Crocker (1979 年 11 月)。インターネットワーク メモ配布機能 - MMDF。第 6 回データ通信シンポジウムの議事録。
- ^ Douglas P. Kingston, III (1984 年 6 月)。MMDF -II: 技術レビュー。議事録、Summer USENIX Conference and Exhibition (ユタ州ソルトレイクシティ)。
- ^ Dave Crocker (2008年8月18日). 「1970年代半ばのランド研究所における電子メール業務の影響」(PDF) 。 2012年5月10日時点のオリジナル(PDF)からアーカイブ。 2011年9月30日閲覧。
- ^ Ken Simpson および Stas Bekman (2007 年 1 月 5 日)。「Fingerprinting the World's Mail Servers」。SysAdmin。O'Reilly Publishers。2012 年 9 月 27 日時点のオリジナルよりアーカイブ。2011年9 月 30 日閲覧。
外部リンク
- MMDF ユーザー グループ
- MMDF よくある質問
