基于標識/位置分離的新型移動性管理機制研究
3.1 三種命名空間
本方案定義了一種主機名HN(Host Name)的名字空間,所以系統(tǒng)中一共有三種命名空間:HN,EID,RLOC。相應的需要兩種映射系統(tǒng):HN至EID,EID至RLOC。整個系統(tǒng)的結構如圖3所示。HN是不變的且全球惟一的主機標識,EID用來標識MN的應用程序。MN的EID在節(jié)點移動至別的LISP區(qū)域時會發(fā)生改變。HN是長度可變的、可讀的、方便記憶的,而EID是用在LISP數據包中頭部的源地址或目的地址的IPv4或IPv6地址,它是不可讀的。
為了從HN獲得對端的EID,本方案引入了HN—EID映射系統(tǒng)。該映射系統(tǒng)可以通過修改DNS系統(tǒng)來實現,考慮到終端可能存在多個EID的情況,HN與EID的映射關系可能是一對多的關系,因此我們做了一個Priority的擴展,其格式見圖3。關于如何使用此映射下面將會詳細介紹。
3.2 動態(tài)移動管理方案
在該方案中,MN一旦進入到一個新的LISP區(qū)域就會動態(tài)獲得一個新的EID。相應的,新開啟的會話將采用新的EID作源地址或目的地址,而老的會話為了支持移動性仍然采用舊的EID。
圖3表示了該方案的一個實例:MN在位置A與CN_1產生會話(1),當它移動到位置C后,會話(2)就被轉交給C。同時,CN_2在MN移動到位置C后向它發(fā)起新的會話(2)。圖4表示了整個過程的注冊和切換信令的交互示意。
首先,每個ETR在自己的位置注冊自己的EID前綴到相應的映射服務器上,如圖4步驟1所示。當MN從位置A啟動時,它根據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ā)出第一個數據包。當ITR/ETR_A收到這個包時,它應該獲得該目的EID的RLOC。因此,如圖4中步驟3~5所示,ITR/ETR_A執(zhí)行RLOC查詢操作,該操作與LISP中相同。然后,ITR/ETR_B的地址就以RLOC(3.0.0.1)的形式返回。最后,數據通過在ITR/ETR_A和 ITR/ETR_B處封裝和解封裝來完成在核心網內的傳輸。
圖3中,模塊(a)描述了會話(1)的封裝和解封裝的過程。在位置A處的映射查詢和數據初始化與標準LISP中一樣。然后,MN移至位置C,而會話(1)需要保持并移交至新接入點。在該方案中,MN在位置C處獲得新的EID_2(11.0.0.1)。然后,EID_2將被注冊到HN-EID映射系統(tǒng)里如圖4中步驟7和B所示。
現在HN-EID映射系統(tǒng)里面存在一個HN(mn@hpnl.ac.cn)對應兩個不同優(yōu)先級的EID(10.0.0.1 和11.0.0.1)的條目。由于現在該MN節(jié)點在位置C,所以把EID_2的優(yōu)先級設置比EID_1高。這樣在后續(xù)的應用中就采用EID_2作MN的目的地址。
然而,會話(1)中的數據包仍然使用EID_1作源地址來保持會話的連貫性。當ITR/ETR_C接到終端發(fā)來的會話(1)的數據包時,它認識到該MN需要移動性支持,因為該包中的源地址EID與它自己的EID前綴不匹配。然后,ITR/ETR_C發(fā)出EID-RLOC的映射更新消息給ITR/ETR_A,如圖4中步驟8~10。當ITR/ETR_A接收到該更新后,它就添加該EID對應的RLOC的映射條目,并賦之更高的優(yōu)先級。這樣,任何指向EID_1的映射請求都會被返回2.0.0.1,指向位置C。而別的來自10.0.0.0/24區(qū)域的主機請求仍舊指向位置A。這樣該方案保持了LISP映射系統(tǒng)的規(guī)模性和匯聚性。
該方案在更新完MN的EID至RLOC映射數據庫后,開始進行快速的位置更新以實現快速切換。首先,ITR/ETR_A通知ITR/ETR_B,更新其EID-RLOC的緩存,如圖4中步驟11所示。所以ITR/ETR_B不必要去請求映射系統(tǒng)來獲知MN的新RLOC。然后,ITR/ETR_A將緩存中發(fā)往MN的數據發(fā)往ITR/ETR_C,直至數據被直接發(fā)往RLOC_2為止,如圖3中模塊b所示。因此,該方案可以在保持一個低時延和丟包率的情況下提供快速平滑的切換。
現在位置B中的CN_2想與位置C中的MN通信。它先通過查詢HN-EID映射系統(tǒng)來獲取MN的EID,被告知兩個不同優(yōu)先級的EID_1 和EID_2,如圖4中模塊C所示。CN_2根據自己的設置來選擇一個EID與之通信,多數情況下EID_2是被推薦的。然后CN_2就以EID_2為目的地發(fā)出第一個數據包。接下來的映射和封裝與LISP中相同(見圖4中步驟12-14和圖3中會話2)??梢钥闯鯩N可以同時為不同的應用保持會話(1)和(2),所以該方案可以在LISP架構中提供一個動態(tài)靈活的移動性支持。
4 方案評估
本文提出的移動性管理方案是基于身份/位置分離思想的,因此繼承了LISP架構固有的優(yōu)點,如對路由可擴展性支持和終端位置隱私性等,能夠較好地適應未來網絡的發(fā)展。與LISP-MN機制相對比,本文提出的方案有以下幾個方面的優(yōu)勢(見表1)。
表1 本方案與LISP-MN性能對比
(1)基于網絡的方式
LISP-MN是基于主機的,而本文提出的方案是基于網絡側的,與LISP的實際目標一致。所以對于終端來說,沒有軟件上的要求,只要是普通終端就可以;同時,對于網絡側來說,只要在邊緣路由器上添加一些功能上的改進就可以實現,便于部署與實施。
(2)更快的查找速度
對于LISP-MN,每次數據通信需要進行兩次EID-RLOC映射查詢,而本文提出的方案只需要一次查詢即可。整個映射系統(tǒng)的性能在LISP架構中起著十分重要的作用,每多進行一次映射系統(tǒng)的查詢,所造成的切換時延將會加倍。本方案有效地降低了系統(tǒng)的查詢時間,這也在一定程度上減小了系統(tǒng)的切換延時。
(3)更低的系統(tǒng)開銷
本文提出的方案只需要進行一次封裝與解封;而LISP-MN方案則需要兩次封裝和解封。特別是在核心網中,LISP-MN方案傳輸的數據包是經過兩層封裝的IP數據包,整個報頭占數據包較大比重,帶寬利用率較低。相比而言,本文提出的方案僅有一次封裝,能夠較好地利用網絡帶寬。
評論