複製鏈接
請複製以下鏈接發送給好友

代理服務器

鎖定
代理服務器(Proxy Server)的功能是代理網絡用户去取得網絡信息。形象地説,它是網絡信息的中轉站,是個人網絡和Internet服務商之間的中間代理機構,負責轉發合法的網絡信息,對轉發進行控制和登記。 [1] 
代理服務器作為連接Internet與Intranet的橋樑,在實際應用中發揮着極其重要的作用,它可用於多個目的,最基本的功能是連接,此外還包括安全性、緩存、內容過濾、訪問控制管理等功能。更重要的是,代理服務器是Internet鏈路級網關所提供的一種重要的安全功能,它的工作主要在開放系統互聯OSI)模型的對話層 [1] 
中文名
代理服務器
外文名
Proxy Server
作    用
充當防火牆、節省IP開銷等
功    能
代理網絡用户去取得網絡信息
屬    性
一種計算機應用軟件
性能指標
吞吐量、最大併發連接數、丟包率等

代理服務器簡介

隨着Internet與Intranet的飛速發展,作為連接Internet與Intranet的的橋樑,代理服務器在實際應用中發揮着極其重要的作用。 [2] 
代理服務器是網絡信息中轉站。一般情況下,使用網絡瀏覽器直接去鏈接其它Internet站點並取得網絡信息時,須送出請求信號來得到應答,然後對方再把信息傳送回來。代理服務器是介於瀏覽器和Web服務器之間的一台服務器,有了它之後,瀏覽器不是直接到Web服務器去取回網頁而是向代理服務器發出請求,請求信號會先送到代理服務器,由代理服務器來取回瀏覽器所需要的信息並傳送給你的瀏覽器。而且,大部分代理服務器都具有緩衝的功能,就好像一個大的Cache,它不斷將新取得數據包存到它本機的存儲器上,如果瀏覽器所請求的數據在它本機的存儲器上已經存在而且是最新的,那麼它就不重新從Web服務器取數據,而直接將存儲器上的數據傳送給用户的瀏覽器,這樣就能顯著提高瀏覽速度和效率。
代理服務器不僅可以實現提高瀏覽速度和效率的功能,它還可以實現網絡的安全過濾、流量控制(減少Internet使用費用)、用户管理等功能,因此它既是一種網絡防火牆技術,同時也可以解決許多單位連接Internet引起IP地址不足的問題。

代理服務器工作原理

代理服務器作為一種既是服務器又是客户機的中間程序,主要用於轉發客户系統的網絡訪問請求。但是,代理服務器不只是簡單地向真正的因特網服務器轉發請求,它還可以控制用户的行為,對接收到的客户請求進行決策,並根據過濾規則對用户請求進行過濾。
通過代理服務器,網絡管理員可以實現比用包過濾路由器更嚴格的安全策略。不同於使用通用的包過濾路由器來管理通過防火牆的因特網服務流向,代理服務器通過在網關上為每項需要的應用安裝專用的代碼(代理服務)來工作。如果網絡管理員沒有為某一特殊服務安裝代理服務代碼,該服務就不會被支持,也不會通過防火牆轉發相應的客户請求。並且,這種代理服務器碼能被配置成僅支持某項服務的網絡管理員認為可以接受的那部分特徵,而不支持其他的特徵。

代理服務器主要功能

代理服務器具有許多功能。對於我們個人用户而言,通過代理上網,能讓我們訪問一些直接訪問會比較慢的網站,比如互聯網用户訪問教育網的網站。對於單位而言,內部使用代理可以預先過濾一些病毒,保障上網的安全,還能有效地進行訪問控制、網速限制,上網監控等等。 [3] 
以下介紹代理服務器的基本功能 [4] 
(1)一個lP地址或Internet賬户供多個用户同時使用
在目前情況下,IP地址是Internet中有限的寶貴資源,如果將這些IP地址僅僅用於單個的請求Internet訪問的用户,不能不説是一種資源浪費。使用代理服務器可以做到通過一個IP同時向多個用户提供Internet的訪問,對於通過電話撥號連通Internet的內部網絡,則可以實現利用一條電話線,一個modem和一個Internet賬户,讓內部網絡上所有用户同時訪問Internet,這樣就充分利用了IP地址資源。
(2)緩存功能,可以降低費用,提高速度
安裝時,代理服務器會在硬盤上開出一塊磁盤空間作為緩存區,將代理用户從Internet上接收的內容下載一份保存起來,當再有用户訪問同樣內容時,就直接從緩存區傳送給用户,而不再從Internet上尋找。代理服務器的這項功能可以大大地提高訪問速度,同時也降低了通信費用,是一項相當重要的功能。
圖1 代理服務器 圖1 代理服務器
(3)對內部網絡用户進行權限和信息流量計費管理
通過代理服務器,網管員在提供Internet服務時,可以容易地對內部網絡用户進行訪問權限和信息流量計費的管理。網管員不但能夠做到只允許被授權的局域網用户訪問Internet,還能夠控制這些用户在哪些時間、使用哪台計算機訪問哪些類型的Internet服務。對於已經獲准訪問的Internet的用户,網管員還能夠按照多種方式進行信息流量的計費管理,如:按照個人計費、按照部門所屬計算機計費等,為網絡管理帶來了極大的方便。
(4)對進入內部網絡的Internet信息實施監控和過濾
為了避免那些與業務無關的信息進入內部網絡浪費通信資費,各個機構對允許訪問的內容往往有一些相應的規定。通過代理服務器,網管員不但可以採取過濾的方法簡便地控制從Internet流入內部網絡的信息內容,還能對用户訪問Internet的情況進行實時監控和建立監查日誌存檔備查。

代理服務器主要分類

圖2 代理服務器實現模型 圖2 代理服務器實現模型
通過代理服務器共享上網從技術實現角度來説可以分為硬件共享上網和軟件共享上網兩種方式,從代理服務器工作的層次的角度來説可以分為應用層代理、傳輸層代理和SOCKS代理。 [5] 
應用層代理工作在TCP/IP模型的應用層之上,它只能用於支持代理的應用層協議(如HTTPFTP)。它提供的控制最多,但是不靈活,必須要有相應的協議支持。如果協議不支持圖2所示的代理服務器實現模型(如SMTPPOP),那就只能在應用層以下代理,也即傳輸層代理。最後一種代理需要改變客户端的IP棧,即SOCKS代理。它是可用的最強大、最靈活的代理標準協議。以下將從代理服務器工作的層次的分類角度上介紹幾種不同層次的代理服務器。 [6] 

代理服務器應用層代理

圖3 帶有Cache數據庫的HTTP協議代理模型 圖3 帶有Cache數據庫的HTTP協議代理模型 [2]
這裏主要介紹基於HTTP協議的代理服務器。HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分佈式超媒體信息系統。根據HTTP協議規定,當客户端使用代理模式時,發送的請求命令格式如下:methodhttp://hostname/path/⋯/fiIename。
當客户端同網絡代理服務系統建立連接後,代理服務器將收到請求命令,這時代理服務器應該截取主機名部分進行域名解析,並同該主機建立連接,將去掉主機名部分的請求命令轉發給它,等待它做出響應,然後將得到的響應轉發給客户端,最後斷開連接。其模型如圖3所示。 [2] 

代理服務器傳輸層代理

傳輸層代理直接與TCP層交互,更加靈活。要求代理服務器具有部分真正服務器的功能:監聽特定TCP或UDP端口,接收客户端的請求同時向客户端發出相應的響應。 [6] 

代理服務器socks代理

Socks是一個客户/服務器環境的代理協議。它包括兩個主要的組件,Socks服務器和Socks客户庫。Socks服務器實現在應用層,Socks客户庫實現在客户的應用層與傳輸層之間。一個代理服務器為客户機應用服務器建立連接,代理服務器在客户與應用服務器之間中轉數據,從應用服務器的角度來看,代理服務器是客户。 [7] 
當客户想建立到應用服務器的連接時,先連接到代理服務器。應用服務器的地址和端口號通過代理協議被傳遞到代理服務器,然後,代理服務器再連接到應用服務器。一旦到應用服務器的連接被建立,代理服務器在客户與應用服務器之間中轉數據。 [7] 
目前,有兩個版本的Socks協議,版本4和版本5。Socks版本4被簡寫為“Socks V4”,Socks版本5被簡寫為“Socks V5”。 [7] 

代理服務器網絡影響

隨着Internet的應用越來越廣,Internet各項服務的安全問題也越來越突出,提供一個安全的網絡環境也就變得日益重要。一般可以從兩個方面實現Internet安全服務 [8] 
(1)訪問控制,訪問控制是保護網絡的第一道防線,一般由防火牆實現。
(2)通信安全,此種服務提供對數據加密、在通信對方認證、雙方無法抵賴、數據在傳輸過程中的完整性等服務,可以在應用層、傳輸層網絡層實現。
代理服務器架構 代理服務器架構
Internet上的代理服務是防火牆的一種形式,屬於應用級網關,內部網絡與外部網絡之間沒有直接的連接,外部計算機的網絡鏈路只能到達代理服務器,明顯地增加了網絡的安全性,另外,代理服務器相對於包過濾來講,能進行用户級的認證,即可以限制某些用户訪問某些Internet站點或使用某種Internet服務等,從而大大提高了網絡的安全性。 [9] 
然而代理服務器的廣泛應用,也使它成為網絡攻擊的重點目標。目前的代理服務器並不能為用户提供可靠的安全性,甚至無法保障其自身的安全,所以研究並提高代理服務器的安全備受關注。 [10] 
參考資料