メールヘッダのreceivedの追記について
メールヘッダのreceivedのヘッダフィールドについて
分からないことがあります。
端末1が、端末2の電子メールアドレス(XXX@CCC.jpとします)
を宛先アドレスとして電子メールを送信したとします。
端末1 SMTPサーバ1 SMTPサーバ2 SMTPサーバ3
YYY@AAA.jp mail.AAA.jp mail.BBB.jp mail.CCC.jp
↓ ↑↓ ↑↓ ↑
ルータa→→→ルータb→→ルータc→ ルータd
↓↑(POP)
端末2XXX@CCC.jp
SMTPのプロトコルだと、
このメールは端末1と同じドメイン(AAA.jp)のSMTPサーバ1から
宛先と同じドメイン(CCC.jp)のSMTPサーバ3まで転送され、
その間に、経由点上のSMTPサーバのトレース情報を示すreveiveのヘッダフィールドが追記されて行くということが分かりました。
ここで、質問なのですが、
端末1(または、SMTPサーバ1?)が、CCCのドメインネームサーバに
SMTPサーバ3のIPアドレスを問い合わせて取得し、
そのIPアドレスを(メールを記述したTCPパケットの)TCPヘッダに付加してルータaに渡してしまえば、
あとはルータa~dが勝手にSMTPサーバ3まで転送してくれるような気がするのですが、
SMTPサーバ1やSMTPサーバ3以外の他の経由点(上の例でいうとSMTPサーバ2 )のトレース情報も追記されることもあり得るのでしょうか。
だとすれば、その理由が分かりません。
SMTPサーバ2と繋がっているルータcは、宛先IPアドレスと
自分のルーティングテーブルさえ照合すれば、
TCPよりも上位層のSMTPの処理をするまでもなく(SMTPサーバ2に
ペイロードを渡す必要なく)、
そのままルータdに転送すればいいとすぐに分かるような気が致します。
TCPのペイロード部に含まれているデータが電子メールの場合、
ルーティング経路上のルータは、SMTPサーバに一度渡し、
その結果を受け取ってまた流す、というような
規約になっているのでしょうか。
とすれば、宛先に到達するまでに
ものすごい数のreveiveのヘッダフィールドが追加されてしまうような
気がいたします。この理解で合っておりますでしょうか。
つたない説明ですいませんが、どなたか教えてください。