位置和標識分離協議主機遷移方法及裝置的制造方法
【技術領域】
[0001]本申請涉及LISP (Locator/Identity Separat1n Protocol,位置和標識分離協議)技術領域,尤其涉及LISP主機遷移方法及裝置。
【背景技術】
[0002]LISP (Locator/Identity Separat1n Protocol,位置和標識分離協議)是一種位置和標識分離的建網思想,形成兩個獨立的地址空間:EID (Endpoint Identifier,端點標識)和RL0C(Routing Locator,路由位置符)。EID為通信端點的主機地址,與現有實現相同,在LISP中的作用類似于DNS(Domain Name System,域名系統),擁有獨立的空間。在LISP網絡中,EID可以獨立于RLOC進行遷移;RL0C為LISP路由器的地址,可在現有Internet中路由轉發,可全局路由,且根據網絡拓撲情況進行聚合。EID之間通信的報文封裝在RLOC之間的隧道中進行轉發。
[0003]圖1為LISP網絡全景示意圖,如圖1所示,LISP組件如下:
[0004]I) xTRs (xTunnel Routers):隧道路由器,包括:ITR(Ingress Router,入口 TR)和ETR (Egress TR,出口 TR);
[0005]2) Map DB (Map DataBase,映射數據庫):EID到RLOC的映射數據庫,包含RLOC與EID的映射關系,存儲在映射服務器(MS,Map Server)上;
[0006]3) PxTR(Proxy xTR):代理xTR,位于支持LISP和不支持LISP的網絡邊界處。
[0007]LISP通過ITR和ETR實現了核心網和邊緣網的分離,它通過一個映射系統用來實現從EID至RLOC的映射解析。LISP通過IP_in_IP的封裝及解封裝機制實現了在核心網中的路由和轉發。
[0008]以圖1為例,當LISP站點A內的主機I向LISP站點B內的主機2發送數據時,主機2的EID在核心網中是不可路由的;當數據包到達ITR后,ITR向MR (Map Resolver,映射解析器)發送Map-Request消息以查詢主機2的EID對應的RL0C,MR將Map-Request消息轉發給MS,MS在本地Map DB中查找到主機2的EID對應的ETR的RL0C,MS將Map-Request消息轉發給ETR,ETR將主機2的EID和自己的RLOC攜帶在Map-Response消息中返回給ITR ;然后ITR封裝該數據包,以自己的RLOC為源地址,以對端ETR的RLOC為目的地址;對端ETR收到該包后解封裝該包,最后將數據包發送給主機2。
[0009]在LISP網絡中,主機遷移的過程主要如下:
[0010]I)當主機I從TRl遷移到TR2時,TR2會收到主機發出的免費ARP (AddressResolut1n Protocol,地址解析協議)報文或者數據報文,從而TR2感知到主機遷移到本TRT ;
[0011]2)TR2通過注冊消息向MS注冊主機I的EID ;
[0012]3)MS根據主機I的EID在本地Map DB中,查找到主機I對應的遷出TR =TRl的RLOC,向TRl發送Map-Notify消息通知主機I已遷出;
[0013]4) TRl收到該Map-Notify消息后,將主機I的狀態設為:遷出;
[0014]5)TRl收到目的為主機I的報文后,向發出該報文的遠端TR發起SMR(SolicitMap-Request,請求發起映射請求)消息,該SMR消息中攜帶主機I的EID,以觸發該遠端TR重新去請求主機I對應的遷入RL0C,同時丟棄該報文;
[0015]6)遠端TR收到該SMR消息,向MR(映射解析器)發起攜帶主機I的EID的Map-Request消息,MR將Map-Request消息轉發給MS,MS在本地Map DB中查找到主機I的EID對應的遷入TR2的RLOC,MS將Map-Request消息轉發給TR2,TR2將主機I的EID與TR2的RLOC的映射關系攜帶在Map-Response消息中返回給遠端TR,遠端TR以該映射關系更新自身保存的主機I的EID與TRl的RLOC的映射關系,此后,該遠端TR發出的以主機I為目的的報文不再發給TRl,而是發給TR2,流量遷移完成。
【發明內容】
[0016]本申請提供LISP主機遷移方法及裝置。
[0017]本申請的技術方案是這樣實現的:
[0018]—種LISP主機遷移方法,該方法包括:
[0019]TR接收MS發來的映射請求消息,該消息攜帶了遠端TR的RL0C,還攜帶了主機的EID ;所述TR將所述遠端TR的RLOC放入本地遠端TR列表中;
[0020]所述TR接收MS或其它TR發來的映射通知消息,該消息攜帶EID與RLOC的映射關系,在自身記錄的EID與RLOC的映射關系中,查找該消息攜帶的EID對應的RL0C,比較查找到的RLOC與該消息攜帶的RLOC是否一致,若不一致,向遠端TR列表中的每一 RLOC對應的遠端TR分別發送懇求映射請求SMR消息,該SMR消息攜帶所述映射通知消息中的EID。
[0021]—種LISP主機遷移方法,該方法包括:
[0022]TR接收本地LISP站點內的任一主機發出的數據報文,該報文的目的地址對應的TR為遠端TR,且該報文為該主機向該遠端TR發出的首包,則向該遠端TR發出SMR消息,該SMR消息攜帶該主機的EID。
[0023]一種用于LISP主機遷移的裝置,該裝置位于TR上,該裝置包括:
[0024]遠端TR列表維護模塊:接收MS發來的映射請求消息,該消息攜帶了遠端TR的RLOC,還攜帶了主機的EID,將所述遠端TR的RLOC放入本地遠端TR列表中;
[0025]映射請求觸發模塊:接收MS或其它TR發來的映射通知消息,該消息攜帶EID與RLOC的映射關系,在自身記錄的EID與RLOC的映射關系中,查找該消息攜帶的EID對應的RLOC,比較查找到的RLOC與該消息攜帶的RLOC是否一致,若不一致,向遠端TR列表中的每一RLOC對應的遠端TR分別發送懇求映射請求SMR消息,該SMR消息攜帶所述映射通知消息中的EID。
[0026]一種用于LISP主機遷移的裝置,該裝置位于TR上,該裝置包括:
[0027]映射請求觸發模塊:接收本地LISP站點內的任一主機發出的數據報文,該報文的目的地址對應的TR為遠端TR,且該報文為該主機向該遠端TR發出的首包,則向該遠端TR發出SMR消息,該SMR消息攜帶該主機的EID。
[0028]可見,本申請中,TR維護遠端TR列表,當主機發生遷移后,遷出TR接收到MS或遷入TR發來的攜帶了該主機的EID的映射通知消息后,向遠端TR列表中的所有遠端TR發送攜帶該主機的EID的SMR消息,從而加快了流量的遷移;
[0029]或者,當遷入TR感知到主機遷入后,當接收到主機發給遠端TR的首包后,向遠端TR發送攜帶該主機的EID的SMR消息,從而加快了流量的遷移。
【附圖說明】
[0030]圖1為LISP網絡全景示意圖;
[0031]圖2為本申請一實施例提供的LISP主機遷移方法流程圖;
[0032]圖3為本申請又一實施例提供的LISP主機遷移方法流程圖;
[0033]圖4為本申請應用示例一的組網示意圖;
[0034]圖5為本申請應用示例二的組網示意圖;
[0035]圖6為本申請應用示例三的組網示意圖;
[0036]圖7為本申請一實施例提供的用于LISP主機遷移的裝置的組成示意圖;
[0037]圖8為本申請又一實施例提供的用于LISP主機遷移的裝置的組成示意圖;
[0038]圖9為本申請實施例提供的TR的硬件結構示意圖。
【具體實施方式】
[0039]從上述LISP網絡中的主機遷移過程可以看出,在主機剛發生遷移時,遠端TR上緩存的該主機的EID與RLOC的映射關系還是遷移前的,以該主機為目的的流量還是發給遷出TR,當遷出TR收到MS或者遷入TR發送的攜帶該主機的EID與遷入RLOC的映射關系的Map-Notify消息后,感知到該主機遷移了,這樣遷出TR再收到遠端TR發給主機的流量時,通過SMR機制通知遠端TR重新請求該主機的映射信息,最終將流量引到遷入TR上。
[0040]可見,只有遷出TR收到遠端TR發給已遷移主機的流量后,才能觸發遠端TR上發給該主機的流量的遷移,遷移時長受到遠端TR發出的流量的時刻的影響。
[0041]圖2為本申請一實施例提供的LISP主機遷移方法流程圖,其具體步驟如下:
[0042]步驟201:對于LISP網絡中的任一 TR,當該TR接收到MS發來的Map-Request消息時,該消息攜帶了發起該消息的遠端TR的RL0C,該消息還攜帶了該遠端TR請求映射的主機的EID,該主機位于該TR的本地LISP站點內,該TR將該遠端TR的RLOC放入本地遠端TR列表中。
[0043]本步驟中的Map-Request消息的來源具