基于標(biāo)識/位置分離的新型移動性管理機(jī)制研究
1 引言
近年來,互聯(lián)網(wǎng)在基礎(chǔ)架構(gòu)方面暴露出越來越多的問題,BGP路由表的增長問題更是被提入IETF工作日程。根據(jù)互聯(lián)網(wǎng)結(jié)構(gòu)委員會IAB(Internet Architecture Board)的報告,主要是以下幾個因素導(dǎo)致了BGP路由表的迅速增長:多宿、流量工程和非聚合地址的使用。上述問題的根本原因在于IP地址的語義過載,即IP地址同時包含標(biāo)識和位置信息,分別用于傳輸層和路由系統(tǒng)。IETF已經(jīng)開始著手研究這個問題,主要思路是將網(wǎng)絡(luò)節(jié)點的標(biāo)識和位置進(jìn)行分離,并提出了如LISP,Six/One,SHIM6和HIP等方案。在這些方案中,LISP方案最為關(guān)鍵,獲得包括思科在內(nèi)的眾多廠商及研究人員的廣泛支持。
盡管LISP基于標(biāo)識/位置分離,但是移動性支持方面仍存在很大的問題。LISP-MN是IETF工作組最近提出來的支持LISP移動性的方案。在LISP-MN方案中,移動節(jié)點需要具備LISP邊界路由器的部分功能,這增大了移動節(jié)點實現(xiàn)的復(fù)雜性。更重要的問題在于,LISP-MN方案需要對于數(shù)據(jù)報文進(jìn)行雙重映射和雙重封裝,由此而引起的傳輸及切換延遲問題是不可忽視的。
為此,本文提出了一種新的移動性管理方案。該方案主要是基于網(wǎng)絡(luò)側(cè)的,對終端側(cè)改動較小。在本方案中,我們定義了三種命名空間(HN,ID,Locator),并引入了一種新的主機(jī)名HN到標(biāo)識ID的映射系統(tǒng)。主機(jī)名HN是唯一標(biāo)識移動節(jié)點,且是全球惟一的。終端的HN與ID之間的映射關(guān)系是一對多的。當(dāng)終端移動發(fā)生切換時,終端可以同時采用多個ID進(jìn)行會話,數(shù)據(jù)包在傳輸過程中只封裝一次。另外,通過引入一種快速位置更新的方法,實現(xiàn)了移動節(jié)點的平滑切換。與LISP-MN方案對比,可以看出我們的方法在切換時延和系統(tǒng)開銷方面可以提供更好的移動性支持。
2 相關(guān)工作
2.1 LISP
LISP是一種基于網(wǎng)絡(luò)側(cè)的主機(jī)標(biāo)識ID和位置分離的協(xié)議。LISP網(wǎng)絡(luò)由核心網(wǎng)絡(luò)和邊緣網(wǎng)絡(luò)兩部分組成。其中,核心網(wǎng)絡(luò)中使用路由位置RLOC(Routing Locator)來標(biāo)識路由器,而邊緣網(wǎng)絡(luò)中使用終端標(biāo)識EID(Endpoint Identifiers)來標(biāo)識終端。主機(jī)的EID分配與網(wǎng)絡(luò)提供商無關(guān),它們在核心網(wǎng)中沒有相關(guān)記錄。全球核心網(wǎng)路由表中只包含RLOC,這樣的方式使得核心網(wǎng)中路由表保持高度匯聚性。LISP通過入口隧道路由器ITR(Ingress Tunnel Router)和出口隧道路由器ETR(Egress Tunnel Router)實現(xiàn)了核心網(wǎng)絡(luò)和邊緣網(wǎng)絡(luò)的分離,它通過一個映射系統(tǒng)用來實現(xiàn)從EID至RLOC的映射解析。LISP通過IP-in-IP的封裝及解封裝機(jī)制實現(xiàn)了在核心網(wǎng)中的路由和轉(zhuǎn)發(fā)。
當(dāng)一個節(jié)點向?qū)Χ斯?jié)點發(fā)送數(shù)據(jù)時,對端EID在核心網(wǎng)中是不可路由的。當(dāng)數(shù)據(jù)包到達(dá)ITR后,ITR通過查詢映射系統(tǒng)來獲得對端EID對應(yīng)的RLOC地址。然后ITR封裝該數(shù)據(jù)包,以自己的RLOC為源地址,以對端ETR的RLOC為目的地址。對端ETR收到該包后解封裝該包,最后將數(shù)據(jù)包發(fā)送給通信對端。具體的數(shù)據(jù)傳輸過程參見圖1。
圖1 LISP架構(gòu)下的數(shù)據(jù)傳輸
總的來說,LISP有三大優(yōu)點:第一,LISP傾向于在主機(jī)側(cè)不作改動;第二,具備顯著減小全球路由表的潛力;第三,映射系統(tǒng)給流量工程的應(yīng)用提供了機(jī)會。不過,LISP可能將全球路由表的匯聚性問題轉(zhuǎn)移到全球映射系統(tǒng)的匯聚性問題。
2.2 LISP中的移動性管理研究
LISP雖然消除了IP地址的雙重語義問題,一定程度上支持了終端的移動性,然而它并未徹底地解決移動性,IETF的標(biāo)準(zhǔn)里也缺少相應(yīng)的技術(shù)細(xì)節(jié)。為了解決標(biāo)識/位置思想中的移動性支持問題,學(xué)術(shù)界提出了一些標(biāo)識/位置分離下的移動性管理的機(jī)制。其中,IETF的工作組給出了LISP-MN方案。提出了一些對LISP-MN的改進(jìn)方案來解決特定情況下存在的一些缺點。提出了HIMALIS架構(gòu),通過引入一種新的命名空間來提供移動性支持。然而,它對于綁定和映射更新比較復(fù)雜。提出了一種改進(jìn)的架構(gòu)來解決路由可擴(kuò)展性和移動性,并未對切換的細(xì)節(jié)進(jìn)行描述。為了更好地描述移動性問題,下面針對LISP-MN進(jìn)行重點介紹。
在LISP-MN方案中,一個LISP節(jié)點具有一個永久性的EID,用作識別主機(jī)而不是路由。當(dāng)一個移動節(jié)點漫游至一個新的網(wǎng)絡(luò)中時,它接收到一個轉(zhuǎn)交地址。該地址是當(dāng)前可達(dá)的,并在映射系統(tǒng)把它注冊為本地位置LLOC(Local Locator)。所有的LLOC都預(yù)先在映射系統(tǒng)里和RLOC一起注冊。LISP-MN假定MN本身是一個單獨的LISP域并具備ITR/ETR對進(jìn)出口流量的處理功能。發(fā)送數(shù)據(jù)時,MN封裝出口的流量發(fā)送至ETR。接收數(shù)據(jù)時,流量通過隧道從ITR或另一個MN傳輸至MN。
當(dāng)數(shù)據(jù)包從一個LISP域傳輸至另一個LISP域的MN時,LISP-MN先向映射系統(tǒng)查詢該對端EID對應(yīng)的LLOC,并以它作為目的地封裝該數(shù)據(jù)包。然后,當(dāng)ITR收到經(jīng)過一次封裝的數(shù)據(jù)包后,再一次通過映射系統(tǒng)查詢該LLOC對應(yīng)的RLOC。兩次查找過程如圖2所示。
圖2 LISP-MN中數(shù)據(jù)傳輸
事實上,雖然LISP-MN提出了一些設(shè)計目標(biāo),但它并沒有提出一個清晰的方案來實現(xiàn)。它甚至忽視了一些問題,比如快速移動性??偟膩碚f,LISP-MN存在以下問題:
(1)基于主機(jī)的方式。LISP-MN要求節(jié)點在移動時獲取新的Locator,并參與到移動管理的步驟中,這增加了移動節(jié)點的復(fù)雜度。MN由于要具備ITR/ETR的功能而負(fù)載過重。
(2)開銷。LISP-MN要求對所有的數(shù)據(jù)包進(jìn)行雙重映射和雙重封裝。
(3)切換性能。MN需要承受由于新位置識別、雙重映射和雙重封裝引起的長的切換延遲和丟包率。
3 改進(jìn)的移動性管理方案
為了解決LISP中存在的移動性問題,本文提出了一種基于標(biāo)識/位置分離的移動性管理方案。該方案包含三種命名空間和兩種映射系統(tǒng)。數(shù)據(jù)包在傳輸過程中只封裝一次。同時,提出了快速的位置更新方法,來實現(xiàn)靈活的移動性支持和平滑切換需求。
3.1 三種命名空間
本方案定義了一種主機(jī)名HN(Host Name)的名字空間,所以系統(tǒng)中一共有三種命名空間:HN,EID,RLOC。相應(yīng)的需要兩種映射系統(tǒng):HN至EID,EID至RLOC。整個系統(tǒng)的結(jié)構(gòu)如圖3所示。HN是不變的且全球惟一的主機(jī)標(biāo)識,EID用來標(biāo)識MN的應(yīng)用程序。MN的EID在節(jié)點移動至別的LISP區(qū)域時會發(fā)生改變。HN是長度可變的、可讀的、方便記憶的,而EID是用在LISP數(shù)據(jù)包中頭部的源地址或目的地址的IPv4或IPv6地址,它是不可讀的。
圖3 移動性管理網(wǎng)絡(luò)框架及數(shù)據(jù)傳輸示意圖
為了從HN獲得對端的EID,本方案引入了HN—EID映射系統(tǒng)。該映射系統(tǒng)可以通過修改DNS系統(tǒng)來實現(xiàn),考慮到終端可能存在多個EID的情況,HN與EID的映射關(guān)系可能是一對多的關(guān)系,因此我們做了一個Priority的擴(kuò)展,其格式見圖3。關(guān)于如何使用此映射下面將會詳細(xì)介紹。
3.2 動態(tài)移動管理方案
在該方案中,MN一旦進(jìn)入到一個新的LISP區(qū)域就會動態(tài)獲得一個新的EID。相應(yīng)的,新開啟的會話將采用新的EID作源地址或目的地址,而老的會話為了支持移動性仍然采用舊的EID。
圖3表示了該方案的一個實例:MN在位置A與CN_1產(chǎn)生會話(1),當(dāng)它移動到位置C后,會話(2)就被轉(zhuǎn)交給C。同時,CN_2在MN移動到位置C后向它發(fā)起新的會話(2)。圖4表示了整個過程的注冊和切換信令的交互示意。
圖4 移動性管理方案注冊及切換流程圖
首先,每個ETR在自己的位置注冊自己的EID前綴到相應(yīng)的映射服務(wù)器上,如圖4步驟1所示。當(dāng)MN從位置A啟動時,它根據(jù)EID前綴(10.0.0.0/24)配置得到EID_1(10.0.0.1)。然后,MN開始和CN_1通信。首先,MN通過查詢HN-EID映射系統(tǒng)獲得CN_1的EID(12.0.0.1),如圖4中A所示。然后,MN分別以10.0.0.1和12.0.0.1作為源地址和目的地址發(fā)出第一個數(shù)據(jù)包。當(dāng)ITR/ETR_A收到這個包時,它應(yīng)該獲得該目的EID的RLOC。因此,如圖4中步驟3~5所示,ITR/ETR_A執(zhí)行RLOC查詢操作,該操作與LISP中相同。然后,ITR/ETR_B的地址就以RLOC(3.0.0.1)的形式返回。最后,數(shù)據(jù)通過在ITR/ETR_A和 ITR/ETR_B處封裝和解封裝來完成在核心網(wǎng)內(nèi)的傳輸。
圖3中,模塊(a)描述了會話(1)的封裝和解封裝的過程。在位置A處的映射查詢和數(shù)據(jù)初始化與標(biāo)準(zhǔn)LISP中一樣。然后,MN移至位置C,而會話(1)需要保持并移交至新接入點。在該方案中,MN在位置C處獲得新的EID_2(11.0.0.1)。然后,EID_2將被注冊到HN-EID映射系統(tǒng)里如圖4中步驟7和B所示。
現(xiàn)在HN-EID映射系統(tǒng)里面存在一個HN(mn@hpnl.ac.cn)對應(yīng)兩個不同優(yōu)先級的EID(10.0.0.1 和11.0.0.1)的條目。由于現(xiàn)在該MN節(jié)點在位置C,所以把EID_2的優(yōu)先級設(shè)置比EID_1高。這樣在后續(xù)的應(yīng)用中就采用EID_2作MN的目的地址。
然而,會話(1)中的數(shù)據(jù)包仍然使用EID_1作源地址來保持會話的連貫性。當(dāng)ITR/ETR_C接到終端發(fā)來的會話(1)的數(shù)據(jù)包時,它認(rèn)識到該MN需要移動性支持,因為該包中的源地址EID與它自己的EID前綴不匹配。然后,ITR/ETR_C發(fā)出EID-RLOC的映射更新消息給ITR/ETR_A,如圖4中步驟8~10。當(dāng)ITR/ETR_A接收到該更新后,它就添加該EID對應(yīng)的RLOC的映射條目,并賦之更高的優(yōu)先級。這樣,任何指向EID_1的映射請求都會被返回2.0.0.1,指向位置C。而別的來自10.0.0.0/24區(qū)域的主機(jī)請求仍舊指向位置A。這樣該方案保持了LISP映射系統(tǒng)的規(guī)模性和匯聚性。
該方案在更新完MN的EID至RLOC映射數(shù)據(jù)庫后,開始進(jìn)行快速的位置更新以實現(xiàn)快速切換。首先,ITR/ETR_A通知ITR/ETR_B,更新其EID-RLOC的緩存,如圖4中步驟11所示。所以ITR/ETR_B不必要去請求映射系統(tǒng)來獲知MN的新RLOC。然后,ITR/ETR_A將緩存中發(fā)往MN的數(shù)據(jù)發(fā)往ITR/ETR_C,直至數(shù)據(jù)被直接發(fā)往RLOC_2為止,如圖3中模塊b所示。因此,該方案可以在保持一個低時延和丟包率的情況下提供快速平滑的切換。
現(xiàn)在位置B中的CN_2想與位置C中的MN通信。它先通過查詢HN-EID映射系統(tǒng)來獲取MN的EID,被告知兩個不同優(yōu)先級的EID_1 和EID_2,如圖4中模塊C所示。CN_2根據(jù)自己的設(shè)置來選擇一個EID與之通信,多數(shù)情況下EID_2是被推薦的。然后CN_2就以EID_2為目的地發(fā)出第一個數(shù)據(jù)包。接下來的映射和封裝與LISP中相同(見圖4中步驟12-14和圖3中會話2)。可以看出MN可以同時為不同的應(yīng)用保持會話(1)和(2),所以該方案可以在LISP架構(gòu)中提供一個動態(tài)靈活的移動性支持。
4 方案評估
本文提出的移動性管理方案是基于身份/位置分離思想的,因此繼承了LISP架構(gòu)固有的優(yōu)點,如對路由可擴(kuò)展性支持和終端位置隱私性等,能夠較好地適應(yīng)未來網(wǎng)絡(luò)的發(fā)展。與LISP-MN機(jī)制相對比,本文提出的方案有以下幾個方面的優(yōu)勢(見表1)。
表1 本方案與LISP-MN性能對比
(1)基于網(wǎng)絡(luò)的方式
LISP-MN是基于主機(jī)的,而本文提出的方案是基于網(wǎng)絡(luò)側(cè)的,與LISP的實際目標(biāo)一致。所以對于終端來說,沒有軟件上的要求,只要是普通終端就可以;同時,對于網(wǎng)絡(luò)側(cè)來說,只要在邊緣路由器上添加一些功能上的改進(jìn)就可以實現(xiàn),便于部署與實施。
(2)更快的查找速度
對于LISP-MN,每次數(shù)據(jù)通信需要進(jìn)行兩次EID-RLOC映射查詢,而本文提出的方案只需要一次查詢即可。整個映射系統(tǒng)的性能在LISP架構(gòu)中起著十分重要的作用,每多進(jìn)行一次映射系統(tǒng)的查詢,所造成的切換時延將會加倍。本方案有效地降低了系統(tǒng)的查詢時間,這也在一定程度上減小了系統(tǒng)的切換延時。
(3)更低的系統(tǒng)開銷
本文提出的方案只需要進(jìn)行一次封裝與解封;而LISP-MN方案則需要兩次封裝和解封。特別是在核心網(wǎng)中,LISP-MN方案傳輸?shù)臄?shù)據(jù)包是經(jīng)過兩層封裝的IP數(shù)據(jù)包,整個報頭占數(shù)據(jù)包較大比重,帶寬利用率較低。相比而言,本文提出的方案僅有一次封裝,能夠較好地利用網(wǎng)絡(luò)帶寬。
(4)平滑切換
本文提出的快速位置更新方法,能夠較快地通知通信對端路由器上更新移動終端的EID-RLOC映射,可以有效地減小切換時的丟包,降低了切換延時。
另一方面,該方案雖然也對系統(tǒng)帶來了一定的開銷,這個開銷主要是由于添加HN-EID的映射系統(tǒng)引起的。然而,這個開銷相對比較小,因為它可以對現(xiàn)有的DNS系統(tǒng)做細(xì)微的改進(jìn)而來。
5 結(jié)束語
本文提出了LISP架構(gòu)中一種新的移動性管理方案。一種基于三種命名空間和兩種映射系統(tǒng)的移動管理方案被用來提供靈活的移動性支持。該方案是基于網(wǎng)絡(luò)側(cè)的,并且可以從現(xiàn)在的網(wǎng)絡(luò)逐步演化而來,對現(xiàn)有的DNS系統(tǒng)也只需要作比較小的改動。該方案由于降低了開銷、時延和丟包率,比LISP-MN表現(xiàn)更好。本文下一步的研究將考慮LISP區(qū)域和非LISP區(qū)域之間的移動性支持。