一种身份标识与位置分离的报文封装和转发的方法及系统的制作方法

文档序号:7755157阅读:210来源:国知局
专利名称:一种身份标识与位置分离的报文封装和转发的方法及系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种多协议标签交换(MPLS,Multi-Protocol Label Switching)网络中身份标识与位置分离的报文封装和转发的方法及系统。
背景技术
身份标识与位置分离(LISP,Locator ID Separation)协议是一种基于网络的身份标识与位置分离协议,用于解决路由扩展性问题的方案,其基本思想包括(1)将现有的网际协议(IP)地址系统分为标识(EID)和路由位置(RLOC),并引入了隧道路由器(Tunnel Routers)的概念,隧道路由器分为入口隧道路由器(ITR)和出口隧道路由器(ETR) ; (2)主机不做任何改变,主机发送的数据的IP地址用EID表示,报文在网络中的传递依赖于RLOC 信息,根据查找RLOC路由表进行报文的转发;C3) ITR负责报文的封装和映射的查找,在主机IP报文的外面再封装一层LISP报文头和IP报文头,根据目的EID信息查找对应的RLOC 信息;G)ETR负责报文的解封装。LISP协议的数据封装和转发采用一种“IP-in-IP”的方式,外层IP报文头的源IP 地址和目的IP地址为RLOC地址,用于报文在网络中的转发;而内层IP报文头的源IP地址和目的IP地址为主机的EID,报文封装格式分别如图1和2所示,其中图1为互联网协议第 4版(IPv4)报文的IP-in-IP封装格式;图2为互联网协议第6版(IPv6)报文的IP-in-IP 封装格式。LISP网络的报文转发方式如图3所示,ITR上保存有EID和RLOC的映射关系,当 ITR收到主机的IP报文后,根据报文中的目的EID地址在本地映射缓存中查找对应的RLOC 地址,得到的RLOC地址作为外层IP报文的目的IP地址,报文在网络中传输的过程中,只依赖于外层的目的RLOC地址查找RLOC路由表进行转发,当报文到达ETR后,ETR剥离外层的 IP报文头,将内层的IP报文转发到目的主机。引入LISP技术后,将LISP技术在现有IP网络中部署时,需要形成一个隧道路由器的边界,一种方式是升级这些边界上的路由器的协议栈从而形成ITR/ETR,以实现LISP 的IP-in-IP的报文封装和报文转发,而其他的路由器则可以不受影响;另一种方式是全新部署ITR/ETR来实现LISP。目前的主流IP网络因为实现虚拟专用网络(VPN)业务和流量工程、以及服务质量(QM)等功能,基本上都部署了 MPLS技术,因此,通过标签交换路径 (LSP)来实现快速转发成为可能,从而,将LISP技术部署在MPLS网络的概率非常大。如果采用现有技术将LISP技术部署在MPLS网络中,则对报文进行封装和转发时,是先对报文进行IP-in-IP封装后,再进行MPLS的标签封装,从而导致报文在转发时传输效率低下。目前迫切需要一种改进的报文封装和转发方案,在将LISP技术部署在MPLS网络中的情况下能提高报文的传输效率。

发明内容
有鉴于此,本发明的主要目的在于提供一种身份标识与位置分离的报文封装和转发的方法及系统,在将LISP技术部署在MPLS网络中的情况下能提高报文的传输效率。为达到上述目的,本发明的技术方案是这样实现的一种身份标识与位置分离的报文封装和转发的方法,将身份标识与位置分离 (LISP)部署在多协议标签交换(MPLS)网络中,该方法包括采用一层标签对LISP数据进行封装并转发LISP报文;其中,所述一层标签封装作为外层标签;所述LISP报文头部封装有用于指示当前报文为LISP报文的指示信息;或者,采用二层标签对LISP数据进行封装并转发LISP报文;其中,所述二层标签包括第一层标签和第二层标签;所述第一层标签封装作为外层标签,所述第二层标签封装作为内层标签;所述内层标签用于指示当前报文为LISP报文。其中,采用一层标签时,该方法还包括所述MPLS网络建立时通过标签信令协议分发所述外层标签。其中,该方法还包括对端运营商边界设备(PE)对收到的当前报文解封装时,如果剥离掉当前报文的外层标签后获得当前报文头部封装的所述指示信息,则区分出当前报文为所述LISP报文;取出内层报文的网际协议(IP)报文头,根据从所述内层报文的IP报文头中解析出的目的标识(EID)地址,传输当前报文到目的主机。其中,采用二层标签时,该方法还包括通过扩展MP-BGP协议分发所述内层标签。其中,分发所述内层标签时,该方法还包括本端PE和对端PE建立MP-BGP邻居, 在本端PE和对端PE作为对等体使能LISP时分发所述内层标签。其中,该方法还包括对端PE对收到的当前报文解封装时,根据所述内层标签区分出当前报文为所述LISP报文;取出内层报文的IP报文头,根据从所述内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。其中,在xTR设备不是MPLS网络中的PE/标签边界路由器(LER)时,需要升级xTR 设备支持MPLS功能;其中,所述xTR设备为入口隧道路由器(ITR)、出口隧道路由器(ETR) 中的任意一种设备。其中,升级xTR设备所支持的MPLS功能包括支持采用所述一层标签进行封装; 或者,支持采用所述二层标签进行封装。一种身份标识与位置分离的报文封装和转发的系统,该系统包括封装及转发单元,用于采用一层标签对LISP数据进行封装并转发LISP报文;其中,所述一层标签封装作为外层标签;所述LISP报文头部封装有用于指示当前报文为LISP报文的指示信息;或者, 采用二层标签对LISP数据进行封装并转发LISP报文;其中,所述二层标签包括第一层标签和第二层标签;所述第一层标签封装作为外层标签,所述第二层标签封装作为内层标签; 所述内层标签用于指示当前报文为LISP报文。其中,该系统还包括解封装及传输单元,用于采用一层标签封装的情况下,对端PE 对收到的当前报文解封装,剥离掉当前报文的外层标签后获得当前报文头部封装的所述指示信息时,区分出当前报文为所述LISP报文;取出内层报文的IP报文头,根据从所述内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。其中,该系统还包括解封装及传输单元,用于采用二层标签封装的情况下,对端PE 对收到的当前报文解封装,根据所述内层标签区分出当前报文为所述LISP报文;取出内层报文的IP报文头,根据从所述内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。 本发明采用一层标签对LISP数据进行封装并转发LISP报文;其中,一层标签封装作为外层标签;LISP报文头部封装有用于指示当前报文为LISP报文的指示信息;或者,采用二层标签对LISP数据进行封装并转发LISP报文;其中,二层标签包括第一层标签和第二层标签;第一层标签封装作为外层标签,第二层标签封装作为内层标签;内层标签用于指示当前报文为LISP报文。本发明对封装格式作了优化,去掉了外层IP报文头,简化了报文头的内容,减少报文的开销,因此能提高报文的传输效率。


图1为现有技术中LISP的IP-in-IP的IPv6报文封装格式示意图;图2为现有技术中LISP的IP-in-IP的IPv4报文封装格式示意图;图3为现有技术中LISP的报文转发流程示意图;图4为本发明报文封装格式一实例的示意图;图5为本发明网络结构图一实例的示意图;图6为本发明实施例一的报文转发流程示意图;图7为本发明实施例二的网络结构示意图。
具体实施例方式本发明的基本思想是采用一层标签对LISP数据进行封装并转发LISP报文;其中,一层标签封装作为外层标签;LISP报文头部封装有用于指示当前报文为LISP报文的指示信息;或者,采用二层标签对LISP数据进行封装并转发LISP报文;其中,二层标签包括第一层标签和第二层标签;第一层标签封装作为外层标签,第二层标签封装作为内层标签; 内层标签用于指示当前报文为LISP报文。下面结合附图对技术方案的实施作进一步的详细描述。一种身份标识与位置分离的报文封装和转发的方法,主要包括以下内容针对报文封装而言,包括以下三方面内容一、用户数据可以只用一层标签,比如采用LABEL 1进行封装和转发,该标签在 MPLS网络建立的时候通过标签信令协议分发,这种转发方式需要对LISP头部进行改进,即为将LISP报文头部设置指示信息,比如将LISP报文头部的起始4位取给定的特殊值,这个特殊值就是所述指示信息,将LISP报文头部和IPv4、IPv6报文头部区分开来。如图4所示报文封装格式的一实例,UDP报文头是可选的,如果保留UDP报文头,则需要增加相应的描述。例如端口号不可以是1000XXXX/1010XXXX等。其中,LABEL表示标签,在只有一层标签的情况下,只涉及一个外层标签,如LABEL 1。本文的所述指示信息用于指示当前报文是否为LISP报文,不作赘述。二、用户数据也可以采用二层标签进行封装和转发,第二层标签用于指示LISP报文头;第二层标签通过扩展多协议边界网关协议(MP-BGP)协议进行分发,PEl和PE2建立 MP-BGP邻居,需要扩展新的路由区分(RD)属性和定义进行区分,在PEl和PE2对等体使能 LISP功能的时候分发标签,入口 PE上的报文封装格式如图4所示。其中,针对所述对等体
6而言,对等体是BGP中的一个概念,就是两台建立BGP邻居关系的路由器。LABEL表示标签, 在有二层标签的情况下,区别于以上一层标签的情况,除了涉及一个外层标签,如LABEL 1, 还涉及一个内层标签,如LABEL 2。本文的所述指示信息用于指示当前报文是否为LISP报文,不作赘述。三、如果LISP数据在MPLS网络的发送的时候涉及到跨域的MPLS网络,需要使用跨域的MPLS VPN解决方案,如果采用选项(OPTION) C的多跳的MP-BGP协议的解决方案,需要使用三层标签封装和转发。针对报文传输时的转发而言,包括以下内容LISP数据在MPLS网络中传输的网络结构的一实例如图5所示,仍然采用叠加层结构,LISP叠加层(Overlay)负责接受ETR的注册,完成控制平面EID-RLOC映射关系的建立和维护,以及向ITR提供查询功能。例如,当ETR上有新的主机EID时,向叠加层发送EID注册消息,携带所述新的EID及对应的RLOC地址,叠加层建立该主机的EID-RLOC 映射关系。数据转发依赖于MPLS网络,通过运行信令协议,如标签分发协议(LDP,Label DistributionProtocol)、资源预留协议(RSVP,Resource Reservation Protocol)等协议。其中,对于只有一层标签的封装格式,报文到达PE2后,在剥离掉外层标签后,根据改进的LISP头设置的所述指示信息,比如LISP报文头的起始4位值,可以区分出当前报文为LISP报文,然后取出内层报文的IP报文头,依赖内层报文的目的EID地址传输到目的主机。其中,对于有二层标签的封装格式,报文到达PE2后,根据内层标签可以直接判断出当前报文为LISP报文,取出内层的IP报文头,依赖内层报文的目的EID地址传输到目的主机。这里,在xTR设备不是MPLS网络中的运营商边界设备(PE)/标签边界路由器 (LER)时,需要升级xTR设备支持MPLS功能;其中,所述xTR设备为ITR、ETR中的任意一种设备。其中,升级xTR设备所支持的MPLS功能包括基本的MPLS功能,即为支持采用一层标签封装;或者,升级xTR设备所支持的MPLS功能除了包括基本的MPLS功能之外,还需要进一步支持MPLSVPN功能,即为支持采用二层标签封装。综上所述,本发明的方案,是一种LISP数据在MPLS网络中的封装和转发方案,在将LISP技术部署在MPLS网络中的情况下能提高报文的传输效率,即提高LISP报文的传输效率。本发明的方案是在MPLS网络中部署LISP技术,并利用标签交换技术实现LISP报文的快速转发,提高报文的传输效率,而且本发明针对LISP在MPLS网络中的各种应用场景, 给出了各个具体的实施例。具体的,包括LISP之xTR和PE/LER设备分离,以及xTR和PE/ LER是同一设备的更优化封装的应用案例,请详见如下有关实施例的描述。其中,本文中的所述xTR可以表示ETR/ITR,也就是说χ指代任意一个,即表示ETR、ITR中任意一个的意思, 不作赘述。本文中的所述PE表示运营商边界设备,可以用ftxwider Edge表示,不作赘述。 本文中的所述LER表示标签边界路由器,可以用Label Edge Router表示,不作赘述。实施例一实施例一中,xTR和PE/LER是分离的,此时xTR升级支持MPLS功能,xTR需要支持标签分发协议(LDP)、边界网关协议(BGP)协议,本实施例的数据转发过程如图6所示,包括以下步骤
步骤101、Host 1发起与Host 2的通信,发送IP报文。这里,该报文可以是IPv4或者是IPv6报文等,IP报文的目的IP地址为Host2的 EID地址,源IP地址为Hostl的EID地址,即IP报文(EID 2,EID 1)。步骤102、ITR接收到该IP报文后,在本地缓存(cache)中查找EID 2对应的RL0C。这里,如果查找到对应的RLOC地址,说明该报文不是初始报文,则继续查找RLOC 地址对应的出标签,如果查找到出标签,则直接转到步骤106 ;如果没有查找到出标签,则转到步骤105 ;如果没有找到EID对应的RLOC地址,说明该用户报文为初始报文,则进入步骤 103。步骤103、ITR 封装 LISP 查询请求报文(LISP-Request),向 LISP Overlay 发送该报文请求EID 2的RLOC地址。这里,该查询请求报文中包含EID 2,即LISP-Request (EID 2)。步骤104、LISP Overlay收到LISP-Request报文后,查找EID对应的RLOC信息, 并封装LISP查询响应报文(LISP-Iteply)。这里,该LISP-R印Iy报文中携带RLOC地址信息,即LISP_R印Iy (EID 2,RLOC 2)。步骤105、ITR收到LISP-R印Iy报文后,对用户报文进行封装。这里,封装时,根据得到的RLOC地址查询标签转发表,得到外层标签LABEL 1,并封装第二层标签LABEL 2用作LISP报文指示,再封装外层MPLS标签头(此处也可以只封装一层标签MPLS标签用于数据在MPLS网络的转发)。步骤106、数据报文依赖外层标签在MPLS网络进行传输,数据报文在传输过程中, 不需要查找路由表。报文转发时,携带LABEL 1。步骤107、由于MPLS的倒数第二跳弹出规则,数据报文到达PE2后,只有一层标签, 标签LABEL 2,ETR剥离该标签,指示为LISP报文,保留内层的IP报文头。步骤108、IP报文根据目的EID进行路由,转发到目的主机Host 2。这里,报文转发时即为IP报文(EID 2,EID 1)。这里需要指出的是如果报文采用一层标签封装,则步骤105和步骤107与上述采用两层标签封装和转发对比,略有区别,记为步骤10 和步骤107a,分别描述如下步骤105a、ITR收到LISP-R印Iy报文后,对用户报文进行封装,根据得到的RLOC 地址查询标签转发表,得到外层标签LABEL 1,封装LISP头部,并对LISP头部进行改进, LISP头部的起始4值为特定的用于表示为LISP头部的取值。此时封装的报文依次为LISP 头部(改进的),内层IP报文头和用户数据。步骤107a JTMPLS的倒数第二跳弹出规则,数据报文到达PE2后,没有标签,根据LISP头部的起始4值的指示,可以判定报文为LISP报文,去掉LISP头部后,只有内层的 IP报文头。实施例二 实施例二的结构图如图7所示,xTR不直接在PE/LER上进行部署,而是更分散在用户站点/或者接入层面的节点上,要利用MPLS LSP实现高效率传输,则xTR需要升级支持 MPLS/MPLS VPN的功能,从而实现IP-IN-IP隧道和LSP隧道的合并,原PE设备相当于MPLS 网络中的P设备,只作为LISP数据报文的转发。LISP数据在网络中传输的时候可以采用一层标签封装,也可以采用二层标签封装。
对于只有一层标签的封装格式,报文到达LER,即图7中的P3设备后,在剥离掉外层标签后,根据比较内层的数据和报文起始4位给定的特殊值,可以区分出为LISP头部,并对头部进行解析,取出内层报文的IP报文头,依赖内层报文的目的EID地址传输到目的主机。对于有二层标签的封装格式,报文到达PE2设备后,根据内层标签可以判断报文为LISP封装,取出内层的IP报文头,依赖内层报文的目的EID地址传输到目的主机。实施例三xTR和PE为同一设备,xTR/PE同时支持LISP的IP-in-IP封装和MPLS的标签封装,本实施例中数据在ITR/PE设备上封装,采用一层标签的封装格式,该标签用于数据在 MPLS网络的传输,在报文封装的时候,首先对原始数据封装LISP头部,并对该头部进行改进,LISP头部的起始4值为特定的用于表示为LISP头部的取值,然后再封装一层标签。在报文到达ETR/PE后,在剥离掉外层标签后,根据比较内层的数据和报文起始4位给定的特殊值,可以区分出为LISP头部,并对头部进行解析,取出内层报文的IP报文头,依赖内层报文的目的EID地址传输到目的主机。一种身份标识与位置分离的报文封装和转发的系统,该系统包括封装及转发单元,封装及转发单元用于采用一层标签对LISP数据进行封装并转发LISP报文;其中,一层标签封装作为外层标签;LISP报文头部封装有用于指示当前报文为LISP报文的指示信息; 或者,采用二层标签对LISP数据进行封装并转发LISP报文;其中,二层标签包括第一层标签和第二层标签;第一层标签封装作为外层标签,第二层标签封装作为内层标签;内层标签用于指示当前报文为LISP报文。这里,该系统还包括解封装及传输单元,解封装及传输单元用于采用一层标签封装的情况下,对端PE对收到的当前报文解封装,剥离掉当前报文的外层标签后获得当前报文头部封装的所述指示信息时,区分出当前报文为LISP报文;取出内层报文的IP报文头, 根据从内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。这里,该系统还包括解封装及传输单元,解封装及传输单元用于采用二层标签封装的情况下,对端PE对收到的当前报文解封装,根据内层标签区分出当前报文为LISP报文;取出内层报文的IP报文头,根据从内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。这里,对以上文字或附图中涉及的中英文注释进行说明OH表示外层头部;UDP表示用户数据包协议;Nonce为ITR产生的随机M位值,用于数据的安全验证;S为SMR字段,SMR为恳求映射请求(Solicit-Map-Request)标志位; E表示回应字段,可以用echo-nonce-request、或nonce request表示;IH表示内层头部; inner IP header表示内层IP报文头;LISP Overlay表示LISP重叠层;LISP-R印Iy表示 LISP查询响应报文;LISP-Request表示LISP查询请求报文;LISP-Register表示LISP注册报文;Site表示站点;LSP表示标签交换路径;P1、P2、P3分别表示多个骨干网络路由器。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种身份标识与位置分离的报文封装和转发的方法,将身份标识与位置分离 (LISP)部署在多协议标签交换(MPLS)网络中,其特征在于,该方法包括采用一层标签对LISP数据进行封装并转发LISP报文;其中,所述一层标签封装作为外层标签;所述LISP报文头部封装有用于指示当前报文为LISP报文的指示信息;或者,采用二层标签对LISP数据进行封装并转发LISP报文;其中,所述二层标签包括第一层标签和第二层标签;所述第一层标签封装作为外层标签,所述第二层标签封装作为内层标签;所述内层标签用于指示当前报文为LISP报文。
2.根据权利要求1所述的方法,其特征在于,采用一层标签时,该方法还包括所述 MPLS网络建立时通过标签信令协议分发所述外层标签。
3.根据权利要求2所述的方法,其特征在于,该方法还包括对端运营商边界设备(PE) 对收到的当前报文解封装时,如果剥离掉当前报文的外层标签后获得当前报文头部封装的所述指示信息,则区分出当前报文为所述LISP报文;取出内层报文的网际协议(IP)报文头,根据从所述内层报文的IP报文头中解析出的目的标识(EID)地址,传输当前报文到目的主机。
4.根据权利要求1所述的方法,其特征在于,采用二层标签时,该方法还包括通过扩展MP-BGP协议分发所述内层标签。
5.根据权利要求4所述的方法,其特征在于,分发所述内层标签时,该方法还包括本端PE和对端PE建立MP-BGP邻居,在本端PE和对端PE作为对等体使能LISP时分发所述内层标签。
6.根据权利要求5所述的方法,其特征在于,该方法还包括对端PE对收到的当前报文解封装时,根据所述内层标签区分出当前报文为所述LISP报文;取出内层报文的IP报文头,根据从所述内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。
7.根据权利要求1至6任一项所述的方法,其特征在于,在xTR设备不是MPLS网络中的PE/标签边界路由器(LER)时,需要升级xTR设备支持MPLS功能;其中,所述xTR设备为入口隧道路由器(ITR)、出口隧道路由器(ETR)中的任意一种设备。
8.根据权利要求7所述的方法,其特征在于,升级xTR设备所支持的MPLS功能包括 支持采用所述一层标签进行封装;或者,支持采用所述二层标签进行封装。
9.一种身份标识与位置分离的报文封装和转发的系统,其特征在于,该系统包括封装及转发单元,用于采用一层标签对LISP数据进行封装并转发LISP报文;其中,所述一层标签封装作为外层标签;所述LISP报文头部封装有用于指示当前报文为LISP报文的指示信息;或者,采用二层标签对LISP数据进行封装并转发LISP报文;其中,所述二层标签包括第一层标签和第二层标签;所述第一层标签封装作为外层标签,所述第二层标签封装作为内层标签;所述内层标签用于指示当前报文为LISP报文。
10.根据权利要求9所述的系统,其特征在于,该系统还包括解封装及传输单元,用于采用一层标签封装的情况下,对端PE对收到的当前报文解封装,剥离掉当前报文的外层标签后获得当前报文头部封装的所述指示信息时,区分出当前报文为所述LISP报文;取出内层报文的IP报文头,根据从所述内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。
11.根据权利要求9所述的系统,其特征在于,该系统还包括解封装及传输单元,用于采用二层标签封装的情况下,对端PE对收到的当前报文解封装,根据所述内层标签区分出当前报文为所述LISP报文;取出内层报文的IP报文头,根据从所述内层报文的IP报文头中解析出的目的EID地址,传输当前报文到目的主机。
全文摘要
本发明公开了一种身份标识与位置分离的报文封装和转发的方法,将身份标识与位置分离(LISP)部署在多协议标签交换(MPLS)网络中,该方法包括采用一层标签对LISP数据进行封装并转发LISP报文;或者,采用二层标签对LISP数据进行封装并转发LISP报文。本发明还公开了一种身份标识与位置分离的报文封装和转发的系统,系统中的封装及转发单元用于采用一层标签对LISP数据进行封装并转发LISP报文;或者,采用二层标签对LISP数据进行封装并转发LISP报文。采用本发明的方法及系统,在将LISP技术部署在MPLS网络中的情况下能提高报文的传输效率。
文档编号H04L12/56GK102340444SQ201010236679
公开日2012年2月1日 申请日期2010年7月22日 优先权日2010年7月22日
发明者胡方伟, 金利忠, 顾忠禹 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1