电子邮件技术基础
1.1.1 電子郵件服務器
?功能:
1.接收用戶投遞的郵件
2.將用戶投遞進來的郵件轉發給目標郵件服務器
3.接收其他郵件服務器發來的郵件,并把郵件存儲到其管理的用戶郵箱中
4.為前來讀取郵件的用戶提供讀取服務
郵件服務器按功能可以劃分為兩種類型:SMTP服務器、POP3/IMAP服務器
SMTP服務器:用于替用戶發送郵件和接收外面發送給本地用戶的郵件,相當于現實生活中的郵件接收部門(可接收普通客戶要投出的郵件和其他郵局投遞進來的郵件)
POP3/IMAP服務器:用于幫助用戶讀取SMPT服務器接收進來的該用戶的郵件,它相當于專門前來取包裹的用戶提供服務的部門
圖1.1中編號1、2、3由SMTP服務器完成的,編號4由POP3服務器完成的
1.1.2郵件客戶端軟件
郵件客戶端軟件負責與郵件服務器通信,主要用于幫助用戶將郵件發送給SMTP服務器和從POP3/IMAP服務器讀取用戶的電子郵件。
郵件客戶端軟件通常集郵件撰寫、發送、接收功能與=于一體,例如Outlook Express、Foxmail。
在web站點中可以集成郵件客戶端軟件的功能,例如,sina和sohu等大型門戶網站,用戶可以通過訪問這些web站點來接收電子郵件。
要想讓一個web站點能夠幫助用戶完成電子郵件的收發功能,只要將Outlook Express、Foxmail的郵件收發模塊集成到web站點程序中即可,由郵件收發模塊完成與郵件服務器的通信,有web網頁提供郵件撰寫和顯示的操作界面。
1.1.3電子郵箱
E-mail地址,用戶通過E-mail地址標識自己發送的電子郵件,同時也通過這個地址接受別人發來的電子郵件。
電子郵箱的獲得需要在郵件服務器上進行申請,申請到的電子郵箱由郵件服務器進行管理,電子郵箱就是用戶在郵件服務器上申請的賬戶。
郵件服務器把接收到的郵件保存到為該賬號所分配的郵箱空間中,由于郵件服務器為用戶提供的郵件空間是有限的,所以用戶需要經常查收、清理自己的電子郵箱,以便騰出空閑空間接收新的電子郵件。
1.1.4郵件傳輸協議
電子郵件需要在郵件客戶端軟件和郵件服務器之間,以及兩個郵件服務器之間進行傳遞,郵件的傳遞必須遵循一定的規則,即郵件傳輸協議。
SMTP協議 (Simple Mail Transfer Protocol ?簡單郵件傳輸協議)
定義了郵件客戶端與SMTP服務器之間,以及兩臺AMTP服務器之間的通信規則POP3協議(Post Office Protocol 郵局協議)
定義了郵件客戶端軟件與POP3服務器的通信規則IMAP協議(Internet Message Access Protocol Internet 消息訪問協議)
它是對POP3協議的一種擴展,也是定義了郵件客戶端軟件與郵件服務器的通信規則
圖1.1中編號1、2、3功能采用SMTP協議,編號4功能采用POP3或IMAP協議
1.2DNS與主機名
1.2.1 面臨的問題
Internet上的計算機是采用ip地址來標識其網絡位置和訪問路徑的,計算機之間必須采用ip地址進行通信,顯然,當用戶訪問Internet中的某個服務器上的網頁或者其他資源時,必須知道該服務器的ip地址,才能訪問到該服務器。由于ip地址是以數字的形式表示的,人們想要記住Internet上在眾多服務器ip地址顯然是一件十分困難的事情。
另外,與公司的電話號碼可能會隨著公司搬家而發生變更的情況類似,大多數公司的服務器在Internet上的ip地址通過都是臨時租用的,而不是終生不變的。
這些情況會給Internet中直接使用ip地址進行通信帶來了一定的困難和不便,于是又提出DNS的概念和應用
1.2.2 DNS
域名解析系統 Domain Name System
作用就是將計算機的ip地址映射成一個人們容易記憶的友好名稱,例如將 218.30.99.150 映射成 "www.it315.org"
1.2.3 主機名
計算機的ip地址所映射稱的名稱即為計算機的主機名1.2.4 DNS服務器
它是保存主機名和IP地址的映射關系的專用計算機,同時對外提供主機名與IP地址的映射關系的查詢服務1.2.5 正向解析與反向解析
根據某個計算機的主機名查詢出其ip地址的過程為DNS正向解析,反之,根據某個計算機的ip地址查詢出主機名的過程稱為DNS的反向解析
1.2.6 DNS的基本應用
計算機的主機名與ip地址的關系,就像公司名稱和公司電話號碼一樣,
在DNS服務器中注冊了某臺計算機的主機名與ip地址的映射關系后,其他計算機上的網絡應用程序就可以使用該計算機的主機名與之進行通信了,當然,這也要求其他計算機上已經事先指定好了為其提供DNS查詢服務的DNS服務器。
例如,在DNS服務器上已經注冊好了"218.30.99.150"(IP地址)與''www.it315.org"(主機名)的映射關系,當在其他計算機上使用瀏覽器訪問"http://www.it315.org"時,其他計算機將從DNS服務器中查詢出主機名''www.it315.org"所對應的ip地址為?"218.30.99.150",然后使用這個ip地址去連接相應的web服務器。
雖然應用程序可以使用主機名去訪問某臺計算機,但是,計算機之間的通信最終必須依靠IP地址,首先要通過DNS服務器查詢出主機名對應的IP地址后,然后再使用ip地址去訪問目標計算機,只是這個過程是由底層網絡系統自動完成的。如果沒有為目標計算機注冊主機名,或者沒有為訪問者計算機設置DNS查詢服務器,那么訪問者計算機就無法使用主機名來訪問目標計算機,必須使用ip地址訪問目標計算機
C:\Users\Administrator>ipconfig /allWindows IP 配置主機名 . . . . . . . . . . . . . : 201605050385-主 DNS 后綴 . . . . . . . . . . . : creditease.corp節點類型 . . . . . . . . . . . . : 混合IP 路由已啟用 . . . . . . . . . . : 否WINS 代理已啟用 . . . . . . . . . : 否DNS 后綴搜索列表 . . . . . . . . : creditease.corp 以太網適配器 本地連接:連接特定的 DNS 后綴 . . . . . . . :描述. . . . . . . . . . . . . . . : Realtek PCIe GBE Family Controller物理地址. . . . . . . . . . . . . : 1C-39-47-3D-F4-00DHCP 已啟用 . . . . . . . . . . . : 是自動配置已啟用. . . . . . . . . . : 是本地鏈接 IPv6 地址. . . . . . . . : fe80::61dd:97b5:aab9:c19b%12(首選)IPv4 地址 . . . . . . . . . . . . : 10.108.21.72(首選)子網掩碼 . . . . . . . . . . . . : 255.255.252.0獲得租約的時間 . . . . . . . . . : 2017年2月24日 9:57:38租約過期的時間 . . . . . . . . . : 2017年2月25日 13:33:00默認網關. . . . . . . . . . . . . : 10.108.20.1DHCP 服務器 . . . . . . . . . . . : 10.108.20.1DHCPv6 IAID . . . . . . . . . . . : 337393991DHCPv6 客戶端 DUID . . . . . . . : 00-01-00-01-1D-F6-F8-67-78-0C-B8-14-81-47DNS 服務器 . . . . . . . . . . . : 10.108.17.25110.108.17.252TCPIP 上的 NetBIOS . . . . . . . : 已啟用 C:\Users\Administrator>ping gitlab.creditease.corp正在 Ping gitlab.creditease.corp [10.100.8.78] 具有 32 字節的數據: 來自 10.100.8.78 的回復: 字節=32 時間=6ms TTL=56 來自 10.100.8.78 的回復: 字節=32 時間=5ms TTL=56 來自 10.100.8.78 的回復: 字節=32 時間=6ms TTL=56 來自 10.100.8.78 的回復: 字節=32 時間=6ms TTL=5610.100.8.78 的 Ping 統計信息:數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計時間(以毫秒為單位):最短 = 5ms,最長 = 6ms,平均 = 5ms1.3.1 DNS域
為了方便對Internet上眾多的主機名進行管理,在DNS系統中引入了域的概念。一個域表示一組邏輯相關的計算機的組合,可以按照地區、行業、機構對計算機進行分組,所劃分出來的每個組都可形成DNS的一個域。
DNS的域名也是按照層次結構進行設計,每層之間使用(.)進行分隔,且層次關系是從右到左的順序指定,即層次中的最高級別的域名位于最右邊。
計算機的主機名就是在它所屬的域名前增加一個不含點(.)的本地名稱組成的,本地名稱與域名之間也是用點(.)進行分隔的,
例如,主機名"www.hb.wh.cn"表示隸屬于"hb.wh.cn"域中的一臺本地名稱為"www"的計算機??梢?#xff0c;DNS中的域也是一種按計算機的名稱進行分組的機制,通過主機名的后綴部分就可以知道計算機所屬的域,只要兩臺計算機的后綴名稱相同,他們就屬于同一個域,
1.3.2 DNS域的管理
1.每個域都需要有一臺DNS服務器進行管理,要想讓某臺計算機加入到某個域中,必須征得域管理員的同意后,再有域管理員在管理該域的DNS服務器上注冊這臺計算機的ip地址和主機名。雖然每個域都需要有一臺DNS服務器對其進行管理,但為了節省資源,可以讓一臺DNS服務器監管多個域,但從邏輯上講,仍然相當于每個域都有一臺自己DNS服務器對其進行單獨管理
2.一個域的DNS服務器只負責管理直隸屬于這個域的每個主機名與其ip地址的映射關系,而不負責管理其子域中的主機名與ip地址的映射關系,
例如,"www.it315.org"、"ftp.it315.org"、"blog.it315.org"等主機名都是管理域"it315.org"的DNS服務器進行管理,而不能由管理域"org"的DNS服務器進行管理
3.每個子域都必須在其直接父域的DNS服務器上注冊該子域的名稱和該子域的DNS服務器的IP地址,
也就是說,在父域的DNS服務器上除了要注冊屬于該域的所有主機的信息外,還要注冊屬于該域的所有直接子域的域名及管理子域的DNS服務器的ip地址。
例如,必須在管理域"org"的DNS服務器注冊子域"it315.org"和管理子域"it315.org"的DNS服務器的ip地址后,域名"it315.org"才能真正被外界所認可。
4.為了方便對頂級域名的統一管理,在頂級域名之上其實還有一個根域名,根域名用點(.)表示,
例如,"www.it315.org"也可以寫為"www.it315.org.",最后的那個點(.)就表示根域名。
帶有根域名部分的主機名或域名才是一個完整的域名,被稱為完全限定域名(Fully Qualified Domain Name)
internet中的根域名由interNIC(國際互聯網絡信息中心)集中管理,頂級域名和其下的域名則有擁有該域名的組織、公司和個人自己管理。
1.3.3 域名的解析原理
當客戶機通過一臺DNS服務器查詢某個主機名所對應的IP地址時,該DNS服務器首先檢測客戶機所請求的主機名是否屬于自己所管理的域或子域,
如果是,則檢索自己的數據記錄或向子域的DNS管理服務器查詢,然后將結果信息返回給客戶機。
如果不是,則向管理根域的DNS服務器查詢主機名中的頂級域名的DNS管理服務器的IP地址,再有頂級域名的DNS管理服務器查詢
二級域名的DNS管理服務器的ip地址,以此類推,直到找到最低級別的域的DNS管理服務器,然后再通過這個最低級別的域的DNS管理服務器查詢出主機名所在的ip地址。
從圖1.14可以看出,主機名的解析過程是從根域的DNS管理服務器開始逐一往下查詢的,根域的DNS查詢服務器的ip地址必須是固定不變和完全對外公開的。 父域的DNS管理服務器必須知道子域的DNS管理服務器。
只要查詢InterNIC(國際互聯網絡信息中心)的網站,就很容易直到根域的DNS管理服務器的ip地址,由于根域的DNS管理服務器的訪問量很大,所以,InterNIC維護著多臺根域DNS管理服務器,他們被分散在不同的國家和地區,以便全球的計算機可以就近訪問。
事實上,在安裝任何一種DNS服務器程序時,它都會提供一個初始文件,這個文件就包含了根域的DNS管理服務器的ip地址。
在圖1.1.4,當DNS服務器接收到子域中的主機名的查詢請求時,它直接將子域的DNS管理服務器的ip地址返回給查詢者,然后查詢者再向子域的DNS管理服務器進行查詢。 除了這種方式之外,也可以將DNS服務器設置為另外一種方式進行工作,當它接收到子域中的主機名的查詢請求時,不是直接將子域的DNS管理服務器的ip返回給查詢者,而是主動向子域的DNS管理服務器發出查詢請求,得到子域的DNS管理服務器返回的結果后,再將結果返回給查詢者。如下圖1.1.5
為了提高域名解析的效率,DNS查詢服務器將在查詢到的記錄信息返回給客戶機的同時,還會將記錄信息保存在自己的緩存中,再有其他客戶機向DNS查詢服務器查詢這條記錄信息時,DNS查詢服務器直接將緩存的結果返回給客戶機。緩存的期限由授權管理這條記錄信息的DNS服務器設置,通常為1天,緩存期限值作為記錄信息的一部分返回給DNS查詢服務器。如果某條記錄信息在DNS查詢服務器中緩存的時間超過了它的期限值,當再有客戶機查詢這條記錄信息時,DNS查詢服務器將重新查詢這條記錄并更新緩存。DNS服務器可以將它管理的記錄信息設置為禁止其他DNS服務器緩存,這樣,其他DNS服務器將不緩存從該DNS服務器上檢索的結果,這通常用于某個DNS服務器管理的域中的主機名所對應的ip地址需要頻繁更改的場合,例如 動態DNS系統。
1.3.4 動態DNS系統
將一個固定的主機名實時的映射到經常動態改變的ip地址上,以便Internet上的其他計算機始終可以使用一個固定的主機名來訪問ip地址經常改變的計算機。動態DNS系統由兩部分組成:動態DNS服務器程序和客戶端程序。在撥號上網的計算機上僅需要安裝和設置動態DNS系統服務商所提供的的客戶端程序,當一臺計算機每次撥號上網分配了新的ip地址后,客戶端程序將向動態DNS服務器報告新的ip地址,動態DNS服務器將立即更新其記錄的這臺計算機的主機名所對應的ip地址。由于動態DNS服務器禁止其他的DNS服務器緩存它的記錄信息,所以,只要其他計算機訪問屬于某個動態DNS服務器管理的主機名名時,它們以及DNS查詢服務器都不會有以前獲得過的與這個主機名相對應的ip地址的緩存信息,而是必須重新向授權管理這個主機名的動態DNS服務器查詢其當前的ip地址,這樣,其他計算機獲得的這臺計算機的主機名所對應的ip地址就是實時的和準確的。
1.4MX記錄
在DNS服務器上除了可以建立主機名和ip地址的映射外,還可以建立某個主機名與其別名的映射,建立某個域名與其SMTP服務器的映射。 在DNS服務器上創建的各項映射關系成為記錄,一項映射關系就是一條記錄,在DNS服務器上創建的主機名與IPD地址的映射關系成為A記錄,主機名與別名的映射關系稱為CNAME記錄,域名與其SMTP服務器的映射關系稱為MX記錄。DNS服務器上為什么要建立域名與其SMTP服務器的映射關系? 郵件地址后綴部分表示的通常都是一個域名,而不是接收郵件的服務器的主機名。例如"zxx@it315.org"中的"it315.org"對應的就是一個域名。域只是一個邏輯組合概念,它并不代表真正的計算機,對于使用某個域名作為后綴的郵件地址,外界發送給它的電子郵件必須由一臺專門的SMTP服務器進行接收和處理,接收和處理某個域的電子郵件的SMTP服務器即為該域的SMTP服務器,外界發送給某個域的電子郵件實際上都是發送給該域的SMTP服務器。
1.5電子郵件的工作原理
實線表示lisi@sina.com向wangwu@sohu.com發送郵件的過程,虛線表示wangwu@sohu.com向lisi@sina.com發送郵件
1.lisi@sina.com的郵件客戶端與sina的SMTP服務器建立網絡連接,并以lisi的用戶名密碼登錄后,使用SMTP協議把郵件發送給sina的SMTP服務器。 2.sina的SMTP服務器收到lisi@sina.com提交的電子郵件后,首先根據收件人的地址后綴判斷接受者的郵件地址是否屬于該SMTP服務器管轄的范圍, 如果是 就把郵件存儲到收件人郵箱中,如果否 sina的SMTP服務器向DNS服務器查詢收件人的郵箱后綴所表示的域名的MX記錄,從而得到Sohu的SMTP服務器信息, 然后與Sohu的SMTP服務器建立連接并采用SMTP協議把郵件發送給Sohu的SMTP服務器。 3.Sohu的SMTP服務器收到sina的SMTP服務器發來的電子郵件后,也根據收件人地址判斷該郵件是否屬于SMTP服務器的管轄范圍, 如果是 就把郵件存儲到收件人的郵箱中,如果否 Sohu的SMTP服務器可能繼續轉發這封電子郵件,也可能丟棄這封電子郵件。 4.擁有wangwu@sohu.com賬戶的用戶通過郵件客戶端程序與Sohu的POP3/IMAP服務器建立網絡連接,并以wangwu的用戶名和密碼進行登錄后,就可以通過POP3或IMAP協議查看wangwu@sohu.com郵箱中是否有新郵件,如果有的話 則使用POP3/IMAP協議讀取郵箱中的郵件。
郵件客戶端和SMTP服務器發送郵件差異: 1.SMTP服務器接收到郵件客戶端軟件發送來的郵件后,需要根據收件人地址的域名將郵件轉發給目標域的SMTP服務器,而大量的收件人地址中肯定會出現各種可能的域名,因此,SMTP服務器涉及到與其他多臺不能事先確定的SMTP服務器進行通信,它需要具有根據收件人地址的域名查詢出該域的SMTP服務器的功能,即需要具有查詢域名的MX記錄的功能。郵件客戶端被設置為固定的SMTP服務器通信,它可以直接與指定的SMTP服務器建立網絡連接。 2.對于來自某個郵件客戶端軟件的郵件傳輸請求,SMTP服務器可能需要對發件人的用戶賬號信息進行驗證,因此,郵件客戶端軟件需要具有向SMTP服務器傳送用戶賬號信息的功能。SMTP服務器能夠直接接收來自其他SMTP服務器的郵件傳輸請求。
總結
- 上一篇: 悲观锁,乐观锁
- 下一篇: 计算机设备管理中的其他设备,解决方法:计