3 Minutes NetWorking
No.78

3Minutes NetWorking

第78回SMTP(1) メールシステム

■ 郵便と電子メール

インター博士

結局のところだな、ネット君。
コンピュータ化だ〜、電子化だ〜とで叫んでいてもだ。

ネット助手

なにがどう「結局のところ」なのかわかりませんが。
「コンピュータ化」「電子化」とはよく言われる言葉ですよね。

インター博士

うむ、結局のところ、一部の例外を除いて、現実世界のシステムをそのままコンピュータ上に写し取ったものでしかない、というのが事実なのだよ。

ネット助手

ははぁ。
って、何の話ですか?

インター博士

「コンピュータ化」「電子化」の話だ。コンピュータを使ったからといって、今の世の中に存在しないものがポンっと生み出されるわけではない、ということだな。

ネット助手

そうなんですか? でも、電子化って新しいビジネスモデルのイノベーションがデジタライズされたソリューションなんじゃないんですか?

インター博士

あぁっ、もうムズムズするなぁ、そういう言葉。
素人騙すプレゼンテーションじゃないんだから。

ネット助手

オンデマンドなサプライチェーンマネジメントによるユビキタス・コンピューティングの発展がコーポレートガバナンスを…

インター博士

黙れ

ネット助手

きゅぅ。

インター博士

とまぁ、色々言われてはいるが、実際、現実世界のシステムをコンピュータ上で実現してる、これこそが「電子化」なわけだ。手法は目新しいかもしれないが、システムという点では従来と大して変わらない。

ネット助手

そうかなぁ。

インター博士

確かに「新しいビジネスモデル」と呼ばれるものもあるが、実際は現実世界のシステムを模倣して作られた電子システム上で、電子化の特性を生かしたあらたな「ビジネスモデル」という形のことが多い。

ネット助手

電子化の特性って?

インター博士

例えば、「即時性」、「双方向性」、「境界が存在しない」「システムの組み合わせ」などがあるな。

ネット助手

なるほど、ワールドワイドに影響するインタラクティブな…

インター博士

黙れ

ネット助手

きゅきゅぅ。

インター博士

あ〜もぅ、話が進まん。というか、前置きが長すぎたな。つまりだ、今回から説明するメールシステム、電子メールも現実の郵便のシステムを前提として作られているということを念頭に置いて聞きたまえ、という話だ。

ネット助手

そりゃメールというぐらいだから、郵便なんでしょ?

インター博士

まぁ、そう言われれば確かにそうだが。だが、「電子」メールなので、なんか普通の郵便と違うことをやってるのかな〜、と思いがちだ。

ネット助手

ん〜、そう言われればそうかも。郵便よりも複雑そうというか。

インター博士

確かに、電子化にともなう変更や、電子化特有の問題点は存在するが。
システムとしては「郵便」と対して変わらない。そこらへんを忘れないように。

ネット助手

はぁ。覚えておきます。

■ MTAとMUA

インター博士

さて、電子メールというシステムを順番に説明しよう。メールシステムの一番の基本の図はこうだ。

メールシステム(基本)

[Figure78-01:メールシステム(基本)]

ネット助手

ユーザがいて、コンピュータがあって。
コンピュータの中は、ファイルシステム…ってことはファイルを保存するものがあって、メール転送プロセス?

インター博士

メール転送プロセスついては先で話す。
この基本でのメール転送の仕組みはこうだ。

[Figure78-02:メールシステムの動作(基本)]

ネット助手

ははぁ、なんともシンプルですね。

インター博士

そうだな。「手紙を書く人」が「郵便配達人」に「手紙」を渡し、「郵便配達人」が「手紙を受け取る人」に渡す。これだけだ。

ネット助手

「手紙を書く人」がユーザ、「郵便配達人」は くまですか? ▼ link

インター博士

もちろんだ

ネット助手

ですよね

インター博士

まぁ、「郵便配達人」は転送プロトコル、だな。で、「手紙を受け取る人」が宛先コンピュータ、となる。

ネット助手

なるほど。書いた手紙を持っていく、コレですね。

インター博士

そうだ。簡単だろう? まさしく郵便そのものだろう?

ネット助手

郵便というか、なんというか、「メモのやりとり」レベルですね、これじゃ。

インター博士

確かに。これでは「メモのやりとり」レベルなので問題がある。
送信側だが、このコンピュータは宛先と直接接続できなければならない上、常にメール転送プロセスが起動していなければならない。

ネット助手

「直接接続できなければならない」ってのはわかります。
でも、起動していなければならないってのは?

インター博士

起動していないと、届かなかったことがわからなかったり、再送する場合に困るのだよ。
なので、メール転送プロセスを起動しているサーバにメールを預けて転送してもらうという形にする。

送信時の問題の解決

[Figure78-03:送信時の問題の解決]

インター博士

つまり、「手紙を送る人」と「受け取る人」の間に「ポスト/郵便局」をはさむわけだな。
そうすることによって、「手紙を送る人」は手紙を「ポスト/郵便局」に渡せば後は届けてもらえる。

ネット助手

なるほど。メール転送サーバが「ポスト/郵便局」の役割なわけですね。

インター博士

一方、受信側も常にネットワークに接続し、メール転送プロセスが起動していなければならない。そうでなければメールを受け取れない。ネット君、どうする?

ネット助手

ん〜〜〜、メールを預かっていてもらって、必要な時だけ取りに行けばいいですよね。
つまり、「ポスト」とか「私書箱」に届けてもらって……、お?

インター博士

そうだ。また、「ポスト/郵便局」の出番、だろう?

受信時の問題の解決

[Figure78-04:受信時の問題の解決]

インター博士

この送信・受信の両方を組み合わせると…。

メールシステム

[Figure78-05:メールシステム]

ネット助手

送信元・宛先、メール転送サーバという「ポスト/郵便局」。「ポスト/郵便局」にメールを渡して届けてもらい、「ポスト/郵便局」にあるメールを取りにいく……、博士、これって郵便ですよっ!!

インター博士

だろう?

ネット助手

へへ〜、すごいというか。電子メールも郵便なんですねぇ、ホントに。

インター博士

この「送信元」「宛先」で動かしているメール転送プロセスのことをMUA、メール転送サーバで動かしているプロセスをMTA、一時的に受け取りにくるまで預かる場所をメールボックスと呼ぶ。

ネット助手

えむゆーえー、えむてぃーえー。めーるぼっくす。

メールシステムでの用語

[Figure78-06:メールシステムでの用語]

ネット助手

MUAとMTAってどう違うんです? 両方ともメール転送プロセスなんでしょ?

インター博士

MTAはメールを送信・受信し配送するためのソフトのことを指す。
一方のMUAはメールの送信・受信に加え、ユーザがメールを使うための機能を含めたソフトのことだ。

ネット助手

メールを使うための機能ってなんです?

インター博士

つまり、メールを作成するためのエディタ、メールを見るためのビューワ、MTAへ送るため・MTAから受け取るためのメール転送プロセス、他にもあるが、これらがまとまった統合ソフトのことだな。OutlookやThunderbirdのようなメーラがこれに当てはまる。

ネット助手

あぁ、なるほど。普段僕らが使うソフトですね。

インター博士

一方のMTAはサーバソフト、つまり「メールサーバソフト」もしくは使用するプロトコル名から「SMTPサーバソフト」「POPサーバソフト」と呼ばれる。

ネット助手

えすえむてーぴー? ぴーおーぴー?

インター博士

それについては後で説明する。
そして、MUAは使用するMTAを指定する必要がある。OutlookExpressならこの画面だな。

使用するMTAの指定

[Figure78-07:使用するMTAの指定]

インター博士

実際、メールのやりとりをするだけならMUAはいらない。
ただ、メールのやりとりだけでなく、作成や管理などを行うためにユーザ用のMUAがある、と考えればいい。

ネット助手

なるほど、ユーザが間単にメールを使うためにMUAがあるんですね。

■ 宛先の特定

インター博士

さて、メール転送プロセスは宛先を特定してから、宛先のメール転送プロセスへメールを転送するわけだが。
この宛先の特定、というのはどうするのかね、ネット君?

ネット助手

宛先の特定? メールの宛先の特定と言えば、メールアドレスでしょう!!

インター博士

確かに、メールアドレスで宛先を特定するわけだ。
メールアドレスはこうなってる。

  • <アカウント> @ <宛先ドメイン名/ホスト名>
ネット助手

アカウントってユーザIDですよね。メールを受け取るユーザ。
で、アットマークがあって。で、「宛先ドメイン名/ホスト名」?

インター博士

まぁ、簡単に言うと、ユーザのメールボックスのあるドメイン名またはホスト名、要は「メールボックスの場所」「メールサーバ名」だな。

ネット助手

ははぁ、メールを預かっておいてくれるサーバのことですね。

インター博士

うむ。つまりメールアドレスとは、<宛先メールボックスの場所>にある<アカウント>宛を示す、ということだ。これによりメールの送信側は宛先を特定する、と。

ネット助手

なるほどです。

インター博士

ではネット君、例えば「amino@3min.net」というメールアドレスがあったとする。これの意味は?

ネット助手

え? 今の説明から行くと、「3min.netにあるメールボックスのamino宛」ですよね?

インター博士

うむ。確かにそうだ。だが、3min.netのゾーンにあるメールサーバは、「mail.3min.net」なのだ。だが、メールアドレスは「3min.net」。何かおかしくないかね?

ネット助手

う、うぅ?
3min.netにあるmail.3min.net? ホストを示すべきだから、「amino@mail.3min.net」?

インター博士

ここで思い出すのは、DNSレコードの種類だ。何があったかね?

ネット助手

アドレス「A」、ゾーン「SOA」、ネームサーバ「NS」、逆引き「PTR」、別名「CNAME」……メール!! メールの「MX」レコード!!

インター博士

そういうことだ。動作的にはこうなる。

[Figure78-08:メールサーバの特定]

インター博士

と、このようにして<宛先ドメイン名/ホスト名>から実際のIPアドレスを特定するわけだ。

ネット助手

……、博士、なんで「@3min.net」なんですか? 「@mail.3min.net」にしておけば丸くおさまるじゃないですか。
最初からドメインの名前じゃなくて、メールサーバの名前にすればいいのに。

インター博士

基本的にメールボックスは「ドメイン」にあるもの、と考えるのだよ。特定のホスト(メールサーバ)にあるもの、とは考えない。

ネット助手

う〜ん……。

インター博士

メールボックスが「ドメイン」にある、と考えておけば。もしメールサーバが障害などで使えなくなった場合でも、違うメールサーバをMXで指定すればいい。だが、メールサーバをメールアドレスとするとしていた場合、どうなる?

ネット助手

そのメールサーバが故障したら、メールアドレスが変わる?

インター博士

そういうことだ。メールアドレスがころころ変わるのはよろしくないだろう?

ネット助手

そうですね、確かに。は〜、上手く考えられているんですねぇ。

■ メールのプロトコル

インター博士

さて、ネット君。さっきの図をもう一度見てもらおう。

メールシステム

[Figure78-05:メールシステム]

インター博士

メールは3回転送されているな。

ネット助手

え? え〜っと。MUAからMTAへ。MTAからMTAへ。MTAからMUAへ。
3回ですね。

インター博士

うむ。この3回だが、2種類の動作があることはわかるか?
説明の動詞から考えてみたまえ。

ネット助手

2種類の動作?「説明の動詞」?
「メールを渡す」「メールを届ける」「メールを取りにいく」ですよ?

インター博士

「メールを渡す」と「メールを届ける」は、動きとしては一緒だ。
「MUAからMTAへメールを届ける(渡す)」、「MTAからMTAへメールを届ける」だな。

ネット助手

ん〜、そう言われればそうかも。ってことは2種類っていうのは、「届ける」と「取りに行く」ですか?

インター博士

そうだ。つまりメールシステムで行われる動作は2種類あるということだ。
まず、「届ける」時に使われるプロトコルがSMTPだ。 ▼ link

ネット助手

しんぷるめーるとらんすふぁーぷろとこる。
あ、SMTPってさっきでてきましたよね。「SMTPサーバソフト」って。

インター博士

そうだ。MTAのうち、「メールを届ける/受け取る」役割を担うのが「SMTPサーバソフト」になる。
そして「メールを取りにいく」というか「メールボックスからのメールの取り出し」時に使われるのが、これは2種類ある。

ネット助手

ふむふむ、また2種類ですか。

インター博士

POPIMAPだ。 ▼ link

ネット助手

ぽっぷ、あいまっぷ。

インター博士

うむ。「MUAの『取り出し』要求に応じてメールを渡す」役割を担うのが「POP/IMAPサーバソフト」になる

ネット助手

MUAが「届いてるメールを下さい」って取りにいくと、「これだよ」って渡してくれるサーバ、って意味ですか?

インター博士

そういうことだ。図で示すとこうなる。

SMTPとPOP/IMAP

[Figure78-09:SMTPとPOP/IMAP]

ネット助手

メール届ける時使うのが、SMTP。
メールボックスからの取り出し時使うのが、POP/IMAP。なるほど。

インター博士

「届ける」と「取り出し」では動作が違うので、別々のプロトコルが使用される、ということだ。

ネット助手

う〜ん、「取り出し」はなんでさらに2種類あるんですか?

インター博士

うむ、それはメールボックスに対する動作が違うのだ。

ネット助手

ははぁ。どういう風にですか?

インター博士

それはこれから先説明していこう。
今回はこれぐらいで終わりにしよう。

ネット助手

はい。

インター博士

次回からはまずSMTPを説明する。

ネット助手

了解です。 3分間ネットワーキングでした〜♪

くま
何故、郵便配達人が「くま」なのか?
答えは参考リンクの本を買おう!! (宣伝宣伝〜)
MUA
[Mail User Agent]
MTA
[Mail Transfer Agent]
メールボックス
[Mailbox]
そのまんまの「郵便箱」「ポスト」の意味。
メーラ
[Mailer]
もしくはメールソフト[Mail Software]や、電子メールクライアントなどとも呼ばれる。
SMTP
[Simple Mail Transfer Protocol]
RFC821で既定、現行はRFC5321。
POP
[Post Office Protocol]
読みは「ぽっぷ」。現行はバージョン3(「POP3」)。
RFC1939で既定。
IMAP
[Internet Messages Access Protocol]
読みは「あいまっぷ」。現行はバージョン4.1(「IMAP4rev1」)。
RFC3501で既定。
ネット助手ネット君の今日のポイント
  • メールシステムは2種類のメール転送プロセスからなる。
    • ユーザが使用するMUA。
    • メールの送受信を行うサーバのMTA。
  • メールは一時的にメールボックスに保存される。
  • メールアドレスで宛先を特定する。
    • ユーザアカウント@メールボックスの場所。
  • メールシステムでは2種類のプロトコルが使われる。
    • メールの送受信を担うSMTP。
    • メールボックスからの取り出しに使うPOP/IMAP。

3 Minutes NetWorking No.78

管理人:aji-ssz(at)selene.is.dream.jp