位置和标识分离协议网络中的路由信息学习方法和装置的制造方法
【技术领域】
[0001]本发明涉及位置和标识分离协议(Locator Identity Separat1n Protocol,LISP)技术领域,特别是一种位置和标识分离协议网络中的路由信息学习方法和装置。
【背景技术】
[0002]LISP是一种位置和标识和分尚的协议。LISP网络由核心网络和边缘网络两部分组成。其中,核心网络中使用路由位置(Routing Locator,RL0C)来标识路由器,而边缘网络中使用终端标识符(Endpoint Identifiers,EID)来标识终端。
[0003]LISP通过入口隧道路由器(Ingress Tunnel Router,ITR)和出口隧道路由器(Egress Tunnel Router,ETR)实现核心网络和边缘网络的分离,而且通过映射系统实现从EID至RLOC的映射解析。xTR为ITR和ETR的统称,表示隧道路由器同时具备ITR和ETR能力。LISP通过IP-1n-1P的封装及解封装机制实现核心网中的路由和转发。
[0004]在现有技术中,在虚拟机跨网段迀移并回迀的场景下,向虚拟机发出流量的源xTR中持续保存指向虚拟机曾迀移到xTR的路由信息。然而,由于虚拟机已经迀回,该路由信息实际上是无效信息,在源xTR中保存该路由信息浪费了系统资源。
[0005]而且,如果源xTR到虚拟机的流量为非持续流量,由于虚拟机迀回的xTR并不长期更新虚拟机的注册信息且源xTR中持续保存该指向虚拟机曾迀移到xTR的路由信息,造成该流量只能发往虚拟机曾迀移到的xTR而无法发送到虚拟机已迀回的xTR,从而导致流量中断。
【发明内容】
[0006]有鉴于此,本发明提出一种位置和标识分离协议网络中的路由信息学习方法和装置,从而节约系统资源。
[0007]本发明实施方式的技术方案如下:
[0008]根据本发明实施方式的一方面,提出一种LISP网络中的路由信息学习方法,该方法应用于向虚拟机发送流量的第一隧道路由器,所述虚拟机从第二隧道路由器迀入第三隧道路由器,并从第三隧道路由器迀回第二隧道路由器,该方法包括:
[0009]接收第三隧道路由器发送的恳求映射请求(Solicit-Map-Request,SMR)报文;
[0010]从所述SMR报文中提取出所述虚拟机的EID地址,并删除精确匹配所述EID地址且指向第三隧道路由器的路由信息;
[0011]向映射服务器发送携带所述EID地址的映射请求,并学习匹配所述EID地址且指向第二隧道路由器的路由信息。
[0012]优选地,所述学习匹配所述EID地址且指向第二隧道路由器的路由信息包括:
[0013]映射服务器将所述映射请求发送到第二隧道路由器;
[0014]第一隧道路由器接收第二隧道路由器发送的对应于所述映射请求的映射应答;
[0015]第一隧道路由器基于所述映射应答学习匹配所述EID地址且指向第二隧道路由器的路由信息。
[0016]优选地,所述学习匹配EID地址且指向第二隧道路由器的路由信息包括:
[0017]第一隧道路由器从映射服务器学习匹配所述EID地址且指向第二隧道路由器的路由信息。
[0018]优选地,该方法还包括:
[0019]所述第一隧道路由器基于所述匹配EID地址且指向第二隧道路由器的路由信息,将所述流量发送到第二隧道路由器,并由第二隧道路由器将所述流量转发到所述虚拟机。
[0020]优选地,所述流量是非持续流量。
[0021]本发明实施方式还提出了一种LISP网络中的路由信息学习装置,该装置应用于向虚拟机发送流量的第一隧道路由器,所述虚拟机从第二隧道路由器迀入第三隧道路由器,并从第三隧道路由器迀回第二隧道路由器,该装置包括:
[0022]接收模块,用于接收第三隧道路由器发送的恳求映射请求(SMR)报文;
[0023]路由删除模块,用于从所述SMR报文中提取出虚拟机的EID地址,并删除精确匹配所述EID地址且指向第三隧道路由器的路由信息;
[0024]路由学习模块,用于向映射服务器发送携带所述EID地址的映射请求,并学习匹配所述EID地址且指向第二隧道路由器的路由信息。
[0025]优选地,路由学习模块,用于接收第二隧道路由器发送的对应于所述映射请求的映射应答,其中所述映射服务器将所述映射请求发送到第二隧道路由器;并基于所述映射应答学习匹配所述EID地址且指向第二隧道路由器的路由信息。
[0026]优选地,路由学习模块,用于从映射服务器学习匹配所述EID地址且指向第二隧道路由器的路由信息。
[0027]优选地,还包括:
[0028]流量转发模块,用于基于所述匹配EID地址且指向第二隧道路由器的路由信息,将流量发送到第二隧道路由器,并由第二隧道路由器将所述流量转发到所述虚拟机。
[0029]优选地,所述流量是非持续流量。
[0030]在本发明实施方式中,接收第三隧道路由器发送的SMR报文JASMR报文中提取出虚拟机的EID地址,并删除精确匹配EID地址且指向第三隧道路由器的路由信息;向映射服务器发送携带EID地址的映射请求,并学习匹配EID地址且指向第二隧道路由器的路由信息。由此可见,本发明删除了保存在第一隧道路由器中的、精确匹配EID地址且指向第三隧道路由器的无效路由信息,从而节约系统资源。
[0031]而且,本发明实施方式有效地解决了 LISP网络中虚拟机跨网段迀移时,非持续流量场景下流量无法切换的问题。
【附图说明】
[0032]图1为根据现有技术的LISP网络中虚拟机迀移和回迀的示范性示意图;
[0033]图2为根据本发明实施方式LISP网络中的路由信息学习方法流程图;
[0034]图3为根据本发明实施方式LISP网络中虚拟机迀移和回迀的示范性示意图;
[0035]图4为根据本发明实施方式LISP网络中的路由信息学习装置结构图。
【具体实施方式】
[0036]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0037]图1为根据现有技术的LISP网络中虚拟机迀移和回迀的示范性示意图。
[0038]如图1所示,该LISP网络包括数据中心1、数据中心2、数据中心3和映射服务器。数据中心I包括xTRl,数据中心2包括xTR2,数据中心3包括xTR3。具体地,映射服务器包括集中式或分布式布置的映射中转单元(Map Reslover,MP)和映射服务单元(Map Server,MS)。
[0039]数据中心I的EID空间:10.17.1.0/24 ;数据中心2的EID空间:10.18.1.0/24 ;数据中心I的RLOC地址:192.168.1.1/24 ;数据中心2的RLOC地址:192.168.2.1/24。xTRl向映射服务器注册指向xTRl的EID地址:10.17.1.0/24 ;xTR2向映射服务器注册指向xTR2的EID地址:10.18.1.0/24。xTRl下挂有虚拟机(VM)A和VMB,其中VMB的EID地址:10.17.1.65/32。
[0040]步骤(I):VMB从xTRl上线,VMB与xTRl处于同一网段且上线接口未使能扩展(extend)模式,因此xTRl不执行VMB迀入检测,即xTRl不向映射服务器注册VMB的EID地址:10.17.1.65/32。VMB从数据中心I的xTRl迀移到数据中心2的xTR2后,VMB向数据中心2的xTR2发送数据报文;
[0041]步骤⑵:数据中心2的xTR2接收VMB发送的数据报文,检测到VMB迀入。
[0042]步骤⑶:XTR2检测到VMB迀入后,生成到达VMB的32位本地路由,并向映射服务器注册迀入VMB的EID地址:10.17.1.65/32。
[0043]步骤(4):映射服务器接收xTR2注册的VMB的EID地址:10.17.1.65/32后,向xTRl发送映射通知(Map Notify)报文,以通知xTRlVMB已经迀出。xTRl确认VMB迀出后,本地生成关于EID地址:10.17.1.65/32的NULLO路由。
[0044]步骤(5):xTR3向VMB发出的流量,走流量老路径(xTR3_>xTRl)到达xTRl。
[0045]步骤(6):xTRl匹配到EID地址:10.17.1.65/32的NULLO路由,向xTR3发送恳求映射请求(SMR)报文,以通知xTR3重新请求到VMB的映射缓存(Map Cache)表项。
[0046]步骤(7):xTR3接收到SMR报文后,向映射服务器发送携带EID地址:10.17.1.65/32的映射请求(Map Request)报文,以重新请求到达VMB的Map Cache。
[0047]步骤(8):映射服务器接收xTR3发送的Map Request报文,将该Map Request报文转发给xTR2。
[0048]步骤(9):xTR2 接收 Map Request,向 xTR3 直接回复映射应答(Map Reply);
[0049]步骤(10):xTR3接收Map Reply,生成到达VMB的新Map Cach