一种LISP组网双归属的实现方法及装置与流程

文档序号:11878444阅读:327来源:国知局
一种LISP组网双归属的实现方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种LISP组网双归属的实现方法及装置。



背景技术:

LISP(Locator/Identity Separation Protocol,位置和标识分离协议)是为解决现有Internet网络的诸如全局路由表持续增长、移动性需求而提出的一种新的网络协议。其采用了位置和标识分离的建网思想,形成两个独立的地址空间:EID(Endpoint Identifier,端点标识)和RLOC(Routing Locator,路由位置符),其中EID用于标识主机,不具备全局路由功能,RLOC用于全网路由。每个LISP隧道中的ITR(Ingress Tunnel Router,入方向隧道路由器)可以利用RLOC地址对主机发送的报文进行LISP封装并通过LISP隧道发送给远端的ETR(Egress Tunnel Router,出方向隧道路由器),由于ETR上维护EID-RLOC映射表,因此ETR在解封装后,可将该报文按照对应的EID地址进行转发。

在跨地域的数据中心部署LISP业务时,由于各数据中心的ITR连接的各个主机经常需要互访,因此通常会采用双ITR组网(一个ITR对应一个运营商)的策略,则ITR发出的报文最终会交由NAT进行地址转化,例如ITR1的地址1.1.1.1转换为公网地址对应于电信,ITR2的地址2.2.2.2转换为公网地址对应于联通。再通过运营商网络转交给对端的NAT,对端NAT完成转换后将报文转给ETR,ETR收到后通过解封装将报文转发给目标主机。

但是由于LISP报文的顶层源IP地址均为ITR地址,所以一般情况下 NAT都是通过源IP地址来判断ETR的地址转化为哪个运营商地址。若将上述双ITR组网变成双归属组网时,当主机使用非其运营商对应的ITR地址进行LISP封装,会导致NAT无法准确判断出主机所属的运营商网络。因此上述双ITR组网虽然设置双ITR,却无法实现双归属组网的能力,无法获得双归属所带来的容灾和负载分担效果。



技术实现要素:

有鉴于此,本发明提供一种LISP组网双归属的实现方法及装置来解决双ITR组网无法实现双归属组网能力的问题。

具体地,本发明是通过如下技术方案实现的:

本发明提供一种LISP组网双归属的实现方法,所述方法应用于第一ITR,所述第一ITR预先与LISP组网中的第二ITR建立关联组,所述方法包括:

根据第一地址映射关系创建第一同步报文,所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;

将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。

进一步的,当第一ITR收到第二ITR发送的第二同步报文时,所述第二同步报文包括第二ITR收到的第二地址映射关系,所述同步报文的源IP地址为所述第二ITR地址,所述方法还包括:

保存所述第二地址映射关系与所述第二ITR地址的第二对应关系。

进一步的,所述保存所述第二地址映射关系与所述第二ITR地址的第二对应关系,包括:

获取第二同步报文的源IP地址;

判断该源IP地址对应的ITR是否与第一ITR属于同一关联组;

若是,则保存所述第二地址映射关系与所述第二ITR地址的第二对应关系。

进一步的,当所述第一ITR收到第二ITR连接的主机向远端发送的报文时,所述方法还包括:

根据第二地址映射关系与所述第二ITR地址的第二对应关系,对所述报文进行LISP封装,封装时源IP地址为第二ITR地址,以使封装后的报文通过第二ITR对应的运营商组网转发。

进一步的,当所述第一地址映射关系包括老化时间时,所述方法还包括:

当所述第一ITR的第一地址映射关系中的老化时间更新时,所述第一ITR向所述第二ITR发送控制指令,以使所述第二ITR同步更新第一地址映射关系的老化时间。

基于相同的构思,本发明还提供一种LISP组网双归属的实现装置,所述装置应用于第一ITR,所述第一ITR预先与LISP组网中的第二ITR建立关联组,所述装置包括:

报文创建单元,用于根据第一地址映射关系创建第一同步报文,所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;

报文同步单元,用于将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。

进一步的,当第一ITR收到第二ITR发送的第二同步报文时,所述第二同步报文包括第二ITR收到的第二地址映射关系,所述同步报文的源IP地址为所述第二ITR地址,所述装置还包括:

关系保存单元,用于保存所述第二地址映射关系与所述第二ITR地址的第二对应关系。

进一步的,所述关系保存单元,具体用于获取第二同步报文的源IP地址;判断该源IP地址对应的ITR是否与第一ITR属于同一关联组;若是,则保存所述第二地址映射关系与所述第二ITR地址的第二对应关系。

进一步的,当所述第一ITR收到第二ITR连接的主机向远端发送的报文时,所述装置还包括:

报文封装单元,用于根据第二地址映射关系与所述第二ITR地址的第二对应关系,对所述报文进行LISP封装,封装时源IP地址为第二ITR地址,以使封装后的报文通过第二ITR对应的运营商组网转发。

进一步的,当所述第一地址映射关系包括老化时间时,所述装置还包括:

同步更新单元,用于在所述第一ITR的第一地址映射关系中的老化时间更新时,所述第一ITR向所述第二ITR发送控制指令,以使所述第二ITR同步更新第一地址映射关系的老化时间。

由此可见,本发明可以通过预先将第一ITR与第二ITR建立关联组,并使第一ITR根据第一地址映射关系创建第一同步报文,所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;再将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。因此本发明在不增加额外设备,也不需要额外增加复杂组网配置的情况下,实现虚拟机经过多类运营商时避免NAT转化运营商地址时的选择错误,实现了LISP双归属组网的容灾能力及负载均衡能力,同时简化了设备中的配置,节约了双归属组网的成本。

附图说明

图1是本发明一种示例性实施方式中的一种LISP组网双归属的实现方法的处理流程图;

图2是本发明一种示例性实施方式中的组网示意图;

图3本发明一种示例性实施方式中的LISP组网双归属的实现装置所在的ITR的硬件结构图;

图4本发明一种示例性实施方式中的一种LISP组网双归属的实现装置的逻辑结构图。

具体实施方式

现有技术若要实现LISP双归属的两种解决方法。一种是,每有一种运营商,ITR2就需为每个主机增设一组指向MR的地址并配对应的地址映射表,则若有N种运营商,M个主机,则ITR2要新增N*M种配置;并且还需要令NAT增加一种地址转换关系,则有N种运营商,则NAT需要配置N*2的地址转换关系,因此当主机数量庞大,运营商种类众多时,配置就会非常复杂且庞大,并且逻辑复杂,不利于维护。另一种是,相当于为每一种类型的运营商多增加一台ITR,则ITR设备的数量为运营商种类数量*2,这样做不但增加了网络的复杂度,还大幅提高了成本。

因此在大量主机和多种类型的运营商时,LISP双归属的环境或要进行复杂的手工配置或要增加高额的成本,并且均会对后期维护使用造成很大的不便。

为了解决现有技术存在的问题,本发明提供一种LISP组网双归属的实现方法及装置,可以通过预先将第一ITR与第二ITR建立关联组,并使第一ITR根据第一地址映射关系创建第一同步报文,所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;再将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。因此在不增加额外设备,也不需要额外增加复杂组网配置的情况下,实现虚拟机经过多类运营商时避免NAT转化运营商地址时的选择错误,实现了LISP双归属组网的容灾能力及负载均衡能力,同时简化了设备中的配置,节约了双归属组网的成本。

请参考图1,是本发明一种示例性实施方式中的一种LISP组网双归属的实现方法的处理流程图,其中该方法应用于第一ITR,所述第一ITR通常为具有ITR功能的网络设备。所述第一ITR预先与LISP组网中的第二ITR建立关联组,所述方法包括:

步骤101、根据第一地址映射关系创建第一同步报文,所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;

在本实施例中,第一ITR发送请求报文后,可以收到该LISP组网中对应的ETR返回的应答报文,该应答报文中包括记录着包含EID-RLOC地址映射的第一地址映射关系。所述第一ITR收到应答报文后,可以根据该第一地址映射关系创建第一同步报文,其中所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址,并且所述第一同步报文中包含所述第一地址映射关系。

步骤102、将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。

在本实施例中,第一ITR可将第一同步报文同步至关联组内的所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。当第二ITR在转发与所述第一ITR连接的主机发送的流量时,可以根据保存的第一对应关系将该流量封装为源地址为第一ITR地址的LISP报文,从而使该LISP报文在进行NAT转换后,可以通过所述第一ITR所属的运营商网络进行转发。因此在不增加额外设备,也不需要额外增加复杂组网配置的情况下,实现虚拟机经过多类运营商时避免NAT转化运营商地址时的选择错误,实现了LISP双归属组网的容灾能力及负载均衡能力,同时简化了设备中的配置,节约了双归属组网的成本。

在本发明可选的实施例中,关联组的成员可以同时配置同步发起和同步接收的双重功能,例如第一ITR既可以向第二ITR发送第一同步报文,同时可以收到来自第二ITR发送的第二同步报文。第二ITR发送的第二同步报文包括第二ITR收到的第二地址映射关系,所述同步报文的源IP地址为所述第二ITR地址,当第一ITR收到第二同步报文时,可以保存所述第二地址映射关系与所述第二ITR地址的第二对应关系,以便于第一ITR对与所述第二ITR连接的主机发送的流量进行代发,并保证代发的报文能够由第二ITR所属的 运营商网络进行转发。

在更优的实施例中,第一ITR收到所述第二同步报文后,可以先获取第二同步报文的源IP地址,再判断该源IP地址对应的ITR是否与第一ITR属于同一关联组;若确定该源IP地址对应的ITR与第一ITR属于同一关联组,则第一ITR可以保存所述第二地址映射关系与所述第二ITR地址的第二对应关系;若确定该源IP地址对应的ITR与第一ITR不属于同一关联组,则不处理该第二同步报文。本实施例中增加关联组成员的判断过程可以防止攻击者通过冒充关联组成员向第一ITR发送报文,从而可增强LISP双归属组网的安全性。

在本发明可选的实施例中,当所述第一ITR收到第二ITR连接的主机向远端发送的报文时,所述第一ITR可根据已保存的第二地址映射关系与所述第二ITR地址的第二对应关系,对所述报文进行LISP封装,封装时源IP地址为第二ITR地址,以使封装后的报文通过第二ITR对应的运营商组网转发。因此在不增加额外设备,也不需要额外增加复杂组网配置的情况下,实现虚拟机经过多类运营商时避免NAT转化运营商地址时的选择错误,实现了LISP双归属组网的容灾能力及负载均衡能力,同时简化了设备中的配置,节约了双归属组网的成本。

在本发明可选的实施例中,ETR可以在生成第一地址映射关系时设置老化时间。当第一ITR中的第一地址映射关系的老化时间更新时,所述第一ITR可以向所述第二ITR发送控制指令,令所述第二ITR同步更新第一对应关系中的第一地址映射关系的老化时间。从而可以保证关联组成员的信息同步更新,提高双归属组网的实用性。

为使本发明的目的、技术方案及优点更加清楚明白,下面对本发明该方案作进一步地详细说明。

请参考图2,是本发明一种示例性实施方式中的组网示意图,其中2个跨地域的数据中心部署了LISP业务,各数据中心的xTR(同时支持ITR和ETR功能的设备)下接多个主机,其中包括主机组A和主机组D,主机组A 包括主机A1、主机A2……主机An,主机组D包括主机D1、主机D2……主机Dn。该组网采用了双ITR组网,即ITR1对应一个运营商网络,例如电信网络;ITR2对应另一个运营商网络,例如联通网络。各个设备的接口地址可设置为:ITR1连接MR(Map Resolver,映射解答者)的地址为1.1.1.1,ITR2连接MR的地址为2.2.2.2,ETR连接MS(Map Server,映射服务器)的地址为3.3.3.3。ITR发出的报文均要经过NAT地址转换,例如ITR1的地址1.1.1.1转换为公网地址对应于电信网络,ITR2的地址2.2.2.2转换为公网地址对应于联通网络。再通过各自对应的运营商网络转交给对端的NAT2,对端NAT2转换公网地址为私网地址后将报文转发给ETR,ETR收到LISP报文后进行解封装,然后将解封装后的报文转发给目标主机。

下面以从主机组A中的主机A1向主机组D中的主机D1转发为例,对本发明的技术方案进行详细说明。

若主机A1希望经过电信网络发送数据给主机D1,则需要在ITR1上手动配置LISP的EID-RLOC映射关系,其中EID地址设置为主机A1的EID地址,RLOC地址设置为ETR的RLOC地址;而ITR2上则不能配置,否则会使NAT1误认为指向联通网络。

由于如图2所示的组网具备双归属功能,其中ITR1和ITR2预先建立关联组,ITR1为主机A1配置映射{A1,1.1.1.1},ITR1指定关联组成员为2.2.2.2,ITR1具备同步发起能力,ITR2上同样配置关联组成员为1.1.1.1,ITR2具备同步接收能力,ITR1、ITR2之间的地址1.1.1.1和2.2.2.2要保证彼此路由可达,实现方法例如图2中两个ITR之间的连线,从而可以方便两个ITR之间进行路由学习。

当主机A1的流量从ITR1流入时,ITR1向MR发起Map-Request请求报文,MR将Map-Request请求报文转发至NAT1,NAT1根据源地址1.1.1.1做地址转化到公网,并发送至远端ETR。ETR会返回Map-Reply应答报文,其中包括第一地址映射关系。当ITR1收到远端ETR返回的Map-Reply应答报文时,将该Map-Reply应答报文转发给关联组成员ITR2。在转发时,ITR1 将Map-Reply应答报文顶层目的IP地址填充为ITR2的地址2.2.2.2,源IP地址填充为ITR1的地址1.1.1.1。ITR2收到ITR1转发的Map-Reply应答报文后,可以获取该Map-Reply应答报文的源IP地址1.1.1.1,并判断该源IP地址1.1.1.1是否为关联组成员的地址。经判断ITR2确定该源IP地址1.1.1.1为关联组成员ITR1的地址,因此ITR2可以接收该第一地址映射关系,并生成临时映射转发表,其中表中记录源地址1.1.1.1与第一地址映射关系的对应关系。

后续从主机A1转发的流量经过ITR2时,ITR2可以在所述临时映射转发表中根据该流量的源EID地址查找对应的ITR1的地址1.1.1.1,以及第一地址映射关系。然后ITR2按照临时映射转发表将该流量封装成LISP报文,其中LISP头的源IP地址为记录的ITR1的地址1.1.1.1,目的IP地址为第一地址映射关系中的ETR的地址3.3.3.3,然后ITR2将LISP报文发送出去。当LISP报文经过NAT1时,由于该LISP报文的源IP地址为1.1.1.1,则NAT1会将该LISP报文转化为电信网络对应的外网地址,并将该LISP报文经由电信网络发送到NAT2。NAT2转换公网地址为私网地址后将该LISP报文转发给ETR。ETR收到该LISP报文后,将该LISP报文解封装后转发给主机D1,从而实现双归属网络中主机A1与主机D1的通信。

基于相同的构思,本发明还提供一种LISP组网双归属的实现装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的LISP组网双归属的实现装置作为一个逻辑意义上的装置,是通过其所在ITR的CPU将存储器中对应的计算机程序指令读取后运行而成。

请参考图3及图4,是本发明一种示例性实施方式中的一种LISP组网双归属的实现装置400,所述装置应用于第一ITR,所述第一ITR预先与LISP组网中的第二ITR建立关联组,该装置基本运行环境包括CPU,存储器以及其他硬件,从逻辑层面上来看,该装置400包括:

报文创建单元401,用于根据第一地址映射关系创建第一同步报文,所 述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;

报文同步单元402,用于将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的第一对应关系。

可选的,当第一ITR收到第二ITR发送的第二同步报文时,所述第二同步报文包括第二ITR收到的第二地址映射关系,所述同步报文的源IP地址为所述第二ITR地址,所述装置400还包括:

关系保存单元403,用于保存所述第二地址映射关系与所述第二ITR地址的第二对应关系。

可选的,所述关系保存单元403,具体用于获取第二同步报文的源IP地址;判断该源IP地址对应的ITR是否与第一ITR属于同一关联组;若是,则保存所述第二地址映射关系与所述第二ITR地址的第二对应关系。

可选的,当所述第一ITR收到第二ITR连接的主机向远端发送的报文时,所述装置400还包括:

报文封装单元404,用于根据第二地址映射关系与所述第二ITR地址的第二对应关系,对所述报文进行LISP封装,封装时源IP地址为第二ITR地址,以使封装后的报文通过第二ITR对应的LISP组网转发至ETR。

可选的,当所述地址映射表包括老化时间时,所述装置400还包括:

同步更新单元405,用于在所述第一ITR的地址映射关系中的老化时间更新时,所述第一ITR向所述第二ITR发送控制指令,以使所述第二ITR同步更新第一对应关系中地址映射表的老化时间。

由此可见,本发明可以通过预先将第一ITR与第二ITR建立关联组,并使第一ITR根据第一地址映射关系创建第一同步报文,所述第一同步报文的源IP地址为第一ITR对应的第一ITR地址,所述第一同步报文的目的IP地址为第二ITR对应的第二ITR地址;再将所述第一同步报文发送至所述第二ITR,以使所述第二ITR保存所述第一地址映射关系与所述第一ITR地址的 第一对应关系。因此在不增加额外设备,也不需要额外增加复杂组网配置的情况下,实现虚拟机经过多类运营商。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1