CN105530325B - 位置和标识分离协议主机迁移方法及装置 - Google Patents

位置和标识分离协议主机迁移方法及装置 Download PDF

Info

Publication number
CN105530325B
CN105530325B CN201410519873.3A CN201410519873A CN105530325B CN 105530325 B CN105530325 B CN 105530325B CN 201410519873 A CN201410519873 A CN 201410519873A CN 105530325 B CN105530325 B CN 105530325B
Authority
CN
China
Prior art keywords
rloc
message
eid
remote
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410519873.3A
Other languages
English (en)
Other versions
CN105530325A (zh
Inventor
林长望
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410519873.3A priority Critical patent/CN105530325B/zh
Priority to PCT/CN2015/090223 priority patent/WO2016050149A1/en
Priority to US15/515,915 priority patent/US20170302743A1/en
Publication of CN105530325A publication Critical patent/CN105530325A/zh
Application granted granted Critical
Publication of CN105530325B publication Critical patent/CN105530325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提出位置和标识分离协议主机迁移方法及装置。方法包括:TR接收MS发来的映射请求消息,该消息携带了远端TR的RLOC,还携带了主机的EID;TR将所述远端TR的RLOC放入本地远端TR列表中;TR接收MS或其它TR发来的映射通知消息,该消息携带EID与RLOC的映射关系,在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,向远端TR列表中的每一RLOC对应的远端TR分别发送SMR消息,该SMR消息携带所述映射通知消息中的EID。本申请加快了主机迁移时的流量迁移速度。

Description

位置和标识分离协议主机迁移方法及装置
技术领域
本申请涉及LISP(Locator/Identity Separation Protocol,位置和标识分离协议)技术领域,尤其涉及LISP主机迁移方法及装置。
背景技术
LISP(Locator/Identity Separation Protocol,位置和标识分离协议)是一种位置和标识分离的建网思想,形成两个独立的地址空间:EID(Endpoint Identifier,端点标识)和RLOC(Routing Locator,路由位置符)。EID为通信端点的主机地址,与现有实现相同,在LISP中的作用类似于DNS(Domain Name System,域名系统),拥有独立的空间。在LISP网络中,EID可以独立于RLOC进行迁移;RLOC为LISP路由器的地址,可在现有Internet中路由转发,可全局路由,且根据网络拓扑情况进行聚合。EID之间通信的报文封装在RLOC之间的隧道中进行转发。
图1为LISP网络全景示意图,如图1所示,LISP组件如下:
1)xTRs(xTunnel Routers):隧道路由器,包括:ITR(Ingress Router,入口TR)和ETR(Egress TR,出口TR);
2)Map DB(Map DataBase,映射数据库):EID到RLOC的映射数据库,包含RLOC与EID的映射关系,存储在映射服务器(MS,Map Server)上;
3)PxTR(Proxy xTR):代理xTR,位于支持LISP和不支持LISP的网络边界处。
LISP通过ITR和ETR实现了核心网和边缘网的分离,它通过一个映射系统用来实现从EID至RLOC的映射解析。LISP通过IP-in-IP的封装及解封装机制实现了在核心网中的路由和转发。
以图1为例,当LISP站点A内的主机1向LISP站点B内的主机2发送数据时,主机2的EID在核心网中是不可路由的;当数据包到达ITR后,ITR向MR(Map Resolver,映射解析器)发送Map-Request消息以查询主机2的EID对应的RLOC,MR将Map-Request消息转发给MS,MS在本地Map DB中查找到主机2的EID对应的ETR的RLOC,MS将Map-Request消息转发给ETR,ETR将主机2的EID和自己的RLOC携带在Map-Response消息中返回给ITR;然后ITR封装该数据包,以自己的RLOC为源地址,以对端ETR的RLOC为目的地址;对端ETR收到该包后解封装该包,最后将数据包发送给主机2。
在LISP网络中,主机迁移的过程主要如下:
1)当主机1从TR1迁移到TR2时,TR2会收到主机发出的免费ARP(AddressResolution Protocol,地址解析协议)报文或者数据报文,从而TR2感知到主机迁移到本TR下;
2)TR2通过注册消息向MS注册主机1的EID;
3)MS根据主机1的EID在本地Map DB中,查找到主机1对应的迁出TR:TR1的RLOC,向TR1发送Map-Notify消息通知主机1已迁出;
4)TR1收到该Map-Notify消息后,将主机1的状态设为:迁出;
5)TR1收到目的为主机1的报文后,向发出该报文的远端TR发起SMR(Solicit Map-Request,请求发起映射请求)消息,该SMR消息中携带主机1的EID,以触发该远端TR重新去请求主机1对应的迁入RLOC,同时丢弃该报文;
6)远端TR收到该SMR消息,向MR(映射解析器)发起携带主机1的EID的Map-Request消息,MR将Map-Request消息转发给MS,MS在本地Map DB中查找到主机1的EID对应的迁入TR2的RLOC,MS将Map-Request消息转发给TR2,TR2将主机1的EID与TR2的RLOC的映射关系携带在Map-Response消息中返回给远端TR,远端TR以该映射关系更新自身保存的主机1的EID与TR1的RLOC的映射关系,此后,该远端TR发出的以主机1为目的的报文不再发给TR1,而是发给TR2,流量迁移完成。
发明内容
本申请提供LISP主机迁移方法及装置。
本申请的技术方案是这样实现的:
一种LISP主机迁移方法,该方法包括:
TR接收MS发来的映射请求消息,该消息携带了远端TR的RLOC,还携带了主机的EID;所述TR将所述远端TR的RLOC放入本地远端TR列表中;
所述TR接收MS或其它TR发来的映射通知消息,该消息携带EID与RLOC的映射关系,在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,向远端TR列表中的每一RLOC对应的远端TR分别发送恳求映射请求SMR消息,该SMR消息携带所述映射通知消息中的EID。
一种LISP主机迁移方法,该方法包括:
TR接收本地LISP站点内的任一主机发出的数据报文,该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
一种用于LISP主机迁移的装置,该装置位于TR上,该装置包括:
远端TR列表维护模块:接收MS发来的映射请求消息,该消息携带了远端TR的RLOC,还携带了主机的EID,将所述远端TR的RLOC放入本地远端TR列表中;
映射请求触发模块:接收MS或其它TR发来的映射通知消息,该消息携带EID与RLOC的映射关系,在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,向远端TR列表中的每一RLOC对应的远端TR分别发送恳求映射请求SMR消息,该SMR消息携带所述映射通知消息中的EID。
一种用于LISP主机迁移的装置,该装置位于TR上,该装置包括:
映射请求触发模块:接收本地LISP站点内的任一主机发出的数据报文,该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
可见,本申请中,TR维护远端TR列表,当主机发生迁移后,迁出TR接收到MS或迁入TR发来的携带了该主机的EID的映射通知消息后,向远端TR列表中的所有远端TR发送携带该主机的EID的SMR消息,从而加快了流量的迁移;
或者,当迁入TR感知到主机迁入后,当接收到主机发给远端TR的首包后,向远端TR发送携带该主机的EID的SMR消息,从而加快了流量的迁移。
附图说明
图1为LISP网络全景示意图;
图2为本申请一实施例提供的LISP主机迁移方法流程图;
图3为本申请又一实施例提供的LISP主机迁移方法流程图;
图4为本申请应用示例一的组网示意图;
图5为本申请应用示例二的组网示意图;
图6为本申请应用示例三的组网示意图;
图7为本申请一实施例提供的用于LISP主机迁移的装置的组成示意图;
图8为本申请又一实施例提供的用于LISP主机迁移的装置的组成示意图;
图9为本申请实施例提供的TR的硬件结构示意图。
具体实施方式
从上述LISP网络中的主机迁移过程可以看出,在主机刚发生迁移时,远端TR上缓存的该主机的EID与RLOC的映射关系还是迁移前的,以该主机为目的的流量还是发给迁出TR,当迁出TR收到MS或者迁入TR发送的携带该主机的EID与迁入RLOC的映射关系的Map-Notify消息后,感知到该主机迁移了,这样迁出TR再收到远端TR发给主机的流量时,通过SMR机制通知远端TR重新请求该主机的映射信息,最终将流量引到迁入TR上。
可见,只有迁出TR收到远端TR发给已迁移主机的流量后,才能触发远端TR上发给该主机的流量的迁移,迁移时长受到远端TR发出的流量的时刻的影响。
图2为本申请一实施例提供的LISP主机迁移方法流程图,其具体步骤如下:
步骤201:对于LISP网络中的任一TR,当该TR接收到MS发来的Map-Request消息时,该消息携带了发起该消息的远端TR的RLOC,该消息还携带了该远端TR请求映射的主机的EID,该主机位于该TR的本地LISP站点内,该TR将该远端TR的RLOC放入本地远端TR列表中。
本步骤中的Map-Request消息的来源具体有两种,分别举例说明:
来源一:
首先,设LISP网络中有两个TR:TR A、TRB,且TR A、TR B互为对方的远端TR,其中,TR A下挂了主机a,TR B下挂了主机b。
01:TR B接收到主机b发来的报文,该报文的目的地址为主机a的EID,TR B在自身记录的EID与RLOC的映射关系中未查找到主机a的EID,则向MR发送Map-Request消息,该消息的源地址为TR B的RLOC,该消息还携带主机a的EID,以请求主机a的EID对应的RLOC;
02:MR接收到该Map-Request消息后,将该消息转发给MS,MS在本地Map DB中查找到主机a的EID对应的RLOC,该RLOC即TR A的RLOC,则MS向TR A转发该Map-Request消息,则TR A就接收到了远端TR:TRB发起的Map-Request消息,按照本步骤201,TR A就会将TR B的RLOC放入本地远端TR列表中。
来源二:
首先,设LISP网络中有三个TR:TR A、TR B、TR C,且TR A、TR B、TR C两两互为远端TR,其中,TR B下挂了主机b。
01:主机b从TR B迁移到TR A,则TR A会向MS发起携带主机b的EID的注册报文,MS收到注册报文后向迁出TR:TR B发出Map-Notify消息以通知主机b已迁出;
02:TR B接收该Map-Notify消息,之后收到TR C发来的目的为主机b的报文,由于主机b已迁出,则向TR C发起SMR消息,该SMR消息中携带主机b的EID,以触发TR C重新去请求主机b对应的迁入RLOC;
03:TR C收到该SMR消息,向MR发起携带主机b的EID的Map-Request消息,MR将Map-Request消息转发给MS,MS将Map-Request消息转发给主机b迁移到的迁入TR:TR A,TR A将主机b的EID与本TR A的RLOC的映射关系携带在Map-Response消息中返回给TR C,同时按照本步骤201,TR A将TR C的RLOC放入本地远端TR列表中。
优选地,TR将该远端TR的RLOC放入本地远端TR列表中进一步包括:TR将该远端TR请求映射的主机的EID与本TR的RLOC的映射关系放入Map-Response消息,并在该Map-Response消息中填入mapcache(映射缓存)表项的存活时长,将该Map-Response消息返回给发起该Map-Request消息的远端TR。
优选地,TR将该远端TR的RLOC放入本地远端TR列表中进一步包括:TR判断该远端TR的RLOC是否已存在于本地远端TR列表中,若是,则重启该RLOC的老化定时器;否则,将该远端TR的RLOC放入本地远端TR列表中,并为该远端TR的RLOC设置老化定时器。
当远端TR列表中的任一RLOC的老化定时器到时时,删除该老化定时器及该RLOC。
其中,RLOC的老化定时器的定时时长可以为对应的Map-Response消息中的mapcache表项(即该RLOC与对应的EID的映射关系)的存活时长。
步骤202:TR接收到MS或者其它TR发来的Map-Notify消息,该消息携带EID与RLOC的映射关系,在自身记录的EID与RLOC的映射列表中,查找该消息携带的EID,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,则遍历本地远端TR列表,向该列表中的每一RLOC对应的远端TR分别发送SMR消息,该消息携带该EID。
当TR接收到其它TR发来的Map-Notify消息时,若查找到的RLOC与Map-Notify消息携带的RLOC一致,则说明Map-Notify消息中的EID对应的主机迁入本TR,则根据Map-Notify消息携带的EID与RLOC的映射关系更新自身记录的对应映射关系即可。
TR接收到的MS发来的Map-Notify消息的来源如下:
当一个主机从本TR迁出时,迁入TR感知到该主机后,会向MS发送携带该主机的EID与该迁入TR的RLOC的映射关系的注册消息,MS收到该注册消息后,在自身维护的Map DB中,查找到该主机的EID对应的TR(即迁出TR)的RLOC,MS向迁出TR发送携带该主机的EID与迁入TR的RLOC的映射关系的Map-Notify消息,同时MS会以迁入TR的RLOC更新Map DB中该主机的EID对应的迁出RLOC。
TR接收到的其它TR发来的Map-Notify消息的来源如下:
首先,当多个TR属于同一组播网络如:局域网(LAN,Local Area Network)或扩展LAN时,当该组播网中的一个TR发现有主机迁入本地LISP站点时,会向本地组播网发出组播Map-Notify消息,该消息携带了该主机的EID与本TR(即迁入TR)的RLOC的映射关系,同时向MS发送携带该主机的EID与本TR的RLOC的映射关系的注册消息。本步骤202中,TR接收到的其它TR发来的Map-Notify消息就是,TR所在的组播网内的其它TR在感知到有主机迁移到本地LISP站点后发出的组播Map-Notify消息。
优选地,步骤202中,当TR接收到其它TR发来的Map-Notify消息之后、在自身记录的EID与RLOC的映射列表中,查找该消息携带的EID之前,还要进一步判断该消息中携带的EID是否位于自身记录的EID与RLOC的映射列表中,若不位于,则不发出SMR消息,只记录该消息携带的EID与RLOC的映射关系即可;若位于,则执行所述在自身记录的EID与RLOC的映射列表中,查找该消息携带的EID的动作。
对于一个组播网络,当有主机迁入组播网络中的一个TR时,该TR会发出组播Map-Notify消息,因此,组播网络中的所有TR,包括非迁出TR都会收到该Map-Notify消息,但是非迁出TR是没有必要发出SMR消息的,因此,本申请实施例中,当TR收到其它TR发来的Map-Notity消息后,要先判断该消息中携带的EID是否位于自身记录的EID与RLOC的映射列表中,若否,则认为本TR为非迁出TR,不发出SMR消息。
步骤202之此后,当任一远端TR接收到SMR消息时,会向MR(映射解析器)发出Map-Request消息,该Map-Request消息携带该SMR消息中的EID;MR接收该Map-Request消息,向MS转发该消息,MS在本地Map DB中查找到该EID对应的RLOC,向该RLOC对应的TR(即该EID的迁入TR)转发该Map-Request消息;迁入TR接收该Map-Request消息,将该EID与本迁入TR的RLOC的映射关系放入Map-Response消息中返回给该远端TR。
这样,远端TR就获知了主机的迁入TR的RLOC,从而就可以将流量迁移到迁入TR上,流量迁移完成。
图3为本申请又一实施例提供的LISP主机迁移方法流程图,其具体步骤如下:
步骤301:TR接收本地LISP站点内的任一主机发出的数据报文。
步骤302:TR发现该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则TR向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
优选地,步骤302具体包括:
步骤3021:TR首先判断自身是否记录了该数据报文的源地址(即发出该报文的主机的EID)与本TR的RLOC的映射关系,若记录了,执行步骤3022;若未记录,执行步骤3023;
步骤3022:TR在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC且该数据报文为该主机向该远端TR发出的首报文,则向该远端TR发出SMR消息;否则,不发出SMR消息,本步骤302结束。
步骤3022针对的是TR记录了该数据报文的源地址(即该主机的EID)与本TR的RLOC的映射关系的情况,此时说明主机迁移到本TR后已经发出了其它报文(免费ARP报文或者数据报文),从而TR才已经记录了该主机的EID与本TR的RLOC的映射关系,因此,需要再判断该数据报文是否为发给目的RLOC对应的远端TR的首报文,若是,则需要向该远端TR发出SMR消息;若目的RLOC对应本TR(即对应非远端TR)或者该数据报文不为该主机向该远端TR发出的首报文,则不需发出SMR消息了。
步骤3023:TR在自身记录该数据报文的源地址(即该主机的EID)与本TR的RLOC的映射关系,然后在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现该目的RLOC为远端TR的RLOC,则向该远端TR发出SMR消息。
步骤3023针对的是TR未记录该数据报文的源地址(即该主机的EID)与本TR的RLOC的映射关系的情况,此时说明该数据报文为该主机迁入本TR后发出的第一个数据报文,那么若该数据报文是发给远端TR的,则需要向该远端TR发出SMR消息。
同样地,当远端TR接收到该SMR消息时,会向MR(映射解析器)发出Map-Request消息,该Map-Request消息携带该SMR消息中的EID;MR接收该Map-Request消息,向MS转发该消息,MS在本地Map DB中查找到该EID对应的RLOC,向该RLOC对应的TR(即该EID的迁入TR)转发该Map-Request消息;迁入TR接收该Map-Request消息,将该EID与本迁入TR的RLOC的映射关系放入Map-Response消息中返回给该远端TR。
这样,远端TR就获知了主机迁入TR的RLOC,从而就可以将流量迁移到迁入TR上,流量迁移完成。
需要说明的是,在实际应用中,为了达到最佳的加快流量迁移的技术效果,可以将图2所示实施例和图3所示实施例结合起来同时应用。
以下给出本申请的三个应用示例:
示例一
该示例的组网图如图4,其中,TR1、TR5、TR7两两互为远端TR,初始时,VM(VirtualMachine,虚拟机)A位于LISP站点1内。
TR1、TR5、TR7启动后,只要收到MS发来的Map-Request消息,就会将消息中携带的发起该消息的远端TR的RLOC放入本地远端TR列表中,这样,TR1、TR5、TR7的远端TR列表分别如下:
TR1的远端TR列表包含:TR5、TR7的RLOC;
TR5的远端TR列表包含:TR1、TR7的RLOC;
TR7的远端TR列表包含:TR1、TR5的RLOC。
在某一时刻,VM A从LISP站点1迁移到了LISP站点4,则迁移过程具体如下:
步骤01:VM A从LISP站点1的TR1迁移到了LISP站点4的TR7下。
步骤02:VM A发出一个数据报文,该报文的目的地址为LISP站点3内的VM C的EID。
步骤03:该数据报文到达了TR7,TR7在自身记录的EID与RLOC的映射关系中,未查找到VM A的EID,则得知VM A为新迁入主机,向MS发出注册消息,注册消息中携带VM A的EID与迁入RLOC:TR7的RLOC的映射关系;同时,根据VM C的EID对应的RLOC,将报文发送给TR 5。
步骤04:MS收到TR7发来的注册消息,在本地Map DB中查找到VM A的EID对应的RLOC(即迁出RLOC):TR1的RLOC,则向TR1发出Map-Notify消息,该消息携带VM A的EID与迁入RLOC:TR7的RLOC的映射关系;同时,MS将Map DB中记录的VM A的EID对应的RLOC更新为TR7的RLOC;
步骤05:TR1收到MS发来的Map-Notify消息,发现该消息携带的EID已记录在自身记录的EID与RLOC的映射关系中,但是该消息携带的RLOC与自身记录的映射关系中的RLOC不一致,则确认该消息携带的EID对应的主机(即VM A)已经从自身迁出,则遍历自身维护的远端TR列表,向该列表中的每一RLOC对应的远端TR(即TR5)发送SMR消息,该消息携带该Map-Notify消息中的VM A的EID。
Map-Notify消息中携带的RLOC为TR7的RLOC,因此,TR1无需再向TR7发出SMR消息,只需向TR5发出SMR消息即可。
步骤06:TR5收到TR1发来的SMR消息,则向MR/MS发出携带VM A的EID的Map-Request消息。
步骤07:MS收到TR5发来的Map-Request消息,在本地Map DB中查找到VM A的EID对应的RLOC:TR7的RLOC,则MS向TR7转发该Map-Request消息。
步骤08:TR7收到MS发来的Map-Request消息,将VM A的EID与TR7的RLOC的映射关系携带在Map-Response消息中发送给TR5。
步骤09:TR5接收Map-Response消息,以该消息中的映射关系更新自身记录的VM A的EID对应的映射关系,此后,LISP站点3内的主机发出的目的为VM A的流量将会被TR5路由到TR7上。
示例二
该示例的组网图如图5,其中,TR1、TR2、TR3、TR4位于同一扩展LAN中,初始时,VM A和VM B位于LISP站点1内,且同时下挂在TR1和TR2上。
TR1~5启动后,只要收到MS发来的Map-Request消息,就会将消息中携带的发起该消息的远端TR的RLOC放入本地远端TR列表中,这样,TR1~5的远端TR列表分别如下:
TR1~4的远端TR列表包含:TR5;
TR5的远端TR列表包含:TR1~4。
在某一时刻,VM B从LISP站点1迁移到了LISP站点2,则迁移过程具体如下:
步骤01:VM B从LISP站点1迁移到了LISP站点2,且同时下挂在TR3、TR4上。
步骤02:VM B发出一个数据报文,该报文的目的地址为LISP站点3内的VM C的EID。
步骤03~04:该数据报文到达了TR3,TR3在自身记录的EID与RLOC的映射关系中,未查找到VM B的EID,则得知VM B为新迁入主机,向MS发出注册消息,同时向本地扩展LAN发出组播Map-Notify消息,注册消息和Map-Notify消息中都携带VM B的EID与迁入RLOC:TR3和TR4的RLOC的映射关系。
这里,由于VM B同时下挂在TR3、TR4上,因此,VM B的EID同时映射到了两个RLOC:TR3、TR4的RLOC上。
步骤05~08:TR4收到TR3发来的Map-Notify消息,发现消息携带的EID与RLOC的映射关系中的EID自身并未记录,则确认VM B为新迁入主机,记录该映射关系,并向MS发出注册消息,该注册消息中携带该映射关系;
MS收到TR3发来的注册消息,在本地Map DB中查找到VM B的EID对应的RLOC:TR1、TR2的RLOC,则向TR1或TR2发出Map-Notify消息,该消息携带VM B的EID与迁入RLOC:TR3和TR4的RLOC的映射关系;同时,MS将Map DB中记录的VM B的EID对应的RLOC更新为TR3和TR4的RLOC;
TR1、TR2收到TR3或MS发来的Map-Notify消息,发现该消息携带的EID已记录在自身记录的EID与RLOC的映射关系中,但是该消息携带的RLOC与自身记录的映射关系中的RLOC不一致,则遍历自身维护的远端TR列表,向该列表中的每一RLOC对应的远端TR分别发送SMR消息,该消息携带该Map-Notify消息中的EID。
步骤09:远端TR如:TR5收到TR1/TR2发来的SMR消息,则向MR/MS发出携带VM B的EID的Map-Request消息。
步骤10:MS收到TR5发来的Map-Request消息,在本地Map DB中查找到VM B的EID对应的RLOC:TR3和TR4的RLOC,则MS向TR3或TR4转发该Map-Request消息。
步骤11:TR3或TR4收到MS发来的Map-Request消息,将VM B的EID与TR3、TR4的RLOC的映射关系携带在Map-Response消息中发送给TR5。
步骤12:TR5接收Map-Response消息,以该消息中的映射关系更新自身记录的VM B的EID对应的映射关系,此后,LISP站点3内的主机发出的目的为VM B的流量将会被TR5路由到TR3或TR4上。
示例三
该示例的组网图如图6,其中,其中,TR1、TR2、TR3、TR4位于同一扩展LAN中,初始时,VM A和VM B位于LISP站点1内,且同时下挂在TR1和TR2上。
TR1~5启动后,只要收到MS发来的Map-Request消息,就会将消息中携带的发起该消息的远端TR的RLOC放入本地远端TR列表中,这样,TR1~5的远端TR列表分别如下:
TR1~4的远端TR列表包含:TR5;
TR5的远端TR列表包含:TR1~4。
在某一时刻,VM B从LISP站点1迁移到了LISP站点2,则迁移过程具体如下:
步骤01:VM B从LISP站点1迁移到了LISP站点2,且同时下挂在TR3、TR4上。
步骤02:VM B发出一个数据报文,该报文的目的地址为LISP站点3内的VM C的EID。
步骤03~04:该数据报文到达了TR3,TR3在自身记录的EID与RLOC的映射关系中,未查找到VM B的EID,则得知VM B为新迁入主机,向MS发出注册消息,同时向本地扩展LAN发出组播Map-Notify消息,注册消息和Map-Notify消息中都携带VM B的EID与迁入RLOC:TR3和TR4的RLOC的映射关系;同时,TR3在自身记录的EID与RLOC的映射关系中,查找到报文的目的EID:VM C的EID对应的RLOC:TR5的RLOC,向TR5发出SMR消息,该消息携带VM B的EID,同时,将该数据报文发送给TR5。
步骤05~08:TR4收到TR3发来的Map-Notify消息,发现消息携带的EID与RLOC的映射关系中的EID自身并未记录,则确认VM B为新迁入主机,记录该映射关系,并向MS发出注册消息,该注册消息中携带该映射关系;
MS收到TR3发来的注册消息,在本地Map DB中查找到VM B的EID对应的RLOC:TR1、TR2的RLOC,则向TR1或TR2发出Map-Notify消息,该消息携带VM B的EID与新RLOC:TR3和TR4的RLOC的映射关系;同时,MS将Map DB中记录的VM B的EID对应的RLOC更新为TR3和TR4的RLOC;
TR1、TR2收到TR3或MS发来的Map-Notify消息,发现该消息携带的EID已记录在自身记录的EID与RLOC的映射关系中,但是该消息携带的RLOC与自身记录的映射关系中的RLOC不一致,则以该消息中的映射关系替换自身记录的映射关系;
TR5收到TR3发来的SMR消息,则向MR/MS发出携带VM B的EID的Map-Request消息。
步骤09:MS收到TR5发来的Map-Request消息,在本地Map DB中查找到VM B的EID对应的RLOC:TR3和TR4的RLOC,则MS向TR3或TR4转发该Map-Request消息。
步骤10:TR3或TR4收到MS发来的Map-Request消息,将VM B的EID与TR3、TR4的RLOC的映射关系携带在Map-Response消息中发送给TR5。
步骤11:TR5接收Map-Response消息,以该消息中的映射关系更新自身记录的VM B的EID对应的映射关系,此后,LISP站点3内的主机发出的目的为VM B的流量将会被TR5路由到TR3或TR4上。
可见,本申请中,TR维护远端TR列表,当主机发生迁移后,迁出TR接收到MS或迁入TR发来的携带了该主机的EID的映射通知消息后,向远端TR列表中的所有远端TR发送携带该主机的EID的SMR消息,从而加快了流量的迁移;或者,当迁入TR感知到主机迁入后,当接收到该主机发给远端TR的首包后,向远端TR发送携带该主机的EID的SMR消息,从而加快了流量的迁移。
图7为本申请一实施例提供的用于LISP主机迁移的装置的组成示意图,该装置位于TR上,该装置主要包括:远端TR列表维护模块和映射请求触发模块,其中:
远端TR列表维护模块:接收MS发来的映射请求消息,该消息携带了远端TR的RLOC,还携带了主机的EID,将该远端TR的RLOC放入本地远端TR列表中。
映射请求触发模块:接收MS或其它TR发来的映射通知消息,该消息携带EID与RLOC的映射关系,在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,向远端TR列表维护模块维护的远端TR列表中的每一RLOC对应的远端TR分别发送SMR消息,该SMR消息携带映射通知消息中的EID。
优选地,当映射请求触发模块接收其它TR发来的映射通知消息时,映射请求触发模块在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC之前进一步包括:
在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID,若查找到,则执行所述在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC的动作。
优选地,远端TR列表维护模块接收MS发来的映射请求消息之后、将所述远端TR的RLOC放入本地远端TR列表中之前进一步用于,判断该远端TR的RLOC是否已存在于本地远端TR列表中,若不存在,执行所述将所述远端TR的RLOC放入本地远端TR列表中的动作,并为该远端TR的RLOC设置老化定时器;若已存在,则重启该RLOC的老化定时器;且,当远端TR列表中的任一RLOC的老化定时器到时时,删除该老化定时器及该RLOC。
优选地,远端TR列表维护模块将所述远端TR的RLOC放入本地远端TR列表中进一步用于,将所述主机的EID与本TR的RLOC的映射关系放入映射响应消息,并在该映射响应消息中填入该映射关系的存活时长,将该响应消息返回给所述远端TR;且老化定时器的定时时长为:对应的映射关系的存活时长。
优选地,映射请求触发模块进一步用于,接收本地LISP站点内的任一主机发出的数据报文,该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
优选地,映射请求触发模块接收本地LISP站点内的任一主机发出的数据报文之后、向该远端TR发出SMR消息之前进一步用于,判断自身是否记录了该主机的EID与RLOC的映射关系,若记录了,则在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC且该报文为该主机向该远端TR发出的首包,则执行所述向该远端TR发出SMR消息的动作;若未记录,则记录该主机的EID与本TR的RLOC的映射关系,并在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC,则执行所述向该远端TR发出SMR消息的动作。
图8为本申请又一实施例提供的用于LISP主机迁移的装置的组成示意图,该装置位于TR上,该装置主要包括:
映射请求触发模块:接收本地LISP站点内的任一主机发出的数据报文,该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
优选地,映射请求触发模块接收本地LISP站点内的该主机发出的数据报文之后、向该远端TR发出SMR消息之前进一步用于,判断自身是否记录了该主机的EID与RLOC的映射关系,若记录了,则在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC且该报文为该主机向该远端TR发出的首包,则执行所述向该远端TR发出SMR消息的动作;若未记录,则记录该主机的EID与本TR的RLOC的映射关系,并在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC,则执行所述向该远端TR发出SMR消息的动作。
本申请实施例提供的TR是可以软硬件结合的可编程设备,从硬件层面而言,TR的硬件架构示意图具体可以参见图9。图9为本申请实施例提供的包含用于LISP主机迁移的装置的TR的硬件结构示意图。该TR中包括:非易失性存储器、CPU、内存和其它硬件,其中:
非易失性存储器:存储指令代码;所述指令代码被CPU执行时完成的操作主要为内存中的实现用于LISP主机迁移的装置完成的功能。
CPU:与非易失性存储器通信,读取和执行非易失性存储器中存储的所述指令代码,完成上述用于LISP主机迁移的装置完成的功能。
内存,当非易失性存储器中的所述指令代码被执行时完成的操作主要为内存中的用于LISP主机迁移的装置完成的功能。
上述的用于LISP主机迁移的装置作为一个逻辑意义上的装置,其是通过CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。当对应的计算机程序指令被执行时,形成的用于LISP主机迁移的装置用于按照上述实施例中的LISP主机迁移方法执行相应操作。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种位置和标识分离协议LISP主机迁移方法,其特征在于,该方法包括:
第一隧道路由器TR接收映射服务器MS发来的映射请求消息,该消息携带了远端TR的路由位置符RLOC,还携带了所述远端TR请求映射的主机的端点标识EID;所述第一TR将所述远端TR的RLOC放入本地远端TR列表中;
所述第一TR接收MS或其它TR发来的映射通知消息,该消息携带所述主机的EID与所述主机迁入的TR的RLOC的映射关系,在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,向远端TR列表中的每一RLOC对应的远端TR分别发送恳求映射请求SMR消息,该SMR消息携带所述映射通知消息中的EID,其中,所述映射通知消息为:所述主机从第一TR迁出后,MS接收到迁入TR发来的携带所述主机的EID与该迁入TR的RLOC的映射关系的注册消息后发出的;或者,
所述映射通知消息为:所述第一TR所在组播网络内的其它TR在感知到所述主机迁移到本地LISP站点后发出的。
2.根据权利要求1所述的方法,其特征在于,当所述第一TR接收其它TR发来的映射通知消息时,
所述在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC之前进一步包括:
在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID,若查找到,则执行所述在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC的动作。
3.根据权利要求1所述的方法,其特征在于,
所述第一TR接收MS发来的映射请求消息之后、将所述远端TR的RLOC放入本地远端TR列表中之前进一步包括:
所述第一TR判断该远端TR的RLOC是否已存在于本地远端TR列表中,若不存在,执行所述将所述远端TR的RLOC放入本地远端TR列表中的动作,并为该远端TR的RLOC设置老化定时器;若已存在,则重启该RLOC的老化定时器;
且,当远端TR列表中的任一RLOC的老化定时器到时时,删除该老化定时器及该RLOC。
4.根据权利要求3所述的方法,其特征在于,所述第一TR将所述远端TR的RLOC放入本地远端TR列表中进一步包括:
所述第一TR将所述主机的EID与本TR的RLOC的映射关系放入映射响应消息,并在该映射响应消息中填入该映射关系的存活时长,将该响应消息返回给所述远端TR;
且所述老化定时器的定时时长为:所述映射关系的存活时长。
5.根据权利要求1所述的方法,其特征在于,所述第一隧道路由器TR接收映射服务器MS发来的映射请求消息之前进一步包括:
所述第一TR接收迁入本地LISP站点内的任一主机发出的数据报文,该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则所述第一TR向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
6.根据权利要求5所述的方法,其特征在于,所述第一TR接收迁入本地LISP站点内的任一主机发出的数据报文之后、向该远端TR发出SMR消息之前进一步包括:
所述第一TR判断自身是否记录了该主机的EID与RLOC的映射关系,若记录了,则在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC且该报文为该主机向该远端TR发出的首包,则执行所述向该远端TR发出SMR消息的动作;若未记录,则记录该主机的EID与本TR的RLOC的映射关系,并在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC,则执行所述向该远端TR发出SMR消息的动作。
7.一种用于位置和标识分离协议LISP主机迁移的装置,该装置位于隧道路由器TR上,其特征在于,该装置包括:
远端TR列表维护模块:接收映射服务器MS发来的映射请求消息,该消息携带了远端TR的路由位置符RLOC,还携带了所述远端TR请求映射的主机的端点标识EID,将所述远端TR的RLOC放入本地远端TR列表中;
映射请求触发模块:接收MS或其它TR发来的映射通知消息,该消息携带所述主机的EID与所述主机迁入的TR的RLOC的映射关系,在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC,比较查找到的RLOC与该消息携带的RLOC是否一致,若不一致,向远端TR列表中的每一RLOC对应的远端TR分别发送恳求映射请求SMR消息,该SMR消息携带所述映射通知消息中的EID,其中,所述映射通知消息为:所述主机从第一TR迁出后,MS接收到迁入TR发来的携带所述主机的EID与该迁入TR的RLOC的映射关系的注册消息后发出的;或者,所述映射通知消息为:所在组播网络内的其它TR在感知到所述主机迁移到本地LISP站点后发出的。
8.根据权利要求7所述的装置,其特征在于,当所述映射请求触发模块接收其它TR发来的映射通知消息时,
所述映射请求触发模块在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC之前进一步包括:
在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID,若查找到,则执行所述在自身记录的EID与RLOC的映射关系中,查找该消息携带的EID对应的RLOC的动作。
9.根据权利要求7所述的装置,其特征在于,
所述远端TR列表维护模块接收MS发来的映射请求消息之后、将所述远端TR的RLOC放入本地远端TR列表中之前进一步用于,
判断该远端TR的RLOC是否已存在于本地远端TR列表中,若不存在,执行所述将所述远端TR的RLOC放入本地远端TR列表中的动作,并为该远端TR的RLOC设置老化定时器;若已存在,则重启该RLOC的老化定时器;
且,当远端TR列表中的任一RLOC的老化定时器到时时,删除该老化定时器及该RLOC。
10.根据权利要求9所述的装置,其特征在于,
所述远端TR列表维护模块将所述远端TR的RLOC放入本地远端TR列表中进一步用于,
将所述主机的EID与本TR的RLOC的映射关系放入映射响应消息,并在该映射响应消息中填入该映射关系的存活时长,将该响应消息返回给所述远端TR;
且所述老化定时器的定时时长为:所述映射关系的存活时长。
11.根据权利要求7所述的装置,其特征在于,所述映射请求触发模块进一步用于,
接收迁入本地LISP站点内的任一主机发出的数据报文,该报文的目的地址对应的TR为远端TR,且该报文为该主机向该远端TR发出的首包,则向该远端TR发出SMR消息,该SMR消息携带该主机的EID。
12.根据权利要求11所述的装置,其特征在于,所述映射请求触发模块接收迁入本地LISP站点内的任一主机发出的数据报文之后、向该远端TR发出SMR消息之前进一步用于,
判断自身是否记录了该主机的EID与RLOC的映射关系,若记录了,则在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC且该报文为该主机向该远端TR发出的首包,则执行所述向该远端TR发出SMR消息的动作;若未记录,则记录该主机的EID与本TR的RLOC的映射关系,并在自身记录的EID与RLOC的映射关系中,查找到该数据报文的目的EID对应的目的RLOC,若发现目的RLOC为远端TR的RLOC,则执行所述向该远端TR发出SMR消息的动作。
CN201410519873.3A 2014-09-30 2014-09-30 位置和标识分离协议主机迁移方法及装置 Active CN105530325B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410519873.3A CN105530325B (zh) 2014-09-30 2014-09-30 位置和标识分离协议主机迁移方法及装置
PCT/CN2015/090223 WO2016050149A1 (en) 2014-09-30 2015-09-22 Migration
US15/515,915 US20170302743A1 (en) 2014-09-30 2015-09-22 Migration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410519873.3A CN105530325B (zh) 2014-09-30 2014-09-30 位置和标识分离协议主机迁移方法及装置

Publications (2)

Publication Number Publication Date
CN105530325A CN105530325A (zh) 2016-04-27
CN105530325B true CN105530325B (zh) 2019-05-03

Family

ID=55629424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410519873.3A Active CN105530325B (zh) 2014-09-30 2014-09-30 位置和标识分离协议主机迁移方法及装置

Country Status (3)

Country Link
US (1) US20170302743A1 (zh)
CN (1) CN105530325B (zh)
WO (1) WO2016050149A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059928B (zh) * 2016-05-31 2021-03-02 新华三技术有限公司 主机迁移方法及装置
CN106330718B (zh) * 2016-08-23 2019-08-06 新华三技术有限公司 组播报文转发方法及装置
US10749799B2 (en) * 2018-05-01 2020-08-18 Cisco Technology, Inc. Data routing of extranet flows in fabric networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945034A (zh) * 2009-07-08 2011-01-12 中兴通讯股份有限公司 一种身份标识与位置分离协议数据转发系统及方法
JP2012085208A (ja) * 2010-10-14 2012-04-26 Kddi Corp Lispネットワークの通信方法
CN103037360A (zh) * 2011-09-28 2013-04-10 中兴通讯股份有限公司 基于lisp的映射请求响应、信息获取方法及相应设备
CN103686905A (zh) * 2013-11-27 2014-03-26 重庆邮电大学 一种基于位置标识分离协议的移动节点切换方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3522549B2 (ja) * 1998-10-22 2004-04-26 富士通株式会社 データ転送制御方法およびデータ転送制御装置
KR101225185B1 (ko) * 2009-10-23 2013-01-22 한국전자통신연구원 네트워크 주소 변환 방법
US9503272B2 (en) * 2014-03-13 2016-11-22 Cisco Technology, Inc. Fast convergence with multicast source mobility
CN103957161B (zh) * 2014-04-04 2017-12-29 新华三技术有限公司 一种报文转发方法及其装置
CN103973574B (zh) * 2014-05-19 2017-12-15 新华三技术有限公司 位置与身份分离协议网络中的数据报文转发方法及装置
CN104022956B (zh) * 2014-06-11 2017-05-10 新华三技术有限公司 一种名址分离协议网络中的数据报文处理方法和装置
US9894031B2 (en) * 2014-08-27 2018-02-13 Cisco Technology, Inc. Source-aware technique for facilitating LISP host mobility

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945034A (zh) * 2009-07-08 2011-01-12 中兴通讯股份有限公司 一种身份标识与位置分离协议数据转发系统及方法
JP2012085208A (ja) * 2010-10-14 2012-04-26 Kddi Corp Lispネットワークの通信方法
CN103037360A (zh) * 2011-09-28 2013-04-10 中兴通讯股份有限公司 基于lisp的映射请求响应、信息获取方法及相应设备
CN103686905A (zh) * 2013-11-27 2014-03-26 重庆邮电大学 一种基于位置标识分离协议的移动节点切换方法

Also Published As

Publication number Publication date
CN105530325A (zh) 2016-04-27
WO2016050149A1 (en) 2016-04-07
US20170302743A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
US11405351B2 (en) Source-aware technique for facilitating LISP host mobility
EP3913480B1 (en) Method and apparatus for determining virtual machine migration
EP2974234B1 (en) Generating a host route
US10397045B2 (en) Method for migrating service of data center, apparatus, and system
US11252129B2 (en) Packet transmission method and apparatus
CN111736958B (zh) 虚拟机迁移方法、系统、计算机设备及存储介质
CN105591907B (zh) 一种路由获取方法和装置
EP3493477B1 (en) Message monitoring
CN102088390B (zh) 用户移动性的实现方法
CN107623757B (zh) 表项更新方法和装置
EP2686984A1 (en) Method and apparatus for accessing a private surveillance network through l2tp
CN105530325B (zh) 位置和标识分离协议主机迁移方法及装置
US20240348636A1 (en) Flood attack defense method and related apparatus
CN104780110B (zh) 一种虚拟机迁移时的报文传输方法和设备
CN105591890B (zh) 更新入口隧道路由器的映射缓存的方法及装置
CN107566262A (zh) 虚拟可扩展局域网vxlan中报文转发方法及装置
CN109862137B (zh) 报文传输方法及装置
US10419386B2 (en) Endpoint identifiers registration
CN107659446B (zh) 一种waf迁移方法和装置
CN105635138A (zh) 一种防止arp攻击的方法和装置
JP6470640B2 (ja) 通信装置及びその制御方法、コンピュータプログラム
CN109495368B (zh) Mac地址转发表的更新方法及网络设备
WO2012083676A1 (zh) 一种提高映射路由表使用效率的方法及系统
WO2012083685A1 (zh) 一种提高映射路由表使用效率的方法及系统
CN107547376B (zh) 路由探测方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant