在英文中 proxy 就是『代理』的意思,原本 Proxy Server (代理伺服器)
是使用在裝有 Firewall (防火牆) 的網路架構中。所謂防火牆是用來保護網路的安全,
利用防火牆我們可以將內部網路與外部網路區隔開來,所有的進出動作都必需
要經過特定關口才得以進行(這樣做的目的在紀錄與監視進出的資料),而這關口
就是 Proxy Server;對外面網路世界中的機器來說,
它們只看的到這個關口 (Proxy Server),而看不到這牆內的機器,
而牆內的機器也必需透過這個關口才能出去,所以我們稱這台機器為代理伺服器。
後來,為了增加效率人們在 Proxy Server 中加入大量的硬碟空間 (比起傳輸所花的
時間與網路通訊費用來說, 硬碟可說廉價的多) 來儲存進出資料的內容及來源目的,
以空間換取時間的策略,達到增加存取效率的目的。
目前網際網路上的應用眾多,其中以 World Wide Web 為最大宗。
這種富含圖形、聲音與影像的應用其實是很消耗網路頻寬的;
於是如何能有效降低網路的負載,而又能提昇使用的效率,
便是十分重要的研究方向了。
Proxy server便是減低網路負載與增加使用效率的方法;
當使用者設定好proxy server 之後,所有的網路資料便將由 proxy server 供給。
此時 proxy server 可以決定要將已存在於磁碟中的資料傳送給使用者,
還是必須向外界抓取資料。
Proxy server 的好處在於,當某筆資料已經被抓取過而存於 proxy server的
磁碟裡之後,接下來欲抓取此筆資料的人,便不需要再花時間等待 proxy server
去外界抓取資料,而可以直接的取用存於 proxy server 上的資料,以節省
使用者的時間與網路的頻寬。若 proxy server 上沒有這筆資料,則將去外界
抓取資料,傳遞給使用者的同時,也將存一份copy 在 proxy server 上以利
下一位使用者的抓取。
舉例來說,慣用微軟軟體的人不可不知道微軟的網站 http://www.microsoft.com ,
許多人也常去微軟網站截取最新消息或下載程式;電算中心有人要看,
他必需連到www.microsoft.com 取得資料一次,電子科有人也要看,他也
必需到 www.microsoft.com去再截取一次,如果竹師今天有二十個人要看,那就
必需去 www.microsoft.com 截取資料二十次,這對我們對外僅有的 T1
(1.544 Mbps, 約為 24 台 56Kbps 數據機的速度),TANet 對國外(連至美國)
僅有的兩條 T1 (1.544Mbps x 2) 的頻寬來說是多麼的浪費(www.microsoft.com
是位於美國,相同的東西從美國重覆傳到竹師二十次),而且你也會覺得用起來
非常非常的慢。
假始今天我們有一台 Proxy Server,而所有的竹師 WWW 使用者都有設定
這台 Proxy Server,那麼情況就改變不同了。第一個要讀 www.microsoft.com
的使用者會先到這台 Proxy Server上先找看看有沒有 www.microsoft.com 的
最新資料,如果沒有,則由這台 Proxy Server 代理他到www.microsoft.com
抓取一份資料之後放在 Proxy Server 上也傳送給第一位使用者。而最辛運的
是第二位以後的使用者,當他要連往 www.nba.com 時,他的機器會先到
Proxy Server 上看看,結果有資料,則就直接由 Proxy Server 取回資料
即可,他所用的速度是校內的網路速度,至少也有 10 Mbps,絕對比連校外
的速度快。
當然這只是 proxy 的概念,真正的 proxy server 在運作時,
利用了許多特殊的協定與技巧,來確保資料的完整性與時效性,
並藉由與其它 proxy server 的互動,來增加其效率。
傳統的 Proxy Server 是底下的機器先向 Proxy Server 做 request ,
若 Server 中沒有就直接由 Server向目的地擷取資料。這對大都數的 Proxy Server
來說好像是又太浪費一些,現在新的概念是以 Parent 及 Sibling 的概念
來做。舉例來說, 本中心 Server 的 Parent 是 交通大學的 Proxy Server,
當今天有使用者向本中心的 Server request 之後,發現本 Server 內沒有
這份資料,因此我們 Server 並不是向目的地直接取得資料,而是向本
Server 的 Parent詢問看看是否有所需之資料,如果有則由 Parent 傳回,若無
則再由我們 Server Parent 代為處理,如此更能增加處理的速度。
Proxy server 的使用在 Internet 上是一種趨勢,便是想有效降低網路的負載。
理論上,排除軟硬體的效率瓶頸,越多人使用的 proxy server,速度也會是越快,
所以請大家多使用相同的 proxy server,利己也利人。
原作者:許至凱、中華大學計算機中心蔡智強、新竹師院電算中心林逸祥
--
曾經滄海難為水 除卻巫山不是雲
取次花叢懶回顧 半緣修道半緣君
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 139.223.28.55