陳君
(廣東輕工職業(yè)技術(shù)學(xué)院,廣東廣州510300)
在當(dāng)前的網(wǎng)絡(luò)環(huán)境中,雖然網(wǎng)絡(luò)技術(shù)不斷發(fā)展,但是帶寬資源還是非常有限的。隨著網(wǎng)絡(luò)應(yīng)用的進(jìn)一步擴(kuò)大,帶寬要求越來越高,特別是在高校中,由于擴(kuò)招、數(shù)字化校園建設(shè)等因素,學(xué)生人數(shù)越來越多,網(wǎng)絡(luò)應(yīng)用越來越深入,校園網(wǎng)絡(luò)出口帶寬不能滿足需求。尤其當(dāng)基于debian的linux發(fā)行版更新時,大量用戶同時更新,壓力就很明顯。僅通過增加出口帶寬不僅成本高,而且無法長時間滿足用戶對帶寬的需求。通過基于linux的apt-cacher技術(shù)、通道聯(lián)合技術(shù),把軟件倉庫緩存到校園網(wǎng)內(nèi)部,可以減輕網(wǎng)絡(luò)出口并發(fā)流量的壓力,把出口帶寬留給數(shù)字化校園建設(shè)中重要的網(wǎng)絡(luò)應(yīng)用。
隨著linux技術(shù)的發(fā)展,各個linux發(fā)行版都建有自己的軟件倉庫,使得用戶可以便捷地獲取軟件及相關(guān)更新。在debian linux快速發(fā)展的同時,管理軟件倉庫的apt包管理工具也出現(xiàn)了,通過該工具用戶在獲取軟件時無須考慮軟件包依賴的問題,極大減輕了用戶的負(fù)擔(dān),降低了linux的入門門檻。apt-cacher是基于apt技術(shù)和apache web服務(wù)器,利用perl腳本實現(xiàn)的。只要有用戶通過它獲取一次軟件,它就會把獲取過的軟件包緩存到本地服務(wù)器,當(dāng)其他用戶再次獲取該軟件包時,apt-cacher會根據(jù)軟件包的頭文件、上一次的下載時間等條件進(jìn)行驗證,如果符合就直接返回本地軟件包給用戶,否則則通過本地服務(wù)器獲取最新的軟件包。這樣可以減少軟件包重復(fù)下載而造成的帶寬浪費,也不會因為緩存時間較長而導(dǎo)致用戶無法獲取較新的軟件包。apt-cacher服務(wù)器還可以通過導(dǎo)入新發(fā)行版光盤中的軟件包,即時獲得較多的軟件包緩存,減少第一個利用它升級系統(tǒng)的用戶所需要等待的時間。該技術(shù)通用性強(qiáng),可以用于任何基于debian的linux發(fā)行版的軟件倉庫。
本地軟件倉庫是在一定時間間隔內(nèi)把官方的軟件倉庫做一次鏡像。因此本地軟件倉庫存放著大量軟件,所占空間需要上百GB或更多,在更新時需要占用大量帶寬和時間。校園網(wǎng)用戶所使用的linux系統(tǒng)和所需要的軟件很大部分是一樣的,因此制作完整的本地軟件倉庫是與減輕網(wǎng)絡(luò)出口并發(fā)流量壓力的目的是相悖的。apt-cacher是根據(jù)用戶的需求而緩存下載過的軟件包,減少了存儲空間,并較大程度上地減少了同步大量的軟件包所產(chǎn)生的網(wǎng)絡(luò)壓力和消耗的時間。
通過apt-cacher技術(shù)緩存軟件包到本地僅減輕了網(wǎng)絡(luò)出口的帶寬壓力,由于用戶數(shù)較大,還需要在apt-cacher緩存服務(wù)器上使用通道聯(lián)合(bonding)技術(shù)。聯(lián)合服務(wù)器上兩個或以上的網(wǎng)絡(luò)接口,增加服務(wù)器的網(wǎng)絡(luò)帶寬和冗余,以便達(dá)到負(fù)載均衡,避免在新發(fā)行版發(fā)行時大量用戶升級出現(xiàn)堵塞。
通道聯(lián)合技術(shù)有7種策略:(1)輪詢策略(Round-robin policy),模式代號是0。該策略是按照設(shè)備順序依次傳輸數(shù)據(jù)包,直到最后一個設(shè)備。這種模式提供負(fù)載均衡和容錯能力。(2)活動備份策略(Active-backup policy),模式代號是1。該策略只有一個設(shè)備處理數(shù)據(jù),當(dāng)它宕機(jī)的時候就會由備份代替,僅提供容錯能力。(3)異或策略(XOR policy),模式代號是2。該策略是根據(jù)MAC地址異或運算的結(jié)果來選擇傳輸設(shè)備,提供負(fù)載均衡和容錯能力。(4)廣播策略(Broadcast policy),模式代號是3。該策略通過全部設(shè)備來傳輸所有數(shù)據(jù),提供容錯能力。(5)IEEE 802.3ad動態(tài)鏈接聚合(IEEE 802.3ad Dynamic link aggregation),模式代號是4。該策略通過創(chuàng)建聚合組來共享相同的傳輸速度,需要交換機(jī)也支持802.3ad模式,提供容錯能力。(6)適配器傳輸負(fù)載均衡(Adaptive transmit load balancing),模式代號是5。該策略是根據(jù)當(dāng)前的負(fù)載把發(fā)出的數(shù)據(jù)分給每一個設(shè)備,由當(dāng)前使用的設(shè)備處理收到的數(shù)據(jù)。本策略的通道聯(lián)合不需要專用的交換機(jī)支持,提供負(fù)載均衡和容錯能力。(7)適配器負(fù)載均衡(Adaptive load balancing),模式代號是6。該策略在IPV4情況下包含適配器傳輸負(fù)載均衡策略,由ARP協(xié)商完成接收的負(fù)載,通道聯(lián)合驅(qū)動程序截獲ARP在本地系統(tǒng)發(fā)送出的請求,用其中一個設(shè)備的硬件地址覆蓋從屬設(shè)備的原地址。
apt-cacher基于linux系統(tǒng),對CPU要求不高,利用一臺或多臺裝有兩張或以上的網(wǎng)卡的機(jī)器就可以進(jìn)行搭建。在這里,利用一臺擁有兩張千兆網(wǎng)卡、操作系統(tǒng)為基于debian的ubuntu server 9.10的linux服務(wù)器進(jìn)行搭建。在服務(wù)器上以管理員權(quán)限執(zhí)行以下命令:
安裝好最新的apache web服務(wù)器、apt-cacher服務(wù)、bonding的通道聯(lián)合工具。web服務(wù)器無需手動配置,在apt-cacher服務(wù)的安裝過程中會自動對其進(jìn)行配置。apt-cacher服務(wù)配置要點為:主要緩存?zhèn)}庫地址為http://debian.ustc.edu.cn/ubuntu/,緩存過期時間為6個月。這樣設(shè)置是因為ubuntu linux易用性強(qiáng),每6個月更新發(fā)行版一次,使用ubuntu桌面版作為桌面的用戶占了我校linux用戶的很大比例,可以使用其升級和更新的軟件包為緩存主要對象;而且中國科學(xué)技術(shù)大學(xué)的倉庫與ubuntu官方倉庫同步時間間隔短,軟件包齊全。
通道聯(lián)合技術(shù)使用輪詢策略,這個策略同時利用兩個網(wǎng)卡進(jìn)行并行傳輸,能提供更高的帶寬,容錯性強(qiáng),而且這個策略應(yīng)用時對其它網(wǎng)絡(luò)設(shè)備沒有特殊要求,部署容易,兼容性強(qiáng),維護(hù)方便。
在ubuntu客戶端中,只需要把/etc/apt/sources.list中原來的軟件倉庫地址改成http://apt-cacher服務(wù)器ip:3142debian.ustc.edu.cn/ubuntu/,或者通過修改/etc/apt/apt.conf.d/01proxy文件,把a(bǔ)pt-cacher服務(wù)器設(shè)置成為客戶端apt更新時所用的http代理,再進(jìn)行軟件更新即可。甚至可以進(jìn)一步設(shè)置為自動更新。通過這個方案的應(yīng)用,以相對較小的硬盤空間換取網(wǎng)絡(luò)出口帶寬的占用,可以減少網(wǎng)絡(luò)出口帶寬并發(fā)流量的壓力,縮短下載軟件包所需要的時間。
本文針對校園網(wǎng)流量進(jìn)行分析,根據(jù)用戶需求來動態(tài)定制緩存服務(wù)。經(jīng)過實踐,該平臺可以在較低成本的基礎(chǔ)上減輕網(wǎng)絡(luò)出口帶寬的并發(fā)壓力,提供穩(wěn)定高效的網(wǎng)絡(luò)服務(wù)。因此該方案是提高校園網(wǎng)帶寬利用率的可行方法之一。
[1]董春生.基于校園網(wǎng)的網(wǎng)絡(luò)透明緩存系統(tǒng)的構(gòu)建與實現(xiàn)[J].中國教育信息化:高教職教.2009.
[2]黃文楓.基于主動網(wǎng)絡(luò)的緩存技術(shù)研究[D].西安:西安電子科技大學(xué).2007.
[3]李繼先.李可意.校園網(wǎng)出口流量管理與控制[J].中國教育信息化.2007.