インターネットでは、基本的にはIPアドレスを基準に通信を行っています。IPアドレスは、通信先のコンピュータを決める住所のようなものになります。
IPアドレスは、現在主に使われている IPv4
アドレスと、今後標準となって行くであろう IPv6
の2つの規格があります。現在のところ、IPv6 は一部で試験的にサービスが始まっているだけですので、ここでは IPv4
のみを取り扱うことにします。IPv4 アドレスは、0〜255 の数字4つを「.」記号でつなげた形で表現されます。例えば、127.0.0.1
のように表記されます。
基本的に、IPアドレスは、通信先が世界中でただ1つになるように決められています。そういったアドレスはグローバルアドレスと呼ばれます。
しかし、そうでないアドレスもあります。spamメールを見る上では、以下のようなアドレスはグローバルアドレスではないので、注意してください。
127.0.0.1
「自分自身」を表すアドレスです。このアドレス宛に通信しようとすると、自分自身に繋がります。
192.168.0.0 〜 192.168.255.255
172.16.0.0 〜 172.31.255.255
10.0.0.0 〜 10.255.255.255
プライベートアドレスといい、各組織で自由に使って良い住所となります。グローバルアドレスが「東京都新宿区新宿1-2-3」というような住所を表すとすれば、プライベートアドレスは「505号室」のような、その組織内での特定の場所を表すものとして使用されます。
IPアドレスは、最初の数値ほど大きな違いを表し、最後の数字ほど小さな違いを表します。AAA.BBB.CCC.DDD と xxx.BBB.CCC.DDD
は、日本とアメリカのように、大きな組織的な違いになります。逆に、AAA.BBB.CCC.DDD と AAA.BBB.CCC.xxx
は、新宿1-2-3と新宿1-2-4のような、小さな組織的な違いになります。
spamメールのヘッダを見る上で、違いが小さいIPアドレスがあった場合、そのアドレスは同じ事業者によって使われている可能性が高くなります。
インターネットでは、通信先の相手をIPアドレスで決定しますが、メールを送ったりする場合に、IPアドレスで相手を指定するのでは覚えにくく、大変不便です。そこで、IPアドレスに対して覚えやすい名前を付けたものが、ドメインです。
例えば、「example.com は 10.20.30.40 です」といった情報が登録されています。これらの情報が、DNS というサービスで調べることが出来るようになっています。
メールの場合、「kasumi@example.com」のようなアドレスになりますが、この「@」以降の名前に直接繋げるわけではないため、更に複雑になっています。
メールを送る場合、まず「@example.com 宛のメールは、どのドメインに送ればよいか?」ということを調べます。
「@xxxx 宛のメールは mail.example.com へ送って下さい」
といった情報のことを、MXレコードと言います。
次に、「mail.example.com は 10.20.30.100 です」といった情報を調べます。この情報を Aレコードといいます。
また、逆にIPアドレスからドメイン名を知りたいことも出てきます。通信はIPアドレスで行われますので、通信を受けた側は「相手は 10.20.30.100 です」といった情報しかわかりません。これでは、どんな相手かわからないため、逆に「10.20.30.100 は mail.example.com です」
という情報を調べられるように、PTRレコードという情報が用意されています。
まとめると、以下のようになります。
1.メールアドレスの@以降から、送信先のドメインを調べる => MXレコードを調べる
2.ドメインから、接続先のIPアドレスを調べる => Aレコードを調べる
3。IPアドレスから、ドメインを調べる => PTRレコードを調べる
なお、2をすることを「正引き」または「順引き」、3をすることを「逆引き」と呼びます。ただし、これらの情報は必ずしも信頼できるものではない可能性がある点に注意が必要です。MX、A レコードは、そのドメインの持ち主が、PTRレコードはそのIPアドレスの持ち主が、自由に設定できます。
example.com の持ち主が、自分のIPアドレスではないIPアドレスを登録したり、IPアドレスを逆引きした時に、自分のドメインではないでたらめなドメインを返すことも出来てしまいます。