網路伺服器

計算機區域網的核心部件

網路伺服器是計算機區域網的核心部件。網路操作系統是在網路伺服器上運行的,網路伺服器的效率直接影響整個網路的效率。因此,一般要用高檔計算機或專用伺服器計算機作為網路伺服器。網路伺服器主要有以下4個作用:

運行網路操作系統,控制和協調網路中各計算機之間的工作,最大限度地滿足用戶的要求,並做出響應和處理。

存儲和管理網路中的共享資源,如資料庫、文件、應用程序、磁碟空間、印表機、繪圖儀等。

·為各工作站的應用程序服務,如採用客戶/伺服器(Client/Server)結構使網路伺服器不僅擔當網路伺服器,而且還擔當應用程序伺服器。

對網路活動進行監督及控制,對網路進行實際管理,分配系統資源,了解和調整系統運行狀態,關閉/啟動某些資源等。

工作方式


在標準的C/S模式計算機網路中,網路伺服器可在兩種不同的方式下工作:循環方式(iterative mode)和併發方式(concur-rent mode)。循環方式是在伺服器中一次只能運行一個伺服器進程,當多個客戶請求服務時,伺服器進程就按請求的先後次序依次做出響應;併發方式則可在伺服器中同時運行多個伺服器進程,而每個伺服器進程都對某個特定的客戶請求做出響應。
這兩種伺服器模型各有優缺點。當服務耗時較長時,如果採用循環伺服器,客戶機將得不到快速響應,甚至可能出現客戶機請求被拒絕的情況,但是這種伺服器消耗的系統資源很少,實現起來比較簡單。併發伺服器為每一個請求創建一個子進程,可以保證同時處理多個客戶機請求,使用這種伺服器模型一般不會造成拒絕客戶機請求的情況,但是如果頻繁創建子進程,將會加重伺服器的負擔。在實際的網路應用中,伺服器要同時處理多個客戶的請求,所以通常採用併發方式。

實現技術


通常,網路伺服器可以採用如下4種實現技術:
1)“”即時創建,即時銷毀策略“”,即伺服器和每個發出請求的客戶機進行連接,並為每個客戶機的請求創建一個子進程來處理。
併發伺服器啟動后,系統守護進程在某個固定的埠監聽是否有客戶發起連接請求。如果收到某個客戶的請求,伺服器守護進程創建一個子進程來處理客戶的請求,而守護進程則繼續在原有埠監聽其他客戶的連接請求。子進程完成對客戶的服務后,關閉連接,釋放其佔有的資源,自動退出。
顯然,這種併發伺服器存在以下不足:(1).統時延長。在為客戶進程提供服務前,伺服器父進程需創建一個新的子進程,因此客戶進程必須至少等待創建一個子進程的時延。對於一些實時性要求很高的網路應用,這樣的時延是不能忍受的;(2)潰源耗用大。對於每個客戶進程的請求,伺服器父進程都要創建新的子進程。每個子進程都要佔用幾乎與父進程相當的資源。因此,在許多系統中都對創建進程的數量做了限制;(3)潰源利用率低。父進程和子進程間缺乏一種有效的進程間通信機制,使得父進程不能有效地對子進程進行控制,同時子進程在完成對客戶進程的服務后將自行終止,不能被重複利用。不能繼續為其袖客戶講程服務。
2)伺服器預先創建多個子進程,由子進程處理客戶機請求,這種方式稱為“預創建’。
基於“預創建”技術的伺服器解決了客戶進程等待的時延問題,但也存在以下問題:(1)務器端始終保持固定數量的子進程,這樣即使沒有客戶進程的連接請求,系統中也將保持這些空閑的進程,造成對系統資源的浪費;(2)期民務器只是提供固定數量的子進程,如果客戶連接請求數超過了子進程數,那麼客戶進程必須等待其它客戶進程的服務終止,這可能造成更大的時延;(3如果某個子進程異常退出,伺服器端可同時支持的客戶進程連接數將減1,這將削弱伺服器的併發處理能力。
為了克服上述問題,可採用動態“預創建”技術,即伺服器父進程根據系統的資源狀態或用戶的請求數量創建一定數量的子進程,然後將其放到一個“池子”中,形成一個“進程池”。當有客戶請求到達時,不是新創建一個進程為其服務,而是從“池子”中選擇一個空閑的進程為其服務。服務完畢后,進程進入空閑狀態。如果同時請求的客戶數目比進程池中進程數目要大,系統可根據系統資源的狀態,增加“池中”進程的數量,也可以將客戶請求排隊或簡單的丟棄,這要視具體情況而定。採用這種技術,加快了伺服器的響應時間,提高了資源的利用效率,有效地防止了由於客戶請求過多而造成的伺服器崩潰問題。
3)伺服器用函數select實現對多個客戶機連接的I/O多路復用;
除了可以採用多進程或多線程實現併發伺服器之外,還可以採用I/O多路復用技術。通過該技術,系統內核緩衝I/O數據,當某些I/O準備好后,系統將通知應用程序該I/O可讀或可寫,這樣應用程序可馬上完成相應的I/O作,而不再等待系統完成相應I/O操作,從而應用程序不必因等待I/O操作而阻塞。
與多進程或多線程相比,I/O多路復用技術的最大優勢是系統開銷小,系統不必創建進程和線程,也不必維護這些進程和線程,從而大大減少了系統的開銷。
4)超級伺服器激活輔助伺服器的策略。
這種模式的伺服器需要多個伺服器,其中一個伺服器(超級伺服器)在熟知的埠等待客戶發來的請求。超級伺服器一旦收到客戶的請求,就立即激活一個從屬伺服器,並將該用戶的請求轉移到激活的從屬伺服器上。然後從屬伺服器與客戶程序保持連接,完成對客戶請求的處理,而超級伺服器繼續在原來埠監聽客戶的請求。
在這種伺服器模型中,每個從屬伺服器仍然是一個併發伺服器,因而系統的併發能力顯著提高,但是,採用這種伺服器模型需要增加伺服器的數量,因而增加了系統的成本,通常用作一些訪問量比較大的網路伺服器。

組成及劃分


伺服器軟體

伺服器軟體的定義如前面所述,伺服器軟體工作在客戶端-伺服器或瀏覽器-伺服器的方式,有很多形式的伺服器,常用的包括:
文件伺服器- 如Novell的NetWare
資料庫伺服器- 如Oracle資料庫伺服器, MySQL, PostgreSQL, Microsoft SQL Server等
郵件伺服器- Sendmail, Postfix, Qmail, Microsoft Exchange,Lotus Domino等
網頁伺服器 - 如Apache, thttpd, 微軟的IIS等
FTP伺服器- Pureftpd, Proftpd, WU-ftpd, Serv-U,VSFTP等
應用伺服器- 如Bea公司的WebLogic,JBoss,Sun的GlassFish
代理伺服器- 如Squid cache
計算機名稱轉換伺服器 - 如微軟的WINS伺服器

伺服器硬體

伺服器大都採用部件冗餘技術、RAID技術、內存糾錯技術和管理軟體。高端的伺服器採用多處理器、支持雙cpu以上的對稱處理器結構。在選擇伺服器硬體時,除了考慮檔次和具體功能定位外,還需要重點了解伺服器的主要參數和特性,包括處理器構架、可擴展性、伺服器結構、I/0能力和故障恢復能力等。可以按多種標準來劃分伺服器類型。
1. 根據應用層次或規模檔次劃分
● 入門級伺服器:最低檔伺服器,主要用於辦公室的文件和列印服務。
● 工作組級伺服器:適於規模較小的網路,適用於為中小企業提供Web、郵件等服務。
● 部門級伺服器:中檔伺服器,適合中型企業的數據中心、Web網站等應用。
● 企業級伺服器:高檔伺服器,具有超強的數據處理能力,適合作為大型網路資料庫伺服器。
2. 根據伺服器結構劃分
● 台式伺服器:也稱為塔式伺服器,這是最為傳統的結構,具有較好的擴展性。
機架式伺服器:機架式伺服器安裝在標準的19英寸機櫃裡面,根據高度有1U(1U=1.75英寸)、2U、4U和6U等規格。
刀片式伺服器:是一種高可用、高密度的低成本伺服器平台,專門為特殊應用行業和高密度計算機環境設計,每一塊“刀片”實際上就是一塊系統主板。
● 機櫃式伺服器:機箱是機櫃式的,在伺服器中需要安裝許多模塊組件。
3. 根據硬體類型劃分
● 專用伺服器:專門設計的高級伺服器,採用專門的操作系統(如UNIX、MVS、VMS等),主要用於資料庫服務和Internet業務,一般由專業公司提供全套軟硬體系統及全程服務。
● PC伺服器:以Intel或Motorola專用處理器為核心構成的伺服器,兼容多種網路操作系統和網路應用軟體,性能可達到中檔RISC伺服器水平。

詞義辨析


有時,我們會看到不同於網路伺服器的另一個概念Web伺服器,這兩種定義會引起混淆。前者是指用於網站的計算機,後者是指包括Apache這樣的軟體,運行在一台計算機上以管理網頁組件和回應網頁瀏覽器請求的程序。

安全措施


(1)做好伺服器系統備份,以備及時恢復。
(2)關閉不必要的服務埠,只開需要的埠。
(3)異常進程安全檢查,及時對伺服器操作系統安裝更新。
(4)系統中安裝軟體防火牆,殺毒軟體。
(5)開啟日誌服務檢查黑客行蹤。
(6)加密、認證安全技術的實施。

間接影響


各大搜索引擎都在選擇一些用戶體驗度比較好的網站做出比較好的排名,網站的PV值直接影響到網站的排名。那麼,如果你選擇的是這樣的優質伺服器租用商的的產品的話,每個訪客在訪問你的網站的時候速度都很快,自然PV值就會高。那麼在你網站的體驗自然就會好,如果每個訪客都這樣的話,慢慢地搜索引擎的友好度就會有所提升。那麼自然給予比較好的權重。所以優質的網路寄存空間是客戶體驗度提升的基礎。