Exchange2013 郵件流

譯自:http://blogs.technet.com/b/rischwen/archive/2013/03/13/exchange-2013-mail-flow-demystified-hopefully.aspxhtml

更詳細的:http://www.msexchange.org/articles-tutorials/exchange-server-2013/planning-architecture/exchange-2013-mail-flow-part1.html前端

Exchange2013的角色改變:只有MailBox與CAS兩個角色,沒有獨立的hub角色,傳統的hub組件被分割成了三塊,分別位於Exchange2013的MBX與CAS角色上。數據庫

 

前端傳輸服務(FrontEnd Transport Service):此服務運行在全部的客戶端訪問服務器上,做爲Exchaneg2013組織裏全部的進和出的外部SMTP流量無狀態的代理。前端傳輸服務並不會檢查郵件內容,而只是和MailBox服務器上的Transport Service進行通訊,也不在本地爲任何消息進行隊列的操做(queue在mbx上)數組

wKioL1VVlGqgCewoAAGnj5BDh6I585.jpg


(所謂無狀態:安全

在早期版本的 Exchange 中,許多客戶端訪問協議都須要會話相關性。例如,Outlook Web App 要求來自特定客戶端的全部請求都由負載平衡的客戶端訪問服務器數組中的特定客戶端訪問服務器處理。在 Exchange 2013 中,客戶端訪問服務器是無狀態的。也就是說,因爲對郵箱的全部處理都是在郵箱服務器上進行的,所以客戶端訪問服務器數組中的哪一個客戶端訪問服務器接收每一個客戶端請求可有可無。功能上的這種更改意味着負載平衡器級別再也不須要會話相關性。這容許使用負載平衡技術(如 DNS 輪循機制)提供的簡單技術平衡到客戶端訪問服務器的入站鏈接。還容許硬件負載平衡設備顯著支持更多併發鏈接。)服務器

 

傳輸服務(Transport Service):此服務運行在全部的MailBox服務器上,與以前版本的Exchange裏HubTransport服務幾乎如出一轍。傳輸服務會處理組織的全部的SMTP郵件流,執行郵件分類,而且執行郵件的內容檢查。不一樣於以往的Exchange版本,這裏的傳輸服務也不直接與郵箱數據庫進行通訊,而是由郵箱傳輸服務來完成此工做。傳輸服務只是用來在郵箱傳輸服務,傳輸服務,以及前端傳輸服務之間路由郵件。併發

wKiom1VVkvDisNb6AAFf0uUHG9M691.jpg

 

郵箱傳輸(Mailbox Transport): 此服務由兩項單獨的服務組成:郵箱傳輸提交服務和郵箱傳輸傳遞服務。郵箱傳輸傳遞服務從本地郵箱服務器或其餘郵箱服務器上的傳輸服務接收 SMTP 郵件,並使用 Exchange 遠程過程調用 (RPC) 鏈接到本地郵箱數據庫以傳遞郵件。郵箱傳輸提交服務使用 RPC 鏈接到本地郵箱數據庫以檢索郵件,並經過 SMTP 將郵件提交給本地郵箱服務器或其餘郵箱服務器上的傳輸服務。郵箱傳輸提交服務能夠訪問與傳輸服務相同的路由拓撲信息。與前端傳輸服務同樣,郵箱傳輸服務也不在本地對任何郵件進行排隊。frontend

wKioL1VVlGvA1Z4OAAB8uTezSUY464.jpg

 

接下來咱們講一下上述服務所用到的端口ide

 

Port 25: 25端口就像之前的exchange版本同樣做爲SMTP端口,如下流量都會通過25端口:外部SMTP流量到前端傳輸服務(FET),Exchaneg2007/2010的spa

hubMBX之間的smtp流量,固然也包括FET到傳輸服務的流量。有一個默認的接收鏈接器會偵聽此端口,名字相似於:default frontend<servername>

 

Port 587:與之前版本的Exchange同樣,用於安全的客戶端鏈接(應用了TLS)。名字相似於Client Frontend <servername>

 

Port 717:用於傳輸服務向FET服務發起的出站的代理鏈接,當你建立完了一個發送鏈接,你能夠調整其中的選項:是直接從傳輸服務直接發往internet/智能主機,或者是經過FET服務來進行一個發送代理中繼。一樣也有一個默認的接收鏈接器來偵聽此端口,名字相似於: Outbound Proxy Frontend <servername>

 

Port 465: 用來接收代理鏈接請求,即處理FET服務從587接收到的客戶端鏈接中發起的代理請求。一樣有一個接收鏈接器名字相似於:Client Proxy <servername> MBX上)

 

Port 475:郵箱傳輸投遞服務偵聽此端口,爲那些要麼來自 本機傳輸服務SMTP發送鏈接器 或者 其餘郵箱服務器的傳輸服務的SMTP投遞 服務。

 

Port2525: 若是CAS與MBX服務安裝在同一臺服務器上,那麼傳輸服務的SMTP接收鏈接器就會偵聽在2525端口而非25端口。不然FET和傳輸服務會衝突

 

以上三種服務和應用的端口。詳細能夠看下圖描述

 

wKiom1VVkvGQ8CJvAAKip0FcFVs027.jpg

 

wKioL1VVlGzBnQ-mAAFtlfaNqvw701.gif

 

 

詳細描述一下郵件流過程:

Sending Mail to both Internal\External recipients

發送郵件給內\外網接收人:

 

第一步:郵箱傳輸--當你從Outlook或者OWA按下發送按鈕開始,在Exchange2007\2010上,由hub角色上傳輸服務的Store Driver(存儲驅動)將郵件發送給下一跳。可是如今存儲驅動已經被劃給了郵箱傳輸並分割爲兩個服務(傳遞和提交服務),郵箱傳輸提交服務會從用戶發件箱中拿到這些郵件,進行一個集線器選擇器的過程(爲了選擇最佳的傳輸服務,本地的或者是另外的),而後轉發給傳輸服務的默認的接收鏈接器(SMTP 25或者2525

 

第二步:傳輸服務,當郵件已經被傳輸服務接收後,會放到提交隊列裏。提交隊列會處理這些郵件,傳遞給一個分類程序,進行收件人解析(郵件目標分類)和路由解析。下一步再提交給正確的投遞隊列(Exchange自帶的隊列查看器裏分的類)。若是郵件是通往外部聯繫人,就會使用正確的發送鏈接器發送給internet或者是FET服務的代理髮送程序(固然是該發送鏈接器開啓了代理髮送的狀況下:Set-SendConnector <name> -FrontEndProxyEnabled $true)。若是郵件是發送給內部接收者,則就直接從傳輸服務發送給目標MBX服務器的郵箱傳輸傳遞服務。當目標MBX服務器的郵箱傳輸傳遞服務收到後,就使用本地的RPC服務去將這些消息放進用戶的收件箱中

 

接收郵件的過程與發送郵件過程相反,注意郵件目標分類老是發生在郵件服務器的傳輸服務層。在分類完成以後,發往內部的郵件會經過SMTP 475端口直接投遞到收件人目前所位於的郵件服務器的郵箱傳輸傳遞服務。以下圖所示。

wKiom1VVkvKAdkumAAIkWZDOVfU400.jpg

相關文章
相關標籤/搜索