電子メールの仕組み

メールはどうやって運ばれているのか

電子メールはどうやって運ばれているのか? そんなことは知らなくてもとりあえずメールは使えますし、 利用者の方は何も知らなくても問題なく使えるようになるのが理想なのかも知れません。 しかし、仕組みを知っていれば「○○をしてはいけません」「××は出来ません」と言われた時、 その理由を理解することができます。 また、○○はしない方が良さそうだという予想がつけば、 無用なトラブルを避けることができることになるでしょう。

まず、電子メールのアドレスですが、日本の住所の書き方と逆向きに書きます。 またアットマーク(@)と呼ばれるマークは、住所と名前の区切りを示しています[図1]。

電子メールのアドレスの表記
[図1]電子メールのアドレスは日本の住所表記と逆順

電子メールの配達は、実は従来の郵便と似ている部分があります。 従来の郵便では、郵便ポストに投函すると、その地域担当の郵便局が集荷します。 そして、他の郵便局の管轄宛ての郵便は、担当の郵便局へ転送され、配達されます[図2]。 このようなスタイルをとっていれば、 各郵便局は自分の担当地域の集荷、配達方法(と、どこへ転送すればいいのか)だけを知っていればよいので、 負担が分散されます。

従来の郵便の配送
[図2]従来の郵便の配送

電子メールも、同様な方法で配送されます[図3]。 xxx 大学の A さん(a-san@xxx-u.ac.jp)から yyy 大学の B さん(b-san@yyy-u.ac.jp)へメールが送られる様子を見てみましょう。

電子メールの配送
[図3]電子メールの配送

SMTP と POP サーバは、それぞれ地域の郵便局のような役割を果たしていることがおわかりかと思います。 しかし、どうも「DNSサーバ」は[図2]の従来の郵便の例の中にうまく当てはまらないようです。 このDNSサーバとは、一体何者でしょうか。

実は、この例に出てきた b-san@yyy-u.ac.jp という宛名は、 そのままではコンピュータ達には理解出来ないものなのです。 コンピュータは、0 ~ 255 の数字を四つ組み合わせたIPアドレスと呼ばれる住所を使って、 インターネット上の居場所を特定しています (【注】近い将来にはさらに大きな桁数の住所に変更されることになっています)。

IP アドレスと DNS
[図4]IP アドレスと DNS

コンピュータにとっては IP アドレスの方がわかりやすいのですが、 人間にとっては、IP アドレスはどこを指す住所なのか直感的に理解できなくて不便です。 そこで DNS サーバの出番です。 DNS サーバは、人間に読みやすいアドレスと IP アドレスの対応を記録していて、 両者の翻訳をしてくれます[図4]。 そのおかげで、私達は IP アドレスなどというわかりにくい住所を使わずに、 メールを送受信できるのです。 インターネットには、DNS のほかにも様々なサービスをおこなってくれるサーバが居て、 情報のやり取りを手助けしてくれています。

このように、電子メールは多くのコンピュータの力を借りて相手まで配達されていきます。 道中で何か不具合が起こっていれば、配達はそこで滞ってしまいます。 電子メールでも、何らかのトラブルによって配達が遅れたり、 返送されてきたりすることがあるということを心に留めておいてください

なお、他にもサーバと呼ばれるものはたくさんあります。 その中でも代表的なのは、Web サーバと呼ばれるものです。 Web サーバは、Internet Explorer などの Web ブラウザで見ることができる Web ページを用意してくれるものです。 皆さんが今見ているこの授業の Web ページも、 Web サーバのおかげで見ることができるようになっています。

メールが送信された経路を調べるには

電子メールには、「ヘッダ」と呼ばれるものがあります。 メールソフトによっては、このヘッダを見ることができるものもあります。 ヘッダにはいろいろな情報が含まれていて、 このヘッダを見るとこのメールがどのような経路で自分のところまで送られてきたか、 ということも分かります。

全部は紹介できませんが、ヘッダの内容を何点か説明します。

Date:
メールが送信された日付を表します。
Subject:
メールの件名です。 英数字だけの件名の場合は問題ありませんが、 日本語の件名の場合、よく分からない記号と英数字の文字列になっていることがあります。 これは、日本語の文字列を電子メールで送信できるように変換しているためです。
From:
メールの送信者のアドレスです。
To:
メールの宛先のアドレスです。
X-Mailer:
送信者が使っているメールソフトの名前が表示されます。 メールソフトによっては、表示されないこともあります。
Organization:
送信者の所属している組織の名前が表示されます。 これも表示されないことがあります。
Received:
メールの送られてきた経路を表しています。

メールが SMTP サーバに到着するたびに Received: ヘッダがメールの先頭に付加されます。 したがって、この Received: ヘッダを下から順番に見ていくと、 メールがどのような経路を通って送られてきたか分かります。 少しややこしいですが、Received: ヘッダは以下のような構造になっています。

Received: from A by B for C

サーバ B がサーバ A からメールアドレス C 宛のメールを受け取った。 = サーバ A からサーバ B にメールアドレス C 宛のメールが送られた。

Received: ヘッダを順番に見ていくと、 どのサーバを経由しているのか分かるわけですが、 メールによっては結構多くのサーバを経由しています。 先ほどの説明を元にすると、メールは SMTP サーバと POP サーバを経由するだけだから、 Received: ヘッダは二つだけで済むはずではないか、と思うかも知れません。 これは、ウイルスチェックのサーバが間に入っていたり、 システムの都合でサーバの仕事を複数のサーバに分割していることがあるからです。 その意味では、先ほどの電子メールの配送の仕組みの説明は、 かなり簡素化した説明だったということになります。


「OS とファイルシステム」に戻る

「今回の授業のトップ」に戻る / 授業のホームに戻る