基于標(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)的報(bào)告,主要是以下幾個(gè)因素導(dǎo)致了BGP路由表的迅速增長:多宿、流量工程和非聚合地址的使用。上述問題的根本原因在于IP地址的語義過載,即IP地址同時(shí)包含標(biāo)識和位置信息,分別用于傳輸層和路由系統(tǒng)。IETF已經(jīng)開始著手研究這個(gè)問題,主要思路是將網(wǎng)絡(luò)節(jié)點(diǎn)的標(biāo)識和位置進(jìn)行分離,并提出了如LISP,Six/One,SHIM6和HIP等方案。在這些方案中,LISP方案最為關(guān)鍵,獲得包括思科在內(nèi)的眾多廠商及研究人員的廣泛支持。
盡管LISP基于標(biāo)識/位置分離,但是移動性支持方面仍存在很大的問題。LISP-MN是IETF工作組最近提出來的支持LISP移動性的方案。在LISP-MN方案中,移動節(jié)點(diǎn)需要具備LISP邊界路由器的部分功能,這增大了移動節(jié)點(diǎn)實(shí)現(xiàn)的復(fù)雜性。更重要的問題在于,LISP-MN方案需要對于數(shù)據(jù)報(bào)文進(jìn)行雙重映射和雙重封裝,由此而引起的傳輸及切換延遲問題是不可忽視的。
為此,本文提出了一種新的移動性管理方案。該方案主要是基于網(wǎng)絡(luò)側(cè)的,對終端側(cè)改動較小。在本方案中,我們定義了三種命名空間(HN,ID,Locator),并引入了一種新的主機(jī)名HN到標(biāo)識ID的映射系統(tǒng)。主機(jī)名HN是唯一標(biāo)識移動節(jié)點(diǎn),且是全球惟一的。終端的HN與ID之間的映射關(guān)系是一對多的。當(dāng)終端移動發(fā)生切換時(shí),終端可以同時(shí)采用多個(gè)ID進(jìn)行會話,數(shù)據(jù)包在傳輸過程中只封裝一次。另外,通過引入一種快速位置更新的方法,實(shí)現(xiàn)了移動節(jié)點(diǎn)的平滑切換。與LISP-MN方案對比,可以看出我們的方法在切換時(shí)延和系統(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)實(shí)現(xiàn)了核心網(wǎng)絡(luò)和邊緣網(wǎng)絡(luò)的分離,它通過一個(gè)映射系統(tǒng)用來實(shí)現(xiàn)從EID至RLOC的映射解析。LISP通過IP-in-IP的封裝及解封裝機(jī)制實(shí)現(xiàn)了在核心網(wǎng)中的路由和轉(zhuǎn)發(fā)。
當(dāng)一個(gè)節(jié)點(diǎn)向?qū)Χ斯?jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),對端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)點(diǎn):第一,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)方案來解決特定情況下存在的一些缺點(diǎn)。提出了HIMALIS架構(gòu),通過引入一種新的命名空間來提供移動性支持。然而,它對于綁定和映射更新比較復(fù)雜。提出了一種改進(jìn)的架構(gòu)來解決路由可擴(kuò)展性和移動性,并未對切換的細(xì)節(jié)進(jìn)行描述。為了更好地描述移動性問題,下面針對LISP-MN進(jìn)行重點(diǎn)介紹。
在LISP-MN方案中,一個(gè)LISP節(jié)點(diǎn)具有一個(gè)永久性的EID,用作識別主機(jī)而不是路由。當(dāng)一個(gè)移動節(jié)點(diǎn)漫游至一個(gè)新的網(wǎng)絡(luò)中時(shí),它接收到一個(gè)轉(zhuǎn)交地址。該地址是當(dāng)前可達(dá)的,并在映射系統(tǒng)把它注冊為本地位置LLOC(Local Locator)。所有的LLOC都預(yù)先在映射系統(tǒng)里和RLOC一起注冊。LISP-MN假定MN本身是一個(gè)單獨(dú)的LISP域并具備ITR/ETR對進(jìn)出口流量的處理功能。發(fā)送數(shù)據(jù)時(shí),MN封裝出口的流量發(fā)送至ETR。接收數(shù)據(jù)時(shí),流量通過隧道從ITR或另一個(gè)MN傳輸至MN。
當(dāng)數(shù)據(jù)包從一個(gè)LISP域傳輸至另一個(gè)LISP域的MN時(shí),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ù)傳輸
事實(shí)上,雖然LISP-MN提出了一些設(shè)計(jì)目標(biāo),但它并沒有提出一個(gè)清晰的方案來實(shí)現(xiàn)。它甚至忽視了一些問題,比如快速移動性。總的來說,LISP-MN存在以下問題:
(1)基于主機(jī)的方式。LISP-MN要求節(jié)點(diǎn)在移動時(shí)獲取新的Locator,并參與到移動管理的步驟中,這增加了移動節(jié)點(diǎn)的復(fù)雜度。MN由于要具備ITR/ETR的功能而負(fù)載過重。
(2)開銷。LISP-MN要求對所有的數(shù)據(jù)包進(jìn)行雙重映射和雙重封裝。
(3)切換性能。MN需要承受由于新位置識別、雙重映射和雙重封裝引起的長的切換延遲和丟包率。
3 改進(jìn)的移動性管理方案
為了解決LISP中存在的移動性問題,本文提出了一種基于標(biāo)識/位置分離的移動性管理方案。該方案包含三種命名空間和兩種映射系統(tǒng)。數(shù)據(jù)包在傳輸過程中只封裝一次。同時(shí),提出了快速的位置更新方法,來實(shí)現(xiàn)靈活的移動性支持和平滑切換需求。
3.1 三種命名空間
本方案定義了一種主機(jī)名HN(Host Name)的名字空間,所以系統(tǒng)中一共有三種命名空間:HN,EID,RLOC。相應(yīng)的需要兩種映射系統(tǒng):HN至EID,EID至RLOC。整個(gè)系統(tǒng)的結(jié)構(gòu)如圖3所示。HN是不變的且全球惟一的主機(jī)標(biāo)識,EID用來標(biāo)識MN的應(yīng)用程序。MN的EID在節(jié)點(diǎn)移動至別的LISP區(qū)域時(shí)會發(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)來實(shí)現(xiàn),考慮到終端可能存在多個(gè)EID的情況,HN與EID的映射關(guān)系可能是一對多的關(guān)系,因此我們做了一個(gè)Priority的擴(kuò)展,其格式見圖3。關(guān)于如何使用此映射下面將會詳細(xì)介紹。
3.2 動態(tài)移動管理方案
在該方案中,MN一旦進(jìn)入到一個(gè)新的LISP區(qū)域就會動態(tài)獲得一個(gè)新的EID。相應(yīng)的,新開啟的會話將采用新的EID作源地址或目的地址,而老的會話為了支持移動性仍然采用舊的EID。
圖3表示了該方案的一個(gè)實(shí)例:MN在位置A與CN_1產(chǎn)生會話(1),當(dāng)它移動到位置C后,會話(2)就被轉(zhuǎn)交給C。同時(shí),CN_2在MN移動到位置C后向它發(fā)起新的會話(2)。圖4表示了整個(gè)過程的注冊和切換信令的交互示意。
圖4 移動性管理方案注冊及切換流程圖
首先,每個(gè)ETR在自己的位置注冊自己的EID前綴到相應(yīng)的映射服務(wù)器上,如圖4步驟1所示。當(dāng)MN從位置A啟動時(shí),它根據(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ā)出第一個(gè)數(shù)據(jù)包。當(dāng)ITR/ETR_A收到這個(gè)包時(shí),它應(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)需要保持并移交至新接入點(diǎn)。在該方案中,MN在位置C處獲得新的EID_2(11.0.0.1)。然后,EID_2將被注冊到HN-EID映射系統(tǒng)里如圖4中步驟7和B所示。
現(xiàn)在HN-EID映射系統(tǒng)里面存在一個(gè)HN(mn@hpnl.ac.cn)對應(yīng)兩個(gè)不同優(yōu)先級的EID(10.0.0.1 和11.0.0.1)的條目。由于現(xiàn)在該MN節(jié)點(diǎn)在位置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ù)包時(shí),它認(rèn)識到該MN需要移動性支持,因?yàn)樵摪械脑吹刂稥ID與它自己的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)行快速的位置更新以實(shí)現(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所示。因此,該方案可以在保持一個(gè)低時(shí)延和丟包率的情況下提供快速平滑的切換。
現(xiàn)在位置B中的CN_2想與位置C中的MN通信。它先通過查詢HN-EID映射系統(tǒng)來獲取MN的EID,被告知兩個(gè)不同優(yōu)先級的EID_1 和EID_2,如圖4中模塊C所示。CN_2根據(jù)自己的設(shè)置來選擇一個(gè)EID與之通信,多數(shù)情況下EID_2是被推薦的。然后CN_2就以EID_2為目的地發(fā)出第一個(gè)數(shù)據(jù)包。接下來的映射和封裝與LISP中相同(見圖4中步驟12-14和圖3中會話2)??梢钥闯鯩N可以同時(shí)為不同的應(yīng)用保持會話(1)和(2),所以該方案可以在LISP架構(gòu)中提供一個(gè)動態(tài)靈活的移動性支持。
4 方案評估
本文提出的移動性管理方案是基于身份/位置分離思想的,因此繼承了LISP架構(gòu)固有的優(yōu)點(diǎn),如對路由可擴(kuò)展性支持和終端位置隱私性等,能夠較好地適應(yīng)未來網(wǎng)絡(luò)的發(fā)展。與LISP-MN機(jī)制相對比,本文提出的方案有以下幾個(gè)方面的優(yōu)勢(見表1)。
表1 本方案與LISP-MN性能對比
(1)基于網(wǎng)絡(luò)的方式
LISP-MN是基于主機(jī)的,而本文提出的方案是基于網(wǎng)絡(luò)側(cè)的,與LISP的實(shí)際目標(biāo)一致。所以對于終端來說,沒有軟件上的要求,只要是普通終端就可以;同時(shí),對于網(wǎng)絡(luò)側(cè)來說,只要在邊緣路由器上添加一些功能上的改進(jìn)就可以實(shí)現(xiàn),便于部署與實(shí)施。
(2)更快的查找速度
對于LISP-MN,每次數(shù)據(jù)通信需要進(jìn)行兩次EID-RLOC映射查詢,而本文提出的方案只需要一次查詢即可。整個(gè)映射系統(tǒng)的性能在LISP架構(gòu)中起著十分重要的作用,每多進(jìn)行一次映射系統(tǒng)的查詢,所造成的切換時(shí)延將會加倍。本方案有效地降低了系統(tǒng)的查詢時(shí)間,這也在一定程度上減小了系統(tǒng)的切換延時(shí)。
(3)更低的系統(tǒng)開銷
本文提出的方案只需要進(jìn)行一次封裝與解封;而LISP-MN方案則需要兩次封裝和解封。特別是在核心網(wǎng)中,LISP-MN方案傳輸?shù)臄?shù)據(jù)包是經(jīng)過兩層封裝的IP數(shù)據(jù)包,整個(gè)報(bào)頭占數(shù)據(jù)包較大比重,帶寬利用率較低。相比而言,本文提出的方案僅有一次封裝,能夠較好地利用網(wǎng)絡(luò)帶寬。
(4)平滑切換
本文提出的快速位置更新方法,能夠較快地通知通信對端路由器上更新移動終端的EID-RLOC映射,可以有效地減小切換時(shí)的丟包,降低了切換延時(shí)。
另一方面,該方案雖然也對系統(tǒng)帶來了一定的開銷,這個(gè)開銷主要是由于添加HN-EID的映射系統(tǒng)引起的。然而,這個(gè)開銷相對比較小,因?yàn)樗梢詫ΜF(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)也只需要作比較小的改動。該方案由于降低了開銷、時(shí)延和丟包率,比LISP-MN表現(xiàn)更好。本文下一步的研究將考慮LISP區(qū)域和非LISP區(qū)域之間的移動性支持。