TCP/IP 與 Internet 網路:第十章 Internet 系統模型  上一頁           下一頁

 

翻轉工作室:粘添壽

 

10-3 主從式架構

一般 Internet 應用系統都是將某一服務,建構在傳輸埠口上讓一般使用者使用,該服務程式就稱之為『伺服器』(Server,而使用該服務者也稱之為『客戶』(Client。客戶端和伺服器端之間必須透過某一傳輸通訊協定,來互相交換訊息,如,HTTP FTP 通訊協定,對整個應用系統的架構就稱之為『主從式架構』(Client/Server Architecture。至於客戶端必須具有下列特性:

客戶端由伺服器端取得所欲完成的訊息,執行還是在本身工作站上。也就是說,伺服器只存放執行程式,而客戶端是將執行程式下載到本地電腦上執行,才能得到所要的結果。

程式是否下載執行,完全由客戶端使用者決定,並且依次只能執行一個交談訊息(Session)。

由客戶端主動向伺服端要求連線。

客戶端可以同時連接多個伺服器,但同時只能和一個伺服器交談。

只要合乎雙方通訊協定,不需要有特殊硬體設備或作業系統。

相同的,伺服器端必須具備有下列性:

能提供某一特殊服務(如,列印功能),並能同時接受處理多個客戶端的要求連線。

該服務必須能自動執行,無論客戶端何時請求,都能即時提供應有的服務。

一般執行於多重處理(Multi-tasking)以上的主機電腦。

隨時等待客戶端的連線要求。

能接受各種客戶端連線要求,但只能提供某一特殊服務。

基本上,一般所稱的伺服器為軟體設備,但有些硬體製造商宣稱其主機電腦為伺服器,這是表示該主機具有足夠的硬體能力來安裝伺服器軟體,譬如,它的 CPU 執行速度夠快、或記憶體容量夠高、或甚至主機電腦的穩定度足以承擔伺服器的工作,因而宣稱該主機為伺服器。但話又說回來,伺服器端之工作站必須隨時等待客戶端的要求,又可能同時接受多個客戶服務,因此,伺服器主機電腦的工作負荷也相對非常的重,確實需要特殊功能的主機來服務。

客戶端和伺服器端之間的通訊行為,大多採用『要求/回應』(Request-and-Response的作業模式,也就是說,客戶端向伺服器端提出某種『要求』(Request服務,伺服端再依照客戶端的要求『回應』(Response所需的訊息。基本上,伺服器並不主動發送任何訊息給客戶端。例如,客戶端向檔案伺服器要求傳送檔案,伺服器接收到檔案名稱,再檢視各種權限限制後,再將檔案傳送給客戶端,完成所需的服務。

10-3-1 單一主機多重服務

既然伺服器是以應用程式為主,而並非以主機電腦為觀點,因此,在同一主機上可安裝多個伺服器軟體,提供多個伺服器。例如,在一部主機電腦上可安裝 HTTP ServerDNS ServerFTP Server 之伺服器軟體,該主機便能提供 Web 伺服器、名稱伺服器和檔案傳輸伺服器之功能,如圖 10-5 所示。一般較小的企業,客戶端的要求不是很多的話,這種安裝較節省費用,但如果客戶端要求量過多時,整個傳輸效率會降得很厲害,基本上建議將較常用的伺服器安裝於特殊的主機電腦上效率較高。

10-6 單一主機多重服務

        除了同一主機可安裝多個不同的伺服器外,在一個主機上(只有一片網路卡)也可以設定多個虛擬主機(Virtual Host),每一個虛擬主機有一獨立的 IP 位址,而每一個 IP 位址同樣可以連接多個伺服器。如圖 10-6 所示,主機 A 原有的 IP 位址是 163.18.3.45(網路卡的 IP),但可在主機上設定 163.18.3.46163.18.3.47163.18.3.48 等三個虛擬主機,每一主機的都可連接獨立的伺服器,譬如, www.ee.cu.edu.twwww.cs.cu.edu.twwww.mag.cu.edu.tw,而三個 Web Server 都連接在各自 IP 的埠口 80 上。

10-7 虛擬主機的多重服務

10-3-2 單一主機單一服務

我們將某一特殊的應用系統安裝在一台主機上,讓這台主機專門處理這項服務,不論安全性的保護、系統備份、或異動登錄(Log)都可針對整部主機來管理,因此,對於這項服務所可能發生的安全漏洞也較小。再說,我們亦可使用高效能的主機來安裝較常使用的服務(如,Web ServerMail Server),也能將服務效率提到最高。所以,單一服務單一主機的架構,是目前 Internet 網路最普遍的應用環境。它的架構如圖 10-7 所示,某一學校有 Web Serverwww.cu.edu.tw)、Mail Servercc.cu.edu.tw)、FTP Serverftp.cu.edu.tw),都將它們安裝在不同主機上,以提高傳輸效率。

10-8 單一服務單一主機架構

10-3-3 單一服務多重主機

如果單一主機電腦所提供服務的處理速度不能滿足於提供客戶端的要求,也就是說,客戶端的『要求』數量過多,主機上的處理速度不足於應付,而造成處理速度過慢。或者地理環境的因素,如將某一伺服器(Web Server)安裝於固定地點(例如台北),任何地區(如高雄)需要該服務都必須到該地點存取資料,如此可能會浪費不少頻寬。如有前面兩種因素存在,我們可考慮將同一伺服器內之資料,複製儲存於多個伺服器,而將其分散多個地區,不但可以分散主機電腦的處理負荷,也能提昇各地區的處理效率。如圖 10-8 所示,我們將同一 Web Server 複製並分散在多個地區,以提高伺服器的執行效率。單一服務多重主機的做法非常簡單,目前連結網路大多使用網域名稱(Domain Name),只要將各地區的網域伺服器加入不同的轉譯地址,便可將同一的伺服器指定到不同的網路位址上。如圖 10-8 中,Client_D 在網路區域 M,當它存取 Web Server A 時,經過 DNS 查詢位址為 164.5.3.78;相同的,Client_E 存取同一 Web Server_A 卻被指定到 185.3.56.2 的主機上,如此便可分散伺服器的傳輸量,一般國際性網站都用此方法。

10-9 單一服務多個伺服器

 

 

<GOTOP>