第三屆離島資訊技術與應用研討會,2003 年 6 月
容錯、流量共享、負載平衡之分散式快取代理伺服器系統建置
龔旭陽 林靖祐 顧浩翔
國立屏東科技大學資訊管理學系
[email protected], [email protected], [email protected]
摘要
目前網際網路(Internet)使用人口每年快速成 長,並利用多媒體(Multi-media)相關技術來展示與 表達資訊,因此均利用較大之多媒體資訊進行傳 輸,導致在網路流量尖峰時段,現有之網路頻寛往 往不敷使用,以致網路反應延遲(Delay)與不穩定 現象。因此除了提升對外線路頻寬外,亦建立快取 代理伺服器(Cache Proxy Server)來解決頻寬不足 之問題。快取代理伺服器之架設可節省對外網路頻 寬,所提供快取(Cache)服務,可透過避免同一區 域網路內使用者對外重覆下載相同資料,以節省對 外網路頻寛並提高傳輸速率,甚至降低目的網站負 擔。但只提供單純之快取服務是不足的,如何再提 高其穩定度、傳輸速度才是該重視之重點,因此本 論文利用路由表(Routing Table)之設定、Squid 建立 與調整協力代理存取(Peer Access)及存取控制列表 (Access Control List, ACL)之設定並做一整合,建 置 出 具 有 負 載 平 衡 (Load Balance) 、 容 錯 (Fault Tolerance)、分散式(Distributed)、流量共享(Load Sharing)機制之高效能代理伺服器主機群,以提高 存取速率提供完善、穩定之服務品質。 關鍵詞:代理伺服器、負載平衡、容錯、分散式、 流量共享Abstract
As the rapid deployment of broadband Internet, multimedia presentation is required. However multimedia communications speed high bandwidth to transmit information. Furthermore, the limited bandwidth is not enough to support traffic requirement the peak. There are two solutions to
solve this problem, which are to expand bandwidth and build up cache proxy servers. In this paper, we design and development four proxy servers to achieve the functions, which are the load balance, fault tolerance, distributed and load sharing. These technologies achieve high access rate, high performance, and stable connection quality. The proposed deployment schemes is based on the adaptive routing table to turn up peer access and the access control list in squid daemon.
Keywords: Cache Proxy Servers, Fault Tolerance,
Load Balance, Distributed, Load Sharing.
前言
隨著全球網際網路(Internet)盛行,客戶端 (Client)可透過瀏覽器(Browser)快速在全球資訊網 路(World Wide Web, WWW)中尋找所需之資訊或 下載大量多媒體資料。不過隨著網際網路使用者的 快速成長,網際網路上資料傳輸效率已成為一個非 常受重視之議題。以國立屏東科技大學為例,圖 1 為利用流量監測軟體 (Multi Router Traffic Grapher, MRTG)所監測得國立屏東科技大學全校對外流量 分析圖。由圖 1 可知每日二十一點至隔日凌晨二點 時段為網路流量高峰時段,該時段每小時最大總流 入量可高達 95.4Mb/秒,而再經由一個星期的宿網 下載速度監測,發現該時段單一使用者平均下載速 度約略為 52Kbps/秒,其它時段卻可高達 81Kbps/ 秒,該時段於校園宿舍內所測得之平均下載速率比 其它時段約略相差 30Kbps/秒之多,由此得知若區 域網路(Local Area Network, LAN)同時段內使用者 過多,將導致整體區域網路對外出現延遲壅塞現
圖 1 國立屏東科技大學全校流量圖 象,因此如何改善傳輸模式,以有限對外線路頻寬 提供使用者有效率且快速的網路傳輸服務,一直都 是各所學校網管所重視的議題。而一般作法為增加 對外線路頻寬或建置代理伺服器提供快取服務策 略來解決頻寬不足之問題。 快取代理伺服器擁有建置成本低廉、效能佳、 安裝容易等優點,因此一般企業及學術單位大都採 用建構專業快取代理伺服器(Cache Proxy Server) 來解決對外頻寛不足。但並非影響網路傳輸速度因 素皆取決於對外頻寬不足,除了該要素外尚包括目 的網站負擔過重、路由(Route)選擇不佳、對外網 路線路或快取代理伺服器不穩定等問題,因此本論 文針對快取代理伺服器進行更深入研究,並提出具 有 負 載 平 衡 (Load Balance) 、 容 錯 (Fault Tolerance )、分散式(Distributed)、流量共享(Load Sharing)等機制之高效能代理伺服器主機群來解決 以上所面臨之問題。 本論文共分為五個章節來對本系統與技術進 行介紹,第二節為相關研究背景,主要針對本論文 所採用的技術作一論述,第三節系統架構與實作將 論述本系統之整體架構及功能,第四節為效能分 析,第五節是整篇文章之總結與為來方向。
研究背景
本論文所需之研究背景與相關技術,主要包 括(i) 代理伺服器(Proxy Server)與(ii) 非對稱數位 用 戶 迴 路 (Asymmetric Digital Subscriber Line, ADSL),以下為本論文相關技術之分述。 一、代理伺服器(Proxy Server) 客 戶 端 (Client) 端 以 HTTP 協 定 向 伺 服 器 (Server) 請 求 (Request) 服 務 , 伺 服 器 隨 即 回 覆 (Response)客戶端要求並下載相關資料。由於伺服 器與客戶端所在位置可能相當遙遠,因此在傳輸速 度上難免會有所影響,漸漸發展出快取(Caching) 之概念。快取運作原理即是將使用者曾經下載過之 檔案資料儲存在較靠近使用者的儲存設備上,當中 檔案資料可包括文字(Text)、影像(Image)、網頁 (Web)或超連結(Hyper link)等資料,如此可將使用 者與目的伺服器間距離縮短,減少擷取資料的傳輸 時間,可大幅改善網際網路傳輸效能。 目前一般客戶端所使用之瀏覽器已內建較小 型快取機制,使用者透過此快取機制可快速取得自 已曾經瀏覽過的檔案資料,避免客戶端自已重複下 載相同檔案資料。但在同一區域網路內,使用者對 外仍可能下載到其他使用者已下載過的檔案資 料,而浪費了有限的對外網路頻寬,為避免這種不 必要頻寬浪費,因此發展出快取代理伺服器之服務 機制,以下就由快取代理伺服器基本運作原理及其 階層結構作進一步探討。 1. 快取代理伺服器運作原理 如圖 2 所示當客戶端欲下載網路上某 WEB 網 站之檔案資料時,其瀏覽器得先向該區域之快 取代理伺服器提出要求(Request),然後再由此 快取代理伺服器將此要求轉送出至目標 WEB 伺服器,而遠端提供服務之 WEB 伺服器收到 此要求後,即將網頁或檔案資料傳送至快取代 理伺服器,快取代理伺服器在接收後會將該檔 案資料存入本身的快取(Cache)磁碟中,同時將 網頁結果回應至用戶端。當其它用戶端欲下載 相同資料,而向快取代理伺服器提出要求時, 快取代理伺服器首先檢查自己快取磁碟中是否 具有相同資料,若是所要求資料已有其它用戶 端曾要求取得過,且暫存在快取磁碟中,即可 快速搜尋得到自已所要下載之相同資料,此搜 尋得到即為快取資料命中(Cache Hit),如此便 不必再向遙遠的伺服器端重新請求下載,而直 接將快取磁碟中這份資料傳回給客戶端,相關 Cache hit 如圖 3 所示。反之,若此要求資料並快取代理伺服器 (Cache Proxy Server)
遠端伺服器 (Remote Server) Request Response Cache 客戶端 (Client) Request Response 圖 2 代理伺服器基本運作原理(i) 快取代理伺服器 (Cache Proxy Server)
遠端伺服器 (Remote Server) Request Response Cache Hit命中 客戶端 (Client) 圖 3 代理伺服器基本運作原理(ii) 無暫存於快取磁碟中,則快取代理伺服器會將此 要求轉送出去,取得其網頁或檔案元件後,快取 代理伺服器再將該檔案資料存入本身快取磁碟 中,以備其他使用者快取下載。 2. 快取代理伺服器階層結構 為提升快取代理伺服器之快取效能及快取命中 率,因此可能由多部快取代理伺服器同時提供服 務,但採用此作法時,其快取代理伺服器群組間 需做非常緊密的溝通,以交換彼此最新的快取資 訊。目前 Internet 上定義出 Internet Cache Protocol (ICP)通訊協定,以讓快取代理伺服器彼此能進 行溝通,以取得相鄰快取代理伺服器中是否存在 某些 URL 訊息,以達到多部伺服器相互分享資 源。若以相鄰快取代理伺服器間之關係可區分為 三種類型(1)父節點(Parent):上層之快取代理伺 服器、(2)兄弟節點(Silbing):同一階層快取代理 伺服器與(3)子節點(Child):下層之快取代理伺 服器[2]。其運作流程如圖 4 所示,為當快取代 理伺服器接受到客戶端之要求時,會先查詢本身 快取磁碟中是否有相同資料,有則直接回傳,若 無則透過 ICP 協定傳送至 Silbling 或 Parent 快 取代理伺服器請求協助;當 Silbling 或 Parent 快取代理伺服器接受要此要求時,亦會先查詢本 身快取磁碟中是否有相同資料。若見有所要求之
Proxy Server Sibling Proxy
ICP Query 平行關係 ICP Query 階層關係 Parent Proxy 目標網域 代理Child Proxy抓取資料 代理客戶端抓取資料 圖 4 階層結構關係圖 資料則通知發出要求之 Proxy 前來抓取資料;若 無則回應無此資料。當鄰近之快取代理伺服器皆 無所需資料時,則快取代理伺服器會自動至目的 網站抓取資料,或透過 Parent 快取代理伺服器 代 為 抓 取 , 此 動 作 即 為 協 力 代 理 存 取 (Peer Access)。透過這樣的階層架構,我們可以提高 代理伺服器命中(Hit)已下載過資料的機率,提供 更快速的快取服務。 二 、 非 對 稱 數 位 用 戶 迴 路 (Asymmetric Digital Subscriber Line, ADSL)
現今學術單位大多以數據專線連結至台灣學 術網路(TANET),其為對稱性傳輸方式,也就是上 傳和下載速率相同。但由圖 1 國立屏東科技大學全 校流量圖可得知,流入量遠遠大過於流出量,主因 是通常用戶端對遠端 WEB 伺服器送出之一個要求 (Request)只傳送出幾個字元大小的資訊,但卻從 WEB 伺服器下載大量的資訊,這就是流入量與流 出量相差如此懸殊的主因[3]。此外若單純以單一 線路對外連結時,一旦該對外線路發生問題時,則 屆時整校對連線將完全癱瘓,基於上述所遭遇問 題,本校除對稱性外亦額外增加非對稱數位用戶迴 路(ADSL)之線路,來達到線路容錯、線路備援與 線路負載平衡之功效。 非對稱數位用戶迴路是一種利用傳統電話線 來提供高速網際網路上網服務的調變/解調變技 術,其架構如下圖 5 所示。ADSL 裝機人員到客戶 端加裝 ADSL 數據機(ATU-R)及分歧器(Splitter) 後,只要將電話接到分歧器,電腦接到 ATU-R 即
HINET 電腦 ATU-R splitter 電話 ATM DSLAM 電話線 ADSL 圖 5 ADSL 架構圖 可使用高速 ADSL 上網。ADSL 的關鍵觀念在於其 上行與下行的頻寬是非對稱,這樣的設計一方面是 為了配合現有電話網路系統的限制,也符合了一般 使用網際網路流入量遠遠大過於流出量的特性,而 且其價格低廉、安裝簡易快速,就能得到高下載頻 寬服務,因此目前大多數學術單位都採用增加 ADSL 線路來擴寬對外的網路頻寬。 屏東科技大學為利用 Alteon 第四層交換器 (Layer 4 Switch )來進行流量分流(Load Sharing), 及達到線路負載平衡(Load balance)[5]。其作法是 將第四層交換器介接在快取伺服器與網際網路之 間,第四層交換器可依據網路第四層的協定來決定 路由,將 HTTP 的送至快取代理伺服器,而非 HTTP 要求者則直接轉送至網際網路,以降低快取代理伺 服器的負擔,並且第四層交換器亦可依監測網路流 量,達到各 Proxy Server 間或對所有對外網路線路 之負載平衡及容錯功能。但由於快取代理伺服器本 身亦可達到對外線路負載平衡與容錯功能,因此本 論文將對外網路線路負載平衡及容錯之工作移至 快取代理伺服器上做處理,其詳細作法請參考本論 文第三節。
系統架構與實作
國立屏東科技大學快取代理伺服器架構圖如 圖 6 所示,當中 CISCO 7513 為本校連接台灣學術 網路(TANET)之對外路由器(Router),其下第四 層交換器 ALTEN 180e 擁有 10 個區域網路集線埠 (LAN PORT) , 其 中 一 LAN PORT 以 1000Base-SX/LX 光 纖 線 路 連 結 Cisco2900 , 而 Cisco2900 再與四部快取代理伺服器連線,當中每 部快取代理伺服器皆安裝雙網卡,一片網卡連接至圖 6 國立屏東科技大學快取代理伺服器架構圖
Cisco2900 由 TANET 對外連線,另一片則連至 ADSL ATU-R 透過中華電信 ADSL 線路對外連線。
藉由較低價之 ADSL 線路擴寬校園對外網路 頻寬,以往網管人員大多數透過(Route)設定, 使 每 部 快 取 代 理 伺 服 器 達 到 負 載 平 衡 (Load Balance),平均分擔負載量,並利用 SQUID 軟體 所內建之 Access Control List 功能,達到使用者目 的網站分群,以選擇配合最適當上層代理伺服器, 進行最佳協力代理存取。當 Proxy Server 決定某網 頁資料需直接存取(Direct Access)時,再利用快取 代理伺服器內 Routing Table 來進行對外線路流量 共享(Load Sharing)功能[5]。然而若單以上述方式 來建置是不足的,因其所達到功能只包含(1) 伺服 器負載平衡、(2) 分群選擇最佳協力代理存取及(3) 直接存取時(Direct Access)線路流量共享,並無法 將快取代理伺服器發揮至最大效用。本論透過 Access Control List、Routing Table、Peer Access 等 三部分功能設定整合,調整到較佳之運作模式。因 此本系統除了擁有上述功能外,尚額外增加多項功 能,並加以改良,以下分別詳細述。
(i) 對外網路線路完全流量共享。無論該下載動作 為 直 接 存 取 (Direct Access) 或 協 力 代 理 存 取 (Peer Access)皆可達到流量共享(Load Sharing) 功能。
(ii) 線路容錯備援。當其中一條對外線路中斷時, 自動透過正常線路對外連線,如當連至 HINET 發生問題時透由 TANET 對外連線,若 TANET 斷線時,則由 HINET 對外連線,相互備援。
(iii) 上層代理伺服器容錯。本快取代理伺服器架 構,每一部快取伺服器皆設定多部上層快取代 理伺服器,其 SQUID 中設定如表 1 所示,其 分 別 為 中 山 大 學 proxy.nsysu.edu.tw 、 ccproxy.nsysu.edu.tw 及 中 華 電 信 proxy.hinet.net parent,當某一上層快取代理伺 服器發生問題停止服器時,則本架構會自動容 錯,透過正常上層快取代理伺服器進行協力代 理存取,無需另外撰寫煩雜之判斷程式協助。 表 1 上層快取伺服器設定
cache_peer proxy.nsysu.edu.tw parent 3128 3130 no-query no-digest no-netdb-exchange
cache_peer ccproxy.nsysu.edu.tw parent 3128 3130 no-query no-digest no-netdb-exchange
cache_peer proxy.hinet.net parent 80 3130 no-query no-digest no-netdb-exchange
本 Proxy Server 之建置,主要用意是要改善以 往運作模式,提供更穩定之服務,並將 Access Control List、Routing Table 與 Peer Access 等三功 能進行更緊密的結合運用,因此以下就分別對 Access Control List、Routing Table、Peer Access 等 整合設定,做詳細說明。
1. 存取控制列表(Access Control List, ACL)
在 SQUID 中 ACL 可以設定授權可使用之客 戶端包含哪些,以達到使用者分群、權限控制目 的,當中也有對目的地(Distance)網站進行分群功 能,其目的地分群設定如下所示: •ACL 分組名稱 dst ip-network/netmask …. •ACL 分組名稱 dstdomain 領域名稱 …. dst 即為目的地之意,此設定可客戶端所要下 載之目的地網站進行管理分群,當中 dst 是以遠端 伺服器之 IP 位址進行分群。dstdomain 則以遠端伺 服器之來源網域名稱或完整網域名稱進行目的地 分群。表 2 為本架構所定之目的地伺服器分群,當 中所設定 npust-ip 與 npust-dn 為國立屏東科技大學 校內網址及網域名稱、tw-ip 與 tw-dn 為台灣目前 國內之網址與網域名稱、foreign-dn 為國外網域、 HINET-dn 則定義位於 HINET 之主機網域名稱、最 表 2 存取控制列表設定表 acl npust-ip dst "/etc/Squid/npust-ip.txt" acl npust-dn dstdomain .npust.edu.tw acl tw-ip dst "/etc/Squid/tw-ip.txt" acl tw-dn dstdomain .tw
acl foreign-dn dstdomain .edu .com
acl HINET-dn dstdomain .HINET.net .seed.net acl lib-dn dstdomain "/etc/Squid/lib.txt"
後 lib-dn 即為目前圖書館向國外租用之線上資料 庫,經 ACL 設定,我們可對目的網站進行詳細分 群,以便達成存取控制及流量共享。存取及代理管 理方面,由於校內彼此傳輸無須進行快取服務,而 圖書館向國外租用之線上資料庫若透個快取代理 伺服器進行登入,亦會發生登入錯誤訊息,因此當 客戶端欲下載 npust-ip、npust-dn 及 lib-dn 等目的 地伺服器群組中網站資料時,則直接存取不必透過 快取代理伺服器抓取,以避免 IP 不符合之困擾。 因此我們於 SQUID 設定檔中將此三群組設為直接 存取,其直接存取設定如表 3 所示。 表 3 直接存取目的網站設定 always_direct allow npust-dn
always_direct allow npust-ip always_direct allow lib-dn
其中 tw-dn、tw-ip、foreign-dn、hinet-dn 之群 組規劃則是為達到本系統流量共享(Load Sharing) 功能而建立的,其主要用意要將所有使用者欲取得 之目的地網站區分為三大類,分別國內、國外及 hient 三個部份,再配合 Routing Table 與 Peer Access 設定,進行對外網路線路完全流量共享,其 Routing Table 與 Peer Access 將於下兩段中說明。
2. 協力代理存取(Peer Access, PA)
SQUID 提供階層代理伺服器的結構,快取代 理伺才器可透過上層快取代理伺服器進行協力代 理存取之動作。本系統架構採分散式(Distributed) 架構利用四部快取代理伺服器進行校園內所有客 戶端之服務,彼此可達到多部伺服器互相分享資源 的功能,以降低單一快取代理伺服器負苛,並設定 多部上層快取代理伺服器,其 SQUID 中設定如表 1 所示,其分別為中山大學 proxy.nsysu.edu.tw、
ccproxy.nsysu.edu.tw 及中華電信 proxy.hinet.net , 而同層快取代理伺服器設定如表 4 所設。
表 4 同層快取伺服器設定
cache_peer proxy2 sibling 3128 3130 proxy-only cache_peer proxy3 sibling 3128 3130 proxy-only cache_peer proxy4 sibling 3128 3130 proxy-only
存取控制列表該部份已進行使用者目的地伺 服器分群,在此透過上層快取伺服器存取規則設 定來進行選擇最佳協力代理存取,基本作法為以 使用者欲存取網址分析,達到資料分流的功能。 當客戶端發送要求至快取代理伺服器時,若本身 快取磁碟中無相同之檔案資料,快取代理伺服器 便依照其目的地網址指定上層快取代理伺服器、 同層快取代理伺服器,並由該代理伺服器進行送 出 ICP 協定傳送至該上層快取代理伺服器或同層 快取代理伺服器請求協助。若符合兩個上層快取 代理伺服器的 cache_peer_access 條件時,則同時 送出要求服務之訊號。當 Proxy Server 收到最快回 覆之上層快取代理伺服器所發出的回覆訊息時, 即透由該上層快取代理伺服器進行快取服務。表 5 為 本 架 構 協 力 代 理 存 取 規 則 設 定 , 依 照 其 Cache_Peer_Access 之設定,該設定為要求資料為 tw-ip tw-dn 等台灣網域時可透由 proxy.hinet.net 或 proxy.nsysu.edu.tw 做 協 力 代 理 存 取 服 務 , 若 為 foreign-dn 等國外地區,則由 ccproxy.nsysu.edu.tw 或 proxy.hinet.net 做上層快取代理伺服器服務。 表 5 協力代理存取規則設定
cache_peer_access proxy.hinet.net allow foreign-dn tw-ip tw-dn !npust-ip !npust-dn !lib-dn
cache_peer_access proxy.hinet.net deny all cache_peer_access proxy.nsysu.edu.tw allow tw-ip tw-dn !npust-ip !npust-dn !lib-dn
cache_peer_access proxy.nsysu.edu.tw deny all cache_peer_access ccproxy.nsysu.edu.tw allow foreign-dn !npust-ip !npust-dn !tw-ip !tw-dn cache_peer_access ccproxy.nsysu.edu.tw deny all
因此藉由存取控制列表及協力代理存取相關 設定的整合,即可達到目的網站分流的功效,且 若分流得宜,則其資料命中率將會大大提升。此 外所做之設定除了能夠達到分流、資料命中率提 高外,更可達到上層代理伺服器容錯功能,當某 上層代理伺服器發生錯誤時,相對無法以 ICP 進 行回覆,如此本系統之運作模式將會向有回覆 ICP 訊息之上層代理伺服器請求協力代理存取,如此 即無須理會發生錯誤之上層代理伺服器,以達上 層代理伺服器容錯功能。 3. 路由表(Routing Table) 藉由存取控制列表及協力代理存取相關設定 的整合,可達到目的網站分流的功效及上層代理伺 服器容錯功能,但若與上層 Proxy Server 進行協力 代理存取,同時亦能對外網路線路完全流量共享使 效能更加提升。基本作法為利用安裝有雙網卡之快 取代理伺服器主機,藉由路由表(Routing Table)與 Squid 內建協力代理存取(Peer Access)、存取控制 列表(Access Control List, ACL)設定配合,達到流 量共享的功能。在網路卡路由設定方面,其路由設 定如表 6 所示,快取代理伺服器皆安裝雙片網卡, 一片連接至 Cisco 2900 連至校內及台灣學術網路 (TANET) 對 外 連 線 , 其 閘 通 道 (Gateway) 為 140.127.1.253,由於 TANET 速度較快,因此將其 設定為預設路由(Default Route),而欲連至校內網 路 (140.127.0.0/255.255.220.0) 也 是 透 由 140.127.1.253,另一片則連至 ADSL ATU-R 透過中 華 電 信 HINET 對 外 連 線 , 其 Gateway 為 211.72.44.49,而若欲連至其它代理伺服器 HINET 網卡,也是透由 211.72.44.49 此路由。其中每個上 層快取代理伺服器皆有各別路由,因此當進行協力 代理存取時,即會依此路由表進行對外網路線路完 全流量共享。 上述整合除了可達到網路線路完全流量共享 外,亦可達到線路容錯備援,當某對外線路發生問 題時或其上層代理伺服器故障時,其對上層所發出 之 ICP 訊息,同樣無法取得 ICP 回覆訊息,伺服 器之 ICP 回覆,只能收到由中華電信快取伺服器 所發出的回覆訊息,因此本校之代理伺服器只會對 中華電信快取伺服器進行協力代理存取,而中華電
表 6 國立屏東科技大學快取代理伺服器路由表
Kernel IP routing table
Destination Gateway Genmask Use
61-219-36-250.HINET proxy1.nsysu.edu.tw proxy2.nsysu.edu.tw 61-219-36-120.HINET ccproxy2.nsysu.edu.tw ccproxy1.nsysu..edu.tw 211.72.44.48 140.127.0.0 default 211.72.44.49 140.127.1.253 140.127.1.253 211.72.44.49 140.127.1.253 140.127.1.253 * * 140.127.1.253 255.255.255.255 255.255.255.255 255.255.255.255 255.255.255.255 255.255.255.255 255.255.255.255 255.255.255.248 255.255.224.0 0.0.0.0 eth1 eth0 eth0 eth1 eth0 eth0 eth1 eth0 eth0 信快取代理伺服器其專用路由(211.72.44.49)亦進 行同步設定,因此對外將完全透由中華電信 ADSL 進行傳輸,如此即到達到線路備援之功能。
效能分析
本系統由四部快取代理伺服器建置而成,圖 7、圖 8、圖 9、圖 10 分別為利用 Pwebstats 軟體進 行四部快取代理伺服器之流量分析結果。由此四張 圖得知,系統負載平衡方面,每部伺服器每日的 HTTP Request 皆達平衡狀態,而在快取資料命中 率(Cache Hit Rate) 方面,其四部機器 Request 命 中率約略在 35%至 30%,而 Byte 也達到 23%至 20%間。 圖 7 Proxy1 流量圖 在線路容錯備援方面,先模擬對外線路斷 線 , 再 至 squid 所 產 生 之 存 取 紀 錄 檔 中 (/var/log/squid/access.log),查看其對於上層代理伺 服器代理存取的存取紀錄。由紀錄結果發現,一般 正 常 情 况 下 , 由 於 位 TANET 之 圖 8 Proxy2 流量圖 圖 9 Proxy3 流量圖 圖 10 Proxy4 流量圖proxy.nsysu.edu.tw 與 ccproxy.nsysu.edu.tw 回覆 ICP 請求速度往往比位於 HINET 之 proxy.hinet.net 上層 快取伺服器快,因此大都透過 proxy.nsysu.edu.tw 與 ccproxy.nsysu.edu.tw 進行協力代理存取。而當 將 Cisco 2900 對 TANET 線路拔除時,再查詢其紀 錄 檔 可 發 現 , 所 有 的 協 力 代 理 存 取 則 改 透 過 proxy.hinet.net 來進行代理,由此測試可得知,若 某一對外網路線路或某一上層快取代理伺服器故 障時,則本系統會自動採取線路備援與上層代理伺
服器容錯之服務。
結論
本系統規劃,主要是要讓網管人員能將快取代 理伺服器之路由表(Routing Table)、協力代理存取 (Peer Access)、存取控制列表(Access Control List, ACL)等設定做緊密配合,即可達到一高效能、容 錯、負載平衡、流量分享之環境,無需另外撰寫程 式或撰寫 PAC(Proxy Auto Configuration)檔來執行 容錯與流量分享等功能且更具效率。本系統除了具 有以往利用 Router 設定,來達到分散式快取代理 伺服器之伺服器負載平衡與平行伺服器容錯等功 能外,更具備以下優點: (i) 對外網路線路完全流量共享。無論該下載動作 為 直 接 存 取 (Direct Access) 或 協 力 代 理 存 取 (Peer Access)皆可達到流量共享(Load Sharing) 功能。本研究可依客戶端欲存取目的地伺服器 網址進行最佳對外線路選擇,以達到對外網路 線路流量共享(Load Sharing)功能。 (ii) 線路容錯備援。當其中一條對外線路中斷時, 自動透過正常線路對外連線,如當連至 HINET 發生問題時可透過 TANET 對外連線。 (iii) 上層代理伺服器容錯。當某部上層快取代理伺 服器發生問題停止服器時,則本架構會自動容 錯,透過正常上層快取代理伺服器進行協力代 理存取,無需另外撰寫判斷程式協助。 致謝:本論文承國科會專題研究計劃支援。計劃 編號:NSC 91-2219-E-020-002。
參考文獻
[1] 江而文。2000。網際網路快取伺服器之磁碟 管理。國立台灣大學。資訊工程學研究所碩 士論文。台北。[2] 李蔚澤。2002。Red Hat Linux8 架站實務。碁 峯。 [3] 林義誠、蔡殿偉、吳建和、康松連。2001。 數據專線與 ADSL 專線的分工合作-致理技術 學院負載平衡的應用。網路通訊月刊 7 月號 120 期。 [4] 高健智、賴阿福。2000。LINUX 網路實作經 典。知城。 [5] 袁勤國。2001。負載平衡、容錯、透通式 全球資訊網代理伺服系統建置。台灣區網際 網路研討會。嘉義。 [6] 許閔雄。2002。WWW 代理伺服器上快取同 步機制之分析與設計。國立交通大學資訊科 學系碩士論文。新竹。 [7] 陳雅秀。2000。精通 Linux 網路伺服器架設實 務。松崗。 [8] 國 立 中 正 大 學 代 理 伺 服 器 網 頁 , “http://proxy.nsysu.edu.tw”。