dns系統為什麼需要mx類型的解析?
我對DNS系統不太了解,最近接觸到有個地方十分的不解,dns的type如下:
3.2.2. TYPE values
TYPE fields are used in resource records. Note that these types are a
subset of QTYPEs.TYPE value and meaning
A 1 a host address
NS 2 an authoritative name server
MD 3 a mail destination (Obsolete - use MX)
MF 4 a mail forwarder (Obsolete - use MX)
CNAME 5 the canonical name for an alias
SOA 6 marks the start of a zone of authority
MB 7 a mailbox domain name (EXPERIMENTAL)
MG 8 a mail group member (EXPERIMENTAL)
MR 9 a mail rename domain name (EXPERIMENTAL)
NULL 10 a null RR (EXPERIMENTAL)
WKS 11 a well known service description
PTR 12 a domain name pointer
HINFO 13 host information
MINFO 14 mailbox or mail list information
MX 15 mail exchange
TXT 16 text strings
我理解的DNS基本上就是將域名的文字信息解析為IP地址。但我不理解為什麼需要MX的這個類型。發郵件難道只是將域名地址轉化為IP地址然後直接訪問不行嗎?我自己理解的流程如下:
發郵件到abc@qq.com
通過dns解析http://qq.com的ip地址是1.1.1.1,然後通過smtp協議,向目的地址1.1.1.1,目的埠號25(smtp埠)發送郵件正文。http://qq.com的伺服器上對應的郵件服務程序收到對應數據就會做出相應處理。
以上流程應該通過type=a的解析,知道http://qq.com的對應IP地址就能實現,那麼為什麼需要MX的類型?我的問題如下:
使用MX類型的DNS解析,在郵件應用的整個流程上是起到什麼實際的作用?
如果不使用MX這個類型,具體應用會碰到哪些問題?請各位大神賜教。謝謝!
原因很簡單,同一個域名下處理郵件的伺服器和處理網頁的伺服器可能不是同一台,因此需要單獨的 MX 記錄指向郵件伺服器,而 A 記錄指向網頁伺服器。實際處理的時候如果 MX 記錄為空,的確是會回落到 A 記錄的地址的。
比如知乎的 A 記錄是指向自己的伺服器$ host -t a zhihu.com
zhihu.com has address 125.39.223.103
而知乎的 MX 記錄是指向 Gmail 的
$ host -t mx zhihu.com
zhihu.com mail is handled by 10 ASPMX3.GOOGLEMAIL.com.
zhihu.com mail is handled by 10 ASPMX4.GOOGLEMAIL.com.
zhihu.com mail is handled by 10 ASPMX5.GOOGLEMAIL.com.
zhihu.com mail is handled by 1 ASPMX.L.GOOGLE.com.
zhihu.com mail is handled by 5 ALT1.ASPMX.L.GOOGLE.com.
zhihu.com mail is handled by 5 ALT2.ASPMX.L.GOOGLE.com.
zhihu.com mail is handled by 10 ASPMX2.GOOGLEMAIL.com.
一般網站會以默認的 www. 開頭,或者用戶是知道網址進行訪問的; 而郵件服務之間互通,實際是通過郵件伺服器之間自動進行的投遞,並沒有規定說一個公司的郵件伺服器一定用 mail. 開頭;可以自定義自己的郵件伺服器主機名, 比如我接觸過的mx1,mx2, mail1,mail2, mailcn,mailhk等等五花八門的命名;
那麼,就需要一種機制,告訴對方,我的郵件伺服器域名(IP)是什麼,你投遞到我對應的這個域名(IP)來吧。 這就是dns MX的由來,明確指定本域負責處理郵件伺服器的信息;
沒有什麼為什麼的。這個是SMTP協議的規定,他規定查詢MX地址,然後所有的ISP/ESP都這麼查。
而且A記錄一般是用來做網站導航的,最好是跟郵箱的分開吧。
我猜的,電子郵件是一個非常非常基礎的服務,所以給了一個單獨的類型。像sip/teamspeak之類的只能用txt啦。
推薦閱讀:
※如何看待美國政府宣布交出互聯網域名系統DNS?
※ppp是數據鏈路層協議,為什麼能進行IP地址協商呢?
※越來越多國產手機品牌都想學小米的互聯網營銷,是否奏效?
※怎樣看待音樂付費下載?
※小米手機搶購被指是「騙局」,真實情況是什麼?