賴強
摘要:近幾年,網(wǎng)絡(luò)虛擬化由于其自身優(yōu)勢備受各個國家的青睞,各個國家都在投入大量的人力物力進行網(wǎng)絡(luò)虛擬化的研究,很多廠商的網(wǎng)絡(luò)設(shè)備也提供支持網(wǎng)絡(luò)虛擬化的服務(wù)。該文將結(jié)合現(xiàn)在移動互聯(lián)網(wǎng)的實際需求,對在基于LISP協(xié)議下的網(wǎng)絡(luò)虛擬化方案進行進一步優(yōu)化。
關(guān)鍵詞:LISP協(xié)議環(huán)境;網(wǎng)絡(luò)虛擬化;優(yōu)化方案
中圖分類號:TP3? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)36-0030-03
1 移動互聯(lián)網(wǎng)網(wǎng)絡(luò)的需求分析
移動互聯(lián)網(wǎng),顧名思義,就是將移動通信與互聯(lián)網(wǎng)結(jié)合起來,它集互聯(lián)網(wǎng)技術(shù)、平臺、商業(yè)模式和應(yīng)用與移動通信技術(shù)為一體,是一種新型網(wǎng)絡(luò)技術(shù)。移動互聯(lián)網(wǎng)所依靠的主要數(shù)據(jù)傳輸方式是移動無線通信,它包括三個部分,分別是終端、軟件和應(yīng)用。較之于傳統(tǒng)的有線互聯(lián)網(wǎng),其主要的不同點在于移動互聯(lián)網(wǎng)的終端以及接入網(wǎng)絡(luò)具有很大的獨特性。目前,國內(nèi)外許多學(xué)者及科研機構(gòu)都認為,未來移動互聯(lián)網(wǎng)領(lǐng)域?qū)芯薮蟮陌l(fā)展?jié)摿桶l(fā)展空間,其市場價值將不斷擴大。然而,隨著移動互聯(lián)網(wǎng)的快速發(fā)展,也隨之帶來了一些問題,具體如下:
(1) 終端的移動性:根據(jù)IP的通信過程,我們知道IP地址的功能是承擔(dān)主機標識和路由標識,如果使用終端移動而導(dǎo)致接入位置發(fā)生改變,網(wǎng)絡(luò)則立即給它分配新的IP地址,因為在IP地址上捆綁了傳輸協(xié)議,若IP地質(zhì)發(fā)生某些變化,就會造成傳輸協(xié)議被終止,這也就意味著終端通信會話關(guān)閉。
(2) 路由表膨脹等問題:當有大量的BGP被更新或注入,邊界AS將會變得異常不穩(wěn)定,進而導(dǎo)致整個路由系統(tǒng)的癱瘓BGP的更新攪動致使路由計算和轉(zhuǎn)發(fā)表下發(fā)頻繁,極大程度上破壞到路由的收斂。
本文將上面的移動互聯(lián)網(wǎng)問題作為出發(fā)點,以目前的研究熱點LISP協(xié)議為基礎(chǔ),設(shè)計出符合要求的網(wǎng)絡(luò)虛擬化方案。
LISP協(xié)議即位置標識和身份標識分離協(xié)議,它是一種針對互聯(lián)網(wǎng)未來提出的一種全新的路由架構(gòu)。LISP架構(gòu)的提出可以給邊緣網(wǎng)絡(luò)更大的靈活性,同時對解決BGP路由表的膨脹和終端移動性增多等問題效果顯著。因為它將隧道協(xié)議應(yīng)用在不同LISP本地網(wǎng)絡(luò)間,這在很大程度上有利于在虛擬網(wǎng)絡(luò)下實現(xiàn)LISP架構(gòu)。
2 LISP協(xié)議網(wǎng)絡(luò)架構(gòu)和功能實體分析
就移動互聯(lián)網(wǎng)中存在的日益膨脹邊界網(wǎng)關(guān)協(xié)議(BGP)路由表的問題,LISP架構(gòu)設(shè)計了全新的網(wǎng)絡(luò)結(jié)構(gòu)來分離位置和標識。該架構(gòu)的中心思想是將之前的IP地址分開終端的身份和位置信息,把IP地址在語義上劃分成身份標識(EID)和位置標識(RLOC)兩個空間。
其中,身份標識EID使用IPv4或IPv6地址形式,它的名址結(jié)構(gòu)不關(guān)聯(lián)整體網(wǎng)絡(luò)拓撲,只是在LISP局部網(wǎng)絡(luò)內(nèi)進行傳遞數(shù)據(jù)使用,全局網(wǎng)絡(luò)的路由不參與。若移動終端不變,EID不變,但會使其對應(yīng)的位置標識RLOC發(fā)生變化,并將服務(wù)器MS中的映射關(guān)系進行更新。
位置標識采用與身份標識一樣的地址形式,即IPv4或IPv6,準確地說,它對應(yīng)局部網(wǎng)絡(luò)的出口隧道路由器ETR相應(yīng)的地址。身份標識和位置標識之間的映射關(guān)系是一對多的關(guān)系[1]。在LISP網(wǎng)絡(luò)中,通常借助隧道路由器來保持各個主機之間的信息傳遞。在該網(wǎng)絡(luò)中,每一個執(zhí)行功能都各不相同,基于這一特點,可以將隧道路由器分為以下兩種類型:入口隧道路由器(ITR)和出口隧道路由器(ETR)。其中前者主要用來對LISP主機發(fā)出的數(shù)據(jù)包進行接收,通過EID-to——RLOC的映射關(guān)系,對目的主機的位置標識進行查找,同時根據(jù)LISP包格式把RLOC作為隧道數(shù)據(jù)包頭、EID作為隧道載荷實行封裝,向ETR發(fā)送,而后者的作用是對入口隧道路由器發(fā)出的LISP數(shù)據(jù)包進行接收,將封裝的數(shù)據(jù)包進行解封裝,之后按照目的主機身份標識EID把相對應(yīng)的數(shù)據(jù)包向LISP主機發(fā)送。
通過以上的功能實體分析,下面將簡要分析3種LISP網(wǎng)絡(luò)場景結(jié)構(gòu)。
2.1 LISP網(wǎng)絡(luò)間靜止節(jié)點的互通
(1) LISP主機X以源地址EID1發(fā)送數(shù)據(jù)給目的地址EID2,默認網(wǎng)關(guān)是在局部網(wǎng)絡(luò)LISP網(wǎng)絡(luò)A中的入口隧道路由器ITR,根據(jù)默認路由將IP數(shù)據(jù)發(fā)給ITR。
(2) 通過查詢映射服務(wù)器MS,入口隧道ITR獲得地址標識RLOC2,該標識與身份標識EID2相對應(yīng),由此一來,就建立了出口隧道路由器ETR將LISP之間的隧道通信。此時,入口隧道路由器ITR的端口地址是其隧道IP地址源地址,即RLOC2,出口隧道路由器RLOC2是目的地址。在確定源地址和目的地址之后,將源地址和目的地址分別是EID1和EID2的IP數(shù)據(jù)封裝成數(shù)據(jù)包,由ITR向ETR發(fā)送該數(shù)據(jù)包[2]。
(3) 在LISP的封裝數(shù)據(jù)包送達出口隧道路由器后,進行數(shù)據(jù)包的解封裝,并將身份標識EID1和位置標識RLOC1之間的映射關(guān)系緩存,然后按照身份標識為EID2的目的地址將解封裝后的內(nèi)層數(shù)據(jù)包向LISP主機Y發(fā)送。
(4) 隨后,按照上述的反過程將LISP的回復(fù)數(shù)據(jù)包向主機X發(fā)送。當出口隧道路由器ETR接收到該數(shù)據(jù)包時,因為之前已經(jīng)將EID1-RLOC1間的映射關(guān)系包存在ETR中,因此隨即將LISP隧道數(shù)據(jù)的封裝完成,并向入口隧道路由器ITR發(fā)送該數(shù)據(jù)。
(5) 當數(shù)據(jù)到達入口隧道路由器ITR后,對其實行解封裝,并將解封裝后的數(shù)據(jù)發(fā)至主機X。至此,端到端的交互過程全部完成。
2.2 LISP網(wǎng)絡(luò)和非LISP網(wǎng)絡(luò)的互通
LISP協(xié)議網(wǎng)絡(luò)結(jié)構(gòu)除了將LISP主機間的互通進行考慮外,還對LISP和非LISP主機間的通信進行了考慮。如圖3給出了LISP和非LISP之間互通的整體網(wǎng)絡(luò)架構(gòu)。
該網(wǎng)絡(luò)示例的是LISP主機X、Y之間如何進行數(shù)據(jù)通信。LISP主機X將以源地址為身份標識EID1發(fā)送IP數(shù)據(jù)給主機Y的IP地址為IP1 的目的地址,根據(jù)默認路由該IP數(shù)據(jù)包向入口隧道路由器ITR發(fā)送。到達入口隧道路由器ITR后,ITR會向映射服務(wù)器MS發(fā)送請求查詢命令,查找與IP1地址相對應(yīng)的位置標識RLOC信息。因為IP1地址并不是LISP架構(gòu)中身份標識信息,映射服務(wù)器MS在查找位置標識信息時無法給予定位,于是給予的查找回復(fù)時無效的。為了解決這種弊端,LISP協(xié)議架構(gòu)將代理隧道路由器引入到網(wǎng)絡(luò)中,它位于LISP和非LISP網(wǎng)絡(luò)的網(wǎng)絡(luò)邊緣,它的最主要作用就是實現(xiàn)相關(guān)的互通。此時入口隧道路由器ITR將目的地址設(shè)為代理隧道路由器PETR對應(yīng)的端口地址,源地址設(shè)為ITR的RLOC1,以此來封裝LISP的隧道數(shù)據(jù)。當封裝的數(shù)據(jù)包到達代理隧道路由器PETR后,解封裝該條數(shù)據(jù)包,然后以IP地址IP1為目的地址、身份標識信息為EID1為源地址,根據(jù)IP1的路由信息在非LISP網(wǎng)絡(luò)中將該數(shù)據(jù)包向主機Y發(fā)送。
當主機Y 向LISP主機Y進行回復(fù)數(shù)據(jù)包的發(fā)送時,主機A將以身份標識EID1為目的地址將該條IP數(shù)據(jù)包發(fā)送出去。需要注意的是,由于在LISP網(wǎng)絡(luò)中EID是身份標識信息,因此無法在公網(wǎng)上進行路由和轉(zhuǎn)發(fā)數(shù)據(jù)[3]。
3 基于LISP架構(gòu)來實現(xiàn)網(wǎng)絡(luò)虛擬化的優(yōu)化方案
因為LISP架構(gòu)具有較好的隧道封裝機制,因此它能夠更好地實現(xiàn)網(wǎng)絡(luò)虛擬化。對此,本文設(shè)計了一種基于LISP架構(gòu)來實現(xiàn)網(wǎng)絡(luò)虛擬化的優(yōu)化方案。該優(yōu)化方案主要對隧道路由器進行了一定的變動,并在其端口上新增了訪問控制列表,以此來建立虛擬網(wǎng)絡(luò)。本文主要介紹了兩種類型的網(wǎng)絡(luò)虛擬化優(yōu)化方案。
3.1 兩個LISP網(wǎng)絡(luò)間的虛擬專用網(wǎng)接入
場景假設(shè):若兩個LISP網(wǎng)絡(luò)a和b之間要建立虛擬專用網(wǎng),網(wǎng)絡(luò)a與網(wǎng)絡(luò)b的隧道路由器的網(wǎng)絡(luò)側(cè)接口分別為if0和if1,且兩個網(wǎng)絡(luò)的IP承載網(wǎng)測接口分別為if1和if0。
場景分析:若要在LISP網(wǎng)絡(luò)a與b之間建立虛擬專用網(wǎng),則這兩種網(wǎng)絡(luò)之間需要具備一定的數(shù)據(jù)傳輸能力。對網(wǎng)絡(luò)a來講,只有網(wǎng)絡(luò)b的數(shù)據(jù)包能夠無阻礙的進入網(wǎng)絡(luò)a中,且網(wǎng)絡(luò)a向外輸出的數(shù)據(jù)包也只能發(fā)送給網(wǎng)絡(luò)b。反之對于網(wǎng)絡(luò)b來講,情況也是一樣?;诖朔N情況,可以將ACL列表添加在IP承載網(wǎng)側(cè),其列表如圖4,以此將出入RLOC的數(shù)據(jù)包控制為固定的數(shù)值。
網(wǎng)絡(luò)b若是接收到RLOC1的數(shù)據(jù)包,則會被其隧道路由器處理,而其他類型的數(shù)據(jù)包則會被遺棄,這也就表明網(wǎng)絡(luò)b只能接收來自網(wǎng)絡(luò)a的數(shù)據(jù)包,而向外輸送的數(shù)據(jù)包也只有RLOC1數(shù)據(jù)包才能通過。反之,網(wǎng)絡(luò)a同樣如此。這兩種網(wǎng)絡(luò)之間的數(shù)據(jù)轉(zhuǎn)發(fā)流程具體如下:
流程1:構(gòu)造EID1是節(jié)點X的源地址,EID2的LISP數(shù)據(jù)包是目的地址,并將其發(fā)送到入口隧道路由器上;
流程2:利用映射服務(wù)器,入口隧道路由器ITR能夠?qū)ID2所對應(yīng)的位置標識RLOC2進行查找,然后在RLOC1為源地址和RLOC2為目的地址的數(shù)據(jù)包內(nèi)將步驟1的數(shù)據(jù)包進行封裝,并將封裝后的數(shù)據(jù)包向IP承載網(wǎng)發(fā)送[4];
流程3:數(shù)據(jù)包在被封裝之后,需要在入口隧道路由器的出口處來對ACL列表進行驗證,若檢驗為RLOC2是目的地址,則數(shù)據(jù)包能夠輸送出去,直接進入流程4,反之則遺棄;
流程4:ETR作為出口隧道路由器,在接收到封裝的數(shù)據(jù)包之后,首先應(yīng)該對其進行ACL驗證,若驗證之后得出RLOC1是其源地址,則直接進入數(shù)據(jù)包解封裝轉(zhuǎn)發(fā)程序,進入流程5,反之則遺棄;
流程5:數(shù)據(jù)包在被解封裝之后,按照目的地址EID2將其轉(zhuǎn)發(fā)至LISP網(wǎng)絡(luò)b內(nèi)。至此,數(shù)據(jù)包全部抵達節(jié)點Y,整個數(shù)據(jù)轉(zhuǎn)發(fā)流程結(jié)束。
節(jié)點Y到節(jié)點X的數(shù)據(jù)轉(zhuǎn)發(fā)流程與此相似。
這種場景主要適用于一個網(wǎng)絡(luò)中有許多分支網(wǎng)絡(luò),利用該方法,就可以將內(nèi)部各個網(wǎng)絡(luò)之間建立起虛擬專用網(wǎng),從而提高網(wǎng)絡(luò)配置。
3.2 普通LISP節(jié)點與另一個LISP網(wǎng)絡(luò)的虛擬專用網(wǎng)絡(luò)連接
場景假設(shè):假設(shè)LISP網(wǎng)絡(luò)a的X節(jié)點需要借助虛擬專用網(wǎng)絡(luò)來進入網(wǎng)絡(luò)b。網(wǎng)絡(luò)a與網(wǎng)絡(luò)b的隧道路由器的網(wǎng)絡(luò)側(cè)接口分別為if0和if1,且兩個網(wǎng)絡(luò)的IP承載網(wǎng)測接口分別為if1和if0。
場景分析:LISP網(wǎng)絡(luò)b若要與節(jié)點X之間建立一個虛擬專用網(wǎng)絡(luò),則只有源地址為EID1的數(shù)據(jù)包才能發(fā)送到網(wǎng)絡(luò)b中,且網(wǎng)絡(luò)b所發(fā)出的數(shù)據(jù)包的目的地址也必須為EID1。對此,可以將ACL列表增添至網(wǎng)絡(luò)b的if1接口上,其列表如圖5。
就LISP網(wǎng)絡(luò)b而言,IP承載網(wǎng)的數(shù)據(jù)包在被隧道路由器接收后進行了解封并被轉(zhuǎn)發(fā),此時,若出口處的ACL控制列表檢驗出數(shù)據(jù)包的源地址不是EID1,則會對其進行遺棄處理。與此同時,網(wǎng)絡(luò)b的數(shù)據(jù)包也會被隧道路由器接收,此時,入口處的ACL控制列表則會不接收目的地址為EID1的數(shù)據(jù)包[5]。這樣一來,LISP網(wǎng)絡(luò)b只會接收來自節(jié)點X的數(shù)據(jù)包,具體流程如下:
流程1:構(gòu)造EID1是節(jié)點X的源地址,EID2的LISP數(shù)據(jù)包是目的地址,并將其發(fā)送到入口隧道路由器上;
流程2:在使用映射服務(wù)器的基礎(chǔ)上,入口隧道路由器ITR能夠迅速查找出EID2所對應(yīng)的位置標識RLOC2,之后在RLOC1為源地址和RLOC2為目的地址的數(shù)據(jù)包內(nèi)將步驟1的數(shù)據(jù)包進行封裝,最后再將封裝后的數(shù)據(jù)包發(fā)送至IP承載網(wǎng);
流程3:當封裝后的數(shù)據(jù)包被出口隧道路由器ETR所接收后,應(yīng)當對其進行解封裝工作,之后按照目的地址EID2將其轉(zhuǎn)發(fā)為內(nèi)層數(shù)據(jù)包,并使用ACL控制列表對其進行驗證。如驗證結(jié)果顯示EID1是源地址,則直接進入流暢,反之則遺棄數(shù)據(jù)包;
流程4:按照目的地址EID2,將數(shù)據(jù)包轉(zhuǎn)發(fā)至節(jié)點Y。至此,端到端的數(shù)據(jù)交互流程全部結(jié)束。
節(jié)點Y到節(jié)點X的數(shù)據(jù)交互流程與此相似。
這種場景主要適用于員工在外辦公時的網(wǎng)絡(luò)使用,這樣做既可以使用公司內(nèi)部網(wǎng)絡(luò),也可以接入外部公共網(wǎng)絡(luò)。
4 結(jié)束語
本文從移動互聯(lián)網(wǎng)的發(fā)展需求為落腳點,對基于LISP協(xié)議環(huán)境下的虛擬化方案進行了研究,并在此基礎(chǔ)上給出了兩種優(yōu)化方案,基于LISP協(xié)議的網(wǎng)絡(luò)虛擬化具有很多優(yōu)勢,例如:保證LISP節(jié)點能夠和其他LISP移動之間互通等,但也有缺點,例如對映射服務(wù)器要求較高,因此還有待進一步研究。
參考文獻:
[1] 江亞東.基于IPv6的標識承載網(wǎng)絡(luò)的關(guān)鍵技術(shù)研究與實現(xiàn)[D].東南大學(xué),2017.
[2] 張勛俊,劉亞萍,鄧文平.LISP與非LISP站點間交互機制研究[J].現(xiàn)代計算機:專業(yè)版,2017(11):36-41.
[3] 許名廣,劉亞萍,鄧文平.網(wǎng)絡(luò)控制器OpenDaylight的研究與分析[J].計算機科學(xué),2015,42(S1):249-252.
[4] 張?zhí)?,王晟,廖?LISP協(xié)議下基于指針Chord的增強型映射系統(tǒng)設(shè)計(英文)[J].中國通信,2013,10(07):134-147.
[5] 徐暢,任勇毛,李俊.LISP-HIMS:一種基于LISP的層次化標識映射系統(tǒng)[J].計算機科學(xué),2012,39(10):35-39.
[通聯(lián)編輯:代影]