客戶/伺服器模型

客戶/伺服器模型對應伺服器軟體作用於遠程訪問時成為客戶。

基本介紹

概念,優點,

概念

1、基本概念
n客戶/伺服器模型是所有網路套用的基礎。客戶/伺服器分別指參與一次通信的兩個套用實體,客戶方主動地發起通信請求,伺服器方被動地等待通信的建立
2、客戶軟體
任何一個應用程式當需要進行遠程訪問時成為客戶,這個應用程式也要完成一些本地的計算;
一般運行於用戶的個人計算機上;
向伺服器主動發起通信請求;
可以訪問多個伺服器,但一次只能訪問一個;
不需要特殊的硬體和複雜的作業系統。
是專用的提供某種服務的特權程式,可以同時處理多個遠程客戶;
一般在系統啟動時被執行,並連續運行以處理多次會話;
被動的等待遠程客戶發起通信;
需要特殊的硬體和複雜的作業系統。
數據在客戶和伺服器之間是雙向流動的,一般是客戶發出請求,伺服器給出回響。
由於伺服器軟體要支持多個客戶的同時訪問,它必須具備並發性伺服器軟體為每個新到的客戶創建一個進程或執行緒來處理和這個客戶的通信。伺服器方傳送層實體使用客戶的源連線埠號和服務的連線埠號來確定正確的伺服器軟體進程(執行緒)。
5、伺服器軟體的組成
伺服器軟體一般分為兩部分:一部分用於接受請求並創建新的進程或執行緒,另一部分用於處理實際的通信過程。
6、客戶/伺服器之間使用的傳送層協定
可以是基於連線的TCP協定,要求建立和釋放連線,適用於可靠的互動過程;
也可以是無連線的UDP協定,適用於可靠性要求不高的或實時的互動過程;
同時使用TCP和UDP的服務,有兩種伺服器軟體的實現或伺服器軟體同時和TCP、UDP協定互動,不對客戶做限制。
7、客戶和伺服器的互動
1)支持協定:在INTERNET中,客戶和伺服器的互動通過使用TCP/IP協定棧來完成。因此,客戶和伺服器所在的機器要求支持完全的協定棧。客戶/伺服器通過套接字訪問傳送層服務。
2)多種服務:一台計算機上可以運行多個伺服器軟體,但是要求計算機有強大的硬體資源(伺服器級別的計算機)和多任務作業系統(UNIX和WIN95/98/2000/NT)。
3)服務的標識:客戶是通過服務的標識來訪問某種服務的,比如在INTERNET中,服務是用連線埠號來標識,UNIX在/etc/services檔案中定義。伺服器軟體啟動時將其標識通知傳送層實體。

優點

1.簡化了執行體。可以在用戶態伺服器中構造各種各樣的API,而不會有任何衝突或重複;可以很容易地加入新的API。
2.提高了可靠性。每個新的服務運行在核心之外,有自己的存儲空間,這樣可以免受其他服務的干擾,單個客戶的失敗不會使作業系統的其餘部分崩潰。
3.為應用程式與服務間通過RPC調用進行通信提供了一致的方法,且沒有限制其靈活性。函式樁(function stub)把訊息傳遞進程對客戶應用程式隱藏起來,函式樁是為了包裝RPC調用的一小段代碼。當通過一個API訪問一個環境子系統或服務時,位於客戶端應用程式中的函式樁把調用參數包作為一個訊息傳送給一個伺服器子系統執行。
4.為分散式計算提供了適當的基礎。典型地,分散式計算使用客戶/伺服器模組,通過分布的客戶和伺服器模組以及客戶與伺服器間的訊息交換實現遠程過程調用。對於Windows,本地伺服器可以代表本地客戶應用程式給遠程伺服器傳遞一條訊息,客戶不需要知道請求是在本地還是在遠程得到服務的。實際上,一條請求是在本地還是遠程得到服務,可以基於當前負載條件和動態配置的變化而動態變化。

相關詞條

熱門詞條

聯絡我們