一种数据处理方法和设备的制作方法

文档序号:7744420阅读:84来源:国知局
专利名称:一种数据处理方法和设备的制作方法
技术领域
本发明涉及信息技术领域,特别是涉及一种数据处理方法和设备。
背景技术
(1)组播 VPN (Virtual Private Network,虚拟专用网)。组播VPN 是基于 MPLS (Multiprotocol Label Switching,多协议标签交换) L3VPN网络来实现组播传输的技术。其中,MPLS L3VPN是一种基于BGP(Border Gateway Protocol,边界网关协议)和MPLS的扩展技术所实现的VPN,是由运营商的骨干网和用户的 各个Site (站点)所组成,各个Site之间彼此相互孤立,需要借助骨干网来实现互通。而 在MPLS L3VPN中,VPN可以看作是一组策略,控制着各个Site之间的连接。如图1所示,为一种MPLS L3VPN的典型应用。在图1中,Site USite 3和Site 5 组成VPN A网络,Site 2,Site 4和Site 6组成VPN B网络。其中,在MPLS L3VPN中包括了 三种类型的设备,分别为P (Provider,骨干网核心设备)设备,该P设备不与CE (Customer Edge,用户网边缘设备)设备直接相连,负责MPLS的转发。PE (Provider Edge,骨干网边缘 设备)设备,该PE设备与CE设备直接相连,负责VPN路由的处理,是MPLS L3VPN的主要实 现者。CE设备,可以是路由器或交换机,也可以是一台主机,负责用户网络路由的发布。具体的,在MPLS L3VPN中,属于同一个VPN的两个Site之间将使用两层标签来 穿越公网传输报文,而公网入口的PE设备将为报文打上内外两层标签。其中,外层标签用 于在骨干网内部进行交换,代表从本端PE设备到对端PE设备的一条LSP (Label Switched Path,标签交换路径),而借助这层标签,报文可以沿着LSP到达对端PE设备。内层标签代 表通过骨干网相连的两个CE设备之间的一条LSP,主要标识报文属于哪个Site,而PE设备 可以根据内层标签将报文转发到相应的CE设备。在图1中,网络同时承载着三个相互独立的组播业务,分别为公网实例、VPN实例 A和VPN实例B。其中,公共网络边缘的PE设备可以支持多实例,即相当于多台独立运行的 组播设备。进一步的,各个实例之间形成了彼此隔离的平面,而每个实例对应着一个平面。例 如,图1中的PEl上运行着三个实例,即PEl上运行公网实例、VPN实例A和VPN实例B, 此时,可以将这三个不同的实例当成三台独立运行的虚拟设备,分别是PE 1,、PE 1”和PE 1’ ”,每台虚拟设备则分别对应着一个平面,基于多实例的组播的对应关系如图2所示。基于上述情况,组播VPN是指当VPN A (以VPN实例A为例)中的组播源向某组 播组发送组播数据时,则在网络中所有可能的接收者中,只有属于VPN A(即Site USite 3或Site 5中)的组播组成员才能接收到该组播源发来的组播数据。其中,组播数据在各 Site以及公网中之间均以组播方式进行传输。(2)组播专业术语。MD (Multicast Domains,组播域)。各PE设备上交互组播报文的相同VPN实例所 构成的集合称为MD,其中,不同的VPN实例将属于不同的MD。
MVRF(Multicast VPN Routing and Forwarding,同时支持单播和组播的 VPN路由与转发)。即建立在属于同一个VPN内所有PE设备之间的组播分发树,包括 Share-MDT (Share Multicast Distribution Tree,共享组播分发树)和 Switch-MDT (交换 组播分发树)两种。MT (Multicast Tunnel,组播隧道)。在MD内将各个PE设备连接到一起的通道称 为MT,其中,MT用来传输MD内部的私网数据。MTI (Multicast Tunnel Interface,组播隧道接口)。该 MTI 是 MT 的入口 / 出口, 即相当于MD的入口 /出口,而PE设备通过MTI连接到MT上。其中,MTI只收发组播报文, 而不收发单播报文。而MTI在VPN实例配置了 Share-Group地址并绑定MTI后将被自动创建。(3)MD VPN。其中,MD VPN实现机制的要点包括a,运营商构建的公共网络支持组播功能。其中,PE设备需要同时支持公网实例和 多个VPN实例,而每个实例各自运行相互间独立的PIM(ProtocolInd印endent Multicast, 协议无关组播),PE设备与CE设备之间通过VPN实例进行私网组播的传输;PE设备与P设 备之间则通过公网实例进行公网组播的传输。b,MD在逻辑上表示为某一特定VPN的私网组播数据在公网中的传输范围,而在实 际中则标识了网络中支持该VPN实例的所有PE设备。其中,不同的VPN实例对应了不同的 MD,如图2所示,每个VPN实例平面的中央椭圆区域表示一个MD,服务于某个特定的VPN,而 在该VPN中传输的所有私网组播数据,都需要在该MD内进行传输。c,在MD内部,私网数据通过MT进行传输。其中,该MT传输过程包括本地PE设 备将私网组播报文封装成公网组播数据报文,并在公网内进行组播转发,远端PE设备收到 该报文后通过解封装将其还原成私网报文。d,本地PE设备将私网数据通过MTI发出,而远端PE设备则从MTI接收私网数据。 如图3所示的公网实例PIM与VPN实例MD对应关系示意图,可以将MD作为一个私网数据 的传输池,而MTI则是MD的入/出口。本地PE设备将私网数据从入口(MTI)投入到传输 池,该传输池则可以自动将私网数据复制并传输到MD的所有出口(MTI),任何有需求的远 端PE设备都可以从各自的出口(MTI) “打捞”到私网数据。(4)路由表项。在因特网中进行路由选择和报文转发时,需要使用路由器,而路由器可以根据所 接收到的报文的目的地址选择一条合适的路径(通过某一网络),并将报文发送到下一个 路由器,以此类推,路径中最后的路由器负责将报文发送到目的主机。在上述报文传输过程中,路由指的是上述的路径信息,用来指导报文的转 发。其中,路由器决策路由的关键是路由表,路由器转发报文的关键是FIB(F0rwarding Information Base,转发信息库)表,而每个路由器中都至少保存一张路由表和一张FIB 表。具体的,路由表中保存了各种路由协议发现的路由,其中,根据来源的不同,通常 分为以下三类链路层协议发现的路由(也称为接口路由或直连路由)、网络管理员手工配 置的静态路由、动态路由协议发现的路由。FIB表中每条转发项都指明了要到达某子网或某 主机的分组应通过路由器的哪个物理接口进行发送;可到达该路径的下一个路由器,或者
6不需再经过路由器即可传送到直接相连的网络中的目的主机。需要注意的是,每台路由器都保存着一张本地管理路由表,并同时通过各个路由 协议维护着自身的协议路由表。a,各个路由协议维护的协议路由表,该协议路由表中存储了通过路由协议发现 的路由。其中,路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行 0SPF(0pen Shortest Path First,开放式最短路径优先)协议,需要使用0SPF协议通告 直连路由、静态路由或者 IS-IS (Intermediate Systemto Intermediate System Routing Protocol,中间系统到中间系统的路由选择协议)路由时,需要将这些路由引入到0SPF协 议的路由表中。b,本地管理路由表,其中,路由器使用本地管理路由表来保存协议路由和决策优 选路由,并负责将优选路由下发到FIB表中,而FIB用于指导报文进行转发。该本地管理路 由表可以依据各种路由协议的优先级和度量值来选取路由。进一步的,各个路由协议维护 着自身的协议路由表,并在对协议路由表中的路由进行优化后,存储到本地管理路由表,路 由器在发送报文时,需要从本地管理路由表中查询相应的路由。需要注意的是,路由表(例如,本地管理路由表等)中包含了下列关键项目的地 址,用来标识IP报文的目的地址或目的网络。网络掩码,与目的地址一起来标识目的主机 或路由器所在的网段的地址,而将目的地址和网络掩码“逻辑与”后可得到目的主机或路由 器所在网段的地址。例如,目的地址为129. 102. 8. 10、掩码为255. 255. 0. 0的主机或路由 器所在网段的地址为129. 102. 0.0 ;掩码由若干个连续“1”构成,既可以用点分十进制法表 示,也可以用掩码中连续“1”的个数来表示。出接口,指明IP报文将从该路由器哪个接口 转发。下一跳IP地址,更接近目的网络的下一个路由器地址,如果只配置了出接口时,则下 一跳IP地址是出接口的地址。本条路由加入路由表的优先级,对于同一个目的地址,可能 存在若干条不同下一跳的路由,而这些不同的路由可能是由不同的路由协议发现的,也可 能是手工配置的静态路由。其中,优先级高(数值小)的路由将成为当前的最优路由。(5) PE设备上的邻居关系和接口。如图4所示的组播VPN邻居关系示意图, 在组播VPN中,PE上存在三种邻居关系和3类接口。其中,PE设备和P设备建立普通 的PIM邻居关系,对应的接口为PNI (Provider Networklnterface,公网接口)接口;PE 设备和CE设备建立MVRF内部普通的邻居关系,对应的接口为CNI (Customer Network Interface,私网接口)接口 ;PE设备和PE设备之间通过隧道建立邻居关系,对应的接口为 MTI (MulticastTunnel Interface,组播隧道接口)接口。而 MVRF 将通过隧道接口(MTI) 和远端PE建立邻居关系。进一步的,对于MTI来说,相关作用包括MTI是动态创建的隧道接口,属于特定 MVRF ;MTI的IP地址来自于建立MPBGP邻居的源IP ;PE设备通过MTI接口交换PIM消息, 并建立邻居;MTI接口作为网关衔接了 MVRF内部组播路由表和全局组播路由表;MTI可以 作为(*,G)表项和(S,G)表项的入接口和出接口。但是,在组播VPN中,由于需要将MTI地址引入到私网路由表中,从而会导致对组 播业务和MPLS L3VPN业务的影响。具体的,在MD组播VPN中,PE设备需要同时支持公网实例和多个VPN实例,例如, 图4中的PE1需要支持公网实例和VPN实例A时,则在PE1需要建立公网实例对应的公网路由表(即公网对应的本地管理路由表)和VPN实例A对应的私网路由表(即私网对应的本地管理路由表)。1)基于上述情况,以图5所示的组播VPN报文的封装过程为例,对组播业务的影响 具体为组播VPN邻居是通过MTI接口建立的,为了满足RPF (Reverse PathForwarding, 逆向路径转发)的检查,MTI接口的地址需要是两边PE设备的环回口地址,且PEl和PE2 分别需要将环回口地址加入到本地的私网路由表中,即在建立组播VPN邻居时,PEl需要将 PE2的MTI地址加入到自身的私网路由表中,PE2也需要将PEl的MTI地址加入到自身的私 网路由表中。另外,在PE2的私网路由表中配置一条与PEl的公网环回口地址(即PEl的 MTI地址,例如,LPO为1. 1. 1. 1)相同的私网地址(例如,1. 1. 1. 1/32),其中,由于普通MPLS L3VPN公网地址和私网地址相互隔离,则上述配置没有问题。基于上述前提,则PEl在以组播方式发送PIM协议报文时,需要将本地MTI接口封 装为源地址,而当PE2接收到封装过来的PIM协议报文时,则会根据源地址查找该PIM协议 报文是否为来自对端MT 口的PIM协议报文;此时,PE2通过查找自身的私网路由表,能够根 据源地址(1. 1. 1. 1)查找到MTI地址和自身的一个私网地址,而由于该私网地址是直连地 址,具有最高的优先级,则该PE2将认为该PIM协议报文不是来自对端MT 口的PIM协议报 文,并丢弃该组播方式发送的PIM协议报文。而当PE2 —定时间内无法接收到对方发送过 来的PIM协议报文时,就会导致邻居的中断,从而造成组播业务不通。2)基于上述情况,以图5所示的组播VPN报文的封装过程为例,对MPLSL3VPN业务 的影响具体为a,如果本地设备上学习到一条与本地MTI地址相同的私网地址,例如,在PEl上 学习到一条私网地址(1. 1. 1. 1),并且该私网地址与公网的MTI地址1. 1. 1. 1/32相同,当 有大量目的地址为1. 1. 1. 1/32的私网报文到达PEl时,PEl通过查找自身的私网路由表, 能够查找到该MTI地址和上述的私网地址,而由于该本地MTI地址是直连地址,具有最高 的优先级,则该PEl需要将私网报文上送,而不能将私网报文发送到对应的私网地址,冲击 CPU (CentralProcessing Unit,中央处理单元),并造成CPU繁忙,继而影响到PEl的正常使 用。b,当从CE设备上学习到私网地址1. 1. 1. 1/32时,由于该学习到的私网地址的优 先级不及本地的公网MTI地址(是直连地址)1. 1. 1. 1/32,从而使得该学习到的私网地址 不生效,在向FIB下发路由时只能下发该公网MTI地址,硬件转发不成功,从而影响MPLS L3VPN业务。综上所述,在将MTI地址引入到私网路由表时,如果MTI地址和私网地址有重叠, 则会对组播业务和MPLS L3VPN业务造成影响。例如,某公司在运营商切换时,假如原使用 移动的运营商,组播VPN和MPLS L3VPN没有地址重叠,而需要切换运营商,转移到联通时, 正好存在上述地址重叠的问题,则会产生组播和MPLS L3VPN业务冲突的问题。

发明内容
本发明提供一种数据处理方法和设备,以不影响MPLS L3VPN业务和组播VPN业务。
为了达到上述目的,本发明提出了一种数据处理方法,应用于包括至少两个骨干 网边缘PE设备的组播虚拟专用网VPN中,所述PE设备之间的接口为组播隧道接口 MTI接 口,所述PE设备中至少维护了各个PE设备的MTI接口地址,且所述MTI接口地址对应了组 播隧道MT标识;所述方法包括以下步骤所述PE设备接收报文,并获知所述报文为来自MTI接口的报文或者私网的报文;如果所述报文为来自MTI接口的报文,则所述PE设备根据所述MTI接口地址对应 的MT标识判断是否需要根据所述报文维护邻居关系,如果需要,则维护所述邻居关系;如果所述报文为来自私网的报文,则所述PE设备根据来自私网的所述报文的目 的地址对所述报文进行处理。其中,所述PE设备根据所述MTI接口地址对应的MT标识判断是否需要根据所述 报文维护邻居关系,具体包括所述PE设备判断所述报文是否为协议无关组播PIM Hello报文;如果是PIM Hello报文,则所述PE设备判断所述报文的源地址是否为对应了 MT 标识的MTI接口地址,如果是,则判断需要根据所述报文维护邻居关系;如果不是PIM Hello报文,则所述PE设备在私网中对所述报文进行相应的处理。其中,所述PE设备根据来自私网的所述报文的目的地址对所述报文进行处理,具 体包括所述PE设备根据所述报文的目的地址查找到路由,并当根据所述报文的目的地 址查找到路由时,所述PE设备判断所述路由的地址是否对应具有MT标识的MTI接口地址;如果是时,则根据所述报文对应路由的地址在公网中对所述报文进行相应的处 理;如果不是或者所述路由的地址同时对应MTI接口地址和私网地址,则根据所述路 由的地址在私网中对所述报文进行相应的处理。其中,所述PE设备维护各个PE设备的MTI接口地址,且所述MTI接口地址对应了 MT标识,具体包括所述PE设备创建MT管理表,并在所述MT管理表中存储各个PE设备的MTI接口 地址,且使用MT标识来标识所述MTI接口地址;或者,所述PE设备在将所述MTI接口地址存储到私网路由表时,则使用MT标识来标识 所述MTI接口地址。其中,当在所述PE设备上创建所述MT管理表时,所述PE设备根据所述MTI接口地址对应的MT标识判断是否需要根据所述报文维 护邻居关系,具体包括所述PE设备判断所述报文是否为PIM Hello报文;如果是PIM Hello报文,则所 述PE设备查找所述报文的源地址在所述MT管理表中是否有对应的记录,如果有,则需要根 据所述报文维护邻居关系;如果不是PIM Hello报文,则所述PE设备在私网路由表中查找路由,并进行私网 中的组播处理。其中,当在所述PE设备上创建所述MT管理表时,所述PE设备根据来自私网的所述报文的目的地址对所述报文进行处理,具体包
9括所述PE设备根据所述报文的目的地址在私网路由表中查找路由,并当根据所述 报文的目的地址查找到路由时,所述PE设备判断所述MT管理表是否有所述报文对应的记 录;如果没有,则所述PE设备确定下一跳是私网的出接口,并根据所述报文对应路由 的地址在私网中对所述报文进行相应的处理;如果有且所述报文对应路由的地址同时对应MTI接口地址和私网地址,则所述PE 设备确定下一跳是私网的出接口,并根据所述报文对应路由的地址在私网中对所述报文进 行相应的处理;如果有且所述报文对应路由的地址仅对应MTI接口地址,则所述PE设备确定下一 跳是公网的出接口,并根据所述MT管理表中的MTI接口地址在公网中对所述报文进行相应 的处理。本发明还提供一种数据处理设备,应用于包括至少两个PE设备的组播VPN中,所 述PE设备之间的接口为MTI接口,所述PE设备中至少维护了各个PE设备的MTI接口地址, 且所述MTI接口地址对应了 MT标识;所述数据处理设备作为所述PE设备,包括接收模块,用于接收报文;获取模块,与所述接收模块连接,用于获知所述报文为来自MTI接口的报文或者 私网的报文;MTI接口报文处理模块,与所述获取模块连接,用于当所述报文为来自MTI接口的 报文时,根据所述MTI接口地址对应的MT标识判断是否需要根据所述报文维护邻居关系, 如果需要,则维护所述邻居关系;私网报文处理模块,与所述获取模块连接,用于当所述报文为来自私网的报文时, 根据来自私网的所述报文的目的地址对所述报文进行处理。其中,所述MTI接口报文处理模块具体包括判断子模块,用于判断所述报文是否为PIM Hello报文;并在判断结果为是PIM Hello报文时,判断所述报文的源地址是否为对应了 MT标识的MTI接口地址;维护子模块,与所述判断子模块连接,用于当判断子模块的判断结果为所述报文 是PIM Hello报文且所述报文的源地址对应了 MT标识的MTI接口地址时,根据所述报文维 护邻居关系;处理子模块,与所述判断子模块连接,用于当判断子模块的判断结果为所述报文 不是PIM Hello报文时,在私网中对所述报文进行相应的处理。其中,所述私网报文处理模块具体包括判断子模块,用于根据所述报文的目的地址查找到路由,并当根据所述报文目的 地址查找到路由时,判断所述路由的地址是否对应具有MT标识的MTI接口地址;公网处理子模块,与所述判断子模块连接,用于当所述判断子模块的判断结果为 是时,则根据所述报文对应路由的地址在公网中对所述报文进行相应的处理;私网处理子模块,与所述判断子模块连接,用于当所述判断子模块的判断结果为不是或者所述路由的地址同时对应MTI接口地址和私网地址时,则根据所述路由的地址在 私网中对所述报文进行相应的处理。
其中,还包括维护模块,与所述MTI接口报文处理模块和私网报文处理模块连接,用于创建MT管理表,并在所述MT管理表中存储各个PE设备的MTI接口地址,且使用MT标识来标识所 述MTI接口地址;或者,在将所述MTI接口地址存储到私网路由表时,则使用MT标识来标识所述MTI接口 地址。其中,当在所述PE设备上创建所述MT管理表时,在所述MTI接口报文处理模块中,判断子模块,用于判断所述报文是否为PIM Hello报文;如果是PIM Hello报文, 则查找所述报文的源地址在所述MT管理表中是否有对应的记录;维护子模块,用于当判断子模块的判断结果为所述报文是PIM Hello报文且所述 报文的源地址在所述MT管理表中有对应的记录时,根据所述报文维护邻居关系;处理子模块,用于当判断子模块的判断结果为所述报文不是PIM Hello报文时,在 私网路由表中查找路由,并进行私网中的组播处理。其中,当在所述PE设备上创建所述MT管理表时,在所述私网报文处理模块中,判断子模块,用于根据所述报文的目的地址在私网路由表中查找路由,并当根据 所述报文的目的地址查找到路由时,判断所述MT管理表是否有所述报文对应的记录;公网处理子模块,用于当所述判断子模块的判断结果为有所述报文对应的记录且 所述报文对应路由的地址仅对应MTI接口地址时,则确定下一跳是公网的出接口,并根据 所述MT管理表中的MTI接口地址在公网中对所述报文进行相应的处理;私网处理子模块,用于当所述判断子模块的判断结果为没有所述报文对应的记 录,或者有所述报文对应的记录且所述报文对应路由的地址同时对应MTI接口地址和私网 地址时,则确定下一跳是私网的出接口,并根据所述报文对应路由的地址在私网中对所述 报文进行相应的处理。与现有技术相比,本发明具有以下优点通过为MTI接口地址对应MT标识,当需 要使用MTI接口地址时,能够清楚的获知该具有MT标识的地址为MTI接口地址,从而使得 MPLS L3VPN业务和组播VPN业务互不影响,而且MPLS L3VPN数据报文转发不会因为组播的 公网MTI接口地址,导致大量数据报文不转发,从而解决报文转发不出去上送CPU,造成CPU 的繁忙的问题。此外,当承载在不同运营商之间的组播业务和MPLS L3VPN业务进行切换或 者转移时,也不会受到路由冲突的影响。


图1为现有技术中MPLS L3VPN的典型应用示意图;图2为现有技术中基于多实例的组播的对应关系示意图;图3为现有技术中公网实例PIM与VPN实例MD对应关系示意图;图4为现有技术中组播VPN邻居关系示意图;图5为现有技术中组播VPN报文的封装过程示意图;图6为本发明提出的一种数据处理方法流程图7为本发明中基于MT管理表的来自MTI接口报文的处理方法流程图;图8为本发明中基于MT管理表的来自私网报文的处理方法流程图;图9为本发明提出的一种数据处理设备的结构图。
具体实施例方式当组网环境中既存在组播VPN,也同时承载MPLS L3VPN业务的情况下,如果组播 VPN业务的MTI接口地址和MPLS L3VPN的私网地址重复时,组播VPN中的MTI接口地址对 应的公网路由将泄露到私网中,从而同时影响组播VPN和MPLS L3VPN的业务。针对上述问题,本发明中,通过为MTI接口地址维护对应的MT标识,当需要使用 MTI接口地址时,能够清楚的获知该具有MT标识的地址为MTI接口地址,从而不会将组播 VPN中的MTI接口地址对应的公网路由泄露到私网中,使得组播VPN和MPLS L3VPN的业务 互不影响。基于上述思想,本发明提供一种数据处理方法,该方法应用在存在组播VPN和 MPLS L3VPN的组网环境中,且该组网环境中至少包括了两个PE设备,而各个PE设备之间的 接口为MTI接口,在PE设备上,维护了各个PE设备的MTI接口地址,且该MTI接口地址对 应了 MT标识。本发明中,该PE设备可以在自身上创建MT管理表,并在该MT管理表中存储各个 PE设备的MTI接口地址,且使用MT标识来标识该MTI接口地址;或者,PE设备在将MTI接 口地址存储到私网路由表时,使用MT标识来标识该MTI接口地址。如图6所示,该方法进一步包括以下步骤步骤601,PE设备接收报文,并获取该报文的来源。其中,该报文的来源具体为来 自MTI接口的报文或者来自私网的报文。当该报文为来自MTI接口的报文时,转到步骤602 中进行相应的处理,当该报文为来自私网的报文时,转到步骤603中进行相应的处理。具体的,由于来自MTI接口的报文或者来自私网的报文中携带的信息并不相同, 因此,当PE设备接收到报文后,能够根据接收到的报文中携带的信息,获知该报文为来自 MTI接口的报文或者来自私网的报文,该过程本发明中不再详加赘述。步骤602,PE设备根据MTI接口地址对应的MT标识判断是否需要根据该报文维护 邻居关系,如果需要,则维护邻居关系。具体的,在各个PE设备上,均维护着其他PE设备的邻居关系,如果邻居中断,则会 导致组播业务不通。因此,各个PE设备需要通过使用PIM Hello报文(该PIM Hello报文 是基于使用PIM协议来维护邻居关系的,对于其他的协议,还可以使用其他类型的报文来 维护邻居关系,处理过程与PIM Hello报文的处理过程类似,本发明中不再赘述)来实时维 护邻居关系。进一步的,各个PE设备均会根据预设的周期向其他PE设备发送PIMHello报文, 当PE设备接收到报文时,会首先判断该报文是否为PIM Hello报文,只有是PIM Hello报 文时,才会执行后续根据MTI接口地址对应的MT标识判断是否需要根据该报文维护邻居关 系的操作,而如果不是PIM Hello报文时,则不能够根据该报文维护邻居关系。需要注意的是,在判断该报文是否为PIM Hello报文之前,还可以判断该报文是否 为来自邻居的报文,如果不是来自邻居的报文,即使该报文是PIMHello报文,该PE设备也
12不需要根据维护邻居关系。基于上述情况,本步骤中的PE设备根据MTI接口地址对应的MT标识判断是否需 要根据该报文维护邻居关系,具体包括(1),PE设备判断该报文是否为来自邻居的报文,如果是时,则转到(2),否则,直 接丢弃该报文。(2), PE设备解封装该报文,并判断该报文是否为PIM Hello报文,如果是时,则转 到(3),否则,转到(5)。(3), PE设备判断该报文(即PIM Hello报文)的源地址是否为对应了 MT标识的 MTI接口地址,如果是时,则转到(4),否则,直接丢弃该报文。(4), PE设备确定需要根据该PIM Hello报文维护邻居关系,该维护过程本发明中 不再详加赘述。具体的,当PIM Hello报文的源地址为对应了 MT标识的MTI接口地址时,则说明 该PIM Hello报文为其他PE设备向本地PE设备所发送的PIM Hello报文,因此需要根据 该PIM Hello报文维护邻居关系。
假如该PIM Hello报文的源地址对应了两个地址,一个为MTI接口地址、一个为私 网地址,由于该私网地址为直连地址,而该MTI接口地址为其他PE设备的地址,不是直连地 址,则该私网地址具有更高的优先级,现有技术中将认为该PIM Hello报文的源地址对应该 私网地址,丢弃该PIM Hello报文,不会根据该PIM Hello报文维护邻居关系。而本发明中, 通过在MTI接口地址对应MT标识,当接收到该PIM Hello报文后,能够获知PIM Hello报 文的源地址对应了 MTI接口地址,从而需要根据该PIM Hello报文维护邻居关系,保证组播 业务的正常使用。(5),PE设备在私网中对该报文进行相应的处理。具体的,当该报文不是PIM Hello报文时,则该报文为其他协议报文或者数据报 文,如果该报文为协议报文,则需要查找私网路由表,并在查找到相应的路由时,进行私网 中组播业务处理;如果该报文为数据报文,则需要查找组播表项,并在查找到相应的找组播 表项时,根据该组播表项进行转发处理,该过程本发明中不知详加赘述。步骤603,PE设备根据来自私网的报文的目的地址对该报文进行处理。其中,当该 报文为来自私网的报文时,则该PE设备需要根据该报文的目的地址查找到路由,并向对应 的设备转发该报文。具体的,当查找到路由时,则该PE设备需要判断该路由的地址(即报文的目的地 址)是否对应了具有MT标识的MTI接口地址,并根据判断结果分为以下三种处理方式。第一种处理方式,当报文的目的地址仅对应了具有MT标识的MTI接口地址时,则 说明该报文的下一跳地址为公网的出接口,此时,该PE设备将根据具有MT标识的MTI接口 地址在公网中对报文进行相应的处理;该处理过程具体为将该报文转发到公网中,在此不 再详加赘述。第二种处理方式,当报文的目的地址仅对应了不具有MT标识的私网地址时,则说 明该报文的下一跳地址为私网的出接口,此时,该PE设备将根据该报文的目的地址在私网 中对该报文进行相应的处理;该处理过程具体为将该报文转发到私网中,在此不再详加赘 述。
第三种处理方式,当报文的目的地址同时对应了具有MT标识的MTI接口地址和不具有MT标识的私网地址时,则此时该具有MT标识的MTI接口地址将不参与路由计算,即PE 设备认为该报文的目的地址对应不具有MT标识的私网地址时,则说明该报文的下一跳地 址为私网的出接口,此时,该PE设备将根据该报文的目的地址在私网中对该报文进行相应 的处理。可以看出,当报文的目的地址对应了两个地址,一个为MTI接口地址、一个为私网 地址,由于该MTI接口地址为直连地址,而该私网地址为从其他设备学习到的地址,现有技 术中当有大量报文需要发送到私网地址时,由于该MTI接口地址具有更高的优先级,则会 将大量报文均上送到CPU,从而影响设备的使用。而本发明中,通过在MTI接口地址对应MT 标识,当接收到大量需要发送到私网地址的报文时,由于该具有MT标识的MTI接口地址不 参与到路由计算,则能够将报文发送到私网地址,从而保证业务的正常使用。为了更加清楚的说明本发明提供的技术方案,以在PE设备上创建MT管理表为例 来进一步详细说明本发明。其中,一旦本地的MT隧道UP,就创建本地的MT管理表,并同时 将本地MTI 口地址存储到MT管理表中,且带上相应的标记。具体的,该MT管理表中需要存储各个PE设备的MTI接口地址,并使用MT标识来 标识该MTI接口地址(例如,使用Tag =Muiticast Tunnel标识来标识该MTI接口地址)。 当然,在实际应用中,还可以在MT管理表中携带以下内容中的一种或者任意几种,并能够 根据实际的需要在MT管理表中添加其他的内容。Routing Tables =Muiticast Tunnel-本地路由管理表的类别Destinations 目的地个数(包含本地的接口,用于建立隧道的接口)Destination/Mask 目的地址/掩码长度Proto 发现该路由的路由协议Pre:路由的优先级Cost:路由的度量值Nexthop 此路由的下一跳地址Interface 输出接口,即到该目的网段的数据包将从此接口发出需要注意的是,该MT管理表中将存储本地的MTI接口地址和对端的MTI接口地 址,其中,PE可以通过MBGP查找到对端的MTI接口地址,并存储在自身的MT管理表中。而 MT管理表中的其他信息能够通过原有的公网的路由管理机制,从公网路由里面获取,且该 MT路由表中的所有路由相关信息需要同组播路由管理进行交互,在此不再详加赘述。如图7所示,基于上述的MT管理表,当接收到来自MTI接口的报文时,该方法进一 步包括以下步骤步骤701,PE设备判断该来自MTI接口的报文是否为来自邻居的报文,如果是时, 转到步骤702,否则,丢弃该报文,并结束流程。步骤702,PE设备解封装该报文,并判断该报文是否为PIM Hello报文,如果是时, 转到步骤703,否则,转到步骤705。步骤703,PE设备查找该PIM Hello报文的源地址在上述的MT管理表中是否有对 应的记录,如果是时,转到步骤704,否则,丢弃该报文,并结束流程。步骤704,PE设备确定需要根据该PIM Hello报文维护邻居关系,即执行PIM邻居维护过程,该维护过程本发明中不再详加赘述。步骤705,PE设备在私网路由表中查找路由,并进行私网中的组播处理。如图8所示,基于上述的MT管理表,当接收到来自私网的报文时,该方法进一步包括以下步骤步骤801,PE设备根据该报文的目的地址在私网路由表中查找到路由。具体的,当查找到路由时,则转到步骤802中进行处理,如果无法查找到路由时, 则丢弃该报文。步骤802,PE设备判断该MT管理表是否有该报文对应的记录。如果没有该报文对应的记录或者有该报文对应的记录但该报文的目的地址同时 对应MTI接口地址和私网地址时,转到步骤803 ;如果有该报文对应的记录且该报文的目的 地址只对应MTI接口地址,转到步骤804。步骤803,PE设备确定下一跳是私网的出接口,并根据该报文的目的地址在私网 中对报文进行相应的处理。具体的,当报文的目的地址仅对应了不具有MT标识的私网地址时,则说明该报文 的下一跳地址为私网的出接口,此时,该PE设备将根据该报文的目的地址在私网中对该报 文进行相应的处理;该处理过程具体为将该报文转发到私网中,在此不再详加赘述。当报文的目的地址同时对应了具有MT标识的MTI接口地址和不具有MT标识的私 网地址时,则此时该具有MT标识的MTI接口地址将不参与路由计算,即PE设备认为该报文 的目的地址对应不具有MT标识的私网地址时,则说明该报文的下一跳地址为私网的出接 口,此时,该PE设备将根据该报文的目的地址在私网中对该报文进行相应的处理。步骤804,PE设备确定下一跳是公网的出接口,并根据MT管理表中的MTI接口地 址在公网中对报文进行相应的处理。具体的,当报文的目的地址仅对应了具有MT标识的MTI接口地址时,则说明该报 文的下一跳地址为公网的出接口,此时,该PE设备将根据具有MT标识的MTI接口地址在公 网中对报文进行相应的处理;该处理过程具体为将该报文转发到公网中,在此不再详加赘 述。如图9所示,基于与上述方法同样的发明构思,本发明还提出了一种数据处理设 备,该设备应用在存在组播VPN和MPLS L3VPN的组网环境中,且该组网环境中至少包括了 两个PE设备,而各个PE设备之间的接口为MTI接口,在PE设备上,维护了各个PE设备的 MTI接口地址,且该MTI接口地址对应了 MT标识,所述数据处理设备作为所述PE设备,该设 备进一步包括维护模块10、接收模块20、获取模块30、MTI接口报文处理模块40和私网 报文处理模块50,其中,维护模块10和MTI接口报文处理模块40、私网报文处理模块50连 接,接收模块20与获取模块30连接,获取模块30和MTI接口报文处理模块40、私网报文处 理模块50连接。维护模块10,用于创建MT管理表,并在所述MT管理表中存储各个PE设备的MTI 接口地址,且使用MT标识来标识所述MTI接口地址;或者,在将所述MTI接口地址存储到私 网路由表时,则使用MT标识来标识所述MTI接口地址。接收模块20,用于接收报文。其中,该报文的来源具体为来自MTI接口的报文或者 来自私网的报文。
获取模块30,用于获知所述报文为来自MTI接口的报文或者私网的报文。其中,由于来自MTI接口的报文或者来自私网的报文中携带的信息并不相同,因此,当PE设备接收 到报文后,能够根据接收到的报文中携带的信息,获取模块30能够准确的获知该报文为来 自MTI接口的报文或者私网的报文。MTI接口报文处理模块40,用于当所述报文为来自MTI接口的报文时,根据所述 MTI接口地址对应的MT标识判断是否需要根据所述报文维护邻居关系,如果需要,则维护 所述邻居关系。其中,在各个PE设备上,均维护着其他PE设备的邻居关系,因此,各个PE 设备需要通过使用PIM Hello报文来实时维护邻居关系。具体的,各个PE设备均会根据预设的周期向其他PE设备发送PIM Hello报文,当 PE设备接收到报文时,会首先判断该报文是否为PIM Hello报文,只有是PIM Hello报文 时,才会执行后续根据MTI接口地址对应的MT标识判断是否需要根据该报文维护邻居关系 的操作,而如果不是PIM Hello报文时,则不能够根据该报文维护邻居关系。基于上述情况,所述MTI接口报文处理模块40进一步包括判断子模块41,用于判断所述报文是否为PIM Hello报文;并在判断结果为是PIM Hello报文时,判断所述报文的源地址是否为对应了 MT标识的MTI接口地址;另外,当在 所述PE设备上创建所述MT管理表时,该判断子模块41还用于判断所述报文是否为PIM Hello报文;如果是PIM Hello报文,则查找所述报文的源地址在所述MT管理表中是否有 对应的记录。维护子模块42,与所述判断子模块41连接,用于当判断子模块41的判断结果为所 述报文是PIM Hello报文且所述报文的源地址对应了 MT标识的MTI接口地址时,根据所述 报文维护邻居关系;另外,当在所述PE设备上创建所述MT管理表时,该维护子模块41还用 于当判断子模块41的判断结果为所述报文是PIM Hello报文且所述报文的源地址在所述 MT管理表中有对应的记录时,根据所述报文维护邻居关系。处理子模块43,与所述判断子模块41连接,用于当判断子模块41的判断结果为 所述报文不是PIM Hello报文时,在私网中对所述报文进行相应的处理;另外,当在所述PE 设备上创建所述MT管理表时,该处理子模块43还用于当判断子模块41的判断结果为所述 报文不是PIM Hello报文时,在私网路由表中查找路由,并进行私网中的组播处理。私网报文处理模块50,用于当所述报文为来自私网的报文时,根据来自私网的所 述报文的目的地址对所述报文进行处理。其中,当该报文为来自私网的报文时,则该私网报 文处理模块50需要根据该报文的目的地址查找到路由,并向对应的设备转发该报文。所述私网报文处理模块进一步包括判断子模块51,用于根据所述报文的目的地址查找到路由,并当根据所述报文目 的地址查找到路由时,判断所述路由的地址是否对应具有MT标识的MTI接口地址;另外,当 在所述PE设备上创建所述MT管理表时,判断子模块51还用于根据所述报文的目的地址在 私网路由表中查找路由,并当根据所述报文的目的地址查找到路由时,判断所述MT管理表 是否有所述报文对应的记录。公网处理子模块52,与所述判断子模块51连接,用于当所述判断子模块51的判断 结果为是时,则根据所述报文对应路由的地址在公网中对所述报文进行相应的处理;另外, 当在所述PE设备上创建所述MT管理表时,公网处理子模块52还用于当所述判断子模块的判断结果为有所述报文对应的记录且所述报文对应路由的地址仅对应MTI接口地址时,则确定下一跳是公网的出接口,并根据所述MT管理表中的MTI接口地址在公网中对所述报文 进行相应的处理。私网处理子模块53,与所述判断子模块51连接,用于当所述判断子模块51的判 断结果为不是或者所述路由的地址同时对应MTI接口地址和私网地址时,则根据所述路由 的地址在私网中对所述报文进行相应的处理;另外,当在所述PE设备上创建所述MT管理表 时,私网处理子模块53还用于当所述判断子模块的判断结果为没有所述报文对应的记录, 或者有所述报文对应的记录且所述报文对应路由的地址同时对应MTI接口地址和私网地 址时,则确定下一跳是私网的出接口,并根据所述报文对应路由的地址在私网中对所述报 文进行相应的处理。其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合 并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发 明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储 介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可 以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流 程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
一种数据处理方法,其特征在于,应用于包括至少两个骨干网边缘PE设备的组播虚拟专用网VPN中,所述PE设备之间的接口为组播隧道接口MTI接口,所述PE设备中至少维护了各个PE设备的MTI接口地址,且所述MTI接口地址对应了组播隧道MT标识;所述方法包括以下步骤所述PE设备接收报文,并获知所述报文为来自MTI接口的报文或者私网的报文;如果所述报文为来自MTI接口的报文,则所述PE设备根据所述MTI接口地址对应的MT标识判断是否需要根据所述报文维护邻居关系,如果需要,则维护所述邻居关系;如果所述报文为来自私网的报文,则所述PE设备根据来自私网的所述报文的目的地址对所述报文进行处理。
2.如权利要求1所述的方法,其特征在于,所述PE设备根据所述MTI接口地址对应的 MT标识判断是否需要根据所述报文维护邻居关系,具体包括所述PE设备判断所述报文是否为协议无关组播PIM Hello报文; 如果是PIM Hello报文,则所述PE设备判断所述报文的源地址是否为对应了 MT标识 的MTI接口地址,如果是,则判断需要根据所述报文维护邻居关系;如果不是PIM Hello报文,则所述PE设备在私网中对所述报文进行相应的处理。
3.如权利要求1所述的方法,其特征在于,所述PE设备根据来自私网的所述报文的目 的地址对所述报文进行处理,具体包括所述PE设备根据所述报文的目的地址查找到路由,并当根据所述报文的目的地址查 找到路由时,所述PE设备判断所述路由的地址是否对应具有MT标识的MTI接口地址; 如果是时,则根据所述报文对应路由的地址在公网中对所述报文进行相应的处理; 如果不是或者所述路由的地址同时对应MTI接口地址和私网地址,则根据所述路由的 地址在私网中对所述报文进行相应的处理。
4.如权利要求1-3任一项所述的方法,其特征在于,所述PE设备维护各个PE设备的 MTI接口地址,且所述MTI接口地址对应了 MT标识,具体包括所述PE设备创建MT管理表,并在所述MT管理表中存储各个PE设备的MTI接口地址, 且使用MT标识来标识所述MTI接口地址;或者,所述PE设备在将所述MTI接口地址存储到私网路由表时,则使用MT标识来标识所述 MTI接口地址。
5.如权利要求4所述的方法,其特征在于,当在所述PE设备上创建所述MT管理表时, 所述PE设备根据所述MTI接口地址对应的MT标识判断是否需要根据所述报文维护邻居关系,具体包括所述PE设备判断所述报文是否为PIM Hello报文;如果是PIM Hello报文,则所述PE 设备查找所述报文的源地址在所述MT管理表中是否有对应的记录,如果有,则需要根据所 述报文维护邻居关系;如果不是PIM Hello报文,则所述PE设备在私网路由表中查找路由,并进行私网中的组播处理。
6.如权利要求4所述的方法,其特征在于,当在所述PE设备上创建所述MT管理表时, 所述PE设备根据来自私网的所述报文的目的地址对所述报文进行处理,具体包括 所述PE设备根据所述报文的目的地址在私网路由表中查找路由,并当根据所述报文的目的地址查找到路由时,所述PE设备判断所述MT管理表是否有所述报文对应的记录;如果没有,则所述PE设备确定下一跳是私网的出接口,并根据所述报文对应路由的地 址在私网中对所述报文进行相应的处理;如果有且所述报文对应路由的地址同时对应MTI接口地址和私网地址,则所述PE设备 确定下一跳是私网的出接口,并根据所述报文对应路由的地址在私网中对所述报文进行相 应的处理;如果有且所述报文对应路由的地址仅对应MTI接口地址,则所述PE设备确定下一跳是 公网的出接口,并根据所述MT管理表中的MTI接口地址在公网中对所述报文进行相应的处理。
7.一种数据处理设备,其特征在于,应用于包括至少两个PE设备的组播VPN中,所述 PE设备之间的接口为MTI接口,所述PE设备中至少维护了各个PE设备的MTI接口地址,且 所述MTI接口地址对应了 MT标识;所述数据处理设备作为所述PE设备,包括接收模块,用于接收报文;获取模块,与所述接收模块连接,用于获知所述报文为来自MTI接口的报文或者私网 的报文;MTI接口报文处理模块,与所述获取模块连接,用于当所述报文为来自MTI接口的报文 时,根据所述MTI接口地址对应的MT标识判断是否需要根据所述报文维护邻居关系,如果 需要,则维护所述邻居关系;私网报文处理模块,与所述获取模块连接,用于当所述报文为来自私网的报文时,根据 来自私网的所述报文的目的地址对所述报文进行处理。
8.如权利要求7所述的设备,其特征在于,所述MTI接口报文处理模块具体包括 判断子模块,用于判断所述报文是否为PIM Hello报文;并在判断结果为是PIM Hello报文时,判断所述报文的源地址是否为对应了 MT标识的MTI接口地址;维护子模块,与所述判断子模块连接,用于当判断子模块的判断结果为所述报文是PIM Hello报文且所述报文的源地址对应了 MT标识的MTI接口地址时,根据所述报文维护邻居 关系;处理子模块,与所述判断子模块连接,用于当判断子模块的判断结果为所述报文不是 PIM Hello报文时,在私网中对所述报文进行相应的处理。
9.如权利要求7所述的设备,其特征在于,所述私网报文处理模块具体包括 判断子模块,用于根据所述报文的目的地址查找到路由,并当根据所述报文目的地址查找到路由时,判断所述路由的地址是否对应具有MT标识的MTI接口地址;公网处理子模块,与所述判断子模块连接,用于当所述判断子模块的判断结果为是时, 则根据所述报文对应路由的地址在公网中对所述报文进行相应的处理;私网处理子模块,与所述判断子模块连接,用于当所述判断子模块的判断结果为不是 或者所述路由的地址同时对应MTI接口地址和私网地址时,则根据所述路由的地址在私网 中对所述报文进行相应的处理。
10.如权利要求7-9任一项所述的设备,其特征在于,还包括维护模块,与所述MTI接口报文处理模块和私网报文处理模块连接,用于创建MT管理 表,并在所述MT管理表中存储各个PE设备的MTI接口地址,且使用MT标识来标识所述MTI接口地址;或者,在将所述MTI接口地址存储到私网路由表时,则使用MT标识来标识所述MTI接口地址。
11.如权利要求10所述的设备,其特征在于,当在所述PE设备上创建所述MT管理表时,在所述MTI接口报文处理模块中,判断子模块,用于判断所述报文是否为PM Hello报文;如果是PIM Hello报文,则查 找所述报文的源地址在所述MT管理表中是否有对应的记录;维护子模块,用于当判断子模块的判断结果为所述报文是PIM Hello报文且所述报文 的源地址在所述MT管理表中有对应的记录时,根据所述报文维护邻居关系;处理子模块,用于当判断子模块的判断结果为所述报文不是PIM Hello报文时,在私网 路由表中查找路由,并进行私网中的组播处理。
12.如权利要求10所述的设备,其特征在于,当在所述PE设备上创建所述MT管理表时,在所述私网报文处理模块中,判断子模块,用于根据所述报文的目的地址在私网路由表中查找路由,并当根据所述 报文的目的地址查找到路由时,判断所述MT管理表是否有所述报文对应的记录;公网处理子模块,用于当所述判断子模块的判断结果为有所述报文对应的记录且所述 报文对应路由的地址仅对应MTI接口地址时,则确定下一跳是公网的出接口,并根据所述 MT管理表中的MTI接口地址在公网中对所述报文进行相应的处理;私网处理子模块,用于当所述判断子模块的判断结果为没有所述报文对应的记录,或 者有所述报文对应的记录且所述报文对应路由的地址同时对应MTI接口地址和私网地址 时,则确定下一跳是私网的出接口,并根据所述报文对应路由的地址在私网中对所述报文 进行相应的处理。
全文摘要
本发明公开了一种数据处理方法,包括以下步骤PE设备接收报文,并获知所述报文为来自MTI接口的报文或者私网的报文;如果所述报文为来自MTI接口的报文,则所述PE设备根据所述MTI接口地址对应的MT标识判断是否需要根据所述报文维护邻居关系,如果需要,则维护所述邻居关系。本发明中,使得MPLS L3VPN业务和组播VPN业务互不影响。
文档编号H04L12/56GK101827023SQ20101013221
公开日2010年9月8日 申请日期2010年3月25日 优先权日2010年3月25日
发明者赵昌峰, 邱秀梅, 郑有勇 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1