范海峰,劉本倉
(河南理工大學a.萬方科技學院;b.現代教育技術中心,河南 焦作 454000)
早期的校園網采用CERNET(中國教育和科研計算機網)接入,隨著網絡技術的發展及計算機網絡知識的普及,高校內部上網用戶數急劇增加,CERNET與國內其他ISP互聯訪問慢且不穩定,使得校園網出口擁擠不堪,因此越來越多的校園網建網方案使用多個網絡出口方式,通過多個ISP接入Internet,以達到增加網絡帶寬、提高訪問效率的目的[1]。目前,中國有三家主流網絡運營商,分別是中國電信、中國聯通與中國移動。由于中國移動的互聯網業務起步較晚,網絡出口帶寬低,可分配的IP地址數目較少,現在在互聯網市場上的占有率相對較低,且基于中國移動互聯網的網站及應用比較少。因此,大部分高校都從中國聯通與中國電信中選擇。由于中國互聯網行業“南北分家”,在北方,聯通的網絡具有價格跟速度的優勢,而在南方,電信的網絡具有價格跟速度的優勢。所以一般來說,北方地區高校選擇中國聯通,南方地區高校選擇中國電信。當然,對于速度跟質量都要求比較高的高校來說,最好的方案是同時接入中國電信與中國聯通。如此一來,加上原有的教育網出口,整個校園網現有三個網絡出口。眾所周知,教育網與聯通和電信的互訪是很慢的,同樣,聯通與電信之間的互相訪問也存在著瓶頸。傳統的解決辦法是采用各出口負載均衡,這種做法雖然解決了校園網出口擁擠的問題,但是在內部訪問外網的速度卻有快有慢,且用戶端設置要進行調整。如何充分利用這三個網絡出口,實現資源的合理配置,既能簡化用戶端的配置,又能提高校園網對外訪問的整體速穩定性,是本文需要解決的問題。
NAT(Network Address Translation)[2],俗稱網絡地址轉換。從理論上而言,NAT技術可以實現于任何網絡上,實際應用中,由于IPv4的地址不足,使得NAT技術多應用于TCP/IP架構的網絡上。NAT技術完美地解決了IPv4地址空間問題,同時還可以有效地隔離網絡外部的攻擊,對外隱藏網絡內部的主機并起到保護作用。
在圖1中,PC1和PC2是兩臺連入網絡的計算機,其中PC1處在內網環境中,IP地址為私有地址:192.168.100.2,PC2 處在公網環境中,IP 地址為 218.196.240.2,若PC1 要與 PC2 通信,PC1 發源地址為192.168.100.2,目的地址為218.196.240.2的 IP報文,IP報文將被路由到NAT設備。NAT設備收到這個IP報文后,將源地址改為公有地址202.196.64.1,并記錄私有地址 192.168.100.2與公有地址202.196.64.1間的地址映射存入映射表中,然后發出修改后的IP報文;當PC2主機收到報文后,回復報文到達NAT設備后,NAT設備再根據地址映射表中地址的對應關系,把目的地址轉換為PC1的地址,這樣就完成了內網地址主機與公網地址主機的通信,其中的NAT設備可以是路由器、防火墻、代理服務器等所有帶NAT功能的網絡設備。

圖1 NAT示意圖
NAT的實現方式有3種,靜態地址轉換(Static Address Translation)、動態地址轉換(Dynamic Address Translation)和端口多路復用(Port address Translation)[3]。
靜態地址轉換技術是將網絡內部私有IP地址轉換為公網IP地址,IP地址是一一對應,靜態指定,一個公有IP地址只能對應某一個私有IP地址。這種靜態轉換沒有節省公有地址數量,但實現簡單。使用靜態轉換,能夠實現公共網絡對內部網絡中某些指定設備(或服務)的直接訪問。
動態地址轉換技術是在將網絡內部的私有IP地址轉換為公用IP地址時,對應的外部IP地址是隨機的,不用事先指定,所有被授權訪問Internet的內部私有IP地址隨機轉換為地址池內的任意IP地址。也就是說,只要指定用來進行轉換的私有IP地址范圍,以及作為外部地址的公有IP地址,就可以自動進行動態轉換。動態地址轉換技術也是將內部本地地址與內部合法地址一對一地轉換。但是動態地址轉換是從內部全局地址池中動態地選擇一個未使用的公用IP地址來與內部私有IP地址進行轉換的。
端口多路復用技術(Port Address Translation,PAT)是用來替換原有外出數據包的源端口并進行地址轉換,復用動態地址轉換首先是一種動態地址轉換,但是它可以允許多個內部本地地址共用一個或多個內部全局地址。對只申請到少量IP地址但卻經常同時很多個用戶上外部網絡的情況,可采用這種轉換,從而可以最大限度地節約IP地址資源。
該方案中主要應用了兩種路由技術:策略路由與靜態路由。策略路由技術[4]提供了這樣一種機制:根據網絡管理者制定的標準來進行報文轉發,這種標準根據實際的應用需求來指定,它的依據可以是協議類型、應用、報文大小,或者IP源地址中的一個或者多個的組合。它提供了比傳統路由協議對報文的轉發和存儲更強的控制能力、更靈活的使用方式[5]。靜態路由是在路由器中設置的固定的路由條目,除非路由表被人為改動,否則路由表不會發生變化。因此靜態路由不能適應網絡結構的改變而作出相應調整,一般用于網絡規模較小、拓撲結構固定、網絡穩定的網絡中。靜態路由的優點是簡單、高效、穩定。在所有的路由協議中,靜態路由默認優先級最高,在多數路由器中可以根據需要人為調整優先級。當動態路由與靜態路由發生沖突時,一般以靜態路由為準[6]。
該案采用NAT與路由技術,實現教育網、聯通、電信三出口的合理配置,提高校園網的訪問速度。具體來說,原有的教育網設備仍然使用,內部的網絡結構不需要調整,用戶端也不需要進行任何改動,即對用戶來說是透明的(校園網用戶全部使用CERNET地址),雖然CERNET地址也是互聯網上合法的地址,但是如果直接用CERNET地址訪問外網依然是通過教育網的路由,達不到提高訪問速度的要求,所以必須進行NAT地址轉換。由于電信與聯通分配的IP地址有限,不可能做NAT靜態映射,采用NAT動態轉換技術實現CERNET地址訪問聯通通過聯通出口,訪問電信通過電信出口,所以需要增加一套NAT設備作為公網出口,本文中以銳捷網絡公司的NPE(Network outPut Engine,網絡出口引擎)設備為例,簡單的結構如圖2所示。
核心交換機G1/2口與CERNET相連,端口地址為:202.196.64.13,對端設備地址(去往教育網的下一跳)為:202.196.64.14,G1/1口與NAT設備的G2/1相連,核心交換機G1/1端口地址為:202.196.64.17,NAT設備G2/1端口地址為:202.196.64.18,NAT設備G2/2口與電信相連,端口地址為:222.88.88.82,對端地址為222.88.88.81(去往電信的下一跳),NAT設備G2/3口與聯通相連,端口地址為:218.28.88.82,對端地址為218.28.88.81(去往聯通的下一跳)。電信分配給學校的地址段為:222.88.88.80/28,聯通分配給學校的地址段為:218.28.88.80/28,其中G1/1,G2/1……中G表示Gigabit Ethernet(千兆以太網接口),前面的數字表示接口板號,后面的數字表示接口板端口號。

圖2 多出口校園網簡單模型
一般來說,有CERNET接入的高校分配的教育網合法地址比較多,基本上可以滿足校內學習、辦公、娛樂的需要,每個用戶都可以分配一個CERNET公網地址。在沒有接入聯通和電信的出口以前,是可以直接通過CERNET來訪問互聯網的。現在需要做的就是在核心交換機上做一個判斷,如果目的地址是教育網直接送到教育網的下一跳,如果目的地址不是教育網,就送到公網的出口(NAT設備)。由于校園網建成之后基本上沒有什么大的變動,具體設計可以使用策略路由與靜態路由來實現,找到所有的CERNET網段,設置路由的下一跳為教育網出口地址,命令格式如下:ip route*.*.*.* X.X.X.X 202.196.64.14,這里*.*.*.*表示CERNET的所有子網,X.X.X.X表示子網掩碼。設置默認路由為NAT設備G2/1的地址,即除了目的地址是教育網的請求都送到NAT設備。命令如下:iproute 0.0.0.00.0.0.0202.196.64.18,為了保證網絡的穩定性,即當NAT設備損壞時網絡仍然暢通,保證網絡的有效性,可以設置備用的默認路由,命令如下:iproute 0.0.0.00.0.0.0202.196.64.1410,即當NAT設備地址202.196.64.18不可用時,自動將所有的請求發往教育網的下一跳地址202.196.64.14。
4.2.1 NAT設計
由于聯通和電信分配的公網地址比較少,遠遠小于校園網內部的用戶數,內部的CERNET用戶訪問聯通與電信肯定需要進行NAT轉換,這里選用動態的復用動態地址轉換。首先,確定要進行NAT轉換的地址,這里為了方便講述,允許所有的地址,命令如下:ip access-list standard 99(建立一個標準的訪問控制列表,編號為99),10 permit any(允許所有的源地址);其次,要明確Inside和Outside端口,這里與核心交換機相連的端口是Inside端口,與聯通和電信相連的兩個端口是Outside端口,在端口模式下可通過命令ip nat inside和ip nat outside來實現;再次,定義一個NAT地址池,命令如下:ip nat pool NAT_POOL prefix-length 24(定義名為NAT_POOL的地址池),address 218.28.88.82218.28.88.94 match interface gigabitEthernet 2/3(聯通地址池),address 222.88.88.82222.88.198.94 match interface gigabitEthernet 2/2(電信地址池);最后是NAT的應用,具體命令為:ip nat inside source list 99 pool NAT_POOL overload。
4.2.2 NAT設備上路由設計
首先,要確定默認路由,一般來說可以參考以下3個原則:1)選擇帶寬大的作為默認路由;2)選擇IP地址數目多的為默認路由;3)根據地域選擇,北方用戶選擇聯通作為默認路由,南方用戶選擇電信作為默認路由。所以在這里選擇聯通作為默認的外網路由出口。其次,需要在NAT設備上做路由二次判斷,如果核心交換機送過來的目的地址是電信地址,直接送至電信出口進行NAT轉換,具體命令格式如下:ip route*.*.*.* X.X.X.X 222.88.88.81,這里*.*.*.*表示電信的所有子網,X.X.X.X表示子網掩碼。如果目的地址不是電信地址,就從默認路由送至聯通出口進行NAT轉換,具體命令為:ip route 0.0.0.00.0.0.0218.28.88.81。最后,為了保證網絡的穩定性,即聯通電信任意一方中斷網絡依然通暢,可以設置電信為備份的默認路由,具體命令為:ip route 0.0.0.00.0.0.0222.88.88.8110。
至此,基于NAT與路由技術的校園網智能出口已經設計完成,實現了校園網內部用戶訪問教育網通過教育網出口,訪問聯通通過聯通出口,訪問電信通過電信出口,訪問其他網絡(如移動)可以根據需要調整訪問策略,本文中訪問其他網絡通過默認的聯通出口。在某高校的實踐中表明,此設計可以大大提高校園網的對外訪問速度,簡化校園網結構,使網絡帶寬得到合理的應用,提升了網絡效率。
4.2.3 實驗結果分析
實驗結果分析如表1所示。

表1 各出口PING時延比較 ms
在IPv6時代沒有到來以前,IPv4地址日漸枯竭,NAT技術很好地解決了這一問題,且無論是IPv4還是IPv6,都可以利用NAT技術簡化和優化網絡設計,并能很好地保證內網的安全。NAT技術仍將是因特網上的主流技術,具有不可替代的地位。目前,隨著寬帶網不斷地深入生活,智能小區、校園網的建設都離不開NAT技術。因此,在當前環境下研究、探索NAT技術是非常必要的,其作用及意義都非常重大。本文利用NAT與路由技術,實現了校園網的智能出口設計,提高了校園網內部用戶對外的訪問速度,為了說明的方便起見,在本文中沒有考慮出口的安全設計,但是在實際應用中需要注意出口的安全問題。
[1]王彬,何文娟.多出口多尋址模式的網絡設計[J].計算機工程,2007,33(21):259-261.
[2]TSIRTSIS G,SRISURESH P.Network address translation-protocol translation(NAT-PT)[EB/OL].[2012-03-05].http://www.ietf.org/rfc/rfc2766.txt.
[3]李廣華,朱志祥,李振興.NAT技術基本原理及其在實際中的應用[J].西安郵電學院學報,2009,14(1):91-95.
[4]尚遵義,崔立軍.多出口路由策略實現及相關問題研究[J].大連鐵道學院學報,2004,25(3):83-86.
[5]羅偉雄,時東曉,劉嵐.校園網多出口路由優化方案[J].計算機應用,2009,29(6):41-43.
[6]陳阿林,肖丹燕,肖嵬,等.校園網的路由策略選擇及實現[J].電訊技術,2002,6(4):134-137.